2021 年 3 月出版

科儀新知 第 226 期

光學量測技術產業應用專題

0226007

三維結構光量測方法與應用之 回顧

A Review of 3D Structured Light Measurement Methods and Applications

張毓紋

Yu-Wen Chang

傳統二維影像技術已經不敷現今的市場需求,多了一項深度資訊的三維量測技術因此興起,其中結構光技術具有高解析度與高精度的優點,應用廣泛。本文首先介紹三種常見的非接觸式三維形貌量測方法,並說明結構光三維量測技術的工作原理與校正方法之演變。接著將結構光編碼方法與編碼圖案依分類來比較其優缺點,再列舉結構光三維量測技術在各種領域中的應用。最後討論一些目前三維量測技術的技術障礙與挑戰,並提出潛在應用與未來方向,以了解其發展性。

Traditional 2D image techniques are insufficient for market demand, and 3D measurement techniques, which owns the depth information, are rising. Among 3D measurement techniques, structured light method is widely applied due to its high resolution and high accuracy. In this article, first, three common 3D non-contact shape measurement techniques will be introduced, and the principle and the calibration of structured light method will be explained. Next, the coding methods and patterns will be classified and compared by their characters, and some examples of applications in different fields will be listed. Finally, present challenges and improvements of 3D measurement techniques will be discussed to understand its future development.

一、前言

形貌量測技術 (shape measurement techniques) 在各種領域當中都有廣泛的需求,除了生醫工程、電腦科學等領域之外,在工業製造上也常用於檢測與模型重建,甚至在娛樂產業也能有所應用。而比起二維量測技術,三維量測技術多了深度這項資訊,能建立空間立體座標,提升影像辨識度。

三維形貌量測技術可以分為被動式方法與主動式方法。被動式方法,如最常見的立體視覺 (stereo vision),不使用主動式的照明設備,而是利用兩個或兩個以上的相機從不同視角對待測物體進行拍攝,分析影像找到對應相關點,再用三角量測法計算以得到距離、座標等資訊。

主動式方法包含飛行時間測距 (time-of-flight, ToF) 與結構光 (structured light) 等。飛行時間測距技術是利用雷射光或 LED 發出紅外線,並接收照射在待測物體上的反射光,利用訊號時間差來計算距離。由於飛行時間測距技術不需用到三角量測法,整體系統也較小,適合應用於行動裝置上。

結構光系統則與立體視覺系統相似,但將其中一個相機以投影機取代,透過投影特定的光斑圖案到待測物體上,再用相機拍攝映有光斑圖案的待測物體,將物體表面受到輪廓影響而扭曲的圖像與原始投影圖像比對後,利用三角量測法計算來得到其座標、距離等資訊(1)。三種量測方式的比較可參考表 1。

本文主要探討主動式方法中的結構光技術,結構光技術有快速、高解析度,以及高準確度的優勢,然而其容易受到環境光影響,量測距離不能過長。

表 1. 立體視覺、結構光、飛行時間測距之量測方法比較,整理自文獻(2, 3)

二、工作原理

1. 技術背景

結構光技術是利用投影機主動投射特定光斑圖案到物體上,此光斑圖案帶著編碼資訊,再將待測物體放置於相機的視野當中並拍攝,藉由分析前後圖像上特徵圖案的形變狀況來判斷物體的表面形貌並建立三維座標。結構光技術的掃描速度很快,也能一次量測大範圍區域,適合應用於動態測量。

結構光系統架構 (圖 1(b)) 與立體視覺系統架構相似 (圖 1(a)),首先先介紹立體視覺系統原理。

在立體視覺系統中存在對極幾何 (epipolar geometry) 關係,如圖 1(a) 所示,若空間中有一待測物體的特徵點 p,點 p 與左右相機的焦點 (原點 olor) 會構成對極平面 (epipolar plane),對極平面與左右相機圖像的交線稱為對極線 (epipolar line) (LlLr),相機焦點連線與圖像的相交點稱為對極點 (epipole) (eler),而點 p 投影在左右圖像上對應點 (plpr) 會落在對極線上。根據左右圖像上特徵點的關係與約束條件,便能得到點 p 的三維座標。

立體視覺系統架構簡單且校正方法容易,但準確度不夠好,因為立體視覺依賴相機拍攝的圖像來分析,若是待測物體表面形貌不夠明顯,便很難抓取到圖像上的特徵對應點。而結構光技術使用主動式光源,透過分析光斑圖案的扭曲狀況來校正,可以避免立體視覺系統中對應點困難的問題,提高準確度。結構光系統架構可參考圖 1(b)。

圖 1. (a) 立體視覺系統架構 (b) 結構光系統架構,取自參考文獻(1)

2. 校正方法演變

早在 1985 年,Jalkio 等人(4) 探討了結構光技術的系統設計,列出影響結構光技術判斷準確度的因素,如表面材質、系統本身的投影誤差、光班 (speckle) 等,並提供了一些改善方法。同時,他們也實際製作了多條紋結構光系統之原型,為結構光技術奠定了基礎。結構光技術的校正方法通常致力於提升相機、投影機之座標系與參考座標系的關聯性(5)。在 2000 年,Zhang(6) 發展了一種相機校正方法,只需透過旋轉相機或待測圖像的方位,取得圖像平面與面上幾個特徵點值即可輕易校正,不只降低設備成本,也增加使用彈性,成為一種較常見的校正方法。即使校正方法不斷被改善,要做結構光的校正還是很困難,主要是受限於投影機無法輕易取得影像來進行三角量測法。

在 2006 年,Zhang 與 Huang(7) 繼而發展一種能讓投影機像相機一樣獲取影像並校正的技術,他們結合相位偏移技術 (phase-shifting method) 與多條條紋投射,建立起相機與投影機的對應像素值而得到投影機的圖像,並能同時獨立地校正相機與投影機。在這之後,結構光技術便能沿用相對成熟的立體視覺系統校正方式,達到又快又準確且穩健的表現。校正投影機離焦 (out-of-focus) 問題的方法進一步被研究(8, 9),使量測技術再達到更高的準確度與速度。此外,捕捉可移動待測物的校正方法也被發展,能夠避免離焦問題、減少投射誤差並提高辨識精度(10)

之後甚至也有研究團隊(11) 反過來將結構光的校正技術納入立體視覺系統中,透過將立體視覺的系統架構以單個相機與一些鏡組的配合來取代,如圖 2 架構圖所示,而能簡化立體視覺系統設備,降低成本,並避免兩個相機之間的同步性的問題。近期,更新的技術也開始被運用於結構光技術中,例如在 2019 年,Zhong 等人(12) 不使用相位偏移技術,而是透過機器學習 (machine learning) 的模型來重建相位,相較之下不僅量測誤差減少,而且運算效率提升,更能適用於即時量測系統。

隨著校正方法逐漸成熟,結構光技術逐漸在各個領域有廣泛的發展與應用,而對其技術表現的要求也越來越高。影響結構光技術表現的因素有很多,包含校正參數、校正方式等等,而其中一個關鍵的因素是結構光的編碼方式(13),而不同種的編碼圖案也會影響結構光量測技術的速度、準確度與解析度。

圖 2. 改良立體視覺之結構光系統架構圖,取自參考文獻(11)

三、技術分類

1. 編碼方法

結構光的編碼方法可分為時間多工 (time multiplexing)、空間鄰域 (spatial neighborhood) 以及直接編碼 (direct coding) 三種類型,分別適用於不同的環境或待測物體(14, 15)

1. 時間多工

時間多工的編碼方法是沿著時間順序在不同的時間點用投影機投影不同幅的光斑圖案,每次投影都能對應待測物體各點而產生一個數值,再將圖像解出各點編碼資訊,每個像素依時間排列會具有多個數值,因此稱為時間多工,示意圖可參考圖 3。隨著投影機與相機的進步,可以利用強度變化與顏色變化(16) 來產生更多種編碼圖案,而條紋寬度限制問題可以透過相位偏移技術解決,也能避免顏色混合的問題。此種編碼方式能達到很高的解析度,較適用於固定裝置,以免晃動造成誤差,然而投影的模型會較為複雜。

圖 3. 時間多工編碼方式示意圖。

2. 空間鄰域

空間鄰域的編碼方法只需使用一種圖形特徵來投影,此光斑圖案的特徵可由不同顏色、形狀或條紋所組成,透過與鄰近圖形特徵的相關性來得到點位資訊。由於圖案中沒有太多複雜資訊,投影設備簡單,成本也較低,在沒有時間因素的影響下,適合用來掃描動態物體。圖形通常會經由德布魯因序列 (De Bruijn sequence) 或亂數序列來生成,可參考圖 4,也有人使用不透過數學模型的非正規編碼方式 (non-formal codification) 來生成圖形。此種編碼方式會受限於投影像素的大小與數量而影響到解析度;為了確保使用上的穩健性,解碼方法也會較為複雜。若想增加空間解析度,便會使用網格等二維空間編碼方法 (M-array)。如 2008 年,Kawasaki 等人(16) 便發展了利用簡單網格圖案來為動態物體重建三維形貌的技術。

圖 4. 空間鄰域編碼-德布魯因序列圖案(17)

3. 直接編碼

直接編碼的方法是直接將灰階漸層或彩色漸層的圖形投影到待測物體上,如圖 5,根據每個像素接收到的數值來確定座標。若待測物表面不均勻或有反射狀況時,數值便會不連續,影響到解析度與準確度。此種編碼方式還會受到待測物表面顏色與環境色調影響,通常需要多組參考圖像來解碼,既不適用於動態物體,色差也不容易調整,因而較少使用。

圖 5. 直接編碼圖案。

2. 編碼圖案

結構光技術至今已經發展出各式各樣的編碼圖案,以下便分別介紹幾種常見的編碼圖案,並試圖比較其優缺點(1, 17, 18)

1. 二維偽亂數編碼圖案(2D Pseudorandom Codifications)

此種編碼圖形也稱為統計形樣 (statistical pattern),利用亂數編碼或德布魯因序列的方式生成一個二維矩陣,如圖 6(a)、(b)。其中任何部份的組成都是獨一無二的。此種圖案的優點是很好理解與實行,並且容易縮小化,很適合用於商業感測器上。然而缺點是對雜訊十分敏感,而且會受限於投影機的像素值導致空間解析度不高。

圖 6. (a) 黑白二維偽亂數編碼圖案 (b) 二維德布魯因序列圖案,分別取自參考文獻(18, 15)

2. 二進位制編碼圖案(Binary Codifications)

二進位制編碼圖案顧名思義就是只由兩種強度數值組成的圖案,全黑為強度 0,全白為強度 1,每個像素上存在其獨有的二進位制編碼,如圖 7 所示。此種圖案的優點是解碼簡單、計算快速、穩健,特別是針對表面起伏變化的量測,不過缺點是條紋數量受限於投影機與相機的像素值,進而影響到空間解析度,因此不適合高速的應用。

圖 7. 二進位制編碼圖案與強度值示意圖。

3. N-ary編碼圖案(N-ary Codifications)

N-ary 編碼圖案使用範圍從 0 到 255 的強度數值,不同的數值代表不同的強度,圖案由不同的強度比例組合而成。N-ary 編碼圖案的優點在於使用了多種強度數值而能減少投影所需的條紋數量,進而提高掃描速度。然而,強度數值多也導致鄰近條紋對比度不夠高的問題,容易受到物體表面狀況影響,如圖 8 所示。不過這個問題能透過相位偏移技術或使用不同種的光斑圖案來改善。

圖 8. N-ary 編碼圖案與強度值示意圖。

4. 三角/梯形相位編碼圖案(Triangular/Trapezoidal Phase Codifications)

三角相位編碼圖案與 N-ary 編碼圖案相似,差別在於使用三角形圖形,強度值是根據三角形截面的斜率而生成,如圖 9(a)、(b)。此種編碼圖案的優點是較簡單且速度快;而缺點也跟 N-ary 編碼一樣,對雜訊的影響很敏感,不過同樣能透過相位偏移技術或是利用不同種強度值的三角形組合來改善(19)。另外,梯形相位編碼圖案由 Huang 等人提出(20),能改善三角相位編碼的雜訊問題。

圖 9. (a) 三角相位編碼圖案 (b) 梯形相位編碼圖案與強度值示意圖。

上述的編碼圖案都會受限於投影機的解析度,而無法達到太高的準確度。而且依靠強度變化的辨識方式容易受到表面形貌影響而不穩定,此時正弦波相位圖案便有其優勢。

5. 連續正弦波相位圖案(Continuous Sinusoidal Phase Codifications)

正弦波相位圖案可以達到像素等級的解析度,因為圖像中的強度變化存在已知的頻率下,透過傅立葉轉換輪廓法 (Fourier transform profilometry) 便能輕易得到各點的相位資訊來建立相機與投影機的關係,不必再使用強度數值方法來運算,進而增加準確度。正弦波相位通常會搭配相位偏移技術,使每個像素具有獨特的強度值,也避免受到雜訊與表面形貌的影響,如圖 10 所示。

圖 10. 連續正弦波相位編碼圖案與強度值示意圖。

相位偏移技術簡單來說是相機得到的波形圖案透過公式得到範圍在 2p 之間 (-p,+p) 的相位資訊,稱之為摺疊相位 (wrapped phase),為了確保準確度,通常需要三個以上的摺疊相位圖案,將這些連續的摺疊相位透過時間或空間上的相位展開算法 (phase unwrapping algorithms) 得到相對相位,再與參考圖像比對,便能得到真實的連續相位,可參考圖 11 相位對照圖與圖 12 相位展開示意圖。

圖 11. (a) 兩種原始投影圖形與 (b) 對應的摺疊相位以及 (c) 最終相位展開後真實相位示意圖,圖重製於文獻(18)

圖 12. 相位展開過程示意圖 (a) 展開前相位 (b) 展開後相位。

6. 顏色編碼圖案(Color Coded)

利用顏色編碼的圖案有很多種類,可以將不同顏色依照不同強度比例組合在一起,形成像是彩虹般的圖案,只要知道組成圖案的比例,解碼便相當容易,如圖 13(a);或是將顏色矩陣當作特徵來進行辨識,如圖 13(b)。此種編碼圖案能減少所需圖案的數量並加快資料讀取的速度,但容易受到表面顏色影響而應用有限。

圖 13. (a) 顏色強度編碼圖案 (b) 顏色矩陣編碼圖案,取自參考文獻(17)

7. 其他混合編碼圖案

編碼圖案除了利用顏色或強度、線條 (一維) 或網格 (二維) 外,還可以混合使用(17)。而這些編碼方法的改進都是為了更佳的結構光技術表現,追求高解析度、高速度以及高準確度之間的平衡,或期望能達到其中一項更優良的狀況。表 2 列出了編碼方式與常用圖案類型的整理與優缺點比較,可供參考。

表 2. 編碼方式比較,整理自參考文獻(15)

四、應用

現今科技對於三維量測技術的需求非常大,當然結構光量測技術也不例外,許多領域都需要用到結構光量測技術來快速建立三維模型,以下便分別介紹一些應用領域並列舉相關例子(18)

1. 工業製造

因為結構光技術快速與高準確度的特性,在工業裡可以用上的地方相當多,包括模型重建、缺陷檢測、品質管理等等。

在產品週期初期或是逆向工程 (reverse engineering) 就常常會用到結構光技術,通常是先以人工方式找到適合的原型,再將其運用結構光技術轉換成電腦 CAD 模型檔;或將已有部件經過結構光技術掃描建立模型檔,再在電腦中進行修正與調整,以此縮短產品原型改良的時間(21)

另一項常見的運用是工業檢測,如將結構光方法應用在檢查焊珠 (weld bead) 缺陷上,在焊刀裝置上結合結構光的視覺檢測系統,在焊後便能即時檢測是否焊歪(22),如圖 14 所示。結構光技術能即時取得資料與快速掃描,因此也能將其納入工業管理的一部份,例如 Bieri 跟 Jacot(23) 就利用結構光技術設計了一個生產線上的品質管理的原型。

圖 14. 焊接與視覺感測系統示意圖(22)

2. 環境重建

由於結構光量測技術不需要直接接觸物體,因此很適合用來遠距取得環境形貌,特別是那些對於人類來說相當危險或難以到達的地方。相關應用如海底地貌重建,隧道環境形貌模型建立等等。

Narasimhan 跟 Nayar(24) 有鑑於結構光技術能應用於其他介質上而建立了幾種量測方式並成功量測在水裡的物體形貌,如圖 15 所示。在 2011 年,Bruno 等人(25) 運用結構光掃描器,展現了海底地形三維重建模型的結果。另外,Zhan 等人(26) 也結合了多組相機與結構光技術來取代鐵路隧道的環境檢測,以減少作業人員遇到危險的機率。除了這些應用,結構光技術也可用在犯罪現場、災害意外後的地形重建或與搜救機器人結合來探索環境狀況。

圖 15.利用結構光技術於水中量測物體之結果(24)

3. 生醫

在生醫領域,二維影像檢測技術已經有很廣泛的應用,然而缺少深度資訊可能會在判斷時出現盲點,因此 3D 影像技術便有其必要性;而有了結構光技術的輔助,對於手術進行也是一大幫助。早在 1994 年,Bhatia 等人(27) 便首創了能協助整形手術的結構光掃描器。透過結構光技術能快速取得身體外型輪廓等資訊,讓醫生與病患得以透過模型來討論手術的實施方式。此外,內視鏡也可以結合結構光技術,透過縮小相機與投影機的尺寸,設計出特別的內視鏡來協助醫生在手術中更好觀察體內部位(28),如圖 16 所示。

圖 16. 結合結構光技術之特殊內視鏡示意圖,端點尺寸直徑僅有 12.5 mm(28)

4. 生物辨識技術

生物辨識技術使用指紋、瞳膜、聲音或臉部辨識等生物特徵來進行判斷,由於生物辨識是獨一無二的特徵且無法取代,許多人的裝置,如手機、筆電,甚至是銀行帳戶或家中的安全鎖都會使用生物辨識系統。然而現在所用的二維辨識方法還是有可能辨認失敗,也可能會因為被人偽裝辨識而遭到竊盜。此時,三維結構光量測方法便能派上用場。例如 Bowyer 等人(29) 便結合二維與三維方法來加強臉部辨識的功能,透過同時使用兩種以上的辨識方法來提升私人電子裝置的安全性。而另一項常見的生物辨識技術是利用視網膜,然而若使用者佩戴了隱形眼鏡的話,容易會導致辨識失敗。於是 Connell 等人(30) 發展了可獲得使用者眼睛輪廓模型的結構光技術,並能偵測到是否有配戴隱形眼鏡,如圖 17 所示。

圖 17. 運用結構光技術掃描眼球輪廓圖(30)

5. 通訊

結構光技術的高精度與即時速度可助於遠距通訊時有更好、更有效率的溝通體驗,例如Jones(31) 發展了一個 3D 遠距會議系統,將結構光技術結合影像串流技術(32),而能在視訊時讓參與者能有眼神接觸,助於會議進行更順利,如圖 18 所示。

圖 18. 即時掃描三維模型結構光系統與呈現結果(31)

6. 人機互動

人與機器的溝通已經從傳統的滑鼠、鍵盤,進化到現今能利用臉部表情、手勢或肢體等來與機器互動。滑鼠、鍵盤雖然方便,但卻不太適用於 VR 裝置或微型模型的控制,一些電腦運算也不好在這些裝置上運作,此時結構光技術便能因應於先進的人機互動裝置,協助這些應用實現。

結構光技術不會受到深度距離的限制,而能用於三維空間中,也免除穿戴裝置的限制,讓人機互動更容易。例如 Guan 等人(33) 利用結構光技術來追蹤使用者手勢,並即時建立模型來控制虛擬擴增實境中的物體,如圖 19 所示;而 Casey 等人(34) 也成功用結構光技術來偵測使用者手指的連續動作。除了輸入裝置,現在也有讓機器能透過辨認使用者臉部表情變化來與之溝通的技術(35)

圖 19. 追蹤使用者手勢並即時在虛擬空間中建立模型(33)

7. 娛樂產業及其他應用

結構光技術的人機互動應用,同樣能在娛樂產業上發揮很好的效益,像 Microsoft Kinect(36) 便是在 3D 感測器上結合結構光技術,而能即時獲得深度資訊,許多運動類的電玩遊戲便能透過此技術來偵測使用者的姿勢、手勢並模擬運動狀況,達到良好的遊戲體驗。由於結構光技術能建立高品質的三維座標資訊,因此也能實現跨媒體的呈現方式,運用於音樂 mv 中或演唱會上,傳達特殊的藝術表現。

除此之外,結構光技術還有許多意想不到的應用,例如 2019 年 Makhsous 等人提出了一種食物體積估算方法,能透過與手機相機整合的結構光系統來即時重建出食物的立體模型,如圖 20 所示,再與軟體結合而計算得出內容物含量,與人工計算相比之下,準確度提升了 40%(37)

圖 20. 移動式結構光系統量測過程(37)

五、討論

1. 技術障礙與挑戰

儘管結構光技術有快速與高精確度的優點,也有十分廣泛的應用,但仍然存在一些技術障礙有待改進,以下便列出幾點(1) 進行討論。

1. 環境照明影響

結構光技術受到環境照明影響嚴重,有幾個較為明顯的限制,例如無法處理鏡面反射造成特定區域產生強光的問題、無法從陰影處得到有用的資訊,以及在室外環境受到自然光影響而成像效果不佳等等。對於上述問題,Nayar 等人(38) 利用在光源與物體中放置線性擴散器來改善反射強光與取得陰影處資訊,如圖 21 所示,此團隊之後又透過窄頻光譜過濾器或極化過濾器來調整光分佈,使結構光在室外的成像更佳(39)

圖 21. 透過擴散器改善強光鏡面反射之比較圖(38)

2. 資料儲存

該如何有效地處理龐大的重建模型三維座標資料,以及該用何種檔案形式來儲存,都是值得思考的問題。目前已經有許多團隊開始研究將這些資料壓縮的方法,如 Ou 與 Zhang(40) 將三維資料以常見的二維圖像資料形式儲存,進而達到更高的資料壓縮比,並維持良好的重建精準度。

3. 感測器縮小化

使用三維量測技術的感測器日異月新,不管是 VR 裝置還是行動裝置的感測器都在快速發展中。然而,這些裝置上感測器辨識精度與解析度都尚未能與目前的結構光技術匹敵。在達成感測器上縮小化的同時維持著高準確度,在未來有其發展必要性。

4. 自動化

目前二維影像技術已經發展成熟,一些自動化的圖像技術讓使用者能輕易依照需求來做修改與調整。然而,三維圖像技術相對來說在自動化部分並不是那麼足夠,使用者通常需要具備一定的專業程度才能使用,因此未來也許可以發展更自動化的量測方法,進而增加市場潛力。

2. 未來方向

衡量三維形貌量測技術可從速度、精確度、解析度、成本以及可靠度等幾個面向來看,雖然各項技術已被廣泛應用在各個領域中,但很少有一項技術能同時適用於不同領域;而且一些應用也尚未達到最佳化,可靠度亦不夠穩健,實行起來還是相當困難,無法因應成本與效率的考量。因此,未來的發展方向可以透過與其他工具的結合,以達到更完善與使用者友善的應用,讓即使非專業領域的使用者也可以快速學會操作方式。

六、結論

結構光量測技術發展至今,不論是量測校正技術的發展或是編碼方法的開發與利用,都透過前人的努力而達到相當多元的成果。而各個領域中的應用也可以針對所需的目標需求來選用、發展適合的結構光量測技術,甚至在工業與娛樂產業當中也已經有商業化的產品出現。但是在結構光技術中,還是有一些侷限與不足之處可待改進。不過隨著科技進步,也許目前在實行上還困難重重的潛在應用,在未來就會變得隨處可見也說不定。