張廣宇,徐 罕,魏亞峰,趙雨琨,李守委,吉 勇
(無錫中微高科電子有限公司,無錫 214035)
機器視覺在現(xiàn)代智能制造領(lǐng)域中的重要性越來越高[1?2],傳統(tǒng)的2D視覺技術(shù)將三維空間的待測物品通過投影變換映射到二維圖像上[3?4],丟失了成像空間坐標系的Z軸信息,導致與深度信息相關(guān)的視覺檢測無法進行。如圖1 所示,不同高度的電子元件在2D 成像模式下差異不明顯,但通過三維重建算法采集待測品的深度信息,并通過對點云圖像信息的處理,即可實現(xiàn)三維視覺的自動化檢測。
圖1 2D成像效果與3D成像效果對比
在智能制造裝備中,三維重建技術(shù)被廣泛應用于測量產(chǎn)品高度、體積、表面角度、平面度等信息,并可對透明或顏色相近的物體進行特征區(qū)分[5?6]。三維重建算法種類很多,按照拍照視角數(shù)量可分為多目法與單目法;按照是否借助信號調(diào)制光源分為主動成像法與被動成像法;按照成像原理是否借助光學原理分析可分為光學成像法與非光學成像法。智能制造領(lǐng)域?qū)θS重建精度與效率均有較高要求,對檢測范圍要求較?。??8]。通過分析三維重建算法的特點,本文著重對適用于智能制造裝備的三角測距法、相位輪廓測量術(shù)、光度立體法這三種高精度高效的三維重建算法進行研究,分析算法的技術(shù)原理以及在智能制造不同領(lǐng)域的應用[6]。
通過對三維視覺重建算法原理進行分析,從而深入了解算法的物理條件與實施方式,幫助快速定位該算法在智能制造的應用領(lǐng)域。
三角測距法是一種應用較廣的三維成像方法[9],三角測距系統(tǒng)通過激光器發(fā)射線激光在空間中與相機內(nèi)部構(gòu)建兩個相似三角形,計算標定參數(shù)獲取兩個三角形對應信息。當產(chǎn)品在Z軸方向上有深度變化,則空間三角形發(fā)生變化,通過計算相機內(nèi)部三角形產(chǎn)生的相應變化即可獲取產(chǎn)品位移量。目前工業(yè)產(chǎn)品表面3D 信息提取主要基于三角測距法的3D 相機采用線激光方式,國內(nèi)外均有不同品牌廠商可以生產(chǎn),技術(shù)方案比較成熟。3D 相機機械結(jié)構(gòu)大多如圖2(a)所示,使用時激光通過柱面物鏡調(diào)制,方向垂直于待測品。高精度CMOS 相機傾斜固定角度采集激光圖像,為防止環(huán)境光源干擾,需在鏡頭前添加激光波長濾波器。相機采用移軸鏡頭,防止虛焦,增加可檢測深度范圍。使用方式與線陣相機一樣,待測品與相機間保持相對勻速運動。
圖2 線激光測量儀結(jié)構(gòu)原理
具體工作原理如圖2(b)所示,?ABO是空間三角形,?FEB是相機內(nèi)三角形,且?ABO∽?FEB,易知,其中AB 為相機限定的已知長度,BF為相機鏡頭的焦距f,F(xiàn)E可由像元尺寸與像素坐標相乘得出,從而完成深度信息的采集。當待測品表面發(fā)生高度變化時,變化量y的公式為
其中:lAB為AB 的長度,Pixelsize為像元尺寸,Pos'為高度變化后激光在圖像中的成像坐標,Pos為高度變化前激光在圖像中的成像坐標。由式(1)可知,基于三角測距法的3D 相機檢測精度與像元尺寸與檢測范圍相關(guān),像元尺寸越小,檢測精度越高;檢測范圍越小,檢測精度越高。實際項目中線激光相機的選型需根據(jù)檢測需求與檢測能力權(quán)衡確定。
在使用正弦編碼的光柵條紋檢測三維信息的方法中,相位測量輪廓術(shù)(phase measuring profilometry,PMP)是面結(jié)構(gòu)光三維重建較為重要的方法[10?11],目前在工業(yè)產(chǎn)品三維重建中有廣泛的應用,國外已有多家品牌商量產(chǎn)了基于該技術(shù)的3D 相機,在保證Z 軸計算精度高的同時,提高了可測量高低落差的范圍,并且可一次性重建整個待測面的三維信息,與基于三角測距法的線激光3D 相機相比,提高了待測品的檢測效率。
PMP 使用投影儀分n次投射相位間隔的正弦光柵條紋,例如使用四步相移法提取光柵相位時,n= 4,相鄰投射的正弦光柵相位差為,如圖3(a)所示。
圖3 PMP工作原理
當正弦光柵條紋投射到待測品表面時,正弦光柵的相位隨表面高度信息而發(fā)生相應偏移,其中光路原理如圖3(b)所示,正弦光柵由P點發(fā)出照射到待測品上,相機由I點采集到光柵圖像,取坐標為(x,y)的D點,以光路構(gòu)建三角形可得?PDI∽?CDA,由此易知,推導出:
同 時 相 位 差?φ(x,y)=φC-φA= 2πf?CA,則,帶入上式可得:
其中:h(x,y)為D點的Z軸高度值,?φ(x,y)為D點的相位差值,L為相機到參考平面的距離,d為P點到I點的距離,f為參考平面上光柵頻率,可由相鄰光柵間距得出。使用相移法求取,相機采集到光柵圖像的光強分布函數(shù)為
A(x,y)為待測面背景光強,B(x,y)為待測面調(diào)制度,φ(x,y)為待求相位,δ為光柵相移量,i表示第i步相移。四步相移就是對(x,y)點投射四次相位差為的光柵,求取四次光強值,分別是:
由方程組求解后:
這樣就可將光柵圖像上每個像素的相位值φ(x,y)求出,但被截斷在arctan 的值域范圍內(nèi)。路徑跟蹤算法中基于網(wǎng)絡(luò)規(guī)劃的最小費用流法能較好保持與原始相位的一致性,并且受噪聲影響較小,是比較好的相位展開算法。所以使用路徑跟蹤算法將包裹相位展開成真實相位,將解出的?φ(x,y)帶入式(3),即可求出D點的Z軸高度信息。
光度立體視覺基于明暗度的光度立體法由陰影恢復形狀法發(fā)展而來,可精確計算出非剛體待測品表面的法向及Z軸信息,同時可避免表面輪廓、反射率及紋理等信息對測量結(jié)果的干擾[12]。該三維重建方法測量深度信息效率高,且照明方式部署較為簡單,硬件成本較低。同時保留了較多的高頻信息,是智能制造領(lǐng)域高效三維重建的重要方法。
光度立體法通過求取每點表面法向量間接計算出深度信息,最初是基于標準朗伯(Lam?bertian)面提出的。其工作原理如圖4 所示,即相機在固定位置拍攝一組n個照明方向下的待測品朗伯面圖像,每個方向照明的光源均在無窮遠且光強為I,記錄n次照明下待測像素點的灰度E(x,y)=(E1(x,y),…En(x,y))T,若該像素對應點的單位法向量為N(x,y)=(nx,ny,nz)T,n
圖4 光度立體法原理
方程中E(x,y)、L為已知量,ρ(x,y)與I為未知常數(shù),后面可通過向量歸一化過濾掉。待求法向量的N(x,y)有三個未知量,需建立至少三個方程的方程組進行求解,即n≥3方可滿足求解需求。同時由線性代數(shù)相關(guān)知識,L矩陣中至少有三個行向量需滿足不共面條件,求得的N(x,y)才有唯一解。
對式(7)進行整合,得:
由于N(x,y)為單位法向量,故:
同時,由式E(x,y)=LS(x,y)可得:
由此可計算出點(x,y)的法向量N(x,y),根據(jù)法向量與梯度的關(guān)系,求出點(x,y)的梯度:
由梯度信息計算待測品表面Z軸信息的算法主要有多路徑積分法、傅里葉基函數(shù)法、最小二乘法,其中最小二乘法是光度立體法求解中較為常用的方法。在任意連續(xù)的曲面中Z=f(x,y),(Zx,Zy)為曲面在x軸與y軸上的偏導數(shù),當曲面Z=(fx,y)無限接近實際待測品表面函數(shù)時,有:
這是一個泛函中求極限函數(shù)的問題,令F=,由歐拉-拉格朗日(Euler?Lagrange)方程可得:
通過對泊松方程求解即可獲取待測品表面的深度信息。
三個方向的照明可能會因凸起始終存在陰影區(qū)導致陰影區(qū)的法向量無法獲取,所以工業(yè)產(chǎn)品借助光度立體法實現(xiàn)三維重建時一般采用四個方向以上的照明方式求解法向量。
線激光三角測距法依賴于產(chǎn)品反射線激光的成像效果。激光隨待測品表面高度變化而在成像時產(chǎn)生位移,借助三角測距法即可獲取激光位于產(chǎn)品單列的高度信息,隨后將每一列的高度信息進行拼接,即可生成三維圖像。理想狀態(tài)成像效果如圖5(a)所示。
圖5 線激光成像
在相同的曝光時間與光圈條件下,產(chǎn)品表面激光線成像亮度僅與產(chǎn)品表面對激光的反射率相關(guān)。實際采集到的激光圖像如圖5(b)所示,若某些區(qū)域反射率過大,導致激光成像過亮;或某些端點區(qū)域的激光反射角出現(xiàn)跳點,通過三角測距法計算該點高度出現(xiàn)較大偏差。如圖6(a)所示,測量得到的原始點云數(shù)據(jù)進行三維渲染后可見三維視圖表面有很多噪點。
圖6 三角測距法噪聲過濾
通過先驗知識可知,正常先進制造產(chǎn)品無尖峰裝凸起或凹陷,可通過對原始三維數(shù)據(jù)進行濾波處理,實現(xiàn)噪點的去除。通過分析點云數(shù)據(jù)特征可知,邊緣梯度信息與深度信息非常重要,所以使用自適應雙邊濾波算法對點云數(shù)據(jù)進行處理,經(jīng)三維渲染后的效果如圖6(b)所示,噪點干擾已獲得較好的濾波效果。
三角測距法通過斜視相機采集線激光在產(chǎn)品表面反射光計算每點的三維信息,在產(chǎn)品表面有凸臺結(jié)構(gòu)的條件下,由相機斜視導致的問題主要有兩個方面。如圖7 所示,一方面是當激光反射光到鏡頭光路接觸凸臺弧角時,激光反射光在凸臺弧角區(qū)域發(fā)生二次鏡面反射,使相機采集到的激光位置失真,導致計算出該區(qū)域的位置信息產(chǎn)生較大偏移;另一方面當激光反射光被凸臺完全遮擋時,相機無法獲得激光圖像,導致從此遮擋區(qū)域到凸臺邊緣的深度信息完全缺失,不能滿足產(chǎn)品整面三維重建的需求。
圖7 凸臺結(jié)構(gòu)對三角測距法影響
為提升三角測距法深度信息采集能力,減少凸臺結(jié)構(gòu)對三維重建的影響。首先根據(jù)先驗知識,對凸臺邊緣區(qū)域的失真階躍信息進行刪除,防止對深度信息的計算產(chǎn)生影響。對于激光被完全遮擋的區(qū)域,使用不同采集方向的三角測距相機進行二次測量,并將兩次測量的深度信息進行拼接,補足缺失區(qū)域。如圖8 所示,為滿足智能制造領(lǐng)域?qū)θS重建效率的需求,使用兩顆檢測方向相對的感測頭同時測量,將結(jié)果拼接后渲染輸出,解決凸臺結(jié)構(gòu)對三維重建的遮擋。
圖8 雙檢測方向三角測距法三維信息合成
PMP 應用于待測品表面三維重建將待測物表面假設(shè)為朗伯面,即將入射光在所有方向均勻反射,但實際檢測中待測品表面通常會存在光滑的玻璃、金屬等材質(zhì),反射光為鏡面反射使局部光強超過測量范圍導致重建失真,另外光柵圖像中還會存在噪聲干擾、環(huán)境光干擾等問題[13]。為降低這些問題的影響,實際應用中基于PMP的3D相機通常使用四個光柵光源從四個方向分別依次發(fā)射四組光柵,如圖9 為一個光柵光源發(fā)出的一組光柵,每個正弦光柵相移八次,并切換八個頻率,應用多頻外差相移算法對同一坐標求出四個Z軸信息,并對四個Z軸值進行極值抑制擬合。其中高頻光柵用來降低噪聲影響,低頻光柵可最小化相位展開的運算復雜度,四個方向的光柵避免了單一方向光柵發(fā)生鏡面反射使測量結(jié)果失真的問題。這樣就避免了因為待測品表面結(jié)構(gòu)、反射率的差異對三維信息的影響,并平滑了噪聲干擾,從而得出精度較高的Z軸信息。
圖9 多頻外差相移光柵成像
光度立體法理論基礎(chǔ)建立在產(chǎn)品為標準朗伯面的基礎(chǔ)上,以產(chǎn)品表面對各方向光線的反射強度統(tǒng)一為前提,且對產(chǎn)品成像灰度值有高度依賴性。當光度立體法應用于彩色物體的三維重建,因彩色產(chǎn)品表面的顏色會影響成像灰度值大小,計算出彩色區(qū)域的法向量失真,會得到錯誤的深度信息。在此情況下需使用彩色光度立體法進行解決。彩色光度立體法使用三原色平行光從三個特定角度同時對產(chǎn)品照明,使用彩色相機獲取產(chǎn)品圖像后,通過參照平板與相同材質(zhì)的采樣球即可進行彩色表面產(chǎn)品三維重建。
彩色相機與灰度相機在相同分辨率與像元尺寸的條件下,彩色相機的三原色像元的單色像元尺寸更小,對噪聲抑制能力不如灰度相機;另外現(xiàn)有的光源控制器與相機成像速度可滿足光度立體法飛拍條件,所以彩色光度立體法實際應用在智能制造領(lǐng)域時,一般使用高分辨率的灰度相機進行飛拍,照明方式如圖10 所示,三原色平行光依次從四個角度對產(chǎn)品進行照明,相機直接獲取單通道成像亮度,并完成產(chǎn)品三維重建。
圖10 彩色光度立體法照明方式
使用三維重建算法提取出產(chǎn)品表面深度信息后,通過構(gòu)建基于深度值的二維矩陣,即可將3D 圖像轉(zhuǎn)化為2D 圖像進行處理[14]。用于2D圖像的算法均可以用來檢測待測品表面深度缺陷信息。
以常用的差分法為例,如圖11 所示,首先構(gòu)建標準品的3D 圖像,對圖像使用算法處理后注冊為標準模板。然后對后面獲取的3D 檢測圖像進行相同算法處理,并進行特征定位后與標準模板圖像做差分運算。差分法原理如圖12 所示,若待測品存在高度類別的缺陷,差分結(jié)果在缺陷位置會存在較大的數(shù)值,若數(shù)值超過設(shè)定的最大閾值,則在該處標記為缺陷位置。
圖11 差分法在3D圖像缺陷檢測的應用
圖12 差分法原理圖
三維重建算法應用于智能制造裝備領(lǐng)域中需要具有較高的測量精度與測量效率。本文分析了高精度高效的三維重建算法原理與實施方式,對線激光三角測距法、相位輪廓測量術(shù)以及光度立體法應用在智能制造裝備中出現(xiàn)的問題進行了統(tǒng)計。同時基于算法原理對應用問題出現(xiàn)的原因進行研究,給出問題解決方案,最后研究了三維數(shù)據(jù)的處理方法。在實際的工程應用中,為提高三維視覺測量的精度與魯棒性,三維視覺相機通常具備兩種以上的三維測量功能,對不同三維重建算法測得的深度信息進行比照與補償,降低產(chǎn)品表面結(jié)構(gòu)與噪聲對測量結(jié)果的影響,是智能制造裝備三維視覺未來發(fā)展的方向。