HPatches 数据集和评价指标

数据详情

构建方法

利用三维重建的方法获得特征点位置和匹配关系。

数据内容

后面更新

评价准则

定义 y = ( y 1 , … , y n ) ∈ { − 1 , 0 , + 1 } n \mathbf { y } = \left( y _ { 1 } , \ldots , y _ { n } \right) \in \{ - 1,0 , + 1 \} ^ { n } y=(y1,,yn){1,0,+1}n 是对查询 patch 和 测试集合的每个 patches 按照它们描述符之间 score 降序或者 dis 升序排序的 label 集合,label 分别表示 negative,ignore 和 positive,即查询 patch 和测试集中某个 patch 是非匹配关系,忽略关系,还是匹配关系(真值)。

这样基于上面的 y \mathbf { y } y 定义排序前 i i i 个为算法匹配上的结果,这样 precision 和 recall 指标分布为:

P i ( y ) = ∑ k = 1 i [ y k ] + / ∑ k = 1 i ∣ y k ∣ R i ( y ) = ∑ k = 1 i [ y k ] + / ∑ k = 1 N [ y k ] + P _ { i } ( \mathbf { y } ) = \sum _ { k = 1 } ^ { i } \left[ y _ { k } \right] _ { + } / \sum _ { k = 1 } ^ { i } \left| y _ { k } \right| \\ R _ { i } ( \mathbf { y } ) = \sum _ { k = 1 } ^ { i } \left[ y _ { k } \right] _ { + } / \sum _ { k = 1 } ^ { N } \left[ y _ { k } \right] _ { + } Pi(y)=k=1i[yk]+/k=1iykRi(y)=k=1i[yk]+/k=1N[yk]+

其中 [ z ] + = max ⁡ { 0 , z } [ z ] _ { + } = \max \{ 0 , z \} [z]+=max{0,z},正样本返回 1,其他返回 0。

这个和之前的定义一直,至少方式的不同:
P r e c i s i o n = T P T P + F P R e c a l l = T P T P + F N Precision = \frac{TP}{TP + FP} \\ Recall = \frac{TP}{TP + FN} Precision=TP+FPTPRecall=TP+FNTP
然后 average precision (AP) 的定义如下:
A P ( y ) = ∑ k : y k = + 1 P k ( y ) / ∑ k = 1 N [ y k ] + A P ( \mathbf { y } ) = \sum _ { k : y _ { k } = + 1 } P _ { k } ( \mathbf { y } ) / \sum _ { k = 1 } ^ { N } \left[ y _ { k } \right] _ { + } AP(y)=k:yk=+1Pk(y)/k=1N[yk]+
其中 k : y k = + 1 k : y _ { k } = + 1 k:yk=+1 表示 k k k 取值范围为上面排序集合中每个正样本的 index(负样本 index 无意义,只是降低 precision 大小)。

对每个正样本 index 求对应的 precision,然后平均。

但在 image matching 任务和 patch retrieval 任务中会用到忽略关系 y i = 0 y _ { i } = 0 yi=0 patch pairs 的数目。预先定义正样本的数目为(许多正样本的 patch pairs 在评估中不需要,比如 image matching 任务中查询 patch 只会在目标图像找到最优的 patch,并求取 score 用于后面的评估,而该查询 patch 与目标图像上其他的 patch 不会计算 score 和参与评估):
K ≥ ∑ k = 1 N [ y k ] + K \geq \sum _ { k = 1 } ^ { N } \left[ y _ { k } \right] _ { + } Kk=1N[yk]+
然后其他指标分别为:
R i ( y ; K ) = ∑ k = 1 i [ y k ] + / K A P ( y ; K ) = ∑ k : y k = + 1 P k / K R _ { i } ( \mathbf { y } ; K ) = \sum _ { k = 1 } ^ { i } \left[ y _ { k } \right] _ { + } / K \\ A P ( \mathbf { y } ; K ) = \sum _ { k : y _ { k } = + 1 } P _ { k } / K Ri(y;K)=k=1i[yk]+/KAP(y;K)=k:yk=+1Pk/K
本文定义了三个评价指标,每个指标都是计算的 AP 值。

patch verification
指标

给定数据集定义:

P = ( ( x i , x i ′ , y i ) , i = 1 , … , N ) \mathcal { P } = \left( \left( \mathbf { x } _ { i } , \mathbf { x } _ { i } ^ { \prime } , y _ { i } \right) , \quad i = 1 , \ldots , N ) \right. P=((xi,xi,yi),i=1,,N)

其中 x i , x i ′ ∈ R 65 × 65 × 1 \mathbf { x } _ { i } , \mathbf { x } _ { i } ^ { \prime } \in \mathbb { R } ^ { 65 \times 65 \times 1 } xi,xiR65×65×1 是匹配或者非匹配的 patch pairs, y i = ± 1 y _ { i } = \pm 1 yi=±1 是 label。

这样在评估匹配算法 A \mathcal { A } A 时,对输入的两个 patches x i , x i ′ \mathbf { x } _ { i } , \mathbf { x } _ { i } ^ { \prime } xi,xi,输入这两个 patches 匹配的置信度 score s i ∈ R s _ { i } \in \mathbb { R } siR(其实实际一般是 Euclidean 距离,score 可以用距离的倒数表示)。

这样按照 score 降维排序 s π 1 ≥ s π 2 ≥ ⋯ ≥ s π N s _ { \pi _ { 1 } } \geq s _ { \pi _ { 2 } } \geq \cdots \geq s _ { \pi _ { N } } sπ1sπ2sπN,按照上一节的方法求每个 patch 集合的 A P ( y π 1 , … , y π N ) A P \left( y _ { \pi _ { 1 } } , \ldots , y _ { \pi _ { N } } \right) AP(yπ1,,yπN),用该值评估算法 A \mathcal { A } A 的性能。

数据集

之前构建数据集通过对匹配 pairs 添加不同的重投影噪声,生成 EASY,HARD 和 TOUGH 三类数据集,同时在同一个序列或者不同的图像序列旋转为上面选定的 patch 选择非匹配 pairs。这样就6 个 patch verification 评估的基准 patch 集合,每个集合包括 2 × 1 0 5 2 \times 10 ^ { 5 } 2×105 正样本匹配 pairs 和 1 × 1 0 6 1 \times 10 ^ { 6 } 1×106 负样本非匹配 pairs。

最终的评价指标是在这 6 个数据集上平均的 mAP。

image matching
定义

在 image matching 任务中,图像表示为多个 patches 的集合,如下:

L k = ( x i k , i = 1 , … , N ) L _ { k } = \left( \mathbf { x } _ { i k } , i = 1 , \dots , N \right) Lk=(xik,i=1,,N)

image pairs 表示为:

D = ( L 0 , L 1 ) \mathcal { D } = \left( L _ { 0 } , L _ { 1 } \right) D=(L0,L1)

其中 L 0 L _ { 0 } L0 是参考(查询)图像, L 1 L _ { 1 } L1 是目标图像,其中 X i 0 \mathbf { X } _ { i 0 } Xi0 是和 X i 1 \mathbf { X } _ { i 1 } Xi1 是匹配关系。

利用 D \mathcal { D } D 去评估算法 A \mathcal { A } A 的,给定查询 patch x i 0 ∈ L 0 \mathbf { x } _ { i 0 } \in L _ { 0 } xi0L0,需要找到最优的匹配 patch x σ i 1 ∈ L 1 \mathbf { x } _ { \sigma _ { i } 1 } \in L _ { 1 } xσi1L1 的 index σ i ∈ { 1 , … , N } \sigma _ { i } \in \{ 1 , \dots , N \} σi{1,,N},同时输出置信度 score s i ∈ R s _ { i } \in \mathbb { R } siR

这样上面会求的 N N N patch pairs 的 score,分别对应的 label 为:

y i = 2 [ σ i = ? i ] − 1 y _ { i } = 2 \left[ \sigma _ { i } \stackrel { ? } { = } i \right] - 1 yi=2[σi=?i]1

也就是 patch pairs 在图像上的 index 一直是匹配关系,不一致时非匹配关系。

同理按照 score 降维排序 s π 1 ≥ s π 2 ≥ ⋯ ≥ s π N s _ { \pi _ { 1 } } \geq s _ { \pi _ { 2 } } \geq \cdots \geq s _ { \pi _ { N } } sπ1sπ2sπN,按照上一节的方法求每对 image pair 的 A P ( y π 1 , … , y π N ; N ) A P \left( y _ { \pi _ { 1 } } , \ldots , y _ { \pi _ { N } } ; N \right) AP(yπ1,,yπN;N),用该值评估算法 A \mathcal { A } A 的性能。

数据集

根据视角 viewpoint 或者光线illumination 的变化进行分组,同时每个组的 patches 生成 EASY,HARD 和 TOUGH 三类数据集。

最终的评价指标是在所有的 image pairs 以及上诉变化的数据集上平均的 mAP。

patch retrieval
定义

给定数据集定义:

P = ( x 0 , ( x i , y i ) , i = 1 , … , N ) \mathcal { P } = \left( \mathbf { x } _ { 0 } , \left( \mathbf { x } _ { i } , y _ { i } \right) , i = 1 , \ldots , N \right) P=(x0,(xi,yi),i=1,,N)

其中 x 0 \mathbf { x } _ { 0 } x0 是来自查询图像 L 0 L _ { 0 } L0 的 patch,其他的 patch 来自相同图像序列的图像 L k , k = 1 , … , K L _ { k } , k = 1 , \ldots , K Lk,k=1,,K

而且可知在相同图像序列的图像 L k L _ { k } Lk 上确定有一个查询 x 0 \mathbf { x } _ { 0 } x0 匹配的 patch,所有总共有确定的 K K K 个正样本。

对于每个数据集 P \mathcal { P } P 来说,算法 A \mathcal { A } A 输出 x 0 \mathbf { x } _ { 0 } x0 和 每个patch x i \mathbf { x } _ { i } xi 的 score s i ∈ R s _ { i } \in \mathbb { R } siR

同理按照 score 降维排序 s π 1 ≥ s π 2 ≥ ⋯ ≥ s π N s _ { \pi _ { 1 } } \geq s _ { \pi _ { 2 } } \geq \cdots \geq s _ { \pi _ { N } } sπ1sπ2sπN,按照上一节的方法求每个数据集 P \mathcal { P } P A P ( y π 1 , … , y π N ; N ) A P \left( y _ { \pi _ { 1 } } , \ldots , y _ { \pi _ { N } } ; N \right) AP(yπ1,,yπN;N),用该值评估算法 A \mathcal { A } A 的性能。

数据集

基准数据集总共包括 1 × 1 0 4 1 \times 10 ^ { 4 } 1×104 个测试数据集 P \mathcal { P } P,其中 x 0 \mathbf { x } _ { 0 } x0 包括 K = 5 K = 5 K=5 个匹配 patch,以及 2 × 1 0 4 2 \times 10 ^ { 4 } 2×104 个干扰负样本。同时每个测试数据集 P \mathcal { P } P的正样本 patches 生成 EASY,HARD 和 TOUGH 三类数据集。

最终的评价指标是在所有的测试集合 P \mathcal { P } P以及上诉变化的数据集上平均的 mAP。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值