AZAZ Khan, 江鵬飛, 徐婉晴, 李金屏
(濟南大學 a. 信息科學與工程學院, b. 山東省網(wǎng)絡(luò)環(huán)境智能計算技術(shù)重點實驗室,c.“信息處理與認知計算”山東省高校重點實驗室,山東 濟南 250022)
目前傳統(tǒng)的測量方法是利用量規(guī)、 電子夾具等工具進行檢測,這些方法具有勞動密集型和耗時長的特點,并且對工件的測量存在誤差和延遲。許多行業(yè)采用計算機視覺技術(shù)對工件進行尺寸測量以簡化流程,應(yīng)用領(lǐng)域涵蓋建筑、汽車、 物流、 電子等行業(yè)[1-2]。
針對各種工業(yè)應(yīng)用,科研人員提出了許多基于計算機視覺的物體尺寸測量方法,主要分為模式識別方法與深度學習方法。模式識別方法又可以根據(jù)數(shù)據(jù)來源分為以下3類: 1)三維點云與模式識別相結(jié)合[3-4],即利用三維點云提取物體三維信息坐標,然后結(jié)合模式識別處理誤差計算物體尺寸,例如,文獻[3]中設(shè)計了一種軸類零件尺寸測量系統(tǒng),包括圖像采集、圖像去噪和邊緣檢測,利用Canny算子提取工件邊緣,但是該方法存在精度過低和目標檢測難以定位的問題。 2)基于線結(jié)構(gòu)光視覺傳感器與模式識別相結(jié)合[5],例如文獻[5]中利用3個激光線光源和一臺相機采集圖像,通過擬合橢圓測量圓鋼的直徑、圓度和直線度,該方法解決了目標定位問題,但依然存在較大的測量誤差。 3)基于雙目相機與傳統(tǒng)模式識別相結(jié)合[6-8],即利用雙目相機獲取圖像數(shù)據(jù)并進行分析處理,測量工件的尺寸,例如文獻[8]中提出了一種基于局部線角輪廓分割的平面零件測量方法,提取出零件的亞像素輪廓,能夠測量復雜零件的多種尺寸。
深度學習方法利用深度學習定位物體位置,然后利用激光雷達計算物體尺寸,例如文獻[9]中提出了一種線結(jié)構(gòu)光視覺系統(tǒng)來測量盒子的參數(shù)。采用激光三角剖分和深度學習方法,利用裁剪-整體嵌套邊緣檢測模型和Hough變換關(guān)鍵點計算物體尺寸,雖然精度得到了提升,但是存在硬件成本過高的問題。
上述研究是針對大數(shù)據(jù)集和特殊設(shè)備進行測量的特定情況,但是,工業(yè)測量亟需低成本且易于實現(xiàn)的方法來解決尺寸測量問題。為了實現(xiàn)低成本、高精確度和快速處理的工件測量目標,本文中提出了一種雙相機標定的物體尺寸測量方法(簡稱雙機位標定法),包括圖像采集、圖像預處理、目標定位、邊緣檢測和尺寸測量5個步驟。研究內(nèi)容包括:利用低分辨率相機,簡化檢測過程中的計算量,提高檢測效率;新增輔助攝像頭實時更新測量距離,解決目標相對相機位置發(fā)生變化的問題;由于邊緣檢測精度主要受限于光照環(huán)境影響,因此設(shè)計了環(huán)形照明模塊持續(xù)補光,確保工件邊緣的穩(wěn)定性,并且使用亞像素雙線性插值方法[10]將圖像的大小增大至原圖像的1.7倍。高分辨率相機價格昂貴,為了滿足測量精度要求,采用低成本的插值方法來提高圖像分辨率;統(tǒng)計工件對應(yīng)寬度和長度之間的像素,將像素數(shù)據(jù)代入真實長度比例系數(shù)模板中,以確定具體物體的尺寸。
圖1 相機俯視拍攝示意圖
為了提取物體的精細邊緣,使用圖像增強方法,在圖像的低亮度區(qū)域和高亮度區(qū)域使用灰度級拉伸1%的數(shù)據(jù)飽和度來突出物體的關(guān)鍵信息。同時,將高斯(Gaussian)平滑(模糊)方法(一種二維卷積算子,通過高斯函數(shù)與圖像卷積變換實現(xiàn))用于模糊圖像以減少噪聲。使用高斯分布[11]的二維圖像可以獲得合適的核,核函數(shù)G(x,y)公式為
(1)
式中:x、y為平面直角坐標;σ為高斯分布的標準差。在x、y方向上執(zhí)行卷積,可以使用標準差來調(diào)整平滑度,更大的標準差需要較大的卷積核。
加速魯棒特征(speeded-up robust features,SURF)[12]是一種新的特征描述符和檢測器,主要用于識別和圖像分類等任務(wù)。其特征檢測基于Hessian矩陣,特征描述基于Haar小波。該算法分為3個關(guān)鍵步驟,即特征點檢測、局部特征描述和特征點匹配。圖像特征匹配的任務(wù)可以通過SURF來完成,SURF首先檢測2幅圖像中的特征,然后匹配這些特征,從而成功地完成模板匹配任務(wù)。
Canny邊緣檢測算法是一種廣泛用于邊緣特征提取任務(wù)的新方法,該算法包含4個步驟。
步驟1高斯濾波以去除噪聲和虛假邊緣。采用卷積核大小為(2k+1)×(2k+1)的卷積運算。高斯濾波器的計算公式為
(2)
式中:Hij為高斯濾波器;i、j分別為圖像像素橫坐標、 縱坐標;k為內(nèi)核大小。大卷積核濾波器具有較好的降噪性能。大多數(shù)情況下,尺寸為5×5卷積內(nèi)核是最佳選擇。
步驟2通過查找水平和垂直方向的一階導數(shù),使用Sobel核計算梯度,計算公式為
(3)
θ=arctan 2(Gx,Gy),
(4)
式中:G為像素位置的梯度;Gx、Gy分別為像素位置x、y方向的梯度;θ為梯度方向。使用式(3)、 (4)可以查找單個像素的邊緣梯度和方向,在水平、垂直和斜對角線方向上獲得最終邊緣方向。
步驟3使用非極大值抑制方法移除不屬于邊緣的像素。在梯度方向上查找其相鄰像素的局部最大值。如果像素具有局部最大值,則將它視為邊緣,否則將像素填充為零。
步驟4滯后閾值化, 確定邊緣。 若某一像素位置的梯度大于高閾值, 則該位置被保留。 若某一像素位置的梯度小于低閾值, 則該位置被刪除。 若某一像素位置的梯度處于高閾值與低閾值之間, 則該像素在連接到一個大于高閾值像素時被保留。
雙機位標定法基于相機標定實現(xiàn)工業(yè)尺寸測量。圖2為測量方法流程圖。
圖2 測量方法流程圖
使用一個1 200萬像素的手機攝像頭,圖像尺寸為4 032像素×3 024像素。獲取參考點物體和待測工件同時出現(xiàn)在一幀內(nèi)的場景圖像,然后在初始位置對系統(tǒng)進行標定。
由于圖像采集時存在光照影響和其他噪聲,圖像質(zhì)量可能會受到影響,因此需要對圖像進行處理。首先,將圖像進行灰度化;然后,在高強度和低強度下進行1%數(shù)據(jù)飽和度的灰度拉伸;再后,通過亞像素插值來增大圖像的尺寸,提高邊緣檢測的精度,利用高斯模糊濾波平滑去除隨機噪聲;最后,利用形態(tài)學方法填充邊緣之間的空隙。
應(yīng)用基于特征的目標檢測技術(shù)(模板匹配[13])進行待檢目標的定位。模板匹配是一種基于特征點匹配的快速魯棒的模板匹配算法,采用隨機抽樣一致(random sample consensus, RANSAC)來估計目標位置的信息[14]。SURF特征點匹配技術(shù)是許多計算機視覺任務(wù),例如目標檢測、圖像配準和三維重建的魯棒性算法。
邊緣檢測是計算機視覺中的一項基本技術(shù),用于檢測圖像中對象的邊界。 邊緣檢測的準確性對于檢測物體的精細邊界至關(guān)重要,這是該領(lǐng)域的一個具有挑戰(zhàn)性的問題。 本文中將重點介紹使用Canny邊緣檢測算法來提取對象的邊界。
2.5.1 相機校準方法
使用一個尺寸已知的標準對象測量其他工件的尺寸。首先需要建立像素和真實單位(mm)之間的對應(yīng)關(guān)系;然后,利用這些信息將設(shè)備進行校準,以測量工件相對于相機移動時的尺寸。標準對象類似于數(shù)字圖像中的比例尺,它是一個以毫米為單位的標準尺寸的物品。
為了對每個對象進行標記并確定其區(qū)域范圍,需要提取每個對象(參考對象和工件)的邊界。圖3為基于像素與真實長度比例系數(shù)測量方法示意圖。將該測量值與參考對象的原始長度進行比較,以獲得像素與真實長度之間的比例系數(shù)。圖4為基于標準件的尺寸測量方法流程圖。獲取參考對象兩側(cè)任意兩點之間的距離單位為像素,計算參考對象像素(reference object pixel,ROP)之間的像素距離。
圖3 基于像素比例系數(shù)測量方法示意圖
圖4 基于標準件的尺寸測量方法流程圖
在獲得圖像中每個像素對應(yīng)實際長度的比例系數(shù)后,需要對系統(tǒng)進行校準,并進一步使用這個校準值來計算物體相對于相機的位置。該方法將像素的長度轉(zhuǎn)換為真實長度,計算公式為
(5)
(6)
式中:R為像素與真實長度比例系數(shù);ROP為標準件像素長度;ROL為標準件實際長度;TOL為實際測量結(jié)果;TOP為測量目標像素長度。
受成像模型和三角形相似性方法[15]的啟發(fā),只要獲得從物體到相機的焦距,就可以測量出從相機到物體的距離以及物體的真實尺寸,因此,只要物體在固定點位置被校準,就可以計算物體在其他不同位置的尺寸。此外,可以在校準時測量物體和相機之間的距離。圖5為自動更新測量距離的標定方法示意圖。通過增加第2臺相機來確保測量距離的準確性,當工件沿著工作距離移動時,利用第2臺相機讀取工件位于標尺的刻度,從而正確計算出物體的測量距離,不必手動更新。第2臺相機將記錄物體的新位置,并將信息發(fā)送到主系統(tǒng),主系統(tǒng)將利用它來確定物體的尺寸。計算位置D0處物體的像素,其寬度W也是已知的,ΔD表示物體的位移,使用三角形相似性的式(7)來計算位置D0處的焦距。
D—物體與相機鏡頭之間的距離;D0、D1—物體移動前后的位置; ΔD—物體的位移; P0、 P1—物體移動前后的像素。圖5 自動更新測量距離標定方法示意圖
(7)
式中:F為焦距;D為物體和相機鏡頭之間的距離;P為物體在位置D0的像素(圖像上的尺寸,單位為像素)。
然后,將目標移動到D1位置,并計算目標在D1位置處的像素P1,通過式(8)可計算出新位置處目標的寬度。當3個參數(shù)都已知時就可以計算D、W、P、F等其他參數(shù)。
(8)
綜上所述,首先基于參考對象獲得圖像中每個像素對應(yīng)實際長度的比例系數(shù),然后利用該比例系數(shù)對系統(tǒng)進行校準,以獲得不同位置的測量尺寸。
2.5.2 光照變化對工件邊緣檢測的影響
工件的邊緣檢測對準確的尺寸測量非常重要。測量結(jié)果的精確度取決于邊緣檢測的效果,而邊緣檢測對于實驗環(huán)境中的光照非常敏感。發(fā)光二極管(LED)照明環(huán)是一種標準的照明源,可以消除檢測環(huán)境中的不均勻照明效應(yīng)。由于檢測空間是封閉且處于控制之下,因此必須保持合適的照明條件。一個由60個LED組成的環(huán)形燈排列成一個圓,固定在相機的鏡頭上。照明模塊如圖6所示。環(huán)形燈中的LED燈的數(shù)量和圓的半徑取決于待檢工件的大小。隨著照明強度的變化,所有數(shù)字圖像的像素灰度值都會相應(yīng)地改變,因此,照明條件對于確定物體的邊界至關(guān)重要,既要避免照明過度,又要防止照明不足的情況。
圖6 照明模塊示意圖
利用雙機位標定法對特定工件進行測量。測試的工件是2張卡片,因為它們具有復雜的邊緣,且都不是完美的形狀,所以實驗結(jié)果能夠體現(xiàn)出雙機位標定法是否可以針對復雜的工件給出精確的尺寸估計。其中一張方形卡片,邊長約為39.5 mm;另一張為矩形卡片,長度、寬度分別約為74、 57 mm。
完成圖像采集和圖像處理后, 利用SURF特征在圖像中定位工件位置。 當圖像中包含多個其他對象時, 特定目標的定位就十分關(guān)鍵。 圖7為基于SURF特征點的目標檢測過程示意圖。 圖7(a)為相機距離待測卡片約28 cm拍攝的原始圖像; 圖7(b)為在整個圖像中定位目標的模板圖像; 圖7(c)為視野域與模板對應(yīng)的相同特征, 左側(cè)為視野域圖像, 右側(cè)為模板圖像; 利用匹配好的特征對實現(xiàn)待檢目標的定位, 如圖7(d)所示。
檢測到目標后,使用高斯函數(shù)對原圖進行去噪, 過程如圖8所示。 圖8(a)為輸入原始圖像; 圖8(b)為高斯平滑處理后的圖像,需要進行邊緣檢測以提取2張卡片的邊界; 圖8(c)為2張卡片的邊緣,利用該邊緣信息,通過像素對應(yīng)實際長度的比例系數(shù)可以測量卡片的實際邊緣之間的尺寸; 圖8(d)為卡片的測量結(jié)果。
方形卡片是標準件,其尺寸已知。為了獲得參考對象的像素數(shù),需要使用式(5)、(6)來測量第2個對象的尺寸。本實驗中相機與待檢物體在豎直方向上沒有完全對齊,相機的視角對結(jié)果影響很大。
當相機與待檢物體在豎直方向完美對準時,尺寸測量結(jié)果將會得到明顯改進, 垂直面測量中間結(jié)果如圖9所示。圖9 (a)為待測量的2個物體,分別為矩形卡片和方形卡片;圖9(b)為方形卡片對應(yīng)的真實尺寸,邊長為39.5 mm;圖9(c)、 (d)為矩形卡片對應(yīng)的真實尺寸, 長度為74 mm, 寬度為57 mm; 圖9(e)為2個待測物體的邊界;圖9(f)為計算所得的物體的尺寸。
結(jié)果表明,在相機與待檢物體在豎直方向?qū)蕰r,測量效果達到最好,因此為了達到良好的效果,相機的最佳位置應(yīng)該垂直于待檢物體。
針對物體相對于相機的位置發(fā)生改變的情況進行尺寸測量實驗, 實驗測量中間結(jié)果如圖10所示。 圖10(a)為相機距離待測物體約28 cm拍攝所得的圖像; 圖10(b)為相機距離待測物體約51 cm拍攝所得的圖像; 圖10(c)為需要測量的對象, 目標是當物體從一個位置變化到另一個位置時, 從2個不同的位置測量方形卡片的尺寸; 圖10(d)、 (e)分別為距離該待測物體約28、 51 cm位置所拍攝計算出的精細邊緣。 在距離約28 cm拍攝的圖像上計算方形卡片的像素數(shù), 然后通過相機距離物體的像素數(shù)P、 物體的寬度W和相機距物體的實際距離D, 使用式(7)計算相機的焦距。 從距離待測卡片約51 cm的位置拍攝所得的圖像中計算出相同物體的像素數(shù), 利用焦距信息使用式(8)計算物體的尺寸, 如圖10(f)所示。
表1為雙機位標定法在上述3種條件下對物體尺寸的測量結(jié)果??梢钥闯?當相機視角不垂直于檢測平面時,實際值與測量值之間的測量誤差較大;當視角與檢測表面垂直時,測量精度有較大提升,相對誤差最小,因此,為了獲得高精度的檢測結(jié)果,相機中軸線應(yīng)該垂直于檢測表面;當相機與待檢物體垂直對齊并且改變相對位置時,在距離相機有限的距離內(nèi)估計物體在變化位置的實際尺寸。多數(shù)工業(yè)相機都不是固定在檢測表面的一個位置,因此,表1得出針對移動的目標仍然可以準確地測量其尺寸。上述結(jié)果表明,雙機位標定法可以在相對誤差較小的情況下成功測量目標的尺寸。
表1 不同條件下雙相機標定的尺寸測量方法的物體尺寸測量結(jié)果
表2為雙機位標定法與其他方法測量誤差對比。由表可知,與基于擬合橢圓的工件測量方法[5]和基于局部線角輪廓分割的工件測量方法[8]相比,雙機位標定法性能更好。與激光三角測量方法[9]相比,雙機位標定法需要較少的訓練數(shù)據(jù)和較少的計算資源來快速計算測量結(jié)果。
表2 不同測量方法對比實驗結(jié)果
設(shè)置不同光照強度的對比實驗, 驗證光照對提取的物體邊緣準確性的影響。LED環(huán)形燈的亮度取決于電壓的變化,對圖像的質(zhì)量有很大的影響。表3為不同照明強度下的圖像邊緣灰度級分布,圖11為不同灰度級示意圖??梢钥闯? 隨著照明強度的變化,數(shù)字圖像中邊緣像素的灰度值也會按比例變化,即在低光照強度下,亮度太低,灰度值也很低,因此背景和物體不能相互區(qū)分,當提高光照強度時,亮度也會增加,圖像質(zhì)量提高,潛在邊界可以從背景中區(qū)分出來。如果光照強度太高,圖像又會變得太亮,物體不能與背景分開,因此,在完全黑暗的條件和過于明亮的條件下,物體和背景都是無法區(qū)分的,從而可以得出結(jié)論:最佳照明是區(qū)分物體和背景的必要條件,邊緣檢測效果取決于照明條件。
表3 不同照明強度下的邊緣灰度級分布
圖11 不同灰度級圖像示意圖
通過誤差分析可以有效提高檢測精度。從理論上估計工件的尺寸,取決于幾個因素,例如相機內(nèi)部參數(shù),包括傳感器尺寸、分辨率和焦距,使用高分辨率成像設(shè)備時,較小的物體尺寸將以更高的像素來表示,并且測量精度也將提高。影響測量精度的其他因素包括照明強度、相機旋轉(zhuǎn)角度和振動等,為了消除這些因素的影響,必須從操作設(shè)計的角度考慮,包括相機分辨率的選擇、光源設(shè)計,以區(qū)分物體與背景,獲取物體的完整視野。
工件尺寸自動測量在工業(yè)產(chǎn)品檢測中具有十分重要的意義。工件尺寸測量中存在的問題包括工件邊界的精確定位、結(jié)果計算時間過長以及相機與物體的相對位置協(xié)調(diào)問題。本文中提出的雙機位標定法有助于解決這些問題,并且以最少的資源實現(xiàn)工件尺寸檢測。該方法在數(shù)字圖像中自動估計工件的尺寸,具有自適應(yīng)和低成本的特點,解決了工件尺寸測量中測量精度、計算時間和相對位置變化問題。實驗結(jié)果表明,該方法能減小測量誤差,相對誤差為0.7%,具有測量精度高、處理速度快、對相對位置變化適應(yīng)性強等優(yōu)點。