喬超,李帥康,洪榮晶,孫新平
1南京工業(yè)大學(xué)機(jī)械與動力工程學(xué)院;2江蘇省工業(yè)裝備數(shù)字化制造及控制技術(shù)重點實驗室
在金屬切削加工中,可轉(zhuǎn)位刀具扮演著非常重要的角色,其精度對可轉(zhuǎn)位刀具的切削效率和加工精度有著重要的影響,對可轉(zhuǎn)位刀片幾何參數(shù)進(jìn)行準(zhǔn)確測量至關(guān)重要[1]??赊D(zhuǎn)位刀片的測量方法包括傳統(tǒng)人工測量法和視覺測量法,視覺測量法比傳統(tǒng)人工測量法誤差更小,精度更高,效率更高。雙目視覺已經(jīng)應(yīng)用到生活中的各個領(lǐng)域,包括人工智能、自動駕駛、工業(yè)測量和醫(yī)療等領(lǐng)域。雙目視覺研究是科研領(lǐng)域重要的一個研究課題。雙目視覺[2,3]是較為簡單的一種立體視覺,采用左右兩個攝像機(jī)模仿人類和動物的雙目視覺功能,利用攝像機(jī)在不同位置拍攝同一物體獲取物體雙目圖像,得到物體的三維立體信息。
目前針對刀具測量主要是通過機(jī)器視覺測量。關(guān)波[4]基于機(jī)器視覺設(shè)計刀具幾何參數(shù)測量系統(tǒng)對刀具進(jìn)行離線測量。陳宇彤[1]提出基于機(jī)器視覺的可轉(zhuǎn)位刀片幾何參數(shù)測量,通過單目測量系統(tǒng)完成平面幾何參數(shù)測量,通過引入線激光器與單目測量系統(tǒng)結(jié)合組成結(jié)構(gòu)光視覺系統(tǒng)完成三維幾何參數(shù)測量。
圖1 雙目模型視覺測量
如果P是三維立體世界中存在的一點,在左圖像和右圖像上的對應(yīng)點為Pl和Pr,其橫坐標(biāo)分別為xl和xr。
在這個簡化且理想系統(tǒng)下,計算的視差是d=xl-xr,深度Z則利用相似三角形可得
(1)
(2)
由式(2)可推導(dǎo)出深度Z和視差d成反比關(guān)系。當(dāng)視差非常小時,視差的細(xì)微變化都會對深度造成很大影響,而當(dāng)視差足夠大時影響很小,因此在用攝像機(jī)采集圖像時需要保持?jǐn)z像機(jī)與物體適當(dāng)?shù)木嚯x。
雙目視覺刀片厚度測量主要包括五個步驟,測量系統(tǒng)流程如圖2所示。
圖2 雙目視覺刀片測量系統(tǒng)流程
圖像采集系統(tǒng)由工業(yè)CMOS相機(jī)、相機(jī)鏡頭、環(huán)形光源等主要部分組成。兩個工業(yè)相機(jī)通過相機(jī)夾持機(jī)構(gòu)將其平行固定以保證采集符合標(biāo)準(zhǔn)的圖像集。工業(yè)相機(jī)通過USB3.0接口連接,采集的圖像通過PC端直接傳入電腦,傳輸速度快,距離短,信號干擾小,且無需使用圖像采集卡。光源為刀片圖像采集補(bǔ)光,照亮圖像刀片表面特征,根據(jù)刀片雙目測量特點選取環(huán)形光源。環(huán)形光源的放置不能遮擋相機(jī)的視角,否則成像誤差大,直接影響實驗結(jié)果。在采集可轉(zhuǎn)位刀片圖像過程中必須保持相機(jī)平行。
相機(jī)鏡頭畸變模型有徑向畸變和切向畸變兩種,其中徑向畸變是因為透鏡的制造形狀存在誤差導(dǎo)致,而切向畸變是由于相機(jī)組裝無法將透鏡和成像裝置嚴(yán)格對齊,因此需要利用相機(jī)標(biāo)定減少其帶來的誤差影響。利用位置保持平行的雙目工業(yè)相機(jī)從左右兩個方向一起攝取多對標(biāo)定板圖像。將左右工業(yè)相機(jī)采集的圖像集分別傳入MATLAB R2018a中的標(biāo)定應(yīng)用程序Stereo Camera Calibrator中,并且輸入棋盤格的寬度,識別后的棋盤格如圖3所示。
圖3 棋盤格角點識別
執(zhí)行標(biāo)定程序,并移除誤差較大的圖像以提高標(biāo)定結(jié)果的準(zhǔn)確性。將參數(shù)保存到.txt文件中,將該文件中參數(shù)提取到VS-OpenCV(Visual Studio-Open Source Computer Vision Library)中并顯示到VS的界面上,從上到下依次為左相機(jī)內(nèi)參camerMatrixL、右相機(jī)內(nèi)參camerMatrixR、左相機(jī)畸變參數(shù)dstCoeffL、右相機(jī)畸變參數(shù)dstCoeffR、平移矩陣T、旋轉(zhuǎn)矩陣R,如圖4所示。
圖4 相機(jī)標(biāo)定參數(shù)
立體校正的目的是將采集的非共面行校準(zhǔn)的實物雙目圖像校正成共面行校準(zhǔn)的雙目圖像,減少誤匹配以提高立體匹配精度和效率。在相機(jī)標(biāo)定中已經(jīng)獲取的標(biāo)定參數(shù)旋轉(zhuǎn)矩陣R和平移向量T,再結(jié)合Bouguet[5]算法進(jìn)行立體校正。經(jīng)計算得出重投影矩陣Q,世界坐標(biāo)系和像素坐標(biāo)系之間的轉(zhuǎn)換是通過Q完成。
(3)
(4)
式中,(ul,vl)和(ur,vr)分別對應(yīng)左右相機(jī)圖像上的主點坐標(biāo);d是對應(yīng)特征點視差;Tx是基線距離。
經(jīng)過立體校正后左棋盤格圖像中的任意一點與右棋盤格圖像中的對應(yīng)點都在一條直線上。圖5和圖6分別為校正前和校正后雙目圖像效果。
圖5 校正前雙目圖像
圖6 校正后效果
為了計算視差得出視差圖,需要尋找立體校正后的雙目圖像中對應(yīng)的匹配點,這一過程就是立體匹配。立體匹配分為全局立體匹配、局部立體匹配和半全局立體匹配,全局立體匹配較精確但成本高,局部立體匹配成本較低但不夠精確,本文采用成本相對較低且相對精確的半全局立體匹配。
由于測量可轉(zhuǎn)位刀片對測量精度要求較高,采用基于Roberts算法的SGBM(Semi-global Block Matching)立體匹配改進(jìn)算法對可轉(zhuǎn)位刀片圖像進(jìn)行立體匹配。Roberts算法是一種比較簡單的算法,計算成本低,定位準(zhǔn),在本測量系統(tǒng)中通過Roberts算法對立體匹配過程中SGBM算法匹配精度進(jìn)行提高從而提高雙目測距精度。
Roberts算法[6,7]利用局部差分尋找邊緣并且采用對角線方向相鄰兩像素的差近似梯度幅值檢測邊緣。其梯度公式為
(5)
(6)
(7)
Roberts算法模板如圖7所示。
圖7 Roberts算法模板
SGBM算法[8-12]是SGM(Semi-global Block Matching)在OpenCV庫中的表現(xiàn)形式,主要包括預(yù)處理、代價計算、視差優(yōu)化和后處理等步驟。
基于Roberts算法的SGBM立體匹配改進(jìn)算法的核心是將Roberts算法應(yīng)用到SGBM立體匹配過程中提高可轉(zhuǎn)位刀片圖像的邊緣定位精度。其主要步驟包括:
①利用Roberts算法對刀片圖像邊緣進(jìn)行準(zhǔn)確定位并完成預(yù)處理;
②代價計算;
用d=(xi,yi,IL,IR)表示刀片左右圖像中其中兩個點為對應(yīng)點的概率,yi為同名像點的可能性。
(8)
式中,xi,yi分別為刀片左右圖像中在同一條左右掃描線上的像點;IR(x)為左掃描線上位置x的灰度值;IR為右掃描線上的采樣點經(jīng)過線性內(nèi)插的方法得到的灰度。
③通過SGBM算法完成刀片左右圖像中同一條左右掃描線上的像點的匹配計算;
④對計算得出的代價進(jìn)行領(lǐng)域求和運(yùn)算,參照圖像的像素塊匹配目標(biāo)圖像的像素塊,通過匹配獲得一個新的視差圖;
⑤通過SGBM算法內(nèi)部檢測算法判斷選取的點是否為誤匹配點,若是,則將其剔除。
刀片厚度測量實驗主要包括以下步驟:
①通過雙目工業(yè)相機(jī)平行采集15對棋盤格標(biāo)定板圖像,導(dǎo)入MATLAB R2018a中的標(biāo)定應(yīng)用程序Stereo Camera Calibrator,刪除重投影誤差較大的圖像,完成相機(jī)的標(biāo)定工作,獲取相機(jī)內(nèi)外參數(shù),如圖4所示。
②利用雙目工業(yè)相機(jī)采集一對可轉(zhuǎn)位刀片圖像,如圖8所示,并將采集的圖像集傳入VS-OpenCV。
圖8 雙目相機(jī)采集的一對圖像
③利用計算出的相機(jī)內(nèi)外參數(shù)和Bouguet算法完成刀片圖像立體校正,獲取非共面行校準(zhǔn)(即去畸變)的雙目圖像。校正效果如圖9所示。
圖9 雙目圖像校正效果
④分別利用SGBM算法和基于Roberts的SGBM算法對上述雙目校正圖像進(jìn)行立體匹配,通過坐標(biāo)映射求出視差圖(見圖10)。通過對比兩圖可以看出,基于Roberts算法的SGBM得出的視差圖相對清晰。
圖10 SGBM視差(左)和改進(jìn)SGBM視差(右)
⑤測量刀片厚度。通過視差圖中獲取的三維坐標(biāo)即可求出刀片上表面到下表面的距離,將刀片上表面到下表面的距離轉(zhuǎn)化為上表面中一點到下表面中一點的距離,即可轉(zhuǎn)位刀片厚度。對厚度7.5mm的標(biāo)準(zhǔn)可轉(zhuǎn)位刀片分別采用SGBM算法和基于Roberts的改進(jìn)SGBM算法進(jìn)行測試,測量結(jié)果見表1。
表1 測量結(jié)果 (mm)
由表可得,使用SGBM算法測量的最小誤差為0.044mm,改進(jìn)后SGBM算法測量的最小誤差為0.024mm,測量誤差更小,說明SGBM算法測量精度高,改進(jìn)后能夠提高精度,可以滿足基本測量。
搭建可轉(zhuǎn)位刀片視覺測量系統(tǒng),通過研究圖像采集、雙目相機(jī)標(biāo)定、圖像立體校正、圖像立體匹配等關(guān)鍵圖像處理技術(shù),提出基于Roberts算法的SGBM算法改進(jìn)方法,實現(xiàn)了可轉(zhuǎn)位刀片立體幾何參數(shù)厚度精確測量。同時由于雙目視覺平臺底座制造不夠平整以及平臺放置存在一定放置誤差沒有達(dá)到理想的平行效果,導(dǎo)致刀片厚度測量結(jié)果的誤差值有一定的波動。