立体匹配(视差估计)评价指标(MiddleBurry、KITTI 2012、KITTI 2015、Scene Flow、ETH3D)

MiddleBurry 数据集:

评估区域

  • dics(Depth Discontinuity Region):视差不连续区域
  • all(All Region):全部区域
  • non-occ(Non-Occlusion Region):非遮挡区域

评估指标

  • bad δ D \delta_{D} δD 1 N ∑ ( x , y ) ∈ N { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > δ D } \frac{1}{N} \sum_{(x, y)\in N}\{|d_{est}(x, y)-d_{gt}(x, y)|>\delta_{D}\} N1(x,y)N{dest(x,y)dgt(x,y)>δD} :估计值与真实值相差大于 δ D \delta_{D} δD 的像素的比例, δ D \delta_{D} δD 可以取0.5、1.0、2.0、4.0
  • avgerr: 1 N ∑ ( x , y ) ∈ N ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ \frac{1}{N}\sum_{(x,y)\in N}|d_{est}(x,y)-d_{gt}(x,y)| N1(x,y)Ndest(x,y)dgt(x,y) :平均绝对误差
  • rms: 1 N ∑ ( x , y ) ∈ N ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ 2 \sqrt{\frac{1}{N} \sum_{(x, y)\in N}\left|d_{est}(x, y)-d_{gt}(x, y)\right|^{2}} N1(x,y)Ndest(x,y)dgt(x,y)2 :均方误差

KITTI 2012数据集:

  KITTI 2012 是真实驾驶场景的数据集,其包含194个训练图像对和195个测试图像对,图像分辨率为1226×370。该数据集提供了使用激光雷达获得的稀疏真实视差值。

评估区域

  • all(All Region):全部区域
  • non-occ(Non-Occlusion Region):非遮挡区域

评估指标

  若视差 ∣ d e s t − d g t ∣ < δ D |d_{est}-d_{gt}|<\delta_{D} destdgt<δD,则视为正确估计,阈值 δ D \delta_{D} δD可为2,3,4,5像素

  • Out-Noc: δ D \delta_{D} δD 1 N n o c ∑ ( x , y ) ∈ N n o c { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > δ D } \frac{1}{N_{noc}} \sum_{(x, y)\in N_{noc}}\{|d_{est}(x, y)-d_{gt}(x, y)|>\delta_{D}\} Nnoc1(x,y)Nnoc{dest(x,y)dgt(x,y)>δD} :非遮挡区域错误预测像素的比例
  • Out-All: δ D \delta_{D} δD 1 N a l l ∑ ( x , y ) ∈ N a l l { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > δ D } \frac{1}{N_{all}} \sum_{(x, y)\in N_{all}}\{|d_{est}(x, y)-d_{gt}(x, y)|>\delta_{D}\} Nall1(x,y)Nall{dest(x,y)dgt(x,y)>δD}:全部区域错误预测像素的比例
  • Avg-Noc: 1 N n o c ∑ ( x , y ) ∈ N n o c ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ \frac{1}{N_{noc}}\sum_{(x,y)\in N_{noc}}|d_{est}(x,y)-d_{gt}(x,y)| Nnoc1(x,y)Nnocdest(x,y)dgt(x,y) :非遮挡区域的端点误差(EPE-Noc)
  • Avg-All: 1 N a l l ∑ ( x , y ) ∈ N a l l ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ \frac{1}{N_{all}}\sum_{(x,y)\in N_{all}}|d_{est}(x,y)-d_{gt}(x,y)| Nall1(x,y)Nalldest(x,y)dgt(x,y) :全部区域的端点误差(EPE)

KITTI 2015数据集:

  KITTI 2015是真实驾驶场景的数据集。KITTI 2015包含200个训练图像对和200个测试图像对,图像分辨率为1242×375,该数据集提供了使用激光雷达获得的稀疏地面真实视差值。

评估图像

  • D1:评估第一帧图像
  • D2:评估第二帧图像

评估区域

  • bg(Background Regions):背景区域
  • fg(Foreground Regions):前景区域
  • all(All Region):全部区域

评估指标

  若视差或流端点误差 ∣ d e s t − d g t ∣ < 3 |d_{est}-d_{gt}|<3 destdgt<3px或 ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ d g t < 5 % \frac{{|d_{est}(x,y)-d_{gt}(x,y)|}}{d_{gt}}<5\% dgtdest(x,y)dgt(x,y)<5%则视为正确估计

  • D1-bg:对于第一帧图像,背景区域(background regions)预测错误的像素的比例

  • D1-fg:对于第一帧图像,前景区域(foreground regions)预测错误的像素的比例

  • D1-all:对于第一帧图像,所有区域(all regions)预测错误的像素的比例

  • D2-bg:对于第二帧图像,背景区域(background regions)预测错误的像素的比例

  • D2-fg:对于第二帧图像,前景区域(foreground regions)预测错误的像素的比例

  • D2-all:对于第二帧图像,所有区域(all regions)预测错误的像素的比例


Scene Flow数据集:

  Scene Flow是利用软件渲染生成的虚拟立体数据集,包含35454个训练图像对和4370个测试图像对,分辨率为960×540,该数据集提供稠密的视差图真实值。

  若视差或流端点误差 ∣ d e s t − d g t ∣ < 3 |d_{est}-d_{gt}|<3 destdgt<3px或 ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ d g t < 5 % \frac{{|d_{est}(x,y)-d_{gt}(x,y)|}}{d_{gt}}<5\% dgtdest(x,y)dgt(x,y)<5% 则视为正确估计

  • EPE: 1 N ∑ ( x , y ) ∈ N ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ \frac{1}{N}\sum_{(x,y)\in N}|d_{est}(x,y)-d_{gt}(x,y)| N1(x,y)Ndest(x,y)dgt(x,y) :全部区域的端点误差(EPE)
  • >1px: 1 N a l l ∑ ( x , y ) ∈ N a l l { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > 1 } \frac{1}{N_{all}} \sum_{(x, y)\in N_{all}}\{|d_{est}(x, y)-d_{gt}(x, y)|>1\} Nall1(x,y)Nall{dest(x,y)dgt(x,y)>1}:预测误差大于1px的像素的比例
  • >2px: 1 N a l l ∑ ( x , y ) ∈ N a l l { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > 2 } \frac{1}{N_{all}} \sum_{(x, y)\in N_{all}}\{|d_{est}(x, y)-d_{gt}(x, y)|>2\} Nall1(x,y)Nall{dest(x,y)dgt(x,y)>2}:预测误差大于2px的像素的比例
  • >3px: 1 N a l l ∑ ( x , y ) ∈ N a l l { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > 3 } \frac{1}{N_{all}} \sum_{(x, y)\in N_{all}}\{|d_{est}(x, y)-d_{gt}(x, y)|>3\} Nall1(x,y)Nall{dest(x,y)dgt(x,y)>3}:预测误差大于3px的像素的比例
  • D1:对于第一帧图像,预测正确的像素的比例

ETH3D数据集:

  ETH3D是室内和室外场景中的灰度立体数据集。其包含27个训练图像对与20个测试图像对,该数据集带有稀疏的视差真实值。视差范围在0-64之间。
评估指标

  • bad δ D \delta_{D} δD 1 N ∑ ( x , y ) ∈ N { ∣ d e s t ( x , y ) − d g t ( x , y ) ∣ > δ D } \frac{1}{N} \sum_{(x, y)\in N}\{|d_{est}(x, y)-d_{gt}(x, y)|>\delta_{D}\} N1(x,y)N{dest(x,y)dgt(x,y)>δD} :估计值与真实值相差大于 δ D \delta_{D} δD 的像素的比例, δ D \delta_{D} δD 可以取1.0、2.0
### SGBM EPE (End Point Error) 计算方法 对于视觉立体匹配中的半全局块匹配(Semi-Global Block Matching, SGBM),端点误差(Endpoint Error, EPE)用于评估算法性能。具体而言,EPE衡量的是估计视差图与真实视差图之间的差异。 给定一张图像的真实视差图 \(D_{gt}\) 和通过SGBM得到的预测视差图 \(D_{pred}\),则任意像素位置 \((x,y)\) 的端点误差定义如下: \[ EPE(x,y)=\left | D_{gt}(x,y)-D_{pred}(x,y) \right | \] 当存在遮挡区域或无纹理区域时,\(D_{gt}(x,y)\) 可能为空值,在这种情况下通常不计入EPE计算之中[^1]。 为了实现这一过程,可以采用Python编程语言配合OpenCV库来完成具体的计算工作。下面是一个简单的代码片段展示如何基于已知的真实视差点云数据文件和由SGBM生成的结果来进行EPE分析: ```python import cv2 import numpy as np def calculate_epe(disparity_gt, disparity_pred): mask = ~np.isnan(disparity_gt) epe_map = np.abs(disparity_gt[mask] - disparity_pred[mask]) return np.mean(epe_map) # 加载真实的视差图以及预测所得的视差图 disparity_ground_truth = ... # 此处应替换为加载实际地面实况的方法 disparity_prediction = ... # 此处应替换为调用SGBM函数获得预测结果的方式 epe_value = calculate_epe(disparity_ground_truth, disparity_prediction) print(f"The End Point Error is {epe_value}") ``` 此段程序首先创建了一个掩码用来排除掉那些在ground truth中不存在有效数值的位置;接着利用绝对值运算符求取两个视差图对应位置上元素之差,并最终返回这些差值平均值得到整体EPE指标
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CV科研随想录

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

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

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

打赏作者

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

抵扣说明:

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

余额充值