■ 背景知識
針孔相機(jī)模型:射線方程

我們把數(shù)碼相機(jī)簡化成針孔相機(jī)模型,光心為?點(diǎn),傳感器面為紅色實線,?
?點(diǎn)到傳感器面距離?
?。那么我們可以這樣描述成像的過程:三維空間中的?
?點(diǎn)經(jīng)過光心?
?點(diǎn)在傳感器面上成像為?
?點(diǎn),且?
?、?
?、?
?三點(diǎn)在一條直線上。針孔相機(jī)模型是一個三維空間(?
?點(diǎn)所在空間)到二維面(?
?點(diǎn)所在面)的變換,?
?線上的任意一點(diǎn)(如?
?、
?、
?)所成的像都是?
?點(diǎn),因此如果只知道?
?點(diǎn),我們是無法反推出具體哪一個?
?點(diǎn)點(diǎn)亮了?
?點(diǎn),我們只能說點(diǎn)亮?
?點(diǎn)的點(diǎn)一定在射線?
?上。所以針孔相機(jī)模型本質(zhì)上是射線方程,也就是說知道了CCD上的點(diǎn),就可以得到一條射線。 為了方便描述,我們之后將把針孔模型對稱翻轉(zhuǎn)過來,如上圖虛線所示,從數(shù)學(xué)的角度,它們是等價的。 ?針孔相機(jī)雙目確定物點(diǎn)模型:射線相交得到點(diǎn)

為了確定到底是哪一個?點(diǎn)點(diǎn)亮了相機(jī)0上的?
?點(diǎn),我們引入了另一個相機(jī),通過相機(jī)1,我們可以得到?
?點(diǎn)在相機(jī)1中的像點(diǎn)?
?,聯(lián)立?
?和?
?我們就可以唯一的得到空間中
?點(diǎn),上圖表達(dá)了這個關(guān)系。
■被動測距
雙目測距:匹配特征

圖中上部左右兩幅照片是兩個標(biāo)定好的相機(jī)對同一個場景拍攝并對準(zhǔn)后的,圖中下部是上圖場景中的高度分布,顏色越深離相機(jī)越遠(yuǎn)。

我們把上面的場景抽象成草圖,舉例而言,顯示器在相機(jī)0和相機(jī)1中不同的像位置是確定顯示器空間所在位置的關(guān)鍵,那么為什么高度分布是塊狀的? 這是因為由于拍攝的場景缺少特征點(diǎn),以下圖為例,如果說左圖中白色盒子頂上的四個點(diǎn)我們還可以在右圖中找的到,那么圖中紅色點(diǎn)在右圖我們就根本找不到對應(yīng)的點(diǎn)。由于特征點(diǎn)的稀缺,雙目測距中是不可能實現(xiàn)像素級點(diǎn)對點(diǎn)的匹配的。

■主動結(jié)構(gòu)光
結(jié)構(gòu)光:匹配拓?fù)渚W(wǎng)格如果說特征點(diǎn)的缺失是雙目測距的一大痛點(diǎn),有學(xué)者就提出,既然缺少特征點(diǎn)不如我就造一些特征點(diǎn)出來,這就是結(jié)構(gòu)光。iPhone X的人臉識別用的就是這一項技術(shù)。

iPhone X中有兩個與此相關(guān)的傳感器,分別是Infrared camera和Dot projector,前者是相機(jī),而后者是一個點(diǎn)陣投影儀。從數(shù)學(xué)上說,一部分投影儀是可以用逆向針孔相機(jī)模型描述的,也就是說如果我知道投影面上的某一個點(diǎn),我就可以知道由這個點(diǎn)投影出的一條射線,這條射線遇到一個面,線面相交的點(diǎn)就會被投影儀點(diǎn)亮。這里我們?yōu)槭裁凑f「一部分」投影儀可以等價于針孔相機(jī),這個問題在后面會談到。

為了確定這個線面相交的點(diǎn)的位置,我們用一個相機(jī)觀察,如上圖所示,我們可以在點(diǎn)陣投影儀的投影面上找到點(diǎn)亮?點(diǎn)的投影點(diǎn),也可以在相機(jī)CCD面上找到被?
?點(diǎn)亮的成像點(diǎn)。上面的草圖中,一共有五個投影點(diǎn),而相機(jī)拍到的五個投影點(diǎn),會因為面形的存在改變相鄰兩點(diǎn)之間的距離卻不會因為面形的存在導(dǎo)致五個投影點(diǎn)相對順序的改變,因此我們說相機(jī)是通過拓?fù)渚W(wǎng)格的標(biāo)號來確定CCD面上點(diǎn)和投影儀投影面上點(diǎn)的一一對應(yīng)關(guān)系。

在實際的應(yīng)用當(dāng)中,會根據(jù)待測面形的特點(diǎn)確定拓?fù)渚W(wǎng)格的結(jié)構(gòu)。舉例而言,對于iPhone X的結(jié)構(gòu)光主要測量的人臉,因此它的結(jié)構(gòu)光在設(shè)計過程中,加密了人臉中眼、鼻、口的光點(diǎn)數(shù)量,使得在人臉識別中更具有特征的眼、鼻、口的采樣率更高,深度數(shù)據(jù)真實性更強(qiáng)。主動結(jié)構(gòu)光拓?fù)渚W(wǎng)格匹配已經(jīng)遠(yuǎn)遠(yuǎn)強(qiáng)于被動雙目測距的特征匹配,但是即便如此依然無法實現(xiàn)像素級點(diǎn)對點(diǎn)的匹配,無法實現(xiàn)的原因我們會在下一節(jié)講到。 主動投射結(jié)構(gòu)光和被動雙目測距相比既有好處也有壞處,好處是大大提高了測量準(zhǔn)確度和分辨率,壞處則是需要有主動式投影光源。舉個很顯而易見的例子,由于投影光源在遠(yuǎn)距離的情況下就失效了,遠(yuǎn)距離的測距主要還是用被動雙目測距的方法。當(dāng)然遠(yuǎn)距離的測距還有很多別的更可行的方案,比如激光雷達(dá),但是本文只討論結(jié)構(gòu)光體系內(nèi)的技術(shù)。 結(jié)構(gòu)光:匹配相位分布我們?yōu)榱藴y量的面形保真,必須盡可能的提高采樣點(diǎn)的數(shù)量。上一節(jié)拓?fù)渚W(wǎng)格匹配結(jié)構(gòu)光里采樣點(diǎn)的提高有一個上限,那就是CCD必須可以區(qū)分采樣點(diǎn),否則在CCD中采樣點(diǎn)糊成一團(tuán),也就失去了拓?fù)渚W(wǎng)格標(biāo)號。因此這里有一對矛盾,一方面要盡可能的提高采樣率,一方面又不能超過CCD的分辨能力。

上圖中,測量面上最左邊的點(diǎn),相機(jī)卻無法分辨最左邊的點(diǎn)與和它相鄰的點(diǎn)。為了解決這個問題,學(xué)者就提出采用相位的方法實現(xiàn)像素級點(diǎn)對點(diǎn)匹配。在前面的介紹中,被動雙目測距用「特征點(diǎn)」作為「相機(jī)0——物——相機(jī)1」這個過程的傳遞不變量,主動拓?fù)渚W(wǎng)格結(jié)構(gòu)光中,以「拓?fù)渚W(wǎng)格標(biāo)號」作為「投影儀——物——相機(jī)」的傳遞不變量。在這里我們以相位分布?作為傳遞不變量。之所以用相位分布作為傳遞不變量,是因為相位分布是由面形的高度分布直接決定的。

以四步相移為例,上圖右圖是投影儀投出的X方向相移正弦條紋,左圖是CCD拍攝到的由于面形引起的X方向變形條紋。對這兩組圖求包裹相位,并解包裹得到X方向相位分布情況。

舉例而言,投影面和CCD的像素數(shù)都是512*512,對于投影面上的一個像素(下圖右圖紅點(diǎn)),我能找到它的X方向相位值,根據(jù)這個相位值,能夠找到CCD面上具有這個相位值的所有像素(下圖左圖紅線),通過這個X方向相位值,能夠把投影面上的點(diǎn)和CCD面上的線關(guān)聯(lián)起來。

同樣的道理,投影儀投影Y方向正弦條紋,我們就能夠在CCD面上唯一確定與投影面上紅點(diǎn)對應(yīng)的像素,通過X方向相位和Y方向相位,我們找到了「投影面像素標(biāo)號?CCD面像素標(biāo)號」的對應(yīng)關(guān)系,實現(xiàn)了像素級點(diǎn)對點(diǎn)匹配。 ?結(jié)構(gòu)光:匹配編碼肯定有讀者會問上面都已經(jīng)實現(xiàn)了像素級點(diǎn)對點(diǎn)匹配,分辨率的提高都已經(jīng)到頭了,那么這項技術(shù)還可以怎么演進(jìn)呢?這里我們就要談一談相移法的優(yōu)缺點(diǎn)了,相移法是屬于一種優(yōu)點(diǎn)和缺點(diǎn)都極為顯著的方法,優(yōu)點(diǎn)是,通過相移解相位的方法,犧牲了時間(多幅條紋投影),以粗的條紋獲得了細(xì)的分辨率,缺點(diǎn)是正弦條紋極易被干擾,這就導(dǎo)致了相位圖失真,CCD像素和投影面像素的一一對應(yīng)性被破壞。

因此,學(xué)者就提出,能不能把步子邁得小一點(diǎn),我們不要求像相移法那樣高的分辨率,但是CCD像素和投影面像素的一一對應(yīng)性必須要保證。由此就提出了以編碼作為傳遞不變量,確定像素的對應(yīng)性。 以下圖為例,我們對藍(lán)色點(diǎn)進(jìn)行編碼,通過XY兩個方向一共6幅由疏到密的二值條紋,我們能夠得到一串表明藍(lán)色點(diǎn)位置的6位編碼「100101」,其中1代表在這一位上是白色,0代表黑色。編碼位數(shù)越高越能準(zhǔn)確的描述藍(lán)色點(diǎn)的位置,當(dāng)然位數(shù)越高同樣意味著條紋越密,位數(shù)的上限取決與CCD能夠分辨的最小二值條紋粗細(xì)。二值條紋的抗干擾能力顯著高于正弦條紋。

下圖是慕尼黑光博會上某個展商的裝置,用一個投影儀一個相機(jī)以及編碼圖樣實現(xiàn)了三維測量,實際上它所用的圖樣(編碼位數(shù))最后遠(yuǎn)遠(yuǎn)高于我截的這6幅圖。

雙目結(jié)構(gòu)光:不能或者不想標(biāo)定投影儀還記得我們前面有一節(jié)講到只有一部分投影儀可以用逆向針孔相機(jī)模型來描述,受限于投影儀的凸透鏡成像法則,大多數(shù)情況下很難用一個通用的模型來描述投影儀整個群體,比如說,投影面放在投影儀透鏡焦面上的準(zhǔn)直投影就不能用逆向針孔相機(jī)模型來描述。 這意味這投影儀不能用射線方程來描述,也就意味著又要解決一個相機(jī)解欠定的問題,自然我們想到了再引入一個相機(jī)。

請注意,因為這里的投影儀不是射線模型,因此我也就不畫成前文投影儀的樣子了。 和前面的結(jié)構(gòu)光匹配編碼類似,只是我們現(xiàn)在匹配的是兩臺相機(jī)當(dāng)中的編碼而不是匹配投影儀和相機(jī)的編碼。 交叉偏振結(jié)構(gòu)光:解決反光問題反光是所有結(jié)構(gòu)光的大敵,包括被動雙目測距,主動結(jié)構(gòu)光掃描。因為反光會造成采集信號丟失,相當(dāng)于雙目測距失去一目,方程欠定有無窮多解。

所以結(jié)構(gòu)光只能用在粗糙表面測量上,下圖表明了兩種表面反射光的形態(tài)。左圖是粗糙表面反射光形態(tài),粗糙表面會講投影光線均勻的散開,只要有一支被CCD接受我們就可以確定投影像素和CCD像素的對應(yīng)關(guān)系。右圖是類鏡面反射光形態(tài),反射光中,光強(qiáng)最強(qiáng)的主瓣沿著反射定律確定的反射光方向,而旁瓣則在主瓣周圍散開,越遠(yuǎn)離主瓣光強(qiáng)越弱。結(jié)構(gòu)光無法處理反光就是因為CCD接收不到光線。類鏡面反射光形態(tài)和粗糙表面反射光形態(tài)并不是一成不變的。一些材質(zhì)的粗糙表面在某些角度的光線或者光強(qiáng)大于一定的值之后也會表現(xiàn)出類鏡面反射光的特點(diǎn)。

為了解決這個問題,學(xué)者就提出投影交叉偏振結(jié)構(gòu)光的方法。其原理是反射光是s占優(yōu)的部分偏振光,只有當(dāng)入射角是布魯斯特角時,反射光是s線偏振光。根據(jù)這個原理,大量的含水面的風(fēng)光攝影都用到了與s光正交的偏振鏡來抵消s光以達(dá)到減弱反光的效果。

通過給投影儀加裝偏振鏡的方法,我們可以得到一對具有正交偏振方向的投影光,下圖兩個藍(lán)色圈中的即是兩個不同偏振方向的投影儀。

通過交叉偏振投影結(jié)構(gòu)光的方法,總有一個方向能夠極大的降低反光,再通過拍攝到無反光的結(jié)構(gòu)光的相機(jī)的位置,可以按照前文所述得到三維信息。 Phase Measuring Profilometry:既不標(biāo)定投影儀也不用雙目Phase Measuring Profilometry,中文名為:相位測量輪廓術(shù)。 前文的所有測量包括被動雙目和主動結(jié)構(gòu)光都屬于絕對測量,這里的Phase Measuring Profilometry(PMP)是一種相對測量的手段。既不標(biāo)定投影儀也不用雙目,這勢必意味著我們方程又回到了欠定無窮多解的問題上。好在相移干涉法給了一個思路,我們可以通過給一個絕對高度的參考面,測量的是與參考面的相對高度,由此得到待測面的絕對高度。

相機(jī)拍攝參考面的四步相移正弦圖樣,解包裹相位得到相位分布,如下下圖右圖。

相機(jī)拍攝待測面的四步相移正弦圖樣,解包裹相位得到相位分布,如下圖左圖。

PMP的核心在于標(biāo)定「相位——高度」的映射:
其中,?是在?
?處待測面與參考面的高度差,?
?是對應(yīng)的待測面相位分布和參考面相位分布的差,?
?,?
?和?
?是標(biāo)定系數(shù)。
?、
?、
?需要采用別的手段進(jìn)行標(biāo)定。由于標(biāo)定好「相位——高度」的映射,因此PMP不需要在另一個方向測量相位分布。為了解決PMP中方程欠定的問題,需要引入?yún)⒖济婧推渌臉?biāo)定手段,肯定有讀者會問這相對于之前的結(jié)構(gòu)光好在哪里呢?其實方法沒有好壞之分只有適合用在哪里的區(qū)別。雖然PMP增加了標(biāo)定和設(shè)備的復(fù)雜性,但是好在這些工作只要做一次就可以,非常適用于有基準(zhǔn)面的測量,比如電路板的三維測量等等。 ?

后PMP時代后PMP主要朝著這么幾個方向,動態(tài)測量,在線測量,提高算法性能和精度以及一些難測量面形的測量方案設(shè)計。
審核編輯 :李倩
-
傳感器
+關(guān)注
關(guān)注
2576文章
55134瀏覽量
791986 -
射線
+關(guān)注
關(guān)注
0文章
48瀏覽量
13978 -
結(jié)構(gòu)光
+關(guān)注
關(guān)注
0文章
74瀏覽量
13700
原文標(biāo)題:結(jié)構(gòu)光發(fā)展簡史
文章出處:【微信號:機(jī)器視覺沙龍,微信公眾號:機(jī)器視覺沙龍】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
原文分享-光伏行業(yè)的發(fā)展
汽車三大部件之一汽車變速箱的發(fā)展簡史
什么是光模塊?光模塊的結(jié)構(gòu)和參數(shù)介紹
Arduino簡史
蘋果筆記本大全(發(fā)展簡史)
筆記本多媒體發(fā)展簡史
LED發(fā)展簡史,LED的發(fā)展經(jīng)歷了哪些階段
PCB發(fā)展簡史及未來趨勢
人工智能簡史 人工智能發(fā)展簡史報告
什么是結(jié)構(gòu)光?結(jié)構(gòu)光的測量原理
結(jié)構(gòu)光發(fā)展簡史
評論