,,,,
(浙江工業大學 計算機科學與技術學院,杭州 310023)
基于迭代擬合的集裝箱角件邊緣檢測算法
高飛,李定謝爾,徐云靜,盧書芳,肖剛
(浙江工業大學計算機科學與技術學院,杭州310023)
噪聲通常是影響集裝箱角件圖像中低層次語義信息提取精度的重要因素,傳統的邊緣檢測算法通常通過改進濾波器和閾值來消除圖像中的物理噪聲和環境噪聲,但是卻無法去除邊緣檢測后的噪聲,為解決這一問題,提出了一種基于迭代擬合的邊緣檢測算法;首先,對角件圖像進行一系列預處理操作獲取邊緣點集,其次,使用擬合算法處理點集并且得到函數表達式,然后定義偏差值度量并計算,用于衡量目標點集到擬合或者檢測結果的偏差,最后,去除定義下距離擬合結果最遠的指定數量的點,如此迭代擬合直至評價函數收斂;實驗結果與分析表明,該算法可以有效地去除邊緣點集中的非真實邊緣點,相比于傳統的邊緣檢測算法更能去除特殊噪聲,算法具有收斂速度快、準確率較高、靈活性好等特點。
集裝箱角件;邊緣檢測;迭代擬合;評價函數
通常在對圖像進行二值化處理以及邊緣檢測的時候,由于圖像的質量問題或者是灰度閾值、檢測參數的設定無法適應每幅圖像導致最后得到的圖像往往包含不準確的邊緣信息,這些干擾信息降低了目標檢測的準確性,如何去除這些干擾信息,改進相關算法成為提高邊緣檢測準確率的研究重點。
目前邊緣檢測算子有Sobel算子、Roberts算子等,但是它們容易受到噪聲干擾,因此更為常用的方法大都是基于Canny算子,它比一階算子具有更好的抗噪能力和檢測精度,但是Canny算子也存在著一些缺點,比如不具備自適應能力、容易丟失圖像邊緣細節等,為此許多學者對其進行了改進,文獻[1]提出了一種使用自適應平滑濾波代替高斯濾波的Canny邊緣檢測算法,同時兼具了平滑圖像和銳化邊緣的功能,但是在減少環境噪聲的同時引入了真實邊緣附近的噪聲;文獻[2]為了解決傳統Canny算法容易丟失圖像邊緣細節的問題,采用形態學算子各向異性擴散濾波代替高斯濾波,同時加入最大類間方差算法提高自適應能力,但是相比于其他的改進算法提升并不明顯;文獻[3]考慮到圖像中的區域邊界可能因為受到光照影響而產生模糊,提出了一種基于模糊集的概念用來解決邊緣的不確定性,文獻[4]為了檢測出醫學圖像中紅細胞面積、圓度和個數等特征,使用迭代計算獲得最佳的Canny高低雙閾值,之后再用形態學細化檢測出圖像邊緣,在一定程度上減少了邊緣干擾和噪聲的影響,但是在圖像中目標邊界模糊的情況下,檢測效果欠佳;文獻[5]提出一種自適應獲取Canny動態閾值的檢測方法,它考慮到全局閾值將會丟失部分局部信息,對圖像進行分塊處理并利用梯度方差作為判斷依據,然后使用最大類間方差法加以插值運算獲得閾值矩陣,實現了良好的抗噪性和較好的檢測精度,但是其在去除噪聲的同時也丟失了部分細節;文獻[6]為了在噪聲較多的圖像中盡可能多地檢測出邊緣細節,構造了一種基于形態學濾波特性的邊緣算子,使用多方向結構元素實現精確的邊緣檢測,并根據灰度特征自適應調整各個方向結構元素的權值,但是它需要人工調整結構元素大小,欠缺靈活性;文獻[7]提出了一種結合小波變換模極大值和形態學的含噪圖像邊緣檢測方法,兼顧了邊緣定位和弱邊緣保留。此外還有基于結構森林[8-9]的方法,它利用局部圖像表現出來的結構特征去學習一個具有計算效率和準確性的邊緣檢測器,在現有公共數據集上實現了很好的效果并具有實時性、整體嵌套[10]等方法。
上述方法大都是在檢測算法上進行改進,沒有考慮到在檢測之后對結果進行后續的去噪,在實際的集裝箱角件邊緣檢測應用中,由于圖像模糊,使用傳統檢測方法后容易在邊緣周圍產生干擾點,這常常導致最終提取的邊緣信息精度偏低,例如在直線類邊緣提取中,會有很多噪聲導致提取到的邊緣偏離了實際的目標。從本質上講,問題的關鍵在于這些方法并未充分結合具體的邊緣信息。為便于描述,將與邊緣有關的難以用傳統方法去除的噪聲定義為特殊噪聲,或稱為非物理噪聲,其詳細定義見第1節。針對這一問題,本文提出了一種通用的基于迭代擬合的角件邊緣檢測算法。
特殊噪聲指出現在集裝箱角件圖像中邊緣周圍的噪聲,它影響邊緣提取的準確性,同時和邊緣具有一定關聯。通常而言,傳統物理噪聲分散于整個圖像中,與目標并不具備空間上特有的關聯性,目標固有的先驗知識對去除物理噪聲并不具有多大的幫助。而特殊噪聲與之相反,先驗知識對去除特殊噪聲將起到關鍵性作用。綜上所述,角件邊緣的特殊噪聲具有以下特點。
1)單一性:在圖像預處理后,集裝箱角件圖像中邊緣周圍出現干擾信息,這只存在于二值圖像中。
2)關聯性:特殊噪聲反映出目標區域與周圍區域在空間、紋理、色彩等方面存在關聯。據此特點可知,對于角件邊緣而言,距離過遠的噪聲不屬于特殊噪聲范疇。
3)不確定性:不同于物理噪聲普遍地存在,。當圖像質量好、目標檢測算法有效時,特殊噪聲將不存在于角件圖像中。
4)先驗性:根據角件邊緣的先驗知識,特殊噪聲的判定具有一定先驗性,即事先了解特殊噪聲的存在范圍。
根據以上特殊噪聲的定義和特點,提出一種適用于角件邊緣的檢測算法,流程如圖1所示,其步驟可總結如下。
1)點集獲?。焊鶕羌吘壍南闰炛R,從圖像中獲取邊緣點集,其算法可描述為:
算法1:邊緣點集提取算法。
輸入:圖像I。

對于角件邊緣,通常f包含如下步驟:
獲取到角件邊緣點集P不僅包含邊緣信息,也包含特殊噪聲。
2)參數擬合:根據步驟1得到的點集P進行參數擬合,目的是為步驟3提供計算基準,其算法描述如下。
算法2:參數擬合算法,通常采用如下模型求解:
輸入:像素點集P。
輸出:參數擬合方程v=f(x,y)。

ei=vi-f(xi,yi)
其中:f(x,y)=ax+b-y=0表示直線形式的參數擬合函數,ξ表示擬合偏差,即像素點與擬合函數之間的偏差范數ei的和。有時候,為了體現目標中部分點的重要性,需要給出不同的權重值wi,正常情況下,wi全部為1。

圖1 集裝箱角件邊緣檢測算法流程圖

3)噪聲剔除:在步驟2中擬合偏差定義下,P中存在著一些偏差范數ei較大的像素點。在此步驟中,按偏差范數從大到小的順序將集合P中的點重新排序,然后將排在前面的M個偏差范數較大的點當作特殊噪聲從P剔除,具體算法描述如下。
算法3:特殊噪聲剔除算法。
輸入:偏差范數集合E={ei|i=1,2,…,n}。
輸出:剔除特殊噪聲之后的像素點集P。
Step2:P′=P-Q,去除特殊噪聲,即從集合P中剔除Q。
Step3:P=P′,更新像素點集。
4)迭代收斂:特殊噪聲通常無法在一次迭代中完全去除,所以去噪效果需要評價函數進行評估。在步驟3中,去除的噪聲中有部分可能不是真正的特殊噪聲,這同樣需要評估函數以避免更多的真實數據點被移除。
為此,提出偏差值變化率作為評價函數以評估去噪效果。當真實的特殊噪聲被去除時,評價函數值較大;當真實邊緣點被移除時,評價函數值較小。因此,在評價函數值大于某個閾值時,迭代步驟2~4;反之,小于該閾值時,停止迭代,具體算法如下。
算法4:迭代收斂。
Step1 定義評價函數。迭代評價函數被定義為如下方法:
(1)
Step2 根據評價函數決定是否迭代,即若Akgt;T,則繼續步驟2~4;否則,終止。
其中:Ak表示第k輪迭代的評價函數值,ξk表示第k輪迭代時的偏差值,T表示迭代收斂閾值。
算法總體分為以上4個步驟,其中每個步驟使用的算法可根據實際情況分別具體化,在一定程度上保證了算法的靈活性。
在實驗中,選取了自動化碼頭應用之一的基于機器視覺的集裝箱定位問題,其核心是識別集裝箱的角件邊緣,實驗環境為Visual Studio 2013,運行環境中CPU型號是E3-1230 v3,內存為8 G,操作系統是Windows 7。根據先驗知識,角件邊緣為直線,角件圖像尺寸為135×140,M設置為1,檢測結果如圖2~7所示。其中圖2(a)、3(a)、4(a)、5(a)、6(a)、7(a)為集裝箱角件原圖。圖2(b)、3(b)、4(b)、5(b)、6(b)、7(b)經過圖像分割的角件輪廓圖,圖2(c)、3(c)、4(c)、5(c)、6(c)、7(c)為在角件原圖上進行Canny邊緣檢測的結果,圖2(d)、3(d)、4(d)、5(d)、6(d)、7(d)為在邊緣檢測后進行3×3均值濾波的結果,圖2(e)、3(e)、4(e)、5(e)、6(e)、7(e)為在邊緣檢測后進行3×3中值濾波的結果,圖2(f)、3(f)、4(f)、5(f)、6(f)、7(f)為在角件輪廓圖上使用掃描法得到的部分邊緣點集,圖2(g)、3(g)、4(g)、5(g)、6(g)、7(g)為T=0.1時的檢測效果,圖2(h)、3(h)、4(h)、5(h)、6(h)、7(h)為T=0.5時的檢測效果,當T=0.1和0.5時檢測所花時間分別大約為70 ms、9 ms,針對不同類別、角度的情況,選取了193張角件圖像進行邊緣檢測實驗,準確率在96%以上。

圖2 不同去噪算法的效果比較1

圖3 不同去噪算法的效果比較2

圖4 不同去噪算法的效果比較3

圖5 不同去噪算法的效果比較4

圖6 不同去噪算法的效果比較5

圖7 不同去噪算法的效果比較6
實驗結果表明,由于經過Canny邊緣檢測后,圖中邊緣為單像素,所以使用傳統的3×3均值濾波在角件輪廓圖像中進行去噪時,無法獲得較好的結果,從而導致邊緣檢測的效果欠佳,中值濾波方法更是破壞了圖中所有的邊緣。而本文提出的帶去除特殊噪聲的邊緣檢測方法是在圖像分割的基礎上進行的,分割后的圖中并沒有過多的干擾點,因此在不同種類的角件圖像下都有著更好的效果,當閾值T在一定范圍內減小時能提升檢測準確性,而且可以使用同一個閾值應對不同的圖像。雖然該方法在一定程度上犧牲了計算時間,但是實驗所用的代碼并未進行優化,后續可以通過改進算法來提升檢測速度,在實際應用中,可權衡計算時間和準確性來設定閾值T,做到兩者的平衡。
從實驗結果來看,所提角件邊緣檢測算法通過擬合—剔除—評估的迭代計算可有效去除影響檢測精度的特殊噪聲,更準確地保留了角件的真實邊緣。在算法中,步驟2、4中偏差值、偏差范數以及評價函數如何定義對檢測效果有著十分明顯的影響,所以在具體應用的時候應該著重研究這兩者。同時,本算法也存在著一定的局限,比如,參數擬合部分往往會花費較多的時間,當特殊噪聲較多且收斂條件較嚴格時,為了去除這些特殊噪聲,導致算法的迭代次數過多,花費的時間將線性遞增,不具有實時性,在選擇擬合方法的時候需要考慮到這點,根據圖9比較來看,上部分為Hough變換花費時間,下部分為最小二乘法花費時間,在效率上后者明顯優于前者。
在算法中,T和M的取值對計算效果與效率有著至關重要的影響。M的取值決定了在一次迭代中去除噪聲的數量,通常來說M值越大,檢測效果越好,計算時間越短,但是過大的M值將導致計算時間增長同時擬合效果降低。而T的取值決定了整個迭代環節的終止條件, 通常來說T值越大,檢測效果越好,計算時間越長,T和M的取值應該根據具體案例。在角件邊緣檢測實驗的基礎上統計了不同T和M值下的計算時間,見表1。

表1 不同擬合參數下檢測時間分析
另一方面,T值過大或過小將導致迭代過快或過慢終止,導致效果變差,如圖8~圖9所示。

圖8 過大、過小T值下的檢測效果

圖9 Hough變換和最小二乘法時間對比
本文通過分析現有檢測方法的優缺點,提出一種角件邊緣檢測算法。首先對圖像進行預處理,提取角件邊緣的像素點集,然后擬合點集獲得函數方程并定義、計算偏差值集合,最后移除定義下的特殊噪聲,評估是否需要進行迭代。該算法具有一定的靈活性,在每個步驟中并沒有限定算法,可以根據實際情況采用具體的算法,在實驗中取得了較好的效果。不過在偏差值定義、去除特殊噪聲的策略以及評估函數設置上尚缺少分析,之后可以結合機器學習方法進一步分析這些內容。同時缺少對存在大量噪聲情況的分析,這類問題可以將本文算法與現有二值圖去噪算法進行結合處理。
[1] 許宏科, 秦嚴嚴, 陳會茹. 一種基于改進Canny的邊緣檢測算法[J]. 紅外技術, 2014, 36(3): 210-214.
[2] 王紀剛, 陳家新. 基于改進濾波的Canny醫學圖像邊緣檢測算法[J]. 計算機測量與控制, 2013, 21(6): 1577-1579.
[3] Biswas R, Sil J. An improved canny edge detection algorithm based on type-2 fuzzy sets[J]. Procedia Technology, 2012, 4: 820-824.
[4] 王小俊, 劉旭敏, 關 永. 基于改進Canny算子的圖像邊緣檢測算法[J]. 計算機工程, 2012, 38(14): 196-198.
[5] 張 帆, 彭中偉, 蒙水金. 基于自適應閾值的改進Canny邊緣檢測方法[J]. 計算機應用, 2012, 32(8):2296-2298.
[6] 師 文, 朱學芳, 朱 光. 基于形態學的MRI圖像自適應邊緣檢測算法[J]. 儀器儀表學報, 2013, 34(2): 408-414.
[7] 喬鬧生, 鄒北驥, 鄧 磊,等. 一種基于圖像融合的含噪圖像邊緣檢測方法[J]. 光電子·激光, 2012(11): 2215-2220.
[8] Dollár P, Zitnick C L. Structured forests for fast edge detection[A]. Proceedings of the IEEE International Conference on Computer Vision[C]. 2013: 1841-1848.
[9] Dollár P, Zitnick C L. Fast edge detection using structured forests[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(8): 1558-1570.
[10] Xie S, Tu Z. Holistically-nested edge detection[A]. Proceedings of the IEEE International Conference on Computer Vision[C]. 2015: 1395-1403.
EdgeDetectionAlgorithmforContainerCornerPiecesBasedonIterativeFitting
Gao Fei,Li Dingxieer,Xu Yunjing,Lu Shufang,Xiao Gang
(College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China)
Noise is usually the important factor that affects the accuracy of low level semantic information extraction in container corner pieces images. Traditional edge detection algorithm usually reduces the physical noise and ambient noise in the image by improving the filter and the threshold, but cannot remove the noise after edge detection. To solve the problem, an algorithm of edge detection based on iterative fitting was proposed. Firstly, container corner pieces image was processed by a series of preprocessing operations to obtain the set of edge points. Secondly, the fitting algorithm was used to process the set of points and the function expression was obtained. Thirdly, the deviation value was defined and calculated to measure the deviation of the target point set to the fitting or detection result. Finally, iteratively removing some points of farthest defined distant to fitting result until evaluation functions converge. The result of experiments shows that the proposed algorithm can effectively remove the unreal edge points and better than traditional edge detection algorithm in removing special noise. The proposed algorithm has several merits, such as fast convergence rate, higher accuracy rate and good flexibility.
container corner pieces; edge detection; iterative fitting; evaluation function
2017-03-01;
2017-03-24。
國家自然科學基金資助項目(C12412135, 61402410);浙江省自然科學基金資助項目(LY13F020029, LQ14F020004)。
高 飛(1974-),男,四川鄰水人,博士生導師,主要從事計算機視覺、圖像處理方向的研究。
1671-4598(2017)09-0134-04
10.16526/j.cnki.11-4762/tp.2017.09.035
TP391.41
A