色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

直線檢測算法匯總

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2022-11-25 17:25 ? 次閱讀

1、場景需求

計算機視覺領域,我們經常需要做一些特殊的任務,而這些任務中經常會用到直線檢測算法,比如車道線檢測、長度測量等。盡管直線檢測的任務看起來比較簡單,但是在具體的應用過程中,你會發現這里面還是有很大的優化空間,本文對常用的一些比較經典的直線檢測算法進行匯總

2、Hough_line直線檢測算法

Hough變換是一個比較有名的計算機視覺處理算法,該算法可以用來做很多的任務,常用的任務包括直線檢測、圓檢測、橢圓檢測等,下面我們將對該算法進行簡單的分析并進行代碼實戰。

2.1 Hough_line實現步驟

步驟1-首先,它創建一個二維數組或累加器(用于保存兩個參數的值),并將其初始設置為零;

步驟2-用r來表示行,用θ來表示列;

步驟3-數組的大小取決于你所需要的精度。假設您希望角度的精度為1度,則需要180列(直線的最大度數為180);

步驟4-對于r,可能的最大距離是圖像的對角線長度。因此,取一個像素精度,行數可以是圖像的對角線長度。

2.2 Hough_line代碼實戰

829e28d6-6b17-11ed-8abf-dac502259ad0.png

82d93ad4-6b17-11ed-8abf-dac502259ad0.png

2.3 效果展示與分析

830954b2-6b17-11ed-8abf-dac502259ad0.png

上圖展示了一些Hough_line算法的直線檢測效果。為了驗證該算法的有效性,我選擇了3個不同的具有挑戰性的場景,建筑物、答題卡和門。通過觀察上面的結果我們可以知道該算法基本上能夠檢測出圖中的直線,但是檢測的結果并不是很好,有很多重復和漏檢的情況。除此之外,該算法最大的缺點就是需要根據圖片去調節參數,關鍵的參數是lines = cv2.HoughLines(edges,1,np.pi/180, 200) 中的200,該值設置的越大圖片中檢測出來的直線數量會越少,你需要根據你自己的測試場景進行調節。

2.4 HoughP_line代碼實戰

HoughP_line是Hough_line算法的改進版,具有更快的速度和更好的效果。

83406100-6b17-11ed-8abf-dac502259ad0.png

2.5 效果展示與分析

83ecd4c6-6b17-11ed-8abf-dac502259ad0.png

上圖展示了一些HoughP_line算法的直線檢測效果。上圖都是使用lines = cv2.HoughLinesP(edges,1,np.pi/180, 80, 30, 10) 這個固定的參數來計算出結果的,通過觀察我們可以發現,HoughLinesP不僅使用起來比較方便,基本上不需要進行調節參數;除此之外,該算法能夠獲得更好的直線檢測效果。因此,當你想用Hough直線檢測算法,建議你優先使用HoughP_line算法。

3、LSD直線檢測算法

LSD是opencv中集成的一個直線檢測算法,該算法的直線檢測效果優于Hough算法,而且具有較好的檢測速度,推薦使用。

3.1 LSD算法簡介

LSD快速直線檢測算法是由Rafael Grompone、Jeremie Jackbowicz、Jean-Michel Morel于2010年發表在PAMI上的文獻《LSD:a Line Segment Dectctor》中提出的,該算法時間復雜度較霍夫變換低。LSD算法通過對圖像局部分析,得出直線的像素點集,再通過假設參數進行驗證求解,將像素點集合與誤差控制集合合并,進而自適應控制誤檢的數量 。一般來說,要檢測圖像中的直線,最基本的思想是檢測圖像中梯度變化較大的像素點集,LSD算法也正是利用梯度信息和行列線(level-line)來進行直線檢測的。

3.2 LSD代碼實戰

84072df8-6b17-11ed-8abf-dac502259ad0.png

3.3 效果展示與分析

845bb0ee-6b17-11ed-8abf-dac502259ad0.png

上圖展示了一些LSD算法的直線檢測效果。通過觀察上面的結果,我們可以發現該算法的檢測結果遠遠優于Hough和HoughP算法;除此之外,上述的檢測結果都是使用LSD算法的默認參數進行執行,如果針對特定的參數進行調節,可以取得更好的結果,這種情況一般是在你的特定需求場景中對默認的一些參數進行微調操作,往往能獲得意想不到的結果。

846fa2a2-6b17-11ed-8abf-dac502259ad0.png

上圖展示了LSD直線檢測算法的一些超參數,具體的細節請看該鏈接。需要說明的是該算法具有3中不同的模式,具體的模式如下圖所示,默認情況下使用模式2(即1),但是經過測試我發現模式1(即0)通常輸出的效果會更好一些,具體的情況需要你根據你的場景進行分析。

4、FLD直線檢測算法

4.1 FLD算法簡介

FLD直線檢測算法是在該論文中被引入的,該論文中嘗試著使用直線特征來代替原始的SURF點特征進行建筑物識別。與點特征進行相比,線特征具有更容易發現和更好的魯棒性,線特征基本上不會受到光照、遮擋、視角變化的影響。下面展示了該算法的直線檢測效果,從圖中我們可以看出,線特征比點特征更好一些。

4.2 FLD算法代碼實戰

84c298fe-6b17-11ed-8abf-dac502259ad0.png

85007d68-6b17-11ed-8abf-dac502259ad0.png

上圖展示了FLD直線檢測算法的檢測效果。通過觀察我們可以發現該算法具有很好的檢測效果,基本上可以檢測出圖中所有的直線,和LSD的性能類似,具體使用哪種算法需要你根據自己的應用場景去進行選擇。

5、EDlines直線檢測算法

5.1 EDlines算法簡介

EDlines直線檢測算法是在該論文中提出的。本文提出了一個快速、無參數的線段檢測器,命名為EDLines (Akinlar and Topal, 2011),它產生強大的和準確的結果,比最快的已知線段檢測器速度更快,達到11倍;換句話說,the LSD by Grompone von Gioi et al. (2008a,b, 2010). 我們的探測器還包括一個線的驗證步驟定于亥姆霍茲原理Helmholtz principle (Desolneux et al., 2008),這讓它控制錯誤檢測的數量。EDLines得到的結果,我們看到的是,LSD非常相似,有所有主要的線段檢測,并有極少數誤報。此外, EDLines運行實時以炫目的速度為9.45毫秒,約10倍的速度比LSD對給定的圖像。

5.2 EDlines算法實現步驟

步驟1-首先,給定一個灰度圖像,運行新的邊緣檢測、邊緣繪制(ED)算法,產生一套干凈的,像素相鄰的鏈,我們稱之為邊緣。邊緣線段直觀地反應對象的邊界。

步驟2-然后,利用直線度準則,即最小二乘直線擬合法,從生成的像素鏈中提取線段。

步驟3-最后,線的驗證步驟定于亥姆霍茲原理Helmholtz principle (Desolneux et al., 2008; Grompone von Gioi et al.,2008a)是用來消除虛假線段的檢測。

855dad6c-6b17-11ed-8abf-dac502259ad0.png

上圖展示了EDlines直線檢測算法的檢測效果。通過上面的觀察,我們可以發現:1)該算法能獲得和LSD類似的檢測結果;2)該算法抑制了一部分小的誤檢的直線;3)該算法具有更快的運行速度,是LSD的10倍左右。

6、LSWMS直線檢測算法

6.1 LSWMS算法簡介

LSWMS是一個直線檢測算法。本文介紹了一種精確且實時的直線檢測方法。以前的直線檢測方法都沒有使用到圖像場景的先驗知識,因而不需要對輸入的參數進行微調。該算法在檢測精度和檢測速度之間進行了折中,文中使用了一個高效的采樣方法來進行加速處理,然后,文中使用一種快速的直線增長算法基于bresenham算法用改進的mean-shift算法提供精確的線段,同時保持穩健對抗噪音。測試了該策略的性能對于各種各樣的圖像,將其結果與流行的最新線段檢測方法。結果表明,我們的建議優于這些工作同時考慮了結果和處理速度。

上圖展示的是LSWMS論文中的結果。由于作者提供的代碼需要在Ubuntu下編譯,我沒有去做這個工作,如果你感興趣你可以去運行在本文的3張測試圖片上面的效果。

7、CannyLines直線檢測算法

7.1 CannyLines算法簡介

CannyLines算法在該論文中被提出。本文提出了一種魯棒的線段檢測算法,有效地檢測出輸入圖像中的線段。首先,提出了一種無參數canny算子cannypf,通過自適應地設置傳統canny算子的低閾值和高閾值,從輸入圖像中穩健地提取邊緣映射。其次,提出了直接從邊緣地圖中提取共線點簇的有效像素連接和分割技術,并基于最小二乘法對初始線段進行擬合。第三,通過有效的擴展和合并,生成更長、更完整的線段。最后,根據helmholtz原理對檢測到的所有線段進行了驗證,該原理同時考慮了梯度方向和幅度信息。在一組有代表性的圖像上的實驗結果表明,與常用的兩種線段檢測器lsd和edline相比,我們提出的cannyline線段檢測器能夠提取出更有意義的線段,特別是在人造場景中。

85efc422-6b17-11ed-8abf-dac502259ad0.png

上圖展示了CannyLines直線檢測算法的檢測效果。通過觀察上圖我們可以發現該算法能夠獲得更加準確的檢測結果,具有更少的誤檢。該算法主要是提高了邊緣檢測的效果,具體的效果如下所示:

8、MCMLSD直線檢測算法

8.1 MCMLSD算法簡介

MCMLSD算法出自于該論文。論文中提出了一個融合兩者優點的概率算法。在第一階段,使用全局概率hough方法。在第二階段,在圖像域中分析每個檢測到的行,以定位在霍夫圖中生成峰值的線段。通過將搜索限制在一條直線上,線段的分布線上的點序列可以被建模為馬爾可夫鏈和概率最優標簽使用標準動態規劃算法精確計算,在線性時間內。馬爾可夫假設同時也產生了一種直觀的排名方法,它使用估計期望值的邊際后驗概率線段上正確標記的點的數目。評估由此產生的馬爾可夫鏈邊緣線段檢測器(mcmlsd)我們開發并應用了一種新的定量方法控制分段不足和分段過量的評估方法。在YorkUrbanDB數據集的評價結果表明,所提出的MCMLSD方法優于以相當大的優勢達到最先進水平。

8654384e-6b17-11ed-8abf-dac502259ad0.png

上圖展示了MCMLSD算法的檢測效果。通過上面的觀察,我們可以發現該算法取得了很好的檢測效果,但是美中不足的是該算法的運行速度比較慢,可能也和matlab代碼有關吧。

9、LSM直線檢測算法

9.1 LSM算法簡介

LSM算法不僅僅是一個直線檢測算法,同時也是一個直線合并算法。論文中提出了一種合并這些斷開的線段的算法,以恢復原始的感知準確的線段。該算法根據角度和空間接近度對線段進行分組。然后將每組中滿足新的自適應合并準則的線段對依次合并成一條線段。重復此過程,直到不再合并行段。我們還提出了一種定量比較線段檢測算法的方法。在york-urban數據集上的結果表明,與最新的線段檢測算法相比,我們的合并線段更接近人類標記的地面真線段。

上圖展示了直線檢測算法LSM的檢測效果。左邊一列表示的是LSD的檢測結果,右邊一列表示的是LSM算法的優化效果,圖中不同的顏色表示不同的直線。通過上面的觀察,我們可以發現LSM可以將一些間斷的直線合并成一條更長的直線,這在現實場景中具有很大的用處,但是我們也會發現LSM算法會錯誤的將一些直線進行合并,會造成一些誤差。

10、總結

本文對比較經典的直線檢測算法進行了總結和分析。對于直線檢測這個任務而言,它在現實場景中具有很多的應用,對于一個具體的場景,你可以根據自己的需要從本文中選擇出一個合適的直線檢測算法進行應用,如果你的場景比較簡單,HoughP_line算法可能就可以滿足你的要求;如果你同時對速度和精度有要求,可以選擇使用EDlines等;如果你需要獲得盡可能長的直線,那么建議你使用LSM直線檢測算法??偠灾钸m合你的場景的算法才是最好的算法。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4622

    瀏覽量

    93063
  • HOUGH
    +關注

    關注

    0

    文章

    8

    瀏覽量

    9378
  • 直線檢測
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1705

原文標題:直線檢測算法匯總

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    國產直線度測量儀品牌及介紹

    關鍵字:國產直線度測量儀,直線度測量,直線度檢查,直線檢測,直線度儀器,藍鵬
    發表于 12-11 14:22

    如何制定一套優質的工業視覺檢測算法方案?

    很難與當下主流的AI平臺工具配型,或者是通過單一算法模型進行訓練,通常情況下,工業視覺檢測項目面臨著一系列獨特的難點與挑戰。比如:算法實現難。工業環境中的背景往往非
    的頭像 發表于 11-14 01:05 ?638次閱讀
    如何制定一套優質的工業視覺<b class='flag-5'>檢測算法</b>方案?

    有沒有專門測量圓鋼直線度偏差的工具?

    圓鋼直線度是指圓鋼軸線在長度方向上的彎曲程度。它是衡量圓鋼質量的一個重要幾何形狀指標。直觀地說,如果把圓鋼放在一個平面上,看它是否是筆直的,偏離筆直狀態的程度就是直線度。而直線度測量儀就是檢測
    發表于 11-06 14:10

    bq2750x系列中的Impedance Track?電池電量監測算法的理論及實現

    電子發燒友網站提供《bq2750x系列中的Impedance Track?電池電量監測算法的理論及實現.pdf》資料免費下載
    發表于 08-30 10:21 ?1次下載
    bq2750x系列中的Impedance Track?電池電量監<b class='flag-5'>測算法</b>的理論及實現

    案例 | 生產制造中的直線度測量

    關鍵詞:直線度測量儀,直線度 生產中不僅需要評價產品的外觀尺寸,還需要對直線度(彎曲度)等尺寸加以測量。作為一種評價產品直度的重要指標——直線度,能夠對其進行
    發表于 08-20 17:32

    旗晟機器人環境檢測算法有哪些?

    硬件支撐,更離不開強大的算法庫作為軟件核心,二者相輔相成,缺一不可。今天就來了解旗晟機器人環境檢測算法。 1、設施異常監測 通過集成高精度傳感器與智能圖像識別技術。它不僅能檢測A字梯是否存在變形,還能精確評估梯腳
    的頭像 發表于 07-19 17:54 ?551次閱讀
    旗晟機器人環境<b class='flag-5'>檢測算法</b>有哪些?

    慧視小目標識別算法 解決目標檢測中的老大難問題

    隨著深度學習和人工智能技術的興起與技術成熟,一大批如FasterR-CNN、RetinaNet、YOLO等可以在工業界使用的目標檢測算法已逐步成熟并進入實際應用,大多數場景下的目標檢測問題都能
    的頭像 發表于 07-17 08:29 ?527次閱讀
    慧視小目標識別<b class='flag-5'>算法</b>   解決目標<b class='flag-5'>檢測</b>中的老大難問題

    圖像識別算法都有哪些方法

    傳統方法和基于深度學習的方法。 傳統圖像識別算法 1.1 邊緣檢測 邊緣檢測是圖像識別的基礎,它用于檢測圖像中的邊緣信息。邊緣是圖像中亮度變化最明顯的區域,通常表示物體的邊界。常用的邊
    的頭像 發表于 07-16 11:14 ?5716次閱讀

    opencv圖像識別有什么算法

    圖像識別算法: 邊緣檢測 :邊緣檢測是圖像識別中的基本步驟之一,用于識別圖像中的邊緣。常見的邊緣檢測算法有Canny邊緣檢測器、Sobel邊
    的頭像 發表于 07-16 10:40 ?1105次閱讀

    口罩佩戴檢測算法

    口罩佩戴檢測算法基于YOLOv5在圖像識別檢測領域的優異性能,本文研究基于基于YOLOv5的口罩佩自動戴檢測方法。首先從網絡和真實生活中中尋找并采集不同場景人群口罩佩戴的圖片約500張并自建數據集
    的頭像 發表于 07-01 20:20 ?333次閱讀
    口罩佩戴<b class='flag-5'>檢測算法</b>

    人員跌倒識別檢測算法

    人員跌倒識別檢測算法是基于視頻的檢測方法,通過對目標人體監測,當目標人體出現突然倒地行為時,自動監測并觸發報警。人員跌倒識別檢測算法基于計算機識別技術,配合現場攝像頭,自動識別如地鐵手扶梯/樓梯
    的頭像 發表于 06-30 11:47 ?472次閱讀
    人員跌倒識別<b class='flag-5'>檢測算法</b>

    安全帽佩戴檢測算法

    安全帽佩戴監控是鐵路工程施工人員安全管理中的重點和難點,它對檢測算法的準確 率與檢測速度都有較高的要求。本文提出一種基于神經網絡架構搜索的安全帽佩戴檢測算法 NAS-YOLO。該神經網絡架構由上
    的頭像 發表于 06-26 22:22 ?419次閱讀
    安全帽佩戴<b class='flag-5'>檢測算法</b>

    基于FPGA的實時邊緣檢測系統設計,Sobel圖像邊緣檢測,FPGA圖像處理

    ,所以先擴大系數近似為整數再運算。此處擴大256 倍后取整,將運算結果右移 8 位,提取 Y 分量即可得到灰度圖像,即 3 邊緣檢測算法設計 如圖4所示為待處理的3×3 像素點,使用 Sobel
    發表于 05-24 07:45

    基于深度學習的芯片缺陷檢測梳理分析

    雖然表面缺陷檢測技術已經不斷從學術研究走向成熟的工業應用,但是依然有一些需要解決的問題?;谝陨戏治隹梢园l現,由于芯片表面缺陷的獨特性質,通用目標檢測算法不適合直接應用于芯片表面缺陷檢測任務,需要提出新的解決方法。
    發表于 02-25 14:30 ?1610次閱讀
    基于深度學習的芯片缺陷<b class='flag-5'>檢測</b>梳理分析

    直線馬達的控制策略

    直線馬達通常分為無鐵芯U型槽、有鐵芯平板以及軸棒直線馬達三大類,而無論哪類直線馬達,控制策略大多包括位置控制、速度控制和力控制三種模式。 其中,在位置控制方面,通常采用PID控制算法,
    的頭像 發表于 02-25 10:40 ?422次閱讀
    <b class='flag-5'>直線</b>馬達的控制策略
    主站蜘蛛池模板: 雪恋电影完整版免费观看| 中国人泡妞xxxxxxxx19| 欧美日韩一区不卡在线观看| 免费观看的毛片| 欧美人成人亚洲专区中文字幕| 免费看美女的网站| 欧美一级久久久久久久大| 日韩高清在线亚洲专区| 四虎国产精品永久免费入口| 亚洲成人一区| 在线一本码道高清| jizz日本黄色| 国产高清在线a视频大全| 很黄很色60分钟在线观看| 久久视频精品38在线播放| 欧美另类一区| 午夜特级毛片| 一个人在线观看的视频| 99视频在线国产| 国产精品久久久久影院免费| 精品国产99久久久久久麻豆| 免费看黄色一级| 偷窥 亚洲 色 国产 日韩| 伊人AV一区二区三区夜色撩人| 99视频精品国产免费观看| 国产精品69人妻无码久久久| 久久国产欧美| 人妻免费视频公开上传| 亚洲成人免费看| 99久在线国内在线播放免费观看| 国产国产乱老熟视频网站| 久久久精品免费视频| 日本免费无码A专区在线观看| 亚洲粉嫩美白在线| 99精品视频在线观看| 国产伦子沙发午休系列资源曝光 | 亚洲精品一区国产欧美| 99久久久无码国产精品AAA| 国产啪精品视频网免费| 蜜芽手机在线观看| 小向美奈子厨房magnet|