视差:disparity与UV-视差:UV-disparity
来源:互联网 发布:mac蓝牙鼠标输入码无效 编辑:程序博客网 时间:2024/04/28 21:20
0.前言
因为自己的研究对象是车载视频,对于视频流中的单帧图像做目标检测、距离计算等等。看了一下相机成像原理,后来又看了几篇关于视差、UV-视差的论文:
2002年Labayrade提出了V-disparity:
《Real Time Obstacle Detection in Stereovision on Non Flat Road Geometry Through V-disparity Representation》
2005年Zhencheng Hu在Labayrade的基础上提出了U-V-disparity
《U-V-Disparity An efficient algorithm for Stereovision Based Scene Analysis》
2010年Zhang结合U-V-disparity的障碍物检测算法:
《An Obstacle Detection Algorithm Based on U-V Disparity Map Analysis》
整理了一个ppt,大致内容如下。如果有问题,请海涵并指正。
1.Disparity
根据相机成像原理可知透视投影是多对一的关系,无法根据成像平面上的点确定三维空间中对应的点。
为了消除这种多对一的关系,可以利用双目摄像机:
将左相机放在世界坐标系原点,两个相机参数都一致,结构图如下:
2.UV-disparity
在这部分中,所有的f都等于fx/dx的值。世界坐标系位于两个相机的中间,且相机pitch角度为theta。
根据成像原理,世界坐标系中的一点在左右相机成像平面上的投影点为右侧的公式。
同时,以成像平面上的principal point为原点建立一个新的坐标系UV,其实不用纠结这个坐标系,可以理解为:后面的所有公式都是基于u-u0和v-v0,相当于做了一个代换而已,从U-V视差还原到原图时,再做一次逆变换就行了。
将图像中需要检测的一些目标,抽象成一些平面来描述,见下图:
每个平面在三维坐标系中的表达式,以及在UV-disparity mapping中的表达式如下:
所以,如果我们再UV-disparity mapping中能找到一条直线,那么就可以逆向找到该条直线所对应的目标,在U-disparity mapping中能找到目标在图像中所对应的行,V-disparity mapping中能找到目标在图像中对应的列。
那么如何构建UV-disparity mapping呢?
U-disparity mapping的行数 = V-disparity mapping 的列数 = 视差最大值+1;
U-disparity mapping的列对应于原始视差图的列;
V-disparity mapping的行对应于原始视差图的行;
V-disparity mapping中(v,d) = 原始视差图中第v行,视差为d的个数。
例如V-disparity mapping的第i行,分别统计原始视差图的第一行中视差为0,1,2,3,4,5 的个数:0,2,0,1,1,1,以此类推。
U-disparity mapping中(d,u) = 原始视差图中第u列,视差为d的个数。
3.例子
数据集来自KITTI。目前只是做了:左图+右图->视差图->UV-disparity mapping。后面,需要在UV-disparity mapping中进行拟合得到直线,然后逆向获取一些障碍目标的信息。
- 视差:disparity与UV-视差:UV-disparity
- 视差:disparity与UV-视差:UV-disparity
- 视差:disparity与UV-视差:UV-disparity
- UV视差
- matlab opencv 计算视差disparity
- Binocular Disparity map 双目视差图
- 自动检测两棋盘格中的角点,并计算视差How to solve Disparity
- UV
- matlab的disparity函数
- 视差与深度信息
- Multiview Video Coding - Disparity Estimation
- matlab之disparity函数实现
- 双眼视差与立体视觉
- 双目匹配与视差计算
- 双目匹配与视差计算
- 双目匹配与视差计算
- UV UnWrap(UV展开)
- 菜鸟看论文——U-V-Disparity与地面检测、相机姿态估计
- 每天一个linux命令(50):crontab命令
- namenode 格式化 -format
- kafka文档(6)----0.10.1-Introduction-基本介绍
- StringBuffer和StingBuilder的区别与比较
- 初识PHP(8)
- 视差:disparity与UV-视差:UV-disparity
- win7 sp1简体中文升级补丁包(64位)
- 微信小程序上拉加载,下拉刷新实现方法
- 获取状态栏宽度
- Android PopupWindow的使用!!!
- asdfds
- netstat linux
- 关闭Shadow Socks Server 的访问记录
- velocity null和""判断