潘海鴻,徐大斌,王耀瑋,董秦漢,梁旭斌
(廣西大學(xué) a.機(jī)械工程學(xué)院;b.工程實踐與訓(xùn)練中心,南寧 530004)
工業(yè)自動化生產(chǎn)線中有大量的零件需要識別和分揀,傳統(tǒng)的方法是由人工來完成,但人工操作存在工作量大、效率低下、出錯率高等問題[1]。通過機(jī)器視覺對零件進(jìn)行識別和分類,可極大地提高生產(chǎn)線自動化程度[2-3]。機(jī)器視覺檢測被廣泛應(yīng)用在質(zhì)量檢測、機(jī)器人抓取位置判斷、字符信息提取(零件型號識別)、產(chǎn)品數(shù)據(jù)采集等方面[4-5]。
目前對字符信息提取研究較多,Islam R等[6]提出基于HOG和SVM的車牌字符提取與識別算法,字符識別準(zhǔn)確率達(dá)94.6%。陳甦欣等[7]針對環(huán)狀零件表面字符檢測,使用卷積神經(jīng)網(wǎng)絡(luò)和SVM對字符進(jìn)行分類識別,識別準(zhǔn)確率95%以上。李陽等[8]利用NCC模板匹配準(zhǔn)確的特點快速匹配到輪胎上的固定編號,驅(qū)動機(jī)器人完成分揀工作,識別準(zhǔn)確率96%左右。Oni O J等[9]研究獲取一組約魯巴標(biāo)準(zhǔn)打印文本的掃描圖像,開發(fā)出一種適用于該圖像的光學(xué)字符識別模型,準(zhǔn)確率為96.862%。Bora M B等[10]使用CNN-ECOC和SVM進(jìn)行手寫字符識別,準(zhǔn)確率最高達(dá)到97.71%。上述研究的識別對象背景清晰,工況環(huán)境較好,使用普通的2D相機(jī)即可進(jìn)行識別。但在實際工業(yè)環(huán)境中,環(huán)境較復(fù)雜,上述方法具有局限性。
在實際工業(yè)現(xiàn)場對汽車發(fā)動機(jī)缸蓋表面字符(型號、鑄件號、狀態(tài)標(biāo)識等信息)識別存在以下難點:①缸蓋是黑鐵鑄造,表面涂有防銹油,使用光源打光拍攝時,缸蓋表面發(fā)生漫反射導(dǎo)致拍攝效果很差。②缸蓋表面起伏較大,而字符區(qū)域較小,使用2D相機(jī)拍攝時字符特征不明顯。③因鑄造時精度要求不高,缸蓋表面字符凸起不明顯,相鄰字符間互相粘連,造成字符識別難度大。為此,提出基于線結(jié)構(gòu)光的發(fā)動機(jī)缸蓋表面字符識別方法。設(shè)計并搭建一套基于結(jié)構(gòu)光掃描的系統(tǒng)用于識別缸蓋表面字符。該系統(tǒng)利用激光三角測量法計算得到缸蓋表面字符的深度圖像,并采用YOLOv4識別出缸蓋字符的信息,通過實驗驗證所提出的方法對缸蓋表面字符識別的準(zhǔn)確率。
激光結(jié)構(gòu)光具有能量集中、單色性好、不易受外界環(huán)境光影響等優(yōu)點,為此引入線結(jié)構(gòu)光解決以上汽車發(fā)動機(jī)缸蓋表面字符識別難的問題?;诰€結(jié)構(gòu)光的3D相機(jī)成像穩(wěn)定,可準(zhǔn)確獲取物體圖像,尤其針對缸蓋表面字符凸起高度較小的情況,可直接提取頂部像素數(shù)據(jù)進(jìn)行處理。
線結(jié)構(gòu)光測量系統(tǒng)的工作原理以激光三角法為基礎(chǔ)[11],如圖1所示,通過激光器投射結(jié)構(gòu)光到被測物體表面形成一條結(jié)構(gòu)光條紋,使用CCD攝像機(jī)采集結(jié)構(gòu)光條紋的形變圖像計算被測物的坐標(biāo)和輪廓信息。
圖1 結(jié)構(gòu)光測量系統(tǒng)模型
結(jié)構(gòu)光投影在被測物體表面π1上,點P為線結(jié)構(gòu)光上一點。設(shè)P在相機(jī)坐標(biāo)系下坐標(biāo)為(xc,yc,zc),其在相機(jī)成像平面π2上映射的像點為P′,P′在像素坐標(biāo)系下的坐標(biāo)為(u,v)。根據(jù)相機(jī)的成像模型,有式(1)成立:
(1)
其中,s>0為投影尺度因子;dx、dy分別為圖像x和y方向單位像素的物理尺寸(mm/pixel);(u0,v0)為圖像坐標(biāo)系原點在像素坐標(biāo)系下的坐標(biāo);f為相機(jī)焦距。因點P在線結(jié)構(gòu)光平面方程Axc+Byc+Czc+D=0上,其中{A,B,C,D}為結(jié)構(gòu)光平面參數(shù),可得式(2)。
(2)
聯(lián)立式(1)與式(2)可得到式(3),至此即可求解被測物體上的任意點P在相機(jī)坐標(biāo)系下的坐標(biāo)。
(3)
圖像預(yù)處理是圖像信息提取的關(guān)鍵步驟,通過圖像預(yù)處理可以將圖像中需要的信息突顯出來,縮短信息提取時間,提高檢測結(jié)果的準(zhǔn)確性和有效性。拍攝圖像時由于光照條件、拍攝角度、平臺抖動等不可避免的因素為圖像帶來了模糊和噪聲,所得圖像不能直接使用,需對圖片進(jìn)行濾波降噪等一系列預(yù)處理。
針對相機(jī)拍攝得到的圖像進(jìn)行預(yù)處理包括以下幾個步驟:
(1)圖像降噪:受外界環(huán)境影響,相機(jī)拍照所得圖像噪點較多,使用高斯濾波降噪,得到低噪點灰度圖。
(2)圖像增強:由于相機(jī)導(dǎo)出的原圖是深度圖,字符特征不明顯,需要對圖像進(jìn)行增強處理來突顯字符特征,在這里使用直方圖均衡化處理。
(3)傾斜校正:相機(jī)拍攝的圖片難免有所傾斜,這對字符的識別率會有影響,使用Hough變換轉(zhuǎn)正字符方向。
YOLO(You Only Look Once)[12]基于一個單獨的端到端網(wǎng)絡(luò),創(chuàng)造性地將候選區(qū)和對象識別這兩個階段合二為一,如圖2所示,輸入一次圖像就能識別出對象以及它們的位置。YOLOv4具有更大的網(wǎng)絡(luò)輸入分辨率,更深的網(wǎng)絡(luò)層,更多的參數(shù),更快的檢測速度,更高的檢測精度。YOLOv4可以適用于單GPU訓(xùn)練,它通過單一網(wǎng)絡(luò)即可進(jìn)行預(yù)測[13]。為此,采用YOLO實現(xiàn)對目標(biāo)的自動檢測,能夠快速定位識別。
圖2 YOLO目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu)
字符識別具體流程為:
(1)輪廓儀實時采集圖像:使六軸機(jī)器人帶著3D激光輪廓儀以v(mm/s)的速度水平移動,拍攝得到字符區(qū)域的深度圖像。
(2)圖像預(yù)處理:輪廓儀得到的原圖是16位單通道深度圖。使用OpenCV計算機(jī)視覺庫和C++對圖像進(jìn)行降噪、圖像增強和傾斜校正處理。
(3)YOLOv4識別:在windows10 64位,CPU型號為Intel(R) Core(TM) i9-9900K,顯卡型號為NVDIA Geforce RTX 2060,內(nèi)存16GB的計算機(jī)上進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練(學(xué)習(xí)率置為0.01,訓(xùn)練次數(shù)為100 000次)。
(4)輸出識別結(jié)果:輸出識別的字符和置信度。
搭建的基于線結(jié)構(gòu)光的發(fā)動機(jī)缸蓋表面字符識別系統(tǒng)如圖3所示,將3D激光輪廓儀(ATC5-2040CS-23-63)安裝在六軸機(jī)器人末端,使輪廓儀距離字符高度保持在90 mm~110 mm的區(qū)間內(nèi)。通過機(jī)器人移動帶動輪廓儀掃描缸蓋字符區(qū)域,得到深度圖像。識別對象為廣西某公司的發(fā)動機(jī)缸蓋,如圖4所示。
圖3 基于線結(jié)構(gòu)光的發(fā)動機(jī)缸蓋表面字符識別系統(tǒng)
圖4 發(fā)動機(jī)缸蓋圖
3D激光輪廓儀80 mm/s的速度水平移動,拍攝的深度圖原圖如圖5a所示,圖像處理后的字符特征較明顯,如圖5b所示。
(a)深度圖原圖 (b)圖像處理后圖5 圖像處理前后對比
圖5b中圖像字符灰度值與背景灰度值非常接近,難以對其進(jìn)行前景背景分離,且字符間還出現(xiàn)粘連情況,采用傳統(tǒng)圖像處理算法較難識別圖中的字符。采用YOLOv4實現(xiàn)對字符識別,其能自動定位字符區(qū)域并進(jìn)行分割,輸出所識別字符和置信度判斷。
將圖像預(yù)處理后制作成數(shù)據(jù)集,訓(xùn)練集樣本數(shù)為92個。YOLOv4訓(xùn)練完成后,用25個測試樣本驗證字符的識別正確率和檢測時間,見表1。圖6是部分圖像的字符識別結(jié)果,對于圖6c、圖6d、圖6e鑄造字符輪廓不明顯也能準(zhǔn)確識別。系統(tǒng)對缸蓋表面字符的平均識別正確率達(dá)到99.677 9%,每張圖片的檢測時間大約50 ms。其中,識別字母的平均正確率為99.573 1%,識別數(shù)字的平均正確率為99.815 5%。表明所設(shè)計的系統(tǒng)能夠獲得較好的識別效果。如果有更多的訓(xùn)練樣本,識別正確率還會進(jìn)一步提升。
(a) KJ10 (b) J56
(c) BK21 (d) K06C
(e) BL24圖6 部分圖像字符識別結(jié)果
表1 部分字符識別結(jié)果統(tǒng)計
續(xù)表
針對目前發(fā)動機(jī)缸蓋表面字符識別的難題,搭建設(shè)計一套線結(jié)構(gòu)光發(fā)動機(jī)缸蓋表面字符識別系統(tǒng)。從實際工程應(yīng)用出發(fā),結(jié)合激光三角測量法和深度卷積神經(jīng)網(wǎng)絡(luò)YOLOv4算法對發(fā)動機(jī)缸蓋表面字符進(jìn)行識別。實驗結(jié)果表明,該方案能夠快速識別出缸蓋表面的型號、鑄件號、狀態(tài)標(biāo)識等信息,平均識別準(zhǔn)確率達(dá)到99.6%以上。將其應(yīng)用于生產(chǎn)線不同型號缸蓋的識別和分揀,可提高分揀效率,提高整個生產(chǎn)、檢測流程的效率。該方法可適用于字符表面反光較強、字符前景背景色對比度不明顯、字符之間相互粘連、字符外形輪廓不清晰等情況的字符識別,具有十分重要的應(yīng)用價值和實際意義。