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

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

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



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


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


image.png


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


image.png


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

尺度s,旋转R,平移T:


image.png


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


image.png


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


image.png



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

相关文章
|
数据采集 测试技术 数据安全/隐私保护
Playwright测试中避免使用no-wait-for-timeout的原因
在Web应用自动化测试中,Playwright作为首选框架,其稳定性至关重要。不当使用`no-wait-for-timeout`会导致测试结果不稳定、不符合真实用户体验且难以调试。推荐采用显式等待策略和合理设置超时时间,结合代理IP技术提高测试成功率和数据多样性。示例代码展示了如何在Playwright中配置代理IP进行数据抓取及分类统计。遵循这些最佳实践可确保测试既可靠又贴近实际用户场景。
713 4
Playwright测试中避免使用no-wait-for-timeout的原因
|
机器学习/深度学习 人工智能 Apache
人工智能平台PAI操作报错合集之alink任务可以在本地运行,上传到flink web运行就报错,如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
监控 调度 数据安全/隐私保护
ERP系统中的财务预算与资金管理解析
【7月更文挑战第25天】 ERP系统中的财务预算与资金管理解析
831 2
|
存储 JSON API
批量采集抖音商品详情数据:推荐你使用API(通过商品id取商品详情商品主图sku属性)
批量采集抖音商品详情,建议使用API接口。步骤包括:注册抖音开放平台获取App Key和Secret,调用商品详情API接口传入商品ID及相关参数,解析返回的JSON获取商品信息(如名称、价格、主图和SKU)。此外,接口列表提供商品搜索、销售量查询、历史价格、订单管理等多种功能。已封装的API接口地址:c0b.cc/R4rbK2,可测试并联系获取SDK文件。
1232 1
在通过客户端向 hdfs 中写数据的时候,如果某一台机器宕机了,会怎么处理
在通过客户端向 hdfs 中写数据的时候,如果某一台机器宕机了,会怎么处理
296 0
|
JavaScript API
vue2.x与vue3.x中自定义指令详解
vue2.x与vue3.x中自定义指令详解
236 0
|
tengine 缓存 监控
B站挂了之后出现的tengine是个啥?
B站挂了之后出现的tengine是个啥?
381 0
LeetCode 1436. 旅行终点站
给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。
182 0
|
前端开发 JavaScript rax
从生产到消费,基于物料的前端开发链路
作者通过一些实际的案例,分享基于物料进行前端开发的链路,欢迎接入使用。
从生产到消费,基于物料的前端开发链路
|
消息中间件 JSON 监控
Kratos微服务框架下实现CQRS架构模式
Kratos微服务框架下实现CQRS架构模式,用于物联网的时序数据读写。
945 0
Kratos微服务框架下实现CQRS架构模式