徐 杰,鄒媛媛,鄭家俊
(1.沈陽(yáng)建筑大學(xué)機(jī)械工程學(xué)院,沈陽(yáng) 110168;2.高檔石材數(shù)控加工裝備與技術(shù)國(guó)家地方聯(lián)合工程實(shí)驗(yàn)室,沈陽(yáng) 110168)
現(xiàn)代制造業(yè)越來(lái)越趨于“多品種、小批量”的特點(diǎn),而鈑金加工領(lǐng)域?qū)ιa(chǎn)的柔性要求也越來(lái)越高,生產(chǎn)過(guò)程中對(duì)鈑金件加工質(zhì)量進(jìn)行自動(dòng)化檢測(cè)非常重要。機(jī)器視覺檢測(cè)技術(shù)由于具有非接觸、速度快、精度高、抗干擾能力強(qiáng)等優(yōu)點(diǎn),被廣泛應(yīng)用于鈑金件加工質(zhì)量檢測(cè)。鈑金件上輪廓邊緣是表征鈑金件外形質(zhì)量的重要信息,其邊緣輪廓由圖元組成,主要包括線段、圓、圓弧等圖元,而圖元與圖元之間的連接點(diǎn)被稱為特征點(diǎn),特征點(diǎn)主要為角點(diǎn)和切點(diǎn)。在對(duì)鈑金件加工質(zhì)量檢測(cè)的過(guò)程中,首先,需要準(zhǔn)確識(shí)別特征點(diǎn),進(jìn)而依據(jù)特征點(diǎn)分割識(shí)別各圖元,其次,測(cè)量各圖元的形位信息,最后將圖元形位信息和設(shè)計(jì)圖紙進(jìn)行比較,實(shí)現(xiàn)鈑金件加工質(zhì)量的檢測(cè)。因此,輪廓上特征點(diǎn)的準(zhǔn)確識(shí)別是檢測(cè)過(guò)程中關(guān)鍵的一步,其識(shí)別的精度和效率將決定鈑金件加工質(zhì)量的檢測(cè)精度以及實(shí)時(shí)性[1-3]。
特征點(diǎn)是圖像輪廓上重要的特征信息,國(guó)內(nèi)外研究人員針對(duì)圖像輪廓上特征點(diǎn)的識(shí)別算法研究開展了廣泛的工作。ALBERT等[4]針對(duì)手繪草圖輪廓特征點(diǎn)的識(shí)別,提出了一種基于三次曲線近似擬合的特征點(diǎn)識(shí)別算法,通過(guò)計(jì)算半徑函數(shù),從而完成特征點(diǎn)的識(shí)別。賀雙喜等[5]提出了一種基于弧長(zhǎng)的特征點(diǎn)識(shí)別方法,使用模板匹配先粗提取候選特征點(diǎn),再依據(jù)約束條件進(jìn)行特征點(diǎn)的精確提取。伍濟(jì)鋼等[6]提出了基于曲率與Hough變換的平面輪廓特征點(diǎn)識(shí)別和圖元分割方法,在理想輪廓上開展了實(shí)驗(yàn)研究。張小洪等[7]構(gòu)造反映輪廓曲線局部幾何特征的梯度相關(guān)矩陣(GCMs),通過(guò)求矩陣的局部最大值來(lái)檢測(cè)角點(diǎn)。黃凌霄[8]針對(duì)塑料薄板零件圖像輪廓,提出了基于圖像結(jié)構(gòu)的特征點(diǎn)識(shí)別方法,首先判斷輪廓點(diǎn)相鄰的圖元類型信息,再依據(jù)圖元類型信息,對(duì)特征點(diǎn)進(jìn)行精確提取。
上述方法多是針對(duì)平滑圖像輪廓開展的特征點(diǎn)識(shí)別方法研究,而平面鈑金件加工邊緣容易出現(xiàn)毛刺,在特征點(diǎn)識(shí)別中易出現(xiàn)偽特征點(diǎn)、切點(diǎn)難識(shí)別以及特征點(diǎn)識(shí)別精度低等問(wèn)題,因此,本文為了提高平面鈑金件輪廓特征點(diǎn)的識(shí)別精度,在圖像結(jié)構(gòu)算法的思想上,提出了一種基于改進(jìn)圖像結(jié)構(gòu)算法的平面鈑金件輪廓特征點(diǎn)識(shí)別方法。
采用圖像邊緣檢測(cè)算法檢測(cè)得到圖像輪廓邊緣Q,邊緣上的輪廓點(diǎn)為Pi,則輪廓Q可以表示為:
Q={Pi(xi,yi)|i=1,2,3,…,n}
式中:n為邊緣輪廓像素點(diǎn)總數(shù)量,(xi,yi)為輪廓點(diǎn)Pi的圖像坐標(biāo)。點(diǎn)Pi-t和Pi+t分別為和點(diǎn)Pi相隔t個(gè)像素的輪廓點(diǎn),則點(diǎn)Pi-t的圖像坐標(biāo)為(xi-t,yi-t),點(diǎn)Pi+t的圖像坐標(biāo)為(xi+t,yi+t)。如圖1所示,為一條曲線輪廓段y=g(x),di1為輪廓點(diǎn)Pi和Pi-t間弦中點(diǎn)Ni1(xi1,yi1)和弧中點(diǎn)Ni2(xi2,yi2)的距離,可以表示為:
圖1 相鄰4個(gè)像素點(diǎn)坐標(biāo)示意圖
(1)
圖1中所示,di2為輪廓點(diǎn)Pi和Pi+t間弦中點(diǎn)和弧中點(diǎn)的距離。
在基于圖像結(jié)構(gòu)的特征點(diǎn)識(shí)別中[8],通過(guò)對(duì)輪廓點(diǎn)所在的輪廓結(jié)構(gòu)進(jìn)行分析,進(jìn)而識(shí)別特征點(diǎn),主要識(shí)別角點(diǎn)和切點(diǎn)兩種特征點(diǎn)。首先需要對(duì)輪廓點(diǎn)兩側(cè)的輪廓段類型進(jìn)行判斷,該輪廓段弦中點(diǎn)和輪廓中點(diǎn)的距離大于0,表示該輪廓段為圓弧或圓,若等于0,則表示該輪廓段為線段。其次,依據(jù)輪廓點(diǎn)兩側(cè)輪廓的類型判斷輪廓點(diǎn)的類型。如圖1所示,若di1=0且di2=0,則Pi是角點(diǎn)或者是線段輪廓上的普通輪廓點(diǎn);若di1>0且di2=0,(或di1=0且di2>0),則Pi是切點(diǎn)或者是角點(diǎn)。以上提取出的輪廓點(diǎn)作為候選特征點(diǎn)。再次,分別計(jì)算候選特征點(diǎn)和其間隔t個(gè)像素的兩個(gè)輪廓點(diǎn)連線的斜率值,并計(jì)算斜率值差的絕對(duì)值,依據(jù)設(shè)定的閾值識(shí)別出特征點(diǎn)。最后,將位置相鄰特征點(diǎn)進(jìn)行融合,識(shí)別出輪廓上的角點(diǎn)和切點(diǎn)。
常見的平面鈑金件輪廓上的特征點(diǎn)類型主要包括:切點(diǎn)與角點(diǎn),如圖2所示。
圖2 常見鈑金件輪廓上的特征點(diǎn)類型
圖2a和圖2b特征點(diǎn)Pa,Pb為角點(diǎn);圖2c特征點(diǎn)Pc為切點(diǎn)。角點(diǎn)的兩側(cè)圖元為線段與線段,或者線段與圓弧;切點(diǎn)的兩側(cè)圖元為線段與圓弧。
平面鈑金件由于加工誤差,邊緣易出現(xiàn)毛刺,邊緣輪廓不夠平滑,采用上述圖像結(jié)構(gòu)的方法在進(jìn)行平面鈑金件輪廓特征點(diǎn)識(shí)別時(shí),易在線段輪廓上出現(xiàn)較多的偽特征點(diǎn),同時(shí)對(duì)于特征點(diǎn)位置識(shí)別精度也需要進(jìn)一步提高。因此,本文改進(jìn)了基于圖像結(jié)構(gòu)的特征點(diǎn)識(shí)別算法,改進(jìn)算法主要包括粗提取候選特征點(diǎn)和精確識(shí)別特征點(diǎn)兩部分。
粗提取主要實(shí)現(xiàn)對(duì)于包括角點(diǎn)和切點(diǎn)等候選特征點(diǎn)的提取。計(jì)算輪廓點(diǎn)Pi點(diǎn)對(duì)應(yīng)的距離di1與di2,并計(jì)算輪廓點(diǎn)Pi(xi,yi)與其相鄰t個(gè)像素點(diǎn)的輪廓點(diǎn)Pi-t,Pi+t間的斜率差的絕對(duì)值H,計(jì)算表達(dá)式為:
對(duì)兩組患者進(jìn)行為期4周的治療,之后進(jìn)行C14檢查,對(duì)患者治療后的C14檢出率進(jìn)行統(tǒng)計(jì),詳細(xì)記錄幽門螺桿菌轉(zhuǎn)陰時(shí)間、潰瘍消失時(shí)間與癥狀的緩解時(shí)間。對(duì)患者的胃鏡檢查效果進(jìn)行評(píng)估,按照痊愈、顯效、有效和無(wú)效進(jìn)行表達(dá)[6]。其中痊愈:潰瘍于周圍炎癥全部消失,顯效:潰瘍面消失,炎癥存在,有效:潰瘍面積縮小一半以上,無(wú)效:潰瘍面積縮小在一半以下。
H=|ki1-ki2|
(2)
式中:ki1,ki2表達(dá)式分別為:
(3)
理想情況下,角點(diǎn)的H值不為0,切點(diǎn)與線段上的點(diǎn)的H值為0。通過(guò)設(shè)定閾值T1和T2,分別判斷di1與di2和閾值T1的關(guān)系,H與閾值T2的關(guān)系,完成特征點(diǎn)粗提取。若di1≤T1且di2≤T1,H>T2時(shí),則該輪廓點(diǎn)為候選角點(diǎn);若di1≤T1且di2>T1,或者,若di1>T1且di2≤T1,H≤T2時(shí),為候選切點(diǎn),得到候選特征點(diǎn)集,表示為:
J={Jj(xj,yj)|j=1,2,3…,k}
針對(duì)鈑金工件特征點(diǎn)易出現(xiàn)局部聚集以及在線段輪廓上易出現(xiàn)偽特征點(diǎn)的問(wèn)題,如圖3所示,需要在提取候選特征點(diǎn)后,對(duì)特征點(diǎn)進(jìn)行精確識(shí)別。
在特征點(diǎn)精確識(shí)別中,首先計(jì)算候選特征點(diǎn)集合中的任意兩特征點(diǎn)之間的歐式距離ds,若該距離值小于距離閾值T3,則將此兩候選特征點(diǎn)分為一組,分組后,取每組的坐標(biāo)均值作為該組最終提取的候選特征點(diǎn)的新坐標(biāo),均值坐標(biāo)為Jjavg(xjavg,yjavg)計(jì)算為:
(4)
式中:k為該組候選特征點(diǎn)的數(shù)量。
對(duì)于線段輪廓段上出現(xiàn)的偽特征點(diǎn),采用直線度[9]對(duì)線段輪廓段上的偽特征點(diǎn)進(jìn)行剔除。
如圖4所示,設(shè)點(diǎn)J(j-1)avg,Jjavg,J(j+1)avg為相鄰的3個(gè)候選特征點(diǎn),候選特征點(diǎn)J(j-1)avgJjavg。JjavgJ(j+1)avg,J(j-1)avgJ(j+1)avg之間的距離分別為dj1,dj2,dj,則有:
圖4 直線上偽特征點(diǎn)剔除過(guò)程
(5)
式中:rd為距離的比值,rm為閾值,通過(guò)判斷上述3個(gè)候選特征點(diǎn)是否在一條直線上,若rd趨向于1,則Jiavg為偽特征點(diǎn),濾除掉,反之為特征點(diǎn),進(jìn)而將線段輪廓上的偽特征點(diǎn)全部濾除掉。
綜上所述,基于改進(jìn)圖像結(jié)構(gòu)的鈑金件特征點(diǎn)識(shí)別算法具體流程如下:
步驟1:對(duì)采集獲取的鈑金件圖像采用均值濾波進(jìn)行預(yù)處理,濾除掉圖像噪聲[10],再通過(guò)Canny邊緣檢測(cè)算子提取鈑金件輪廓邊緣,得到輪廓點(diǎn)坐標(biāo)集合Q;
步驟2:計(jì)算輪廓點(diǎn)集合Q中的點(diǎn)Pi對(duì)應(yīng)的距離di1與di2,以及斜率差的絕對(duì)值H;
步驟3:通過(guò)距離值di1與di2以及H同對(duì)應(yīng)的閾值的比較,來(lái)進(jìn)行候選角點(diǎn)和候選切點(diǎn)的粗提取;
步驟4:分別對(duì)提取的候選角點(diǎn)集合和候選切點(diǎn)集合中的任意兩點(diǎn)進(jìn)行歐式距離的判斷,實(shí)現(xiàn)角點(diǎn)和切點(diǎn)的分組。分組后,取每組內(nèi)候選角點(diǎn)和切點(diǎn)的坐標(biāo)均值作為該位置角點(diǎn)和切點(diǎn)對(duì)應(yīng)的坐標(biāo)值;
步驟5:基于直線度指標(biāo),對(duì)步驟4中角點(diǎn)、切點(diǎn)集合中的偽特征點(diǎn)進(jìn)行濾除,濾除掉線段輪廓上的偽特征點(diǎn),實(shí)現(xiàn)特征點(diǎn)的準(zhǔn)確識(shí)別。
為了驗(yàn)證本文的算法,分別對(duì)理想輪廓與平面鈑金件進(jìn)行特征點(diǎn)識(shí)別實(shí)驗(yàn)。本實(shí)驗(yàn)中采用德國(guó)某公司生產(chǎn)的型號(hào)為acA4112-8gm相機(jī)和日本某公司的V1628-MPY2鏡頭,采集獲取鈑金件原始圖像。算法采用Python3.10編制實(shí)現(xiàn)。其中,步長(zhǎng)t通過(guò)實(shí)驗(yàn)比較設(shè)定為4。
圖5為平面鈑金件實(shí)物圖,輪廓中包含有角點(diǎn)和切點(diǎn)兩種特征點(diǎn),通過(guò)局部放大圖可以看出鈑金件邊緣帶有毛刺。
(a) 實(shí)物圖 (b) 局部放大圖圖5 平面鈑金件實(shí)物圖
實(shí)驗(yàn)結(jié)果主要從特征點(diǎn)識(shí)別數(shù)量的準(zhǔn)確度與識(shí)別定位誤差進(jìn)行評(píng)價(jià)。定位誤差[11]LE通過(guò)計(jì)算定位誤差平均值的平方根作為評(píng)價(jià)標(biāo)準(zhǔn),定義為:
(6)
式中:(xgi,ygi),(xti,yti)分別為特征點(diǎn)的真實(shí)坐標(biāo)與識(shí)別出的坐標(biāo),h為特征點(diǎn)總數(shù)。
理想輪廓選用矩形輪廓和圓角矩形輪廓,其中,矩形輪廓包括4個(gè)角點(diǎn),圓角矩形輪廓包括8個(gè)切點(diǎn)。分別采用圖像結(jié)構(gòu)算法和本文提出的改進(jìn)算法識(shí)別兩個(gè)理想輪廓的特征點(diǎn)。識(shí)別結(jié)果如圖6和圖7所示。
(a) 本文改進(jìn)方法 (b) 圖像結(jié)構(gòu)方法圖6 矩形輪廓特征點(diǎn)識(shí)別結(jié)果
(a) 本文改進(jìn)方法 (b) 圖像結(jié)構(gòu)方法圖7 圓角矩形輪廓識(shí)別結(jié)果
由實(shí)驗(yàn)結(jié)果可知,在理想輪廓上,本文改進(jìn)的算法和圖像結(jié)構(gòu)算法均可以準(zhǔn)確識(shí)別角點(diǎn)和切點(diǎn)兩種特征點(diǎn)。
為了解決鈑金件輪廓特征點(diǎn)識(shí)別準(zhǔn)確性與定位精度問(wèn)題,分別采用圖像結(jié)構(gòu)算法和本文提出的改進(jìn)算法對(duì)實(shí)際鈑金件上的輪廓及常見的形狀輪廓進(jìn)行輪廓特征點(diǎn)識(shí)別實(shí)驗(yàn)。
圖8為鈑金件上的六邊形輪廓,其包括6個(gè)角點(diǎn);圖9為鈑金件上的長(zhǎng)孔輪廓包括4個(gè)切點(diǎn);圖10為鈑金件上的復(fù)雜輪廓,包括2個(gè)角點(diǎn)和12個(gè)切點(diǎn)。
(a) 本文改進(jìn)方法 (b) 圖像結(jié)構(gòu)方法圖8 六邊形輪廓檢測(cè)結(jié)果
(a) 本文改進(jìn)方法
(b) 圖像結(jié)構(gòu)方法圖9 長(zhǎng)孔輪廓檢測(cè)結(jié)果
(a) 本文改進(jìn)方法 (b) 圖像結(jié)構(gòu)方法圖10 復(fù)雜輪廓檢測(cè)結(jié)果
由上述實(shí)驗(yàn)結(jié)果可以看出,采用圖像結(jié)構(gòu)算法進(jìn)行鈑金件上特征點(diǎn)識(shí)別時(shí),線段輪廓上受加工毛刺影響易出現(xiàn)偽特征點(diǎn),無(wú)法準(zhǔn)確識(shí)別特征點(diǎn)。而本文改進(jìn)的方法,考慮了線段輪廓上偽特征點(diǎn)的濾除,因此,可以準(zhǔn)確識(shí)別特征點(diǎn)。
對(duì)圖10中識(shí)別出的特征點(diǎn)數(shù)量進(jìn)行對(duì)比,如表1所示,本文改進(jìn)方法可以準(zhǔn)確識(shí)別出所有特征點(diǎn)。
表1 圖10輪廓上特征點(diǎn)識(shí)別數(shù)量準(zhǔn)確度對(duì)比
對(duì)圖10中識(shí)別出的特征點(diǎn)定位誤差進(jìn)行計(jì)算和統(tǒng)計(jì)分析,如表2所示,本文改進(jìn)算法的定位誤差優(yōu)于圖像結(jié)構(gòu)算法。
表2 鈑金件輪廓特征點(diǎn)定位誤差對(duì)比
由以上實(shí)驗(yàn)結(jié)果可以看出,本文改進(jìn)方法和圖像結(jié)構(gòu)算法對(duì)于鈑金件輪廓的特征點(diǎn)識(shí)別定位誤差分別為2.35 pixel和3.04 pixel,本文提出的改進(jìn)方法準(zhǔn)確性更高。
本文針對(duì)平面鈑金件輪廓特征點(diǎn)識(shí)別中易出現(xiàn)偽特征點(diǎn)及特征點(diǎn)識(shí)別定位精度低等問(wèn)題,提出了一種基于改進(jìn)圖像結(jié)構(gòu)算法的平面鈑金件輪廓特征點(diǎn)識(shí)別方法,包括粗提取和精確識(shí)別兩部分,并引入直線度指標(biāo)進(jìn)行線段輪廓上偽特征點(diǎn)的濾除,以此提高特征點(diǎn)識(shí)別精度。通過(guò)實(shí)驗(yàn)驗(yàn)證了本文方法的有效性,本文的改進(jìn)方法可以濾除掉鈑金工件線段輪廓上的所有偽特征點(diǎn),提高了特征點(diǎn)的定位精度。