HED算法介紹
圖像邊緣檢測(cè)是圖像處理與計(jì)算機(jī)視覺領(lǐng)域最基礎(chǔ)也是最重要的任務(wù)之一,早期的Canny邊緣檢測(cè)到現(xiàn)在還在使用,但是Canny邊緣檢測(cè)過(guò)于依賴人工閾值的設(shè)定,無(wú)法在通用場(chǎng)景下工作,如何找到一個(gè)在自然場(chǎng)景下可以正確工作的邊緣檢測(cè)器,答案是使用CNN。2015年的時(shí)候有人提出了基于卷積神經(jīng)網(wǎng)絡(luò)的邊緣檢測(cè)算法HED全稱為《Holistically-Nested Edge Detection》, 先看一下HED與Canny的效果對(duì)比:


代碼演示
OpenCV DNN本身是不支持該網(wǎng)絡(luò)直接加載與執(zhí)行的,必須通過(guò)OpenCV4中支持的自定義層方法,首先解析HED網(wǎng)絡(luò)的自定義多層輸出,然后重載它的forward方法之后,才可以正確執(zhí)行。
自定義層解析的代碼如下:
#自定義層
classCropLayer(object):
def__init__(self,params,blobs):
self.xstart=0
self.xend=0
self.ystart=0
self.yend=0
defgetMemoryShapes(self,inputs):
inputShape,targetShape=inputs[0],inputs[1]
batchSize,numChannels=inputShape[0],inputShape[1]
height,width=targetShape[2],targetShape[3]
self.ystart=(inputShape[2]-targetShape[2])//2
self.xstart=(inputShape[3]-targetShape[3])//2
self.yend=self.ystart+height
self.xend=self.xstart+width
return[[batchSize,numChannels,height,width]]
defforward(self,inputs):
return[inputs[0][:,:,self.ystart:self.yend,self.xstart:self.xend]]
加載網(wǎng)絡(luò),進(jìn)行多全層次的邊緣檢測(cè):
#自定義層
#注冊(cè)自定義層
cv.dnn_registerLayer('Crop',CropLayer)
#Loadthemodel.
net=cv.dnn.readNet("D:/projects/models/hed/deploy.prototxt","D:/projects/models/hed/hed_pretrained_bsds.caffemodel")
kWinName='Holistically-NestedEdgeDetection'
cv.namedWindow('Input',cv.WINDOW_AUTOSIZE)
cv.namedWindow(kWinName,cv.WINDOW_AUTOSIZE)
cap=cv.VideoCapture(0)
whilecv.waitKey(1)0:
hasFrame,frame=cap.read()
frame=cv.flip(frame,1)
ifnothasFrame:
cv.waitKey()
break
cv.imshow('Input',frame)
inp=cv.dnn.blobFromImage(frame,scalefactor=1.0,size=(500,500),
mean=(104.00698793,116.66876762,122.67891434),
swapRB=False,crop=False)
net.setInput(inp)
out=net.forward()
out=out[0,0]
out=cv.resize(out,(frame.shape[1],frame.shape[0]))
cv.imshow(kWinName,out)
運(yùn)行效果
圖像測(cè)試

視頻測(cè)試

論文與源碼
源碼與預(yù)訓(xùn)練模型
https://github.com/s9xie/hed
論文地址:
https://arxiv.org/abs/1504.06375
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4844瀏覽量
108212 -
算法
+關(guān)注
關(guān)注
23文章
4810瀏覽量
98617 -
檢測(cè)算法
+關(guān)注
關(guān)注
0文章
122瀏覽量
25785
原文標(biāo)題:OpenCV4 調(diào)用HED邊緣檢測(cè)算法
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
小華半導(dǎo)體數(shù)字電源算法配置工具DPACT介紹
小華半導(dǎo)體數(shù)字電源算法配置工具(DPACT)是一款基于公司豐富參考設(shè)計(jì)方案,專為電力電子控制算法開發(fā)而設(shè)計(jì)的圖形化開發(fā)工具。該工具深度集成XHCODE底層配置環(huán)境,支持用戶以圖形化方式,快速在現(xiàn)有
請(qǐng)問(wèn)CW32F030的采樣算法能移植到別的品牌MCU之中嗎?
我看官方介紹說(shuō)通過(guò)創(chuàng)新的軟硬件過(guò)采樣算法,實(shí)現(xiàn)較高的 ADC 測(cè)量精度,相較競(jìng)品提高約 1 位有效值。這個(gè)算法是在固件庫(kù)之中是么?是可以移植到其他品牌MCU之中嗎?可以讓其提高一些精度嗎?
發(fā)表于 01-19 08:14
用于單片機(jī)幾種C語(yǔ)言算法
平均值中所占的比重。加權(quán)平均值濾波法可突出一部分信號(hào)抵制另一部分信號(hào),以提高采樣值變化的靈敏度。樣例程序代碼如下:
滑動(dòng)平均濾波算法
以上介紹和各種平均濾波算法有一個(gè)共同點(diǎn),即每獲取一個(gè)有效采樣值
發(fā)表于 11-27 06:00
SM4算法實(shí)現(xiàn)分享(一)算法原理
SM4分組加密算法采用的是非線性迭代結(jié)構(gòu),以字為單位進(jìn)行加密、解密運(yùn)算,每次迭代稱為一輪變換,每輪變換包括S盒變換、非線性變換、線性變換、合成變換。加解密算法與密鑰擴(kuò)展都是采用32輪非線性迭代結(jié)構(gòu)
發(fā)表于 10-30 08:10
Camellia算法的實(shí)現(xiàn)(基于開源蜂鳥E203協(xié)處理器)
硬件加速器的效果。
Camellia算法的介紹
Camellia 算法由 NTT 公司和 Mitsubishi 電子公司與 2000 年聯(lián)合開發(fā),是一種Feistel 結(jié)構(gòu)的分組密碼(分組長(zhǎng)度為
發(fā)表于 10-30 07:04
SM4算法原理及分享1
SM4算法是一種分組密碼算法。其分組長(zhǎng)度為128bit,密鑰長(zhǎng)度也為128bit。加密算法與密鑰擴(kuò)展算法均采用32輪非線性迭代結(jié)構(gòu),以字(32位)為單位進(jìn)行加密運(yùn)算,每一次迭代運(yùn)算均
發(fā)表于 10-30 06:54
AES加解密算法邏輯實(shí)現(xiàn)及其在蜂鳥E203SoC上的應(yīng)用介紹
這次分享我們會(huì)簡(jiǎn)要介紹AES加解密算法的邏輯實(shí)現(xiàn),以及如何將AES算法做成硬件協(xié)處理器集成在蜂鳥E203 SoC上。
AES算法介紹
AE
發(fā)表于 10-29 07:29
國(guó)密系列算法簡(jiǎn)介及SM4算法原理介紹
保證,而國(guó)產(chǎn)密碼算法實(shí)現(xiàn)了密碼算法的自主可控,對(duì)于保障我國(guó)的國(guó)家安全具有重要意義。目前,我國(guó)大力推廣國(guó)密算法的應(yīng)用,并涌現(xiàn)出一系列國(guó)家商用密碼應(yīng)用的優(yōu)秀案例。
本文將對(duì)SM4算法的原理
發(fā)表于 10-24 08:25
加密算法的應(yīng)用
加密是一種保護(hù)信息安全的重要手段,近年來(lái)隨著信息技術(shù)的發(fā)展,加密技術(shù)的應(yīng)用越來(lái)越廣泛。本文將介紹加密算法的發(fā)展、含義、分類及應(yīng)用場(chǎng)景。
1. 加密算法的發(fā)展
加密算法的歷史可以追
發(fā)表于 10-24 08:03
Montgomery模乘介紹
Montgomery模乘介紹
Montgomery 模乘算法是最有效的大整數(shù)模乘算法之一它的一個(gè)顯著特點(diǎn)是消除了mod n 的除法運(yùn)算。Montgomery 算法的基本思想是計(jì)算 ,設(shè)
發(fā)表于 10-22 07:35
德州儀器Dynamic Z-Track算法的特性和優(yōu)勢(shì)
本應(yīng)用手冊(cè)介紹了德州儀器 (TI) 電池電量監(jiān)測(cè)算法的簡(jiǎn)短歷史,說(shuō)明了負(fù)載電流頻繁、快速變化時(shí)電池電量監(jiān)測(cè)計(jì)運(yùn)行時(shí)的挑戰(zhàn),并詳細(xì)介紹了應(yīng)用于動(dòng)態(tài)負(fù)載電流應(yīng)用的 Dynamic Z-Track (IT-DZT)
DFT算法與FFT算法的優(yōu)劣分析
算法之間有什么不同,采用相關(guān)算法的依據(jù)。下面就來(lái)介紹一下兩種算法的不同以及適用的一些場(chǎng)合。 DFT算法,是連續(xù)傅里葉變換在時(shí)域和頻域上都離散
昂科燒錄器支持HED華大電子的超低功耗微控制器CIU32L051R8T
昂科技術(shù)作為芯片燒錄領(lǐng)域的領(lǐng)導(dǎo)者,在其新版燒錄軟件發(fā)布之際,宣布擴(kuò)展了兼容芯片型號(hào)列表。新增型號(hào)包含了HED華大電子的超低功耗微控制器CIU32L051R8T。目前,該芯片已獲得昂科通用燒錄平臺(tái)AP8000的支持。
基于FPGA實(shí)現(xiàn)FOC算法之PWM模塊設(shè)計(jì)
哈嘍,大家好,從今天開始正式帶領(lǐng)大家從零到一,在FPGA平臺(tái)上實(shí)現(xiàn)FOC算法,整個(gè)算法的框架如下圖所示,如果大家對(duì)算法的原理不是特別清楚的話,可以先去百度上學(xué)習(xí)一下,本教程著重介紹實(shí)現(xiàn)
黑芝麻智能視覺與4D毫米波雷達(dá)前融合算法介紹
本文介紹了黑芝麻智能視覺與4D毫米波雷達(dá)前融合算法,通過(guò)多模態(tài)特征對(duì)齊和時(shí)序建模,顯著提升逆光、遮擋等復(fù)雜場(chǎng)景下的目標(biāo)檢測(cè)精度,增強(qiáng)輔助駕駛安全性。
HED算法介紹
評(píng)論