基于墙体边缘识别的快速低成本重建策略
背景简介
写在前面,关键词:室内布局识别(layout estimation 国外论文翻译过来,但这里重在研究室内整体布局识别,即墙体边缘识别)
定义:室内布局识别任务是通过分析一张RGB图像,来估计图像内的墙体边缘,经过后处理得到室内空间的粗略3D户型模型,如下图。
应用场景:在物联网家居中,一般需要房屋的户型图来控制所有联网设备的运转,为此可以通过我们的策略快速重建户型图。还可用于虚拟装修设计、机器人低成本避障、二手房交易快速重建户型图等,实现它的应用价值。
RGB全景图
1.全景图是以相机为中心对周围环境360°的视角图像。
2.全景图可以通过专业的全景相机获得,也可以通过手机拍照拼接而成。
3. 研究对象的是不带景深的全景图房间布局识别,并估计出每面墙的景深,下图左边是一张RGB全景图,右边是经过我们的算法处理后的景深图像。
关键技术:全景图语义分割
1.在图像识别中,图像语义分割是指对图像中的像素点进行分类,而分类结果的边界即为图像中不同事物的边界。
2.在全景图的语义分割中,全景图的标签(标注结果,分类的话就是类别名或序号)是一个图像语义边界点的集合。
相关研究
1.室内全景图数据集,全景图数据可以通过手机拍照拼接而成,还可以通过全景相机直接拍照生成。第一种方法零成本,并且可以随时随地拍摄。第二种方法已经有许多相关数据集,例如Stanford 2D-3D、SUN RGB-D、Structred3D等等。
2.室内布局识别方法,该任务的深度学习模型主要有HorizonNet、DulaNet、layoutNet。它们都是基于Encoder-Decoder方式的编码解码图像从而得到全景图语义分割图,经后处理得到3D模型。
全景图获取
首先,利用全景相机(图左)可以收集到带景深的RGB全景图,即RGB-D图像。此外还可以用iPad、iPhone等不带景深的设备拍照拼接得到RGB图像,左边图像来源:SUN RGB-D,右边来源与ScanNet。
其次,全景图数据可以通过手机拍照拼接而成。由于手机等移动设备拍照它的视角有限,因此需要经过一定次序的拍照,再用SIFT拼接算法生成,图左是飞宇Vlogpocket手机云台,图右是手机的拍照视角大小。
最后, 全景图数据还可以来源于设计好的CAD户型图。通过专业的家装户型设计师设计CAD模型,经过Visim等软件可以渲染出Normals、Depth、Panorama等图像。这种方法不需要到实际场景中收集数据,制作数据集简单高效。下图是虚拟全景图获取的一般流程。
全景图识别
首先,DulaNet,该网络模型具有良好的鲁棒性,并且证明了E2P(一种空间变换操作,可以由平视图转换为俯视图)转换是可以进行反向传导的。它拥有两条网络主线,其中一条是输入全景图,另一条输入的是经过E2P转换后的俯视图。下图来源于DuaNet论文。
其次,此工作性能最佳的一篇论文HorizonNet于19年发表在CVPR。HorizonNet是由ResNet+biLSTM组成的神经网络。最大的创新点在于它引入了NLP中的双向长短期记忆网络(biLSTM),这样做可以更好的捕捉场景的远距离特征。它分别在两个数据集上的长方体房间的精度最高。模型如下图所示。该作者于21年在CVPR发表HoHoNet。
存在的问题
首先,对于室内精装修环境的识别准确度不高,室内精装修与不装修效果见下图,该问题是常见的遮挡问题。
其次,公开的全景图数据集有限,且大部分是运用专业全景相机拍摄,采集、标注非常耗时,部分数据不满足先验假设,且存在人工标注误差。
最后,识别速度不足,对于实时性要求较高的重建,目前的方法还是不足。
基于墙体边缘识别的快速低成本重建策略
基础框架
快速重建室内户型策略步骤:
1.从手机拍取图像进行拼接
2.全景图数据集采集与标注(用于训练网络模型)
3.快速的室内墙体边缘识别方法
4.根据墙体边缘线翻折得到3D盒子(室内物体识别及渲染)
室内墙体边缘识别技术路线
结合梯度边缘与EfficientNet的室内布局识别方法,拥有快速且更高的识别准确度,网络模型结构如下所示。尽管使用残差网络 (residual network,ResNet)作为图像识别的编码网络取得了巨大的成功. 但残差网络只解决了随着网络深度增加所带来的弊端, 经验表明, 网络精度的提升重点在于网络深度、 网络宽度、分辨率这三个维度。而进行梯度边缘预提取则简化了图像的局部纹理特征,让模型更专注识别墙体的边缘,并且在模型识别流程中,我们将水平与垂直边缘区分开来识别,实现1x1024+2x1024的墙体边缘线表示(HorizonNet是3x1024表示),最后,该方法识别准确率及速度在私有数据集上最好。
室内家具识别快速重建场景
说到家具识别是不是最先想到yolo v5快速识别家具呢。其实这样并不能很好的重建室内场景,因为它并不能识别物体相对于整体布局的3D位置级物体的旋转特性。为此再使用yolo v5的同时还需要辨别物体的状态特征.重建场景如下图所示。这里附上一篇牛皮的综述,State-of-the-art in Automatic 3D Reconstruction of Structured Indoor Environments。它讲述了室内3D重建近几年的研究成果,感兴趣的小伙伴可以细品。
未来研究
对于单个室内空间的重建如上述所示,要想得到一个比较完整的粗略户型图,则还需要在手机拍照的拼接的同时进行室内定位。如下图所示在A地点拍完后需要跟踪手机的位置,然后用户到B点进行拍摄,在重建出单个空间场景后,区分每个室内空间的内墙与外墙,并有序的连接在一起。目前有一些APP能够完成重建,例如,如视VR,CubiCasa等新兴的应用,还感兴趣的小伙伴自己探索吧,谢谢阅读!