一種室內三維建模方法及裝置與流程
2023-10-09 02:20:59 4

本發明屬於虛擬實境領域,尤其涉及一種室內三維建模方法及裝置。
背景技術:
室內三維建模技術已經被廣泛應用於建築、土木工程、旅遊、數字地圖等領域,能夠大大提高人們對室內空間的了解效率。例如,在房地產領域中,比起幾張平面的照片或結構圖,完整的三維仿真模型能夠讓客戶更加真實地了解到房屋內部的整體結構和每一個細節,提高客戶購房的效率和滿意度。
然而傳統的室內三維建模往往需要由相關專業人士使用昂貴的特殊定製的設備對室內空間進行大量的拍攝和測量,並需要通過人力手工輔助才能完成,不僅效率低下,難以快速對大量的室內建築進行建模,而且設備和人力成本也比較高。
技術實現要素:
本發明實施例的目的在於提供一種室內三維建模方法及裝置,旨在解決現有三維建模技術由於自動化水平低導致的建模速度慢的問題。
本發明實施例是這樣實現的,一種室內三維建模方法,包括:
採集無人機定位點,根據所述無人機定位點構建局部三維地圖;
拍攝室內影像,根據所述室內影像生成部分可見的三維模型;
根據所述部分可見的三維模型,通過模式分類計算完整的三維模型;
根據所述完整的三維模型以及所述局部三維地圖,計算行動路線;
驅動無人機自動根據所述行動路線移動,計算下一區域的三維模型。
本發明實施例的另一目的在於提供一種室內三維建模裝置,包括:
地圖生成模塊,用於採集無人機定位點,根據所述無人機定位點構建局部三維地圖;
可見模型生成模塊,用於拍攝室內影像,根據所述室內影像生成部分可見的三維模型;
局部模型生成模塊,用於根據所述部分可見的三維模型,通過模式分類計算完整的三維模型;
行動路線設定模塊,用於根據所述完整的三維模型以及所述局部三維地圖,計算行動路線;
全局模型生成模塊,用於
驅動無人機自動根據所述行動路線移動,計算下一區域的三維模型。
在本發明實施例中,通過無人機自動移動並自動測繪建模的方式,用戶可以更加快速的對大量的建築進行三維模型重構,另一方面,因為避免了人工測繪建模,從而節省了人力成本以及提高了三維建模的便捷性。
附圖說明
圖1是本發明實施例提供的室內三維建模方法的實現流程圖;
圖2是本發明實施例提供的室內三維建模方法S101的具體實現流程圖;
圖3是本發明實施例提供的室內三維建模方法S102的具體實現流程圖;
圖4是本發明實施例提供的室內三維建模方法S103的具體實現流程圖;
圖5是本發明實施例提供的室內三維建模裝置的結構框圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
圖1示出了本發明實施例提供的室內三維建模方法的實現流程,詳述如下:
在S101中,採集無人機定位點,根據所述無人機定位點構建局部三維地圖。
無人機在啟動之後,從初始位置開始一直到建模結束的過程中,一直需要採集自身的定位點,通過這些定位點,由點到線,由線到面,由面到體可以勾畫出一個無人機運動的三維空間。從構建一個很小的局部三維空間開始,隨著無人機的運動,構建的三維空間逐步加大,最終會構建出一個所在房間的三維地圖。
圖2示出了本發明實施例提供的室內三維建模方法S101的具體實現流程,詳述如下:
在S201中,收集多個定位信號。
在本發明實施例中,由於考慮到單一傳感器在實際工作中會出現的定位不準的問題,以及考慮到傳感器故障問題,可採用多種傳感器收集定位信號。採用的傳感器可以包括WIFI信號傳感器、慣性測量處理器以及三維攝像頭等。在資金允許的情況下,還可以安裝光學雷達以代替三維攝像頭。綜上,本實施例中,在同一時刻,無人機通常可接收到由傳感器採集到的至少兩種不同的定位信號,以提高定位精準度。
在S202中,對所述多個定位信號進行降噪處理。
採集到原始定位信號一定會有噪音幹擾,這種噪音會導致定位不準確,因而會影響後續的路線規劃,以及建模的準確性。
在本發明實施例中,採用高斯濾波的方式對採集到的定位信號進行降噪。這裡的高斯濾波指的對高斯信號進行平滑處理。過程是先對圖像做高斯平滑濾波,剔除噪聲,然後求二階導,用二階導的過零點確定邊緣,高斯濾波器就是建立的一個數學模型,通過這個模型來將定位信號進行能量轉化,將能量低部分排除掉,噪聲就是屬於低能量部分。
在S203中,將多個降噪後的定位信號進行傳感器融合處理,生成定位點。
在本發明實施例中,由於使用了多種定位信號,因此需要將多種傳感器融合從而生成一個準確的單一的定位點。
在本發明實施例中,採用卡爾曼濾波算法進行傳感器融合,以合併多個傳感器的結果以計算出更精確的定位和地圖信息。
在S102中,拍攝室內影像,根據所述室內影像生成部分可見的三維模型。
在本發明實施例中,首先採用被動測距傳感的方式生成深度圖,並根據網格重構的方法生成可見部分的三維模型。
圖3示出了本發明實施例提供的室內三維建模方法S102的具體實現流程,詳述如下:
在S301中,分別從一個以上的位置拍攝室內影像,生成一個以上的原始圖像。
在本發明實施例中,每個無人機上安裝有3個三維攝像機,分別對同一個目標範圍進行拍攝,在同一個時刻,會產生3張由三維攝像機獲取到的同一個目標範圍的原始圖像。
在S302中,根據所述一個以上的原始圖像的灰度信息及原始圖像之間的幾何關係,生成深度圖。
本發明實施例採用的是被動測距傳感的方法,3個原始圖像是由3個三維攝像機通過接收來自場景發射的光能量產生的,因此每一時刻的3個原始圖像反映了有關場景光能量的分布函數,即灰度圖像,然後需要在這些圖像的基礎上恢復場景的深度信息。
恢復深度信息的方法是通過三幅原始圖像的灰度信息和成象幾何來生成深度圖.深度信息還可以使用灰度圖像的明暗特徵、紋理特徵、運動特徵間接地估算。
在S303中,通過網格重構技術,對深度圖進行處理,生成部分可見的三維模型。
首先將已生成的深度圖轉成點雲。點雲是指目標表面特性的圖像點集合,具體的轉換方法如下:
假設深度圖中某個世界坐標點M為(Xw,Yw,Zw),則它映射到圖像點m(u,v)的過程是:
其中u,v為圖像坐標系下的任意坐標點,u0,v0分別為圖像的中心坐標,Xw,Yw,Zw表示世界坐標系下的三維坐標點,Zc表示相機坐標的z軸值,即目標到相機的距離。R,T分別為外參矩陣的旋轉矩陣和平移矩陣。
對外參矩陣的設置:由於世界坐標原點和相機原點是重合的,即沒有旋轉和平移,所以:
相機坐標系和世界坐標系的坐標原點重合,因此相機坐標和世界坐標下的同一個物體具有相同的深度,即Zc=Zw,於是可以計算得到圖像點【u,v】T到世界坐標點[Xw,Yw,Zw]T的變換公式為:
在得到點雲之後,根據點鄰域的幾何和形狀特徵對雲模型中的點進行分類,對點鄰域進行適應性調整,使每個數據點的鄰域逼近原模型內該點對應的拓撲領域。
最後按照從第一類點到第二類點和第三類點,最後是邊界點的順序對網絡模型進行重構。
在S103中,根據所述部分可見的三維模型,通過模式分類計算完整的三維模型。
圖4示出了本發明實施例提供的室內三維建模方法S103的具體實現流程,詳述如下:
在S401中,提取所述可見部分的三維模型的特徵。
首先要對已構建出的可見部分的三維模型進行特徵向量的提取,在本實施例中通過主成分分析(PCA)對可見部分的三維模型進行特徵提取及降維。
在S402中,調用先驗信息,並將所述先驗信息作為訓練數據。
先驗信息是指一些常見的室內元素如床、櫃、窗戶等的特徵。調用這些特徵,並以此作為模式分類中的訓練數據。
在S403中,根據所述可見部分的三維模型的特徵以及所述訓練數據,通過模式分類技術,生成完整的三維模型。
在本實施例中,通過支持向量機(SVM)對可見部分的三維模型進行模式分類,因此通過一個物體的局部就可以判斷出這個物體,從而得到一個整體的物體,即一個完整的三維模型。
在S104中,根據所述完整的三維模型以及所述局部三維地圖,計算行動路線。
通過公式:
計算行動路線,其中,L(r)表示所述行動路線,O表示已計算出的完整的三維模型的集合,p表示完整的三維模型上的特徵點,Ф(p)表示p的約束函數,rp表示行動路線上能看到p的拍攝位置的集合,Cij(p)表示拍攝位置i和拍攝位置j拍攝的原始圖像的一致性評估函數,Ψ(r)表示路徑約束函數。
其中Cij(p)可以定義為
Cij(p)=ρ(Ii(Ω(πi(p))),Jj(Ω(πi(p))))
ρ(f,g)為向量的相似度函數,πi(p)表示p在圖像i上的投影,Ω(x)表示描述點x的x周邊的圖像區域,Ii(x)表示從圖像區域中提取特徵向量的函數。
通過優化成本函數L,即可算出當前狀況下的最優行動路線。
在S105中,驅動無人機自動根據所述行動路線移動,計算下一區域的三維模型。
在本實施例中,計算出一個局部的完整三維模型後,無人機會按照計算得到的最優行動路線移動到下一個位置,在下一個位置還會計算一個局部的完整三維模型,隨著無人機的飛行,逐漸的把一個個完整的三維模型疊加,直至室內的全部物體的三維模型全部被建構起來。在生成室內全局三維模型後無人機停止飛行。
對應於上文實施例所述的屏幕顯示對象的尺寸調整方法,圖5示出了本發明實施例提供的是本發明實施例提供的室內三維建模裝置的結構框圖。
參照圖5,該裝置包括:
地圖生成模塊501,用於採集無人機定位點,根據所述無人機定位點構建局部三維地圖;
可見模型生成模塊502,用於拍攝室內影像,根據所述室內影像生成部分可見的三維模型;
局部模型生成模塊503,用於根據所述部分可見的三維模型,通過模式分類計算完整的三維模型;
行動路線設定模塊504,用於根據所述完整的三維模型以及所述局部三維地圖,計算行動路線;
移動計算模塊505,用於驅動無人機自動根據所述行動路線移動,計算下一區域的三維模型。
進一步地,地圖生成模塊包括:
信號收集子模塊,用於收集多個定位信號;
降噪子模塊,用於對所述多個定位信號進行降噪處理;
定位生成子模塊,用於將多個降噪後的定位信號進行傳感器融合處理,生成定位點。
進一步地,可見模型生成模塊包括:
攝像子模塊,用於分別從一個以上的位置拍攝室內影像,生成一個以上的原始圖像;
製圖子模塊,用於根據所述一個以上的原始圖像的灰度信息及原始圖像之間的幾何關係,生成深度圖;
建模子模塊,用於通過網格重構技術,對深度圖進行處理,生成部分可見的三維模型。
進一步地,局部模型生成模塊包括:
第一計算子單元,用於提取所述可見部分的三維模型的特徵;
調用子單元,用於調用先驗信息,並將所述先驗信息作為訓練數據;
第二計算子單元,用於根據所述可見部分的三維模型的特徵以及所述訓練數據,通過模式分類技術,生成完整的三維模型。
進一步地,行動路線設定模塊通過公式:
計算運動軌跡,其中,L(r)表示所述行動路線,O表示已計算出的完整的三維模型的集合,p表示完整的三維模型上的特徵點,Ф(p)表示p的約束函數,rp表示行動路線上能看到p的拍攝位置的集合,Cij(p)表示拍攝位置i和拍攝位置j拍攝的原始圖像的一致性評估函數,Ψ(r)表示路徑約束函數。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、或者計算機軟體和電子硬體的結合來實現。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以一個以上單元集成在一個單元中。
所述功能如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。