[项目]机器守门员-感知篇 精华

查看: 2593|回复: 6

[项目] 机器守门员-感知篇

[复制链接]
本帖最后由 饶厂长 于 2018-8-9 17:02 编辑

对应上一章最后的系统框架图, 感知部分的工作有三部分:








感知这部分的工作是由我的队友俊君来完成的, 感知的三大块内容主要包括:
1. 获取传感器数据: 就是通过intel realsense传感器提供的sdk源源不断的获取图像, 要求要尽量快速, 减少迟滞。 最终我们的更新频率为50fps。
2. 在rgb图上检测球在图像中的坐标: 就是利用传统的计算机视觉方法, 以最快的速度在图像中找到球的位置, 要求误检率尽可能的少, 噪声尽可能小, 实时性要尽可能高。最终我们整个控制周期为20ms。
3. 获取对应的深度, 并借此获取三维坐标: 就是利用深度信息和球在rgb图上的像素坐标, 反求出球在三维世界中制定坐标系下的三维坐标, 这就是感知系统的最终输出了。
一、 获取传感器数据:
俊君同学非常给力, 在短短的一天内就布置完成了intel提供的sdk以及opencv 的开发环境, 很快就能够获取深度图并用opencv进行基本的显示处理了。
这部分不深入介绍了, 因为具体的过程我没有参与, 有空由俊君来发文介绍一下sdk的安装和环境配置吧。
关于50fps: realsense的rgb图像输出最高支持60fps, 但是并不稳定, 常常在62, 58区间震荡。 为了获取等间距稳定的图像流, 我们决定降低帧数获取稳定的数据流。 这部分俊君同学做了很多工程上的处理, 在这里不讨论。








二、 在rgb图像寻找球的坐标:
由于能解决这个问题的方法非常之多, 因此如何选取最合适的方法就是一个技巧性很强的问题。 根据我们的要求, 要尽可能稳定,还要尽可能快速, 俊君抛弃了什么模版匹配、 运动检测各种高级方法, 使用了最最简单最最基础的颜色空间加形状的办法。 足球的颜色是橘黄色, 在数字图像中用颜色向量非常容易提取出来, 加上判断物色块形状, 能滤去很多颜色相近的物体。 最棒的是, 这种最简单的方法运算量非常小, 可以说是完美解决了这个问题。

如视频所示, 橙色足球所在位置被打上了蓝色方框, 并且在运动中蓝色框也能追踪到足球的位置。

三、 三维坐标的计算
这是感知部分的一个理论性比较强的问题, 牵涉到一些线性代数和空间几何的知识。 说是理论性较强, 实际上用的数学原理都非常简单, 比较考验空间想象能力, 看不懂可以跳过, 不影响后面章节的阅读。 大致思路如下:
三维物体成像到照片上, 其实就是三维投影到二维的过程

´设空间中有一点P,若世界坐标系与相机坐标系重合,则该点在空间中的坐标为(X, Y, Z),其中Z为该点到相机光心的垂直距离。设该点在像面上的像为点p,像素坐标为(x, y)。
f是相机的焦距, Z就是深度。
´由上图可知,这是一个简单的相似三角形关系,从而得到描述投影的公式:

´但是,图像的像素坐标系原点在左上角,而上面公式假定原点在图像中心,为了处理这一偏移,设光心在图像上对应的像素坐标为(cx,cy),则

焦距f, cx cy都属于相机内参, 可以通过标定获取。 而x和y就是球在图像上的坐标, 因此从这个公式我们就可以求取球在三维空间中的坐标了。

等式右边那个矩阵就是常说的相机内参矩阵。 其中cx和cy一般是图像尺寸的1/2,  而f可以通过大概粗略的估计求取。 当然最准确的方法还是通过标定获取。
关于相机的标定, 在另一个项目教程: 微缩自动驾驶小车中有提及到, 想要了解这块的可以去翻看。 这里就不详细解释相机标定的内容了。

用以上公式计算得到的三维坐标XYZ是以相机为原点, 相机中轴为Z轴的坐标系, 而我们为了计算方便, 应该把求取的坐标转换为另一种坐标系, 如图所示。

图左边的坐标系是用以上公式计算得出的坐标所在坐标系, 而我们需要将坐标转换到新的坐标系下。 可以看出, 新坐标系经过了一个俯仰角旋转, 以及一个垂直的平移。 因此, 转换坐标的方法为:
世界坐标系与相机坐标系之间的相对旋转为矩阵R(R是一个三行三列的旋转矩阵),相对位移为向量T(三行一列),


坐标转换: 只需乘上旋转矩阵, 加上转移矩阵即可转换坐标系
在这个场景下, 我选择坐标原点为球门正中的地面位置, 因此偏移量为: 摄像头的安装高度。
摄像头为俯视25度, 无横滚和偏航角。 旋转矩阵为一个俯仰旋转矩阵

最终, 将这个方法和运用起来, 就可以获取球的三维坐标点了。


计算机视觉, 得有点数学基础哟。 点个赞再走吧。




killerlist  高级技师

发表于 2018-8-21 19:14:32

我一定要抢到厂长的沙发!!!~~
回复 支持 反对

使用道具 举报

饶厂长  高级技师
 楼主|

发表于 2018-8-23 11:29:03

killerlist 发表于 2018-8-21 19:14
我一定要抢到厂长的沙发!!!~~

这篇很冷清哈哈哈
回复 支持 反对

使用道具 举报

gada888  版主

发表于 2018-8-23 16:56:37

不错啊,就是表示看不大懂数学哈。
回复 支持 反对

使用道具 举报

Yangtze  学徒

发表于 2018-8-24 17:55:03

为了回复 注册了一个账号
回复 支持 反对

使用道具 举报

niefubao  见习技师

发表于 2018-8-27 16:12:43

用pixy可以不呢?
回复 支持 反对

使用道具 举报

饶厂长  高级技师
 楼主|

发表于 2018-8-27 19:57:18

niefubao 发表于 2018-8-27 16:12
用pixy可以不呢?

理论上可以的, 但是需要两个pixy, 进行双目标定后可以计算
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail