相機

結構光 3D 相機的原理、來龍去脈與分類 Part 2

3D 相機這麼多,雷射輪廓掃描器 ? 雷射光斑掃描器? 結構光掃描器? 傻傻分不清楚 . . .
在討論這個議題之前,應該要先闢謠,或者說是正名也好,其實,我們在討論的這些東西,通通都是結構光 3D 相機。

 

 

再回到結構光掃描器身上 !

先看上圖的紅色框框,我們把格雷碼轉過來看,把它變成一種結構光的圖案,用投影機打出來,1 打成亮,0 打成不亮。

由於投影可以變換打出來的圖案,假設我們先打第一種圖案,一半亮一半不亮,讓相機拍一張,再打第二種圖案,中間亮旁邊不亮,再讓相機再拍一張,. . .  依此類推隨著時間的推移,我們總共打了四種圖案,來看看會發生甚麼事。
 

我們來看一下上圖藍色框框的部分,第 1 Frame 是暗的,接下來第 2 Frame 也是暗的,第 3 Frame 變成亮的, 最後第 4 Frame 還是亮的。這個信號就是 0 0 1 1 的意思,我們就可以依照格雷碼回推這是一個十進位數字 2 的意思。

能夠利用編碼過的變化,回推原始的數值有什麼好處 ?
好處非常明顯,因為只要分析不同的 Frame 之間,位於相同 Pixel 位置上的明暗變化,馬上可以回推這個 Pixel 是被哪一束結構光的光束照射到。

舉例來說,如上圖的案例,我們看到四位元編碼的格雷碼總共可以表示十進位的 0 ~ 15,總共有 16 種情形,那麼,0 0 1 1 就代表數字 2。也就相當於想像將整個面切割成 16 條光束帶,所以呢,數字 2 就代表 index = 2,也就是 16 條光束裡的第三條光束帶的意思。

這樣就成功利用編碼解碼源裡,能分辨光束哪一條是哪一條了 !

 

這種隨著時間推移變換的編碼結構光打法,有個專有名詞稱為 Time Encoded Structured Light。

 



回顧之前提到的,我們用多條光束,讓三角測距可以不移動,一次掃出整面 3D 形貌的主意,如上圖左,但是光束與光束之間難以分辨誰是誰,導致這種掃描器的概念不易實現。


說這這裡,因為導入了
時間編碼結構光的技術,終於可以用最簡單、神來一筆的方式克服了多光束的分辨問題,不得不佩服先賢的大智大慧
!

上圖的案例中,只示範用四種不同的圖案,取像四次來編碼,能將整個面切割成 16 區;不過視野這麼大,只切割成 16 區取樣密度太低了,假如要增加量測的取樣密度,只需要增加編碼圖案的種類即可,如果用十種圖案,就可以切割成 1024 區了呢,相當於 1024 條雷射光喔 !

至於極限可以到多密集的程度,就看編碼的類型與解碼的技術研究去克服囉 !


結語以及後話


接下來就可以再繼續討論及衍生下去,例如速度的問題。
由於時間編碼需要變換多種圖案,變換一次,通知相機,拍攝完再通知投影機做圖案變換,這麼一來一回時間太長了。
在工業檢測的場合,效率至上,成熟的工業級編碼結構光
3D 掃描器必然採用高速的取像配合高速的閃光,所以設計這種掃描器必須得整合閃頻同步技術,才能在更短的時間把資料取樣完畢。
由於本篇僅就探討結構光 3D 相機的基礎原理,就先暫時在這邊收尾,如果有興趣,以下有更多的資訊可以參考。


延伸閱讀
: 什麼是閃頻控制
進一步了解:
結構光式 3D 相機的選用細節