点击上方“”,选择加"
重磅干货,第一时间送达
从机器视觉的角度来看,作者从六个方面对文章的标题进行了深入的分析,包括相机标定、平面物体检测、纹理物体、无纹理物体、深度学习和任务/运动规划。
首先,我们需要了解机器人领域的视觉(Machine Vision)跟随计算机领域(Computer Vision)有一些不同的视觉:机器视觉的目的是
这实际上是一个相对成熟的领域。由于我们所有的物体识别只计算相机坐标系下物体的位置,机器人需要知道物体在机器人坐标系下的位置。因此,我们首先需要校准相机的位置。内参标定不说,参照张正友的论文,或各种标定工具箱;根据相机的安装位置,外参标定有两种方式:
Eye to Hand:相机与机器人极坐标固连,不随机械臂运动
Eye in Hand:相机固定在机械臂上,随机械臂移动
这两种解决方案的想法相似。首先,眼睛在手外(Eye to Hand)
只需在机械臂末端固定一个棋盘格,并在相机视野中移动几个姿势。因为相机可以计算棋盘格相对于相机坐标系的位置A_i 、机器人运动学正解可以计算机器人底座到末端抓手之间的位置变化E_i 、而末端爪手和棋盘格的位置相对固定。这样,我们就可以得到一个坐标系环 CX=XD有很多方法可以解决这种结构。我在这里给出一个
这是目前工业装配线上最常见的场景。目前,该领域的视觉要求是:快速、准确、稳定。因此,它通常是最简单的
目前,许多智能相机(如 cognex)这些功能直接嵌入;此外,物体通常放置在平面上,相机只需计算物体(x,y,θ)T 三自由度位置即可。此外,这种应用场景通常用于处理特定的工件,相当于只估计位置而不识别物体。当然,追求工业稳定性是可以理解的,但随着生产自动化和服务机器人的兴起的要求越来越高。对更复杂物体的完整位置(x,y,z,rx,ry,rz)T 据估计,它已成为机器视觉研究的热点。
机器人视觉领域是第一个开始研究纹理的物体,如饮料瓶、零食盒等表面纹理丰富的物体。当然,这些物体也可以从类似的边缘提取 模板匹配的方法。然而,在实际机器人操作过程中,环境会
幸好有个叫 Lowe 大神,提出了一个叫做的大神 SIFT (Scale-invariant feature transform)的
对于不变形的物体,特征点固定在物体坐标系下。因此,在获得多个点对后,我们可以直接找到相机中物体与数据库中物体之间的单应性矩阵。如果我们使用深度相机(如Kinect)或双眼视觉方法,确定每个特征点 3D 位置。然后,直接解决这个问题。 PnP 在当前相机坐标系下,可以计算出物体的位置。
↑ 这是实验室毕业前师兄的成绩
当然,实际操作过程中还是有很多细节工作才可以让它真正可用的,如:先利用点云分割和欧氏距离去除背景的影响、选用特征比较稳定的物体(有时候 SIFT 也会改变),用贝叶斯加速匹配等。而且,除了 SIFT 此外,还有很多类似的特征,比如 SURF、ORB 等。
嗯,有问题的物体很容易解决,所以生活或工业中有很多物体没有纹理:
我们最容易想到的是,是否有一个特征点可以描述物体的形状和跟踪 SIFT 类似的不变性?不幸的是,据我所知,目前还没有这样的特征。因此,以前的一大类方法仍然是基于
简单地说,这篇论文同时被使用
当然,该算法在具体实施过程中仍有许多细节:如何建立模板、颜色梯度表示等。此外,该方法无法处理物体被屏蔽的情况。(当然,部分屏蔽可以通过降低匹配阈值来处理,但会导致误解)。针对部分遮挡,我们实验室的张博士去年对 LineMod 进行了改进,但由于论文尚未发表,所以没有涉及太多。
由于深度学习在计算机视觉领域取得了很好的效果,我们自然会尝试成为机器人 DL 用于机器人物体识别。首先,可以复制物体识别 DL 各种研究成果 CNN 拿过来用好了。在 2016 年的『亚马逊抓取大赛』中,很多队伍都采用了 DL 作为物体识别算法。然而, 在这个比赛中,虽然很多人采用 DL 进行物体识别,但在物体位姿估计方面都还是使用比较简单、或者传统的算法。似乎并未广泛采用 DL。如 @周博磊 所说,一般是采用 semantic segmentation network 在彩色图像上进行物体分割,之后,将分割出的部分点云与物体 3D 模型进行 ICP 匹配。当然,直接用神经网络做位姿估计的工作也是有的,如这篇:
它的方法大概是这样:对于一个物体,取很多小块 RGB-D 数据(只关心一个patch,用局部特征可以应对遮挡);每小块有一个坐标(相对于物体坐标系);然后,首先用一个自编码器对数据进行降维;之后,用将降维后的特征用于训练Hough Forest。
这部分也是比较有意思的研究内容,由于机器视觉的目的是给机器人操作物体提供信息,所以,并不限于相机中的物体识别与定位,往往需要跟机器人的其他模块相结合。
我们让机器人从冰箱中拿一瓶『雪碧』,但是这个 『雪碧』 被『美年达』挡住了。我们人类的做法是这样的:先把 『美年达』 移开,再去取 『雪碧』 。所以,对于机器人来说,它需要先通过视觉确定雪碧在『美年达』后面,同时,还需要确定『美年达』这个东西是可以移开的,而不是冰箱门之类固定不可拿开的物体。当然,将视觉跟机器人结合后,会引出其他很多好玩的新东西。由于不是我自己的研究方向,所以也就不再班门弄斧了。
来源:知乎 作者:fly qq
原文链接:https://www.zhihu.com/question/26199861
在「
在「
在「
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。