随着工业科技的发展,各种自动化机器越来越多,到现在,图像处理和人工智能算法技术性的发展的太快了,愈来愈多的学者选用监控摄像头做为全独立用搬运机器人的认知感应器。
这关键是由于原先的超声波或红外线传感器认知数据量比较有限,可扩展性差,而视觉识别系统则能够 填补这种缺陷。而现实世界是三维的,而投影于拍摄摄像镜头(CCD/CMOS)上的图象则是二维的,视觉效果解决的最后目地便是要从认知到的二维图象中获取相关的三维世界信息内容。
简单说来就是对机器人周边的环境进行光学处理,先用摄像头进行图像信息采集,将采集的信息进行压缩,然后将它反馈到一个由神经网络和统计学方法构成的学习子系统,再由学习子系统将采集到的图像信息和机器人的实际位置联系起来,完成机器人的自主导航定位功能。
(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.对尺度信息进行估计,最终确定旋转矩阵和平移向量
好了,大概的就介绍到这吧,如果你的工业生产线中需要用到视觉定位、视觉对位等机器视觉类的技术,那么不妨和我们盈泰德科技聊聊,我们会免费从一个专业的角度给你一份合适的解决方案,即使没达成合作,我们也希望能多认识一位朋友。