【论文阅读】CVPR2018-深度材料感知跨光谱立体匹配

news2024/11/15 15:27:50

深度材料感知跨光谱立体匹配

摘要

跨光谱成像对识别和检测任务很有帮助。通常,多个相机用于跨光谱成像,因此需要图像对齐或双目系统中的视差估计。多相机跨光谱系统逐渐被嵌入到有源RGB-D设备中(例如Kinect和iPhone X中的RGB-NIR相机)。因此,立体匹配提供了在没有主动投影仪的情况下获得深度的机会。然而,由于大的外观差异,匹配来自不同光谱带的图像非常具有挑战性。

  • 本文开发了一种基于深度学习的方法,能同时进行跨光谱图像变换视差估计

  • 在视差预测网络中使用了材料感知损失函数,用于处理具有不可靠匹配的区域,例如光源、挡风玻璃和光滑表面。

  • 本文的方法采用无监督学习。

  • 构建数据集。为了评估本文的方法,使用车载RGB-NIR立体系统,在一个城市内和周围一系列区域,收集了13.7小时的视频数据。

  • 实验结果表明,该方法具有较强的性能和并能达到实时性

1.介绍

跨光谱成像广泛应用于图像处理计算机视觉领域:

  • 近红外(NIR)、短波红外(SWIR)、中波红外(MWIR)图像能够帮助RGB图像进行人脸识别。

  • RGB-NIR图像对用于阴影检测、场景识别和场景推理。

  • NIR图像能够对彩色图像进行增强和去雾。

  • 蓝色荧光和紫外光图像有助于皮肤表面重建。

  • 彩色与热红外图像有助于行人检测。

⭐️动机⭐️

  • 多相机-多光谱系统在现代设备中越来越常见(Kinect、iPhone X),由于大多数跨光谱算法需要对齐的图像作为输入,所以跨光谱对齐问题变得至关重要,然而在硬件中使用分束器对齐图像是不切实际的,因为这样会导致显著的光损失,进而需要更长的曝光时间,导致动态模糊。

  • 立体匹配可以解决这个问题,先从校正的图像对中估计视差,然后根据获得的视差,通过图像变换得到对齐的图像。立体匹配还可以在没有主动光的情况下获得深度,有助于像检测和跟踪这样的任务。

⭐️挑战⭐️

由于成像光谱段不同,带来的巨大外观差异。

figure1

⭐️方法⭐️

采用两个无监督网络,同时进行视差估计光谱变换

  • 视差估计网络(DPN)

  • 光谱转换网络(STN)

损失函数由NIR图像和伪NIR图像的重投影和匹配关系构建。

DPN和STN能应对大部分场景,但是具有某些材料的区域匹配结果不可靠,如光源、玻璃和光滑表面,为了解决这些问题,采用一个材料识别网络(DeepLab)识别出不可靠的区域,然后利用上下文信息对这些区域进行视差推理

DPN损失根据材料概率和预测的视差评估像素置信度,并利用置信度加权平滑技术将更多梯度反向传播到较低置信度像素。

⭐️数据集⭐️

  • 13.7h的RGB-NIR立体对视频帧。

  • 在图像的子集上标注了材料分割标签,来训练材料识别网络(DeepLab)。

  • 在测试子集上标记稀疏视差用于评估。

2.相关工作

跨模态立体匹配

跨模态立体匹配的关键是计算不同成像模态之间的不变量

  • Chiu等人提出了基于线性通道结合的跨模态自适应方法

  • Heo等人提出了一种对不同光照和颜色鲁棒的相似性度量

  • Heo等人还提出了一种辐射变化下联合生成彩色一致立体图像和视差方法

  • Pinggera等人表明HOG特征有助于可见光-热红外匹配

  • Shen等人提出了一种具有鲁棒选择性归一化互相关的两阶段方案

  • Kim等人设计了一个基于自相似性的描述符,并将其扩展为深度学习版本 🚀对比方法🚀

  • Jeon等人提出了一种在弱光条件下补偿辐射差的彩色-单色匹配方法

这些方法基于特征或区域匹配而没有材料感知,并且对于诸如灯、玻璃或光滑表面的材料是不可靠的

无监督深度估计

无监督深度估计CNN通常用平滑先验和重投影误差来训练

  • Garg等人提出了基于Taylor展开和粗-细训练的单目方法

  • Godard等人提出了具有左右一致性的单目深度网络 🚀参考方法🚀

  • Zhou等人提出了一种基于运动网络的深度和摄像机姿态预测方法

  • Zhou等人提出了一种通过选择可信匹配和训练数据的立体匹配方法

  • Tonioni等人表明表明深度立体匹配模型可以用传统立体算法的输出进行微调

所有这些方法只处理RGB图像而不是跨光谱图像,没有考虑困难的非朗伯材料

3.同时预测视差和转换光谱

figure2

3.1 模型总览

本文方法包含两个无监督网络,分别为视差预测网络DPN光谱转换网络STN

  • DPN采用Godard提出的结构,输入为RGB-NIR立体对 { I C l , I N r } \{I^{l}_{C}, I^{r}_{N}\} {ICl,INr},输出为左右视差 { d l , d r } \{d^l, d^r \} {dl,dr}

  • STN输入为RGB左图 I C l I^{l}_{C} ICl,输出伪NIR图像 I p N l I^{l}_{pN} IpNl

两个网络的损失函数主要由重投影误差构成。

重投影左图 I ~ N l = ω ( I N r , − d l ) \tilde{I}^{l}_{N}=\omega(I^{r}_{N},-d^{l}) I~Nl=ω(INr,dl),重投影右图 I ~ p N r = ω ( I p N l , d r ) \tilde{I}^{r}_{pN}=\omega(I^{l}_{pN},d^{r}) I~pNr=ω(IpNl,dr)

然后重投影左图 I ~ N l \tilde{I}^{l}_{N} I~Nl和伪NIR左图 I p N l I^{l}_{pN} IpNl计算重投影误差,重投影右图 I ~ p N r \tilde{I}^{r}_{pN} I~pNr和NIR右图 I N r I^{r}_{N} INr计算重投影误差。

I ~ ( x , y ) = ω ( I , d ) ( x , y ) = I ( x + d ( x , y ) , y ) \tilde{I}(x,y)=\omega(I,d)(x,y)=I(x+d(x,y),y) I~(x,y)=ω(I,d)(x,y)=I(x+d(x,y),y)为重投影变换

解释 I ~ N l , I ~ p N r \tilde{I}^{l}_{N},\tilde{I}^{r}_{pN} I~Nl,I~pNr的计算公式:立体图像对中,左图像的对应点x坐标偏右(偏大)。以重投影左图为例,理论上重投影左图在(x,y)处的像素值,对应在NIR右图中偏左(x坐标值偏小)的点,即(x-d(x,y),y)。

3.2 视差估计网络

网络结构可以参考Godard,这里详细解读损失函数,它由三部分组成:

  • L v L_{v} Lv:视图一致性(view consistency)项

  • L a L_{a} La:对齐(alignment)项

  • L s L_{s} Ls:平滑(smoothness)项

DPN的总体损失函数:

L D P N = λ v ( L v l + L v r ) + λ v ( L a l + L a r ) + λ s ( L s l + L s r ) (1) L_{DPN}=\lambda_{v}(L^{l}_{v}+L^{r}_{v})+\lambda_{v}(L^{l}_{a}+L^{r}_{a})+\lambda_{s}(L^{l}_{s}+L^{r}_{s}) \tag{1} LDPN=λv(Lvl+Lvr)+λv(Lal+Lar)+λs(Lsl+Lsr)(1)

具体来看:

⭐️视图一致性项 L v l L^{l}_{v} Lvl描述了左右视差图的一致性

L v l = 1 N ∑ p ∈ Ω ∣ d l ( p ) − ω ( d r , − d l ) ( p ) ∣ (2) L^{l}_{v}=\frac{1}{N}\sum_{p\in \Omega}|d^{l}(p)-\omega(d^{r},-d^{l})(p)| \tag{2} Lvl=N1pΩdl(p)ω(dr,dl)(p)(2)

N为像素总数, Ω \Omega Ω为像素坐标空间,p为某一像素点

⭐️对齐项 L a l L^{l}_{a} Lal描述了伪NIR左图像 I p N l I^{l}_{pN} IpNl和NIR右图像 I N r I^{r}_{N} INr之前的结构亮度对齐:

L a l = 1 N ∑ p ∈ Ω ( α δ ( I p N l , I ~ N l ) ( p ) + ( 1 − α ) ∣ I p N l ( p ) − I ~ N l ) ( p ) ∣ ) (3) L^{l}_{a}=\frac{1}{N}\sum_{p \in \Omega}(\alpha \delta(I^{l}_{pN},\tilde{I}^{l}_{N})(p)+ (1-\alpha)|I^{l}_{pN}(p)-\tilde{I}^{l}_{N})(p)|) \tag{3} Lal=N1pΩ(αδ(IpNl,I~Nl)(p)+(1α)IpNl(p)I~Nl)(p))(3)

δ ( I 1 , I 2 ) \delta(I_1,I_2) δ(I1,I2)为结构相似性SSIM, α = 0.85 \alpha=0.85 α=0.85

⭐️平滑项 L s l L^{l}_{s} Lsl进行边缘感知,允许边缘存在不连续视差。

L s l = 1 N ∑ p ∈ Ω ( ( ∣ ∂ d l ∂ x ∣ e − ∣ S x ∗ I C l ∣ + ∣ ∂ d l ∂ y ∣ e − ∣ S y ∗ I C l ∣ ) ( p ) ) (4) L^{l}_{s}=\frac{1}{N}\sum_{p \in \Omega}((|\frac{\partial d^{l}}{\partial x}|e^{-|S_{x} \ast I^{l}_{C}|}+|\frac{\partial d^{l}}{\partial y}|e^{-|S_{y} \ast I^{l}_{C}|})(p)) \tag{4} Lsl=N1pΩ((xdleSxICl+ydleSyICl)(p))(4)

S x , S y S_x,S_y Sx,Sy为Sobel算子,经过滤波的RGB彩色图片被平均为单通道图片。

3.3 光谱转换网络

RGB-NIR相机经过辐射测量标定,可以得到下面两种参数

  • 白平衡增益:红色增益 g R g_R gR、蓝色增益 g B g_B gB

  • 曝光时间: Δ t C \Delta t_C ΔtC Δ t N \Delta t_N ΔtN

光谱转换网络STN通过局部滤波、白平衡和曝光校正,将彩色左图转换为伪近红外左图。

G θ 1 \mathcal{G}_{\theta _{1}} Gθ1为白平衡操作, θ 1 \theta_1 θ1为可学习参数; F θ 2 ( p ) \mathcal{F}^{(p)}_{\theta_2} Fθ2(p)为滤波操作,对每个位置p都有对应的滤波参数 θ 2 \theta_2 θ2;转换公式为:

I p N l = Δ t N Δ t C G θ 1 ( g R , g B ) F θ 2 ( p ) ( I C l ( p ) ) (5) I^{l}_{pN}=\frac{\Delta t_N}{\Delta t_C}\mathcal{G}_{\theta_1}(g_R,g_B)\mathcal{F}^{(p)}_{\theta_2}(I^{l}_{C}(p)) \tag{5} IpNl=ΔtCΔtNGθ1(gR,gB)Fθ2(p)(ICl(p))(5)

  • G θ 1 \mathcal{G}_{\theta _{1}} Gθ1是一个一层神经网络用于学习参数 θ 1 = ( θ 11 , θ 12 , θ 13 ) \theta_1=(\theta_{11},\theta_{12},\theta_{13}) θ1=(θ11,θ12,θ13),激活函数为sigmoid。

G θ 1 ( g R , g B ) = β h ( θ 11 g R + θ 12 g B + θ 13 ) (6) \mathcal{G}_{\theta _{1}}(g_R,g_B)=\beta h(\frac{\theta_{11}}{g_R}+\frac{\theta_{12}}{g_B}+\theta_{13}) \tag{6} Gθ1(gR,gB)=βh(gRθ11+gBθ12+θ13)(6)

β = 2 \beta =2 β=2是最大白平衡增益

  • F θ 2 ( p ) \mathcal{F}^{(p)}_{\theta_2} Fθ2(p)计算彩色图像R、G、B三通道的加权和,每个位置p的权重不一样。

F θ 2 ( p ) ( I C l ( p ) ) = θ 21 ( p ) I R l ( p ) + θ 22 ( p ) I G l ( p ) + θ 23 ( p ) I B l ( p ) (7) \mathcal{F}^{(p)}_{\theta_2}(I^{l}_{C}(p))=\theta_{21}(p)I^{l}_{R}(p)+\theta_{22}(p)I^{l}_{G}(p)+\theta_{23}(p)I^{l}_{B}(p) \tag{7} Fθ2(p)(ICl(p))=θ21(p)IRl(p)+θ22(p)IGl(p)+θ23(p)IBl(p)(7)

I R l , I G l , I B l I^{l}_{R},I^{l}_{G},I^{l}_{B} IRl,IGl,IBl为彩色图的三通道分量,权重 θ 2 ( p ) = ( θ 21 ( p ) , θ 22 ( p ) , θ 23 ( p ) ) \theta_{2}(p)=(\theta_{21}(p),\theta_{22}(p),\theta_{23}(p)) θ2(p)=(θ21(p),θ22(p),θ23(p))由一个滤器波生成网络(FGN)预测得到。

为了防止STN学习视差,本方法使用对称CNN作为FGN。因此,FGN对每个像素周围的左右部分有相同的处理,并且对输入进行移位操作,因此不学习视差。

  • FGN的结构和DPN的结构相同,它预测RGB-to-NIR滤波器:
rgb2nir
  • STN的损失函数为NIR和pNIR的匹配误差:

L S T N = 1 N ∑ p ∈ Ω ( ∣ I p N l ( p ) − I ~ N l ( p ) ∣ + ∣ I N r ( p ) − I ~ p N r ( p ) ∣ ) (8) L_{STN}=\frac{1}{N}\sum_{p\in \Omega}(|I^{l}_{pN}(p)-\tilde{I}^{l}_{N}(p)|+|I^{r}_{N}(p)-\tilde{I}^{r}_{pN}(p)|) \tag{8} LSTN=N1pΩ(IpNl(p)I~Nl(p)+INr(p)I~pNr(p))(8)

4.将材料感知置信度引入视差预测网络

虽然DPN和STN在许多场景下都有较好的效果,但是某些材料会导致不可靠匹配匹配结果,如光源、玻璃和光滑表面等。因为这些材料具有很大的光谱成像差异。

  • 不能通过匹配分数和视图一致性判断匹配结果的可靠性。

  • 光源在RGB和NIR图中的大小不同,因此边缘的匹配并不可靠。

  • 透射或反射的场景预测的视差与实际物理表面并不匹配。

figure4

本文的目标是将材料感知置信度估计和DPN的损失韩式相融合。提出了两种新的技术:

  • 使用一种新的置信度加权平滑技术将视差从可靠区域传播到不可靠区域。

  • 通过创建特定材料的对齐平滑损失,将DPN损失函数扩展为材料感知DPN损失函数。

4.1 置信度加权视差平滑

平滑技术是一种在不可靠区域推理视差的常用方法。然而,平滑度损失允许不可靠区域通过迫使它们共享相似的视差来误导可靠部分。

置信度加权视差平滑技术,利用可靠的视差来监督不可靠的视差。我们改变平滑损失的反向传播行为,使得它可以嵌入到DPN损失中。

figure5

考虑两个临近像素 p 1 p_1 p1 p 2 p_2 p2,他们的预测视差值为 d 1 d_1 d1 d 2 d_2 d2 L 1 L_1 L1平滑损失为 L = ∣ d 1 − d 2 ∣ L=|d_1-d_2| L=d1d2。设 W W W为DPN的所有参数,那么就有 ∂ L ∂ W = ∂ L ∂ d 1 ∂ d 1 ∂ W + ∂ L ∂ d 2 ∂ d 2 ∂ W \frac{\partial L}{\partial W}=\frac{\partial L}{\partial d_1}\frac{\partial d_1}{\partial W}+\frac{\partial L}{\partial d_2}\frac{\partial d_2}{\partial W} WL=d1LWd1+d2LWd2。假设 p 1 p_1 p1是可信,而 p 2 p_2 p2不可靠。我们希望 d 2 d_2 d2随着 d 1 d_1 d1变化,而并不改变 d 1 d_1 d1

  • χ ( ⋅ ) \chi(\cdot) χ()为停止梯度算子(比如PyTorch中的detach)在向前传递中充当身份映射,但在反向传递中阻止梯度通过它反向传播。设置信度感知损失函数 L = ∣ χ ( d 1 ) − d 2 ∣ L=|\chi(d_1)-d_2| L=χ(d1)d2,能够防止梯度通过 d 1 d_1 d1反向传播。当反向传播时,直接令 ∂ L ∂ d 1 = 0 \frac{\partial L}{\partial d_1}=0 d1L=0,即 ∂ L ∂ W = ∂ L ∂ d 2 ∂ d 2 ∂ W \frac{\partial L}{\partial W}=\frac{\partial L}{\partial d_2}\frac{\partial d_2}{\partial W} WL=d2LWd2,并且它也可以扩展为“平滑”版本。

  • 总的来说,让 p 1 p_1 p1 p 2 p_2 p2具有置信度 c 1 c_1 c1 c 2 c_2 c2。我们定义相关置信度 r 1 = c 1 c 1 + c 2 r_1=\frac{c_1}{c_1+c_2} r1=c1+c2c1 r 2 = 1 − r 1 r_2=1-r_1 r2=1r1

  • 最终置信度加权损失函数为 L = r 1 ∣ χ ( d 1 ) − d 2 ∣ − r 2 ∣ d 1 − χ ( d 2 ) ∣ L=r_1|\chi(d_1)-d_2|-r_2|d_1-\chi(d_2)| L=r1χ(d1)d2r2d1χ(d2)

在实际应用中,考虑视差图 d ( x , y ) d(x,y) d(x,y)及其已知的置信度 c ( x , y ) c(x,y) c(x,y)。通过定义x和y方向上的邻域像素,给出了置信度的详细表达式。x方向上的相对置信度 r + r^+ r+ r − r^- r为:

r + ( x , y ) = χ ( c ( x + 1 , y ) c ( x + 1 , y ) + c ( x − 1 , y ) ) (9) r^+(x,y)=\chi(\frac{c(x+1,y)}{c(x+1,y)+c(x-1,y)}) \tag{9} r+(x,y)=χ(c(x+1,y)+c(x1,y)c(x+1,y))(9)

x方向的置信度加权 L 1 L_1 L1平滑损失函数为:

L x ( d , c ) ( x , y ) = r + ( x , y ) ∣ χ ( d ( x + 1 , y ) ) − d ( x − 1 , y ) 2 ∣ + r − ( x , y ) ∣ d ( x + 1 , y ) − χ ( d ( x − 1 , y ) ) 2 ∣ (10) L_x(d,c)(x,y)=r^+(x,y)|\frac{\chi(d(x+1,y))-d(x-1,y)}{2}|+r^-(x,y)|\frac{d(x+1,y)-\chi(d(x-1,y))}{2}| \tag{10} Lx(d,c)(x,y)=r+(x,y)2χ(d(x+1,y))d(x1,y)+r(x,y)2d(x+1,y)χ(d(x1,y))(10)

r + , r − r^+,r^- r+,r是相对置信度, χ ( ) \chi() χ()防止置信度高的视差进行梯度反向传播。
y方向的置信度加权平滑损失也是同样的原理。

完整的置信度加权平滑损失函数为:

L c s ( d , c ) = L x ( d , c ) + L y ( d , c ) (11) L_{cs}(d,c)=L_x(d,c)+L_y(d,c) \tag{11} Lcs(d,c)=Lx(d,c)+Ly(d,c)(11)

4.2 材料感知损失函数

使用DeepLab识别不可靠区域。在训练DPN和STN网络之前单独训练DeepLab网络。

有8个种类的材料: M = \mathcal{M}= M={光源,玻璃,光滑表面,植物,皮肤,衣服,背包,常见物品}

figure3

"常见物品"表示不属于这些特殊材料的其他材料,令 M U \mathcal{M}^U MU表示不可靠材料子集。

立体对作为DeepLab网络的输入,输出为左右图中每个像素属于材料m的概率 { μ m l ( p ) , μ m r ( p ) } \{\mu^{l}_{m}(p),\mu^{r}_{m}(p)\} {μml(p),μmr(p)}

引入材料特定的对齐损失 L a , m l L^{l}_{a,m} La,ml和平滑损失 L s , m l L^{l}_{s,m} Ls,ml。重写公式(1):

L D P N = λ v ( L v l + L v r ) + ∑ m ∈ M λ a , m ( 1 N ∑ p ∈ Ω ( μ m l ( p ) L a , m l ( p ) + μ m r ( p ) L a , m r ( p ) ) ) + ∑ m ∈ M λ s , m ( 1 N ∑ p ∈ Ω ( μ m l ( p ) L s , m l ( p ) + μ m r ( p ) L s , m r ( p ) ) ) (12) L_{DPN}=\lambda_{v}(L^l_v+L^r_v)+\sum_{m \in \mathcal{M}}\lambda_{a,m}(\frac{1}{N}\sum_{p \in \Omega}(\mu^l_m(p)L^l_{a,m}(p)+\mu^r_{m}(p)L^r_{a,m}(p)))+\sum_{m \in \mathcal{M}}\lambda_{s,m}(\frac{1}{N}\sum_{p \in \Omega}(\mu^l_m(p)L^l_{s,m}(p)+\mu^r_{m}(p)L^r_{s,m}(p))) \tag{12} LDPN=λv(Lvl+Lvr)+mMλa,m(N1pΩ(μml(p)La,ml(p)+μmr(p)La,mr(p)))+mMλs,m(N1pΩ(μml(p)Ls,ml(p)+μmr(p)Ls,mr(p)))(12)

对于可靠的材料,对齐和平滑项依然使用公式(3)和公式(4);对于不可靠的材料使用置信度加权平滑损失函数。

接下来描述如何根据 μ m l , μ m r \mu^l_m,\mu^r_m μml,μmr计算公式(11)中的置信度c。

4.3 不可靠材料损失项示例

定义不可靠材料 M U = { ′ 光 源 ′ , ′ 玻 璃 ′ , ′ 光滑表 面 ′ } \mathcal{M}^U=\{'光源','玻璃','光滑表面'\} MU={,,光滑表},同时给出它们的损失项。

⭐️光源

驾驶场景中的尾灯、刹车灯、公交路线指示灯和车头灯等光源会导致不可靠匹配。

  • 对齐损失项:光源部分在RGB和NIR图像中的大小不一致,本身就没有对齐,因此计算对齐损失意义不大,所以设对齐损失项 L a , l i g h t l = 0 L^{l}_{a,light}=0 La,lightl=0

  • 平滑损失项:假设光源区域和临近非光源区域的视差一致,置信度 c l = 1 − μ l i g h t l c^l=1-\mu^l_{light} cl=1μlightl,光滑损失项有:

L s , l i g h t l = L c s ( d l , 1 − μ l i g h t l ) (13) L^l_{s,light}=L_{cs}(d^l,1-\mu^{l}_{light}) \tag{13} Ls,lightl=Lcs(dl,1μlightl)(13)

⭐️ 玻璃

玻璃既能反射也能透射

figure6
  • 对齐损失项:同样的,玻璃在RGB和NIR图像中也是不对齐的,因此令 L a , g l a s s l = 0 L^{l}_{a,glass}=0 La,glassl=0

  • 平滑损失项:像上面的图中显示的,普通材料通过玻璃反射或者透射的距离都要比实际距离要大。因此,可以在相近的场景中,分配更高的置信度给视差较大的区域。假设玻璃材料只由’玻璃‘,’光滑面‘和’普通材料‘支撑,它的置信度 c l = ( μ c o m m o n l + μ g l a s s l + μ g l o s s y l ) e d l σ c^l=(\mu^l_{common}+\mu^l_{glass}+\mu^l_{glossy})e^{\frac{d^l}{\sigma}} cl=(μcommonl+μglassl+μglossyl)eσdl,那么平滑损失项为:

L s , g l a s s l = L c s ( d l , ( μ c o m m o n l + μ g l a s s l + μ g l o s s y l ) e d l σ ) (14) L^l_{s,glass}=L_{cs}(d^l,(\mu^l_{common}+\mu^l_{glass}+\mu^l_{glossy})e^{\frac{d^l}{\sigma}}) \tag{14} Ls,glassl=Lcs(dl,(μcommonl+μglassl+μglossyl)eσdl)(14)

深度与视差成反比,视差越大深度越小,因此置信度越大, σ = 0.005 \sigma=0.005 σ=0.005是超参数。

⭐️ 光滑表面

光滑表面具有很复杂的光谱反射。

  • 对齐损失项:考虑到它依然有许多可靠的匹配,故采用普通材料的对齐损失项,也就是公式(3)

  • 平滑损失项:由于反射的场景具有更小的视差,采用玻璃材料的平滑损失项,也就是公式(14)。

5.RGB-NIR立体数据集

  • 硬件参数:一个RGB相机和一个NIR相机组成基线为56mm的车载立体系统,分辨率为1164×858

  • 曝光条件:在20Hz的自动曝光算法中,在短、中、长曝光之间交替进行。三种曝光水平均匀分布。

  • 数据量:一共13.7h,被分为12个视频。

  • 拍摄场景:校园路,高速公路,乡下,公园和住宅区;包括晴天,多云和夜晚;同时包括多种材料,如光源,玻璃,光滑表面,植物,皮肤,衣服和背包等。

  • 拍摄条件:70%的数据都是在可靠的GPS和车辆状态(速度、车辆姿态、转向半径和行驶距离)下采集的。

在实验中,所有的图片分辨率被缩放到582×429

  • 标签:在中间曝光图像的子集添加材料和视差标签;3600帧标有8类材料分割标签;在所有8种材料的2000个测试图像上的5030个稀疏点有视差标签。

  • 分组:视频分为两组,用于训练(8个视频)和测试(4个视频)。

没有使用深度传感器,因为它们经常在玻璃和光源上失效。

6.实验结果

⭐️ 参数

DPN预测视差和图像宽度之间的比率。缩放因子为 η \eta η

  • DPN的 η = 0.008 \eta=0.008 η=0.008

  • STN的 η = 1 3 \eta=\frac{1}{3} η=31

对于所有的材料,视图一致性权重和对齐权重分别是:

  • λ v = 2 \lambda_{v}=2 λv=2

  • λ a = 1 \lambda_{a}=1 λa=1

对于平滑权重 λ s \lambda_{s} λs

光源玻璃光滑表面其他
300010008025

⭐️ 训练与测试

  • DeepLab网络先在ImageNet,COCO和Pascal VOC数据集上训练,再进行微调。

  • DPN和STN使用Adam优化器从40000个中等曝光的图像中训练网络。

批次为16,学习率为0.00005;
前4轮训练不使用材料感知损失;之后使用材料感知损失至少训练12轮;
测试只需要使用DPN;
负视差直接置为0;

⭐️ 对比方法

  • CMA

  • ANCC

  • DASC

在DASC中,SIFT流搜索受对极几何约束,来获得整个图像的视差。

对比指标包括:视差均方根误差,执行时间和定性结果。

  • 定量结果
table1
  • 定性结果
figure7_1 figure7_2 figure7_3

⭐️ 消融实验

尝试3种网络结构:

  • 只有RGB作为DPN的输入

  • RGB三通道图像取平均作为STN

  • STN中使用对称CNN

table

“w/o"表示"without”
表2显示,总体而言,完整方法优于其他选择
表2还显示了置信度平滑是有用的。

figure8

表2和图8显示忽略光源、玻璃或光滑表面将会在这些区域预测失败,在其他材料上也有小的波动。这意味着特定材料损失发挥了它的作用。

7.总结与讨论

  • 提出了一种基于深度学习的无深度监督跨光谱立体匹配方法

  • 同时预测视差并将RGB图像转换为NIR图像。

  • 利用对称CNN来分离几何和光谱差异。

  • 引入材料感知和置信度加权平滑度来处理由光源、玻璃和光滑表面引起的问题。

  • 建立了一个具有挑战性案例的大型RGB-NIR立体数据集进行评估。

我们的方法优于比较的方法,特别是在具有挑战性的材料上,尽管它在一些具有较大的光谱差异的服装、阴影边缘和暗噪声区域上效果不好。

figure9

重新设计损失函数可能有助于解决这些问题。未来,可以把工作扩展到其他光谱(SWIR、MWIR、热光谱)和从移动消费设备获得的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022 年度回忆

2022 年度回忆 过了今天就是2023年了,记录一下在这一年里发生的点点滴滴吧。 年度总结2022 年度回忆1.石家庄实习2.准备秋招,然后去沈阳实习3.回学校4.来北京实习了总结今年大体且分为四条故事线 1.22年上半年石家庄实习 2.实习结束回家准备秋招&#…

句子表征(各项异性等偏差):PromptBERT: Improving BERT Sentence Embeddings with Prompts

一、核心 句子表征存在不足之处,可能面临各向异性、可能受到词频的影响、可能受到子词、大小写等的影响等等。 Gao et al.(2019)和Wang et al.(2020)指出,对于语言建模,使用最大似然训练通常会产生一个各向异性的词嵌入空间。“各向异性”是…

BabaSSL:支持半同态加密算法 EC-ElGamal

01 背 景 随着大数据与人工智能的快速发展,个人隐私数据泄露和滥用时有发生,隐私安全问题也越来越被重视。 国家于 2020 年施行密码法、2021 年施行个人信息保护法,对个人隐私数据和数据安全加密有更高的要求。 因此,隐私计算也…

2022年博客之路总结

今年是不平凡的一年,IT行业 开卷 的一年,今年大多数人 都 因种种原因 被迫换了工作,再次 先感谢CSDN 这个平台,在这里 给自己了一块可以展示自己才华的空间,通过CSDN平台的各项运营数据,让我有幸 拿到了 更…

flv.js播放flv视频

flv.js是FLV视频播放器&#xff0c;纯JS开发&#xff0c;无需Flash。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport"…

【虚幻引擎UE】UE5 制作一个元旦烟花短视频的小案例(使用sequence制作视频案例)

祝愿大家元旦快乐&#xff01; 效果预览 一、创建粒子烟花特效 可以使用现成的Niagara烟花粒子特效&#xff0c;直接跳过这一步。 1、 通过Niagara系统创建粒子特效 选择现有发射器素材。 或者也可新建空白特效&#xff0c;将发射器拖入轨道&#xff08;素材包含闪光、拖…

基于TP6+Uni-app框架开发的多端圈子社区论坛小程序H5系统,带数据库和安装教程

正文&#xff1a; 前台uni-app后台tp6开发的多端圈子社区论坛小程序H5系统,带数据库和安装教程。 系统基于TP6Uni-app框架开发&#xff1b;客户移动端采用uni-app开发&#xff0c;管理后台TH6开发。 系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步&#xff0c…

CSDN的2022和2023

前言 今天是2022年12月31日&#xff0c;今年的最后一天&#xff0c;年关已至。 又到了&#xff1a;回头看路&#xff0c;低头赶路&#xff0c;抬头望路的时候。 回顾2022 疫情中的2022 今年应该算是疫情的高峰期吧&#xff0c;各种新冠变异株横行&#xff0c;从严控到一夜…

Day845.Fork/Join -Java 并发编程实战

Fork/Join Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于Fork/Join的内容。 线程池、Future、CompletableFuture 和 CompletionService&#xff0c;仔细观察会发现这些工具类都是在帮助站在任务的视角来解决并发问题&#xff0c;而不是让纠缠在线程之间如何协作的…

深度学习:05 卷积神经网络介绍(CNN)

目录 卷积神经网络简介 为什么要用卷积神经网络 网络结构组成 卷积层 卷积计算 卷积核大小 f 边界填充 (p)adding 步长 (s)tride 计算公式 卷积层 激活函数 池化层&#xff08;pooling&#xff09; dropout层 全连接层 卷积神经网络简介 卷积神经网络由一个或多个…

DoIP协议从入门到精通系列——车载网络安全

现代社会慢慢步入数字时代,在这个时代,网络安全已经成为最重要的关注点。自从1980年第一次出现电脑病毒,网络威胁和攻击持续不断,给社会(经济)带来巨大影响。随着汽车的数字化和互联化发展,自然而然会联想到汽车也将为成为黑客攻击的目标。导致的问题除了单纯的不便(攻…

数据结构 | 十大排序超硬核八万字详解【附动图演示、算法复杂度性能分析】

写在前面 2023年的第一篇博客&#xff0c;在这里先祝大家兔年快乐&#x1f430; 本文从学习到搜寻各种资料&#xff0c;整理成博客的形式展现足足花了一个月的时间&#xff0c;慢工出细活&#xff0c;希望本篇文章可以真正带你学懂排序&#xff0c;不再为写排序算法而苦恼 博主…

MQTT协议的工作原理

一、MQTT概述 MQTT由IBM的Andy Stanford-Clark博士和Arcom&#xff08;现为Eurotech&#xff09;的Arlen Nipper于1999年发明。 MQTT 是物联网 &#xff08;IoT&#xff09; 最常用的消息传递协议。MQTT 代表 MQ 遥测传输。该协议是一组规则&#xff0c;用于定义物联网设备如何…

二叉树16:找树左下角的值

主要是我自己刷题的一些记录过程。如果有错可以指出哦&#xff0c;大家一起进步。 转载代码随想录 原文链接&#xff1a; 代码随想录 leetcode链接&#xff1a;513.找树左下角的值 题目&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边…

Android每周一轮子:Nvwa(热修复)

前言 &#xff08;废话&#xff09; 最近发现了一个问题&#xff0c;一些平时博客写的很多的程序员&#xff0c;反倒在日常的工作中&#xff0c;却是业务写的很一般&#xff0c;只会摆理论的人&#xff0c;甚至还跑出来教别人如何找工作&#xff0c;如何做架构&#xff0c;其实…

2022年终总结:少年不惧岁月长,彼方尚有荣光在。

2022年终总结&#xff1a;少年不惧岁月长&#xff0c;彼方尚有荣光在。 &#x1f3ac; 博客主页&#xff1a;王同学要努力 &#x1f3ac;个人简介&#xff1a;大三小白&#xff0c;喜欢前端 &#xff0c;热爱分享 &#x1f3a5; 本文由 王同学要努力 原创&#xff0c;首发于…

Eureka 注册中心

Eureka 注册中心目录概述需求&#xff1a;设计思路实现思路分析1.快速上手2.增加 Maven 依赖3.Client端配置注册中心Server端配置注册中心参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip ha…

R 语言 管道操作符

背景 关于代码的简洁性,就是你使用了比较简化的高级操作符,但是有时候会增加代码的可读性。这种可读性在于你是否真正的去了解R的高级语法。你了解高级语法,他就不难,你不了解,他就难,可读性差。 这里我们来讲解一下,关于管道操作符,使R语言编程简化一些。 管道操作…

【登录流程执行逻辑】

1)整体流程图 2.main.js是入口&#xff0c;里面require("permission")时会触发方法体 在进行require("权限时")&#xff0c;会进行一系列初始化。 重定向。 接着走login方法。 vuex其实就是store。 触发vuex里面的方法: await store.dispatch(user/getInf…

CDN消耗速度太快,解决办法

前段时间发现我网站的CDN消耗速度太快了&#xff0c;20多块钱100G的流量&#xff0c;半个月甚至十几天左右都消耗完了。 于是我看CDN的访问ip并不多&#xff0c;发现大部分消耗的都是静态资源&#xff0c;js等文件。 后来找到了解决办法&#xff0c;目前100G还有这么多 方法 …