基於光流的室外場景三維重建
傳統的獲取物體三維資料的方法主要是依靠結構光或者鐳射等三維重建方法,但這些方法需要很多額外的硬體裝置並且不適合戶外的大場景的三維重建。文章提出的基於攝影測量學和影象光流的方法改變了傳統的重建方式,只需要一臺單反相機通過拍攝系列圖片即可獲得物體的三維資料,而且適用於戶外場景的三維資料的獲取。根據近景攝影測量學的方法能夠獲得相機的內外引數;而根據光流法能夠獲得兩幅圖片上的影象點匹配資訊以及顏色資訊,然後根據相機的標定資料、匹配資料以及顏色資料就能獲得帶有顏色紋理資訊的物體三維點雲。這種測量方式只需手持相機對物體拍攝多幅圖片即可完成三維重建,可以使用在大場景VR虛擬現實中的三維獲取。
基於近景攝影測量學[[i]]和光流[[ii]]的三維測量方式正好滿足了上述需求。這種測量方式只需要一臺單反相機,使用相機對物體從不同角度拍攝多幅圖片的方式來獲取三維資訊。單反相機具有很高的畫素和顏色資訊,以此來對物體進行重建可以獲得很好的精度並同時獲得物體的紋理資訊。首先,使用一些人工的標記點通過自標定的方法標定相機的內引數;然後,拍攝需要重建的物體影象,通過物體上自身的特徵點,如sift特徵資訊[[iii]],來完成相機的外引數的標定;第三,使用光流檢測演算法可以計算出從不同角度拍攝的兩幅圖片上每個畫素點的光流值。因為在三維空間中某個物體或者場景在對應二維影象平面運動時,物體或者場景中的三維點會投影到二維平面上,並且行成了以影象亮度為模式的運動,這種運動就叫做光流。光流場可以理解為物體在空間運動過程或者相機拍攝過程中產生的向量場,這種向量場同樣可以通過物體不動而移動相機來獲得。最後,基於兩幅圖片光流場的變化值可以獲得畫素精度的匹配點,根據這些影象匹配點和相機的標定資料就可以重建出物體的三維資訊。
實驗的過程只需要使用一臺單反相機(如圖2所示),焦距35mm,相機解析度1024*1280。拍攝距離5m,視場大小4m*5m。首先是相機內參的標定過程,內參的計算使用1.1介紹的方法。首先在地面上鋪設一些編碼標記點如圖3所示,這些編碼點都具有編碼唯一性特點,然後使用相機圍繞著這些編碼點拍攝8幅圖片,通過影象處理的方法來獲得每幅影象上每個編碼點的二維影象座標,最後根據(7)式計算出相機的內引數,計算的結果如表-1所示。表1 內引數矩陣
表2 外引數矩陣內參計算完成之後就是對兩幅影象外引數的求解,首先對兩幅影象分別使用SIFT演算法來檢測兩幅影象的匹配點,如圖4所示,然後根據這些匹配點使用2.2介紹的方法來計算兩幅影象的外引數,計算結果如表-2所示。
內參和外參標定完成之後可以使用第三節介紹的光流計算方法來計算兩幅影象上的光流場,然後根據光流場來對畫素級別的稠密點進行匹配,可以得到兩幅影象上稠密的二維影象匹配點。最後根據三角測量原理,有了內參和外參以及影象上的匹配點就可以進行三維點的重建,並獲取到每個三維點對應的影象顏色值。重建的效果如圖5和圖6所示。
[1] A.Gruen.Development of digitalmethodology and systems[J].Close Range Photogrammetryand Machine Vision.Caithness:Whittles,1996:pp78-105.
相關文章
- TGDC | 讓現實更理想·室外3D大場景重建3D
- 基於結構光投影三維重建:格雷碼編碼與解碼
- 三維重建基礎
- SIGGRAPH | 多機器人協同三維場景重建機器人
- 單幅RGB影像整體三維場景解析與重建
- 關於3d場景重建3D
- 室外場景注意事項(一)距離場陰影的利弊!
- 基於 HTML5 WebGL 的 3D 場景中的燈光效果HTMLWeb3D
- 基於LOD的大規模真實感室外場景實時渲染技術的初步研究 PART I (轉)
- 基於場景的設計方法
- 室外內地面互動投影系統可應用的場景有哪些?
- 室外土方和挖方---院裡的室外屬於建築,馬路上才屬於市政
- 基於WebGL HTML5 的場景小遊戲WebHTML遊戲
- 基於工控場景的DNS隧道檢測方案DNS
- 雙目測距與三維重建的OpenCV實現問題集錦(四)三維重建與OpenGL顯示OpenCV
- 基於ESP8266的開源MCU方案(十二)智慧場景:一鍵場景
- 遊戲場景設計思維:至關重要的基礎元素遊戲
- 三維重建工作的一些調研
- Mand Mobile - 基於金融場景的Vuejs元件庫VueJS元件
- 基於多種場景DataGuard切換方案
- 空間三維模型的編碼結構光方法實現:基於EinScan-S軟體模型
- 基於面繪製的MC演算法以及基於體繪製的 Ray-casting 實現Dicom影像的三維重建(python實現)演算法ASTPython
- 運維場景下的兩個自我運維
- 如何繪製三維動畫設計和製作場景更好動畫
- 如何實現超大場景三維模型資料立體裁剪模型
- Spark適用於哪些場景?不適用於哪些場景?Spark
- C#開發PACS醫學影像三維重建(十四):基於能量模型演算法將曲面牙床展開至二維平面C#模型演算法
- Handler的三種互動場景
- 實景三維,大有可為
- 基於Redis訊息的訂閱釋出應用場景Redis
- 基於語義感知SBST的API場景測試智慧生成API
- 【技術向】基於工控場景的DNS隧道攻擊方案DNS
- [譯] Java 資料流的不同應用場景Java
- 一句話爆改三維場景!史丹佛吳佳俊團隊新作:場景語言,智慧補全文字到3D的場景理解3D
- 基於Serverless架構最新應用場景詳解Server架構
- 使用colmap對大規模場景進行分組重建
- 三維重建學習(1):基礎知識:旋轉矩陣與旋轉向量矩陣
- 基於滑動場景解析RecyclerView的回收複用機制原理View