视觉伺服 二、IBVS原理

  • 前言
  • 图像雅可比
  • 后记

前言

本篇记录IBVS基于图像的视觉伺服原理,后续可能会添加实现代码。

图像雅可比

视觉伺服的目标误差变化速度与末端相机移动速度的关系为:
e ˙ = L e v c \dot{\bf e}={\bf L_ev_c} e˙=Le​vc​
因此,计算 L e \bf L_e Le​是视觉伺服中的一个核心问题。IBVS中的 L e \bf L_e Le​被称为图像雅可比,表示了图像中的2D点坐标与相机速度的关系。下面来推导图像雅可比形式。

首先通过相机内参把像素坐标逆投影到归一化相机坐标平面下:
x = X Z = u − c u f y = Y Z = v − c v f x = \frac{X}{Z} = \frac {u - c_u}{f} \\ y = \frac{Y}{Z} = \frac {v - c_v}{f} \\ x=ZX​=fu−cu​​y=ZY​=fv−cv​​
归一化相机坐标速度可表示为:
x ˙ = X ˙ Z − X Z ˙ Z 2 = ( X ˙ Z − x Z ˙ Z ) y ˙ = Y ˙ Z − Y Z ˙ Z 2 = ( Y ˙ Z − y Z ˙ Z ) \dot x = \frac {\dot XZ - X\dot Z}{Z^2} = (\frac {\dot X}{Z} - \frac {x\dot Z}{Z} ) \\ \dot y = \frac {\dot YZ - Y\dot Z}{Z^2} = (\frac {\dot Y}{Z} - \frac {y\dot Z}{Z} ) \\ x˙=Z2X˙Z−XZ˙​=(ZX˙​−ZxZ˙​)y˙​=Z2Y˙Z−YZ˙​=(ZY˙​−ZyZ˙​)
相机末端各轴的移动速度 x ˙ , y ˙ , z ˙ \dot x,\dot y, \dot z x˙,y˙​,z˙与旋转速度 w w w、平移速度 t t t的关系可表示为:
X ˙ = Z w y − Y w z + t x Y ˙ = X w z − Z w x + t y Z ˙ = Y w x − X w y + t z \dot X = Zw_y - Yw_z + t_x \\ \dot Y = Xw_z - Zw_x + t_y \\ \dot Z = Yw_x - Xw_y + t_z \\ X˙=Zwy​−Ywz​+tx​Y˙=Xwz​−Zwx​+ty​Z˙=Ywx​−Xwy​+tz​
代入归一化坐标速度:
x ˙ = w y − Y Z w z + 1 Z t x − Y Z x w x + X Z x w y − 1 Z x t z = 1 Z t x + 0 t y − x Z t z − x y w x + ( 1 + x 2 ) w y − y w z y ˙ = x w z − w x + 1 Z t y − y 2 w x + x y w y − y Z t z = 0 t x + 1 Z t y − y Z t z − ( 1 + y 2 ) w x + x y w y + x w z \dot x = w_y- \frac {Y}{Z}w_z + \frac{1}{Z}t_x - \frac{Y}{Z}xw_x + \frac{X}{Z}xw_y - \frac{1}{Z}xt_z \\ \quad \\ = \frac{1}{Z} t_x + 0t_y - \frac{x}{Z}t_z -xyw_x + (1 + x^2) w_y - yw_z \\ \quad \\ \dot y = xw_z - w_x + \frac{1}{Z}t_y - y^2w_x + xyw_y - \frac{y}{Z}t_z \\ \quad \\ = 0t_x + \frac{1}{Z}t_y -\frac{y}{Z}t_z - (1+y^2)w_x +xyw_y +xw_z x˙=wy​−ZY​wz​+Z1​tx​−ZY​xwx​+ZX​xwy​−Z1​xtz​=Z1​tx​+0ty​−Zx​tz​−xywx​+(1+x2)wy​−ywz​y˙​=xwz​−wx​+Z1​ty​−y2wx​+xywy​−Zy​tz​=0tx​+Z1​ty​−Zy​tz​−(1+y2)wx​+xywy​+xwz​
写成矩阵形式,就得到了归一化平面点速度与相机移动速度的关系
[ x ˙ y ˙ ] = [ 1 Z 0 − x Z − x y ( 1 + x 2 ) − y 0 1 Z − y Z − ( 1 + y 2 ) x y x ] [ t x t y t z w x w y w z ] i . e . e ˙ = L e v c \begin{bmatrix} \dot x \\ \dot y \\ \end{bmatrix} = \begin{bmatrix} \frac {1}{Z} & 0 & -\frac{x}{Z} & -xy & (1+x^2) & -y \\ 0 & \frac{1}{Z} & -\frac{y}{Z} & -(1+y^2) & xy & x \\ \end{bmatrix} \begin{bmatrix} t_x \\ t_y \\ t_z \\ w_x \\ w_y \\ w_z \\ \end{bmatrix} \\ i.e. \quad \dot{\bf e}={\bf L_ev_c} [x˙y˙​​]=[Z1​0​0Z1​​−Zx​−Zy​​−xy−(1+y2)​(1+x2)xy​−yx​]⎣⎢⎢⎢⎢⎢⎢⎡​tx​ty​tz​wx​wy​wz​​⎦⎥⎥⎥⎥⎥⎥⎤​i.e.e˙=Le​vc​

进一步代入像素投影方程:
x ˙ = u ˙ f y ˙ = v ˙ f \dot x = \frac{\dot u}{f} \\ \dot y = \frac{\dot v}{f} \\ x˙=fu˙​y˙​=fv˙​
就可以得到像素速度与相机移动速度的关系,这里就不多写了。

图像雅可比矩阵:
[ 1 Z 0 − x Z − x y ( 1 + x 2 ) − y 0 1 Z − y Z − ( 1 + y 2 ) x y x ] \begin{bmatrix} \frac {1}{Z} & 0 & -\frac{x}{Z} & -xy & (1+x^2) & -y \\ 0 & \frac{1}{Z} & -\frac{y}{Z} & -(1+y^2) & xy & x \\ \end{bmatrix} [Z1​0​0Z1​​−Zx​−Zy​​−xy−(1+y2)​(1+x2)xy​−yx​]
可以看到这个矩阵包含未知深度 Z Z Z,因此在使用RGB相机做IBVS时,通常需要估计使用的图像特征点的深度,这就给系统带来了不确定性。

并且每个特征点为图像雅可比提供两个方程,而相机速度 v c \bf v_c vc​有六个未知量,因此至少要三个点才能获得方程的解,并可能出现奇异矩阵的情况。因此实际需要多于三个特征点。

后记

本篇主要就是IBVS中的图像雅可比矩阵推导。下篇会从图像雅可比的估计,以及IBVS的稳定性估计入手。

视觉伺服 二、IBVS原理相关推荐

  1. ViSP学习笔记(二十五):基于图像的视觉伺服

    开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...

  2. 实验日志一:Sawyer Robot IBVS Using Visp and Visp_ros(sawyer 机器人视觉伺服)

    写在开头 从8月份开始接触准备机器人实物实验,使用sawyer机器人以及realsense D435i相机,采用IBVS及eye-in-hand,第一次接触visp以及c++程序,记录一下实验过程以及 ...

  3. Visp_ros学习笔记(二):在Gazebo环境下实现Pionner3dx移动机器人视觉伺服仿真

    开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1   本文主要介绍了如何实现Pionner3dx移动机器人视觉伺服仿真,仿真环境是ROS+Gazebo ...

  4. ViSP学习笔记(二十六):基于轮式移动机器人的视觉伺服仿真

    开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...

  5. 视觉伺服研究学习——2021年10月

    一.基础学习课程 深度学习 计算机视觉 机器学习 约定: 黄色高亮表示关键词,不认识的知识点: 绿色下划线:重要的思想观点,精髓的理解. 二.论文学习 1.室内动态视觉SLAM算法研究         ...

  6. 视觉伺服:图像雅可比矩阵的理解

    在基于图像的视觉伺服(IBVS)中的图像雅可比矩阵的学习和理解 主要参考了这两篇论文中有关IBVS中的内容,有刚入门视觉伺服研究的小伙伴们可以去看看这两篇论文: 1.Chaumette F, Hutc ...

  7. ViSP学习笔记(四):在Gazebo环境下实现Pionner3dx移动机器人基于四个特征点的视觉伺服仿真

    开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyg ...

  8. 面向高精度领域的视觉伺服算法汇总

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉工坊 前言 视觉伺服是工业上很重要的一个领域, ...

  9. 机器人3D互动展品开发计划——飞拍视觉伺服

    机器人3D互动展品开发计划--飞拍视觉伺服 俺要开发这个好玩的东东,但缺乏信心 求路过的哥哥姐姐弟弟妹妹点个赞,鼓励一下幼小脆弱的心灵 我们要做成这种效果:https://v.youku.com/v_ ...

最新文章

  1. VMware虚拟化技术培训(11) 小结
  2. Python-opencv实现视频与图片的相互转换
  3. 选择select 标签中指定值的option
  4. 史无前例的 HTML5 资源参考指南
  5. mysql 5.5 主从同步_Windows下mysql5.5主从同步
  6. 深入了解React组件重新渲染的条件和生命周期
  7. qq浏览器极速版_安卓手机QQ轻聊版大升级,极速版正式上线:无广告/省内存
  8. python os path isfile_Python path.isfile方法代码示例
  9. PHP语言 -- 发起流程
  10. (27)css3 2D转换综合案例—卡包效果
  11. c语言常用词汇下载,C语言常用词汇表
  12. 【感悟】参加公司首届黑客马拉松有感
  13. 2014诺贝尔化学奖(了解学习)
  14. python做出来的东西怎么让别人看_有趣的Python图片制作之如何用QQ好友头像拼接出里昂...
  15. 一行代码让英特尔显卡光追性能“改进100 倍”,网友们笑了
  16. 企业物联网平台如何选择?
  17. C#之父Anders Hejlsberg演讲解读:编程语言大趋势
  18. python数据分析5个案例-Python数据分析-案例分析
  19. PostgreSQL 建表create table like including 用法
  20. 洛谷3964 松鼠聚会

热门文章

  1. 【Win10】我们无法更新系统保留的分区
  2. 【飞翔的小鸟】使用C++框架开发飞行小鸟游戏
  3. HTML-CSS小知识——box-shadow的使用
  4. 12306订票助手插件拖垮GitHub事件原因始末
  5. 分析各家2440开发板的性价比(转自Gooogleman)
  6. 大力哥谈 DALI - DALI 产品知多少
  7. Android中实时获取声音频率
  8. 【经验分享】MathType试用期到了怎么办?
  9. 趣解TCP/IP之二哥与三弟的故事
  10. 【ASDL宽带常见错误代码解决办法】