1. 程式人生 > >基於數字光柵投影的結構光三維測量技術(總結)

基於數字光柵投影的結構光三維測量技術(總結)

概述

本文是在讀了論文《基於數字光柵投影的結構光三維測量技術與系統研究》[1]之後做的學習總結,方便自己學習,同時與博友共享,共同提高!

三維重建

三維重建(3D Reconstruction)是指利用二維投影恢復物體三維資訊的數學過程和計算機技術,包括資料獲取、預處理、點雲拼接和特徵分析等步驟。
三維重建過程:影象獲取、攝像機標定、特徵提取、立體匹配和三維重建。

光學三維測量

光學三維測量主要分為被動三維測量(無結構光)和主動三維測量(有結構光)兩種:

被動三維測量

主要過程:多幅二維影象–>計算出特徵點–>重建三維特徵點–>特徵點濾波–>得到三維模型。

主動三維測量

  • 結構光的作用:增加三維物體的紋理資訊;
  • 雙目視覺系統:將投影儀當作一個逆向的相機,通過建立投影儀影象和相機影象的對應關係,將投影儀標定轉換為成熟的相機標定,從而將單相機結構光三維測量系統轉換為經典的雙目視覺系統;
  • 主要測量方法:鐳射掃描法(LS)、傅立葉變換輪廓術(FTP)、相位測量輪廓術(PMP)、彩色編碼條紋投影法(CFP)等。

基於PMP的結構光三維測量技術

本文所講的三維測量方法用的是主動三維測量中的相位測量輪廓術(PMP)
測量時,投影儀將一幅或一組正弦光柵條紋投影到空間中,形成投影條紋,攝像機拍攝到被測物體表面,得到條紋影象,根據影象獲得相位分佈情況進行三維重建。
整體架構參見附錄《結構光三維測量原理圖》。

結構光生成與投射

  • 水平方向光柵條紋影象12幅:不同頻率3組,每組不同相移的4幅影象
  • 豎直方向光柵條紋影象12幅:不同頻率3組,每組不同相移的4幅影象

結構光生成

由計算機生成併發送到投影儀的光柵影象的灰度分佈為:

I(u,v)=a+bcos(θ(u,v)),θ(u,v)=ϕ(u,v)+α
其中, (u,v) 表示投影面投影畫素單元的座標, I(u,v) (u,v) 點的灰度值,a和b分別為正弦光柵的直流基波分量(光強背景值)和振幅(調製光強), θ(u,v) I(u,v) 對應的光柵相位, ϕ 為待求相位主值, α 為相位位移。

光柵非正弦性

由於環境光的影響,投影光柵在波峰和波谷處出現平臺現象[2]。

相位計算

相位主值計算

相位主值即相對相位值,本文采用標準的四步相移法計算光柵影象的相位主值。
利用頻率相同四幅光柵影象計算出一幅相位主值影象,四幅光柵影象的光強表示式為:

Ii(u,v)=a+bcos(θi(u,v)),θi(u,v)=ϕ(u,v)+π2i,i{0,1,2,3}
則光柵影象的相位主值為:
ϕ(u,v)=arctan(I3I1I0I2)
程式設計中,一般使用atan2方法:
ϕ(u,v)=atan2(I3I1,I0I2)
最終,12幅水平條紋光柵影象計算出3幅水平相位主值影象,12幅豎直條紋光柵影象計算出3幅豎直相位主值影象。

相位展開

相位展開,又稱解包裹,計算其絕對相位值。本文利用三頻外差原理計算其絕對相位值。
最終,根據上步計算出的3幅水平相位主值影象計算出1幅水平絕對相位值影象,根據上步計算出的3幅豎直相位主值影象計算出1幅豎直絕對相位值影象。

DMD影象座標計算

根據一個方向的絕對相位值,可以確定DMD影象中的一條垂直線或水平線;則根據水平和垂直兩個方向的絕對相位值,可以確定DMD影象中的一個點。
通過豎直和水平光柵條紋的CCD影象(相機影象)中的點 (uc,vc) ,可以確定DMD影象(投影儀影象)中對應的一個點 (up,vp) ,該點座標可用如下公式計算。

up=Φv(uc,vc)Nv2πWvp=Φh(uc,vc)Nh2πH
其中, Φv Φh 分別為CCD光柵影象中 (uc,vc) 點處豎直和水平方向的絕對相位值, Nv Nh 分別為豎直和水平CCD光柵影象中光柵條紋數,H和W分別為CCD光柵影象豎直和水平方向解析度。

影象矯正

(uc,vc) (up,vp) 使用預先標定出的系統畸變引數進行矯正,二階徑向畸變矯正公式如下。

{u¯=u+(uu0)[k1(x2+y2)+k2(x2+y2)2]v¯=v+(vv0)[k1(x2+y2)+k2(x2+y2)2]

重建三維座標

投影測量和計算機視覺中總是利用兩張或兩張以上的影象恢復物體的三維座標。
本文根據矯正後的CCD影象和DMD影象座標 (uc,vc) (up,vp) ,以及預先相機標定出的系統內參和外參,計算出對應的三維座標(世界座標)。

scucvc1=Ac[Rctc]Xw