田 敏,張印輝,何自芬,王 森
昆明理工大學(xué) 機(jī)電工程學(xué)院,昆明 650504
工業(yè)生產(chǎn)中的工業(yè)機(jī)器人通過利用目標(biāo)檢測技術(shù),自動地識別出待處理的零部件的所屬類別和具體位置,并對其做出如抓取、焊接、切割等相應(yīng)的處理。這種通過自動檢測目標(biāo)的自動化生產(chǎn)方式相比于傳統(tǒng)生產(chǎn)方式既提高了生產(chǎn)效率,又節(jié)約了勞動力。
目標(biāo)檢測技術(shù)是模式識別和數(shù)字圖像處理領(lǐng)域中的一項(xiàng)重要的研究課題。這一研究課題在近十多年的進(jìn)展非常迅速,每年都有不少優(yōu)秀的目標(biāo)檢測算法被提出,并且檢測效果和速度都在不斷優(yōu)化。Viola等人提出的基于AdaBoost算法[1]框架,使用Haar-like小波特征[2-3]分類,然后采用滑動窗口搜索策略實(shí)現(xiàn)準(zhǔn)確有效地定位。它是第一種能實(shí)時處理并給出很好檢測率的物體類別檢測算法,主要應(yīng)用于人臉檢測。Dalal等人提出使用圖像局部梯度方向直方圖[4](Histogram of Gradient,HOG)作為特征,利用支持向量機(jī)(Support Vector Machine,SVM)作為分類器進(jìn)行行人檢測,HOG特征能夠很好地反映目標(biāo)物體的方向信息,自從該特征出現(xiàn)之后,目標(biāo)檢測技術(shù)獲得了更快速的發(fā)展,各種改進(jìn)的HOG特征[5-6]也呼之欲出。
基于對檢測精度和速度的要求,Henriques等人于2013年提出區(qū)域塊循環(huán)分解算法(Block-Circulant Decomposition)[7],該算法在INRIA和ETH行人檢測數(shù)據(jù)集上的檢測效果相比于傳統(tǒng)的檢測算法有著明顯的改善。本文將此算法應(yīng)用在工業(yè)場景齒輪目標(biāo)檢測上,并針對工業(yè)場景中光照變化明顯、部分目標(biāo)圖像獲取不清晰的數(shù)據(jù)特性和HOG特征對方向梯度敏感的特點(diǎn),將原始圖像變換到模糊域進(jìn)行梯度增強(qiáng)處理后再提取HOG特征,使得該特征具有更好的可分性質(zhì);按照塊循環(huán)分解算法的步驟,將提取到的特征樣本經(jīng)過傅里葉變換,在頻域中對HOG特征中的每個相應(yīng)位置的block訓(xùn)練一個獨(dú)立的支持向量回歸(Support Vector Regression,SVR)分類器,然后反變換成空間域的一個整體的組合型SVR分類器,由于該分類器是著眼于單個局部block的組合分類器,對整體差異的辨識力弱于局部差異辨識力,基于這一點(diǎn)的考慮,再利用提取到的特征訓(xùn)練一個整體的SVM分類器模型,與組合型SVR分類器模型對目標(biāo)進(jìn)行聯(lián)合檢測,檢測方法借鑒Felzenszwalb等人提出的圖像金字塔匹配方法[8-9]進(jìn)行最終的檢測。實(shí)驗(yàn)證明,本文算法的檢測精度與原始的區(qū)域塊循環(huán)分解算法相比有著明顯的改善。
傳統(tǒng)的視覺檢測過程包括特征提取、訓(xùn)練分類器、位置匹配三個部分。即利用某種特定的方式抽象出訓(xùn)練集中每幅圖像的特征表達(dá)形式得到特征樣本,將樣本結(jié)合某種模式識別算法訓(xùn)練出一個能區(qū)分正負(fù)樣本的分類器,根據(jù)分類器與測試圖像中各個位置的特征匹配程度確定圖像中待檢測目標(biāo)的位置。
本文根據(jù)以上目標(biāo)檢測過程,設(shè)計(jì)一種針對工業(yè)場景下的視覺檢測算法,算法流程如圖1所示。
2.1.1 改進(jìn)后的HOG特征
HOG特征是在計(jì)算機(jī)視覺和圖像處理領(lǐng)域中常用的特征描述子。傳統(tǒng)的HOG特征通過計(jì)算圖像的局部像素值梯度方向統(tǒng)計(jì)值來描述目標(biāo)的邊緣,但對光照變化和小量偏移不敏感。本文用的是Felzenszwalb等人改進(jìn)的HOG特征,改進(jìn)后的HOG特征對小量偏移具有很好的魯棒性。
原始的HOG特征把樣本圖像劃分成若干個cellsize×cellsize像素的單元(cell),分別利用中心差來計(jì)算每個像素點(diǎn)(x,y)的梯度幅值M(x,y)和梯度方向,計(jì)算公式如下:
式中Mx和My分別為像素點(diǎn)(x,y)處的水平梯度和垂直梯度,計(jì)算公式如下:
式中,N(x,y)為像素點(diǎn)(x,y)的像素值。
因?yàn)楸疚乃械膱D像數(shù)據(jù)格式為RGB彩色圖像,所以選擇每個像素點(diǎn)位置的三個顏色通道梯度幅值最大值作為輸出。利用vlfeat函數(shù)庫[11]實(shí)現(xiàn)改進(jìn)HOG特征的提取,把[0,2π)的梯度方向平均劃分為2×k個區(qū)間(bin)(其中 k=1,2,…),對每個單元內(nèi)所有梯度值利用2×k個區(qū)間(bin)進(jìn)行直方圖統(tǒng)計(jì),得到一個2×k維的特征向量,每相鄰四個單元為一個區(qū)域塊(block),一個區(qū)域塊內(nèi)四個特征向量進(jìn)行雙線性插值[12]計(jì)算,得到該區(qū)域塊的2×k維的特征向量輸出;另外把[0,π]的梯度方向平均劃分為k個區(qū)間(bin),統(tǒng)計(jì)無梯度幅值的直方圖,同樣的方式得到k維的特征向量輸出;最終對每個區(qū)域塊中四個單元求得L2范數(shù)的倒數(shù)作為每個單元的歸一化因子,輸出四個歸一化因子作為該區(qū)域塊的4維特征向量。最終得到的一個區(qū)域塊的HOG特征向量維度為(4+3×k)維。
圖1 聯(lián)合模型匹配的視覺檢測
用以上區(qū)域塊(block)特征向量計(jì)算法則對樣本圖像進(jìn)行遍歷,遍歷步長為cellsize。從左上角先向下再向右遍歷至右下角,并且每個區(qū)域塊中,至少有一半在樣本圖像內(nèi)。所以對于一張尺寸為w×h×3的RGB圖像,橫向區(qū)域塊數(shù)量hogw和縱向區(qū)域塊數(shù)量hogh分別為:
最終得到該樣本圖像的HOG特征矩陣維度為hogw×hogh×(4+3×k)維。
2.1.2 模糊域圖像增強(qiáng)
因?yàn)镠OG特征描述子對梯度信息非常敏感,在某些樣本圖像信息并不明顯的情況下,會降低樣本圖像HOG特征的可分性質(zhì)。所以在提取HOG特征之前,先利用Par-King算法[13]對樣本圖像進(jìn)行增強(qiáng)處理,使樣本圖像梯度信息更加明顯。
普通的集合論中,元素與集合之間僅有屬于和不屬于兩種關(guān)系,是確定的概念。但涉及到復(fù)雜的數(shù)學(xué)模型時,為了解決事物從屬關(guān)系的不確定性,L.A.Zadeh于1965年提出模糊集的概念。普通集合論中元素和集合的從屬值只有0和1兩個值,分別表示不屬于和屬于,而模糊集理論講從屬值范圍擴(kuò)展到[0,1]整個實(shí)數(shù)區(qū)間[14]。
本文利用的Par-King算法將圖像從空間域變換到模糊域?qū)D像進(jìn)行增強(qiáng)。按照模糊子集理論的概念,一副灰度級為L的灰度圖像X可以看做一個模糊點(diǎn)陣列,假設(shè)X為M×N維灰度圖像,它的模糊點(diǎn)陣列為:
式中,xmn為圖像X中坐標(biāo)為(m,n)所對應(yīng)的像素點(diǎn)的像素值,μmn為此像素點(diǎn)對應(yīng)的模糊特征值。所有的模糊特征值所組成的平面為模糊特征平面。
Par-King算法的模糊域變換函數(shù)(也稱從屬度函數(shù))為:
式中,xmax為圖像X中像素值的最大值,F(xiàn)d為分母模糊化參數(shù),F(xiàn)e為指數(shù)模糊化參數(shù),對于像素值范圍為0到255的圖像,通常選用Fd和Fe參數(shù)值分別為128和1。將圖像X變換至模糊域之后,再對{μmn}進(jìn)行增強(qiáng)處理,增強(qiáng)函數(shù)為:
圖像增強(qiáng)結(jié)束后,再利用公式xmn=G-1(μmn)進(jìn)行反變換回空間域,G-1為函數(shù)G的反函數(shù)。
本文訓(xùn)練出兩個模型對目標(biāo)進(jìn)行聯(lián)合檢測。其中一個是常用的SVM分類器模型,另一個是在頻域特征空間上訓(xùn)練的組合型SVR分類器模型。經(jīng)典的支持向量機(jī)(SVM)是通過一組帶有正負(fù)標(biāo)簽的訓(xùn)練樣本,尋找到一個最優(yōu)超平面對樣本進(jìn)行劃分。由于能將一組可分的訓(xùn)練樣本進(jìn)行劃分的超平面可能會有很多,SVM尋找到的最優(yōu)超平面是指與正負(fù)樣本之間的間隔最大的那個超平面,此超平面對未知數(shù)據(jù)的分類效果是最好的,亦即泛化能力最強(qiáng)[15-17]。
對于二維平面上的兩類線性可分樣本,劃分超平面為一條直線,假設(shè)此直線的線性方程為w1x1+w2x2+b=0,其中x=(x1,x2)為坐標(biāo)變量,w=(w1,w2)為法向量,其中各元素為各變量相應(yīng)的系數(shù),b為直線與原點(diǎn)的距離,所以該線性方程也可寫成wTx+b=0。同理,在N維空間上的一組樣本K={(x1,y1),(x2,y2),…,(xn,yn)},yi∈{-1,+1}(i=1,2,…,n),能找到若干超平面對樣本K進(jìn)行劃分,該超平面在n維空間中的方程式為wTx+b=0,其中 x=(x1,x2,…,xn)為坐標(biāo)變量,w=(w1,w2,…,wn)為法向量,b為超平面與原點(diǎn)的距離。
對于支持向量回歸[11-13],它是希望從訓(xùn)練樣本K中學(xué)習(xí)到一個形如 f(x)=wTx+b的回歸模型,使得模型輸出f(x)盡可能擬合期望輸出y,w和b是待學(xué)習(xí)的模型參數(shù)。傳統(tǒng)的回歸模型一般直接基于 f(x)和y的差別計(jì)算損失,僅當(dāng) f(x)=y時,損失為0。而SVR能容忍f(x)與y之間的少量偏差,當(dāng)偏差在允許值ε之內(nèi),不計(jì)算損失;當(dāng)偏差大于允許值ε的情況才計(jì)算損失。引入兩個松弛變量ξi和,優(yōu)化函數(shù)為:
式中C為規(guī)范化常數(shù),本文實(shí)驗(yàn)訓(xùn)練分類器采用的是區(qū)域塊循環(huán)分解算法的公開代碼,如C與ε等參數(shù)選值基本沿用原代碼的選值。
借鑒DPM算法[4-5]所用的特征金字塔匹配方法對齒輪目標(biāo)進(jìn)行檢測,由于待檢測目標(biāo)的尺寸大小是可變的,目標(biāo)的各個角度圖像也是不一樣的,所以通過重復(fù)的平滑和下采樣得到一個標(biāo)準(zhǔn)的圖像金字塔,也就是由一張圖像生成一系列大小不一的圖像。利用學(xué)習(xí)到的模型w1和w2分別對金字塔的各層圖像的特征進(jìn)行點(diǎn)積運(yùn)算,得到兩個模型在不同尺度和不同位置上的得分輸出,通過對每個根位置定義一個整體的得分,最終兩個模型都會挑選出最優(yōu)目標(biāo)位置和得分,對比兩個模型所檢測出的兩個目標(biāo)位置得分,選擇得分高的目標(biāo)位置作為最終的位置輸出。
針對工業(yè)場景機(jī)械零件視覺檢測的應(yīng)用,以齒輪目標(biāo)為例,采集一定量的圖像數(shù)據(jù)并制作成標(biāo)準(zhǔn)集,利用該標(biāo)準(zhǔn)集測試本文方法的有效性。
本文采集數(shù)據(jù)所利用的設(shè)備有六自由度機(jī)械手和雙目立體視覺系統(tǒng),相機(jī),和若干齒輪零件。以工業(yè)場景中傳送帶及其周圍為主要背景,對齒輪正樣本和背景負(fù)樣本進(jìn)行圖像采集,一共采集正樣本320張圖像,負(fù)樣本688張圖像,保存為JPG格式,正樣本標(biāo)注圖像中目標(biāo)所在boundingbox坐標(biāo)位置,作為目標(biāo)的groundtrues標(biāo)簽,制作成數(shù)據(jù)集,其中訓(xùn)練集正樣本160張,訓(xùn)練集負(fù)樣本344張,測試集正樣本160張,測試集負(fù)樣本344張。采集的部分?jǐn)?shù)據(jù)如圖2所示。
圖2 (a) 部分正樣本圖像示例(綠色方框?yàn)閎oundingbox標(biāo)注)
圖2 (b) 部分負(fù)樣本圖像示例
由于Par-King算法處理的是單通道灰度圖像,本文圖像數(shù)據(jù)為RGB三通道圖像,所以本文利用Par-King算法對一幀圖像中的三個通道各自進(jìn)行獨(dú)立增強(qiáng),再合并回三通道的RGB圖像,得到最終的增強(qiáng)圖像。圖3為部分圖像與其增強(qiáng)后的圖像。定性對比可知增強(qiáng)后的圖像相對于原圖像的邊緣輪廓更為清晰。
圖3 (a) 部分原圖像
圖3 (b)(a)中圖像對應(yīng)的增強(qiáng)圖像
利用圖像被增強(qiáng)前后的單位像素平均梯度幅值差來定量分析圖像經(jīng)過Par-King算法增強(qiáng)處理后的梯度幅值變化,假設(shè)尺寸為M×N×3的RGB圖像I在像素點(diǎn)(x,y)處的梯度幅值為的增強(qiáng)圖像為I′,則圖像I的梯度幅值L1和圖像I′的梯度幅值L2的計(jì)算公式如下:
則增強(qiáng)前后的梯度幅值差L=L2-L1,當(dāng)L>0時,說明經(jīng)過增強(qiáng)處理后的圖像相比于原圖像的平均梯度幅值有所增加。通過上式求得圖2中四幅示例圖像在增強(qiáng)前后的平均梯度幅值如表1,表2所示,為四幅圖像經(jīng)過增強(qiáng)后的梯度幅值增強(qiáng)百分比,如表3所示。
表1 部分原圖像平均梯度幅值L 1
表2 表1中圖像增強(qiáng)后的梯度幅值L 2
表3 四幅圖像平均梯度幅值增強(qiáng)百分比P%
由表3可知,利用Par-King算法增強(qiáng)圖像能有效地提高圖像的梯度幅值,使得圖像的梯度信息更加明顯。
將原始正樣本中包含目標(biāo)的一小部分區(qū)域的31維HOG特征作為特征正樣本,由于不同block被提取特征之后相互的空間位置關(guān)系不變,所以對一個原始負(fù)樣本提取HOG特征之后,按照特征正樣本的尺寸標(biāo)準(zhǔn),從左上到右下,分別向縱向和橫向以一定的步長分割出若干個不同的HOG特征,作為若干個特征負(fù)樣本,這樣有效地?cái)U(kuò)充了負(fù)樣本的數(shù)量,彌補(bǔ)了負(fù)樣本數(shù)量可能不足的缺陷。
對于訓(xùn)練SVM模型,提取的每個特征樣本的尺寸為19×18×31,特征正樣本316個,特征負(fù)樣本3 480個。將每個特征樣本拉成一個1×10 602維特征向量,利用尺寸為4 992×10 602維的特征矩陣訓(xùn)練出本文的SVM分類器,然后將分類器尺寸變回19×18×31,作為最終的SVM模型w1。
對于訓(xùn)練SVR模型,提取的每個特征樣本的尺寸為21×20×31,特征正樣本316個,特征負(fù)樣本4 676個。借鑒塊循環(huán)分解算法的思想,將提取到的特征進(jìn)行傅里葉變換,在頻域上對所有特征樣本的每個block獨(dú)立訓(xùn)練出一個超平面模型,然后按照原有的空間位置組合成一個整體超平面模型,再進(jìn)行反傅里葉變換,得到最終的SVR模型w2。利用vlfeat函數(shù)庫對兩個分類器模型分別進(jìn)行可視化如圖4所示。
圖4 (a) w 1模型可視化
圖4 (b) w 2模型可視化
根據(jù)以上目標(biāo)檢測的流程,利用Par-King算法增強(qiáng)圖像的梯度信息,再提取31維的HOG特征,利用訓(xùn)練集特征樣本分別訓(xùn)練出整體的SVM模型w1和頻域SVR分塊組合模型w2,聯(lián)合兩個模型利用圖像金字塔匹配算法對測試集目標(biāo)進(jìn)行檢測定位,最終達(dá)到檢測目的。
針對工業(yè)場景中機(jī)械零件視覺檢測的應(yīng)用,利用自制的齒輪單類目標(biāo)檢測數(shù)據(jù)集測試本文方法的效果。圖5顯示的是w1和w2的部分檢測定性結(jié)果示例,藍(lán)色方框?yàn)閣1模型的檢測結(jié)果,綠色方框?yàn)閣2模型的檢測結(jié)果,由圖可知,兩個模型獨(dú)立的檢測效果已經(jīng)不錯了,但是對比兩個檢測結(jié)果可以看出,w1模型時常將光照陰暗的部分納入目標(biāo)內(nèi),說明w2模型對光照影響的魯棒性比w1模型強(qiáng),但是在光照影響相對較小的地方,w2模型檢測出更多多余的背景,此時w1模型比w2模型檢測得更為精細(xì)。
圖5 部分檢測結(jié)果
聯(lián)合這兩個模型進(jìn)行目標(biāo)檢測,選取二者的最優(yōu)位置作為最終的檢測輸出,可以達(dá)到兩個模型取長補(bǔ)短的目的。在配置為酷睿i7處理器、12 GB內(nèi)存的筆記本電腦上進(jìn)行實(shí)驗(yàn),用精度和召回率指標(biāo)來對比本文算法,原來的SVM,circulant算法,未加Par-King算法的circulant+SVM聯(lián)合算法,和加了Par-King算法的SVM,circulant算法的檢測效果,各運(yùn)行時間與精度如表4所示,做出精度-召回率曲線圖如圖6所示。
表4 六種檢測算法性能對比表
圖6 精度-召回率曲線
雖然經(jīng)過改進(jìn)后的本文方法在計(jì)算速度上不占優(yōu)勢,但平均檢測精度可達(dá)到96.8%,相對于circulant行人檢測算法在本文應(yīng)用的93%平均檢測精度有所提高。由表2的性能對比可知,Par-King算法和模型聯(lián)合檢測都能有效地提高平均檢測精度,而在時間上的開銷會有所增大。本文算法程序的編寫是在circulant行人檢測作者所提供的公開程序的基礎(chǔ)上進(jìn)行改進(jìn),論文創(chuàng)新之處的算法程序均由作者本人自行編寫,本文實(shí)驗(yàn)數(shù)據(jù)全部由作者自己采集并生成。
將circulant行人檢測算法成功應(yīng)用于工業(yè)場景中機(jī)械零件的視覺檢測,并根據(jù)本文特定應(yīng)用的特點(diǎn),利用Par-King算法增強(qiáng)圖像的梯度信息,使得HOG特征具有更好的可分性;再訓(xùn)練出SVM整體模型和circluant算法的局部組合SVR模型,利用圖像金字塔匹配方法對測試圖像進(jìn)行聯(lián)合檢測,實(shí)驗(yàn)表明在平均檢測精度上有著明顯的改善。目前,該算法只針對檢測精度的提高,后期將改進(jìn)算法,優(yōu)化檢測時間,使其在工業(yè)檢測中具有更好的實(shí)時性。