带你读《2022技术人的百宝黑皮书》——商品3D建模的视觉定位和前景分割方法(1)

简介: 带你读《2022技术人的百宝黑皮书》——商品3D建模的视觉定位和前景分割方法(1)


作者:罗鸿城(伯玉)

出品:大淘宝技术


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


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


单视频视觉定位


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


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


通用场景


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

image.png


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


image.png


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


image.png



带你读《2022技术人的百宝黑皮书》——商品3D建模的视觉定位和前景分割方法(2) https://developer.aliyun.com/article/1247977?groupCode=taobaotech

相关文章
|
数据采集 存储 自然语言处理
python爬虫分类和robots协议 | python爬虫实战之一
本节介绍了爬虫的由来,爬虫的基本流程,以及爬虫如何来获得一个新的URL,还对robot协议作出一些简单地介绍。
python爬虫分类和robots协议 | python爬虫实战之一
|
JSON Java Maven
如何批量查询自己的CSDN博客质量分
如何批量查询自己的CSDN博客质量分
491 0
[PDF提取重命名]提取识别文字并对PDF文件批量重命名,提取PDF指定可复制的内容并批量重命名PDF,批量PDF文档指定识别提取区域
本文介绍一款实用工具,能快速从可复制内容的PDF中提取指定区域信息并据此重命名文件。设置提取坐标及导入PDF文档、设定新文件名后启动提取流程,即可高效批量处理。保存坐标设置以便重复使用,适用于需频繁修改大量PDF文件名的场景。
1060 0
[PDF提取重命名]提取识别文字并对PDF文件批量重命名,提取PDF指定可复制的内容并批量重命名PDF,批量PDF文档指定识别提取区域
|
关系型数据库 MySQL Linux
在CentOs7虚拟机Linux离线安装mysql5.6(亲测可用)
该博客文章详细记录了在CentOS 7虚拟机上离线安装MySQL 5.6版本的完整过程,包括下载安装包、导入虚拟机、卸载MariaDB、配置文件设置、服务启动和权限配置等步骤。
在CentOs7虚拟机Linux离线安装mysql5.6(亲测可用)
|
JSON 监控 开发者
Python I/O管理新篇章:优化你的程序,让数据流动更顺畅
【7月更文挑战第30天】在数据驱动时代, Python I/O操作效率至关重要。理解I/O瓶颈,使用缓冲技术(如调整`open`的`buffering`参数),并发与异步I/O(借助`asyncio`),高效序列化(json, msgpack),及监控调试(cProfile)能显著提升性能。示例展示了缓冲读取和异步文件操作的最佳实践。不断学习可助开发者优化数据流。
207 2
|
监控 Java Linux
Linux下JVM相关指令详解及案例介绍
Linux下JVM相关指令详解及案例介绍
175 1
|
小程序 开发者
微信小程序项目实例——2048小游戏
微信小程序项目实例——2048小游戏
|
SQL 关系型数据库 分布式数据库
PolarDB常见问题之修改PolarDB-x默认端口号失败如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
Linux Perl
使用awk和正则表达式过滤文本或字符串 - 详细指南和示例
使用awk和正则表达式过滤文本或字符串 - 详细指南和示例
|
Prometheus 运维 监控
统一观测|Prometheus 监控多云容器集群
容器集群可观测现状随着 Kubernetes(K8s)容器编排工具已经成为事实上行业通用技术底座,容器集群监控经历多种方案实践后,Prometheus 最终成为容器集群监控的事实标准。Promethues 监控服务可有效监控系统层指标、应用层指标、业务层指标等,采集监控指标后进行存储,搭配 Graf...
550 0
统一观测|Prometheus 监控多云容器集群