机器人视觉是一种处理问题的研究手段。经过长时间的发展,机器人视觉在定位,识别,检测等多个方面发展出来各种方法。其以常见的相机作为工具,以图像作为处理媒介,获取环境信息。

1、相机模型

  相机是机器人视觉的主要武器,也是机器人视觉和环境进行通信的媒介。相机的数学模型为小孔模型,其核心在于相似三角形的求解。其中有三个值得关注的地方:

1.1  1/f = 1/a + 1/b

  焦距等于物距加上像距。此为成像定理,满足此条件时才能成清晰的像。

1.2  X  = x * f/Z

  如果连续改变焦距f ,并同时移动相机改变Z,则可以使得物体x在图像上所占像素数目不变(X)。此为DollyZoom原理。如果某个物体在该物体后方(更大的Z),可利用此原理任意调整两个物体在相片上的比例。

1.3    焦距越长,则视场越小,可以将远处的物体拍清晰。同时相片会有更大的景深。

2、消失点

  消失点是相片中特有的。此点在相片中不直接存在,在现实中直接不存在。由于射影变换,相片中原本平行的线会有相交的趋势。如果求的平行直线在图像中的交点,则该点对应现实中无穷远出的一点。该点的图像坐标为[X1 X1 1]。 此点成为消失点。相机光心与消失点的连线指向消失点在摄像机坐标系中的方向。

   此外,同一平面上各个方向的消失点,会在图像中组成一条直线,称为水平线。该原理可以用于测量站在地上的人的高度。值得注意的是只有相机水平时,horizen的高度才是camera Height.

2.1 位姿估计

  如果我们能获得一幅图中的2个消失点。且这2个消失点所对应的方向是相互垂直的(网格),那么我们就可以估计出相机相对于此图像的姿态(靶标位姿估计)。 在获得相机相对于靶标的旋转向量后,如果相机内部参数已知,且已知射影变换矩阵,则可计算相机相对于靶标的距离,那么可以估计机器人的位置。 H = K^-1*(H射影矩阵)

  

2.2 点线对偶

  p1×p2 = L12

  L12×L23 = p2

3、射影变换

  射影变化是空间中平面--->平面的一种变换。对齐次坐标,任意可逆矩阵H均表达了射影变换。简而言之,可以表达为A = HB ,其中AB是[X Y 1]形式的其次坐标。射影变换的一大作用就是将某一形状投射成其他形状。比如,制作相片中的广告牌,或者比赛转播中的广告牌,或者游泳比赛运动员到达后那个biu的一下出现的国旗。射影变换也是增强现实技术的基础。

  

  射影变换的核心在于H的求取。普通的求解方法见机器视觉教材。

  假设平面相片的四个点分别是A(0,0,1),B(0,1,1),C(1,1,1),D(1,0,1)。显然,这四个点需要投射到四个我们已知像素位坐标的图像区域中。此外,我们还可以依据像素位置计算两个有趣的点,V1(x1, y1, z1),V2(x2,y2,z2)。这两个点都是图像点。他们对应的实际坐标假设是(0,1,0),(1,0,0)。那么我们就有三个很有趣的实际点了。分别是(1,0,0),(0,1,0),(0,0,1).恰好是一个Identity Matrix。这三个实际坐标经过射影变换会得到像素坐标。像素坐标又是已知的。那么H的第一列就应该对应beta*V2,第二列应该对应alpha*V1。第三列应该对应gama*【A的像素坐标】。alpha beta gama是常数。【射影变化后的坐标应为常数乘以其次坐标】。

  如果能解得alpha beta gama,那么我们就获得了射影变换矩阵。显然把C点的像素坐标带入方程,我们则有3个方程,4个未知数(引入了一个lamda)。但是lamda并不影响,除过去后我们只要把alpha/lamda,beta/lamda,gama/lamda当作未知数即可解除射影矩阵。

  所以,射影变换矩阵的第一列代表消失点V1,第二列代表消失点V2,第一列与第二列的叉乘,代表水平线方程(点线对偶)。

机器人学 —— 机器人视觉(基础)相关推荐

  1. 机器人学 —— 机器人视觉(极几何)

    极几何是机器人视觉分支--双目视觉中,最为重要的概念.与结构光视觉不同,双目视觉是主!动!测!量!方法. 1.极几何的研究前提 极几何的研究对象是两幅有重叠区域图像.研究目标是提取相机拍摄位姿之间的关 ...

  2. 单目视觉机器人的循迹_机器人视觉系统传感器的关键技术盘点

    导读:机器人视觉系统,是指用计算机来实现人的视觉功能,也就是用计算机来实现对客观的三维世界的识别.人类接收的信息70%以上来自视觉,人类视觉为人类提供了关于周围环境最详细可靠的信息. 资料图 机器人要 ...

  3. 瑞典 林雪平大学 机器人视觉方向 博士招生

    关注公众号,获取更多AI领域发展机会 公司介绍 电气工程系(ISY)属于林雪平大学四个学院之一的技术学院,专注于工程教育,涉及到基础和应用知识.研究以工业需求为基础,研究范围从基础研究到合作项目的直接 ...

  4. 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

    三维视觉基础之世界坐标系.相机坐标系.图像坐标系和像素坐标系之间的转换关系 一.各坐标系介绍 二.世界坐标系和相机坐标系之间的转换 三.相机坐标系和图像坐标系之间的转换 四.图像坐标系和像素坐标系之间 ...

  5. RACV2022观点集锦 | 视觉基础模型

    来源:https://mp.weixin.qq.com/s/pAbMI-qwdCY7-9SeMxDlFw "本文得到CCF-CV专委会(公众号: CCF计算机视觉专委会)授权发布" ...

  6. SLAM导航机器人零基础实战系列:(三)感知与大脑——5.机器人大脑嵌入式主板性能对比...

    SLAM导航机器人零基础实战系列:(三)感知与大脑--5.机器人大脑嵌入式主板性能对比 摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由 ...

  7. AI+智能服务机器人应用基础【实践报告】

    AI+智能服务机器人应用基础 前言 欢迎使用 Markdown编辑器 欢迎使用 VMware Workstation VMware Workstation创建新的虚拟机 AI+智能服务机器人应用基础 ...

  8. 机器人视觉系统的构成

    机器人视觉系统主要包括光源.镜头.相机.信息处理器.视觉算法软件这些部分. 物体反射光源光线,通过镜头在相机中成像,通过图像处理算法处理得到需要的信息,再将其传送到执行单元对机器人进行运动控制. 光源 ...

  9. 机器人视觉分析算法_机器视觉处理:目标检测和跟踪

    得益于人工智能,机器学习和计算机视觉等融合技术的进步,机器人每天都能看到,分析和做出更像人类的决策.开发此类视觉分析逻辑涉及实现解决方案,这些解决方案可以确定对象的方向,处理移动的对象并执行导航.为此 ...

最新文章

  1. ubuntu18.04 -- 创建第一个Django项目
  2. 在centos下启动nginx出现Failed to start nginx.service:unit not found
  3. 【MyBatis】MyBatis自动生成代码之查询爬坑记
  4. PON:EPON/GPON/10G PON/XG-PON/NG-PON2—Vecloud微云
  5. 《算法竞赛进阶指南》打卡-基本算法-AcWing 96. 奇怪的汉诺塔:递推
  6. tableau地图城市数据_优阅达“优分享” | Tableau 2020.4 “地图标记层” 的多种妙用...
  7. K8S集群Master高可用实践
  8. 共建公安标准体系 | 七牛云与锐安科技达成深度战略合作
  9. android 字母索引三方,Android 字母索引动态自定义布局
  10. Linux经常使用命令(八) - touch
  11. Python操作docx文档设置居中并创建表格
  12. docker 安装_Docker-安装
  13. C/C++的转义字符
  14. java学习笔记 --- 面向对象3
  15. 计算并输出九九乘法表用c语言流程图,输出九九乘法表 (C语言代码)
  16. matlab中除法的错误使用
  17. 月入30K 的电子工程师很常见吗,需要具备啥素质才配得上这个薪资
  18. 一个喷嚏就能传播病毒?关于病毒,还有多少是你不知道的?
  19. 网购可到家门口的报亭提货了
  20. [C++]H106OJ-第二周练习总结

热门文章

  1. Linux常用命令——tac命令
  2. 获取海岛预报、近海 、旅游城市、美丽海岛、海水浴场预报包括海温、海浪等值 根据海洋观测站点id获取3天海洋预报。雷达单站数据根据经纬度获取任意点的天气数据含分钟预报、小时预报,空气质量、生活指数、天气
  3. 某mo通过Xposed自动抢红包
  4. python贷款_利用python分析Lending Club贷款数据
  5. 收发一体超声波测距离传感器模块_超声波一体化液位计
  6. 【Python茴香豆系列】之 如何逆序一个列表
  7. java获取实体类对象_java 获取实体类对象属性值的方法
  8. 最前沿丨第一届通算一体网络理论研讨会
  9. C#_串口调试助手-保存TextBox数据
  10. Kuhn-Munkres算法将聚类后的预测标签映射为真实标签