技术流派双目立体视觉系统空间精度:精确定量分析
Posted 李迎松~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术流派双目立体视觉系统空间精度:精确定量分析相关的知识,希望对你有一定的参考价值。
在往期文章【技术流派】教你提高双目立体视觉系统的精度!中,博主关于立体视觉系统的精度做了一个较为具体的分析,但整体来说是定性的,本篇再次关于精度做一次定量分析,毕竟绝大部分场景下精度都始终是第一要素,定量分析更有助于系统设计和精度优化。希望看完此篇,读者能更深一步了解精度的决定因素以及它们各自对精度所影响的尺度,以及能够回答如下三个问题:
1. 双目立体视觉系统的精度由那些因素决定?
2. 各个因素对精度的决定程度一样吗?
3. X/Y/Z三个方向的精度都是一样的吗?如果不是一样,哪个方向精度更好呢?
文章目录
最常见的情况下,双目立体视觉的最终输出是左相机坐标系下的XYZ坐标,本篇便以这三个分量为精度分析对象。
首先,做一些变量的定义:
b b b:基线长度
f f f:焦距
x , y x,y x,y :像点坐标(以像主点为原点)
X , Y , Z X,Y,Z X,Y,Z:相机坐标系下的坐标
d d d:视差
我们先看这三个分量的求解公式:
Z
=
b
f
d
,
X
=
Z
f
x
,
Y
=
Z
f
y
Z=\\frac bf d,X=\\frac Z f x,Y=\\frac Z f y
Z=dbf,X=fZx,Y=fZy
从公式可知,在硬件参数 B , f B,f B,f固定的情况下, X Y Z XYZ XYZ的值和像点坐标值直接相关, X Y Z XYZ XYZ的精度实际上是像点精度下的空间偏差值,因此我们以像点精度为基本(最小)精度单位。
假设像点 x , y x,y x,y的精度为 s x , s y s_x,s_y sx,sy,视差 d d d的精度为 s d s_d sd。通常认为 x , y x,y x,y的精度是相同的,即 s x = s y = s s_x=s_y=s sx=sy=s,而视差的精度一般来说可以用公式 s d = s x 2 s_d = \\frac s_x \\sqrt 2 sd=2sx来估计1。
Z方向精度
首先对于
Z
=
b
f
d
Z=\\frac bf d
Z=dbf,自变量是
d
d
d,我们对
d
d
d求偏导,可得
∂
Z
∂
d
=
−
b
f
d
2
=
−
Z
2
b
f
\\frac \\partial Z \\partial d=-\\frac bf d^2=-\\frac Z^2 bf
∂d∂Z=−d2bf=−bfZ2
因此,
Z
Z
Z方向的精度可以表示为
s
Z
=
Z
2
b
f
s
d
=
Z
2
2
b
f
s
s_Z=\\frac Z^2 bfs_d=\\frac Z^2 \\sqrt 2bfs
sZ=bfZ2sd=2bfZ2s
可知 Z Z Z方向精度和 Z Z Z的平方正相关,即和物体离相机的距离的平方正相关(严格来说是 Z Z Z方向距离)。
同时,上式可以变换一种形式:
s
Z
=
Z
b
Z
f
s
d
s_Z=\\frac Z b\\frac Z fs_d
sZ=bZfZsd
假设 q = Z b , m = Z f q=\\frac Z b,m=\\frac Z f q=bZ,m=fZ,则 q q q是我们所熟知的基高比的倒数, m m m是影像的尺度(即GSD,一个像素代表的空间尺寸),这个公式显示,基高比和GSD对 Z Z Z方向精度起着关键作用,更大的基高比和更小的GSD有助于提高 Z Z Z方向精度。这可以用于指导双目立体视觉系统的设计。
XY方向精度
同理,对于
X
X
X,自变量是
Z
Z
Z和
x
x
x,我们对
Z
Z
Z和
x
x
x求偏导,可得
∂
X
∂
Z
=
x
f
,
∂
X
∂
x
=
=
Z
f
\\frac \\partial X \\partial Z=\\frac x f,\\frac \\partial X \\partial x==\\frac Z f
∂Z∂X=fx,∂x∂X==fZ
X
X
X方向精度可表示为
s
X
=
(
x
f
s
Z
)
2
+
(
Z
f
s
x
)
2
s_X=\\sqrt (\\frac x f s_Z)^2+(\\frac Z f s_x)^2
sX=(fxsZ)2+(fZsx)2
同理,
Y
Y
Y方向精度可表示为 以上是关于技术流派双目立体视觉系统空间精度:精确定量分析的主要内容,如果未能解决你的问题,请参考以下文章
s
Y
=
(
y
f
s
Z
)
2
+
(
Z
f
s
y
)