本發(fā)明涉及光學(xué)三維測量領(lǐng)域,尤其涉及一種三維重建方法、裝置及設(shè)備。
背景技術(shù):
三維重建技術(shù)在三維建模、逆向工程、3d打印、人體測量、人機(jī)交互、電影和動畫制作等方面具有廣泛的應(yīng)用。近年來,廉價(jià)的三維成像傳感器(如kinect)使得3d數(shù)據(jù)獲取的成本大大降低。但這些廉價(jià)的傳感器精度很有限,不能直接得到高精度的重建。為了改善精度,一類方法是對多點(diǎn)觀測的三維點(diǎn)云進(jìn)行加權(quán)平均,如kinectfusion。另一類方法是與其他類型的三維重建方法進(jìn)行融合,如光度立體視覺方法,從明暗恢復(fù)形狀等。
經(jīng)典的光度立體視覺方法利用同一個相機(jī)拍攝的3張不同光照條件下的圖像,可以計(jì)算出目標(biāo)的表面法線方向。光度立體視覺方法能夠很好地重建目標(biāo)表面的高頻細(xì)節(jié),但容易出現(xiàn)低頻的畸變。光度立體視覺方法大部分還處于實(shí)驗(yàn)室研究階段,對使用的條件要求非常嚴(yán)格。在已經(jīng)通過其他方法獲得目標(biāo)表面幾何的情況下,通過與光度立體視覺得到的法向場融合,可以得到更高精度的表面重建。在這些方法中,基于點(diǎn)光源的系統(tǒng),具有緊湊的結(jié)構(gòu),但通常需要采用專門的標(biāo)定裝置(如反光球)精確標(biāo)定點(diǎn)光源的參數(shù)。假設(shè)光源為平行光的系統(tǒng),可以實(shí)現(xiàn)光源自標(biāo)定,但為了獲得平行光,光源必須放置在遠(yuǎn)離目標(biāo)的地方,這就導(dǎo)致整個重建系統(tǒng)結(jié)構(gòu)不緊湊。有的方法假設(shè)目標(biāo)表面具有均勻的反射率,對具有均勻反射率的目標(biāo)重建效果很好,但不適用于具有多反射率的目標(biāo)。而在實(shí)際應(yīng)用環(huán)境中,具有多反射率的目標(biāo)是很常見的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種三維重建方法、裝置及設(shè)備,可以采用近距離點(diǎn)光源模型,使得三維重建系統(tǒng)結(jié)構(gòu)緊湊,且適用于具有多反射率的目標(biāo)。
本發(fā)明實(shí)施例第一方面提供一種三維重建方法,包括:
標(biāo)定兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù);
根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定至少三個led點(diǎn)光源的參數(shù);
按照預(yù)設(shè)的時序采集近紅外光斑發(fā)生器照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像;
根據(jù)所述近紅外光斑發(fā)生器照明的散斑圖像對,獲取初始深度圖;
根據(jù)所述至少三個led點(diǎn)光源的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向;
融合所述初始深度圖以及所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖。
結(jié)合本發(fā)明實(shí)施例第一方面,在本發(fā)明實(shí)施例第一方面的第一種實(shí)現(xiàn)方式中,所述led點(diǎn)光源的參數(shù)包括:所述led點(diǎn)光源的位置以及亮度;
所述根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定至少三個led點(diǎn)光源的參數(shù),包括:根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),分別標(biāo)定每一個led點(diǎn)光源的參數(shù);
其中,所述標(biāo)定每一個led點(diǎn)光源的參數(shù),包括:
根據(jù)近紅外光斑發(fā)生器照明的散斑圖像對獲取初始深度圖d0;
對所述初始深度圖d0進(jìn)行雙邊濾波,得到d0';
根據(jù)所述led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置,獲得所述led點(diǎn)光源位置的估算初值s0;
根據(jù)所述d0'以及所述兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),生成目標(biāo)的初始點(diǎn)云xi和法線方向ni;
根據(jù)所述s0、xi和ni,由計(jì)算公式可得出光源亮度的初值e0;其中,所述計(jì)算公式為:
以所述s0以及所述e0為初值,由非線性最小二乘優(yōu)化得到所述led點(diǎn)光源的位值和亮度。
在一種可能的實(shí)現(xiàn)方式中,所述目標(biāo)具有均勻的反射率,即所述ρi=1。
結(jié)合本發(fā)明實(shí)施例第一方面,在本發(fā)明實(shí)施例第一方面的第二種實(shí)現(xiàn)方式中,所述按照預(yù)設(shè)的時序采集近紅外光斑發(fā)生器照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像,包括:
打開近紅外光斑發(fā)生器,采用所述兩個近紅外相機(jī)采集所述近紅外光斑發(fā)生器照明的散斑圖像對;
關(guān)閉所述近紅外光斑發(fā)生器,依次點(diǎn)亮所述至少三個led點(diǎn)光源,采用所述兩個近紅外相機(jī)中的一個近紅外相機(jī)采集每個led點(diǎn)光源照明的圖像。
結(jié)合本發(fā)明實(shí)施例第一方面的第一種實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第三種實(shí)現(xiàn)方式中,所述根據(jù)所述至少三個led點(diǎn)光源的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向,包括:
根據(jù)所述至少三個led點(diǎn)光源的位置、亮度以及所述至少三張led點(diǎn)光源照明的圖像的灰度值,獲取目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
本發(fā)明實(shí)施例第二方面提供了一種三維重建裝置,包括:
第一標(biāo)定模塊,用于標(biāo)定兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù);
第二標(biāo)定模塊,用于根據(jù)所述第一標(biāo)定模塊標(biāo)定的兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定至少三個led點(diǎn)光源的參數(shù);
采集模塊,用于按照預(yù)設(shè)的時序采集近紅外光斑發(fā)生器照明的散斑圖像以及至少三張led點(diǎn)光源照明的圖像;
第一獲取模塊,用于根據(jù)所述采集模塊采集的所述近紅外光斑發(fā)生器照明的散斑圖像,獲取初始深度圖;
第二獲取模塊,用于根據(jù)所述第二標(biāo)定模塊標(biāo)定的所述至少三個led點(diǎn)光源的參數(shù)以及所述采集模塊采集的所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向;
輸出模塊,用于融合所述第一獲取模塊獲取的所述初始深度圖以及所述第二獲取模塊獲取的所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖。
結(jié)合本發(fā)明實(shí)施例第二方面,在本發(fā)明實(shí)施例第二方面的第一種實(shí)現(xiàn)方式中,所述led點(diǎn)光源的參數(shù)包括:所述led點(diǎn)光源的位置以及亮度;
所述第二標(biāo)定模塊,用于根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),分別標(biāo)定每一個led點(diǎn)光源的參數(shù);
其中,所述第二標(biāo)定模塊,包括:
初始深度圖獲取單元,用于根據(jù)近紅外光斑發(fā)生器照明的散斑圖像獲取初始深度圖d0;
噪聲抑制單元,用于對所述初始深度圖d0進(jìn)行雙邊濾波,得到d0';
位置初值獲取單元,用于根據(jù)所述led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置,獲得所述led點(diǎn)光源位置的估算初值s0;
生成單元,用于根據(jù)所述d0'以及所述兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),生成目標(biāo)的初始點(diǎn)云xi和法線方向ni;
亮度初值獲取單元,根據(jù)所述s0、xi和ni,由計(jì)算公式可得出光源亮度的初值e0;其中,所述計(jì)算公式為:
標(biāo)定單元,用于以所述s0以及所述e0為初值,由非線性最小二乘優(yōu)化得到所述led點(diǎn)光源的位值和亮度。
結(jié)合本發(fā)明實(shí)施例第二方面,在本發(fā)明實(shí)施例第二方面的第二種實(shí)現(xiàn)方式中,所述采集模塊包括:
第一采集單元,用于打開近紅外光斑發(fā)生器,采用所述兩個近紅外相機(jī)采集所述近紅外光斑發(fā)生器照明的散斑圖像;
第二采集單元,用于關(guān)閉所述近紅外光斑發(fā)生器,依次點(diǎn)亮所述至少三個led點(diǎn)光源,采用所述兩個近紅外相機(jī)中的一個近紅外相機(jī)采集每個led點(diǎn)光源照明的圖像。
結(jié)合本發(fā)明實(shí)施例第二方面的第一種實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第三種實(shí)現(xiàn)方式中,所述第二獲取模塊包括:
獲取單元,用于根據(jù)所述至少三個led點(diǎn)光源的位置、亮度以及所述至少三張led點(diǎn)光源照明的圖像的灰度值,獲取目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
本發(fā)明實(shí)施例第三方面提供了一種三維重建設(shè)備,包括:
兩個近紅外相機(jī)、至少三個led點(diǎn)光源、近紅外光斑發(fā)生器、存儲器以及處理器;
所述存儲器用于存儲程序指令;
所述處理器用于調(diào)用所述存儲器中的程序指令并執(zhí)行以下操作:
標(biāo)定所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù);
根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定所述至少三個led點(diǎn)光源的參數(shù);
按照預(yù)設(shè)的時序采集所述近紅外光斑發(fā)生器照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像;
根據(jù)所述近紅外光斑發(fā)生器照明的散斑圖像對,獲取初始深度圖;
根據(jù)所述至少三個led點(diǎn)光源的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向;
融合所述初始深度圖以及所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖。
結(jié)合本發(fā)明實(shí)施例第三方面,在本發(fā)明實(shí)施例第三方面的第一種實(shí)現(xiàn)方式中,所述led點(diǎn)光源的參數(shù)包括:所述led點(diǎn)光源的位置以及亮度;
所述處理器根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定所述至少三個led點(diǎn)光源的參數(shù),包括:根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),分別標(biāo)定每一個led點(diǎn)光源的參數(shù);
其中,所述處理器標(biāo)定每一個led點(diǎn)光源的參數(shù),包括:
根據(jù)近紅外光斑發(fā)生器照明的散斑圖像對獲取初始深度圖d0;
對所述初始深度圖d0進(jìn)行雙邊濾波,得到d0';
根據(jù)所述led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置,獲得所述led點(diǎn)光源位置的估算初值s0;
根據(jù)所述d0'以及所述兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),生成目標(biāo)的初始點(diǎn)云xi和法線方向ni;
根據(jù)所述s0、xi和ni,由計(jì)算公式可得出光源亮度的初值e0;其中,所述計(jì)算公式為:
以所述s0以及所述e0為初值,由非線性最小二乘優(yōu)化得到所述led點(diǎn)光源的位值和亮度。
結(jié)合本發(fā)明實(shí)施例第三方面,在本發(fā)明實(shí)施例第三方面的第二種實(shí)現(xiàn)方式中,所述處理器按照預(yù)設(shè)的時序采集所述近紅外光斑發(fā)生器照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像,包括:
打開近紅外光斑發(fā)生器,采用所述兩個近紅外相機(jī)采集所述近紅外光斑發(fā)生器照明的散斑圖像對;
關(guān)閉所述近紅外光斑發(fā)生器,依次點(diǎn)亮所述至少三個led點(diǎn)光源,采用所述兩個近紅外相機(jī)中的一個近紅外相機(jī)采集每個led點(diǎn)光源照明的圖像。
結(jié)合本發(fā)明實(shí)施例第三方面的第一種實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第三種實(shí)現(xiàn)方式中,所述處理器根據(jù)所述至少三個led點(diǎn)光源的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向,包括:
根據(jù)所述至少三個led點(diǎn)光源的位置、亮度以及所述至少三張led點(diǎn)光源照明的圖像的灰度值,獲取目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
可以看出,本發(fā)明實(shí)施例提供了一種三維重建方法、裝置及設(shè)備,通過對近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù)進(jìn)行標(biāo)定、對至少三個led點(diǎn)光源的參數(shù)進(jìn)行標(biāo)定,將基于散斑的立體匹配方法和近距離點(diǎn)光源光度立體視覺方法結(jié)合起來,能夠同時兼顧重建細(xì)節(jié)以及尺寸的精確性,使得整個系統(tǒng)更加緊湊,且能適應(yīng)具有多反射率表面的目標(biāo)。進(jìn)一步的,還提供了一種更簡單的點(diǎn)光源標(biāo)定方法,只需要利用具有均勻反射率表面的目標(biāo)就可以實(shí)現(xiàn)點(diǎn)光源的標(biāo)定。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例中所需使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種三維重建方法流程圖;
圖2為本發(fā)明實(shí)施例提供的一種點(diǎn)光源標(biāo)定方法流程圖;
圖3為本發(fā)明實(shí)施例提供的近距離點(diǎn)光源與目標(biāo)表面幾何關(guān)系示意圖;
圖4為本發(fā)明實(shí)施例提供的一種圖像采集方法流程圖;
圖5為本發(fā)明實(shí)施例提供的一種圖像采集時序圖;
圖6(a)為本發(fā)明實(shí)施例提供的近紅外相機(jī)采集的散斑圖像對;
圖6(b)為本發(fā)明實(shí)施例提供的左相機(jī)采集的4個led點(diǎn)光源照明的圖像;
圖7(a)為本發(fā)明實(shí)施例提供的采用kinectfusion得到的大衛(wèi)頭像重建結(jié)果;
圖7(b)為本發(fā)明實(shí)施例提供的采用本方法得到的大衛(wèi)頭像重建結(jié)果;
圖8左圖為基于散斑立體匹配方法的重建結(jié)果,右圖為融合光度立體視覺和基于散斑圖像立體匹配的重建結(jié)果;
圖9為本發(fā)明實(shí)施例提供的一種三維重建裝置結(jié)構(gòu)圖;
圖10為本發(fā)明實(shí)施例提供的一種第二標(biāo)定模塊結(jié)構(gòu)圖;
圖11為本發(fā)明實(shí)施例提供的一種采集模塊結(jié)構(gòu)圖;
圖12為本發(fā)明實(shí)施例提供的一種三維重建設(shè)備結(jié)構(gòu)圖;
圖13為本發(fā)明實(shí)施例提供的一種具體的三維重建設(shè)備結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”等是用于區(qū)別不同對象,而不是用于描述特定順序。此外,術(shù)語“包括”和“具有”以及它們?nèi)魏巫冃?,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或模塊的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒有限定于已列出的步驟或模塊,而是可選地還包括沒有列出的步驟或模塊,或可選地還包括對于這些過程、方法、產(chǎn)品或設(shè)備固有的其他步驟或模塊。
請參閱圖1,圖1為本發(fā)明實(shí)施例提供的一種三維重建方法流程圖,一種三維重建方法至少可以包括以下幾個步驟:
步驟s101:標(biāo)定兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù)。
具體地,兩個近紅外相機(jī)分別左右放置。其中,相機(jī)的內(nèi)部參數(shù)包括鏡頭焦距、主點(diǎn)、畸變系數(shù)等;外部參數(shù)包括左右相機(jī)坐標(biāo)系之間的旋轉(zhuǎn)矩陣和平移向量等。
具體地,對于相機(jī)內(nèi)部參數(shù)以及外部參數(shù)的標(biāo)定通常采用張正友標(biāo)定法,采用此方法只需要利用平面靶標(biāo)就可以實(shí)現(xiàn)相機(jī)參數(shù)的標(biāo)定。此外,還可以用三維靶標(biāo)對相機(jī)的參數(shù)進(jìn)行標(biāo)定,但是二維的平面靶標(biāo)的獲取比三維靶標(biāo)更容易,因此常用張正友標(biāo)定法對相機(jī)參數(shù)進(jìn)行標(biāo)定。
步驟s102:根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定至少三個led點(diǎn)光源的參數(shù)。
具體地,點(diǎn)光源的參數(shù)可以包括亮度以及位置,位置具體可以為相對于左相機(jī)坐標(biāo)系的位置。
具體地,led點(diǎn)光源的個數(shù)至少為三個,理論上三個led點(diǎn)光源即可,但優(yōu)選方案通常為四個led點(diǎn)光源。
步驟s103:按照預(yù)設(shè)的時序采集近紅外光斑發(fā)生器照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像。
具體地,近紅外光斑發(fā)生器照設(shè)目標(biāo)表面時,采用兩個近紅外相機(jī)分別采集目標(biāo)的散斑圖像,形成散斑圖像對。led點(diǎn)光源照射目標(biāo)表面時,可以采用兩個近紅外相機(jī)中的左相機(jī)采集圖像,也可以采用兩個近紅外相機(jī)中的右相機(jī)采集圖像。
步驟s104:根據(jù)所述近紅外光斑發(fā)生器照明的散斑圖像對,獲取初始深度圖。
具體地,可以應(yīng)用立體匹配算法來計(jì)算出初始深度圖。例如,采用歸一化互相關(guān)系數(shù)進(jìn)行立體匹配,計(jì)算視差圖。得到視差圖后,用立體匹配中的唯一性約束剔除誤匹配點(diǎn)。
步驟s105:根據(jù)所述至少三個led點(diǎn)光源的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向。
具體地,可以對至少三張led點(diǎn)光源照明的圖像應(yīng)用光度立體視覺算法獲得目標(biāo)表面的法線方向。
可以知道的是,步驟s104和步驟s105實(shí)現(xiàn)的先后順序在此不做特別限制。
步驟s106:融合所述初始深度圖以及所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖。
具體地,對初始深度圖以及由光度立體視覺算法計(jì)算出的目標(biāo)表面的法線方向進(jìn)行融合,得到精度更高的深度圖并輸出。
在一種具體的實(shí)現(xiàn)方式中,融合所述初始深度圖以及所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖,至少包括以下幾個步驟:
步驟s1061:優(yōu)化法線方向。
具體地,根據(jù)由散斑立體圖像匹配得到初始深度圖可以計(jì)算出目標(biāo)表面的三維點(diǎn)云,由三維點(diǎn)云可以計(jì)算出目標(biāo)表面的法線方向場,記為nm。nm的噪聲特性主要表現(xiàn)為高頻噪聲。由光度立體視覺方法得到的法線方向場記為np,它的噪聲特性主要表現(xiàn)為低頻噪聲。根據(jù)它們各自的噪聲特性,采用以下步驟對它們進(jìn)行融合。
(a)對nm和np進(jìn)行高斯平滑,得到它們的低頻分量
(b)計(jì)算從
(c)用旋轉(zhuǎn)矩陣場r對
步驟s1062:根據(jù)優(yōu)化后的法線方向,優(yōu)化點(diǎn)云位置,并輸出目標(biāo)深度圖。
對于某個像素點(diǎn)(x,y),給定其深度值z(x,y),該點(diǎn)的三維坐標(biāo)p(x,y)可表示為:
其中,fx和fy為等效焦距(單位為像素)。
點(diǎn)云位置優(yōu)化的目標(biāo)是使得優(yōu)化后的深度圖同時符合立體匹配得到三維點(diǎn)云pm和法向場nc。為了達(dá)到這個目的,構(gòu)建一個目標(biāo)函數(shù),包含兩個誤差項(xiàng),即位置誤差項(xiàng)ep和法向誤差項(xiàng)en。
位置誤差線定義為:
其中,pi為優(yōu)化的點(diǎn)坐標(biāo)。
由式(1)可得,
法向誤差項(xiàng)定義的依據(jù)是:優(yōu)化后的表面切線方向應(yīng)與nc垂直。切線方向tx和ty定義為:
法向誤差項(xiàng)定義為:
總誤差函數(shù)為:
e(z)=λep+(1-λ)en(7)
其中,λ∈[0,1]。
通過最小化式(7),得到優(yōu)化后的深度圖,即目標(biāo)深度圖。
實(shí)施本發(fā)明實(shí)施例可以通過對近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù)進(jìn)行標(biāo)定、對至少三個led點(diǎn)光源的參數(shù)進(jìn)行標(biāo)定,將基于散斑的立體匹配方法和近距離點(diǎn)光源光度立體視覺方法結(jié)合起來,能夠同時兼顧重建細(xì)節(jié)以及尺寸的精確性,使得整個系統(tǒng)更加緊湊,且能適應(yīng)具有多反射率表面的目標(biāo)。
在一個可選的實(shí)施例中,根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定至少三個led點(diǎn)光源的參數(shù),可以是根據(jù)兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),分別標(biāo)定每一個led點(diǎn)光源的參數(shù)。
本發(fā)明實(shí)施例提出的標(biāo)定算法只需一個具有均勻反射率表面的物體(如石膏像、人臉或者一張具有豐富褶皺的a4紙等),就可以標(biāo)定出點(diǎn)光源的位置和亮度。由于標(biāo)定物具有均勻的發(fā)射率,不失一般性,令ρi=1。
對于單個led點(diǎn)光源參數(shù)的標(biāo)定,至少可以包括以下幾個步驟,具體如圖2所示:
步驟s1021:根據(jù)近紅外光斑發(fā)生器照明的散斑圖像對獲取初始深度圖d0。
具體地,與步驟s104一致,可以應(yīng)用立體匹配算法來計(jì)算出初始深度圖。例如,采用歸一化互相關(guān)系數(shù)進(jìn)行立體匹配,計(jì)算視差圖。得到視差圖后,用立體匹配中的唯一性約束剔除誤匹配點(diǎn)。
可以知道的是,對于led點(diǎn)光源參數(shù)的標(biāo)定是離線進(jìn)行的,所以標(biāo)定完成以后,只要不改變相機(jī)或光源的參數(shù),就可以對初始深度圖進(jìn)行多次測量。
步驟s1022:對所述初始深度圖d0進(jìn)行雙邊濾波,得到d0'。
具體地,對初始深度圖進(jìn)行雙邊濾波是為了抑制噪聲。
步驟s1023:根據(jù)所述led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置,獲得所述led點(diǎn)光源位置的估算初值s0。
在一種可能的實(shí)現(xiàn)方式中,當(dāng)led點(diǎn)光源照射目標(biāo)表面,采用兩個近紅外相機(jī)中的左相機(jī)采集圖像時,led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置采用左相機(jī)坐標(biāo)系,估算出led點(diǎn)光源在左相機(jī)坐標(biāo)系中的位置。
在另一種可能的實(shí)現(xiàn)方式中,當(dāng)led點(diǎn)光源照射目標(biāo)表面,采用兩個近紅外相機(jī)中的右相機(jī)采集圖像時,led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置采用右相機(jī)坐標(biāo)系,估算出led點(diǎn)光源在右相機(jī)坐標(biāo)系中的位置。
步驟s1024:根據(jù)所述d0'以及所述兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),生成目標(biāo)的初始點(diǎn)云xi和法線方向ni。
具體地,根據(jù)步驟s1022中得到的d0'以及上一實(shí)施例中的步驟s101中標(biāo)定的兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),可以生成目標(biāo)的初始點(diǎn)云xi和法線方向ni;
步驟s1025:根據(jù)所述s0、xi和ni,由計(jì)算公式可得出光源亮度的初值e0。
具體地,根據(jù)公式(8)和(9),由線性最小二乘法求出e的初值e0。
如圖3所示的近距離點(diǎn)光源與目標(biāo)表面幾何關(guān)系示意圖,從目標(biāo)表面上的某個三維點(diǎn)xi到光源s的光線向量為:
li=s-xi(8)
采用近光源假設(shè),圖像的灰度oi為:
其中,e為光源的亮度,ρi為目標(biāo)表面的反射率,ni為表面在xi處的法線方向(模為1)。此處由于標(biāo)定的目標(biāo)具有均勻的反射率,因此ρi=1。
在目標(biāo)的反射率、初始點(diǎn)云xi、法線向量ni和s的初值s0已知的情況下,由led照明的圖像灰度值oi,就可以計(jì)算出光源亮度的初值e0。
步驟s1025:以所述s0以及所述e0為初值,由非線性最小二乘優(yōu)化得到所述led點(diǎn)光源的位值和亮度。
具體地,公式(9)構(gòu)成一個非線性方程組,以e0和s0作為初值,用levenberg-marquardt算法對e和s進(jìn)行同時優(yōu)化,從而實(shí)現(xiàn)單個led點(diǎn)光源的參數(shù)的標(biāo)定。
本發(fā)明實(shí)施例提供了一種簡單的點(diǎn)光源標(biāo)定方法,只需要利用具有均勻反射率表面的目標(biāo)就可以實(shí)現(xiàn)點(diǎn)光源的標(biāo)定。
在另外一個可選的實(shí)施例中,圖像的采集至少可以包括以下幾個步驟,如圖4所示:
步驟s1031:打開近紅外光斑發(fā)生器,采用所述兩個近紅外相機(jī)采集所述近紅外光斑發(fā)生器照明的散斑圖像對。
步驟s1032:關(guān)閉所述近紅外光斑發(fā)生器,依次點(diǎn)亮所述至少三個led點(diǎn)光源,采用所述兩個近紅外相機(jī)中的一個近紅外相機(jī)采集每個led點(diǎn)光源照明的圖像。
具體地,假設(shè)led點(diǎn)光源的個數(shù)為四個,此時圖像采集的時序圖如圖5所示:
初始時刻,近紅外光斑發(fā)生器以及l(fā)ed1~led4均處于關(guān)閉狀態(tài)。
a時刻,光斑發(fā)生器發(fā)開,led1~led4關(guān)閉,兩個近紅外相機(jī)分別采集一幀圖像,獲得散斑圖像對;如圖6(a)所示的一對圖像,為采用本發(fā)明實(shí)施例的方法采集到的一對散斑圖像。
b時刻,光斑發(fā)生器關(guān)閉,點(diǎn)亮led1,關(guān)閉其他led,兩個近紅外相機(jī)中的左相機(jī)或者右相機(jī)采集一幀圖像。
c時刻,光斑發(fā)生器關(guān)閉,點(diǎn)亮led2,關(guān)閉其他led,兩個近紅外相機(jī)中的左相機(jī)或者右相機(jī)采集一幀圖像。
d時刻,光斑發(fā)生器關(guān)閉,點(diǎn)亮led3,關(guān)閉其他led,兩個近紅外相機(jī)中的左相機(jī)或者右相機(jī)采集一幀圖像。
e時刻,光斑發(fā)生器關(guān)閉,點(diǎn)亮led4,關(guān)閉其他led,兩個近紅外相機(jī)中的左相機(jī)或者右相機(jī)采集一幀圖像。
在上述led點(diǎn)光源照射目標(biāo)表面時,b、c、d、e時刻采集圖像時統(tǒng)一使用兩個近紅外相機(jī)中的左相機(jī)或者右相機(jī)采集圖像。
如圖6(b)中的四幅圖,分別為四張led照明時近紅外相機(jī)采集到的圖像。
結(jié)束時刻,光斑發(fā)生器關(guān)閉,led1~led4關(guān)閉。
本發(fā)明實(shí)施例提供了一種圖像采集方法,能夠使近紅外相機(jī)按照預(yù)設(shè)的時序采集散斑圖像對以及l(fā)ed照明的圖像。
在另外一個可選的實(shí)施例中,根據(jù)所述至少三個led點(diǎn)光源的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向,可以包括:根據(jù)所述至少三個led點(diǎn)光源的位置、亮度以及所述至少三張led點(diǎn)光源照明的圖像的灰度值,獲取目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
具體地,由圖3以及公式(1)和(2)可知,在每個led的亮度e和位置s已知的情況下,由三個以上處于不同位置的led照明的圖像灰度值oi,就可以計(jì)算出xi處的法線方向ni和反射率ρi。
本發(fā)明實(shí)施例可以獲得具有多反射率的目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
圖7(a)為kinectfusion得到的大衛(wèi)頭像重建結(jié)果,圖7(b)為采用本發(fā)明實(shí)施例的方法得到的重建結(jié)果。顯然,采用本發(fā)明實(shí)施例的方法,三維重建的結(jié)果具有更好的重建細(xì)節(jié)。
圖8中的左圖為基于散斑立體匹配方法得到重建結(jié)果,右圖為融合光度立體視覺和基于散斑圖像立體匹配的重建結(jié)果。顯然,通過本發(fā)明實(shí)施例中的融合光度立體視覺方法得到的法向信息以后,重建精度得到了顯著的提高。
本發(fā)明實(shí)施例還相應(yīng)提供一種三維重建裝置,如圖9所示,三維重建裝置10至少可以包括:第一標(biāo)定模塊110、第二標(biāo)定模塊120、采集模塊130、第一獲取模塊140、第二獲取模塊150以及輸出模塊160;其中:
第一標(biāo)定模塊110,用于標(biāo)定兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù)。
第二標(biāo)定模塊120,用于根據(jù)所述第一標(biāo)定模塊110標(biāo)定的兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定至少三個led點(diǎn)光源的參數(shù)。
采集模塊130,用于按照預(yù)設(shè)的時序采集近紅外光斑發(fā)生器照明的散斑圖像以及至少三張led點(diǎn)光源照明的圖像。
第一獲取模塊140,用于根據(jù)所述采集模塊采集的所述近紅外光斑發(fā)生器照明的散斑圖像,獲取初始深度圖。
第二獲取模塊150,用于根據(jù)所述第二標(biāo)定模塊120標(biāo)定的所述至少三個led點(diǎn)光源的參數(shù)以及所述采集模塊采集的所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向。
輸出模塊160,用于融合所述第一獲取模塊140獲取的所述初始深度圖以及所述第二獲取模塊150獲取的所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖。
在一個可選的實(shí)施例中,led點(diǎn)光源的參數(shù)包括:所述led點(diǎn)光源的位置以及亮度。
第二標(biāo)定模塊120,用于根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),分別標(biāo)定每一個led點(diǎn)光源的參數(shù)。
具體的,第二標(biāo)定模塊120的結(jié)構(gòu)圖如圖10所示,至少可以包括:
初始深度圖獲取單元1210,用于根據(jù)近紅外光斑發(fā)生器照明的散斑圖像獲取初始深度圖d0。
噪聲抑制單元1220,用于對所述初始深度圖d0進(jìn)行雙邊濾波,得到d0'。
位置初值獲取單元1230,用于根據(jù)所述led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置,獲得所述led點(diǎn)光源位置的估算初值s0。
生成單元1240,用于根據(jù)所述d0'以及所述兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),生成目標(biāo)的初始點(diǎn)云xi和法線方向ni。
亮度初值獲取單元1250,用于根據(jù)所述s0、xi和ni,由計(jì)算公式可得出光源亮度的初值e0;其中,所述計(jì)算公式為:
標(biāo)定單元1260,用于以所述s0以及所述e0為初值,由非線性最小二乘優(yōu)化得到所述led點(diǎn)光源的位值和亮度。
在另外一個可選的實(shí)施例中,采集模塊130至少可以包括:第一采集單元1310、第二采集單元1320,如圖11所示;
第一采集單元1310,用于打開近紅外光斑發(fā)生器,采用所述兩個近紅外相機(jī)采集所述近紅外光斑發(fā)生器照明的散斑圖像。
第二采集單元1320,用于關(guān)閉所述近紅外光斑發(fā)生器,依次點(diǎn)亮所述至少三個led點(diǎn)光源,采用所述兩個近紅外相機(jī)中的一個近紅外相機(jī)采集每個led點(diǎn)光源照明的圖像。
在另外一個可選的實(shí)施例中,第二獲取模塊可以包括:獲取單元,用于根據(jù)所述至少三個led點(diǎn)光源的位置、亮度以及所述至少三張led點(diǎn)光源照明的圖像的灰度值,獲取目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
本發(fā)明實(shí)施例提供了一種三維重建裝置,實(shí)施本發(fā)明實(shí)施例可以通過對近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù)進(jìn)行標(biāo)定、對至少三個led點(diǎn)光源的參數(shù)進(jìn)行標(biāo)定,將基于散斑的立體匹配方法和近距離點(diǎn)光源光度立體視覺方法結(jié)合起來,能夠同時兼顧重建細(xì)節(jié)以及尺寸的精確性,使得整個系統(tǒng)更加緊湊,且能適應(yīng)具有多反射率表面的目標(biāo)。
本發(fā)明還提供了另外一種三維重建設(shè)備,如圖12所示,三維重建設(shè)備20至少可以包括:兩個近紅外相機(jī)210、至少三個led點(diǎn)光源220、近紅外光斑發(fā)生器230、處理器240以及存儲器250;其中,
存儲器250用于存儲程序指令。
處理器240用于調(diào)用存儲器250中的程序指令并執(zhí)行:
標(biāo)定所述兩個近紅外相機(jī)210的內(nèi)部參數(shù)以及外部參數(shù)。
根據(jù)所述兩個近紅外相機(jī)210的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定所述至少三個led點(diǎn)光源220的參數(shù)。
按照預(yù)設(shè)的時序采集所述近紅外光斑發(fā)生器230照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像。
根據(jù)所述近紅外光斑發(fā)生器230照明的散斑圖像對,獲取初始深度圖。
根據(jù)所述至少三個led點(diǎn)光源220的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向。
融合所述初始深度圖以及所述目標(biāo)表面的法線方向,輸出目標(biāo)深度圖。
例如,如圖13所示的三維重建設(shè)備,1和3分別為兩個近紅外相機(jī),按照一定的距離安裝置在剛性支架上;2為近紅外散斑發(fā)生器,位于兩個近紅外相機(jī)中間,用于向目標(biāo)表面投射密集的近紅外斑點(diǎn);4~7分別為四個led點(diǎn)光源,固定安裝在剛性支架上,以保持led點(diǎn)光源與兩個近紅外相機(jī)的相互位置關(guān)系保持不變,處理器和存儲器位于結(jié)構(gòu)內(nèi)部,未在圖中示出。
在一個可選的實(shí)施例中,led點(diǎn)光源的參數(shù)包括:所述led點(diǎn)光源的位置以及亮度。
所述處理器240根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),標(biāo)定所述至少三個led點(diǎn)光源220的參數(shù),包括:根據(jù)所述兩個近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù),分別標(biāo)定每一個led點(diǎn)光源的參數(shù)。
其中,所述處理器240標(biāo)定每一個led點(diǎn)光源的參數(shù),包括:
根據(jù)近紅外光斑發(fā)生器230照明的散斑圖像對獲取初始深度圖d0。
對所述初始深度圖d0進(jìn)行雙邊濾波,得到d0'。
根據(jù)所述led點(diǎn)光源在相機(jī)坐標(biāo)系中的位置,獲得所述led點(diǎn)光源位置的估算初值s0。
根據(jù)所述d0'以及所述兩個近紅外參數(shù)的內(nèi)部參數(shù)以及外部參數(shù),生成目標(biāo)的初始點(diǎn)云xi和法線方向ni。
根據(jù)所述s0、xi和ni,由計(jì)算公式可得出光源亮度的初值e0;其中,所述計(jì)算公式為:
根據(jù)所述s0以及所述e0,得出所述led點(diǎn)光源的位值和亮度。
在另外一個可選的實(shí)施例中,處理器240按照預(yù)設(shè)的時序采集所述近紅外光斑發(fā)生器230照明的散斑圖像對以及至少三張led點(diǎn)光源照明的圖像,包括:
打開近紅外光斑發(fā)生器230,采用所述兩個近紅外相機(jī)210采集所述近紅外光斑發(fā)生器230照明的散斑圖像對。
關(guān)閉所述近紅外光斑發(fā)生器230,依次點(diǎn)亮所述至少三個led點(diǎn)光源220,分別采用所述兩個近紅外相機(jī)210中的一個近紅外相機(jī)采集每個led點(diǎn)光源照明的圖像。
在另外一個可選的實(shí)施例中,處理器240根據(jù)所述至少三個led點(diǎn)光源220的參數(shù)以及所述至少三張led點(diǎn)光源照明的圖像,獲取目標(biāo)表面的法線方向,包括:
根據(jù)所述至少三個led點(diǎn)光源220的位置、亮度以及所述至少三張led點(diǎn)光源照明的圖像的灰度值,獲取目標(biāo)表面上三維點(diǎn)處的法線方向以及反射率。
本發(fā)明實(shí)施例提供了一種三維重建設(shè)備,實(shí)施本發(fā)明實(shí)施例可以通過對近紅外相機(jī)的內(nèi)部參數(shù)以及外部參數(shù)進(jìn)行標(biāo)定、對至少三個led點(diǎn)光源的參數(shù)進(jìn)行標(biāo)定,將基于散斑的立體匹配方法和近距離點(diǎn)光源光度立體視覺方法結(jié)合起來,能夠同時兼顧重建細(xì)節(jié)以及尺寸的精確性,使得整個系統(tǒng)更加緊湊,且能適應(yīng)具有多反射率表面的目標(biāo)。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存儲記憶體(randomaccessmemory,ram)等。
本發(fā)明實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。
本發(fā)明實(shí)施例裝置中的模塊可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。