论文阅读《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.mfbz.cn/a/243034.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式(2)--对象创建(4)--原型

1. 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2. 两种角色 抽象原型(Prototype)、具体原型(Concrete Prototype) 3. 优点 3.1 对客户隐藏了具体的产品类 3.2 可以在运行时刻增加和删除产品 3.3 可以极大地减少系统所需要的类的数目 …

Weblogic-CVE-2023-21839

一、漏洞概述 RCE漏洞,该漏洞允许未经身份验证的远程,通过T3/IIOP协议网络访问并破坏WebLogic服务器,成功利用此漏洞可导致Oracle WebLogic服务器被接管,通过rmi/ldap远程协议进行远程命令执行,当 JDK 版本过低或本地存在小工具&…

@Scheduled任务调度/定时任务-非分布式

1、功能概述 任务调度就是在规定的时间内执行的任务或者按照固定的频率执行的任务。是非常常见的功能之一。常见的有JDK原生的Timer, ScheduledThreadPoolExecutor以及springboot提供的Schduled。分布式调度框架如QuartZ、Elasticjob、XXL-JOB、SchedulerX、PowerJob等。 本文…

出现 ‘mvn‘ 不是内部或外部命令,也不是可运行的程序或批处理文件 的解决方法

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 下载了Maven,也配置了环境,在环境变量中配置MAVEN_HOME,在用户变量中配置了bin变量 具体如下所示: 用户变量的配置: 结果显示如下所示: 2. 原理分析 HOME变量中会具体到jre变量,如果在用户变量中配置,jre可能…

SpringBoot+Vue3前后端快速整合入门

前言 最近需要维护一个个人项目,由于笔者是一个大后端,所以借此机会把前端学习过程记录一下,方便后续回顾。 前端项目初始化 安装npm 在前端项目初始化时,我们必须要安装好node,官网地址如下,因为笔者后…

数据结构实验任务八:排序算法的实现与分析

问题描述 统计成绩:给出 n 个学生的考试成绩表,每条信息由姓名和分数组成,试设 计一个算法: 1.按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同 一名次; 2.按名次列出每个学生…

36V/48V转12V 10A直流降压DC-DC芯片-AH1007

AH1007是一款36V/48V转12V 10A直流降压(DC-DC)芯片,它是一种高性能的降压变换器,常用于工业、汽车和电子设备等领域。 AH1007采用了先进的PWM调制技术和开关电源控制算法,能够高效地将输入电压从36V/48V降低到12V&…

【Spark精讲】Spark内存管理

目录 前言 Java内存管理 Java运行时数据区 Java堆 垃圾回收机制 Executor内存管理 内存类型 堆内内存 堆外内存 内存管理模式 静态内存管理 统一内存管理 ​编辑 执行内存管理 多任务间内存分配 Shuffle 的内存占用 MemoryOverHead详解 任务内存调节 错误类型…

TCP/IP 四层体系结构

目录 ​编辑 导言: 应用层 1. HTTP(超文本传输协议) 2. FTP(文件传输协议) 3. SMTP(简单邮件传输协议) 4. POP3(邮局协议第3版) 5. IMAP(互联网消息访…

群晖(Synology)新建存储池使用 Home 服务

每一个用户都可以有一个自己的 Home 服务。 这个在群晖存储新建存储池后可以自动启用这个服务。 启用后,可以看到你的文件系统中有一个 homes 的文件了。 群晖(Synology)新建存储池使用 Home 服务 - 系统容器 - iSharkFly每一个用户都可以有…

尚硅谷JavaWeb电子书城项目(Java+Mysql+Tomcat+Jsp)

自己写的在线电子书城项目,可改写,添加功能,如打折,分类,用户管理,评论等功能。 使用方法: 1.使用idea导入项目。 2.数据库要用项目resource文件里的book.sql文件建立。 3.修改jdbc.properi…

【从零开始学习JVM | 第八篇】学习垃圾回收算法 和 垃圾回收器

前言: 现代编程语言通常采用垃圾回收机制来自动管理内存。垃圾回收机制是一种自动化的内存管理技术,可以在程序运行时自动识别和回收不再使用的内存,从而减少内存泄漏和其他内存相关问题的发生。 本文将介绍垃圾回收算法和垃圾回收器的相关…

【产品】Axure的基本使用(二)

文章目录 一、元件基本介绍1.1 概述1.2 元件操作1.3 热区的使用 二、表单型元件的使用2.1 文本框2.2 文本域2.3 下拉列表2.4 列表框2.5 单选按钮2.6 复选框2.7 菜单与表格元件的使用 三、实例3.1 登录2.2 个人简历 一、元件基本介绍 1.1 概述 在Axure RP中,元件是…

模块四(一):搭建自己的SSR

前言:同构渲染是将服务器渲染和客户端渲染相结合的一种渲染方式,在服务端生成初始页面,提升首屏加载速度,并且有利于SEO;在客户端接管HTML,并且将静态HTML激活为数据绑定的动态HTML,为用户提供更…

算法通关村第五关—LRU的设计与实现(黄金)

LRU的设计与实现 一、理解LRU的原理 LeetCode146:运用你所掌握的数据结构,设计和实现一个LRU(最近最少使用)缓存机制 实现LRUCache类: LRUCache(int capacity) 以正整数作为容量capacity初始化 LRU 缓存 int get(int key) 如果关键字key存在于缓存中&a…

节流防抖:提升前端性能的秘密武器(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

小程序开发实战案例之三 | 小程序底部导航栏如何设置

小程序中最常见的功能就是底部导航栏了,今天就来看一下怎么设置一个好看的导航栏~这里我们使用的是支付宝官方小程序 IDE 做示范。 官方提供的底部导航栏 第一步:页面创建 一般的小程序会有四个 tab,我们这次也是配置四个 tab 的…

学习深度强化学习---第3部分----RL蒙特卡罗相关算法

文章目录 3.1节 蒙特卡罗法简介3.2节 蒙特卡罗策略评估3.3节 蒙特卡罗强化学习3.4节 异策略蒙特卡罗法 本部分视频所在地址:深度强化学习的理论与实践 3.1节 蒙特卡罗法简介 在其他学科中的蒙特卡罗法是一种抽样的方法。 如果状态转移概率是已知的,则是…

FMETP STREAM 2.0

FMETPSTREAM简化了Unity3D中的直播,无需编码。设置和测试仅需5分钟。 "编码器模块"将Unity游戏视图、网络摄像头、桌面、声音和麦克风输入转换为字节数据,使其完美适用于各种流媒体场景。 优化的网络模块支持Server-clients连接类型,并允许您使用单个命令向 Serve…

Facebook的DINO,无监督模型,可用于分类和分割任务

Facebook的DINO 参考:https://blog.csdn.net/hello_dear_you/article/details/133695006 代码:https://github.com/facebookresearch/dino/tree/main DINO本质上是一种自监督学习方法,其核心思想是通过在大规模的无标签数据集上进行对比学习&…
最新文章