?

基于蟻群算法的Zernike矩亞像素工件邊緣檢測

2023-03-11 11:01唐世寧查長禮程江林
關鍵詞:像素點灰度邊緣

唐世寧,查長禮,程江林

(安慶師范大學 電子工程與智能制造學院,安徽 安慶 246133)

在產品生產過程中,需要對產品的尺寸進行檢測以判斷產品是否合格。傳統大尺寸測量方法,一般是利用千分尺、游標卡尺、百分表等進行人工檢測[1],但這些方法都存在著測定速度慢、效率低以及準確度差等問題。隨著電腦的大量應用及視覺技術的發展,基于機器視覺的工件檢測技術[2]被廣泛應用于制造業領域,而圖像邊緣檢測是影響尺寸檢測精度的關鍵因素之一。常用的圖像邊緣檢測方法主要是通過圖像和微分算子卷積來實現邊緣的提取,即使用不同的模板來近似表達圖像中每個像素的一階偏導數,如Sobel算子[3]、Laplace算子[4-5]和Canny算子[6]等,其特點是檢測不準確、效率低和適應能力差,同時對噪聲也較敏感。因此,圖像邊緣檢測已成為諸多學者和行業所研究和關注的焦點。過去幾十年提出了許多亞像素邊緣檢測方法,有最常見的矩方法[7-13]、插值法[14]和擬合法[15],其中矩方法是目前比較可靠的亞像素邊緣檢測方法,而且Zernike矩[16]具有旋轉不變的特性,又能降低噪聲的影響,因而被廣泛運用。

為進一步提高工件尺寸測量的準確性,本文提供了一個改進Zernike矩的亞像素邊緣檢測方法。首先,對輸入的圖像進行灰度化處理,并用各向異性擴散濾波進行濾波處理,以消除噪聲對后續工作的影響,再結合Otsu算法[17(]大津算法)進行閾值分割以得到二值圖像。然后,利用蟻群算法來實現像素級的粗定位,再利用Zernike矩的模型對所獲取的像素級邊界進行重新確定,并通過改進的閾值以確定算法,從而可以重新定義圖像的亞像素邊緣。

1 算法基礎

1.1 蟻群算法邊緣檢測

蟻群算法[18]的圖像邊緣檢測,就是在一張圖片中搜尋灰度差最大的區域。在尺寸為M×N的圖像W上隨意布局P只螞蟻,該圖像上所有像素點都是螞蟻所需要遍歷的節點。令信息素矩陣μ(0)中的每個元素初值均為常量,搜索的最優解就是最符合特征目標的輪廓線,也就是灰度差最大、信息素濃度最高的路徑[19]。

在第n步驟的完成過程中,從上述P只螞蟻中隨機選擇一只,并讓這只螞蟻在圖像上不間歇地移動。這只螞蟻從節點(a,b)移動到節點(i,j)的變換概率[20]為,式中為節點(i,j)的信息素值;Ω(a,b)為節點(a,b)的鄰域內所有像素點的集合;ηij為節點(i,j)的啟發信息值;α,β分別是信息素矩陣和啟發矩陣的影響因子,在各取0.5時,可獲得比較好的檢測效果。

在此流程中,通過對最終的信息素μ(F)使用閾值T,可以判斷某一個像素點是否為邊界點,而閾值T可通過自適應算法得出。使用信息素的平均值為閾值點的起始值T(0),并根據是否大于T(0),把信息素矩陣里面的元素分為兩個部分,新閾值點數為這兩個部分各自的平均值。這個過程持續迭代,直到閾值不再產生改變。

迭代過程如

①設置迭代指數l=l+1,然后更新閾值T(l)=

②若|T(i)-T(l-1)|>ε,則返回步驟(2);否則迭代結束并退出,以Gij=為標準來判斷每個像素點位置(i,j)是否為邊緣。若像素點位置(i,j)是邊緣,則Gij=1;否則Gij=0。

1.2 Zernike邊緣檢測

在一個單位圓中,連續圖像f(x,y)的n階m次Zernike矩[22]定義為

離散數字圖像f(x,y)的n階m次Zernike 矩表達式為Knm=若圖像旋轉α角度,則旋轉前后的Zernike 矩多項式之間的關系滿足Knm=K′nme-ima。由此可以發現,圖像在轉動時只是相角出現了改變,而Zernike矩陣的相模不變,這種特性便是Zernike矩陣的旋轉不變性。

假設單位圓(x2+y2=1)的圓心處在圖形的一個像素點處,且圖形邊緣穿過了這個圓,由此可建立理想的階躍邊緣模型,如圖1 所示。每個單位圓內含有的垂直曲線是圖像理想邊界,k是階躍幅度,h是背景區域內灰度值,則陰影部分的灰度值就是h+k,l是圓心至理想邊界的垂直距離,α是邊緣豎直方向與x軸線之間的夾角。利用Zernike 矩的旋轉不變性,將圖像順時針旋轉α角度,使邊緣線垂直于x軸線,如圖1(b)所示。

圖1 Zernike矩理想邊界階躍模型

對圖1所示的理想邊界階躍模型計算,可得

圖2 Zernike矩7×7模板

2 驗證與分析

針對工件圖像邊緣檢測精度和速度這一問題,王兵等[23]融合卷積網絡并結合傳統canny檢測算法來進行邊緣檢測,提高了檢測精度,但是該算法對電腦要求較高,且運算速度較慢。馬艷娥等[24]將canny算法與Zernike矩亞像素邊緣檢測進行融合,提高了邊緣檢測的速度但精度不夠。本文提出了基于蟻群算法的Zernike矩亞像素邊緣檢測算法,先利用蟻群算法以實現像素級的粗定位,再利用Zernike矩模型對所獲取的像素級邊界進行重新確定,簡化了算法并提高了算法精度和運算速度,同時在搭建的實驗平臺上進行了驗證。

2.1 實驗裝置

驗證實驗平臺如圖3 所示,主要包括光源、相機、調焦滑軌、支架、圖像采集系統及PC機等。為了保證從平臺采集的圖像具有高品質和好的清晰度,選擇美國COGNEX 公司的COMS 工業相機進行圖像采集,調焦范圍為25 mm~**,最大光圈為2.0。圖像像素為3 840 × 2 748,圖像檢測環境為Windows10,處理器為Intel(R),Core(TM),i5-10400CPU@ 2.90GHz,內存為8 GB,在MATLAB2021 上實現圖像的亞像素邊緣檢測。

圖3 COMS相機平臺

2.2 亞像素圖像生成

改進的Zernike矩亞像素檢測方法步驟如圖4所示。首先對采集到的圖像進行灰度化處理,并用AF算法進行濾波處理以消除噪聲對后續工作的影響,再結合Otsu 算法(大津算法)進行閾值分割以得到二值圖像,以完成圖像預處理。然后利用ACO(蟻群算法)實現像素級的粗定位,且利用Zernike 矩模型對所獲取的像素級邊緣進行重新確定,并通過改進的閾值確定算法重新定義圖像的亞像素邊緣。具體流程如下:

圖4 亞像素檢測流程

(1)對輸入的圖像進行預處理

濾波是圖像預處理的重要一步,進行圖像濾波可使圖像去除噪聲的影響以優化圖像質量,并最大限度保持圖像邊緣特征?;叶葓D僅占據較小的內存且能夠很好的保存圖像基本特征,減小了算法的運算量,所以在濾波之前對圖像灰度化處理很有必要。各向異性擴散濾波算法[21]能夠較好地去除噪聲,也能夠更大限度地保存圖像的邊緣特征,并用大津算法[22]進行圖像分割。

為了消除噪聲等外界因素對圖像邊緣提取的干擾,并更加快捷有效地定位圖像邊緣,通過二值化方法將圖像數據變小,使計算更快捷,所形成的二值圖如圖5 所示。從圖可以看出,處理過后的圖像邊緣清晰,消除了噪聲對圖像的影響。

圖5 二值圖

(2)圖像邊緣檢測

首先對上述二值圖用ACO 算法進行邊緣的粗提取,提取后的邊界特征如圖6 所示。從圖看出,ACO算法雖可以提取出金屬零件的邊界特征點,但所提取出的邊緣特征點較為稀疏,圖像也較模糊并且斷點較多,所獲得的邊緣結果不盡人意。為獲取比較精確的工件邊界,對上述方法抽取的像素級邊界采用Zernike 矩算法以實現亞像素定位。在定位前,先對7×7的模板進行計算,結果如圖7所示。

圖6 ACO算法提取的邊緣粗定位

圖7 Zernike矩7×7矩陣。(a)K00模板;(b)K11實數模板;(c)K11虛數模板;(d)K20模板;(e)K31實數模板;(f)K31虛數模板;(g)K40模板

在模板計算完成后,將模板導入算法中,并通過最大類間方差法算出閾值kt為131。改進方法得出的亞像素邊緣提取圖如圖8(a)所示,可以看出提取的邊緣較為完整清晰,很好地還原了圖像原本的樣子,符合尺寸檢測對邊緣特征提取的精度要求。相較而言,圖8(b)所示的傳統Zernike矩亞像素邊緣檢測算法所檢測的圖像邊緣模糊不完整,缺失了過多的邊緣特征點,不利于尺寸檢測對工件的精準定位。

圖8 提取的亞像素邊緣。(a)本文改進算法提??;(b)傳統Zernike算法提取

為直觀分析改進方法與傳統Zernike矩亞像素邊緣提取算法的差異,隨機選擇亞像素邊緣圖像中5個點的亞像素坐標和圖像原始坐標進行對比,并計算改進方法所提取的亞像素點坐標值和原始圖像的像素點坐標值之間誤差的絕對值,且記為絕對誤差。如表1 所示,傳統Zernike矩算法檢測到的邊緣特征點像素坐標與原始圖像像素坐標偏差較大,而改進方法的邊緣特征點像素坐標與原始圖像像素坐標之間的絕對誤差不超過0.5,精度較高,能夠較好地滿足工業上尺寸檢測精度的要求。

表1 圖像的像素坐標

運用MATLAB編輯器中的“運行并計時”工具對改進的亞像素邊緣檢測算法和傳統Zernike矩亞像素邊緣檢測算法的運行時間進行計算??紤]到MATLAB 軟件自身影響,將兩個算法分別做了5次運行測試以減少軟件問題對代碼運行時間的影響,結果如表2 所示??梢钥闯?,相較于傳統的亞像素邊緣檢測算法,改進方法的運行速度有一定程度的提高,約為原來速度的10倍,能夠較好地滿足工業上尺寸檢測對算法速度的要求。

表2 邊緣檢測算法程序的運行時間/s

3 結論

為了進一步提高工件尺寸測量的準確性,本文提出了一個改進Zernike矩的亞像素邊緣檢測方法。先采用濾波、閾值分解等技術對圖像進行預處理以得到二值圖,然后利用蟻群算法來實現像素級的粗定位,再利用Zernike矩模型對所獲取的像素級邊界進行了重新確定,并通過改進的閾值確定算法,可以重新定義圖像的亞像素邊緣。結果表明,改進的方法相較于傳統邊緣提取方法,其檢測精度更高,運行速度更快,能夠達到工業尺寸檢測的要求。未來如何解決邊緣檢測算法的普適性和實時性還需要深入研究。

猜你喜歡
像素點灰度邊緣
采用改進導重法的拓撲結構灰度單元過濾技術
基于灰度拉伸的圖像水位識別方法研究
基于5×5鄰域像素點相關性的劃痕修復算法
基于canvas的前端數據加密
基于最大加權投影求解的彩色圖像灰度化對比度保留算法
基于逐像素點深度卷積網絡分割模型的上皮和間質組織分割
一張圖看懂邊緣計算
基于灰度線性建模的亞像素圖像抖動量計算
在邊緣尋找自我
走在邊緣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合