🔥预备知识: 【双目视觉】 理想条件下计算物体距离_什么都只会一点的博客-CSDN博客
立体匹配流程
定义
代价函数用于计算左、右图中两个像素之间的匹配代价(cost)。cost越大,表示这两个像素为对应点的可能性越低
常见的代价函数
1.AD/BT
C A D ( x , y , d ) = ∣ I L ( x , y ) − I R ( x − d , y ) C_{A D}(x, y, d)=|I_{L}(x, y)-I_{R}(x-d, y) CAD(x,y,d)=∣IL(x,y)−IR(x−d,y)
左图任取一个像素点,减去 向右移动d
个像素值的右图,求得代价函数C;我们的目的,就是寻找代价值C最小时,d的值,根据
Z
=
f
T
x
l
−
x
r
Z=\frac{f T}{x^{l}-x^{r}}
Z=xl−xrfT求出距离
2.AD+Gradient
τ c o l \tau_{c o l} τcol:截断阈值
α \alpha α:权重
τ grad \tau_{\text {grad }} τgrad :截断阈值
AD+Gradient本质上跟AD相近,只不过是通过阈值去分配权重
3.Census
Census方法任取左图一个像素点P,观察周围3*3窗口的像素点灰度值,如果小于P就置1,否则为0,然后编码。右图也是如此。最后异或比较,根据异或后的结果,看‘1’的个数,计算汉明距离
4.SAD/SSD
5.NCC
- 特性:对图像亮度的线性变化具有不变性
- 物理意义: 两个向量的夹角的余弦值
6.AD+Census
因为AD代价函数容易实现,但是它容易受辐射差异的影响。 而在Census变换中,不要求像对之间的颜色一致性。因此,它对于辐射差异更加鲁棒
C
A
D
(
p
,
d
)
=
∑
i
=
R
,
G
,
B
∣
I
i
l
e
f
t
(
p
)
−
I
i
right
(
p
−
(
d
,
0
)
)
∣
3
C
I
(
p
,
d
)
=
1
−
exp
(
−
C
A
D
(
p
,
d
)
λ
A
D
)
+
1
−
exp
(
−
C
census
(
p
,
d
)
λ
Census
)
\begin{array}{c} C_{A D}(\boldsymbol{p}, d)=\frac{\sum_{i=R, G, B}\left|I_{i}^{l e f t}(\boldsymbol{p})-I_{i}^{\text {right }}(\boldsymbol{p}-(d, 0))\right|}{3} \\ C_{I}(\boldsymbol{p}, d)=1-\exp \left(-\frac{C_{A D}(\boldsymbol{p}, d)}{\lambda_{A D}}\right)+ 1-\exp \left(-\frac{C_{\text {census }}(\boldsymbol{p}, d)}{\lambda_{\text {Census }}}\right) \end{array}
CAD(p,d)=3∑i=R,G,B∣Iileft(p)−Iiright (p−(d,0))∣CI(p,d)=1−exp(−λADCAD(p,d))+1−exp(−λCensus Ccensus (p,d))
效果