劉新穎,金守峰,嚴(yán) 楠
(1.西安工程大學(xué) 機(jī)電工程學(xué)院,西安 710048; 2.寧波職業(yè)技術(shù)學(xué)院,浙江 寧波 315800)
珍珠為自然產(chǎn)物,其形狀不能完全一致,作為飾品的珍珠對形狀要求很高,需要按不同等級進(jìn)行分選,現(xiàn)有的珍珠形狀分選主要以人工為主,依靠肉眼或手工測量,勞動強(qiáng)度大、分選精度不穩(wěn)定。隨著機(jī)器人技術(shù)、機(jī)器視覺技術(shù)的飛速發(fā)展,越來越多具有視覺感知的機(jī)器人取代人工應(yīng)用到各個(gè)領(lǐng)域中。蘇澤斌等[1]提出基于參數(shù)核圖割計(jì)算紗線毛羽特征參數(shù)的算法,將紗線二值圖像與紗芯二值圖進(jìn)行邏輯運(yùn)算,分析毛羽參數(shù)特征,實(shí)驗(yàn)表明該方法耗時(shí)少、誤分點(diǎn)少;謝佳等[2]利用最小外接矩算法測量鞋面尺寸,提高了尺寸測量的精度與速度;P.Vermeulen等[3]將近紅外高光譜成像法,與形態(tài)學(xué)結(jié)合,在面積、周長、圓形度、最大內(nèi)核直徑、最小內(nèi)核直徑、縱橫比、圓度、密實(shí)度等8個(gè)方面對硬粒小麥和普通小麥進(jìn)行分類;周新文等[4]提出了一種基于數(shù)字圖像處理的DIP法,通過分析沙粒投影,測量沙子的特征參數(shù)來表征顆粒形態(tài)。N.Tsoulias等[5]采用光檢測與距離系統(tǒng)對蘋果樹在生長過程中去葉前和去葉后進(jìn)行掃描,利用基于雷達(dá)三維點(diǎn)云提取線性度和曲率檢測蘋果的幾何特征;段宇飛等[6]采用光源透射方式采集雞蛋圖像,結(jié)合凸包算法提取雞蛋長短軸及蛋形,實(shí)現(xiàn)雞蛋尺寸分級;袁雷明等[7]利用多視角采集葡萄果穗不同角度圖像,通過提取輪廓曲線及顏色空間轉(zhuǎn)換實(shí)現(xiàn)葡萄外觀分級;王毓綜等[8]對國內(nèi)珍珠形狀自動分級的技術(shù)現(xiàn)狀進(jìn)行分析,提出了以機(jī)器視覺為主導(dǎo)的未來在線實(shí)時(shí)檢測的解決方案;鄭春煌等[9]采用特殊的照明方式對珍珠圖像進(jìn)行采集,在極坐標(biāo)下獲取珍珠長短徑,通過直徑差對珍珠形狀大小進(jìn)行檢測;張建華等[10]結(jié)合H-minima分水嶺分割方法和最小二乘圓法誤差理論,實(shí)現(xiàn)棉花葉部粘連病斑的分割,但當(dāng)病斑粘連特別緊密時(shí)存在欠分割現(xiàn)象;孫衛(wèi)紅等[11]針對粘連蠶繭難以分割定位的問題,采用凹點(diǎn)定向腐蝕的方法完成圖像分割,但該方法凹點(diǎn)檢測率較低;李革等[12]通過珍珠圖像的坐標(biāo)轉(zhuǎn)換,采用模糊識別方法對多視圖珍珠圖像特征判斷珍珠形狀并分類;白莉娜等[13]針對顆粒圖像中粘連區(qū)域不易分割的問題,利用鏈碼進(jìn)行邊界跟蹤并計(jì)算粘連區(qū)域邊界曲率,將匹配到的凹點(diǎn)利用分割線連接,從而實(shí)現(xiàn)粘連顆粒的分割;王雪奎等[14]采用數(shù)字圖像技術(shù)對黏性土顆粒在長徑比、圓度及粗糙度等參數(shù)進(jìn)行分析;鄧翔宇等[15]針對交通標(biāo)識的分類,通過顏色特征分割,提出了基于邊緣走勢統(tǒng)計(jì)特征算法,實(shí)現(xiàn)快速識別交通標(biāo)識;楊輝華等[16]針對粘連細(xì)胞分割問題,利用水平集方法提取細(xì)胞輪廓,循環(huán)迭代檢測粘連細(xì)胞輪廓上的凹點(diǎn)區(qū)域,確定分割位置完成細(xì)胞分割,但該方法計(jì)算量大、效率低;李蓉娟等[17]為了提高作業(yè)目標(biāo)的抓取精度,設(shè)計(jì)了基于目標(biāo)形狀特征的識別定位方法,有效識別、抓取作業(yè)目標(biāo);許偉棟等[18]利用機(jī)器視覺獲取馬鈴薯圖像,通過PCA-SVM算法提取馬鈴薯特征向量,在SVM模型中進(jìn)行分類,提高分級精度。
粘連珍珠的分割是機(jī)器視覺識別中的難點(diǎn),目前,對類圓形物體的分割方法主要有凹點(diǎn)法[19]、膨脹腐蝕法[20]、輪廓曲線法[21]、分水嶺算法[22]等。以上算法針對具體情況均可以實(shí)現(xiàn)類圓形顆粒分割,但同時(shí)又都具備一定的局限性。例如,凹點(diǎn)法主要利用目標(biāo)物粘連時(shí)的凹凸特性,根據(jù)凹點(diǎn)處的夾角進(jìn)行粘連目標(biāo)的分割,但凹點(diǎn)的確定和匹配容易出錯(cuò),計(jì)算量較大;膨脹腐蝕算法容易破壞珍珠的原始形狀,不利于本文對珍珠形狀特征參數(shù)的測量;輪廓曲線法計(jì)算時(shí)運(yùn)算量大,識別率低,一般僅適用于2~3顆少數(shù)目標(biāo)粘連的情況;分水嶺算法是一種分割重疊圖像的經(jīng)典算法,具有快速準(zhǔn)確有效的特點(diǎn),但傳統(tǒng)的分水嶺算法會受到噪聲的干擾產(chǎn)生過分割或欠分割現(xiàn)象,產(chǎn)生大量的虛假邊緣或造成真實(shí)邊緣消失,尤其多顆珍珠粘連時(shí),分割效果較差。對傳統(tǒng)分水嶺算法進(jìn)行改進(jìn),是提高分割效果的關(guān)鍵。本文結(jié)合形態(tài)學(xué)算法和歐氏距離變換改進(jìn)傳統(tǒng)分水嶺算法,分割粘連珍珠圖像。
針對人工進(jìn)行珍珠形狀分選勞動強(qiáng)度大、效率低及分選精度不穩(wěn)定等問題,提出面向珍珠分揀機(jī)器人的形狀視覺檢測方法。通過機(jī)器視覺獲取珍珠圖像信息,在珍珠圖像預(yù)處理基礎(chǔ)上,采用改進(jìn)的分水嶺算法進(jìn)行珍珠圖像分割并計(jì)算珍珠輪廓及質(zhì)心位置,建立基于圖像信息的珍珠形狀參數(shù)模型,對珍珠形狀進(jìn)行量化表征。
本文構(gòu)建如圖1所示的基于機(jī)器視覺的珍珠分選機(jī)器人系統(tǒng),由分辨率為2 448×2 048工業(yè)相機(jī)、25 mm光學(xué)鏡頭及照度為40 000 Lux面光源構(gòu)成了珍珠圖像獲取的機(jī)器視覺系統(tǒng);珍珠分選的執(zhí)行機(jī)構(gòu)為四自由度機(jī)器人,重復(fù)定位精度為0.2 mm,最大負(fù)載為500 g,最大延伸距離為320 mm;末端執(zhí)行器為氣動吸盤;計(jì)算機(jī)為上位機(jī)對獲取的珍珠圖像進(jìn)行預(yù)處理、珍珠圖像分割及珍珠形狀的計(jì)算與等級分類。
圖1 珍珠分揀機(jī)器人系統(tǒng)
由于珍珠表面存在紋理、光澤,當(dāng)光源直接照射珍珠表面時(shí)會產(chǎn)生反射導(dǎo)致成像質(zhì)量下降,因此本文設(shè)計(jì)的珍珠分選機(jī)器人系統(tǒng)采用了背光成像方式,獲取的珍珠圖像邊緣輪廓清晰,消除了珍珠表面紋理、光澤的干擾。
獲取的珍珠圖像背景灰度分布不均導(dǎo)致對比度低,因此采用同態(tài)濾波算法壓縮亮度范圍和增強(qiáng)對比度來改善珍珠圖像的質(zhì)量。珍珠區(qū)域與背景對比度增強(qiáng),通過最大類間方差法對珍珠灰度圖像進(jìn)行二值化處理[23]。珍珠區(qū)域與背景區(qū)域完全分開,但是珍珠圖像中存在相互接觸的珍珠,將影響到珍珠形狀輪廓的提取,必須將相互接觸的珍珠進(jìn)行分割處理成單獨(dú)的區(qū)域。
如圖2所示,分水嶺算法的原理是將圖像表示為測地學(xué)上的拓?fù)涞孛玻瑘D像中每一點(diǎn)像素值表示該點(diǎn)的海拔高度,每一個(gè)區(qū)域極小值及其影響區(qū)域表示集水盆地,集水盆地的邊界即為分水嶺。在刺穿每一個(gè)區(qū)域極小值表面,再將整個(gè)模型慢慢浸入水中,隨著浸入的加深,每一個(gè)局部極小值的影響域慢慢向外擴(kuò)展,在兩個(gè)集水盆匯合處構(gòu)筑大壩,即形成了分水嶺[24],將集水盆地分開,實(shí)現(xiàn)了對圖像的分割。
圖2 分水嶺算法原理
對于分割后的珍珠圖像既要保留珍珠邊緣輪廓區(qū)域,滿足形狀測量精度,同時(shí)還要消除噪聲和微小誤分割區(qū)域的影響,因此本文基于形態(tài)學(xué)構(gòu)建珍珠梯度圖像,由于珍珠為類圓形狀,本文設(shè)計(jì)圓形結(jié)構(gòu)元素對珍珠圖像進(jìn)行形態(tài)學(xué)梯度運(yùn)算,其表達(dá)式為:
grad(f)=[(f⊕g)-(fΘg)]
(1)
式中,grad(f)為梯度值,f為珍珠分割圖,g為圓形結(jié)構(gòu)元素,⊕為膨脹運(yùn)算,Θ為腐蝕運(yùn)算。
由分水嶺算法的原理可知,水是由各集水盆底逐漸向分水嶺上蔓延,被珍珠各區(qū)域內(nèi)部逐漸向接觸區(qū)域的邊緣遞推,通過形態(tài)學(xué)梯度計(jì)算得到接觸珍珠與獨(dú)立珍珠的邊緣輪廓,該輪廓為理想的分水嶺邊界。為實(shí)現(xiàn)接觸珍珠的分割,要將各珍珠區(qū)域的盆底之間進(jìn)行分離,且不與分水嶺邊界粘連,并為整個(gè)區(qū)域的低值區(qū)。因此設(shè)定本文中的珍珠二值圖為B,Bij為第i行第j列的像素值,圖像中珍珠區(qū)域的像素點(diǎn)構(gòu)成了前景,其集合為Z={(i,j)|Bij=1};像素值為0的像素點(diǎn)構(gòu)成背景,其集合為G={(i,j)|Bij=0}。對珍珠圖像進(jìn)行距離變換來確定珍珠區(qū)域低值區(qū)。珍珠圖像B中各像素點(diǎn)之間的最小距離的表達(dá)式為:
Dij=min{Dist[(i,j),(x,y)],(x,y)∈Z}
(2)
式中,Dist為距離度量函數(shù),x為珍珠輪廓點(diǎn)的橫坐標(biāo),y為珍珠輪廓點(diǎn)的縱坐標(biāo)。
由于珍珠為類圓形,其質(zhì)心到最近的輪廓點(diǎn)的距離最大,近似為珍珠半徑,故以歐氏距離作為距離度量函數(shù),其表達(dá)式為:
(3)
式中,(a1,b1)、(a2,b2)分別為平面內(nèi)任意兩點(diǎn)的坐標(biāo)。
距離變換三維圖形如圖3(a)所示,最短距離為谷底位置,該位置對應(yīng)圖3(b)中黑色區(qū)域?yàn)樽钚≈祬^(qū)域,目標(biāo)之間的白色分割線為分水嶺的脊線。由分水嶺脊線可以確定集水盆地和分水嶺,將前景珍珠目標(biāo)標(biāo)記為1,確定珍珠圖像的集水盆;圖像的背景標(biāo)記為0,確定多顆珍珠的分水嶺。使得相互接觸的珍珠都有了獨(dú)立的集水盆及分水嶺,各珍珠圖像由集水盆底向分水嶺遞推計(jì)算過程中,像素梯度變化均勻,不存在集水盆中噪聲過多而產(chǎn)生的干擾情況,實(shí)現(xiàn)了對相互接觸珍珠的分割。再通過連通區(qū)域的顏色標(biāo)記,相互粘連的珍珠通過不同顏色劃分成獨(dú)立的個(gè)體,結(jié)果如圖3(c)所示。
珍珠區(qū)域的邊緣輪廓作為珍珠形狀的有力描述,是珍珠分級的重要參數(shù)。由圖3(c)可知,在珍珠圖像分割的基礎(chǔ)上,每個(gè)連通域的珍珠均為獨(dú)立個(gè)體,當(dāng)圖像中連通域個(gè)數(shù)為n時(shí),設(shè)連通域中的珍珠圖像為fi(x,y),其中i取值為1-n。利用質(zhì)心算法[25]求取每個(gè)珍珠的質(zhì)心坐標(biāo)為:
(4)
式中,(xc,yc)為珍珠質(zhì)心。
圖3 分水嶺算法分割接觸珍珠
本文采用形態(tài)學(xué)邊緣跟蹤算法對珍珠圖像進(jìn)行輪廓特征提取,結(jié)果如圖3(c)的白色輪廓,利用兩點(diǎn)之間距離公式計(jì)算珍珠輪廓邊緣點(diǎn)(x1,y1)到質(zhì)心的距離,其表達(dá)式為:
(5)
由式(2)可以計(jì)算出珍珠的半徑序列,其表達(dá)式為:
Rk(k=1,2…,m-1)
(6)
式中,m為邊緣點(diǎn)個(gè)數(shù)。
(7)
式中,X為形狀參數(shù)模型。
由式(7)可知,半徑百分比越小則說明珍珠越接近正圓,反之則次之。以此為依據(jù),建立了如表1所示的珍珠圓形類分級標(biāo)準(zhǔn)。
表1 珍珠圓形類分級標(biāo)準(zhǔn)
本文主要針對圓形類的珍珠進(jìn)行形狀檢測,實(shí)驗(yàn)中選用正圓、圓、近圓3種形狀的淡水珍珠共60顆作為檢測目標(biāo)。
人工根據(jù)國標(biāo)要求采用游標(biāo)卡尺進(jìn)行測量,將本文方法的計(jì)算值與人工測量值進(jìn)行對比如圖4所示,由圖可知本文方法的計(jì)算值與人工測量值的分布一致,通過式(8)計(jì)算的誤差百分比為0.63%,滿足使用要求。
(8)
如圖4中點(diǎn)劃線為正圓和圓的分割線,虛線為圓和近圓的分割線,對比手工測量和本文方法測量3種形狀珍珠,每一類珍珠均正確分布在相應(yīng)區(qū)域。統(tǒng)計(jì)兩種方式下測得的不同形狀珍珠顆數(shù)如表2所示,3種形狀測量精度均為100%。對實(shí)驗(yàn)用60顆樣本進(jìn)行多次重復(fù)檢測,算法檢測所用時(shí)間為24 ms。
圖4 實(shí)驗(yàn)數(shù)據(jù)
等級人工/顆本文方法/顆精度/%正圓2020100圓2323100近圓1717100
1)針對珍珠形狀的人工分揀效率低、精度不穩(wěn)定等問題,提出基于機(jī)器視覺的珍珠形狀檢測方法,構(gòu)建了檢測系統(tǒng)實(shí)驗(yàn)平臺對60顆不同形狀的珍珠樣本進(jìn)行實(shí)驗(yàn)分析,檢測誤差為0.63%,形狀統(tǒng)計(jì)精度為100%,算法耗時(shí)24 ms。
2)對多顆珍珠存在的相互接觸影響珍珠輪廓提取的問題,采用改進(jìn)的分水嶺算法對多顆珍珠圖像進(jìn)行分割,實(shí)現(xiàn)了對相互接觸珍珠的分割,通過連通區(qū)域的標(biāo)記確定其質(zhì)心位置。
3)基于珍珠圖像信息建立了珍珠形狀參數(shù)模型,通過珍珠輪廓各點(diǎn)與質(zhì)心兩點(diǎn)之間距離計(jì)算珍珠半徑序列,提取最大、最小及平均半徑,建立珍珠形狀參數(shù),定量表征珍珠形狀。