论文阅读《MC-CNN: Stereo Matching by Training a Convolutional Neural Network to Compare Image Patches》

论文地址:https://arxiv.org/abs/1510.05970
源码地址:https://github.com/jzbontar/mc-cnn

背景

  传统的立体匹配算法包含:匹配代价计算,代价聚合,视差计算,视差精细化四个步骤;针对初始匹配代价计算,本文提出一种基于CNN的patch相似度衡量方法,再结合传统算法中的代价聚合、视差计算与视差精细化步骤预测输入图像的深度图;


模型结构

  基于自监督学习的框架引导模型训练,用 < P n × n L ( p ) , P n × n R ( q ) > <\mathcal{P}_{n \times n}^{L}(\mathbf{p}), \mathcal{P}_{n \times n}^{R}(\mathbf{q})> <Pn×nL(p),Pn×nR(q)>来表示以同名点 p 与 q p 与 q pq 为中心的 n × n n\times n n×n 的patch;假设 p 点坐标为 ( x , y ) (x, y) (x,y) ,q 点坐标为 ( x − d , y ) (x-d,y) (xd,y),则:
q p o s = ( x − d + O p o s , y ) q n e g = ( x − d + O n e g , y ) q_{pos}=(x-d+O_{pos}, y)\\q_{neg}=(x-d+O_{neg}, y) qpos=(xd+Opos,y)qneg=(xd+Oneg,y)
其中 O n e g ∈ [ − m a x D , − m i n D ] ∪ [ m i n D , m a x D ] O_{neg}\in[-maxD, -minD]\cup [minD, maxD] Oneg[maxD,minD][minD,maxD], O p o s ∈ [ 0 , 1 ] O_{pos}\in [0, 1] Opos[0,1],模型的核心思想为拉进正样本对之间的距离,拉远负样本对之间的距离;

快速型

在这里插入图片描述
  将正样本与负样本经过孪生神经网络中提取特征后,经过归一化与点乘,得到正样本对之间的相似性 s + s_{+} s+ 与负样本对之间的相似性 s − s_{-} s

损失函数:

使用合页损失函数:
L = m a x ( 0 , m + s − − s + ) (1) L = max(0, m + s_{-}-s_{+})\tag{1} L=max(0,m+ss+)(1)
只用负样本对之间的距离与正样本对之间的距离大于m, 损失才为0,否则损失为 m + s − − s + m + s_{-}-s_{+} m+ss+;

精度型

在这里插入图片描述
  将正样本与负样本经过孪生神经网络中提取特征后,将样本对的特征图拼接后送入MLP中,最后得到匹配分数s;

损失函数

采用二分类交叉熵损失:
L = t ⋅ l o g ( s ) + ( 1 − t ) ⋅ l o g ( 1 − s ) (2) L = t\cdot log(s) + (1-t)\cdot log(1-s)\tag{2} L=tlog(s)+(1t)log(1s)(2)
正样本对时 t = 1 t=1 t=1,负样本对时 t = 0 t=0 t=0

初始代价计算

得到初始代价计算网络之后,使用模型的输出作为初始代价;
C C N N ( p , d ) = − s ( < P L ( p ) , P R ( p − d ) > ) (3) C_{\mathrm{CNN}}(\mathbf{p}, d)=-s\left(<\mathcal{P}^{L}(\mathbf{p}), \mathcal{P}^{R}(\mathbf{p}-\mathbf{d})>\right)\tag{3} CCNN(p,d)=s(<PL(p),PR(pd)>)(3)
即匹配分数越高,cost越小;

注:模型后续的步骤与传统算法一致,包含代价聚合、视差计算、视差精细化,故不赘述;


实验结果

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
cd C:\Program Files\FlightGear fgfs --fg-root=C:\Program Files\FlightGear\data --aircraft=ufo --in-air --fdm=null --telnet=5501 --telnet=5502 --telnet=5503 --disable-ai-traffic --disable-real-weather-fetch --disable-random-objects --disable-terrasync --disable-clouds --disable-sound --disable-panel --disable-hud --disable-specular-highlight --timeofday=noon --prop:/sim/rendering/multi-sample-buffers=1 --prop:/sim/rendering/multi-samples=2 --prop:/sim/rendering/draw-mask-clouds=false --prop:/sim/rendering/draw-mask-terrain=true --prop:/sim/rendering/draw-mask-objects=true --prop:/sim/rendering/draw-mask-lights=true --prop:/sim/rendering/draw-mask-internal=true --prop:/sim/rendering/draw-mask-cockpit=true --prop:/sim/rendering/draw-mask-effects=true --prop:/sim/rendering/draw-mask-overlay=true --prop:/sim/rendering/draw-mask-world=true --prop:/sim/rendering/draw-mask-panel=true --prop:/sim/rendering/draw-mask-vr=true --prop:/sim/rendering/draw-mask-2d=true --prop:/sim/rendering/draw-mask-3d=true --prop:/sim/rendering/draw-mask-sky=true --prop:/sim/rendering/draw-mask-shadows=true --prop:/sim/rendering/draw-mask-cabin=true --prop:/sim/rendering/draw-mask-weather=true --prop:/sim/rendering/draw-mask-stereo=true --prop:/sim/rendering/draw-mask-internal-cockpit=true --prop:/sim/rendering/draw-mask-internal-windows=true --prop:/sim/rendering/draw-mask-internal-instruments=true --prop:/sim/rendering/draw-mask-internal-overlay=true --prop:/sim/rendering/draw-mask-internal-effects=true --prop:/sim/rendering/draw-mask-internal-lights=true --prop:/sim/rendering/draw-mask-internal-world=true --prop:/sim/rendering/draw-mask-internal-panel=true --prop:/sim/rendering/draw-mask-internal-3d=true --prop:/sim/rendering/draw-mask-internal-sky=true --prop:/sim/rendering/draw-mask-internal-cabin=true --prop:/sim/rendering/draw-mask-internal-weather=true --prop:/sim/rendering/draw-mask-internal-stereo=true --prop:/sim/rendering/draw-mask-internal-shadow=true --prop:/sim/rendering/draw-mask-internal-stall=true --prop:/sim/rendering/draw-mask-internal-aoa=true --prop:/sim/rendering/draw-mask-internal-thermal=false --prop:/sim/rendering/draw-mask-internal-ice=false --prop:/sim/rendering/draw-mask-internal-glass=true --prop:/sim/rendering/draw-mask-internal-dead=true --prop:/sim/rendering/draw-mask-internal-reflection=true程序显示错误unknown command-line option: enable-hud-2d怎么解决
最新发布
05-10
你可以尝试将启用2D HUD的选项从命令行中移除,改为在游戏内部手动启用。可以尝试修改命令行参数为: ``` cd C:\Program Files\FlightGear fgfs --fg-root=C:\Program Files\FlightGear\data --aircraft=ufo --in-air --fdm=null --telnet=5501 --telnet=5502 --telnet=5503 --disable-ai-traffic --disable-real-weather-fetch --disable-random-objects --disable-terrasync --disable-clouds --disable-sound --disable-panel --timeofday=noon --prop:/sim/rendering/multi-sample-buffers=1 --prop:/sim/rendering/multi-samples=2 --prop:/sim/rendering/draw-mask-clouds=false --prop:/sim/rendering/draw-mask-terrain=true --prop:/sim/rendering/draw-mask-objects=true --prop:/sim/rendering/draw-mask-lights=true --prop:/sim/rendering/draw-mask-internal=true --prop:/sim/rendering/draw-mask-cockpit=true --prop:/sim/rendering/draw-mask-effects=true --prop:/sim/rendering/draw-mask-overlay=true --prop:/sim/rendering/draw-mask-world=true --prop:/sim/rendering/draw-mask-panel=true --prop:/sim/rendering/draw-mask-vr=true --prop:/sim/rendering/draw-mask-3d=true --prop:/sim/rendering/draw-mask-sky=true --prop:/sim/rendering/draw-mask-shadows=true --prop:/sim/rendering/draw-mask-cabin=true --prop:/sim/rendering/draw-mask-weather=true --prop:/sim/rendering/draw-mask-stereo=true --prop:/sim/rendering/draw-mask-internal-cockpit=true --prop:/sim/rendering/draw-mask-internal-windows=true --prop:/sim/rendering/draw-mask-internal-instruments=true --prop:/sim/rendering/draw-mask-internal-overlay=true --prop:/sim/rendering/draw-mask-internal-effects=true --prop:/sim/rendering/draw-mask-internal-lights=true --prop:/sim/rendering/draw-mask-internal-world=true --prop:/sim/rendering/draw-mask-internal-panel=true --prop:/sim/rendering/draw-mask-internal-3d=true --prop:/sim/rendering/draw-mask-internal-sky=true --prop:/sim/rendering/draw-mask-internal-cabin=true --prop:/sim/rendering/draw-mask-internal-weather=true --prop:/sim/rendering/draw-mask-internal-stereo=true --prop:/sim/rendering/draw-mask-internal-shadow=true --prop:/sim/rendering/draw-mask-internal-stall=true --prop:/sim/rendering/draw-mask-internal-aoa=true --prop:/sim/rendering/draw-mask-internal-thermal=false --prop:/sim/rendering/draw-mask-internal-ice=false --prop:/sim/rendering/draw-mask-internal-glass=true --prop:/sim/rendering/draw-mask-internal-dead=true --prop:/sim/rendering/draw-mask-internal-reflection=true ``` 然后在游戏内部手动启用2D HUD。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV科研随想录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值