论文阅读《DPS-Net: Deep Polarimetric Stereo Depth Estimation》

论文地址:https://openaccess.thecvf.com/content/ICCV2023/html/Tian_DPS-Net_Deep_Polarimetric_Stereo_Depth_Estimation_ICCV_2023_paper.html


概述

  立体匹配模型难以处理无纹理场景的匹配,现有的方法通常假设物体表面是光滑的,或者光照是受控的,这些条件在实际场景中很难满足,只适用于物体级别的重建或者特定的拍摄环境。此外,这些方法还难以处理偏振图像中表面法向的固有歧义性,例如方位角和天顶角的歧义性(指从偏振图像中恢复表面法向量时,由于不同的反射类型和非线性方程的影响,可能存在多个解,导致法向量的方位角和天顶角不唯一),这些歧义性需要依赖于预先计算的粗糙深度或者已知的反射类型来解决。
  针对这些问题,文中提出DPS-Net来基于先验几何知识与偏振立体知识用于估计两幅偏振立体图像的深度。通过构建RGB与偏振匹配代价体分别提取RGB与偏振域的匹配知识。针对立体匹配中的固有歧义问题,文中引入一种等深度代价体用于解决无纹理区域的匹配模糊性,该代价体是一种利用偏振信息和几何约束来消除方位角歧义的方法,它基于等深度轮廓与法向量方位角分量正交的性质,通过计算偏振图像中的偏振角和方位角之间的差异,构建一个统一的代价函数,同时考虑了漫反射和镜面反射的情况。此外,文中提出一种级联双GRU结构将极化的等深度约束和多域的视觉相似度融合起来,通过递归地回归和优化视差,处理了极化信息中固有的方位角和天顶角的歧义,用于迭代更新视差图与有效地融合多源的关联特征与等深度代价。在合成和真实数据集中的实验结果表明,该方法达到了SOTA水准。


背景知识

  偏振光图像是指用不同的偏振角度拍摄的一组图像,它们可以反映物体表面的法向信息,有助于纹理缺乏的场景的匹配。偏振光是指光波的振动方向只沿着一个平面的光,它可以通过一个偏振片来产生或筛选,偏振片是一种只允许特定方向的偏振光通过的光学器件,它可以通过旋转来改变偏振角度。光波是一种横波,即光波的振动方向和传播方向垂直。根据横波的性质,不同偏振角度的偏振光图像的亮度会有不同的变化,这种变化与物体表面的法向量有关。偏振光图像的亮度和偏振角之间的关系可以用一个余弦函数来表示:
I ( ϕ c ) = I max ⁡ cos ⁡ 2 ( ϕ c − ϕ ) + I min ⁡ sin ⁡ 2 ( ϕ c − ϕ ) , = I ˉ + ρ I ˉ cos ⁡ ( 2 ϕ c − 2 ϕ ) , (1) \begin{aligned} I\left(\phi_{c}\right)& =I_{\max}\cos^2\left(\phi_c-\phi\right)+I_{\min}\sin^2\left(\phi_c-\phi\right), \\ &=\bar{I}+\rho\bar{I}\cos\left(2\phi_c-2\phi\right), \end{aligned}\tag{1} I(ϕc)=Imaxcos2(ϕcϕ)+Iminsin2(ϕcϕ),=Iˉ+ρIˉcos(2ϕc2ϕ),(1)
其中 ϕ c ϕ_c ϕc是偏振角, ϕ ϕ ϕ是物体表面的偏振角, ρ ρ ρ是物体表面的偏振度, I I I是物体表面的亮度, I m i n , I m a x , I ˉ = ( I m i n + I m a x ) / 2 I_{min}, I_{max}, \bar{I} = (I_{min}+I_{max})/2 Imin,Imax,Iˉ=Imin+Imax/2 为物体表面的最小亮度,最高亮度与平均亮度。最大亮度和最小亮度是指在不同的偏振角度下,偏振光图像的亮度的最大值和最小值。平均亮度是指最大亮度和最小亮度的平均值,反映了物体表面的总体亮度。偏振角是指使偏振光图像达到最大亮度的偏振角度,它与物体表面的法向量有关,可以用于计算物体表面的法向角。偏振度是指最大亮度和最小亮度之间的相对差异,它反映了物体表面的偏振特性,可以用于判断物体表面的反射类型。这个方程可以用于从偏振光图像中计算出物体表面的偏振角和偏振度,进而推导出物体表面的法向量.
  当光线从空气射到物体表面时,会发生反射和折射,反射光会部分地偏振,即光波的振动方向只沿着一个平面。反射光的偏振程度和方向取决于物体表面的法向量和反射类型。反射类型分为漫反射和镜面反射,漫反射是指光线在物体表面的微小凹凸处发生多次反射,镜面反射是指光线在物体表面的平滑处发生一次反射。一般情况下,每个像素处的反射类型是由物体表面的材质和光照条件决定的。偏振度 ρ ρ ρ,偏振角 ϕ ϕ ϕ,天顶角 θ θ θ和方位角 φ φ φ是描述偏振光图像的几个重要参数。偏振度是指反射光的偏振程度,偏振角是指反射光的偏振方向,天顶角是指物体表面的法向量与视线方向的夹角,方位角是指物体表面的法向量在水平面上的投影与水平基准方向的夹角。根据物理原理,偏振度,偏振角,天顶角和方位角之间存在一定的关系,这些关系可以用数学方程来表示:
ρ d = ( η − 1 / η ) 2 sin ⁡ 2 θ 2 + 2 η 2 − ( η + 1 / η ) 2 sin ⁡ 2 θ + 4 cos ⁡ θ η 2 − sin ⁡ 2 θ ϕ d = φ o r ϕ d = φ + π , , (2) \begin{gathered}\rho_d=\frac{(\eta-1/\eta)^2\sin^2\theta}{\begin{aligned}2+2\eta^2-(\eta+1/\eta)^2\sin^2\theta+4\cos\theta\sqrt{\eta^2-\sin^2\theta}\\\phi_d=\varphi\mathrm{~or~}\phi_d=\varphi+\pi,\end{aligned}},\end{gathered}\tag{2} ρd=2+2η2(η+1/η)2sin2θ+4cosθη2sin2θ ϕd=φ or ϕd=φ+π,(η1/η)2sin2θ,(2)
其中 η \eta η 为表面材料的折射率,对镜面反射,有:
ρ s = 2 sin ⁡ 2 θ cos ⁡ θ η 2 − sin ⁡ 2 θ η 2 − sin ⁡ 2 θ − η 2 sin ⁡ 2 θ + 2 sin ⁡ 4 θ , ϕ s = φ ± π 2 . (3) \begin{gathered}\rho_s=\frac{2\sin^2\theta\cos\theta\sqrt{\eta^2-\sin^2\theta}}{\eta^2-\sin^2\theta-\eta^2\sin^2\theta+2\sin^4\theta},\\\phi_s=\varphi\pm\frac\pi2.\end{gathered}\tag{3} ρs=η2sin2θη2sin2θ+2sin4θ2sin2θcosθη2sin2θ ,ϕs=φ±2π.(3)
通过求解上述方程中的方位角和天顶角,可以估算出表面法线,而由于未知的反射类型和非线性方程,方位角和天顶角都存在多解,这也被称为方位角模糊性和天顶角模糊性。

模型架构

在这里插入图片描述
  如图1所示,整体模型可以划分为4个步骤:(1)分别从RGB与偏振立体图像提取特征。(2)分别使用RGB与偏振立体特征构建匹配代价体。(3)根据偏振信息约束计算等深。(4)将相关性代价体与等深代价送入GRU单元中不断迭代更新视差图。

Multi Domain Feature and Correlation Volume 多源特征与相关性代价体

特征提取:分别使用特征提取模块从RGB立体图像与偏振立体图像中提取维度为256的特征图。RGB图像特征在不同的光照条件下提供了更一致的上下文信息,而偏振图像特征可能受到噪声的干扰。RGB图像在不同的光照条件下提供了更一致的上下文信息,而极化图像可能受到噪声的干扰。因此,文中选择了RGB图像特征作为上下文特征的来源,以保证上下文信息的一致性。
相关性代价体:参考RAFT构建相关代价体,在纹理缺失和特征稀疏的情况下,利用偏振信息作为RGB信息的补充,从而提高立体匹配的效果:
I C i j k = ∑ h f i j h I ⋅ g i k h I , I C ∈ R H × W × W , P C i j k = ∑ h f i j h P ⋅ g i k h P , P C ∈ R H × W × W , (4) \begin{aligned}\mathbf{IC}_{ijk}&=\sum_h\mathbf{f}_{ijh}^I\cdot\mathbf{g}_{ikh}^I,\quad\mathbf{IC}\in\mathbb{R}^{H\times W\times W},\\\mathbf{PC}_{ijk}&=\sum_h\mathbf{f}_{ijh}^P\cdot\mathbf{g}_{ikh}^P,\quad\mathbf{PC}\in\mathbb{R}^{H\times W\times W},\end{aligned}\tag{4} ICijkPCijk=hfijhIgikhI,ICRH×W×W,=hfijhPgikhP,PCRH×W×W,(4)
其中, I C i j k \mathbf{IC}_{ijk} ICijk 表示RGB相关代价体, P C i j k \mathbf{PC}_{ijk} PCijk 为偏振相关代价体。分别对RGB代价体与偏振代价体下采样得到4层的代价体金字塔。

Iso-Depth Cost and Ambiguity Solver 等深代价与模糊匹配

法线的等深约束:等深度轮廓与轮廓上点的法向量的方位角分量正交。通过对深度求导并用视差代替深度可以得到方位角的近似表示: tan ⁡ ( φ ) = f y f x ( d  0 , − 1 − d  0 , 1 ) ( d  − 1 , 0 + d  1 , 0 ) ( d  − 1 , 0 − d  1 , 0 ) ( d  0 , − 1 + d  0 , 1 ) , (5) \tan(\varphi)=\frac{f_y}{f_x}\frac{(\text{d }_{0,-1}-\text{d }_{0,1})(\text{d }_{-1,0}+\text{d }_{1,0})}{(\text{d }_{-1,0}-\text{d }_{1,0})(\text{d }_{0,-1}+\text{d }_{0,1})},\tag{5} tan(φ)=fxfy(1,01,0)(0,1+0,1)(0,10,1)(1,0+1,0),(5)
其中 d i , j d_{i,j} di,j 为像素点 P ( u , v ) P(u,v) P(u,v)的邻域像素 P ( u + i , v + j ) P(u+i,v+j) P(u+i,v+j) f f f为焦距。

等深偏振代价:如上文所述,文中构建了一个统一的等深度代价,来显式地利用偏振的几何约束,并处理方位角φ和线偏振角 ϕ ϕ ϕ之间的 π − π- π歧义和 π / 2 − π/2- π/2歧义。文中提出的等深度代价 C ( φ ) C(φ) C(φ)通过最小化算子将镜面反射和漫反射下的方位角代价进行了整合。此外,反射类型的歧义 R ( φ ) R(φ) R(φ)可以由以下方式解决:
C s ( φ ) = [ s i n ( ϕ ) s i n ( φ ) + c o s ( ϕ ) c o s ( φ ) ] 2 , C d ( φ ) = [ s i n ( ϕ ) c o s ( φ ) − c o s ( ϕ ) s i n ( φ ) ] 2 , C ( φ ) = min ⁡ { C s ( φ ) , C d ( φ ) } , R ( φ ) = arg ⁡ min ⁡ { C s ( φ ) , C d ( φ ) } , (6) \begin{aligned} &\mathbf{C}_{s}(\varphi)=\left[sin\left(\phi\right)sin\left(\varphi\right)+cos\left(\phi\right)cos\left(\varphi\right)\right]^{2}, \\ &\begin{aligned}\mathbf{C}_d(\varphi)=\left[sin\left(\phi\right)cos\left(\varphi\right)-cos\left(\phi\right)sin\left(\varphi\right)\right]^2,\end{aligned} \\ &\mathbf{C}(\varphi)=\min\left\{\mathbf{C}_s(\varphi),\mathbf{C}_d(\varphi)\right\}, \\ &\begin{aligned}\mathbf{R}(\varphi)=\arg\min\left\{\mathbf{C}_s(\varphi),\mathbf{C}_d(\varphi)\right\},\end{aligned} \end{aligned}\tag{6} Cs(φ)=[sin(ϕ)sin(φ)+cos(ϕ)cos(φ)]2,Cd(φ)=[sin(ϕ)cos(φ)cos(ϕ)sin(φ)]2,C(φ)=min{Cs(φ),Cd(φ)},R(φ)=argmin{Cs(φ),Cd(φ)},(6)
其中, C d C_d Cd C s C_s Cs分别表示漫反射和镜面反射的代价。
虚拟视差和虚拟相关特征:为了抑制偏振噪声引起的代价扰动,并充分利用偏振提供的等深度约束,文中根据等深度代价计算虚拟视差,并生成相应的虚拟相关特征。虚拟视差和虚拟相关特征可以用于优化GRU中的视差细化,优化GRU是双GRU架构的一部分。为了区分不同的视差,文中将在更新块中不断更新的视差称为实际视差 d a d_a da,把根据等深度代价的梯度和迭代更新的步长 α α α计算的视差称为虚拟视差 d v d_v dv。虚拟视差的计算公式如下:

d v = d a − α ∇ d C ( φ , d ) . (7) d_v=d_a-\alpha\nabla_d\mathbf{C}(\varphi,d).\tag{7} dv=daαdC(φ,d).(7)

Hybrid GRU-based Update Operator 混合GRU更新单元

   文中使用混合GRU单元来挖掘多源信息并更新视差图。如图2所示:
在这里插入图片描述
   多源上下文信息与集合信息被送入到更新块中融合,并基于两个关联代价体金字塔提取多源相似性视觉特征 。最后,将真实与虚拟视觉相关特征送入双GRU单元循环优化视差结果。此外,虚拟视差和相关的虚拟相关特征是根据等深度代价生成的,用于间接地指导优化过程。
级联双GRU结构:文中作者提出级联的双GRU结构用于融合等深代价与视觉相似性。级联的双GRU架构由一个回归GRU和一个优化GRU组成。在回归GRU中,视差由实际视差的多域相关特征回归计算得到,这些特征利用了RGB和偏振图像的相似性,为后续的优化提供了一个初始预测。在优化GRU中,等深度代价直接作为输入并通过虚拟相关特征以一种间接的方式融入。优化GRU融合了几何约束,并进一步纠正了视差。
  文中基于虚拟相关特征来引入等深度代价,而不是直接用代价梯度计算的增量来更新视差,这样可以避免传统优化过程中的以下困难:(1)将与上下文信息耦合的匹配问题显式地转化为优化问题。(2)由于优化问题的严重非凸性带来的优化难问题。考虑到以上的难点,文中引入一个混合优化GRU避免模型在局部收敛与抑制偏振噪声的影响。此外,级联方案可以很好地平衡视觉相似性和几何约束。通过回归和优化的级联范式,在不同的迭代中逐渐细化视差。

多源输入:基于多域信息来构造GRU的输入。级联的双GRU架构中的两个GRU的输入不同。回归GRU的输入是实际视差的多域相关特征,利用了RGB和偏振图像的相似性,为后续的优化提供了一个初始预测。优化GRU的输入是虚拟视差的多域相关特征,利用了偏振图像中的等深度代价来指导视差优化。在将多域相关特征输入到GRU之前,使用两层卷积组成的编码器分别对多域输入进行处理。最后,将多域相关特征和其他编码特征拼接后输入GRU单元,如图2所示。
更新:GRU更新单元用来循环地更新视差和代价步长。该模块包括两个GRU(门控循环单元),分别是回归GRU和优化GRU。回归GRU和优化GRU都有一个隐藏状态,隐藏状态会根据编码后的混合输入不断地更新。通过不同的头网络,可以从隐藏状态中解码出视差增量和优化步长。最后基于新的增量来更新视差,并通过上采样操作来恢复全分辨率的视差图。


损失函数

L = ∑ i = 1 N γ N − i ∥ d g t − d i ∥ 1 . (8) \mathbf{L}=\sum_{i=1}^N\gamma^{N-i}\left\|d_{gt}-d_i\right\|_1.\tag{8} L=i=1NγNidgtdi1.(8)


实验结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
a
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

express中实现将mysql中的数据导出为excel

express中实现将mysql中的数据导出为excel 安装node-excel cnpm install node-xlsx -S封装公用的导出方法 /*** 查询* param tableName: 表名* param sqlJson&#xff1a;需要拼接的SQL* returns {Promise<unknown>}*/ const find (tableName, sqlJson) > {return…

Linux——权限

个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 一、 Linux下用户的分类 Linux下有两种用户&#xff1a; 1. root&#xff08;超级管理员用户…

基于FPGA的HDMI编码模块设计(包含工程源文件)

前文已经通过FPGA实现了TMDS视频编码的算法&#xff0c;也对单沿数据采样转双沿数据采样的ODDR原语做了详细讲解和仿真验证&#xff0c;本文将这些模块结合&#xff0c;设计出HDMI编码模块&#xff0c;在HDMI接口的显示器上显示一张图片。 1、整体思路 如图1所示&#xff0c;是…

Github 2023-12-18 开源项目周报 Top14

根据Github Trendings的统计&#xff0c;本周(2023-12-18统计)共有14个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量TypeScript项目4Python项目4Jupyter Notebook项目3非开发语言项目1JavaScript项目1Rust项目1Go项目1 基于项目…

【5G PHY】5G小区类型、小区组和小区节点的概念介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

前后端传参中遇见的问题

前后端传参经常容易出错&#xff0c;本文记录开发springBootMybatis-plusvuecli项目中出现的传参问题及解决办法 1.前后端没有跨域配置&#xff0c;报错 解决方法&#xff1a;后端进行跨域配置&#xff0c;拷贝CorsConfig类 package com.example.xxxx.config;import org.spr…

web服务器之——基于虚拟目录和用户控制的web网站

目录 一、虚拟目录 虚拟目录的作用&#xff1a; 二、搭建基于虚拟目录的web网站 1、www服务器配置 2、搭建静态网站 设置防火墙状态 关闭文件访问权限——SeLinux 3、编辑网页资源文件 4、设置虚拟目录 5、向虚拟目录中写入资源 6、重启httpd 三、搭建基…

Flink系列之:监控反压

Flink系列之&#xff1a;监控反压 一、反压二、Task 性能指标三、示例四、反压状态 Flink Web 界面提供了一个选项卡来监控正在运行 jobs 的反压行为。 一、反压 如果你看到一个 task 发生 反压警告&#xff08;例如&#xff1a; High&#xff09;&#xff0c;意味着它生产数…

什么是缓存击穿、缓存穿透、缓存雪崩?

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

postman脚本生成可执行文件(6)

一.通过Python脚本&#xff08;executescript.py&#xff09;执行newman指令 #!usr/bin/python import subprocess from datetime import datetimeclass Newman_automate():Newman_automate():该类主要是定义postman脚本执行__path:cmd命令行中执行newnan脚本指令&#xff08;…

C语言—每日选择题—Day50

一天一天的更新&#xff0c;也是达到50天了&#xff0c;精选的题有250道&#xff0c;博主累计做了不下500道选择题&#xff0c;最喜欢的题型就是指针和数组之间的计算呀&#xff0c;不知道关注我的小伙伴是不是一直在坚持呢&#xff1f;文末有投票&#xff0c;大家可以投票让博…

[Big Bird]论文解读:Big Bird: Transformers for Longer Sequences

文章目录 1 介绍2 模型架构3 结果 论文&#xff1a;Big Bird: Transformers for Longer Sequences 作者&#xff1a;Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Am…

【数据结构】树状数组总结

知识概览 树状数组有两个作用&#xff1a; 快速求前缀和 时间复杂度O(log(n))修改某一个数 时间复杂度O(log(n)) 例题展示 1. 单点修改&#xff0c;区间查询 题目链接 活动 - AcWing本活动组织刷《算法竞赛进阶指南》&#xff0c;系统学习各种编程算法。主要面向…

关于“Python”的核心知识点整理大全24

目录 ​编辑 10.1.6 包含一百万位的大型文件 pi_string.py 10.1.7 圆周率值中包含你的生日吗 10.2 写入文件 10.2.1 写入空文件 write_message.py programming.txt 10.2.2 写入多行 10.2.3 附加到文件 write_message.py programming.txt 10.3 异常 10.3.1 处理 Ze…

es6学习(一):变量声明的方式对比:var,let,const

前言 在let和const出现之前,js可以使用var为变量命令,如果是函数也可以用function命名,甚至你可以直接不用任何关键字命名 var a 1function fn() { }b 2console.log(a)console.log(fn)console.log(b) 结果如下 var的特性 1.window环境下,var在最外层定义的变量会直接赋值给…

【JVM从入门到实战】(八)垃圾回收(1)

内存泄漏&#xff1a;指的是不再使用的对象在系统中未被回收&#xff0c;内存泄漏的积累可能会导致内存溢出 什么是垃圾回收 Java中为了简化对象的释放&#xff0c;引入了自动的垃圾回收&#xff08;Garbage Collection简称GC&#xff09;机制。通过垃 圾回收器来对不再使用的…

力扣刷题-二叉树-平衡二叉树

110 平衡二叉树 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a;一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 给定二叉树 [1…

音画欣赏|《红尘入戏》

《红尘入戏》 46X68cm 陈可之2023年绘 《秋月》 【宋】朱熹 清溪流过碧山头&#xff0c;空水澄鲜一色秋。 隔断红尘三十里&#xff0c;白云红叶两悠悠。 《白日偶无客青山长对门》其四 【宋】韩淲 人生等戏剧&#xff0c;衮衮徒区区。 老身其回头&#xff0c;今有古非无。 -…

Kafka相关知识

一、kafka架构 Kafka基础知识 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、分区的、多副本的、多生产者、多订阅者&#xff0c;基于zookeeper协 调的分布式日志系统(也可以当做MQ系统)&#xff0c;常见可以用于webynginx日志、访问日志&#xff0c;消息服务等等&…

Arma3/武装突袭3东风战役最后一关游戏无法保存的解决办法

Arma3这个游戏玩进去还是非常有可玩性的&#xff0c;可是在玩过了它本体自带的东风系列战役后&#xff0c;在最精髓的最后一关——game over这个关卡&#xff0c;却有个非常头疼的问题。 逃跑其实是非常简单的&#xff0c;但是想要无伤环游全岛确十分困难&#xff0c;因为这关卡…