当前位置:网站首页>双目3D感知(一):双目初步认识
双目3D感知(一):双目初步认识
2022-06-25 15:32:00 【anthony-36】
双目3D感知(一):双目初步认识
优势:
- 单目3D感知依赖于先验知识和几何约束
- 深度学习的算法非常依赖于数据集的规模、质量以及多样性
- 双目系统解决了透视变换带来的歧义性
- 双目感知不依赖于物体检测的结果,对任意障碍物均有效
劣势:
- 硬件:摄像头需要精确配准,车辆运行过程中也要始终保持配准的正确性
- 软件:算法需要同时处理来自两个摄像头的数据,计算复杂度较高
双目深度估计

基本原理
1.概念和公式
B:基线长度(两个相机之间的距离)
f:相机的焦距
d:视差(左右两张图像上同一个3D点之间的距离)
f和B是固定的,要求解深度z,只需估计视差d(xl-xr)
根 据 相 似 三 角 形 , 得 到 { f / z = x l / x f / z = x r / x − B 只 有 x 和 z 是 未 知 变 量 根据相似三角形,得到\begin{cases} f/z=xl/x\\ f/z=xr/x-B \end{cases} \\ 只有x和z是未知变量 根据相似三角形,得到{ f/z=xl/xf/z=xr/x−B只有x和z是未知变量
得到下列式子:
Z = f B / d Z=fB/d Z=fB/d
2.视差估计:对于左图中的每个像素点。需要找到右图中与其匹配的点。
- 对于每个可能的视差(范围有限),计算匹配误差,因此得到的三维误差数据称为Cost Volume。、
- 计算匹配误差时考虑像素点附近的局部区域,比如对局部区域内所有对应像素值的差进行求和。
- 通过Cost Volume可以得到每个像素处的视差(对应最小匹配误差的),从而得到深度值。

PSMNET
1.左右图像上采用共享的卷积网络进行特征提取
- 包括下采样,金字塔结构和空洞卷积来提取多分辨率的而信息并扩大感受野
2.左右特征图构建Cost Volume
3.3D卷积提取左右特征图以及不同视差级别之间的信息
4.上采样到原始分辨率,找到匹配误差最小的视差值
5.过程




6.结果分析(KITTI数据集)
- 物体和背景上出现误差

原因分析:虽然特征包含了邻域信息,但是缺乏高层语义信息的监督信号,无法理解场景。
改进方法:用物体检测和语义分割的结果进行后处理,或者多个任务
- 距离过长出现的误差

| 距离 | 0-10m | 10-30m | 30-60m | 60-inf | 0-inf |
|---|---|---|---|---|---|
| 深度误差(RMSE) | 0.268 | 1.203 | 6.056 | 16.604 | 2.605 |
原因分析:远距离的视差值较小,在离散的图像像素上难以区分
Z = f B / d Z=fB/d Z=fB/d
改进方法:①提高图像的空间分辨率(长焦),使得远距离物体也有较多的像素覆盖
②增加基线长度,从而增加视差的范围
- 低纹理或者低光照的区域,深度估计误差较大

原因分析:在该区域内无法有效提取特征,用于计算匹配误差
改进方法:提高摄像头的动态范围,或者采用可以测距的传感器
具体的仿真过程记录在下一篇里面有。
边栏推荐
- 0706-- replace fields in the use case, such as mobile phone number or ID
- CV pre training model set
- Getting started with lambda8 new features
- Go language modifies / removes multiple line breaks in strings
- One question per day, a classic simulation question
- google_ Breakpad crash detection
- Arthas, a sharp tool for online diagnosis - several important commands
- 在打新债开户证券安全吗,需要什么准备
- basic_ String mind map
- JMeter reading and writing excel requires jxl jar
猜你喜欢

Shared memory synchronous encapsulation

Graphic control and layout basis of R visualization

One question per day,

Learning notes on February 18, 2022 (C language)
![[paper notes] mcunetv2: memory efficient patch based influence for tiny deep learning](/img/4b/f446bd37057237c0ba4c7b4e38e74f.jpg)
[paper notes] mcunetv2: memory efficient patch based influence for tiny deep learning

Install Kali extension 1: (kali resolution problem)

JSON module dictionary and string conversion

Several common optimization methods
![[paper notes] contextual transformer networks for visual recognition](/img/e4/45185983e28664564bbf79023ccbf6.jpg)
[paper notes] contextual transformer networks for visual recognition

QT excel table read / write library - qtxlsx
随机推荐
Bessie's weight problem [01 backpack]
Efficient pytorch: how to eliminate training bottlenecks
Websocket (WS) cluster solution
Is it safe to open a stock account online?
Sampling method and descriptive statistical function in R language
Summary of common methods of ArrayList, LinkedList and vector, and analysis of source code learning
Semaphore function
Afterword of Parl intensive learning 7-day punch in camp
MySQL field truncation principle and source code analysis
Common operations in VIM
2.18 codeforces supplement
Leetcode121 timing of buying and selling stocks
Leetcode122 timing of buying and selling stocks II
Boost listening port server
Work of the first week
0706-- replace fields in the use case, such as mobile phone number or ID
The last glory of the late Ming Dynasty - the battle of Korea
Ubuntu 20.04 installing mysql8.0 and modifying the MySQL password
[paper notes] street view change detection with deconvolutional networks
Generic - learning notes