本發(fā)明屬于計(jì)算機(jī)視覺(jué)領(lǐng)域,特別涉及一種基于高斯?jié)姙R的激光增強(qiáng)視覺(jué)三維重建方法和系統(tǒng)。
背景技術(shù):
1、三維重建是利用各種傳感器設(shè)備來(lái)捕捉現(xiàn)實(shí)世界的信息,并基于這些信息構(gòu)建三維模型。三維重建在各個(gè)領(lǐng)域都具有廣泛的應(yīng)用前景。傳統(tǒng)的三維重建算法主要基于視覺(jué)和激光雷達(dá),基于單一傳感器的三維重建算法各有其獨(dú)特的優(yōu)勢(shì)和局限性?;谝曈X(jué)的算法利用攝像頭獲取的圖像信息,通過(guò)計(jì)算機(jī)視覺(jué)技術(shù)來(lái)推斷物體的深度和三維結(jié)構(gòu)。然而視覺(jué)傳感器無(wú)法有效地應(yīng)對(duì)紋理重復(fù)或紋理缺失的情況。這意味著在存在大量相似紋理的區(qū)域,視覺(jué)傳感器可能無(wú)法準(zhǔn)確地捕捉到場(chǎng)景的細(xì)節(jié),導(dǎo)致重建結(jié)果不準(zhǔn)確。而基于激光雷達(dá)的算法則利用激光雷達(dá)等傳感器直接獲取物體到傳感器的距離信息,因此能夠提供準(zhǔn)確的深度信息,不受光照和紋理影響,但卻無(wú)法捕捉到場(chǎng)景的顏色信息,因此,單獨(dú)使用激光傳感器進(jìn)行場(chǎng)景重建時(shí),無(wú)法生成具有真實(shí)色彩的場(chǎng)景模型,這在一些應(yīng)用場(chǎng)景中可能會(huì)影響到結(jié)果的可視化效果。在實(shí)際應(yīng)用中,常常結(jié)合多種傳感器和算法來(lái)實(shí)現(xiàn)更加準(zhǔn)確和穩(wěn)健的三維重建,以滿足不同場(chǎng)景和應(yīng)用需求。融合視覺(jué)和激光的傳統(tǒng)算法在實(shí)現(xiàn)照片級(jí)場(chǎng)景重建時(shí)面臨一些挑戰(zhàn)。首先,視覺(jué)數(shù)據(jù)和激光數(shù)據(jù)的融合具有挑戰(zhàn)性,由于它們的信息表示方式和特征差異較大,導(dǎo)致融合過(guò)程受到數(shù)據(jù)不一致和校準(zhǔn)誤差等問(wèn)題的影響。其次,傳統(tǒng)算法在處理復(fù)雜場(chǎng)景時(shí)可能遇到困難,例如處理遮擋、反射和透明物體等情況,這可能導(dǎo)致算法對(duì)場(chǎng)景的理解產(chǎn)生歧義。此外,傳統(tǒng)算法通常需要大量的計(jì)算資源和時(shí)間來(lái)處理大規(guī)模的數(shù)據(jù),而且在面對(duì)噪聲和光照變化時(shí)可能缺乏足夠的精確度和魯棒性。綜上所述,傳統(tǒng)三維重建算法面臨的困難和挑戰(zhàn)如下:(1)基于單一傳感器的三維重建算法難以應(yīng)對(duì)特殊場(chǎng)景,視覺(jué)傳感器無(wú)法有效處理紋理重復(fù)或缺失的情況,而激光雷達(dá)無(wú)法捕捉場(chǎng)景的顏色信息;(2)融合視覺(jué)和激光的三維重建算法面臨跨模態(tài)數(shù)據(jù)融合的挑戰(zhàn),圖像和激光點(diǎn)云信息表示方式和特征差異較大,導(dǎo)致融合過(guò)程受到數(shù)據(jù)不一致和校準(zhǔn)誤差等問(wèn)題的影響;(3)傳統(tǒng)三維重建算法難以重建出照片級(jí)的稠密三維場(chǎng)景,傳統(tǒng)的三維場(chǎng)景表示方法側(cè)重于對(duì)場(chǎng)景的幾何結(jié)構(gòu)的表示,難以實(shí)現(xiàn)照片級(jí)稠密重建。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有三維重建算法存在的跨模態(tài)數(shù)據(jù)融合困難和難以實(shí)現(xiàn)高質(zhì)量新視角渲染的問(wèn)題,本發(fā)明提供了一種基于高斯?jié)姙R的激光增強(qiáng)視覺(jué)三維重建方法。實(shí)現(xiàn)了融合視覺(jué)和激光數(shù)據(jù)的高精度定位定位和高保真建圖。通過(guò)融合視覺(jué)和激光數(shù)據(jù)聯(lián)合計(jì)算優(yōu)化相對(duì)位姿,提高了位姿計(jì)算的精度;使用三維高斯球表示場(chǎng)景,三維高斯?jié)姙R從場(chǎng)景中渲染圖像,將輸入圖像作為監(jiān)督,利用梯度下降算法優(yōu)化場(chǎng)景中的高斯球參數(shù),實(shí)現(xiàn)高保真三維場(chǎng)景重建。
2、本發(fā)明提供了一種基于高斯?jié)姙R的激光增強(qiáng)視覺(jué)三維重建方法,包括:
3、步驟1,對(duì)輸入的所有圖像提取特征,計(jì)算相鄰圖像之間的特征匹配,并利用對(duì)極約束求解相鄰圖像之間的相對(duì)旋轉(zhuǎn)變換;
4、步驟2,基于步驟1得到的相對(duì)旋轉(zhuǎn)變換作為初始值初始化相鄰點(diǎn)云之間的位姿,并使用點(diǎn)到面icp算法求解點(diǎn)云之間的相對(duì)位姿;
5、步驟3,基于得到的特征匹配以及根據(jù)最近鄰搜索得到點(diǎn)云之間點(diǎn)的匹配關(guān)系,構(gòu)造包含匹配特征的重投影誤差和點(diǎn)云配準(zhǔn)誤差的目標(biāo)函數(shù),利用非線性最小二乘法優(yōu)化相對(duì)位姿;
6、步驟4,基于步驟3中優(yōu)化后的相對(duì)位姿,利用高斯?jié)姙R渲染結(jié)果調(diào)整相對(duì)位姿,將相機(jī)和場(chǎng)景對(duì)齊,再進(jìn)一步優(yōu)化位姿;
7、步驟5,基于步驟4計(jì)算的位姿,從三維高斯場(chǎng)景中渲染出場(chǎng)景的輪廓圖,并根據(jù)點(diǎn)云和圖像對(duì)場(chǎng)景中未表示的部分添加初始高斯球;
8、步驟6,對(duì)于新添加的高斯球,根據(jù)圖像和深度優(yōu)化高斯球的屬性,選取若干關(guān)鍵幀,固定相機(jī)位姿,將深度圖和rgb圖像作為監(jiān)督,利用梯度下降算法優(yōu)化三維高斯場(chǎng)景中高斯球的顏色c、位置μ以及不透明度o,從而實(shí)現(xiàn)高保真三維場(chǎng)景重建。
9、進(jìn)一步的,步驟1的具體實(shí)現(xiàn)方式如下;
10、對(duì)輸入的一幀原始圖像使用相機(jī)內(nèi)參對(duì)圖像進(jìn)行去畸變處理,之后對(duì)去畸變圖像提取sift特征點(diǎn)并計(jì)算描述子,對(duì)相鄰圖像計(jì)算特征匹配,并使用ransac方法進(jìn)行外點(diǎn)剔除,得到更精確的特征匹配結(jié)果,之后利用ransac算法根據(jù)保留的特征匹配計(jì)算對(duì)極約束的本質(zhì)矩陣,并利用svd算法從本質(zhì)矩陣中分解出相對(duì)旋轉(zhuǎn)變換。
11、進(jìn)一步的,步驟2中,點(diǎn)到面icp算法初始位姿的旋轉(zhuǎn)矩陣為步驟1求解的結(jié)果,平移向量為零,利用icp算法求解出相鄰幀之間的相對(duì)位姿。
12、進(jìn)一步的,步驟3的具體實(shí)現(xiàn)方式如下;
13、對(duì)于相鄰的圖像和點(diǎn)云,根據(jù)相對(duì)位姿和特征匹配求解出特征點(diǎn)的3d坐標(biāo),根據(jù)相機(jī)的內(nèi)外參數(shù)將3d特征點(diǎn)投影到兩個(gè)相機(jī)平面,將投影點(diǎn)坐標(biāo)與特征坐標(biāo)之間的距離作為重投影誤差:
14、ec=π(x;tk,p)-u
15、其中x表示3d特征點(diǎn),tk表示第k幀的位姿,p表示投影矩陣,π表示投影變換,u是對(duì)應(yīng)圖像像素點(diǎn)的坐標(biāo);
16、點(diǎn)云經(jīng)過(guò)相對(duì)位姿變換后,將最近鄰點(diǎn)作為匹配點(diǎn),計(jì)算匹配點(diǎn)之間的距離作為點(diǎn)云的配準(zhǔn)誤差:
17、
18、其中(p,q)是k,k-1幀點(diǎn)云中匹配的一對(duì)3d特征點(diǎn),tk,tk-1分別是k,k-1幀點(diǎn)云的位姿,τ是變換函數(shù),對(duì)p根據(jù)變換到新的坐標(biāo),te是雷達(dá)和相機(jī)之間的外參;
19、最終的目標(biāo)函數(shù)由上述的兩個(gè)誤差組成,聯(lián)合優(yōu)化的目標(biāo)函數(shù)如下:
20、
21、其中,λc和λl是權(quán)重,c和l分別為圖像的重投影誤差和激光點(diǎn)云的配準(zhǔn)誤差的標(biāo)記;
22、使用步驟2中的相對(duì)位姿作為優(yōu)化的初始值,使用非線性最小二乘法優(yōu)化,得到最終的位姿。
23、進(jìn)一步的,步驟4的具體實(shí)現(xiàn)方式如下;
24、根據(jù)步驟3計(jì)算的相對(duì)位姿,從三維高斯場(chǎng)景中渲染出場(chǎng)景輪廓圖、深度圖和rgb圖像,使用高斯球集合表示一個(gè)三維場(chǎng)景g,場(chǎng)景中的每個(gè)高斯球包含屬性顏色c,位置μ,半徑r以及不透明度o∈[0,1],渲染時(shí)將高斯球按照到相機(jī)的深度從小到大排序,對(duì)于圖像上的像素點(diǎn)p,顏色的計(jì)算由下面的公式給出:
25、
26、其中,c表示渲染得到的rgb圖像,n為高斯球的個(gè)數(shù),ci表示第i個(gè)高斯球的顏色,fi表示第i個(gè)高斯球?qū)ο袼豴的影響大小,函數(shù)f的定義如下:
27、
28、其中,d=(tμ)z;p是投影矩陣,t是給定的位姿,μ是高斯球的位置,f是相機(jī)焦距,o是高斯球的不透明度,x是自變量;
29、將渲染顏色的公式中的顏色特征替換為深度z或單位一,渲染出深度圖d和輪廓圖s;
30、將輪廓圖s作為掩碼,點(diǎn)云投影的深度圖和采集的rgb圖像作為真值,相機(jī)位姿作為待優(yōu)化參數(shù),利用梯度下降算法調(diào)整相機(jī)位姿,將相機(jī)與場(chǎng)景對(duì)齊:
31、
32、其中,tk表示第k幀位姿,c是渲染的色彩圖,d是渲染的深度圖。
33、最后,將包含rgb圖像和深度圖的輸入幀記作f,f={c,d},渲染函數(shù)記作render(g,t),則優(yōu)化位姿的目標(biāo)可以化簡(jiǎn)為:
34、
35、其中,render表示渲染過(guò)程。
36、進(jìn)一步的,深度圖d和輪廓圖s的渲染公式如下:
37、
38、其中zi表示第i個(gè)高斯球的深度。
39、進(jìn)一步的,步驟5的具體實(shí)現(xiàn)方式如下;
40、首先,利用步驟4計(jì)算的位姿,渲染出場(chǎng)景的輪廓圖,對(duì)場(chǎng)景中未表示的部分添加并初始化高斯球,利用點(diǎn)云的點(diǎn)初始化高斯球的位姿,rgb圖像初始化高斯球的顏色,未表示部分由下面的公式給出:
41、m(p)=(s(p)<λ)
42、當(dāng)渲染輪廓圖的某個(gè)像素點(diǎn)的值小于λ,則該像素對(duì)應(yīng)的空間為未表示部分。
43、然后,合并得到新的高斯場(chǎng)景的過(guò)程為高斯稠密化的過(guò)程,即添加初始高斯球,記作:
44、
45、其中,densify表示高斯稠密化,表示高斯稠密化的結(jié)果。
46、進(jìn)一步的,步驟6中,每間隔n幀選取一個(gè)關(guān)鍵幀,在更新高斯場(chǎng)景時(shí),選擇k幀參與優(yōu)化,包括當(dāng)前幀、最近的關(guān)鍵幀以及與當(dāng)前幀重疊率最大的k-2幀,其中重疊率是將當(dāng)前幀的點(diǎn)云投影到其他幀上計(jì)算得到。
47、本發(fā)明還提供一種基于高斯?jié)姙R的激光增強(qiáng)視覺(jué)三維重建系統(tǒng),包括:
48、一個(gè)或多個(gè)處理器;
49、存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如上述方案所述的一種基于高斯?jié)姙R的激光增強(qiáng)視覺(jué)三維重建方法。
50、本發(fā)明的原理是:在進(jìn)行三維重建時(shí),首先要獲取相機(jī)的位姿,然后基于位姿重建三維場(chǎng)景。激光雷達(dá)增強(qiáng)視覺(jué)三維重建通過(guò)融合激光點(diǎn)云和視覺(jué)圖像的信息,能夠計(jì)算高精度相對(duì)位姿。三維高斯?jié)姙R的場(chǎng)景表示方法使用大量高斯球表示三維場(chǎng)景,通過(guò)三維高斯?jié)姙R可以從場(chǎng)景中渲染出rgb圖像和場(chǎng)景的深度圖,使用三維高斯?jié)姙R的場(chǎng)景表示方法,可以實(shí)現(xiàn)對(duì)場(chǎng)景的照片級(jí)重建。