借力結構光技術 3D測量系統簡化機器視覺設計

2016-09-05
隨著科技發展,產品體積逐漸小型化,提高三維(3D)測量系統精密度是工業界相當重要的議題。三維雷射測量技術是一種重建物體表面的技術,源自於1960年 代,受限於當時的技術與儀器性能,必須耗費很多時間才能獲得精確的物體資訊。而後,針對各種特殊應用,不同類型的測量技術亦隨之發展。
3D測量技術現況

3D測量的原理與相機拍照的原理類似。相機取得的是色彩資訊,構成照片所需的像素成分,而3D測量器抓取的則是位置資訊,形成點雲所需的各點座標。取得 位置資訊之技術可分為接觸式與非接觸式兩種。接觸式必須透過實際碰觸物體表面才能獲得資訊,可以精準重建待測物。然而此方式需要較長的測量時間,探 針或待測物亦有毀損之可能。非接觸式則不需要接觸待測物,分為主動式與被動式兩類,差別在於是否提供輻射能量給待測物。常見的非接觸主動式技術如: 時差測距(Time-of-flight)、相位移位(Phase Shift)、三角測距(Triangulation)。而非接觸主動式掃描器有錐狀全像(Conoscopic Holography)、結構光 (Structured Light)、調變光(Modulated Light)和空間體積式技術(Volumetric Techniques)。

非接觸被動式技術不輻射任何能量,僅依賴待測物反射周圍輻射能量的方式,尤以偵測可見光為主的掃描器為大宗,如立體視覺法(Stereoscopic Systems)、 立體光學法(Photometric Systems)與輪廓法(Silhouette Techniques)。另外還有使用者輔助(User Assisted),由使用者提供資訊,針對相同物件拍攝不同 照片,識別待測物的特徵或形狀以協助重建物體,類似全景攝影的概念。 三維測量系統的應用範圍廣泛,相對於高單價的雷射測量系統,具有結構光技術的3D測量系統相對便宜與快速,因而成為主流。以下將以結構光測量系統為例 ,闡述三維測量系統之原理與應用。

三維結構光測量系統架構

將光柵圖案透過投影的方式投射到場景中的技術,就稱為結構光。結構光的概念與立體視覺法類似,立體視覺法使用兩個攝影機在不同位置拍攝相同場景,經 由計算空間點在兩幅照片中的匹配點以獲得三維資訊。而結構光測量系統則是將其中一個攝影機換成投影機,因此亦可視為變形的立體視覺。

圖1 結構光測量系統

結構光測量系統主要由投射裝置、攝影機與處理系統組成,如圖1所示。投影機用來投射特定光柵至物體表面上,而攝影機擷取被物體表面輪廓所影響後的光 柵圖案。光柵的變形程度與投影機和攝影機之間的相對位置以及物體表面的起伏有關。一般而言,光柵的扭曲代表物體非平面,而光柵的位移程度與物體高度 呈現正相關。因此,當攝影機與投影機的相對位置固定時,光柵的變化情況可透過三角測量法描述物體的三維資訊。圖2描述使用結構光重建3D資訊的流程。

圖2 結構光測量系統流程

結構光基本原理

在結構光測量系統中,一般都使用三角測距原理以獲取物體的三維資訊。其基本原理是根據相機、投影機與待測物之間的幾何關係,以計算出待測物表面的輪 廓訊息。圖3為三角測量原理之簡易示意圖,以X-Z平面闡述相關幾何關係。其中P、C分別表示投影機與攝影機。Q1為物體表面被投射光源照射到的一點,座標 值為(x,y,z),Q2為Q1在攝影機畫面成像的位置,值為(u,v,f)。其中f、b與θ為已知,f代表攝影機焦距,b為投影機與攝影機間的距離,一般稱為基線,而θ 為投影光線與基線之夾角。 由於x/u=y/v=z/f配合運用其他相似三角形的概念,可得到待測物上Q1點與相對應攝影機畫面上之Q2點的關係式如下:

圖3 三角測量原理示意圖

由以上關係式,可獲得待測物表面上任一點的座標值。而根據投射不同的光束,有多種結構光模式,如點結構光、線結構光、多線結構光與面結構光。投影光 源若為點光源,則稱為點結構光,測量時需要逐點掃描物體,測量時間與物體的體積大小呈正相關。線結構光為點結構光的延伸,其投影光束為線光源,掃描 一次能獲得更多的空間資訊。而投影多束線光源或光條,則稱為多線結構光,可採用光柵達到多光條的效果,取得物體更大範圍的資訊,提升測量速度,然而卻也增加光條識別的問題。面結構光則是將投影光束一次完整投射在物體表面,大幅提高測量速度,可使用投影光柵條紋實現面結構光模式。

編碼與重建

無論使用何種結構光模式,其目的皆為提取物體空間資訊的手段。隨著更大範圍的投影光束,測量速度因而大幅度地提升,卻也增加了運算複雜度。在點光源 模式下,待測物座標值可經由逐點掃描獲得,而在面光源模式下,則必須先進行光柵識別的處理,才能計算三維資訊。因此為了求解出待測物表面特定點的座標值,必須將光柵進行編碼的處理,準確地標定出特定點所對應的光柵,並由此得到解碼序列,進而解算出掃描點的空間資訊。

結構光編碼方法則可區分為時序編碼(Time-multiplexing)、空間編碼(Spatial Neighborhood)和直接編碼(Direct Coding)三種類型,圖4為各編碼類型之示 意圖。時序編碼是採用分時多工的概念,多幅光柵圖案依照時間順序逐一投影至物體表面,每次投影都對物體表面各點產生一個碼值,待全部光柵投影完成後,則待測物上的每一點皆能對應一組特定的編碼。

圖4 結構光編碼類型(依次為時序編碼、空間編碼與直接編碼)

常見的時序編碼有採用強度變化的二值化編碼、格雷碼與灰階多值碼,和採用相位偏移的編碼以及上述兩種混合的編碼。空間編碼則只需投影一次光柵圖案, 利用鄰近區域的光柵資訊如線條、顏色或形狀等來產生編碼資訊。直接編碼是在光柵圖案的各點給一特定的顏色資訊,直接產生對應的編碼,如使用灰階漸層或彩色漸層的方式,此種編碼方式其鄰近的像素的色差不大,亦會受到待測物表面顏色與表面反射狀況影響,不容易獲得準確測量值,因此較少使用。

圖5為實際使用時序編碼類型之格雷碼所產生的光柵,將其投影至物體表面後可觀察到調變後的光柵圖案。可看出光柵圖案是直接投影,並非逐行或逐列式的投射。而受到物體有高度落差的影響,使得光柵條紋有出現偏移的狀況。經過編碼與解碼的運算處理後,圖6為點雲的輸出結果,可見除了受到物體陰影遮蔽,以及光柵無法投影處(如物體背面與側面),其他範圍之物體表面輪廓皆可透過各座標點所解析的數據,忠實且精準地重建物體三維資訊。

圖5 調變後光柵(時序編碼)

圖6 點雲輸出

視覺導引應用

透過結構光測量系統獲得物體三維資訊後,可再進行更深入的應用,如產線自動化的應用。以往,機器人只能做簡單或重複性高的工作,然而透過3D測量技術,機器人被賦予「看」的能力,轉變成高精密且具備智慧化系統的機器。

圖7為自動取放系統的示意圖。架設一台機器手臂搭配結構光測量系統,於機器手臂前方配置一個工作平台,而平台上有雜亂堆疊的物品。將結構光測量系統視為眼,而機器手臂視為手,建立起手眼協調的轉換機制。透過蒐集來自3D測量所獲得的巨量雲點資訊分析載具、工件、堆疊樣貌等交互資訊,挑選出最佳的待取物。並透過其他運算機制,規劃機械手臂的行進路線。因此在此種任意堆疊的使用情境下,結合物品深度資訊與待取物姿態分析等資訊,以及機器手臂作動範圍等規格,便可達成物品的取放需求。

圖7 自動取放系統

更甚者,亦可在此應用上增加聯網監控平台,建立物聯網機制,將機械手臂與3D視覺系統在運作過程中的參數回傳主機,使其能主動蒐集線上數據,快速診斷異常狀態,不需耗費人力與大量時間進行各步驟之故障檢測,大幅縮短維修時間,確保製程品質。並且,在多樣的異常狀態處理過程累積下,亦可提升機台的完備性與穩定度,達到智慧系統的目的。

(本文作者任職於工業技術研究院微系統中心)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!