当前位置: 首页 > news >正文

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 

前言

        在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛,存在无穷解。

        由于开发的产品面向普通用户,暂时不考虑深度相机或者激光雷达。

数学建模

        现已知信息:

  • 连续的两帧图像 I_1,I_2
  • 相机内参矩阵 K
  • n 对匹配的特征点 x_1^i\leftrightarrow x_2^i,其中 x_1^i = (u_1^i,v_1^i),x_2^i = (u_2^i,v_2^i)

        未知信息:

  • 前后帧相机旋转矩阵 R,平移矩阵 t

        求解目标:

  • 计算特征 x^i 在 I_1 中的深度 Z_1^i

极几何约束

        关于对极几何部分,在上一篇文章中有提到:【机器视觉】摄像头运动估计——对极几何https://blog.csdn.net/weixin_73858308/article/details/148403073?spm=1001.2014.3001.5501        由于相机运动参数 R,t 未知,但知道连续两帧之间存在运动,利用对极几何约束解空间。

  • 归一化相机坐标系

        q_1^i=K^{-1}\begin{bmatrix} u_1^i \\ v_1^i \\ 1 \end{bmatrix},q_2^i=K^{-1}\begin{bmatrix} u_2^i \\ v_2^i \\ 1 \end{bmatrix}

  • 对极约束

 (q^i_2)^TEq_1^i=0

  • 估计本质矩阵

        由于本质矩阵拥有7个自由度,以及构建超定方程组增强鲁棒性,选取至少8对特征点,即n \geq 8,将对极约束展开:

\begin{bmatrix} x_2^ix_1^i & x_2^iy_1^i &x_2^i &y_2^ix_1^i &y_2^iy_1^i & y_2^i & y_1^i &1 \end{bmatrix} e =0

e=\begin{bmatrix} E_{11} & E _{12} \cdots E_{33} \end{bmatrix}

  • 从本质矩阵分解 R,t 

        对本质矩阵进行SVD分解: 

 E=U\begin{bmatrix} 1 & & \\ &1 & \\ & &0 \end{bmatrix} V^T

三角计算深度

  • 投影方程

        在第一个相机坐标系下:

X_1^i=Z_1^iq_1^i

        在第二个相机坐标系下: 

X_2^i=RX_1^i+t=Z_2^iq_2^i

        有方程:

Z_2^iq_2^i=R(Z_1^iq_1^i)+t

  • 求解超定方程 

\begin{bmatrix} q_2^i & -Rq_1^i \end{bmatrix}^T\begin{bmatrix} q_2^i & -Rq_1^i \end{bmatrix}\begin{bmatrix} Z_2^i\\ Z_1^i \end{bmatrix}=\begin{bmatrix} q_2^i & -Rq_1^i \end{bmatrix}^Tt 

        最终得到深度信息

基于光流的深度估计

        这是另一种方法,取代了利用其它算法获取特征点,直接计算场景中所有点的深度信息。

        具体思想是根据光流跟踪图像所有点的位移,将位移后位置作为特征点 x_2。 

       关于光流法,在另一篇文章中说明:【机器视觉】运动分析——LK光流https://blog.csdn.net/weixin_73858308/article/details/147956922?spm=1001.2014.3001.5501        由于已知条件为连续的两帧图像,满足光流基本假设,后续计算公式与上述对极方程,三角化方程相同,故不再赘述。

相关文章:

  • 屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
  • 【Java】在 Spring Boot 中集成 Spring Security + JWT 实现基于 Token 的身份认证
  • 使用分级同态加密防御梯度泄漏
  • 篇章三 论坛系统——环境搭建
  • Unreal从入门到精通之使用 CheatManager 自定义控制台命令
  • c语言中的hashmap
  • MYSQL备份恢复知识:第十章:xTraBackup备份工具
  • 期末考试复习总结-《从简单的页面开始(上)》
  • YOLO电力物目标检测训练
  • K8S的基本概念
  • Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
  • 计算机系统概述(4)
  • POI设置Excel单元格背景色
  • 【代码模板】从huggingface加载tokenizer和模型,进行推理
  • WebRTC 中 ICE 流程优化:SRS 轻量级部署与 NAT 类型检测实战
  • 工控类UI设计经常接触到10.1寸迪文屏
  • 【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
  • 群晖NAS是否有专业的安全防护措施?是否支持无密码登录?
  • 【JavaEE】-- HTTP
  • 各数据库字段类型统计
  • 济南好的网站建设公司排名/app拉新推广平台渠道商
  • 营销型网站有那些网站/江北seo综合优化外包
  • 浙江省建设厅网站查询/互联网推广是什么意思
  • 做游戏 做网站/免费放单平台无需垫付
  • 大连哪家网站做的好/网站制作方案
  • 室内设计工作室网站怎么做/推销产品的万能句子