阮殿旭
(沙洲職業(yè)工學(xué)院,江蘇 張家港 215600)
在機(jī)器人零配件生產(chǎn)裝配等過程中,對零件的關(guān)鍵尺寸和參數(shù)進(jìn)行測量是整臺機(jī)器人集成后的重要質(zhì)量保證手段,其測量結(jié)果直接影響機(jī)器人的質(zhì)量和后續(xù)工序能否正常進(jìn)行。近年來,隨著視覺技術(shù)的發(fā)展,在基于計算機(jī)視覺和圖像處理技術(shù)的零件檢測方面的應(yīng)用越來越廣泛,在機(jī)器人零件測量方面,直線檢測和圓形檢測應(yīng)用最為普遍。其中直線和圓形的檢測最經(jīng)典的算法是霍夫變換(Hough Transform),經(jīng)過多年發(fā)展和改進(jìn),從最初始的霍夫變換到各種改進(jìn)型霍夫變換算法,已經(jīng)成為一類最常用的龐大的算法族[1],經(jīng)擴(kuò)展后的霍夫變換也可以檢測其他簡單的圖像結(jié)構(gòu),如橢圓等。
在初始霍夫變換基礎(chǔ)上,通過參數(shù)變換和耦合等方面的改進(jìn),出現(xiàn)了很多改進(jìn)算法。本文對采用區(qū)域劃分和參數(shù)空間變換點聚集狀態(tài)選擇優(yōu)化的方法進(jìn)行改進(jìn),通過粒子群算法實現(xiàn)霍夫變換參數(shù)的優(yōu)化,同時通過置信投票優(yōu)化,去除懶惰粒子,降低算法的計算量,提高處理速度,同時提高目標(biāo)物體的投票結(jié)果精度。
初始霍夫變換是由Paul Hough 于1962年提出的圖像處理中的一種特征提取技術(shù)?;舴蜃儞Q通過一種投票算法檢測具有特定形狀的物體,將圖像空間中的圖形檢測對應(yīng)為參數(shù)空間的投票統(tǒng)計,將圖像空間和參數(shù)空間形成映射關(guān)系,在一個參數(shù)空間中通過計算累計結(jié)果的局部最大值,得到一個符合該特定形狀的集合作為霍夫變換結(jié)果。通常將參數(shù)空間稱作Hough 空間,投票的維數(shù)取決于檢測圖形的參數(shù)的個數(shù)。
霍夫變換原理是利用圖像空間點與變換空間線的對偶性,將圖像空間中檢測的所有點參數(shù)變換到參數(shù)空間中成為相對應(yīng)的線,選出參數(shù)空間中變換的多條曲線相交點,其對應(yīng)橫軸和縱軸的值作為圖像空間線的參數(shù),就是對應(yīng)圖像空間中的直線參數(shù)。但由于原始圖像空間每個像素轉(zhuǎn)換到變換空間都是一條曲線,為曲線交點投票,投票越多,該點所對應(yīng)的圖像空間的這條線檢測目標(biāo)的可能性越大,因此該類算法涉及大量的投票,雖然原理簡單,但變換和投票需要大量的計算空間,運行速度慢、效率低,而且對于小尺寸的直線檢測結(jié)果不夠精確,很難滿足實時要求和精度要求,從而影響了霍夫變換實際應(yīng)用范圍[2]。
霍夫變換是實現(xiàn)兩個坐標(biāo)空間的映射,由于圖像上的像素數(shù)量大,所需的計算量就很大,占據(jù)大量內(nèi)存,檢測耗時嚴(yán)重,很難達(dá)到實時測量。因此,很多學(xué)者通過研究改進(jìn),提出了檢測速度快、精度高的優(yōu)化霍夫變換。Galambos 等使用梯度信息來控制投票過程,將像素正確地分配給一條線,以加速算法[3]。Matas 等提出概率霍夫變換,隨機(jī)獲取圖像坐標(biāo)系中的前景像素點,變換到Hough 空間,對極坐標(biāo)上的曲線交點進(jìn)行投票,根據(jù)投票數(shù)量找出最可能的直線[4]。Cheng Z 提出一種嚴(yán)格的隨機(jī)霍夫變換方法,用小的隨機(jī)樣本集取代全部樣本集進(jìn)行預(yù)處理,以減少錯誤選擇點[5]。陳陽等提出了基于約束優(yōu)化的車道線識別算法[6],首先采用概率統(tǒng)計原理對車道線點集分類,依據(jù)分類情況投票判斷車道線,其次采用極徑極角約束優(yōu)化在目標(biāo)區(qū)域篩選目標(biāo)車道線。張英濤提出一種基于精簡粒子群優(yōu)化的霍夫變換算法[7],采用精簡粒子群優(yōu)化算法對霍夫變換進(jìn)行優(yōu)化。李亞娣等提出了基于Canny 算子和Hough 變換的夜間車道線檢測[8],在邊緣圖像底部區(qū)域中利用Hough 變換進(jìn)行直線擬合,在斜率約束的基礎(chǔ)上提取內(nèi)側(cè)車道線。
粒子群優(yōu)化算法(Particle Swarm Optimization)是一種群體智能進(jìn)化算法,1995年由Eberhart博士和Kennedy 博士提出。粒子群優(yōu)化算法模擬鳥群捕食行為,鳥群在一片食物源隨機(jī)分布的區(qū)域找到最大的食物源(優(yōu)化問題的全局最優(yōu)解),尋找食物時,通過鳥群個體之間的信息交流,讓其他鳥最終都能聚集到最大食物源處,也即尋找到區(qū)域內(nèi)的最優(yōu)解。
在n 維解空間中,粒子群優(yōu)化算法初始化為一群隨機(jī)粒子,表示為Bi= (b1,b2, …,bn),每個粒子包含兩個屬性,即速度和位置,粒子速度Vi= (v1,v2, …,vn),粒子位置 (x1,x2, …,xn),粒子通過更新速度和位置尋找最優(yōu)解,更新的條件是跟蹤不同位置的極值(pbest,gbest),其中:pbest為粒子群的個體最優(yōu)位置,gbest為群體最優(yōu)位置的n 維向量;更新計算使用式(1):

式中:ci,c2為加速常數(shù),調(diào)節(jié)學(xué)習(xí)步長;rand()為隨機(jī)函數(shù),取值范圍在0-1 之間,以增加全局性;w為慣性權(quán)重,調(diào)節(jié)空間的搜索范圍;i為當(dāng)前粒子。
將粒子群算法與霍夫變換相結(jié)合,同時引入投票優(yōu)化策略。對原始圖片的前景像素進(jìn)行霍夫變換,把得到的變換空間參數(shù)作為粒子群個體的位置,使用粒子群優(yōu)化算法尋找最優(yōu)解,將霍夫變換的累加數(shù)組設(shè)置為適應(yīng)度函數(shù)值,通過迭代得到最優(yōu)的參數(shù),在迭代過程中,引入投票優(yōu)化策略,將每次更新的粒子中的“懶惰粒子”剔除,有助于提高運算效率。
在圖像坐標(biāo)系中,用y kx b= + 表示直線的方程,當(dāng)直線角度為90 度,即k=∞時,b的取值無法滿足計算,因此,將直線方程替換為極坐標(biāo)方程如式(2):

原始圖像坐標(biāo)系中的一點P(X1,Y1),使用霍夫變換后得到式(3):

此時從圖像坐標(biāo)系變換到Hough 空間坐標(biāo)系中,P(X1,Y1)一個點變換為一條正弦曲線,圖像坐標(biāo)系中一條直線變換到Hough 空間,則是一組有一個共同相交點的正弦曲線,并且這一組曲線的交點所對應(yīng)的(ρ,θ) 即為原始圖像坐標(biāo)系中直線的參數(shù)。
改進(jìn)的霍夫變換算法過程:
(1)確定初始粒子群為Q( 0) = {P1,P2…PN},種群規(guī)模為N,為極坐標(biāo)系參數(shù)ρ和θ設(shè)置ρ0和0θ初始值,并將累加數(shù)組初始化為0;
(2)對原始圖像進(jìn)行基于Canny 算子的邊緣識別,獲得檢測對象邊緣點集合;
(3)在集合中隨機(jī)任取兩點P1和P2,計算P1和P2連接成一條直線,其斜率和截距參數(shù)作為粒子的初始化位置X0,并重復(fù)將所有任意兩點組成的直線參數(shù)粒子都完成初始賦值;
(4)對每個種群粒子的速度進(jìn)行初始化賦值V0;
(5)通過適應(yīng)度函數(shù),計算種群粒子的適應(yīng)度值f(X0(k,ρ k,θk));
(6)種群粒子對最佳適應(yīng)度值和當(dāng)前適應(yīng)度值進(jìn)行比較,并根據(jù)適應(yīng)度值更新種群粒子的位置P;
(7)從當(dāng)前種群中選出最佳適應(yīng)度的位置作為全局最佳值;
(8)對參數(shù)空間中的交叉點進(jìn)行投票統(tǒng)計優(yōu)化,將一些進(jìn)化效果不明顯的“懶惰粒子”剔除;
(9)更新下一代進(jìn)化時種群粒子的速度;
(10)更新種群中粒子的位置;
(11)返回第5 步,重復(fù)執(zhí)行,直到迭代完成。
實驗測試硬件環(huán)境:計算機(jī)(CPU 主頻3.40GH,內(nèi)存4G),軟件環(huán)境:VC++6.0。圖像對象為Buddy6F 型號的六軸協(xié)作機(jī)器人減速器盤型零件,檢測目標(biāo)利用霍夫變換檢測直線確定V 型角的角度。
通過對圖像進(jìn)行具體分析可知,如果對整個圖片進(jìn)行處理,需要更大的計算量和內(nèi)存。在本文中確定需要檢測的目標(biāo)位置為盤類零件的端部(帶有V 型槽),用Opencv4.3 庫進(jìn)行編程,實現(xiàn)對V 型槽區(qū)域ROI 的操作。
使用到的函數(shù):矩形的表示 Rect 類>Rect(x,y,width,heigh)。
Rect 類的成員變量有x、y、width、height,分別定位在圖片的左上角點的坐標(biāo)和選擇區(qū)域的寬和高。結(jié)果如圖1、圖2 所示。

圖1 機(jī)器人減速器盤形零件實圖

圖2 機(jī)器人減速器盤形零件局部興趣區(qū)域圖
算法按照以下步驟完成:
(1)控制相機(jī)拍攝目標(biāo)圖片;
(2)利用OPENCV 相關(guān)函數(shù)實現(xiàn)興趣區(qū)域的選擇和截??;
(3)對圖片中V 型夾角的兩條邊進(jìn)行改進(jìn)的霍夫變換,找出邊線,測量角度。
測試結(jié)果如圖3、圖4 所示,兩張圖大小均為600×480。圖3 是利用經(jīng)典Hough 變換得到的結(jié)果,圖4 是利用本文算法并且統(tǒng)計投票閾值80%時的粒子群優(yōu)化檢測結(jié)果。

圖3 利用傳統(tǒng)霍夫變換得到直線檢測圖像

圖4 利用80%投票閾值粒子群優(yōu)化得到直線檢測圖像
用本文設(shè)計的算法(PSOCVHT)與概率霍夫變換算法(PPHT)、限制隨機(jī)霍夫變換算法(RRHT)的性能進(jìn)行比較,由對比結(jié)果(表1)可知,本文算法具有較高的效率和更高的檢測精確度。

表1 PSOCVHT 與PPHT、RRHT 處理結(jié)果比較
將直線圖形的霍夫變換與粒子群算法相結(jié)合,并引入投票優(yōu)化,提出了基于粒子群優(yōu)化改進(jìn)霍夫變換的協(xié)作機(jī)器人減速器盤類零件角度測量算法,該改進(jìn)算法與利用傳統(tǒng)Hough 變換檢測算法進(jìn)行了對比實驗,結(jié)果表明:選用合理的投票閾值的粒子群優(yōu)化算法對霍夫變換改進(jìn),不僅降低了霍夫變換的計算量,而且提高了角度檢測的準(zhǔn)確率。