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

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

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

Canny算子計(jì)算流程

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-04 09:31 ? 次閱讀

Canny算子計(jì)算流程:

高斯濾波和Sobel算子已經(jīng)在前面講過(guò),所以這里主要討論非最大值抑制和滯后分割電路設(shè)計(jì)。

非最大值一直電路設(shè)計(jì)

非最大值抑制主要是對(duì)Sobel運(yùn)算的計(jì)算結(jié)果進(jìn)行開(kāi)窗,在當(dāng)前像素的3x3鄰域找到梯度方向上的最大值,若當(dāng)前像素為整個(gè)方向上的最大值,則將該像素點(diǎn)歸為潛在的邊緣點(diǎn)。否則,直接置為非邊緣點(diǎn)。

9eb2f532-fb2e-11ec-ba43-dac502259ad0.jpg

我們首先要明白當(dāng)前像素的梯度值位于哪一個(gè)象限,假定其位于第一象限,則有

9ecc15b2-fb2e-11ec-ba43-dac502259ad0.png

假定該點(diǎn)計(jì)算結(jié)果為result,則有

9eea5784-fb2e-11ec-ba43-dac502259ad0.png

不妨再列出第二象限的計(jì)算公式

9eff2e7a-fb2e-11ec-ba43-dac502259ad0.png

9f0ff606-fb2e-11ec-ba43-dac502259ad0.png

設(shè)計(jì)的難點(diǎn)在于梯度方向上兩個(gè)潛在極大值的插值運(yùn)算f算子。有兩點(diǎn)值得我們注意:

1)f算子中包含除法,這是在FPGA中不容易處理的。

2)前兩個(gè)象限的除法運(yùn)算的分子和分母是顛倒的,這是不容易設(shè)計(jì)的。

所以就需要進(jìn)行算法的等效轉(zhuǎn)換,首先想到的就是將除法轉(zhuǎn)換為乘法運(yùn)算,這個(gè)是比較容易實(shí)現(xiàn)的,以第一象限公式為例,兩邊同時(shí)乘以x,則有

9f274388-fb2e-11ec-ba43-dac502259ad0.png

9f38b99c-fb2e-11ec-ba43-dac502259ad0.png

對(duì)于第二象限,兩邊同時(shí)乘以y,則有

9f4fa10c-fb2e-11ec-ba43-dac502259ad0.png

9f274388-fb2e-11ec-ba43-dac502259ad0.png

不等式右邊第一項(xiàng)系數(shù)為當(dāng)前x與y方向梯度值的較小值,第二項(xiàng)系數(shù)為當(dāng)前x與y方向梯度的較大值與較小值之差,不等式左邊系數(shù)為當(dāng)前x與y方向梯度值的較大值。因此,將公式變換如下:

9f82378e-fb2e-11ec-ba43-dac502259ad0.png

9f9200e2-fb2e-11ec-ba43-dac502259ad0.png

上式中,Mmax代表當(dāng)前x與y方向梯度值的較大值,Mmin代表當(dāng)前x與y方向梯度值的較小值。C0,C1,C2,C3,則分別代表4個(gè)插值元素。對(duì)于8個(gè)不同的象限,插值元素的索引號(hào)如下表所示:

Index of C0 Index of C1 Index of C2 Index of C3
第1,5象限 2 5 6 3
第2,6象限 2 1 6 7
第3,7象限 0 1 8 7
第4,8象限 0 3 8 5

這樣,就可以實(shí)現(xiàn)4個(gè)主象限的計(jì)算一致性,同時(shí)將轉(zhuǎn)換為FPGA所擅長(zhǎng)的乘法和加法運(yùn)算。

在查表得到插值元素時(shí),需要知道當(dāng)前的象限信息,得到象限信息的最簡(jiǎn)單辦法就是通過(guò)查詢x與y方向梯度值的符號(hào)。同時(shí),需要得到兩個(gè)值的比較關(guān)系。需要注意的是,我們需要Sobel運(yùn)算結(jié)果的x與y方向的輸出,以及模值輸出,實(shí)際上并不需要方向計(jì)算。

第一階段的計(jì)算電路如圖所示:

9faa1916-fb2e-11ec-ba43-dac502259ad0.jpg

首先將Sobel的x和y方向的計(jì)算結(jié)果通過(guò)Cordic模塊輸出兩個(gè)值的絕對(duì)值的較大值Max和較小值Min,以及輸入坐標(biāo)的象限信息Quadrant_info。接著為了得到當(dāng)前像素的8個(gè)插值元素,即當(dāng)前窗口,我們需要將上面三個(gè)數(shù)據(jù)及Sobel的模值結(jié)果Mudule送入win_buf得到窗口緩存。我們需要的是當(dāng)前窗口的9個(gè)元素Mudule(8:0),以及上面三個(gè)數(shù)據(jù)的當(dāng)前值Max(4),Min(4),Quadrant_info(4)。

第二階段的計(jì)算電路如圖所示:

9fc22236-fb2e-11ec-ba43-dac502259ad0.jpg

第二階段的計(jì)算將象限信息和當(dāng)前窗口像素送入查找表,由查找表電路得到C0,C1,C2,C3輸出。然后在此基礎(chǔ)上做f算子,得到的結(jié)果與中心窗口值與Max的乘積進(jìn)行比較。最后,在比較的結(jié)果上進(jìn)行分割。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 運(yùn)算
    +關(guān)注

    關(guān)注

    0

    文章

    129

    瀏覽量

    25768
  • Canny
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    9695

原文標(biāo)題:Canny

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用VLIB在TMS320C64x/64x+上實(shí)現(xiàn)Canny邊緣檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《利用VLIB在TMS320C64x/64x+上實(shí)現(xiàn)Canny邊緣檢測(cè).pdf》資料免費(fèi)下載
    發(fā)表于 10-14 11:13 ?0次下載
    利用VLIB在TMS320C64x/64x+上實(shí)現(xiàn)<b class='flag-5'>Canny</b>邊緣檢測(cè)

    基于 DSP5509 進(jìn)行數(shù)字圖像處理中 Sobel 算子邊緣檢測(cè)的硬件連接電路圖

    和 DSP5509 相匹配的接口電路,確保圖像數(shù)據(jù)的正確傳輸和顯示。常見(jiàn)的接口有 RGB、LVDS 等。 五、Sobel 算子計(jì)算模塊設(shè)計(jì) 硬件加速:可以考慮使用硬件加速器來(lái)加速 Sobel 算子
    發(fā)表于 09-25 15:25

    摩爾線程攜手智源研究院完成基于Triton的大模型算子庫(kù)適配

    近日,摩爾線程與北京智源人工智能研究院(簡(jiǎn)稱:智源研究院)已順利完成基于Triton語(yǔ)言的高性能算子庫(kù)FlagGems的適配工作。得益于摩爾線程自研統(tǒng)一系統(tǒng)計(jì)算架構(gòu)MUSA,雙方在短短一周多的時(shí)間
    的頭像 發(fā)表于 08-02 11:06 ?744次閱讀

    DSP國(guó)產(chǎn)教學(xué)實(shí)驗(yàn)箱_實(shí)驗(yàn)案例_操作教程:5-11 邊緣檢測(cè)

    = f ‘(x) dx。 Canny 邊緣檢測(cè) Canny邊緣檢測(cè)是從不同視覺(jué)對(duì)象中提取有用的結(jié)構(gòu)信息并大大減少要處理的數(shù)據(jù)量的一種技術(shù),目前已廣泛應(yīng)用于各種計(jì)算機(jī)視覺(jué)系統(tǒng)。邊緣檢測(cè)的一般標(biāo)準(zhǔn)
    發(fā)表于 07-19 10:38

    Arm發(fā)布全新終端計(jì)算子系統(tǒng),加速AI體驗(yàn)與產(chǎn)品上市

    全球領(lǐng)先的半導(dǎo)體知識(shí)產(chǎn)權(quán)(IP)提供商Arm控股有限公司(納斯達(dá)克股票代碼:ARM)今日正式推出全新的Arm終端計(jì)算子系統(tǒng)(CSS),以推動(dòng)人工智能(AI)體驗(yàn)的前沿發(fā)展,并助力芯片合作伙伴在構(gòu)建基于Arm架構(gòu)的解決方案時(shí)實(shí)現(xiàn)更高效、更快速的流程,從而加速產(chǎn)品上市。
    的頭像 發(fā)表于 05-30 14:23 ?528次閱讀

    Arm宣布推出終端計(jì)算子系統(tǒng)(CSS),提供領(lǐng)先的人工智能體驗(yàn)

    Arm 控股有限公司(納斯達(dá)克股票代碼:ARM,以下簡(jiǎn)稱“Arm”)今日宣布推出 Arm? 終端計(jì)算子系統(tǒng) (CSS),以提供領(lǐng)先的人工智能 (AI) 體驗(yàn),助力芯片合作伙伴更輕松、快速地構(gòu)建基于 Arm 架構(gòu)的解決方案,并加速其產(chǎn)品上市進(jìn)程。
    的頭像 發(fā)表于 05-30 14:11 ?1185次閱讀
    Arm宣布推出終端<b class='flag-5'>計(jì)算子</b>系統(tǒng)(CSS),提供領(lǐng)先的人工智能體驗(yàn)

    存內(nèi)計(jì)算WTM2101編譯工具鏈 資料

    存內(nèi)計(jì)算是突破物理極限的下一代算力技術(shù)- AIGC等人工智能新興產(chǎn)業(yè)的快速發(fā)展離不開(kāi)算力,算力的基礎(chǔ)是人工智能芯片。 當(dāng)前CPU/GPU在執(zhí)行計(jì)算密集型任務(wù)時(shí)需要將海量參數(shù)(ωij)從內(nèi)存中讀取
    發(fā)表于 05-16 16:33

    Arm新Arm Neoverse計(jì)算子系統(tǒng)(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了兩款新的Arm Neoverse計(jì)算子系統(tǒng)(CSS),它們基于“迄今為止最好的一代Neoverse技術(shù)”。是什么讓這些新產(chǎn)品在擁擠的計(jì)算技術(shù)領(lǐng)域脫穎而出? Arm的兩個(gè)新Arm
    的頭像 發(fā)表于 04-24 17:53 ?958次閱讀
    Arm新Arm Neoverse<b class='flag-5'>計(jì)算子</b>系統(tǒng)(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    【2023電子工程師大會(huì)】ARM嵌入式AI邊緣計(jì)算開(kāi)發(fā)流程要點(diǎn)p

    【2023電子工程師大會(huì)】ARM嵌入式AI邊緣計(jì)算開(kāi)發(fā)流程要點(diǎn)ppt
    發(fā)表于 01-03 16:31 ?26次下載

    OpenCV邊緣檢測(cè)算子Laplace、LoG詳解

    一階導(dǎo)數(shù)算子(例如 Sobel 算子)通過(guò)對(duì)圖像求導(dǎo)來(lái)確定圖像的邊緣,數(shù)值絕對(duì)值較高的點(diǎn)對(duì)應(yīng)了圖像的邊緣。如果繼續(xù)求二階導(dǎo),原先數(shù)值絕對(duì)值較高的點(diǎn)對(duì)應(yīng)了過(guò)零點(diǎn)。因此,也可以通過(guò)找到二階導(dǎo)數(shù)的過(guò)零點(diǎn)來(lái)檢測(cè)邊緣。在某些情況下,找二階導(dǎo)數(shù)的過(guò)零點(diǎn)可能更容易。
    的頭像 發(fā)表于 12-21 16:34 ?1977次閱讀
    OpenCV邊緣檢測(cè)<b class='flag-5'>算子</b>Laplace、LoG詳解

    國(guó)產(chǎn)嵌入式實(shí)驗(yàn)箱操作教程_創(chuàng)龍教儀:5-12 邊緣檢測(cè)(LCD顯示)

    與導(dǎo)數(shù)的關(guān)系:dy = f ‘(x) dx。 Canny 邊緣檢測(cè) Canny邊緣檢測(cè)是從不同視覺(jué)對(duì)象中提取有用的結(jié)構(gòu)信息并大大減少要處理的數(shù)據(jù)量的一種技術(shù),目前已廣泛應(yīng)用于各種計(jì)算機(jī)視覺(jué)系統(tǒng)。邊緣
    發(fā)表于 12-14 14:09

    如何解決模型部署時(shí)出現(xiàn)算子不匹配問(wèn)題

    英特爾發(fā)行版 OpenVINO 工具套件基于 oneAPI 而開(kāi)發(fā),可以加快高性能計(jì)算機(jī)視覺(jué)和深度學(xué)習(xí)視覺(jué)應(yīng)用開(kāi)發(fā)速度工具套件,適用于從邊緣到云的各種英特爾平臺(tái)上,幫助用戶更快地將更準(zhǔn)確的真實(shí)世界
    的頭像 發(fā)表于 12-08 15:30 ?968次閱讀
    如何解決模型部署時(shí)出現(xiàn)<b class='flag-5'>算子</b>不匹配問(wèn)題

    Canny雙閾值邊緣檢測(cè)和弱邊緣連接詳解

    在上一篇FPGA圖像處理--Canny邊緣檢測(cè)(一)里介紹了Canny邊緣檢測(cè)的NMS計(jì)算,這里就介紹一下雙閾值邊緣檢測(cè)和弱邊緣連接。
    的頭像 發(fā)表于 11-18 17:07 ?2383次閱讀

    python中用Canny邊緣檢測(cè)和霍夫變實(shí)現(xiàn)車道線檢測(cè)方法

    Canny邊緣檢測(cè)+霍夫變換 顏色閾值+圖像掩模的方法雖然簡(jiǎn)單,但是只能應(yīng)對(duì)一些固定顏色車道線的場(chǎng)景。圖像像素受光照影響將是一個(gè)極其常見(jiàn)的問(wèn)題。 canny邊緣檢測(cè)+霍夫變換是另外一種簡(jiǎn)單提取車道線
    的頭像 發(fā)表于 11-17 16:55 ?892次閱讀
    python中用<b class='flag-5'>Canny</b>邊緣檢測(cè)和霍夫變實(shí)現(xiàn)車道線檢測(cè)方法

    OpenCV圖像處理之圖像梯度+Canny邊緣檢測(cè)

    的參數(shù)分別是原圖像,cv.CV_64F是圖像深度,一般寫(xiě)作-1就可以了,dx和dy分別表示x軸方向和y軸方向的算子,ksize就是內(nèi)核
    的頭像 發(fā)表于 11-14 15:54 ?478次閱讀
    OpenCV圖像處理之圖像梯度+<b class='flag-5'>Canny</b>邊緣檢測(cè)