本發(fā)明屬于點(diǎn)云三維可視化領(lǐng)域,更具體地,涉及一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法和系統(tǒng)。
背景技術(shù):
目前較多類型的三維激光掃描儀由于自身硬件和工作方式的限制,僅能采集目標(biāo)場(chǎng)景的三維坐標(biāo)點(diǎn)云數(shù)據(jù),這些點(diǎn)云數(shù)據(jù)并不包含目標(biāo)場(chǎng)景真實(shí)的顏色紋理信息,因此只能以單色或假色彩顯示。高分辨率相機(jī)攝影測(cè)量技術(shù)的成熟成功彌補(bǔ)了三維激光掃描儀的先天性不足,通過(guò)相機(jī)采集的目標(biāo)場(chǎng)景的影像數(shù)據(jù),包含豐富的顏色紋理信息,且像素密度高,與三維激光點(diǎn)云數(shù)據(jù)正好形成了優(yōu)勢(shì)互補(bǔ)。
然而目前還沒(méi)有一套完整的從數(shù)據(jù)采集和融合到最終渲染顯示的點(diǎn)云三維可視化方案出現(xiàn),嚴(yán)重影響了激光點(diǎn)云技術(shù)的拓展。因此急需一套完整可行的融合激光點(diǎn)云和影像數(shù)據(jù)的三維可視化方案,提高點(diǎn)云數(shù)據(jù)對(duì)于普通用戶的可訪問(wèn)性和可用性,解決以往點(diǎn)云真實(shí)感差、可訪問(wèn)性受限的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法和系統(tǒng),其目的在于將點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中后,對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行著色,利用三維渲染技術(shù),得到目標(biāo)場(chǎng)景的三維可視化模型。由此解決以往點(diǎn)云真實(shí)感差、可訪問(wèn)性受限的技術(shù)問(wèn)題。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法,包括下列步驟:
s1:采集目標(biāo)場(chǎng)景的影像數(shù)據(jù)和點(diǎn)云數(shù)據(jù);
s2:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行上采樣,將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中進(jìn)行融合,對(duì)融合后的點(diǎn)云數(shù)據(jù)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù);
s3:利用彩色點(diǎn)云數(shù)據(jù)進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
進(jìn)一步的,步驟s1的具體實(shí)現(xiàn)方式為:獲取相機(jī)的內(nèi)部投影矩陣以及激光掃描儀到相機(jī)的外部變換參數(shù),利用相機(jī)采集的影像數(shù)據(jù),利用激光掃描儀采集點(diǎn)云數(shù)據(jù)。
進(jìn)一步的,步驟s2包括:
s21:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行離群點(diǎn)去噪,對(duì)影像數(shù)據(jù)進(jìn)行平滑和均衡化處理,對(duì)離群點(diǎn)去噪后的點(diǎn)云數(shù)據(jù)進(jìn)行上采樣;
s22:將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中,計(jì)算點(diǎn)云數(shù)據(jù)中每個(gè)三維點(diǎn)對(duì)應(yīng)影像數(shù)據(jù)的二維像素坐標(biāo),根據(jù)二維像素坐標(biāo)對(duì)三維點(diǎn)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù)。
進(jìn)一步的,上采樣的具體實(shí)現(xiàn)方式:輸入點(diǎn)云密度閾值,然后計(jì)算點(diǎn)云數(shù)據(jù)中的每個(gè)采樣點(diǎn)的點(diǎn)云密度,對(duì)于密度小于點(diǎn)云密度閾值的采樣點(diǎn),查找其鄰域點(diǎn)投影到切平面,形成投影點(diǎn)集;在切平面上構(gòu)造投影點(diǎn)集的voronoi圖,選擇半徑最大的圓的頂點(diǎn)加入投影點(diǎn)集,并重新構(gòu)造voronoi圖,重復(fù)構(gòu)造voronoi圖,直到半徑最大的圓的半徑小于輸入的圓的半徑閾值;將新增頂點(diǎn)的投影點(diǎn)作為新增的點(diǎn)加入到點(diǎn)云數(shù)據(jù)中。
進(jìn)一步的,點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中的第一幅影像的投影關(guān)系,由內(nèi)部投影矩陣和外部變換參數(shù)決定。
進(jìn)一步的,步驟s3包括:
s31:將彩色點(diǎn)云數(shù)據(jù)上傳到遠(yuǎn)程應(yīng)用服務(wù)器,遠(yuǎn)程應(yīng)用服務(wù)器對(duì)彩色點(diǎn)云數(shù)據(jù)進(jìn)行多分辨率處理并開(kāi)啟服務(wù)接口;
s32:通過(guò)瀏覽器訪問(wèn)服務(wù)接口,從遠(yuǎn)程應(yīng)用服務(wù)器加載處理后的彩色點(diǎn)云數(shù)據(jù)并在瀏覽器中進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
按照本發(fā)明的另一方面,提供了一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化系統(tǒng),包括數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊和數(shù)據(jù)可視化模塊,
數(shù)據(jù)采集模塊,用于采集目標(biāo)場(chǎng)景的影像數(shù)據(jù)和點(diǎn)云數(shù)據(jù),輸入數(shù)據(jù)處理模塊;
數(shù)據(jù)處理模塊,用于接收影像數(shù)據(jù)和點(diǎn)云數(shù)據(jù),對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行上采樣,將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中后進(jìn)行融合,對(duì)進(jìn)行融合后的點(diǎn)云數(shù)據(jù)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù)輸入數(shù)據(jù)可視化模塊;
數(shù)據(jù)可視化模塊,用于接收彩色點(diǎn)云數(shù)據(jù),進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
進(jìn)一步的,數(shù)據(jù)采集模塊包括相機(jī)和激光掃描儀,獲取相機(jī)的內(nèi)部投影矩陣以及激光掃描儀到相機(jī)的外部變換參數(shù),相機(jī)用于采集的影像數(shù)據(jù),激光掃描儀用于采集點(diǎn)云數(shù)據(jù),相機(jī)安裝在激光掃描儀的水平旋轉(zhuǎn)軸上。
進(jìn)一步的,數(shù)據(jù)處理模塊包括:
采樣子模塊,用于對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行離群點(diǎn)去噪,對(duì)影像數(shù)據(jù)進(jìn)行平滑和均衡化處理,對(duì)離群點(diǎn)去噪后的點(diǎn)云數(shù)據(jù)進(jìn)行上采樣;
著色子模塊,用于將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中進(jìn)行融合,計(jì)算點(diǎn)云數(shù)據(jù)中每個(gè)三維點(diǎn)對(duì)應(yīng)影像數(shù)據(jù)的二維像素坐標(biāo),根據(jù)二維像素坐標(biāo)對(duì)三維點(diǎn)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù)。
進(jìn)一步的,數(shù)據(jù)可視化模塊包括:
多分辨率處理子模塊,用于將彩色點(diǎn)云數(shù)據(jù)上傳到遠(yuǎn)程應(yīng)用服務(wù)器,遠(yuǎn)程應(yīng)用服務(wù)器對(duì)點(diǎn)彩色云數(shù)據(jù)進(jìn)行多分辨率處理并開(kāi)啟服務(wù)接口;
三維渲染子模塊,用于通過(guò)瀏覽器訪問(wèn)服務(wù)接口,從遠(yuǎn)程應(yīng)用服務(wù)器加載處理后的彩色點(diǎn)云數(shù)據(jù)并在瀏覽器中進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
(1)采集目標(biāo)場(chǎng)景的影像數(shù)據(jù)和點(diǎn)云數(shù)據(jù);對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行上采樣,將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中進(jìn)行融合,對(duì)進(jìn)行融合后的點(diǎn)云數(shù)據(jù)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù);利用彩色點(diǎn)云數(shù)據(jù)進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行均勻上采樣,使點(diǎn)云變得均勻稠密,提高了點(diǎn)云分辨率和像素利用率,使點(diǎn)作為渲染基元稱為可能,本發(fā)明實(shí)現(xiàn)了從數(shù)據(jù)采集和融合到最終渲染顯示的點(diǎn)云三維可視化,有助于激光點(diǎn)云技術(shù)的拓展,提高了點(diǎn)云數(shù)據(jù)對(duì)于普通用戶的可訪問(wèn)性和可用性。
(2)優(yōu)選的,在采集數(shù)據(jù)之前確定相機(jī)的內(nèi)部投影矩陣及激光掃描儀到相機(jī)的外部變換參數(shù),能夠提前計(jì)算出點(diǎn)云數(shù)據(jù)到影像數(shù)據(jù)的映射關(guān)系,從而提高后續(xù)點(diǎn)云著色的效率。
(3)優(yōu)選的,激光掃描儀在掃描過(guò)程中由于環(huán)境和設(shè)備因素,使得得到的點(diǎn)云數(shù)據(jù)中有大量離群噪聲點(diǎn),通過(guò)離群點(diǎn)去噪一方面能減少點(diǎn)云數(shù)據(jù)中需要著色的點(diǎn)的數(shù)量,另一方面極大的提高了后續(xù)三維可視化的效果;對(duì)影像數(shù)據(jù)進(jìn)行平滑和均衡化處理,能夠使影像數(shù)據(jù)更加清晰且亮度分布更加均勻;通過(guò)點(diǎn)云上采樣,能夠彌補(bǔ)激光掃描儀掃描分辨率的不足,提高點(diǎn)云的密度;使用二維像素對(duì)點(diǎn)云數(shù)據(jù)中的三維點(diǎn)進(jìn)行著色得到彩色點(diǎn)云數(shù)據(jù),彩色點(diǎn)云數(shù)據(jù)融合了三維空間信息和真實(shí)的顏色信息,提高了三維可視化模型的真實(shí)感。
(4)優(yōu)選的,只對(duì)點(diǎn)云密度小于閾值的采樣點(diǎn)進(jìn)行上采樣,可以減少非必要的計(jì)算量,使點(diǎn)云數(shù)據(jù)的密度分布更加均勻。
(5)優(yōu)選的,將彩色點(diǎn)云數(shù)據(jù)上傳到遠(yuǎn)程應(yīng)用服務(wù)器,并使用瀏覽器加載和渲染點(diǎn)云,避免了安裝專業(yè)的點(diǎn)云處理軟件,而且可以實(shí)現(xiàn)多終端遠(yuǎn)程訪問(wèn)。對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行多分辨率處理,可以提高瀏覽器加載點(diǎn)云的速度。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法的流程圖;
圖2是本發(fā)明實(shí)施例1所使用的硬件結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例1所使用的三維激光掃描儀示意圖;
圖4是本發(fā)明實(shí)施例1提供的一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法的流程圖;
圖5是本發(fā)明實(shí)施例1三維激光掃描儀和相機(jī)安裝示意圖;
圖6是本發(fā)明實(shí)施例1相機(jī)和激光掃描儀標(biāo)定示意圖;
圖7是本發(fā)明實(shí)施例1點(diǎn)云多分辨率四叉樹(shù)組織結(jié)構(gòu)組織示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
如圖1所示,本發(fā)明提供了一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法,包括下列步驟:
s1:采集目標(biāo)場(chǎng)景的影像數(shù)據(jù)和點(diǎn)云數(shù)據(jù);
s2:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行上采樣,將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中后,對(duì)上采樣后的點(diǎn)云數(shù)據(jù)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù);
s3:利用彩色點(diǎn)云數(shù)據(jù)進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
進(jìn)一步的,步驟s1的具體實(shí)現(xiàn)方式為:獲取相機(jī)的內(nèi)部投影矩陣以及激光掃描儀到相機(jī)的外部變換參數(shù),利用相機(jī)采集的影像數(shù)據(jù),利用激光掃描儀采集點(diǎn)云數(shù)據(jù)。
優(yōu)選的,擺放多個(gè)姿態(tài)不同且互不遮擋的平面棋盤(pán)格標(biāo)定板作為參照物,先對(duì)相機(jī)進(jìn)行標(biāo)定,獲取相機(jī)的內(nèi)部投影矩陣a,再對(duì)相機(jī)和激光掃描儀進(jìn)行聯(lián)合標(biāo)定,獲取激光掃描儀坐標(biāo)系到初始相機(jī)坐標(biāo)系的外部變換參數(shù),該外部變換參數(shù)可以使用初始旋轉(zhuǎn)矩陣r1和平移向量t表示。
進(jìn)一步的,步驟s1具體包括以下步驟:
s11:將相機(jī)固定在三維激光掃描儀的水平旋轉(zhuǎn)軸上,使旋轉(zhuǎn)軸盡量通過(guò)相機(jī)光心;
s12:對(duì)處于初始位置的相機(jī)和三維激光掃描儀進(jìn)行標(biāo)定,獲得相機(jī)的內(nèi)部投影矩陣以及激光掃描儀坐標(biāo)系到初始相機(jī)坐標(biāo)系的外部變換參數(shù);
s13:使用步驟s12中標(biāo)定好的相機(jī)和激光掃描儀分辨采集目標(biāo)場(chǎng)景的影像和點(diǎn)云數(shù)據(jù);
進(jìn)一步的,步驟s12具體包括以下步驟:
s121:在對(duì)激光掃描儀和相機(jī)視角均可見(jiàn)的區(qū)域擺放5個(gè)以上相同規(guī)格的平面棋盤(pán)格標(biāo)定板,使所有標(biāo)定板的姿態(tài)各不相同且互不遮擋;
s122:保持激光掃描儀不動(dòng),先觸發(fā)相機(jī)拍攝一幅影像,再啟動(dòng)激光掃描儀開(kāi)始掃描包含所有參照物的區(qū)域;
s123:使用matlab相機(jī)工具箱導(dǎo)入步驟s122中采集的影像進(jìn)行相機(jī)標(biāo)定,獲得相機(jī)的內(nèi)部投影矩陣和標(biāo)定板平面在相機(jī)坐標(biāo)系中的外部參數(shù)矩陣,并在點(diǎn)云數(shù)據(jù)中使用隨機(jī)采樣一致性算法ransac提取激光掃描儀坐標(biāo)系中的所有標(biāo)定板平面點(diǎn)云;
s124:使用點(diǎn)到面的配準(zhǔn)方法,求出激光掃描儀坐標(biāo)系中標(biāo)定板平面到相機(jī)坐標(biāo)系中對(duì)應(yīng)平面的外部變換參數(shù)。
進(jìn)一步的,步驟s13中,先在未啟動(dòng)激光掃描儀開(kāi)始掃描前,觸發(fā)相機(jī)采集一幅影像,再啟動(dòng)激光掃描儀開(kāi)始掃描,隨著激光掃描儀水平旋轉(zhuǎn)軸的運(yùn)動(dòng),每旋轉(zhuǎn)角度θ觸發(fā)相機(jī)采集一次影像,直到激光掃描儀停止掃描,設(shè)采集的影像序列包含m幅影像。觸發(fā)相機(jī)的角度間隔θ由相機(jī)的水平視角
進(jìn)一步的,步驟s2包括:
s21:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行離群點(diǎn)去噪,對(duì)影像數(shù)據(jù)進(jìn)行平滑和均衡化處理,對(duì)離群點(diǎn)去噪后的點(diǎn)云數(shù)據(jù)進(jìn)行上采樣;
s22:將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中,計(jì)算點(diǎn)云數(shù)據(jù)中每個(gè)三維點(diǎn)對(duì)應(yīng)影像數(shù)據(jù)的二維像素坐標(biāo),根據(jù)二維像素坐標(biāo)對(duì)三維點(diǎn)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù)。
進(jìn)一步的,上采樣的具體實(shí)現(xiàn)方式:輸入點(diǎn)云密度閾值ε,然后依次計(jì)算每個(gè)采樣點(diǎn)處的點(diǎn)云密度;對(duì)于采樣點(diǎn)密度小于閾值的每一個(gè)采樣點(diǎn)pi,查找其k-鄰域;使用移動(dòng)最小二乘法擬合pi的k-鄰域曲面;計(jì)算點(diǎn)云在采樣點(diǎn)pi處的切平面,將其k-鄰域點(diǎn)投影到切平面,形成投影點(diǎn)集;在切平面上構(gòu)造投影點(diǎn)集的voronoi圖,選擇半徑最大的圓的頂點(diǎn)加入投影點(diǎn)集,并重新構(gòu)造voronoi圖,重復(fù)此步驟,直到半徑最大的圓的半徑小于輸入的圓的半徑閾值τ;將新增頂點(diǎn)投影到擬合的曲面上,其在曲面上的投影點(diǎn)作為新增的點(diǎn)加入到點(diǎn)云數(shù)據(jù)中。
進(jìn)一步的,點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中的第一幅影像的投影關(guān)系,由內(nèi)部投影矩陣和外部變換參數(shù)決定。對(duì)于點(diǎn)云數(shù)據(jù)中任一三維點(diǎn)pl,其坐標(biāo)為(xl,yl,zl),使用齊次坐標(biāo)矩陣表示為pl=[xl,yl,zl,1]t,其在第一幅影像對(duì)應(yīng)的像素坐標(biāo)為(u,v),使用齊次坐標(biāo)矩陣表示為pi1=[u,v,1]t,滿足:
進(jìn)一步的,步驟s3包括:
s31:將彩色點(diǎn)云數(shù)據(jù)上傳到遠(yuǎn)程應(yīng)用服務(wù)器,遠(yuǎn)程應(yīng)用服務(wù)器對(duì)彩色點(diǎn)云數(shù)據(jù)進(jìn)行多分辨率處理并開(kāi)啟服務(wù)接口;
s32:通過(guò)瀏覽器訪問(wèn)服務(wù)接口,從遠(yuǎn)程應(yīng)用服務(wù)器加載處理后的彩色點(diǎn)云數(shù)據(jù)并在瀏覽器中進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
進(jìn)一步的,多分辨處理的具體實(shí)現(xiàn)方式為:構(gòu)建多分辨率四叉樹(shù)層級(jí)結(jié)構(gòu),將點(diǎn)云數(shù)據(jù)進(jìn)行多分辨四叉樹(shù)組織結(jié)構(gòu)分解,提高了點(diǎn)云數(shù)據(jù)的加載效果。包括以下步驟:
(1)首先計(jì)算輸入彩色點(diǎn)云數(shù)據(jù)的最小外接立方體,并且定義間距參數(shù)s和四叉樹(shù)深度h;
(2)根據(jù)最小外接立方體的尺寸和四叉樹(shù)的深度確定四叉樹(shù)中不同層級(jí)節(jié)點(diǎn)的空間區(qū)域;
(3)最后輸入彩色點(diǎn)云數(shù)據(jù)中的點(diǎn)被依次添加到四叉樹(shù)。
步驟(3)中對(duì)于彩色點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn),如果到根節(jié)點(diǎn)中任何其他點(diǎn)的距離大于間距s,則將該點(diǎn)添加到根節(jié)點(diǎn);如果已經(jīng)存在另一個(gè)非常接近的點(diǎn),則將其傳遞到下一級(jí),并且以一半的間隔重復(fù)相同的測(cè)試。重復(fù)此過(guò)程,直到該點(diǎn)已添加到節(jié)點(diǎn)或已超過(guò)四叉樹(shù)深度。在后一種情況下,點(diǎn)被丟棄并且不會(huì)被添加到任何節(jié)點(diǎn)。
實(shí)施例1
如圖2所示,本發(fā)明實(shí)施例1所使用的硬件結(jié)構(gòu)包括:本地工作站、無(wú)線路由器、本地?cái)?shù)據(jù)采集設(shè)備、應(yīng)用服務(wù)器、存儲(chǔ)服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器和終端設(shè)備。
如圖3所示,為本發(fā)明使用的自制三維激光掃描儀,該由一維激光測(cè)距傳感器、水平旋轉(zhuǎn)平臺(tái)、豎直旋轉(zhuǎn)軸驅(qū)動(dòng)、鏡片系統(tǒng)和激光出射窗口組成。
三維激光掃描儀和相機(jī)通過(guò)有線介質(zhì)與無(wú)線路由器連接,本地工作站使用無(wú)線的方式路由器連接,激光點(diǎn)云數(shù)據(jù)和影像數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)方式實(shí)施傳輸?shù)奖镜毓ぷ髡荆捎趯?shí)施過(guò)程中會(huì)產(chǎn)生大量的數(shù)據(jù),因此無(wú)線路由器選用速率能達(dá)到千兆的雙頻無(wú)線路由器,同時(shí)給本地工作站加裝雙頻usb3.0無(wú)線網(wǎng)卡。
圖4是本發(fā)明實(shí)施例1提供的一種基于點(diǎn)云與影像數(shù)據(jù)的三維可視化方法的流程圖;
該方法將三維點(diǎn)云與二維影像進(jìn)行配準(zhǔn)融合并上傳到遠(yuǎn)程服務(wù)器,通過(guò)終端瀏覽器渲染彩色點(diǎn)云數(shù)據(jù),具體包括下列步驟:
s1:采集目標(biāo)場(chǎng)景的影像數(shù)據(jù)和點(diǎn)云數(shù)據(jù);
s2:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行上采樣,將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中后,對(duì)上采樣后的點(diǎn)云數(shù)據(jù)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù);
s3:利用彩色點(diǎn)云數(shù)據(jù)進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
進(jìn)一步的,步驟s1具體包括以下步驟:
s11:將相機(jī)固定在三維激光掃描儀的水平旋轉(zhuǎn)軸上,使旋轉(zhuǎn)軸盡量通過(guò)相機(jī)光心;如圖5所示,為了采集多視角的影像,需要將相機(jī)安裝在三維激光掃描儀的水平旋轉(zhuǎn)軸上,使相機(jī)能夠隨著激光掃描儀的水平旋轉(zhuǎn)平臺(tái)勻速緩慢的旋轉(zhuǎn)運(yùn)動(dòng)。
s12:對(duì)處于初始位置的相機(jī)和三維激光掃描儀進(jìn)行標(biāo)定,獲得相機(jī)的內(nèi)部投影矩陣以及激光掃描儀坐標(biāo)系到初始相機(jī)坐標(biāo)系的外部變換參數(shù);
s13:使用步驟s12中標(biāo)定好的相機(jī)和激光掃描儀分辨采集目標(biāo)場(chǎng)景的影像和點(diǎn)云數(shù)據(jù);
進(jìn)一步的,如圖6所示是相機(jī)和三維激光掃描儀標(biāo)定使用平面棋盤(pán)格標(biāo)定板作為參照物,先對(duì)相機(jī)進(jìn)行標(biāo)定,獲取相機(jī)的內(nèi)部投影矩陣,再對(duì)相機(jī)和激光掃描儀進(jìn)行聯(lián)合標(biāo)定,獲取激光掃描儀坐標(biāo)系到初始相機(jī)坐標(biāo)系的外部變換參數(shù),該外部變換參數(shù)可以使用初始旋轉(zhuǎn)矩陣和平移向量表示。步驟s12具體包括以下步驟:
s121:在對(duì)激光掃描儀和相機(jī)視角均可見(jiàn)的區(qū)域擺放5個(gè)以上相同規(guī)格的平面棋盤(pán)格標(biāo)定板,使所有標(biāo)定板的姿態(tài)各不相同且互不遮擋;
s122:保持激光掃描儀不動(dòng),先觸發(fā)相機(jī)拍攝一幅影像,再啟動(dòng)激光掃描儀開(kāi)始掃描包含所有參照物的區(qū)域;
s123:使用matlab相機(jī)工具箱導(dǎo)入步驟s122中采集的影像進(jìn)行相機(jī)標(biāo)定,獲得相機(jī)的內(nèi)部投影矩陣和標(biāo)定板平面在相機(jī)坐標(biāo)系中的外部參數(shù)矩陣,并在點(diǎn)云數(shù)據(jù)中使用隨機(jī)采樣一致性算法ransac提取激光掃描儀坐標(biāo)系中的所有標(biāo)定板平面點(diǎn)云;
相機(jī)標(biāo)定可以得到相機(jī)的外參數(shù)矩陣rc,i和
s124:使用點(diǎn)到面的配準(zhǔn)方法,求出激光掃描儀坐標(biāo)系中標(biāo)定板平面到相機(jī)坐標(biāo)系中對(duì)應(yīng)平面的外部變換參數(shù)。
相機(jī)坐標(biāo)系對(duì)應(yīng)標(biāo)定板平面的法向量可由下式計(jì)算得到:
其中
進(jìn)一步的,步驟s13中,先在未啟動(dòng)激光掃描儀開(kāi)始掃描前,觸發(fā)相機(jī)采集一幅影像,再啟動(dòng)激光掃描儀開(kāi)始掃描,隨著激光掃描儀水平旋轉(zhuǎn)軸的運(yùn)動(dòng),每旋轉(zhuǎn)角度θ觸發(fā)相機(jī)采集一次影像,直到激光掃描儀停止掃描,設(shè)采集的影像序列包含m幅影像。觸發(fā)相機(jī)的角度間隔θ由相機(jī)的水平視角
進(jìn)一步的,步驟s2包括:
s21:對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行離群點(diǎn)去噪,對(duì)影像數(shù)據(jù)進(jìn)行平滑和均衡化處理,對(duì)離群點(diǎn)去噪后的點(diǎn)云數(shù)據(jù)進(jìn)行上采樣;
s22:將上采樣后的點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中,計(jì)算點(diǎn)云數(shù)據(jù)中每個(gè)三維點(diǎn)對(duì)應(yīng)影像數(shù)據(jù)的二維像素坐標(biāo),根據(jù)二維像素坐標(biāo)對(duì)三維點(diǎn)進(jìn)行著色,得到彩色點(diǎn)云數(shù)據(jù)。
進(jìn)一步的,上采樣的具體實(shí)現(xiàn)方式:輸入點(diǎn)云密度閾值ε,然后依次計(jì)算每個(gè)采樣點(diǎn)處的點(diǎn)云密度;對(duì)于采樣點(diǎn)密度小于閾值的每一個(gè)采樣點(diǎn)pi,點(diǎn)pi的采樣密度可以通過(guò)查找pi的k-鄰域,同時(shí)計(jì)算以該點(diǎn)為圓心,且包含所有鄰域點(diǎn)的包圍球體積確定,采樣密度
進(jìn)一步的,點(diǎn)云數(shù)據(jù)投影到影像數(shù)據(jù)中的第一幅影像的投影關(guān)系,由內(nèi)部投影矩陣和外部變換參數(shù)決定。對(duì)于點(diǎn)云數(shù)據(jù)中任一三維點(diǎn)pl,其坐標(biāo)為(xl,yl,zl),使用齊次坐標(biāo)矩陣表示為pl=[xl,yl,zl,1]t,其在第一幅影像對(duì)應(yīng)的像素坐標(biāo)為(u,v),使用齊次坐標(biāo)矩陣表示為pi1=[u,v,1]t,滿足:
角度α通過(guò)匹配兩幅圖像的surf特征計(jì)算得到,具體步驟如下:
(1)分別在兩幅圖像上提取surf特征點(diǎn)并計(jì)算對(duì)應(yīng)的描述符;
(2)通過(guò)bruteforce匹配或者flann匹配算法進(jìn)行特征匹配查找,得到若干匹配點(diǎn)對(duì);
(3)使用ransac算法剔除錯(cuò)誤匹配,根據(jù)正確的匹配點(diǎn)對(duì)計(jì)算得到兩幅圖像之間的單應(yīng)矩陣;
(4)將單應(yīng)矩陣歸一化,計(jì)算其復(fù)數(shù)特征值的相位即為角度α。
進(jìn)一步的,步驟s3包括:
s31:將彩色點(diǎn)云數(shù)據(jù)上傳到遠(yuǎn)程應(yīng)用服務(wù)器,遠(yuǎn)程應(yīng)用服務(wù)器對(duì)彩色點(diǎn)云數(shù)據(jù)進(jìn)行多分辨率處理并開(kāi)啟服務(wù)接口;
s32:通過(guò)瀏覽器訪問(wèn)服務(wù)接口,從遠(yuǎn)程應(yīng)用服務(wù)器加載處理后的彩色點(diǎn)云數(shù)據(jù)并在瀏覽器中進(jìn)行三維渲染,得到目標(biāo)場(chǎng)景的三維可視化模型。
進(jìn)一步的,使用ftp協(xié)議將彩色點(diǎn)云數(shù)據(jù)上傳到遠(yuǎn)程應(yīng)用服務(wù)器。如圖7所示,遠(yuǎn)程服務(wù)器程序?qū)c(diǎn)云數(shù)據(jù)進(jìn)行四叉樹(shù)多分辨率處理,并將四叉樹(shù)的每個(gè)節(jié)點(diǎn)保存成單獨(dú)文件上傳至云存儲(chǔ)服務(wù)器,同時(shí)在數(shù)據(jù)庫(kù)中建立該點(diǎn)云索引,最后開(kāi)啟服務(wù)接口。
多分辨處理的具體實(shí)現(xiàn)方式為:構(gòu)建多分辨率四叉樹(shù)層級(jí)結(jié)構(gòu),包括以下步驟:
(1)首先計(jì)算輸入彩色點(diǎn)云數(shù)據(jù)的最小外接立方體,并且定義間距參數(shù)s和四叉樹(shù)深度h;
(2)根據(jù)最小外接立方體的尺寸和四叉樹(shù)的深度確定四叉樹(shù)中不同層級(jí)節(jié)點(diǎn)的空間區(qū)域;
(3)最后輸入彩色點(diǎn)云數(shù)據(jù)中的點(diǎn)被依次添加到四叉樹(shù)。
步驟(3)中對(duì)于彩色點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn),如果到根節(jié)點(diǎn)中任何其他點(diǎn)的距離大于間距s,則將該點(diǎn)添加到根節(jié)點(diǎn);如果已經(jīng)存在另一個(gè)非常接近的點(diǎn),則將其傳遞到下一級(jí),并且以一半的間隔重復(fù)相同的測(cè)試。重復(fù)此過(guò)程,直到該點(diǎn)已添加到節(jié)點(diǎn)或已超過(guò)四叉樹(shù)深度。在后一種情況下,點(diǎn)被丟棄并且不會(huì)被添加到任何節(jié)點(diǎn)。
進(jìn)一步的,可以使用終端設(shè)備的瀏覽器訪問(wèn)應(yīng)用服務(wù)器提供的接口,應(yīng)用服務(wù)器程序從數(shù)據(jù)庫(kù)中查詢對(duì)應(yīng)索引點(diǎn)云數(shù)據(jù)在存儲(chǔ)服務(wù)器中的存儲(chǔ)路徑并返回給瀏覽器,瀏覽器直接從存儲(chǔ)服務(wù)器下載點(diǎn)云數(shù)據(jù)并在瀏覽器中使用webgl技術(shù)進(jìn)行渲染。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。