1. 程式人生 > >論文閱讀——橢圓檢測演算法 2015 A fast and robust ellipse detector based on top-down least-square fitting

論文閱讀——橢圓檢測演算法 2015 A fast and robust ellipse detector based on top-down least-square fitting

    今天閱讀了一個2015年的一篇論文,關於橢圓檢測的,向作者傳送郵件索取程式碼和原始資料也沒回我- -||。所以只閱讀文章思想並從演算法上分析其效能。下面開始對文章進行分析。

〇 摘要部分

現存的演算法通常使用一個自下而上的策略(bottom-up strategy)將邊緣點或者橢圓弧段組合為橢圓,因此限制了其魯棒性。作者提出了一個快速準確的橢圓檢測演算法,演算法的主要思想是利用一種新的自上而下的擬合策略(top-down fitting strategy)來將邊緣點組合為橢圓,並使用積分鏈(integral chain)來加速擬合過程。

閱讀到這裡,心裡存了三個疑問,在後面的閱讀中,帶著這些疑問進行閱讀:

① bottom-up strategy 是什麼,是如何應用在橢圓檢測中的;

② top-down fitting strategy 是什麼,作者如何使用這個進行橢圓檢測,它為什麼比bottom-up strategy要好;

③ integral chain是什麼,是如何進行加速擬合過程的,這個加速是有損加速還是無損加速。

一 介紹

(介紹部分我這裡就不全部翻譯了,只列出對寫論文和了解其他演算法有用的說明。)

    橢圓檢測的應用:交通標誌識別,汽車安全性的增強,廣播體育視訊的矯正(這裡我理解為跟蹤足球類運動),細胞檢測與計數。

    下面是關於橢圓檢測的發展:

    (1)基於霍夫變換(HT)的。標準HT演算法最明顯的問題就是因其5維引數,佔用巨大的記憶體,為了克服這個問題,有兩種可能的解決辦法:

    一個可能的方法就是在投票過程中,使用邊緣點的子集,不是使用全部邊緣點。例如:隨機霍夫變換(RHT),概率霍夫變換(PHT),模糊霍夫變換(FHT)均基於這個思想。

     另一個可能的方法就是將五維空間分解為具有較小維數的子空間來降低標準HT的時間和空間複雜度。例如:迭代隨機霍夫變換(IRHT)使用五個1維加速器來替代原始5維的加速器。Chia等人在幾何上計算4個引數,並使用一個1維加速器來計算最後一個引數。

    (2)基於啟發式的。比如基於遺傳演算法(GA)和多群體遺傳演算法的(MPGA),這些演算法可以得到比較好的結果,但是有找到次優解的可能。(個人認為,基於啟發式的演算法更像是將橢圓檢測這個問題抽象出一個目標函式,使用這些工具進行自動求解。事實上,橢圓是一個具有多種幾何性質的一個圖形,如果想使用啟發式的演算法,可以結合深度學習考慮下。

    (3)基於邊緣連線的。上述的兩類演算法耗時嚴重,無法達到實時性。現在比較熱門的且達到實時性的演算法是基於這樣的框架:先根據邊緣點的幾何性質構造橢圓弧段或者區域,然後使用擬合算法得到橢圓引數。典型的有三個演算法進行說明(論文對這三個演算法的總結我認為有點一般,所以下面是加入了自己的理解):

     Prasad等人的橢圓檢測演算法(2012):Canny邊緣檢測 → 使用直線段去逼近邊緣段 → 使用曲率和凸性分割出橢圓弧段 → 構造弧段的搜尋區域來組合可能屬於同一個橢圓的弧段 → 擬合橢圓獲得最後的結果。

    Patraucean等人的橢圓檢測演算法(2012):演算法名稱叫ELSD,實際上是直線段和橢圓弧段檢測演算法,目的是檢測出直線段和橢圓弧段,不能算是完整的橢圓檢測演算法,畢竟沒有橢圓弧段合併過程。思想與Prasad的類似,只不過邊緣檢測實現的方式不一樣,是基於Sobel+區域生長來獲得的。然後根據幾何性質分割出直線段和橢圓段,並使用NFA來剔除錯誤直線段和橢圓弧段(NFA我認為是個創新點)。

    Fornaciari等人的橢圓檢測演算法(2014):這個文章是將邊緣分割為4類弧段,每類弧段在一個象限內,然後在不同象限內進行組合。細節部分可以看文章,我認為這個作者是發現了橢圓檢測的核心問題,橢圓弧段的組合,所以他得到了很好的結果。橢圓檢測的精度直接受到組合演算法的影響,而擬合算法間接的影響檢測時間。

    介紹完橢圓檢測的基本發展,下面對這個論文的演算法進行進一步分析。

二 背景

    背景部分主要介紹橢圓的擬合方法和候選橢圓的選擇。

    橢圓擬合是對下面這個公式進行擬合,在擬合之前對資料進行0均值處理,就是防止擬合時候4次方項對資料精度造成影響(一定要注意,很嚴重)。


    擬合之後採用下述的方法來判斷是否是真實橢圓。pi是每個畫素點的座標,就是每個畫素點帶入擬合方程,如果擬合誤差很大,這個畫素被拋棄,最後統計有效畫素點與全體畫素點的比值,小於0.7則認為這個擬合出的橢圓是虛假橢圓,扔掉。


三 提出的演算法

     演算法的流程圖如下圖所示,是屬於基於邊緣連結的方法。下面對每個過程進行分析。


1 邊緣段提取

    首先進行高斯模糊 → 計算自適應Canny閾值 → Canny邊緣檢測得到邊緣影象。對於每個畫素,如果其梯度大於計算出的高閾值,認為去是強邊緣點(strong edge point),在高低閾值之間的叫做弱邊緣點(weak edge point)。然後從邊緣圖中提取出一條條的邊緣線,提取方法就是從強邊緣點開始進行8鄰域搜尋,直到搜尋不出可連線的點為止。然後重新選擇一個強邊緣點作為起點進行新的搜尋。簡而言之,邊緣段提取就是提取出影象的邊緣線。

2 直線段提取

    簡單來說,就是從邊緣段的尾部開始,計算尾部到直線的這段邊緣段是否能夠構成直線,如果不能就從尾部的前一個點開始一樣的判定。說白了,就是使用一系列直線段去逼近這個邊緣段。

3 使用top-down方案選擇邊緣段

    在這個小節,作者給出了bottom-up strategy的含義。

Bottom-up strategy iteratively fits line segments or arcs into ellipses from shorter ones to longer ones. 

    以直線段逼近為例,bottom-up是從第2個畫素開始,如果其是直線,那麼再從第三個點開始,直到其不滿足直線條件,作者top-down就是完全反過來的過程。同理在這個小節中,在獲得一組直線段之後,作者想從這裡獲得橢圓,思想很簡單,以下圖為例,先擬合直線段1~9,看其是否能夠構成一個橢圓,如果不能,那麼就從其中的一個子集進行擬合,直到有滿足條件的橢圓擬合出來。擬合成功之後,剔除參與擬合的直線段。再對剩下的進行相同的操作。


-----------------------

到這裡,前面的兩個問題已經能夠理解了,在進行直線段選擇時候,如果選擇bottom-up的思想,很容易提前終止,即橢圓的一部分參與擬合,過早結束。但我覺得無論是bottom-up還是top-down,都具有其特色,記住其思想,針對具體問題具體分析。

bottom-up 從小不斷擴充到大,直到擴充的點不滿足約束。

top-down 從大不斷得到到小,直到選擇的子集滿足約束。

------------------------

4 使用積分鏈加速

    上述說的top-down方法非常耗時,這裡使用積分影象技術中的1維情況(被稱為integral chain)進行加速提出的橢圓檢測演算法。這個我覺得不是什麼重點,算是個小創新。

    橢圓擬合時候涉及到大量重複計算,這個是針對其演算法做的一個優化計算的方法。算是一種無損加速,這裡不細分析了。

5 橢圓聚類

    一個完整的橢圓收到噪聲影響會被分割成多個弧段,一個橢圓可能會產生兩個候選橢圓。組合方式也很簡單,計算每個橢圓的參與擬合的直線段對應的張角,然後進行排序,選擇一個橢圓,然後在從剩下的中找到可能組合的橢圓,然後兩個在一起擬合一次,如果擬合結果更好,則合併這兩個橢圓。重複以上過程,最終得到一系列橢圓。


6 橢圓驗證

    橢圓驗證就是基於ELSD中的NFA剔除錯誤結果的思想的進一步改進。關於改進NFA思想是否有效的問題,我需要進一部分分析,從作者的改進說明上來看,其動機不是很明顯。有機會我自己實現下分析其創新性。

    經過以上6步,演算法最終會產生一組橢圓。這就是演算法的全部。

四 實驗部分

    作者採用的是Fornaciari和ELSD的演算法進行對比(這兩個對比演算法作者已經提供了原始碼,這個作者就不提供,我好氣啊)。驗證準則很好理解,閱讀論文自然就能明白,這裡不細說。橢圓的資料集都是公開的,3個數據集一個是Prasad的,一個是隨機影象資料集,一個是手機拍出的序列影象資料集。都有ground-truth標記。下圖是作者的結果。


下圖是作者在這三個資料集整體的結果,有一定的進步。


    作者的創新點看似比較簡單,我覺得其內部應該有很多細節沒有注意到,有時間的話,我自己復現下作者的程式碼,驗證下之前自己的想法。而且在閱讀橢圓檢測論文時候,同一個程式碼,同一個資料集,跑出的F-measure值都不一樣,很奇怪,在後續研究中我得把這個問題想明白了。

    這篇文章沒有原始碼,不明白的地方或者有獨特見解的歡迎討論。

British Machine Vision Conference

相關推薦

論文閱讀——橢圓檢測演算法 2015 A fast and robust ellipse detector based on top-down least-square fitting

    今天閱讀了一個2015年的一篇論文,關於橢圓檢測的,向作者傳送郵件索取程式碼和原始資料也沒回我- -||。所以只閱讀文章思想並從演算法上分析其效能。下面開始對文章進行分析。〇 摘要部分現存的演算法通常使用一個自下而上的策略(bottom-up strategy)將邊緣

論文閱讀——橢圓檢測演算法 2018 使用梯度分析利用錯誤檢測控制的精確橢圓檢測

        本文是2018年《Pattern Recognition》期刊(2區SCI)上的一篇文章,是最新的橢圓檢測,論文題目為《Accurate detection of ellipses with false detection control at

Optical Flow Guided Feature A Fast and Robust Motion Representation for Video Action Recognition論文解讀

Optical Flow Guided Feature A Fast and Robust Motion Representation for Video Action Recognition論文解讀 1. Abstract 2. 論文解讀 3

閱讀筆記——《FFDNet Toward a Fast and Flexible Solution for CNN based Image Denoising》

本博文屬於閱讀筆記,僅供本人學習理解用 論文連結:https://ieeexplore.ieee.org/abstract/document/8365806 給出程式碼(https://github.com/cszn/FFDNet)   Many methods mos

論文筆記】視訊分類系列 Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video (OFF)

0. 簡述 運動資訊對於視訊中動作的識別有著重要的作用。其中最常用的一種運動資訊,是光流。之前的方法計算光流是offline的,比較耗時,本文提出了一種新的簡潔的運動表示,叫做Optical Flow guided Feature (OFF)。OFF通

Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition 翻譯

                   光流引導特徵:視訊動作識別的快速魯棒運動表示                

讀書筆記22:Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recogni

文章題目:Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition(CVPR2018) 摘要部分:開頭一句話指出motion rep

論文閱讀計劃2(Deep Joint Rain Detection and Removal from a Single Image)

rem 領域 深度學習 conf mage 圖片 多任務 RoCE deep Deep Joint Rain Detection and Removal from a Single Image[1] 簡介:多任務全卷積從單張圖片中去除雨跡。本文在現有的模型上,開發了一種多

論文閱讀筆記二十五:Fast R-CNN (ICCV2015)

  論文源址:https://arxiv.org/abs/1504.08083 參考部落格:https://blog.csdn.net/shenxiaolu1984/article/details/51036677 摘要        該文提出了一

深度學習中目標檢測演算法 RCNN、Fast RCNN、Faster RCNN 的基本思想

前言 影象分類,檢測及分割是計算機視覺領域的三大任務。即影象理解的三個層次: 分類(Classification),即是將影象結構化為某一類別的資訊,用事先確定好的類別(string)或例項ID來描述圖片。這一任務是最簡單、最基礎的影象理解任務,也是深度學習模型最先取得突

opencv輪廓檢測橢圓檢測-----演算法篇(7)--Hough transform檢測

關於霍夫變換,  首先看看wiki的介紹     https://en.wikipedia.org/wiki/Hough_transform     http://www.iro.umontreal.

論文閱讀』LightGBM原理-LightGBM: A Highly Efficient Gradient Boosting Decision Tree

17年8月LightGBM就開源了,那時候就開始嘗試上手,不過更多還是在調參層面,在作者12月論文發表之後看了卻一直沒有總結,這幾天想著一定要翻譯下,自己也梳理下GBDT相關的演算法。 Abstract Gradient Boosting Decision Tr

QEMU, a Fast and Portable Dynamic Translator-Fabrice Bellard-翻譯

Abstract We present the internals of QEMU, a fast machine emulator using an original portable dynamic translator. It emulates several CPUs (x86,

論文閱讀】韓鬆《Efficient Methods And Hardware For Deep Learning》節選《Learning both Weights and Connections 》

Pruning Deep Neural Networks 本節內容主要來自NIPS 2015論文《Learning both Weights and Connections for Efficient Neural Networks》。 這部分主要介紹如何剪枝網路

LiveScan3D: A Fast and Inexpensive 3D Data Acquisition System for Multiple Kinect v2 Sensors

LiveScan3D:用於多個Kinect v2感測器的快速、低成本的3D資料採集系統 文章翻譯 引言:我們提出了一種利用多個Kinect v2感測器進行實時3D採集的方法。與使用單個感測器的方法不同,比如[1],我們可以同時記錄多個視點的動態場景。     我

nlp 筆記:A Fast and Accurate Dependency Parser using Neural Networks

技術分享 線性 如果 pla 筆記 das ima 問題 調查 概要:本文使用神經網絡完成了一個快速準確的依存語法分析程序,也就是句子的結構。 introduction:   以前的depenency parser效果很好,但是有幾個問題: 所用的特

論文閱讀筆記五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

advance splay 出發 產生 sigmoid for 問題 信息 eee 論文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection

A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK文章筆記

方法 可能 lec pan 結果 ica repr 貢獻 tps A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK 文章地址:https://ieeexplor

3-----A Forcast for Bicycle Rental Demand Based on Random Forests and Multiple Linear Regression

基於自行車租賃需求的預測隨機森林與多元線性迴歸 內蒙古大學的 本文要求結合歷史使用模式用天氣資料預測自行車租賃需求 this paper proposes a random forest model and a GBM packet to improve the decision tre

QuadriFlow : A Scalable and Robust Method for Quadrangulation

雖然三角網格是最常用的表面模型,但四邊形網格也很重要,因為它們對Catmull-Clark細分曲面,紋理,網格編輯,視覺化和基於物理的模擬特別有用。 方向場確定四邊形網格邊緣的方向,位置場確定網格頂點的放置位置。理想情況下,兩個場應該在表面上平滑地變化,同時遵守有助於使網格邊緣銳化和物件的曲率對齊的約束。