机器人视觉系统组成及定位算法

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

重磅干货,第一时间送达

1.机器人视觉

机器人研究的核心就是:导航定位、路径规划、避障、多传感器融合。定位技术有几种,不关心,只关心视觉的。视觉技术用到“眼睛”可以分为:单目,双目,多目、RGB-D,后三种可以使图像有深度,这些眼睛亦可称为VO(视觉里程计:单目or立体),维基百科给出的介绍:在机器人和计算机视觉问题中,视觉里程计就是一个通过分析处理相关图像序列来确定机器人的位置和姿态。

当今,由于数字图像处理和计算机视觉技术的迅速发展,越来越多的研究者采用摄像机作为全自主用移动机器人的感知传感器。这主要是因为原来的超声或红外传感器感知信息量有限,鲁棒性差,而视觉系统则可以弥补这些缺点。而现实世界是三维的,而投射于摄像镜头(CCD/CMOS)上的图像则是二维的,视觉处理的最终目的就是要从感知到的二维图像中提取有关的三维世界信息。

2.系统基本组成:CCD、PCI、PC及其外设等。

561bd53ae3941cc2fb2202a6149b2e4a.jpeg

2.1 CCD/CMOS
一行硅成像元素,在一个衬底上配置光敏元件和电荷转移器件,通过电荷的依次转移,将多个象素的视频信号分时、顺序地取出来,如面阵CCD传感器采集的图像的分辨率可以从32×32到1024×1024像素等。

2.2视频数字信号处理器
图像信号一般是二维信号,一幅图像通常由512×512个像素组成(当然有时也有256×256,或者1024×1024个像素),每个像素有256级灰度,或者是3×8bit,红黄兰16M种颜色,一幅图像就有256KB或者768KB(对于彩色)个数据。为了完成视觉处理的传感、预处理、分割、描述、识别和解释,上述前几项主要完成的数学运算可归纳为:

(1)点处理常用于对比度增强、密度非线性较正、阈值处理、伪彩色处理等。每个像素的输入数据经过一定关系映射成像素的输出数据,例如对数变换可实现暗区对比度扩张。   

(2)二维卷积的运算常用于图像平滑、尖锐化、轮廓增强、空间滤波、标准模板匹配计算等。若用M×M卷积核矩阵对整幅图像进行卷积时,要得到每个像素的输出结果就需要作M2次乘法和(M2-1)次加法,由于图像像素一般很多,即使用较小的卷积和,也需要进行大量的乘加运算和访问存储器。

(3)二维正交变换常用二维正交变换有FFT、Walsh、Haar和K-L变换等,常用于图像增强、复原、二维滤波、数据压缩等。

(4)坐标变换常用于图像的放大缩小、旋转、移动、配准、几何校正和由摄影值重建图像等。

(5)统计量计算如计算密度直方图分布、平均值和协方差矩阵等。在进行直方图均衡器化、面积计算、分类和K-L变换时,常常要进行这些统计量计算。

3.视觉导航定位系统的工作原理

简单说来就是对机器人周边的环境进行光学处理,先用摄像头进行图像信息采集,将采集的信息进行压缩,然后将它反馈到一个由神经网络和统计学方法构成的学习子系统,再由学习子系统将采集到的图像信息和机器人的实际位置联系起来,完成机器人的自主导航定位功能。

8a45dc9042f0a63022374f306838aab6.jpeg 

(1)摄像头标定算法:2D-3D映射求参。
传统摄像机标定主要有 Faugeras 标定法、Tscai 两步法、直接线性变换方法、张正友平面标定法和 Weng迭代法。自标定包括基于 Kruppa 方程自标定法、分层逐步自标定法、基于绝对二次曲面的自标定法和 Pollefeys 的模约束法。视觉标定有马颂德的三正交平移法、李华的平面正交标定法和 Hartley 旋转求内参数标定法。

(2)机器视觉与图像处理:
a.预处理:灰化、降噪、滤波、二值化、边缘检测。。。
b.特征提取:特征空间到参数空间映射。算法有HOUGH、SIFT、SURF。
c.图像分割:RGB-HIS。
d.图像描述识别

(3)定位算法:基于滤波器的定位算法主要有KF、SEIF、PF、EKF、UKF等。
也可以使用单目视觉和里程计融合的方法。以里程计读数作为辅助信息,利用三角法计算特征点在当前机器人坐标系中的坐标位置,这里的三维坐标计算需要在延迟一个时间步的基础上进行。根据特征点在当前摄像头坐标系中的三维坐标以及它在地图中的世界坐标,来估计摄像头在世界坐标系中的位姿。这种降低了传感器成本,消除了里程计的累积误差,使得定位的结果更加精确。此外,相对于立体视觉中摄像机间的标定,这种方法只需对摄像机内参数进行标定,提高了系统的效率。

4.定位算法基本过程:
简单的算法过程,可基于OpenCV进行简单实现。

输入
通过摄像头获取的视频流(主要为灰度图像,stereo VO中图像既可以是彩色的,也可以是灰度的 ),记录摄像头在t和t+1时刻获得的图像为It和It+1,相机的内参,通过相机标定获得,可以通过matlab或者opencv计算为固定量。

输出
计算每一帧相机的位置+姿态 

基本过程
1. 获得图像It,It+1
2. 对获得图像进行畸变处理
3. 通过FAST算法对图像It进行特征检测,通过KLT算法跟踪这些特征到图像It+1中,如果跟踪特征有所丢失,特征数小于某个阈值,则重新进行特征检测
4. 通过带RANSAC的5点算法来估计两幅图像的本质矩阵
5. 通过计算的本质矩阵进行估计R,t
6. 对尺度信息进行估计,最终确定旋转矩阵和平移向量

 
 

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇

 
 

1c4fe47be9ca3b0f56c54340028e700e.jpeg

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

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


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


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


交流群

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值