基于视觉处理的3D家居
1 创意来源
本文引用地址:https://www.eepw.com.cn/article/273058.htm目前市场上主流的3D家居软件主要分为两类。
第一类是以3dmax、lightscape为代表的专业软件。这类软件功能强大,做出来的东西非常精确,但由于其面向专业建筑师或者房产商,对于普通用户来说,短时间掌握使用技巧是很难的。易用性欠佳。
第二类是以3D Home、IKEA Home Planner为代表的非专业软件。这类软件专为普通用户而设。通过选择房屋占地面积与房屋结构来构建空房子模型,当需要装饰的不是全空的房子时,就无从下手了。因此,在与现实的结合上,实用性还需要提高。
我们团队预期开发的三维建模软件,面向受众是普通用户。通过手机拍摄一段家居视频,在PC机服务器端重建出三维模型,在网页上进行显示。如此,用户想要得到任何物体的三维模型,只需实时拍摄即可,操作简便。此外,进行室内设计的专业人士,也可以在模型的基础上进一步修改。
2 关键技术
1、structure from motion三维重建
三维重建技术,使用structure from motion算法,调用Bundler源码,输入无序或有序的图片和图片之间匹配的信息,在PC机上进行三维重建,输出重建的.ply格式的三维模型。
Bundler是一个采用C、C++开发的称为sfm(struct-from-motion)的系统,它能够利用无序的图片集合重建出3D的模型。最早的版本被用在Photo Tourism的项目上。Bundler的输入是一些图像、图像特征以及图像匹配信息,输出则是一个根据这些图像反映的场景的3D重建模型,伴有少量识别得到的相机以及场景几何信息。系统借用一个由Lourakis 和Argyros提供的称为Sparse Bundle Adjustment的开发包的修改版,一点一点递增地重建出图像场景。Bundler已经成功地应用在许多网络相册系统,尤其是一些建筑相册里。重建结果为.ply格式的三维模型,从图片集中还原出离散点。
以椅子为例,360°环绕一周拍摄照片。照片之间通过特征点匹配,逐点递增,还原出三维模型。从实物与三维模型的比较来看,重建的模型为离散点的集合,在细节上有一定缺陷,比如部分角落还原不完整。此外,对于椅子以外的环境,包括墙壁地板都进行了重建。因此在后期使用三维模型时最好能将三维模型分离出来。
c++相关文章:c++教程
评论