3D视觉应用开发--机器人3D互动四大技术难点分析

news/2024/7/7 23:14:23

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达6b1bc0797f4fe8ab9b1c2d5e012a3a46.png

先回顾一下需要达成的应用场景:简单说就是利用3D视觉传感技术实现人与机器之间的投球互动。玩家从“准备区”投出皮球,经过约半秒时间穿过飞行区,到达回球平面时,机械手对准来球将其推回。如下图所示:

215a2b7524bcbc70e0ffd480f70aef7b.png
咋一看,这个功能并不复杂,但实现起来非常有挑战性。我们先理一下方案的大致思路:用3D视觉传感器(即深度相机)对球进行跟踪定位,然后通过图像处理尽快的预测出球抵达回球平面时的具体位置,并发送给机器人控制器,再由控制器发出运动指令,机械臂执行到指定位置回击球。

有小伙伴可能会问了,为什么要预测位置,我们不能在球抵达平面时,直接从图像中计算出实际位置吗?显然是不行的,因为时间上来不及。图像传输,图像处理,机械运动都需要时间,这几部分加起来大约 210毫秒,如果等球到了再判断,黄花菜都凉了。所以只能提前根据球进入飞行区的初始6帧的深度图,计算出球在每一帧的位置,再根据这6个位置拟合抛物线,从而得到球抵达回球平面时的具体位置和时间。所以切记,这部分计算能快尽量快,时间就是生命线!

c473ad412ff396a9d41e21527fee1a88.png
初步估计,球飞行时间约400550ms,扣除6帧飞拍所需的180ms,剩余220370ms,可用于视觉系统处理和机器人响应(需要约210ms,刚刚够),能给到各个环节的时间是很紧张的,如果某个环节稍微入不敷出,这个功能就实现不了。所以,第一个挑战就是如何保证实时性。

挑战二,就是上边提到的位置预测误差。这个预测位置如果不够准确的话,机器人回击球会失败。仔细分析的话,这个误差的构成因素有很多。这里主要列举:像素精度,标定误差,圆拟合误差,抛物线拟合误差,时间误差。

像素精度,是指每一个像素代表的实际尺寸。比如,当VGA分辨率(640480)对应的区间大小为 21.5米,那么每个像素的实际尺寸就是3.1mm。这个尺寸如果越大,从图像中计算的位置误差也就越大。

标定误差,是指每一个像素映射到实际空间中的坐标时,会偏离实际值。一方面,坐标转换矩阵不一定很准确,而且,每个相机的个体之间有差异;另一方面,现场的相机安装有时会有轻微松动异位,那么转换矩阵就实效了。

拟合误差。由于球的快速运动产生拖影(见图),造成圆拟合后的球心位置有误差;另外,由于点云数据丢失,球的成像会出现孔洞,这给圆拟合算法带来挑战。
3fd89ea47daa264c190337552ea7a1cc.png27928466e0d65169b24662b807cfd2e0.png
抛物线拟合误差。在我们利用6帧的球心位置来拟合一条抛物线时,由于理论几何模型与实际有差异,会带来额外的定位误差,且该误差有可能很大。

时间误差。即便预测到的位置非常准确,但如果抵达时间预测得不准,会导致机械臂击球节奏的丢失,也无法满足功能。这个误差的诱因可能是图像传输和图像处理的耗时不稳定,也可能是抛物线模型不准确。

挑战三,图像处理算法。图像处理包括图像去背景噪声,圆拟合。如果背景噪声不能去除干净的话,会造成把背景物体识别为球的情况。但也不能去除的太“狠”,造成球像素的受损,也会影响定位准确性。圆拟合可以采用2D平面拟合,或者3D球面拟合;前者鲁棒性和定位能力差一些,后者会比较耗时。

挑战四,机器人运动控制、路径规划。一方面要足够块,另一方面要根据来球的速度矢量,设计好机械臂出击的方向和力道,使得回击球的效果最优。

综上所述,这四大挑战决定了这个应用研发的难度不小,因为它不是单纯的理论研究,而是要实现一个工程,就必然受到时间和空间上的强约束。但我们不畏惧困难,要相信办法总比困难多 后续几篇笔记会介绍些应对方法。

来源:3D视觉开发者社区

链接:https://developer.orbbec.com.cn/forum_plate_module_details.html

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

43eba6fe2aa8c5cace767552ce4244ea.png

a474b0cb3a88bf92e54f24471c65bcf6.png


http://lihuaxi.xjx100.cn/news/269486.html

相关文章

Android深入浅出系列之Android工具的使用—模拟器(一)

前言  我们下载的SDK包里面有一个叫“Tools”的文件夹,里面为我们提供了许多与Android开发相关的工具,其中一些是必不可少的,现在我们就介绍一下模拟器 Android模拟器的创建  使用“Android SDK and AVD Manager”可以很方便的创建一个An…

Module ‘celery‘ has no attribute ‘celery‘问题

Module celery has no attribute celery问题 自己查阅好多博客文章,也没有找到是怎么回事,最后自己一直调试发现celery.py文件是直接建在项目文件下了,改成下面方式就可以了!

AI又进阶!除了鉴别PS图片,还能一键卸妆

作者 | 马超编辑 | 伍杏玲封图 | 视觉中国出品 | AI科技大本营(ID:rgznai100)最近CVPR2020的论文集合在GitHub火了,CVPR2020-Paper- Code 的项目(https://github.com/extreme-assistant/CVPR2020-Paper-Code-Interpretation&#…

html景图片怎么设置百分比,8个风光照片拍摄技巧

正确处理:母牛欧芹和金雀花都是很诱人的前景,能将观者的视线引入场景之中,并为远处的景致构成恰如其分的框架。广角镜头加上f/22的小光圈营造出很大的景深我们一起听听著名风光摄影师亚当-伯顿怎么设置前景:应该指出的是&#xff…

她是直播聊学习成“网红”的北大博士,毕业后入职民办学校,年薪70万

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达本文募格学术撰写。参考来源:钱江晚报、抖音相宜视频、刘忆宁科学网博客、看看新闻、百度百科等。在北大读博时,她经常在短视频媒体上分享自己的学习…

typeof操作符的返回值

使用typeof操作符 对一个值使用typeof操作符可能返回下列某个字符串: 1):undefined——如果这个值未定义 2):boolean——如果这个值是布尔值 3):string——如果这个值是字符串 4):number——如果这个值是数值 5):object——如果这个值是对象或null,数组,…

ValueError: not enough values to unpack (expected 3, got 0)问题

ValueError: not enough values to unpack (expected 3, got 0)问题 检查自己的电脑上是否有eventlet库 安装 pip install eventlet 然后启动worker的时候加一个参数,如下:(执行任务) celery worker -A celery_tasks -l INFO…

自己实现文本相似度算法(余弦定理)

2019独角兽企业重金招聘Python工程师标准>>> 最近由于工作项目,需要判断两个txt文本是否相似,于是开始在网上找资料研究,因为在程序中会把文本转换成String再做比较,所以最开始找到了这篇关于 距离编辑算法 Blog写的非…