作者:罗鸿城(伯玉)
出品:大淘宝技术
2021年10月,大淘宝技术发布了基于神经渲染的3D建模产品object drawer ,用户只需要环拍一圈商品的视频,就可以生成3D模型。
在物体重建算法流程中,需要先计算出每一帧图像的相机位姿(平移和旋转)。之后需要对图像中前/背景进行像素级的分割,重建时只需考虑前景而忽略背景像素。准确的相机位姿和前景分割结果是保证高质量重建的前提。
单视频视觉定位
视觉定位任务的学术名词叫SfM(Structure from Motion),它的定义是:输入多个视角的图片,通过算法得到相机的内参、相机的位姿(6DoF)和场景的稀疏结构(稀疏点云)。目前业界比较成熟的视觉方案是COLMAP。在实际使用中我们发现,COLMAP的成功率只有80%,尤其在弱纹理、重复纹理、相机运动快时,精度严重下降;或者部分帧pose丢失甚至软件直接崩溃。对此,我们做出了改进。
SfM的算法环节可以分为两部分:特征匹配和几何模型。影响SfM精度和稳定性的主要是图像特征匹配的精度。所以,只要能提供准确的图像特征匹配方式,就可以恢复出准确的相机姿态和稀疏点云。
通用场景
为了提供更加鲁棒的特征和匹配方式,我们用神经网络特征(SuperPoint & SuperGlue)去替代COLMAP中的SIFT特征和BF(brute force)匹配方式,基本可以解决大部分的弱纹理和重复问题场景,如下图在虚拟渲染场景上的测试例子所示:
改进后的相机位姿对于重建的清晰度和质量有了很大提升,如下图所示:
但是由于SuperGlue的匹配很耗时(2张图匹配约50毫秒)且无法并行化,如果采用图像之间两两穷尽匹配的话,一个400张图的图片集需要匹配约8万次,耗时1小时以上。因此,我们修改了匹配策略,减少了无效匹配。如下图所示,热量矩阵代表不同图像直接的相似度。白色、蓝色、红色表示相似程度递增。我们使用了稀疏采样+回环增强的模式,在不降低精度的情况下,匹配时间提升了15倍,400张图的匹配时间约为4分钟。
带你读《2022技术人的百宝黑皮书》——商品3D建模的视觉定位和前景分割方法(2) https://developer.aliyun.com/article/1247977?groupCode=taobaotech