在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在OpenCV中使用基于深度學(xué)習(xí)的邊緣檢測?

INDEMIND ? 來源:INDEMIND ? 作者:INDEMIND ? 2023-05-19 09:52 ? 次閱讀

在這篇文章中,我們將學(xué)習(xí)如何在OpenCV中使用基于深度學(xué)習(xí)的邊緣檢測,它比目前流行的canny邊緣檢測器更精確。邊緣檢測在許多用例中是有用的,如視覺顯著性檢測,目標(biāo)檢測,跟蹤和運動分析,結(jié)構(gòu)從運動,3D重建,自動駕駛,圖像到文本分析等等。

01 什么是邊緣檢測?

邊緣檢測是計算機視覺中一個非常古老的問題,它涉及到檢測圖像中的邊緣來確定目標(biāo)的邊界,從而分離感興趣的目標(biāo)。最流行的邊緣檢測技術(shù)之一是Canny邊緣檢測,它已經(jīng)成為大多數(shù)計算機視覺研究人員和實踐者的首選方法。讓我們快速看一下Canny邊緣檢測。

02 Canny邊緣檢測算法

1983年,John Canny在麻省理工學(xué)院發(fā)明了Canny邊緣檢測。它將邊緣檢測視為一個信號處理問題。其核心思想是,如果你觀察圖像中每個像素的強度變化,它在邊緣的時候非常高。

在下面這張簡單的圖片中,強度變化只發(fā)生在邊界上。所以,你可以很容易地通過觀察像素強度的變化來識別邊緣。

627d3b08-f575-11ed-90ce-dac502259ad0.png

現(xiàn)在,看下這張圖片。強度不是恒定的,但強度的變化率在邊緣處最高。(微積分復(fù)習(xí):變化率可以用一階導(dǎo)數(shù)(梯度)來計算。)

62856076-f575-11ed-90ce-dac502259ad0.png

Canny邊緣檢測器通過4步來識別邊緣:

去噪:因為這種方法依賴于強度的突然變化,如果圖像有很多隨機噪聲,那么會將噪聲作為邊緣。所以,使用5×5的高斯濾波器平滑你的圖像是一個非常好的主意。

梯度計算:下一步,我們計算圖像中每個像素的強度的梯度(強度變化率)。我們也計算梯度的方向。

628aea96-f575-11ed-90ce-dac502259ad0.png

梯度方向垂直于邊緣,它被映射到四個方向中的一個(水平、垂直和兩個對角線方向)

非極大值抑制:現(xiàn)在,我們想刪除不是邊緣的像素(設(shè)置它們的值為0)。你可能會說,我們可以簡單地選取梯度值最高的像素,這些就是我們的邊。然而,在真實的圖像中,梯度不是簡單地在只一個像素處達(dá)到峰值,而是在臨近邊緣的像素處都非常高。因此我們在梯度方向上取3×3附近的局部最大值。

628f5892-f575-11ed-90ce-dac502259ad0.png

遲滯閾值化:在下一步中,我們需要決定一個梯度的閾值,低于這個閾值所有的像素都將被抑制(設(shè)置為0)。而Canny邊緣檢測器則采用遲滯閾值法。遲滯閾值法是一種非常簡單而有效的方法。我們使用兩個閾值來代替只用一個閾值:

高閾值 = 選擇一個非常高的值,這樣任何梯度值高于這個值的像素都肯定是一個邊緣。

低閾值 = 選擇一個非常低的值,任何梯度值低于該值的像素絕對不是邊緣。

在這兩個閾值之間有梯度的像素會被檢查,如果它們和邊緣相連,就會留下,否則就會去掉。

629463aa-f575-11ed-90ce-dac502259ad0.jpg

遲滯閾值化

03

Canny 邊緣檢測的問題:

由于Canny邊緣檢測器只關(guān)注局部變化,沒有語義(理解圖像的內(nèi)容)理解,精度有限(很多時候是這樣)。

Canny邊緣檢測器在這種情況下會失敗,因為沒有理解圖像的上下文

語義理解對于邊緣檢測是至關(guān)重要的,這就是為什么使用機器學(xué)習(xí)或深度學(xué)習(xí)的基于學(xué)習(xí)的檢測器比canny邊緣檢測器產(chǎn)生更好的結(jié)果。

04 OpenCV中基于深度學(xué)習(xí)的邊緣檢測

OpenCV在其全新的DNN模塊中集成了基于深度學(xué)習(xí)的邊緣檢測技術(shù)。你需要OpenCV 3.4.3或更高版本。這種技術(shù)被稱為整體嵌套邊緣檢測或HED,是一種基于學(xué)習(xí)的端到端邊緣檢測系統(tǒng),使用修剪過的類似vgg的卷積神經(jīng)網(wǎng)絡(luò)進行圖像到圖像的預(yù)測任務(wù)。

HED利用了中間層的輸出。之前的層的輸出稱為side output,將所有5個卷積層的輸出進行融合,生成最終的預(yù)測。由于在每一層生成的特征圖大小不同,它可以有效地以不同的尺度查看圖像。

62a1899a-f575-11ed-90ce-dac502259ad0.png

網(wǎng)絡(luò)結(jié)構(gòu):整體嵌套邊緣檢測

HED方法不僅比其他基于深度學(xué)習(xí)的方法更準(zhǔn)確,而且速度也比其他方法快得多。這就是為什么OpenCV決定將其集成到新的DNN模塊中。以下是這篇論文的結(jié)果:

62aaff8e-f575-11ed-90ce-dac502259ad0.png

05 在OpenCV中訓(xùn)練深度學(xué)習(xí)邊緣檢測的代碼

OpenCV使用的預(yù)訓(xùn)練模型已經(jīng)在Caffe框架中訓(xùn)練過了,可以這樣加載:

shdownload_pretrained.sh

網(wǎng)絡(luò)中有一個crop層,默認(rèn)是沒有實現(xiàn)的,所以我們需要自己實現(xiàn)一下。

wKgaomRm1uGAJ7HRAADz-LOEw_w207.jpg

現(xiàn)在,我們可以重載這個類,只需用一行代碼注冊該層。

cv.dnn_registerLayer('Crop',CropLayer)

現(xiàn)在,我們準(zhǔn)備構(gòu)建網(wǎng)絡(luò)圖并加載權(quán)重,這可以通過OpenCV的dnn.readNe函數(shù)。

net=cv.dnn.readNet(args.prototxt,args.caffemodel)

現(xiàn)在,下一步是批量加載圖像,并通過網(wǎng)絡(luò)運行它們。為此,我們使用cv2.dnn.blobFromImage方法。該方法從輸入圖像中創(chuàng)建四維blob。

blob=cv.dnn.blobFromImage(image,scalefactor,size,mean,swapRB,crop)

其中:

image:是我們想要發(fā)送給神經(jīng)網(wǎng)絡(luò)進行推理的輸入圖像。

scalefactor:圖像縮放常數(shù),很多時候我們需要把uint8的圖像除以255,這樣所有的像素都在0到1之間。默認(rèn)值是1.0,不縮放。

size:輸出圖像的空間大小。它將等于后續(xù)神經(jīng)網(wǎng)絡(luò)作為blobFromImage輸出所需的輸入大小。

swapRB:布爾值,表示我們是否想在3通道圖像中交換第一個和最后一個通道。OpenCV默認(rèn)圖像為BGR格式,但如果我們想將此順序轉(zhuǎn)換為RGB,我們可以將此標(biāo)志設(shè)置為True,這也是默認(rèn)值。

mean:為了進行歸一化,有時我們計算訓(xùn)練數(shù)據(jù)集上的平均像素值,并在訓(xùn)練過程中從每幅圖像中減去它。如果我們在訓(xùn)練中做均值減法,那么我們必須在推理中應(yīng)用它。這個平均值是一個對應(yīng)于R, G, B通道的元組。例如Imagenet數(shù)據(jù)集的均值是R=103.93, G=116.77, B=123.68。如果我們使用swapRB=False,那么這個順序?qū)⑹?B, G, R)。

crop:布爾標(biāo)志,表示我們是否想居中裁剪圖像。如果設(shè)置為True,則從中心裁剪輸入圖像時,較小的尺寸等于相應(yīng)的尺寸,而其他尺寸等于或大于該尺寸。然而,如果我們將其設(shè)置為False,它將保留長寬比,只是將其調(diào)整為固定尺寸大小。

在我們這個場景下:

inp=cv.dnn.blobFromImage(frame,scalefactor=1.0,size=(args.width,args.height),

mean=(104.00698793,116.66876762,122.67891434),swapRB=False,

crop=False)

現(xiàn)在,我們只需要調(diào)用一下前向方法。

wKgZomRm1ySAZhH3AABT1sXeocQ395.jpg

結(jié)果:

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 邊緣檢測
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    18250
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41593
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5518

    瀏覽量

    121603
  • 高斯濾波器
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    1753
  • dnn
    dnn
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    9094

原文標(biāo)題:干貨丨在OpenCV中基于深度學(xué)習(xí)的邊緣檢測

文章出處:【微信號:gh_c87a2bc99401,微信公眾號:INDEMIND】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    何在深度學(xué)習(xí)中使用紋理分析

    如果圖像數(shù)據(jù)集具有豐富的基于紋理的特征,如果將額外的紋理特征提取技術(shù)作為端到端體系結(jié)構(gòu)的一部分,則深度學(xué)習(xí)技術(shù)會更有效。
    發(fā)表于 09-29 10:24 ?1441次閱讀

    AI模型部署邊緣設(shè)備的奇妙之旅:如何在邊緣端部署OpenCV

    。 接下來我們通過幾個例子來介紹如何在邊緣端設(shè)備使用OpenCV進行形狀檢測。 3.1 矩形檢測 import lockzhiner_vis
    發(fā)表于 12-14 09:31

    Rayeager PX2開發(fā)板測試opencv邊緣檢測效果

    ``Rayeager PX2開發(fā)板測試opencv邊緣檢測效果,運算速率測試因為沒法加鏈接,所以視頻請在優(yōu)酷搜索標(biāo)題名稱,更多詳情大家可以在芯客網(wǎng)論壇查看,謝謝!``
    發(fā)表于 01-14 15:20

    【DragonBoard 410c試用體驗】之OpenCV中canny算子邊緣檢測

    `具體介紹之前,先來一起看看邊緣檢測的一般步驟 濾波:邊緣檢測的算法主要是基于圖像強度的一階和二階導(dǎo)數(shù),但導(dǎo)數(shù)通常對噪聲很敏感,因此必須采用濾波器來改善與噪聲有關(guān)的
    發(fā)表于 09-11 23:24

    openCV邊緣檢測原理是什么?

    openCV是通過什么原理來實現(xiàn)邊緣檢測
    發(fā)表于 10-10 06:21

    何在您選擇的邊緣計算框架中使用EdgeScale

    如何使用EdgeScale管理一組異構(gòu)邊緣計算節(jié)點,以及如何在您選擇的邊緣計算框架(AWS Greengrass、Azure IoT Edge等)中使用EdgeScale。
    的頭像 發(fā)表于 01-23 07:06 ?2465次閱讀
    如<b class='flag-5'>何在</b>您選擇的<b class='flag-5'>邊緣</b>計算框架<b class='flag-5'>中使</b>用EdgeScale

    什么是邊緣檢測邊緣檢測的算法由來

    在這篇文章中,我們將學(xué)習(xí)何在OpenCV中使用基于深度學(xué)習(xí)
    的頭像 發(fā)表于 03-12 10:00 ?8809次閱讀

    何在OpenCV中使用基于深度學(xué)習(xí)邊緣檢測

    邊緣檢測是計算機視覺中一個非常古老的問題,它涉及到檢測圖像中的邊緣來確定目標(biāo)的邊界,從而分離感興趣的目標(biāo)。最流行的邊緣
    的頭像 發(fā)表于 04-18 10:25 ?1899次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>OpenCV</b><b class='flag-5'>中使</b>用基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>

    OpenCV使用深度學(xué)習(xí)邊緣檢測的流程

    導(dǎo)讀 分析了Canny的優(yōu)劣,并給出了OpenCV使用深度學(xué)習(xí)邊緣檢測的流程。 在這篇文章中,我們將學(xué)
    的頭像 發(fā)表于 05-08 11:05 ?2329次閱讀
    <b class='flag-5'>OpenCV</b>使用<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>做<b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>的流程

    在MFC中使OpenCV的教程下載

    在MFC中使OpenCV的教程下載
    發(fā)表于 06-26 14:35 ?2次下載

    何在OpenCV中實現(xiàn)CUDA加速

    OpenCV4.x中關(guān)于CUDA加速的內(nèi)容主要有兩個部分,第一部分是之前OpenCV支持的圖像處理與對象檢測傳統(tǒng)算法的CUDA加速;第二部分是OpenCV4.2版本之后開始支持的針對
    的頭像 發(fā)表于 09-05 10:03 ?5143次閱讀

    何在OpenCV中使用基于深度學(xué)習(xí)邊緣檢測

    邊緣檢測是計算機視覺中一個非常古老的問題,它涉及到檢測圖像中的邊緣來確定目標(biāo)的邊界,從而分離感興趣的目標(biāo)。
    的頭像 發(fā)表于 05-18 10:10 ?1056次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>OpenCV</b><b class='flag-5'>中使</b>用基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>邊緣</b><b class='flag-5'>檢測</b>?

    何在深度學(xué)習(xí)結(jié)構(gòu)中使用紋理特征

    來源:AI公園,作者:TraptiKalra編譯:ronghuaiyang導(dǎo)讀這是前一篇文章的繼續(xù),在這篇文章中,我們將討論紋理分析在圖像分類中的重要性,以及如何在深度學(xué)習(xí)中使用紋理分
    的頭像 發(fā)表于 10-10 09:15 ?1121次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>結(jié)構(gòu)<b class='flag-5'>中使</b>用紋理特征

    OpenCV庫在圖像處理和深度學(xué)習(xí)中的應(yīng)用

    本文深入淺出地探討了OpenCV庫在圖像處理和深度學(xué)習(xí)中的應(yīng)用。從基本概念和操作,到復(fù)雜的圖像變換和深度學(xué)習(xí)模型的使用,文章以詳盡的代碼和解
    的頭像 發(fā)表于 08-18 11:33 ?962次閱讀

    何在汽車CAN應(yīng)用中使用負(fù)邊緣觸發(fā)觸發(fā)器節(jié)省電力

    電子發(fā)燒友網(wǎng)站提供《如何在汽車CAN應(yīng)用中使用負(fù)邊緣觸發(fā)觸發(fā)器節(jié)省電力.pdf》資料免費下載
    發(fā)表于 09-13 10:06 ?0次下載
    如<b class='flag-5'>何在</b>汽車CAN應(yīng)用<b class='flag-5'>中使</b>用負(fù)<b class='flag-5'>邊緣</b>觸發(fā)觸發(fā)器節(jié)省電力
    主站蜘蛛池模板: 香港三级在线视频 | 欧美网站黄 | 中文字幕一区二区三区视频在线 | 日韩一卡2卡三卡4卡无卡网站 | 欧美卡一卡二卡新区网站 | 日本一区高清视频 | 日韩黄色网址 | 日本午夜大片免费观看视频 | 亚洲第一精品夜夜躁人人爽 | 91视频精品| 免费看啪 | 天天干天天拍天天射天天添天天爱 | 四虎成人免费网站在线 | 大乳妇女bd视频在线观看 | 色狠狠色综合吹潮 | 免费一日本一级裸片在线观看 | 天堂视频在线免费观看 | 久久久久久久综合色一本 | 亚洲 欧美 成人 | 在线日本人观看成本人视频 | 四虎网址最新 | 久久男人网 | 四色成人网 | 中年艳妇乱小玩 | 轻点灬大ji巴太粗太长了爽文 | 色香蕉在线观看网站 | 高清精品女厕在线观看 | 欧美亚洲天堂网 | 亚洲宅男天堂a在线 | 国产精品久久久久久久免费大片 | 日本一本一道久久香蕉免费 | 97人操| 国产精品色片 | 国产重口老太和小伙乱视频 | 五月婷婷丁香花 | 四虎在线免费播放 | 色停停| 天天爽夜夜爽夜夜爽 | 永久免费毛片 | 四虎国产精品永久在线 | 簧片视频在线观看 |