商品3D建模的视觉定位和前景分割方法

简介: 2021年10月,大淘宝技术发布了基于神经渲染的3D建模产品object drawer ,用户只需要环拍一圈商品的视频,就可以生成3D模型。在物体重建算法流程中,需要先计算出每一帧图像的相机位姿(平移和旋转)。之后需要对图像中前/背景进行像素级的分割,重建时只需考虑前景而忽略背景像素。准确的相机位姿和前景分割结果是保证高质量重建的前提。

1.gif

2021年10月,大淘宝技术发布了基于神经渲染的3D建模产品object drawer ,用户只需要环拍一圈商品的视频,就可以生成3D模型。

在物体重建算法流程中,需要先计算出每一帧图像的相机位姿(平移和旋转)。之后需要对图像中前/背景进行像素级的分割,重建时只需考虑前景而忽略背景像素。准确的相机位姿和前景分割结果是保证高质量重建的前提。

图片.png

单视频视觉定位

视觉定位任务的学术名词叫SfM(Structure from Motion),它的定义是:输入多个视角的图片,通过算法得到相机的内参、相机的位姿(6DoF)和场景的稀疏结构(稀疏点云)。目前业界比较成熟的视觉方案是COLMAP。在实际使用中我们发现,COLMAP的成功率只有80%,尤其在弱纹理、重复纹理、相机运动快时,精度严重下降;或者部分帧pose丢失甚至软件直接崩溃。对此,我们做出了改进。

SfM的算法环节可以分为两部分:特征匹配和几何模型。影响SfM精度和稳定性的主要是图像特征匹配的精度。所以,只要能提供准确的图像特征匹配方式,就可以恢复出准确的相机姿态和稀疏点云。

 通用场景

为了提供更加鲁棒的特征和匹配方式,我们用神经网络特征(SuperPoint & SuperGlue)去替代COLMAP中的SIFT特征和BF(brute force)匹配方式,基本可以解决大部分的弱纹理和重复问题场景,如下图在虚拟渲染场景上的测试例子所示:

图片.png

改进后的相机位姿对于重建的清晰度和质量有了很大提升,如下图所示:图片.png

但是由于SuperGlue的匹配很耗时(2张图匹配约50毫秒)且无法并行化,如果采用图像之间两两穷尽匹配的话,一个400张图的图片集需要匹配约8万次,耗时1小时以上。因此,我们修改了匹配策略,减少了无效匹配。如下图所示,热量矩阵代表不同图像直接的相似度。白色、蓝色、红色表示相似程度递增。我们使用了稀疏采样+回环增强的模式,在不降低精度的情况下,匹配时间提升了15倍,400张图的匹配时间约为4分钟。

image.gif图片.png

 对称物体场景

在实际的环拍数据中,容易出现对称的物体和背景。即某些物体从不同视角呈现了差不多的图像特征,会造成一个错误的回环信号。如下图图1所示,两个完全不同的视角有着相似的图像特征。错误的闭环检测会造成错误的位姿,如下图图2所示。因此我们采用coarse-to-fine的SfM策略。

先不考虑闭环,计算出初步相机姿态(不够准)。基于第一步的相机位置作为先验,再考虑闭环,计算出准确的相机姿态。

image.gif图片.png

 模糊图像场景

相机运动过快时容易采集到模糊图像。针对模糊图像SfM需要添加跳帧匹配策略。

图片.pngimage.gif

 转台场景

转台可以降低环拍难度。相机固定,转台运动的情况下,需要过滤掉转台外的像素点。我们采用了平面跟踪技术,能够准确跟踪转台平面的区域。转台外的特征点需要在匹配时过滤掉。

001.gifimage.gif

 总结

经过上述一系列改进,视觉定位的成功率得到的大幅度提升,在实际业务中,视觉定位成功率由开源方案的80%提升到了99.3%。

多视频联合视觉定位

 两个视频位姿对齐

如果我们要实现商品的全方位重建(比如重建鞋子、手办底部),我们需要将商品侧翻一下,再拍摄一个视频。前后拍摄的2个视频,如下图所示。由于个视单频下的相机姿态独立计算,需要将两个视频的位姿对齐到统一的坐标系。

image.gif图片.png

拍摄的2个视频

一种比较简单的方法是用图像分割直接提取前景物体,将2个视频的图像混合在一起,直接在白底图上做SfM。实验发现这种情况位姿精度下降非常严重,因为前景特征非常少。

还有一种方法就是我们使用点云配准算法,又叫点云注册(Point Cloud Registration)。通过计算3D点云的特征(又分为局部特征和全局特征),计算出两堆点云的空间变换。但是在我们这个业务场景也无法适用。第一,单目SfM是缺乏尺度的,稀疏点云之间的尺度大小不一致,目前的点云配准方法并不支持。第二,由于正面摆放和侧面摆放,点云的overlap比较少,用业界的点云配准算法也很难得到变换结果。如下图是用ECCV2020的DeepGMR的的点云配准结果,发现匹配误差非常大,2个稀疏点云无法对齐。

图片.png

所以我们提出了:在“2D上匹配,3D上求解”的算法框架,用来对齐2个拍摄视频的位姿。以下是设计的系统框图:

图片.pngimage.gif

将点云投影到图像上提取特征,匹配,统计2D匹配的数量,得到3D点和3D点的对应关系,最后求解7个自由度:尺度s,旋转R,平移T:

图片.pngimage.gif

可以成功将两个点云对齐,如下图蓝色和红色点云所示。

image.gif图片.png

用对齐后的位姿去重建,效果如下图所示,无论正面还是底面都很清晰,说明点云配准所求出的变换精度较高。

image.gif

图片.png

 多个视频位姿对齐

如果只拍2个视频,仍然会存在一定的拍摄盲区(会有一个比较小的区域没办法拍到),那么重建出来这个区域仍然比较脏、不干净(如下图的第二行,第三列的图,会有一小块白色随机颜色值)。对此,我们将拍摄视频扩展到3个,也将算法提高到了3视频对齐。3个视频可以实现商品的无死角覆盖拍摄。

以下分别是,拍1个视频、2个视频、3个视频的对齐位姿和底部重建效果。

image.gif图片.png

更多全方位重建模型预览如下图所示:

02.gif2.gif3.gif

 淘宝应用

我们借用手淘上的720展示链路,将建模的结果离线渲染成图像序列,上传到了手淘,并在主图第二帧展示。

图片.png

主体分割

 问题定义

要想重建一个物体,首先要在图像上将物体分割出来,将前景保留、背景去除,重建出来的模型才能干净、完整。目前业界的重建方法(如NeRF、IDRNet)都对分割结果非常敏感,基本需要绝对准确的结果,一旦有1张出现了分割不准的情况,都会影响最终的重建结果。现有的图像/视频分割算法很难满足这个要求。

 解决方法

对此,我们提出了图像分割和神经渲染端到端联合优化网络。将分割网络输出的结果作为初值,通过神经渲染的方式融合各个视角下的结果。

 结果对比

如下图所示,最左边图片是输入RGB图,中间图片是用SOTA分割算法得到的抠图结果,右边图像是我们的算法结果。我们的分割结果非常精细(可达1个像素的细腻度,如右下角图所示),且不惧复杂背景。

图片.png

总结

如果您想了解更多关于商品AI建模的信息,欢迎访问Object Drawer的官网:https://tech.taobao.org/objectdrawer

团队介绍

大淘宝技术部3D算法团队,发布了业内首个基于神经渲染的商品三维重建产品描物坊Object Drawer,探索了NeRF神经渲染从建模到应用的全链路,在建模鲁棒性、纹理细节、模型大小、推理速度、重光照等方面保持业内领先。同时在应用方面,基于算法的智能出图、视频结果可以媲美设计师的作品,在视频分割、AI搭配、AI布局、户型表示、光影和谐等方面达到业内一流水平。团队在学术方面积极贡献,在ICCV、NeurIPS、KDD、CVPR等顶级学术会议上发表多篇论文,为研究者开放3D-FRONT数据集,获ChinaGraph首届数据奖。为了打造团队的全栈研发能力,我们不断吸引视觉/图形算法、3D/XR引擎等领域的优秀专业人才加入,一起奔向3D新时代。

相关文章
|
机器学习/深度学习 人工智能 算法
生物医药领域-分子对接SOTA模型洞察
该文介绍了分子对接的作用过程、应用场景及分类,总结了现有软件的核心内容与评估指标,并分析了KarmaDock、DiffBindFR和RosettaVS三种最新模型的细节、性能和应用领域。研究指出,未来应关注模型长板特征,开发超大规模虚拟筛选平台以提升药物发现效率。
|
9月前
|
机器学习/深度学习 人工智能 机器人
Meta AI Research:虚拟/可穿戴/机器人三位一体的AI进化路径
本文阐述了我们对具身AI代理的研究——这些代理以视觉、虚拟或物理形式存在,使其能够与用户及环境互动。这些代理包括虚拟化身、可穿戴设备和机器人,旨在感知、学习并在其周围环境中采取行动。与非具身代理相比,这种特性使它们更接近人类的学习与环境交互方式。我们认为,世界模型的构建是具身AI代理推理与规划的核心,这使代理能够理解并预测环境、解析用户意图及社会背景,从而增强其自主完成复杂任务的能力。世界建模涵盖多模态感知的整合、通过推理进行行动规划与控制,以及记忆机制,以形成对物理世界的全面认知。除物理世界外,我们还提出需学习用户的心理世界模型,以优化人机协作。
721 3
|
机器学习/深度学习 人工智能 PyTorch
【人工智能】Transformers之Pipeline(七):图像分割(image-segmentation)
【人工智能】Transformers之Pipeline(七):图像分割(image-segmentation)
900 0
|
存储 前端开发 JavaScript
毕业设计|基于SpringBoot+VUE的开源云盘系统
毕业设计|基于SpringBoot+VUE的开源云盘系统
1496 2
|
机器学习/深度学习 算法 数据挖掘
Python3 OpenCV4 计算机视觉学习手册:6~11(2)
Python3 OpenCV4 计算机视觉学习手册:6~11(2)
407 0
|
安全 IDE Swift
探索iOS开发之旅:从初学者到专家
在这篇文章中,我们将一起踏上iOS开发的旅程,从基础概念的理解到深入掌握核心技术。无论你是编程新手还是希望提升技能的开发者,这里都有你需要的指南和启示。我们将通过实际案例和代码示例,展示如何构建一个功能齐全的iOS应用。准备好了吗?让我们一起开始吧!
|
存储 缓存 负载均衡
什么是CDN(内容分发网络)?
什么是CDN(内容分发网络)?
10121 7
|
弹性计算 安全 前端开发
云服务器ECS通用型、计算型和内存型区别以及详细介绍
阿里云ECS实例有计算型(c)、通用型(g)和内存型(r)系列,区别在于CPU内存比。计算型1:2,如2核4G;通用型1:4,如2核8G;内存型1:8,如2核16G。实例有第五代至第八代,如c7、g5、r8a等,新一代通常使用更先进的处理器。性能参数如CPU主频、IOPS和网络带宽随实例规格变化。实例适合场景包括高网络包收发、数据库、计算密集型任务等。
|
机器学习/深度学习 数据采集 算法
【 2021 MathorCup杯大数据挑战赛 A题 二手车估价】初赛复赛总结、方案代码及论文
总结了2021 MathorCup杯大数据挑战赛A题“二手车估价”的初赛和复赛经验,包括题目要求、解题思路、所用方法和结果,提供了详细的数据分析、模型构建、论文撰写和工具使用技巧,并展示了初赛和复赛的论文。
425 2

热门文章

最新文章