当今,由于数字图像处理和计算机视觉技术的迅速发展,越来越多的研究者采用摄像机作为全自主用移动机器人的感知传感器。这主要是因为原来的超声或红外传感器感知信息量有限,鲁棒性差,而视觉系统则可以弥补这些缺点。而现实世界是三维的,而投射于摄像镜头(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.对尺度信息进行估计,最终确定旋转矩阵和平移向量

视觉导航定位系统工作原理及过程相关推荐

  1. matlab立体坐标定位_【光电视界】视觉导航定位系统工作原理及过程

    今日光电        有人说,20世纪是电的世纪,21世纪是光的世纪:知光解电,再小的个体都可以被赋能.欢迎来到今日光电! ----与智者为伍 为创新赋能---- 当今,由于数字图像处理和计算机视觉 ...

  2. ccd视觉定位教程_ccd视觉定位系统工作原理及过程

    ccd视觉定位系统工作原理及过程 ccd视觉定位由于数字图像处理和计算机视觉技术的迅速发展,越来越多的研究者采用摄像机作为全自主用移动机器人的感知传感器.这主要是因为原来的超声或红外传感器感知信息量有 ...

  3. ccd视觉定位教程_正规CCD视觉定位系统工作原理

    产品品牌 CCD视觉定位系统 发货城市 - 有效期至 长期有效 最小起订 1 产品单价 面议 深圳精科视觉科技有限公司成立于2011年底,是一家在视觉及自动化领域有着多年经验的科技公司,专业从事非标自 ...

  4. 导航定位系统的原理解析(一个小白写给另一个小白)

    目录 前言 三星'定位基本原理(导航定位的原理) 传输误差 后记 前言 无人驾驶是这几年大火的一个研究方向,研究无人驾驶需要了解的知识非常多,但是导航定位技术一定是其中必不可少的一环. 本篇文章主要就 ...

  5. 通信网络中DNS服务器的位置在哪,DNS服务器的工作原理及其过程

    DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作.为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便 ...

  6. DNS工作原理及过程讲解

    0x00前言 想必大家都知道当今上网浏览web页面或访问其他服务一般都是用域名来访问的,这是由于IP地址不容易记住而且使用不方便,这时候科学家们就发明了域名,从而衍生出了各种大大小小的域名解析服务器( ...

  7. Servlet学习笔记-Servlet工作原理和过程

    1.前言   Java Servlet技术简称Servlet技术,是Java开发Web应用的底层技术.由Sun公司于1996年发布,用来代替CGI--当时生成Web动态内容的主流技术.官方文档对Ser ...

  8. DHCP的工作原理及过程

    本篇博客是对DHCP的一些原理介绍,具体实验过程请查询 基于linux下的DHCP实验 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工 ...

  9. DNS工作原理及其过程

    DNS服务器所提供的服务是完成将主机名或域名转换为IP地址的工作.为什么需要将主机名或域名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便 ...

最新文章

  1. MATLAB【五】———— matlab 调用C++生成exe文件,高斯核函数
  2. HBase的安装与使用
  3. Git远程和分支管理
  4. ​对比学习还能这样用:字节推出真正的多到多翻译模型mRASP2
  5. 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
  6. java读取csv文件忽略bom头_PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法...
  7. 解读《视觉SLAM十四讲》,带你一步一步入门视觉SLAM—— 前言
  8. 大数据技术之Spark入门(一)概述
  9. 妈妈!我也会做植物大战僵尸啦!
  10. 比较结构的关联词(二)
  11. python+nodejs+vue自驾游旅游网站系统
  12. CSDN博客导出chm格式文档
  13. Dell台式机安装ubuntu系统
  14. GOF23设计模式之桥接模式
  15. 浏览器交响曲 (一)浏览器中的js执行机制
  16. Unity图集优化原理
  17. mock测试 (mock-test 模仿测试)
  18. 计算正方体、圆柱体的表面积、体积
  19. Python爬取腾讯动漫全站漫画详细教程(附带源码)
  20. SSM+宠物用品商店 毕业设计-附源码191355

热门文章

  1. 拉格朗日乘数法求可能极值
  2. 浅谈MySQL查询优化
  3. 扩展二叉树的中序序列创建二叉树?
  4. Go语言中Printf和Println的区别
  5. 工业交换机与商用交换机的区别有哪些
  6. 开源的工作流都有哪些特征?
  7. 软件测试的目的/目标
  8. 国内外php主流开源cms、SNS、DIGG、RSS、Wiki汇总
  9. int、tinyint、bigint的区别/MySQL中
  10. html正则表达式验证字母,正则表达式校验字母和字符串组合