从机器视觉的角度,由简入繁从相机标定,平面物体检测、有纹理物体、无纹理物体、深度学习、与任务/运动规划结合等6个方面深度解析文章的标题。首先,我们要了解,机器人领域的视觉跟计算机领域的视觉有一些不同:机器视觉的目的是给机器人提供操作物体的信息。
所以,机器视觉的研究大概有这几块:
1. 物体识别:在图像中检测到物体类型等,这跟 CV 的研究有很大一部分交叉;
2. 位姿估计:计算出物体在摄像机坐标系下的位置和姿态,对于机器人而言,需要抓取东西,不仅要知道这是什么,也需要知道它具体在哪里;
3. 相机标定:因为上面做的只是计算了物体在相机坐标系下的坐标,我们还需要确定相机跟机器人的相对位置和姿态,这样才可以将物体位姿转换到机器人位姿。
1、相机标定:这其实属于比较成熟的领域。由于我们所有物体识别都只是计算物体在相机坐标系下的位姿,但是,机器人操作物体需要知道物体在机器人坐标系下的位姿。所以,我们先需要对相机的位姿进行标定。
2、平面物体检测:这是目前工业流水线上最常见的场景,目前来看,这一领域对视觉的要求是:快速、精确、稳定。所以,一般是采用最简单的边缘提取+边缘匹配/形状匹配的方法;而且,为了提高稳定性、一般会通过主要打光源、采用反差大的背景等手段,减少系统变量。
3、有纹理的物体:机器人视觉领域是最早开始研究有纹理的物体的,如饮料瓶、零食盒等表面带有丰富纹理的都属于这一类。当然,这些物体也还是可以用类似边缘提取+模板匹配的方法。但是,实际机器人操作过程中,环境会更加复杂:光照条件不确定(光照)、物体距离相机距离不确定(尺度)、相机看物体的角度不确定(旋转、仿射)、甚至是被其他物体遮挡(遮挡)。
4、无纹理的物体:有问题的物体容易解决,那么生活中或者工业里还有很多物体是没有纹理的,之前一大类方法是采用基于模板匹配的办法,但是对匹配的特征进行了专门选择(不只是边缘等简单特征)。
5、深度学习:由于深度学习在计算机视觉领域得到了非常好的效果,我们做机器人的自然也会尝试把 DL 用到机器人的物体识别中。
6、与任务/运动规划结合:这部分也是比较有意思的研究内容,由于机器视觉的目的是给机器人操作物体提供信息,所以,并不限于相机中的物体识别与定位,往往需要跟机器人的其他模块相结合。