【计算机视觉】Lecture 22:相机运动

2024-05-11 07:58

本文主要是介绍【计算机视觉】Lecture 22:相机运动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

移动的相机

在这里插入图片描述

相机拍摄由时间t索引的图像(帧)序列

从一个时间到下一个时间,相机经历旋转(滚转、俯仰、偏航)和平移(tx、ty、tz)

运动(位移)场

在这里插入图片描述

运动场Motion Field和光流Optic Flow

运动场:三维相对速度矢量在二维图像平面上的投影

光流:在图像中观察到的亮度模式(brightness patterns)的二维位移

运动场是我们想知道的。
光流是我们可以估计的。

有时光流是对未知运动流的一个很好的近似。

在这里插入图片描述
然后我们可以推断相机和世界中的物体之间的相对运动。

注意:光流不等于运动场

考虑一个移动的光源:

在这里插入图片描述

MF=0,因为场景中的点没有移动

OF不等于0,因为图像中存在移动模式

运动场

我们将推导一个三维场景结构和速度二维运动流场的关系方程。

什么是场field?
在空间中的每个点上绘制一个向量。这是一个向量场。在三维空间中,我们将研究由相机运动引起的三维速度矢量场。
在二维中,我们将看到三维速度矢量在图像中的投影。图像中的每个点都有一个二维流矢量。这是二维运动流场

回忆:一般的投影方程

在这里插入图片描述
策略:

  1. 假设内参已知(设置为I)
  2. 时间 t 时,设 R = I,T = 0
  3. 时间 t + 1 时,运动产生相对的 R 和 T(简化假设:小运动–>小旋转)
  4. 计算三维速度向量
  5. 计算二维速度向量(X,Y,Z,R,T,f 的函数)

三维世界点的位移

时间 t:三维世界点 P
时间 t + 1:三维世界点 RP + T

三维位移 = RP + T - P

现在考虑短时间段(比如两个视频帧之间的时间=1/30秒)。可以假设在那个时间段内有一个小的旋转角度。进行小角度近似并重写位移。在极限(无穷小的时间周期)中,我们会得到一个速度。

用欧拉角写出旋转矩阵

欧拉角变换
三个主旋转

在这里插入图片描述


在这里插入图片描述

线性速度变换(zyx转换—rpy)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小角度近似

在这里插入图片描述在这里插入图片描述

三维速度

在小角度近似下,位移 = RP + T - P = (I + S)P + T - P = SP + T

其中,在这里插入图片描述

注意:在这里插入图片描述

时间 t 取极限情况下,位移变成速度

在这里插入图片描述

其中 在这里插入图片描述

三维相对速度

在这里插入图片描述

关于相机点 P 的相对速度

在这里插入图片描述

在这里插入图片描述

•我们刚刚推导了一个方程,将R,T和每个场景点(相机坐标系下)的三维速度矢量联系起来。

•我们可以把速度看作场景中的一个小矢量。

•现在问一下,这个向量在图像中的投影是什么样子的?它是一个二维向量。它是构成运动场的矢量之一!

在这里插入图片描述

运动场:p 的二维速度

在这里插入图片描述

透视投影

在这里插入图片描述

上式对时间求导

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

以上红圈为平移部分

在这里插入图片描述

以上红圈为旋转部分

注意:旋转分量与深度Z无关!

特例1:纯平移

在这里插入图片描述

假设 Tz 不等于 0

定义:在这里插入图片描述

在这里插入图片描述

假如 Tz = 0 则

在这里插入图片描述
在这里插入图片描述

所有运动场矢量彼此平行,并且与深度成反比!(与简单的立体视觉联系起来)

在这里插入图片描述

此情况下的运动场是径向的:

  1. 它由通过 po=(xo,yo)的向量组成
  2. 假如:
    1)Tz > 0 (相机向物体移动)
    向量远离po
    po是扩展点 POINT OF EXPANSION
    2)Tz < 0 (相机远离物体)
    向量指向po
    po是收缩点 POINT OF CONTRACTION

纯旋转:运动场的性质

假如 Tz 不等于0,则运动场是径向的,所有向量都指向(或远离)单个点po。如果Tz=0,则运动场是平行的。

运动场向量的长度与深度Z成反比。如果Tz≠0,它也与p和po之间的距离成正比

po是平移方向的灭点(vanishing point)

po是平行于平移向量的光线与图像平面的交点

特例2:移动平面

在这里插入图片描述问题:移动平面的运动场是什么样子的?

平面上的点必须满足描述平面的方程

在这里插入图片描述

其中在这里插入图片描述

n 是垂直于平面的单位向量
d 是从平面到原点的距离
注意:如果平面是在相机坐标系下移动,则 n 和 d 是时间的函数

在这里插入图片描述

在这里插入图片描述 成为 P 的成像点

使用小孔投影方程:

在这里插入图片描述

使用平面方程:

在这里插入图片描述

解出Z :

在这里插入图片描述

考虑运动场方程

在这里插入图片描述

将 Z 在这里插入图片描述代入,则运动场方程变为:

在这里插入图片描述
在这里插入图片描述

运动场向量由低阶(二次)多项式给出。

•他们的系数。a1到a8(仅8个!)是 n,d,T 和 ω 的函数。

•也就是说,可以估计 8 个参数的全局流flow,而不是每个像素2个参数!大大节省了时间和增强了鲁棒性。

应用:碰撞时间

在这里插入图片描述

高度 L 的物体以恒定速度v移动:
时间 t = 0 时,物体在:D(0) = Do
时间 t 时,物体在:D(t) = Do - vt
它将在以下时间撞向相机:D(τ) = Do – vτ = 0,τ = Do/v

物体在成像平面上的大小为 l(t)

在这里插入图片描述

上式对时间求导

在这里插入图片描述在这里插入图片描述
比例为:

在这里插入图片描述

在这里插入图片描述

上两式可以直接从成像平面上测量得到

碰撞时间:

在这里插入图片描述

不需要知道 L, Do, v,就可以计算碰撞时间

应用:将车辆流场分解为旋转和平移分量
动机
• 估计转向角
• 当移除旋转运动时,简化了场景结构的计算

回顾:由于自身运动产生的场

流(Flow):
在这里插入图片描述
在这里插入图片描述

方法

利用汽车可能的运动的先验知识来简化问题。

假设我们知道平移(Tx,Ty,Tz)的近似方向
[例如,如果向前行驶,我们选择(0,0,1)]

假设滚转角(wz)为0

问题简化为解决俯仰角和偏航角(wx和wy)

在这里插入图片描述

对于每个观测到的流矢量,通过取流方程和一个新矢量(该矢量被构造成“消除”平移分量)的点积,在wx和wy上形成一个线
性约束。

这个消除矢量为在这里插入图片描述 这其中所有的量都是已知的。

验证:

在这里插入图片描述

对于每个观测到的流矢量,我们消除平移分量以形成形式为(ai wx+bi wy+ci)=0 的一个线性约束。

给定n个观测流矢量的集合,我们寻找同时满足n个线性方程组的wx和wy

在这里插入图片描述

使用鲁棒估计器

使用最小二乘法求解将对外点(严重错误的数据)敏感。

相反,我们使用鲁棒估计(随机样本一致性-RANSAC)。

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

这篇关于【计算机视觉】Lecture 22:相机运动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/978955

相关文章

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

Unity3D 运动之Move函数和translate

CharacterController.Move 移动 function Move (motion : Vector3) : CollisionFlags Description描述 A more complex move function taking absolute movement deltas. 一个更加复杂的运动函数,每次都绝对运动。 Attempts to

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日

海鸥相机存储卡格式化如何恢复数据

在摄影的世界里,‌每一张照片都承载着独特的记忆与故事。‌然而,‌当我们不慎将海鸥相机的存储卡格式化后,‌那些珍贵的瞬间似乎瞬间消逝,‌让人心急如焚。‌但请不要绝望,‌数据恢复并非遥不可及。‌本文将详细介绍在海鸥相机存储卡格式化后,‌如何高效地恢复丢失的数据,‌帮助您重新找回那些宝贵的记忆。‌ 图片来源于网络,如有侵权请告知 一、‌回忆备份情况 ‌海鸥相机存储卡格式化如何恢复数据?在意