一種基于人工魚群算法的圓形工件檢測方法
【專利摘要】本發明公開了一種基于人工魚群算法的圓形工件檢測方法,屬于計算機信息圖像處理技術領域。本發明首先對待檢測圖像進行預處理,獲取圓形工件的邊緣信息,然后根據待測工件圖像的尺寸確定一個三維解空間并初始化人工魚群,使每條人工魚隨機分布在該解空間中,最后人工魚群采用自適應視野和步長,通過不斷交互并協調行為,在解空間中啟發式搜索經過邊緣點數目最多的圓,從而得到工件的圓心和半徑;本發明與傳統霍夫變換檢測圓的方法相比,可以實現在參數空間中并行搜索且不需要遍歷整個空間,較大地減少了空間和時間開銷,也提高了檢測的精度,具有快速、準確和魯棒的特點。
【專利說明】
一種基于人工魚群算法的圓形工件檢測方法
技術領域
[0001] 本發明涉及計算機信息圖像處理技術領域,更具體地說,涉及一種基于人工魚群 算法的圓形工件檢測方法。
【背景技術】
[0002] 圓形特征是機械設計與制造領域基本特征之一,圓形工件幾何尺寸的精確測量, 不僅可以使零件的加工質量得到保證,而且在提高生產效率方面也起著至關重要的作用。 因此圓形工件的檢測成了一項既基礎又重要的工作。霍夫變換是圖像處理中從圖形中識別 幾何形狀的基本方法之一,自從霍夫于1962年提出以來,它就很快發展為可檢測直線和圓 等圖形的一種有效方法。
[0003] 霍夫變換具有魯棒性強、對噪聲不敏感的特性,但由于其高運算量、占用存儲空間 量大的缺點,不能滿足工業檢測實時性的要求。為了克服上述缺陷,XU等人提出了隨機霍夫 變換(Xu L,0 ja E.Randomized hough transform(RHT):basic mechanisms,algorithms and computational complexities , Computer Vision Graphic Image Process : Image understanding,1993,57(2): 131-154.)。隨機霍夫變換主要是將圖像空間中隨機選取的不 在同一條直線上的三個點根據圓的性質,按照一定的規則變換到參數空間中的一個點,構 成多到一的映射,然后計算滿足所選擇點的圓參數。此方法避免了霍夫變換一到多映射的 巨大計算量,具有一定的優越性。但對于復雜圖像,特別是受到噪聲干擾的圖像,由于無目 標的隨機采樣會引入大量的無效采樣與無用累積,檢測結果的隨機性很大,時間消耗過多, 使算法性能大大降低。
[0004] 張新雨等人于2014年在《儀器儀表學報》上發表了名為《基于人工魚群霍夫變換的 單晶硅直徑檢測》的論文,采用人工魚群算法檢測標準橢圓模型,并證明了該算法的有效 性,可行性。但該算法主要用于標準橢圓的檢測,由于圓形工件邊緣呈鋸齒狀且邊緣部分易 存在凹陷,應用該算法進行邊緣點個數統計時,會導致目標圓的適應度小于某些候選圓(例 如該圓部分經過工件的外邊緣,部分經過凹陷的邊緣)的適應度,即容易受到鋸齒邊緣和凹 陷邊緣的影響,進而導致檢測到的圓心偏離目標圓的圓心,檢測到的半徑也小于目標圓的 半徑,難以滿足檢測精度的要求。
[0005] 經檢索,中國專利申請號201410454074.2,申請日為2014年9月9日,發明創造名稱 為:適用于在生產流水線的工業產品外形進行圓弧直徑在線檢測的方法;該申請案基于機 器視覺獲取工業產品的數字化圖像且進行圖像預處理。之后進行圖像分割、圓弧擬合。最 終,獲取亞像素輪廓,并基于亞像素輪廓實現圓弧直徑的檢測。該申請案依托于工業射線底 片,可以有效通過機器視覺實現在線測量與非接觸測量。但該申請案計算量較大,時間消耗 多,算法性能較差。
[0006] 中國專利申請號201410359365.3,申請日為2014年7月25日,發明創造名稱為:一 種面齒輪齒面面輪廓度評定方法;該申請案基于面齒輪傳動原理和小偏差假設條件,綜合 考慮面輪廓度的最小二乘法評定理論以及人工魚群算法理論,根據實際檢測的面齒輪齒面 點坐標實現面齒輪齒面輪廓度誤差的精度評定。該申請案解決了面齒輪整體齒面精度評價 問題,為面齒輪加工后的精度評定提供了一種方法,但該申請案在應用上有其局限性,并不 能適用于圓形工件的檢測。
【發明內容】
[0007] 1.發明要解決的技術問題
[0008] 為了克服現有技術中對圓形工件檢測存在測量精度低、計算量大等技術不足的問 題,本發明提出了一種基于人工魚群算法的圓形工件檢測方法;本發明可以實現在參數空 間中并行搜索且不需要遍歷整個空間,較大地減少了空間和時間開銷,也提高了檢測的精 度;針對圓形工件檢測過程中易受工件鋸齒邊緣和凹陷邊緣影響導致檢測到的圓心偏離目 標圓心問題,本發明在計算圓的適應度即位于候選圓上的邊緣點個數時,經過多次實驗采 用一個較大的閾值T使得目標圓有更多的邊緣點,從而使目標圓的適應度大于其他候選圓 的適應度且有較大的差異,最終達到消除工件鋸齒邊緣和凹陷邊緣干擾的目的。
[0009] 2.技術方案
[0010] 為達到上述目的,本發明提供的技術方案為:
[0011] 本發明的一種基于人工魚群算法的圓形工件檢測方法,其步驟為:
[0012] 1)對采集的圓形工件圖像進行預處理,并采用Sobel算子進行邊緣檢測,獲取圓形 工件的邊緣點集S= {(Xi,yi),(X2,y2),. . .,(Xk,yk),. . .,(Xn,yn)},其中η為邊緣點個數, (xk,yk)為第k個邊緣點坐標;
[0013] 2)設定三維向量(a,b,r)表示人工魚個體X,并根據步驟1)預處理得到的大小為m* η的工件圖像確定a的取值范圍為[1,m],b的取值范圍為[1,n],r的取值范圍為[1 η}/2],建立三維解空間;
[0014] 3)設定種群規模、視野、迭代次數和擁擠度因子,使每條人工魚隨機分布在步驟2) 建立的三維解空間中,對解空間中第i條人工魚Xi,定義適應度Υ用于累加圓(ai,bi,ri)上的 邊緣點數量,適應度Y公式如下:
[0015] ) = Σ EitrJxj^x,,, r,) k=l 11, 1((? -α-)2 +(>^ ~bf)2 )0'5 -η\<Τ
[0016] 五(α"ν;,.υΗ (IS
[Ο, ^-α,Υ+Ιν,-^??5-η\>Τ [0017]其中,T為設定的閾值;
[0018] 4)利用步驟3)所述適應度公式計算魚群中每條人工魚模擬執行覓食行為、追尾行 為、聚群行為和隨機行為后的適應度,選擇適應度最大的行為執行;
[0019] 5)選擇步驟4)移動后魚群中適應度最大的人工魚Xbest=(abest,b best,rbest)及其適 應度放入公告牌中,若在下一次移動后人工魚適應度大于公告牌中適應度,則更新公告牌 中人工魚及其適應度;
[0020] 6)隨著迭代次數的增加自適應地減小人工魚的視野和步長;
[0021] 7)重復步驟4)~6)直至達到步驟3)設定的迭代次數,將公告牌中記錄的最大適應 度所對應的(a be3St,bbe3St,rbe3St)作為圓形工件幾何尺寸參數。
[0022] 更進一步地,步驟1)所述圖像預處理過程為:先對采集的圓形工件圖像進行灰度 化并中值濾波,然后使用最大類間方差法對圖像進行二值化處理和數學形態學處理,所述 的數學形態學處理過程為:首先利用形態學閉運算處理圖像,之后對圖像進行孔洞填充操 作。
[0023] 更進一步地,步驟3)設定種群規模AF_total =40,視野Visual = 60,迭代次數 Iterate_times = 50,擁擠度因子δ = 8 〇
[0024] 更進一步地,步驟3)中設定的閾值Τ = 5。
[0025] 更進一步地,步驟4)中所述四種行為描述如下:
[0026] Α.隨機行為:對于人工魚乂1=(&1,13 1^1),在視野內隨機選擇一個位置,然后向該 方向移動:
[0027] XiNext = Xi+Step · Rand()
[0028] 其中RandO是一個隨機函數,用于產生0到1之間的隨機數,Step為人工魚的步長。
[0029] B.覓食行為:對于人工魚Xi = (ai,h,Γι),在其視野內隨機選擇一個位置)^,若該位 置處的適應度Y』大于當前位置的適應度Υη則向該位置前進一步:
[0031] C·聚群行為:對于人工魚Xi = (ai,bi,ri),探索其視野內的伙伴數目nf及中心位置 X。。若Yc/nf > δΥι,表明伙伴中心位置適應度較高且不太擁擠,則朝該位置方向前進一步:
[0033] D.追尾行為:對于人工魚乂1 = (&^匕,^),探索其視野內具有最大適應度¥」的伙伴 Xj。若Yj/nf>SYi,表明伙伴X」的位置具有較高的適應度且其周圍不太擁擠,則朝X」方向前進 一步:
[0035]更進一步地,步驟6)中人工魚的視野和步長按如下公式隨著迭代次數的增加自適 應減小:
L0037J Steppassed_ times f ( VisUa]_Passed_ times )-VisUa]_Passed_ times * 〇
[0038] 式中,Passed_times為已迭代的次數,α為衰減因子。
[0039] 更進一步地,所述的衰減因子a取值范圍為(0.9,1)。
[0040] 3.有益效果
[0041]采用本發明提供的技術方案,與已有的公知技術相比,具有如下顯著效果:
[0042] (1)本發明的一種基于人工魚群算法的圓形工件檢測方法,在圖像預處理過程中 首先利用形態學閉運算處理圖像,之后對圖像進行孔洞填充操作,經過該處理后,可以消除 工件內部邊緣的影響,只獲取工件的外邊緣,排除無關邊緣點的干擾并且減少了計算量;
[0043] (2)本發明的一種基于人工魚群算法的圓形工件檢測方法,人工魚的搜索過程不 是從一點出發而是從多個點同時進行,且采用個體的適應度來指導搜索,可以實現在參數 空間中并行搜索且不需要遍歷整個空間,較大地減少了空間和時間開銷,也提高了檢測的 精度,具有快速、準確和魯棒的特點;
[0044] (3)本發明的一種基于人工魚群算法的圓形工件檢測方法,針對圓形工件檢測過 程中易受工件鋸齒邊緣和凹陷邊緣影響導致檢測到的圓心偏離目標圓心問題,在計算圓的 適應度即位于候選圓上的邊緣點個數時,經過多次實驗采用一個較大的閾值T使得目標圓 有更多的邊緣點,從而使目標圓的適應度大于其他候選圓的適應度且有較大的差異,最終 達到消除工件鋸齒邊緣和凹陷邊緣干擾的目的;
[0045] (4)本發明的一種基于人工魚群算法的圓形工件檢測方法,隨著迭代次數的增加 自適應地減小人工魚的視野和步長范圍,通過不斷交互并協調行為,在解空間中啟發式搜 索經過邊緣點數目最多的圓,從而得到工件的圓心和半徑,相對于傳統減小視野、減小步長 擇一的方式,能夠進一步提高收斂速度和對較小鄰域的尋優能力,降低了搜索的盲目性。
【附圖說明】
[0046] 圖1為本發明的一種基于人工魚群算法的圓形工件檢測方法的流程圖;
[0047]圖2為圓形工件灰度圖像;
[0048]圖3為人工魚群算法解空間示意圖;
[0049] 圖4為人工魚群算法適應度函數迭代曲線示意圖;
[0050] 圖5為目標檢測結果示意圖。
【具體實施方式】
[0051] 為進一步了解本發明的內容,結合附圖和實施例對本發明作詳細描述。
[0052] 實施例1
[0053]結合圖1,本發明的一種基于人工魚群算法的圓形工件檢測方法,對圓形工件進行 檢測的步驟如下:
[0054] 1)圖像預處理:對待檢測圖像,先進行灰度化獲得如圖2所示的灰度圖并中值濾 波,然后使用最大類間方差法(0TSU)對圖像進行二值化處理和數學形態學處理:首先利用 形態學閉運算處理圖像,之后對圖像進行孔洞填充操作。經過上述處理后,可以消除工件內 部邊緣的影響,只獲取工件的外邊緣,排除無關邊緣點的干擾并且減少計算量。最后采用 Sobel算子進行邊緣檢測,獲取圓形工件的邊緣點集S= {(xi,yi),(X2,y2),. . .,(xk, yk),. . .,(xn,yn)},其中n為邊緣點總數,(xk,yk)為第k個邊緣點坐標。
[0055] 2)解空間確定和人工魚表示:圓的標準方程為(x-a)2+(y-b)2 = r2,其中(a,b)為圓 心坐標,:r為半徑。對一幅大小為m*n的工件圖像,可以根據圖像的大小確定圓心的橫坐標和 縱坐標范圍分別為[l,m]和[l,n],半徑的取值范圍為[1,1^11{111,11}/2],這樣就確定了一個 三維的解空間即確定了 a,b,r的取值范圍。使用一個三維向量(a,b,r)來表示人工魚個體X, 則解空間中第i條人工魚^二"上^^表示一個候選圓即可能的解。
[0056] 3)人工魚群初始化,參數設置如下:種群規模AF_total = 40,視野Visual = 60,迭 代次數]^613七6_1:;[1]168 = 50,擁擠度因子5 = 8。使每條人工魚隨機分布在三維解空間中,貝11 對解空間中第i條人工魚Χ:,定義適應度Y = f(X〇用于累加圓(&1,Ιη,Γι)上的邊緣點數量,即 把S中的η個邊緣點代入人工魚對應的圓方程( Χ-&1)2+(7-Μ2 = Γι2,滿足方程的邊緣點 個數即為該人工魚的適應度值。因此,一個更大的適應度代表一個更好的解。人工魚的適應 度Y公式如下: η
[0057] y=.f\ X-,) = X . b:, /;.. Λ-,, y,) k=l 「si n } [ ?, I((.v, - a,. Y +(>·, - ?,)- r| < 7'
[0058] E(al,bi,rt,xk,yk) = \ l〇, |((χΑ-α,)2+(νΑ_-A.)2)。 5-;;」>r
[0059] 其中,n為邊緣點總數,(xk,yk)為第k個邊緣點坐標;T為設定的閾值。值得說明的 是,鑒于圓形工件檢測過程中易受工件鋸齒邊緣和凹陷邊緣影響導致檢測到的圓心偏離目 標圓心,本實施例在計算圓的適應度即位于候選圓上的邊緣點個數時,經過多次實驗設定T =5,使得目標圓有更多的邊緣點,從而使目標圓的適應度大于其他候選圓的適應度且有較 大的差異,最終達到消除工件鋸齒邊緣和凹陷邊緣干擾的目的。
[0060] 4)對魚群中每條人工魚模擬執行覓食行為、追尾行為、聚群行為和隨機行為,四種 行為描述如下:
[0061] A.隨機行為:對于人工魚乂1=(&1,13 1^1),在視野內隨機選擇一個位置,然后向該 方向移動:
[0062] XiNext = Xi+Step · Rand()
[0063] 其中RandO是一個隨機函數,用于產生0到1之間的隨機數,Step為人工魚的步長。
[0064] B.覓食行為:對于人工魚Xi = (ai,h,Γι),在其視野內隨機選擇一個位置)^,若該位 置處的適應度Y』大于當前位置的適應度Υη則向該位置前進一步:
[0066] C.聚群行為:對于人工魚Xi = (ai,h,Γι),探索其視野內的伙伴數目nf及中心位置 X。。若Yc/nf > δΥι,表明伙伴中心位置適應度較高且不太擁擠,則朝該位置方向前進一步:
[0068] D.追尾行為:對于人工魚Xi = (ai,bi,ri),探索其視野內具有最大適應度Yj的伙伴 Xj。若Yj/nf>SYi,表明伙伴X」的位置具有較高的適應度且其周圍不太擁擠,則朝X」方向前進 一步:
[0070] 由適應度Y公式計算步驟4)中每條人工魚執行覓食行為、追尾行為、聚群行為和隨 機行為后的適應度,選擇適應度最大的行為即4種行為中最好的行為作為最終的行為來執 行。
[0071] 5)更新最優人工魚的狀態:找出移動后魚群中適應度最大的人工魚Xbest=(a best, bbest,rbest)及其適應度放入公告牌中,即把40個候選圓中經過邊緣點數目最多的圓參數 (ab est,bbest,rbest)以及位于該圓上的邊緣點總數Y = f(Xbest)記入公告牌。在下一次移動后, 若人工魚Xbest的適應度大于公告牌中的適應度,則將其適應度及3個圓參數記入公告牌。
[0072] 6)更新人工魚的視野和步長:隨著迭代次數的增加自適應地減小人工魚的視野和 步長:
[0074] Steppassed_ times -f ( Vi SUa]_Passed_ times )-VisUa]_Passed_ times * 〇
[0075] 上式中,Passed_times和Iterate_times為已迭代的次數和總的迭代次數,α為衰 減因子,取值范圍為(〇. 9,1 ),本實施例取a = 〇. 98,本實施例采用自適應減小人工魚的視野 和步長范圍的方式,相對于傳統減小視野、減小步長擇一的方式,能夠進一步提高收斂速度 和對較小鄰域的尋優能力,降低了搜索的盲目性。
[0076] 7)重復步驟4)到6)直到達到算法限制的最大迭代次數。最后公告牌中記錄的最大 適應度所對應的(a be3St,bbe3St,rbe3St)即為所要檢測的圓形工件參數,從而可以得到圓形工件 的幾何尺寸信息。
[0077] 本實施例中人工魚的搜索過程不是從一點出發而是從多個點同時進行,且采用個 體的適應度來指導搜索,可以實現在參數空間中并行搜索且不需要遍歷整個空間,較大地 減少了空間和時間開銷,也提高了檢測的精度。
[0078] 本實施例對圓形工件的檢測精度和檢測時間詳見表1,由表1中數據可以看出本實 施例的檢測誤差在1個像素以內,同時檢測時間也可以滿足實時性的要求。圖4為人工魚群 算法迭代示意圖,從圖中可以看出算法在第10次左右已經收斂,具有很快的收斂速度。圖5 為檢測結果示意圖,其中十字形標記為圓心,可以看出檢測到的圓較好的擬合了工件的邊 緣,也證明了本實施例的有效性。
[0079]表1實施例1對圓形工件檢測的技術指標
[0081]以上示意性的對本發明及其實施方式進行了描述,該描述沒有限制性,附圖中所 示的也只是本發明的實施方式之一,實際的結構并不局限于此。所以,如果本領域的普通技 術人員受其啟示,在不脫離本發明創造宗旨的情況下,不經創造性的設計出與該技術方案 相似的結構方式及實施例,均應屬于本發明的保護范圍。
【主權項】
1. 一種基于人工魚群算法的圓形工件檢測方法,其步驟為: 1) 對采集的圓形工件圖像進行預處理,并采用Sobel算子進行邊緣檢測,獲取圓形工件 的邊緣點集S= {(xi,yi),(X2,y2),. . .,(xk,yk),. . .,(xn,yn)},其中η為邊緣點個數,(xk,yk) 為第k個邊緣點坐標; 2) 設定Ξ維向量(a, b,r)表示人工魚個體X,并根據步驟1)預處理得到的大小為m*n的 工件圖像確定a的取值范圍為[1,m],b的取值范圍為[1 ,η],!的取值范圍為[1 ,min{m,n}/ 2],建立Ξ維解空間; 3) 設定種群規模、視野、迭代次數和擁擠度因子,使每條人工魚隨機分布在步驟2)建立 的Ξ維解空間中,對解空間中第i條人工魚Xi,定義適應度Y用于累加圓(ai,bi,r〇上的邊緣 點數量,適應度Y公式如下:其中,T為設定的闊值; 4) 利用步驟3)所述適應度公式計算魚群中每條人工魚模擬執行覓食行為、追尾行為、 聚群行為和隨機行為后的適應度,選擇適應度最大的行為執行; 5) 選擇步驟4)移動后魚群中適應度最大的人工魚Xbest=(abest,bbest,rbest)及其適應度 放入公告牌中,若在下一次移動后人工魚適應度大于公告牌中適應度,則更新公告牌中人 工魚及其適應度; 6) 隨著迭代次數的增加自適應地減小人工魚的視野和步長; 7) 重復步驟4)~6)直至達到步驟3)設定的迭代次數,將公告牌中記錄的最大適應度所 對應的(abest,bbest,rbest)作為圓形工件幾何尺寸參數。2. 根據權利要求1所述的一種基于人工魚群算法的圓形工件檢測方法,其特征在于:步 驟1)所述圖像預處理過程為:先對采集的圓形工件圖像進行灰度化并中值濾波,然后使用 最大類間方差法對圖像進行二值化處理和數學形態學處理,所述的數學形態學處理過程 為:首先利用形態學閉運算處理圖像,之后對圖像進行孔桐填充操作。3. 根據權利要求1或2所述的一種基于人工魚群算法的圓形工件檢測方法,其特征在 于:步驟3)設定種群規模AF_to1:al = 40,視野Visual = 60,迭代次數Iterate_times = 50,擁 擠度因子8 = 8。4. 根據權利要求1或2所述的一種基于人工魚群算法的圓形工件檢測方法,其特征在 于:步驟3)中設定的闊值Τ = 5。5. 根據權利要求4所述的一種基于人工魚群算法的圓形工件檢測方法,其特征在于:步 驟4)中所述四種行為描述如下: A.隨機行為:對于人工魚Xi = (ai,bi,ri),在視野內隨機選擇一個位置,然后向該方向移 動: XiNext = Xi+Step · RandO 其中RandO是一個隨機函數,用于產生0到1之間的隨機數,St邱為人工魚的步長。 B. 覓食行為:對于人工魚Xi = (ai,bi,ri),在其視野內隨機選擇一個位置、,若該位置處 的適應度Yj大于當前位置的適應度Yi,則向該位置前進一步:C. 聚群行為:對于人工魚乂1=(曰1也,山,探索其視野內的伙伴數目11誠中屯、位置乂。。若 Yc/nf>SYi,表明伙伴中屯、位置適應度較高且不太擁擠,則朝該位置方向前進一步:D. 追尾行為:對于人工魚Xi = (ai,bi,ri),探索其視野內具有最大適應度Yj的伙伴Xj。若 Yj/nf>SYi,表明伙伴^的位置具有較高的適應度且其周圍不太擁擠,則朝、方向前進一步:6. 根據權利要求5所述的一種基于人工魚群算法的圓形工件檢測方法,其特征在于:步 驟6)中人工魚的視野和步長按如下公式隨著迭代次數的增加自適應減小:式中,PassecLtimes為已迭代的次數,α為衰減因子。7. 根據權利要求6所述的一種基于人工魚群算法的圓形工件檢測方法,其特征在于:所 述的衰減因子α取值范圍為(0.9,1)。
【文檔編號】G06T7/60GK106097307SQ201610374573
【公開日】2016年11月9日
【申請日】2016年5月26日
【發明人】王兵, 洪瑞, 盧琨, 劉曉東, 章家巖, 程木田, 馬小陸, 劉磊
【申請人】安徽工業大學