论文阅读_GwcMVSNet
GP-MVSNet
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | Group-wise Correlation Stereo Network |
| 作者 | Xiaoyang Guo、Kai Yang、Wukui Yang、Xiaogang Wang、Hongsheng Li |
| 作者单位 | The Chinese University of Hong Kong(香港中文大学)、SenseTime Research(商汤科技研究院) |
| 时间 | 2019 |
| 发表会议/期刊 | IEEE Conference on Computer Vision and Pattern Recognition (CVPR) |
方法概览
| 特点 | 文章性质 |
|---|---|
| 输入 | 校正图像对 |
| 输出 | 视差图 |
| 所属领域 | 双目stereo |
1. 摘要精简
本文提出分组相关立体网络(GwcNet),用于校正图像对的视差估计(进而推导深度)。核心是通过分组相关(Group-wise Correlation)构建代价体:将左右图像特征沿通道维度分组,每组独立计算相关图,再打包为代价体,既避免全相关的信息丢失,又减少拼接代价体对后续网络的参数需求。同时改进 3DCNN网络,在捷径连接中加入 1×1×1 3D 卷积,移除冗余残差连接,提升性能并降低推理耗时。实验表明,GwcNet 在 Scene Flow、KITTI 2012、KITTI 2015 数据集上优于 PSMNet 等现有方法,且在计算成本受限时性能下降远小于传统方法,适合实时场景
2. 引言动机
立体匹配需从校正图像对估计视差,是深度感知、自动驾驶的核心任务。现有学习型方法存在明显缺陷,构成研究动机:
- 全相关代价体(如 DispNetC):仅为每个视差级别生成单通道相关图,虽高效但丢失大量特征相似性信息,导致匹配精度低;
- 拼接代价体(如 GC-Net、PSMNet):将左右特征直接拼接,未编码任何相似性信息,需后续 3D 聚合网络从零学习相似性度量,参数需求大、计算成本高;
- 传统手工代价(如 SAD、NCC):无法端到端优化,对低纹理、遮挡区域鲁棒性差。
因此,本文出发点是设计一种兼顾信息完整性与计算效率的代价体构建方式,同时优化聚合网络,在提升视差估计精度的同时降低推理成本。
3. 创新点
- 提出分组相关(Group-wise Correlation):将左右特征按通道分组,每组独立计算相关图,打包为多通道代价体,既保留传统相关的相似性度量能力,又避免全相关的信息丢失,减少后续网络参数需求;
- 改进3D 堆叠沙漏聚合网络:①在沙漏模块内部捷径连接中加入 1×1×1 3D 卷积(计算量仅为 3×3×3 卷积的 1/27,几乎不增加耗时);②移除不同沙漏模块间的残差连接,推理时可删除辅助输出模块,耗时降低;③新增预沙漏模块后的辅助输出,通过多尺度损失提升低层特征学习质量;
- 验证计算受限场景的优势:当缩减 3D 聚合网络通道数时,GwcNet(分组相关 + 拼接)的性能下降远小于仅用拼接代价体的方法,证明分组相关能提供更高效的相似性表示,适合实时立体匹配。
- 在多个数据集上实现优于现有方法的性能
- 在计算资源受限时,性能下降远小于PSMNet,适合实时应用
4. 网络架构
- GwcNet 整体分为四部分,遵循 “特征提取→代价体构建→3D 聚合→视差预测” 流程:
- Unary 特征提取:基于 ResNet-like 网络,输出左右图像的高维特征图;
- 代价体构建:由 “分组相关体积” 与 “拼接体积” 组成,两者拼接后作为 3D 聚合网络输入;
- 3D 聚合网络:含 1 个预沙漏模块 + 3 个堆叠 3D 沙漏模块,聚合邻域像素与视差的上下文信息,优化代价体;
- 视差预测:4 个输出模块(预沙漏后 1 个,每个沙漏后 1 个),分别生成视差图,通过多尺度损失联合优化,最终输出高精度视差图(深度可由视差倒数推导)。
5. 特征提取
- 使用PSMNet中的类ResNet网络,采用半扩张设置,左右图像共享权重,移除空间金字塔池化模块
- 输入:校正后的左右图像对(如 KITTI 图像尺寸 1248×384,Scene Flow 为 960×540);
- 网络结构:采用 “半 dilation” 设置,移除 PSMNet 的空间金字塔池化模块,保留 conv1~conv4 层,每层卷积后接批量归一化(BN)与 ReLU 激活;
- 特征拼接:将 conv2、conv3、conv4 的输出特征图(通道数分别为 64、128、128)拼接,得到 320 通道的 Unary 特征图fl(左图)与fr(右图),尺寸为输入图像的 1/4(因 conv 层步长压缩)。
- 特征图尺寸为原始图像的1/4
6. 代价体构建
代价体由 “分组相关体积” 与 “拼接体积” 两部分拼接而成,核心是分组相关体积的设计:
- 特征分组:将左右 Unary 特征、(320 通道)沿通道维度均匀分为组,每组含通道(为总通道数),第g组特征记为、;
- 分组相关计算:对每个视差级别d,计算第g组左特征与对应右特征的内积(归一化到组通道数),得到该组在视差d下的相关图,公式为:x−d表示右图像素在视差d下的对应位置
分组相关体积:
体积打包:
将所有组、所有视差级别d的相关图堆叠,形成分组相关体积,尺寸为(Dmax为最大视差,H/W为输入图像高宽)。
连接体积:
将左右 Unary 特征先通过 2 层卷积压缩至 12 通道(左、右各 12 通道),再对每个视差级别d,将左特征与偏移d后的右特征拼接,形成 24 通道的拼接体积,尺寸与分组相关体积一致。
组合代价体:
将分组相关体积(如Ng=40通道)与拼接体积(24 通道)拼接,得到 64 通道的 4D 代价体,作为 3D 聚合网络的输入。
7. 代价体正则化
通过3D聚合网络进行正则化:
- 预-hourglass模块:四个3D卷积层,带批归一化和ReLU
- 三个堆叠3D hourglass网络:编码器-解码器结构
- 改进:在hourglass模块内添加快捷连接的 3D卷积
通过改进的 3D 堆叠沙漏聚合网络实现代价体正则化,核心是聚合邻域像素与视差的上下文信息,抑制噪声并优化遮挡、低纹理区域的代价分布:
- 预沙漏模块:4 层 3D 卷积(3×3×3 核,步长 1),每层接 BN 与 ReLU,输出 32 通道特征,用于初步聚合全局信息;
- 3D 堆叠沙漏模块:3 个相同模块串联,每个模块含 “编码器 - 解码器” 结构:
- 编码器:2 层下采样卷积(3×3×3 核,步长 2),通道数从 32→64→128,扩大感受野;
- 解码器:2 层上采样卷积(3×3×3 核,步长 2,反卷积实现),通道数从 128→64→32;
- 捷径连接:在编码器与解码器对应层间加入 1×1×1 3D 卷积(匹配通道数),将编码器输出与解码器输出相加,保留细节信息;
- 正则化效果:通过多尺度上下文聚合,将原始代价体中的噪声过滤,使视差概率分布更集中,提升匹配精度。
8. 深度图生成
深度图由 “视差预测→视差转深度” 两步生成,视差预测流程如下:
-
概率体积生成:每个输出模块(共 4 个)对 3D 聚合网络输出的 32 通道特征,通过 2 层 3D 卷积(最后一层无 BN/ReLU)压缩至 1 通道,上采样至原始图像尺寸(H×W×Dmax),沿视差维度应用 softmax,得到视差概率体积p(pk为像素属于视差k的概率);
-
使用soft argmin从概率体积中回归视差图:
-
视差转深度:因图像已校正,深度z与视差d~满足几何关系z=(f⋅B)/d(f为相机焦距,B为基线,均为已知内参),最终输出与输入图像同尺寸的深度图。
9. 损失函数
使用多尺度平滑L1Smooth 损失,对 4 个输出模块的视差预测联合优化预测视差:
其中,平滑L1损失定义为:
该损失对异常值鲁棒,避免平方损失放大极端误差,适合视差估计中的遮挡、低纹理区域误差。$$ \textrm{Smooth}{L{1}}(x)=\begin{cases}0.5x^{2},&\text{if }|x|<1\ |x|-0.5,&\text{otherwise}\end{cases} $$
10. 测试数据集
- Scene Flow数据集:合成数据集,包含FlyingThings3D、Driving和Monkaa
- KITTI 2012:194训练和195测试图像对
- KITTI 2015:200训练和200测试图像对
11. 消融实验
11.1 分组数量(Ng)的影响
测试不同分组数量(1、10、20、40、80、160)的 Gwc-Base 模型(无堆叠沙漏,仅预沙漏),结果表明:
- 分组数从 1 增至 40 时,EPE 从 1.369px 降至 1.212px,错误率持续下降;
- 分组数 > 40 后,性能提升趋于平缓(如 80 组 EPE=1.214px),但计算成本增加;
- 选择Ng=40(每组 8 通道)为最优,兼顾精度与效率。
11.2 分组相关与拼接体积的互补性
对比仅拼接(Cat64-Base)、仅分组相关(Gwc40-Base)、两者结合(Gwc40-Cat24-Base)的性能:
- Gwc40-Base(EPE=1.212px)优于 Cat64-Base(EPE=1.308px);
- 两者结合后 EPE 进一步降至 1.127px,证明分组相关(相似性度量)与拼接体积(语义信息)互补。
11.3 改进 3D 沙漏网络的效果
对比 PSMNet 原始沙漏(Cat64-original-hg)与本文改进沙漏(Cat64):
- Scene Flow 上,改进后 EPE 从 0.876px 降至 0.808px(提升 7.8%),推理耗时从 241ms 降至 198.3ms(减少 42.7ms);
- KITTI 2015 上,D1-all 错误率从 1.76% 降至 1.55%,证明改进的沙漏网络在提升精度的同时降低耗时。
11.4 计算成本受限的性能
缩减 3D 聚合网络通道数(从 32→2),对比仅拼接(Cat)与分组相关 + 拼接(Gwc-Cat)的性能:
- 通道数为 2 时,Gwc-Cat 的 EPE=1.3px,而 Cat 的 EPE=1.6px;
- 通道数越少,两者性能差距越大,证明分组相关能提供更高效的相似性表示,减少对 3D 网络参数的依赖,适合实时场景。
三种代价体区别
1. 全相关代价体(Full Correlation Volume)
核心逻辑
将左右图像的高维特征(fl、fr)直接计算全局内积,每个视差级别仅输出 1 个通道的 “相似性值”,丢失组间细节信息。
计算方式
对每个视差d(特征空间d∈[0,47]),计算左右特征的归一化内积:
其中⟨⋅,⋅⟩为内积,Nc=320为总通道数,(x,y)为特征图像素坐标(x∈[0,95],y∈[0,311])。
实例维度
关键特性
- 信息保留:最差—— 将 320 通道的特征相似性压缩为 1 个值,丢失大量组间差异(如纹理、边缘的局部相似性);
- 后续参数需求:高 —— 因信息丢失,后续 3D 聚合网络需更多参数弥补细节;
- 计算成本:最低 —— 仅需 1 次全局内积,速度快但精度差(论文中 Gwc1-Base 模型 EPE=1.369px,比分组差)。
2. 拼接代价体(Concatenation Volume)
核心逻辑
不计算特征相似性,直接将左右图像的压缩后特征在通道维度拼接,完全依赖后续 3D 网络从零学习 “如何衡量相似性”。
计算方式
- 特征压缩:将左右 320 通道的 Unary 特征,通过 2 层卷积压缩至 12 通道(左特征flcomp、右特征frcomp);
- 视差偏移:对每个视差d,将右特征frcomp沿 x 轴偏移d个像素(对应视差);
- 通道拼接:将偏移后的右特征与左特征拼接,形成单视差下的特征图。
实例维度
关键特性
- 信息保留:无相似性信息—— 仅拼接特征通道,未编码任何 “左右像素是否相似” 的先验,需后续网络自主学习;
- 后续参数需求:最高 ——3D 聚合网络需额外学习相似性度量函数,参数量大(论文中 Cat64 模型推理时间 198.3ms,比分组略慢);
- 计算成本:中 —— 仅需特征压缩与拼接,无内积计算,但后续网络成本高(论文中 Cat64-Base 模型 EPE=1.308px,比分组差)。
3. 分组相关代价体(Group-wise Correlation Volume)
核心逻辑
将左右特征按通道分组,每组独立计算相关图(保留组内相似性),平衡 “信息保留” 与 “计算效率”,可单独使用或与拼接结合。
计算方式(单独使用)
- 特征分组:将 320 通道的fl、fr均匀分为Ng=40组,每组含320/40=8通道(第g组记为flg、frg);
- 分组内相关:对每个视差d、每组g,计算组内归一化内积:
- 通道堆叠:将 40 组的相关图沿通道维度堆叠,形成分组代价体。
实例维度(单独使用 + 与拼接结合)
- 单独分组:48×96×312×40(40 个分组相关通道);
- 分组 + 拼接(论文最优方案):48×96×312×(40+24)=48×96×312×64(40 个分组通道 + 24 个拼接通道)。
关键特性
- 信息保留:最优——40 组分别保留 8 通道的局部相似性(如边缘组、纹理组的独立相似性),避免全局压缩的信息丢失;
- 后续参数需求:低 —— 分组已编码相似性信息,3D 聚合网络无需从零学习,参数需求仅为拼接代价体的 1/3~1/2;
- 计算成本:中 —— 需 40 次组内内积,但单组通道数少(8),总计算量仅比全相关高 10%~15%,精度却显著提升(论文中 Gwc40-Base 模型 EPE=1.212px,优于全相关和拼接)。
二、三种代价体的关键差异汇总表
| 代价体类型 | 核心计算方式 | 维度实例(基于上述参数) | 信息特性 | 后续 3D 网络参数需求 | 优缺点总结 |
|---|---|---|---|---|---|
| 全相关代价体 | 全局内积(320 通道→1 个相似性值) | 48×96×312×1 | 丢失 99.7% 的特征相似性细节(320→1) | 高 | 优点:计算最快;缺点:精度最差,仅适合实时性优先、精度要求低的场景 |
| 拼接代价体 | 左右特征压缩后拼接(左 12 通道 + 右 12 通道) | 48×96×312×24 | 无相似性信息,需后续网络自主学习 “如何比较左右特征” | 最高 | 优点:保留完整特征通道;缺点:参数需求大、推理慢,相似性学习效率低 |
| 分组相关代价体 | 分组内积(320 通道→40 组 ×8 通道,每组算 1 个相似性值),可结合拼接 | 单独:48×96×312×40结合:48×96×312×64 | 保留组间差异(40 组细节),已编码相似性信息,与拼接结合可补充语义信息 | 低 | 优点:精度高(EPE 最低)、参数少、推理快;缺点:需设计分组数(论文最优 40 组) |



