基于視覺(jué)處理的3D家居
1 創(chuàng )意來(lái)源
本文引用地址:http://dyxdggzs.com/article/273058.htm目前市場(chǎng)上主流的3D家居軟件主要分為兩類(lèi)。
第一類(lèi)是以3dmax、lightscape為代表的專(zhuān)業(yè)軟件。這類(lèi)軟件功能強大,做出來(lái)的東西非常精確,但由于其面向專(zhuān)業(yè)建筑師或者房產(chǎn)商,對于普通用戶(hù)來(lái)說(shuō),短時(shí)間掌握使用技巧是很難的。易用性欠佳。
第二類(lèi)是以3D Home、IKEA Home Planner為代表的非專(zhuān)業(yè)軟件。這類(lèi)軟件專(zhuān)為普通用戶(hù)而設。通過(guò)選擇房屋占地面積與房屋結構來(lái)構建空房子模型,當需要裝飾的不是全空的房子時(shí),就無(wú)從下手了。因此,在與現實(shí)的結合上,實(shí)用性還需要提高。
我們團隊預期開(kāi)發(fā)的三維建模軟件,面向受眾是普通用戶(hù)。通過(guò)手機拍攝一段家居視頻,在PC機服務(wù)器端重建出三維模型,在網(wǎng)頁(yè)上進(jìn)行顯示。如此,用戶(hù)想要得到任何物體的三維模型,只需實(shí)時(shí)拍攝即可,操作簡(jiǎn)便。此外,進(jìn)行室內設計的專(zhuān)業(yè)人士,也可以在模型的基礎上進(jìn)一步修改。
2 關(guān)鍵技術(shù)
1、structure from motion三維重建
三維重建技術(shù),使用structure from motion算法,調用Bundler源碼,輸入無(wú)序或有序的圖片和圖片之間匹配的信息,在PC機上進(jìn)行三維重建,輸出重建的.ply格式的三維模型。
Bundler是一個(gè)采用C、C++開(kāi)發(fā)的稱(chēng)為sfm(struct-from-motion)的系統,它能夠利用無(wú)序的圖片集合重建出3D的模型。最早的版本被用在Photo Tourism的項目上。Bundler的輸入是一些圖像、圖像特征以及圖像匹配信息,輸出則是一個(gè)根據這些圖像反映的場(chǎng)景的3D重建模型,伴有少量識別得到的相機以及場(chǎng)景幾何信息。系統借用一個(gè)由Lourakis 和Argyros提供的稱(chēng)為Sparse Bundle Adjustment的開(kāi)發(fā)包的修改版,一點(diǎn)一點(diǎn)遞增地重建出圖像場(chǎng)景。Bundler已經(jīng)成功地應用在許多網(wǎng)絡(luò )相冊系統,尤其是一些建筑相冊里。重建結果為.ply格式的三維模型,從圖片集中還原出離散點(diǎn)。
以椅子為例,360°環(huán)繞一周拍攝照片。照片之間通過(guò)特征點(diǎn)匹配,逐點(diǎn)遞增,還原出三維模型。從實(shí)物與三維模型的比較來(lái)看,重建的模型為離散點(diǎn)的集合,在細節上有一定缺陷,比如部分角落還原不完整。此外,對于椅子以外的環(huán)境,包括墻壁地板都進(jìn)行了重建。因此在后期使用三維模型時(shí)最好能將三維模型分離出來(lái)。
c++相關(guān)文章:c++教程
評論