【论文研读】【目标检测】Revisiting Open World Object Detection
作者:互联网
本文对开放世界目标检测任务进行重新梳理,并提出了两种新的衡量指标
针对CEC模块存在理解问题(文中红色问号处)
Revisiting Open World Object Detection
发表于 Computer Vision and Pattern Recognition 2022/01/04
Introduction
(1) 概要
- 领域:目标检测
- 行文目的:OWOD的实验设置不合理(benchmark不合理、度量标准不合理、研究方法不合理)
- 贡献:
- (1)提出了5条基本原则,用以指导OWOD的基准建设
- (2)设计了2种公平的评价指标
(2) OWOD
- closed set object detection(传统意义上的目标检测)
- 只需检测出已知的类别
- 推理阶段也只针对已知类别的检测性能进行评价
- 未知类别的目标可以直接忽略,或者误分类为已知类别
- open world object detection(考虑未知类别)
- OWOD任务包括多个增量子任务
- 每个子任务中,训练阶段:模型仅在已知类别上做训练;测试阶段:模型需正确检测出所有已知类别,针对未知类别需分类为“unkown”
- 人类标注员针对检测出的未知类别进行手工标注,再进入下一个增量子任务(下一次任务中就增加了新的类别标签)
(3) 存在问题及改进
i. 存在问题:(OWOD概念在《Towards open world object detection》中首次提出)
- 基准不合理
- 度量不合理
- 方法不合理
ii. 改进:(本文思路) - 提出5项基准原则,用以指导OWOD基准建设
- 提出2项衡量指标 Unknown Detection Recall (UDR)、Unknown Detection Precision (UDP),更有利于衡量未知类别的检测性能
- 提出1种简单有效的OWOD框架,包含Proposal ADvisor (PAD)模块、Class-specific Expelling Classifier (CEC)模块,解决未知类别与背景、已知类别间的难区分问题:
- PAD模块:
- 无参的模块
- 协助PRN确认未知类别的proposal,引导RPN从背景中识别出未知类的proposal
- CEC模块:
- 标定over-confident activation boundary
- 通过 class-specific expelling function,过滤掉不确定的预测结果,避免将未知类别分类到已知类别
- PAD模块:
(4) 本文贡献
- 总结出5条OWOD基准原则
- 提出2项OWOD评价指标
- 提出一个简单有效的OWOD框架,包含PAD、CEC
- 实验论证了本文提出的OWOD框架在原有指标及新提出的指标上的有效性
Rethinking OWOD
(1) 五原则
- 类别的开放性(Class Openness):
- 已知类别的集合记为 K \mathcal{K} K
- 未知类别的集合记为 U \mathcal{U} U
- K ∩ U = ∅ \mathcal{K} \cap \mathcal{U} = \varnothing K∩U=∅
- 训练阶段:仅有 K \mathcal{K} K参与训练
- 测试阶段:测试集中包含 K \mathcal{K} K 和 U \mathcal{U} U
- 任务的递增性(Task Increment):
- 前一个个子任务完成后,标注员会介入进行未知类别的人工标注,因此类别数会递增,任务也会呈现递增性
- 在task t阶段:已知类别为 K t \mathcal{K}_t Kt,未知类别为 U t \mathcal{U}_t Ut
- 在task t+1阶段:原 U t \mathcal{U}_t Ut 中的 U t ( k ) \mathcal{U}_t^{(k)} Ut(k) ( U t ( k ) ∈ U t \mathcal{U}_{t}^{(k)} \in \mathcal{U}_{t} Ut(k)∈Ut),对 U t ( k ) \mathcal{U}_{t}^{(k)} Ut(k) 进行标注后,并入已知类别中, K t + 1 = K t ∪ U t ( k ) \mathcal{K}_{t+1}=\mathcal{K}_{t} \cup \mathcal{U}_{t}^{(k)} Kt+1=Kt∪Ut(k)
- 重复上述操作,直至未知类别集合为空
- 标注的特异性(Annotation Specificity):
- 标签: Y = [ L , B ] Y = [L, B] Y=[L,B],其中Y为类别,B为边界框
- 训练、验证阶段:仅有已知类别参与训练
- 测试阶段:未知类别也参与测试,L赋值为“Unknown”
- 原OWOD未遵循此原则,使用了包含未知标签的验证集来训练
- 标签的完整性(Label Integrity):
- 测试集中的标注信息应当完备,即所有对象(包括未知类别)在测试集标签中均应标注清楚
- 例如PASCAL VOC的测试集中仅标注了已知的20个类别,对未知类别未标注
- 数据的特异性(Data Specificity):
- 训练集、验证集、测试集之间不允许有交集
- 每个数据集中不能有重复样本
- 否则,会影响评价结果
(2) 原始的ORE原则和本文的5原则对比
使用5原则对COCO数据集进行修改:
(3) 新的评价指标
OWOD任务存需解决的关键难点:
- i)需从背景中识别出未知对象
- ii)需将未知对象与已知对象作区分,确保不能将未知对象错误识别为已知的某个类别
原评价指标不能完全评价OWOD的性能: - standard mAP: 衡量分类性能
- WI、Absolute Open-Set Error(A-OSE)衡量检测未知类别的性能
- 其中,WI不能直接应用于OWOD任务中。
本文提出2个新的评价指标: - UDR(Unknow Detection Recall):
- 衡量未知对象的定位精度
- U D R = T P u + F N u ∗ T P u + F N u \mathrm{UDR}=\frac{\mathrm{TP}_{u}+\mathrm{FN}_{u}^{*}}{\mathrm{TP}_{u}+\mathrm{FN}_{u}} UDR=TPu+FNuTPu+FNu∗
- T P u TP_u TPu: true positive proposals of unknow classes
- F N u FN_u FNu: false negative proposals of unknow classes
- F N u ∗ FN^*_u FNu∗: the number of ground-truth boxes recalled by misclassified predicted bounding boxes
- UDP(Unknow Detection Precision):
- 衡量未知对象的分类精度
-
U
D
P
=
T
P
u
T
P
u
+
F
N
u
∗
\mathrm{UDP}=\frac{\mathrm{TP}_{u}}{\mathrm{TP}_{u}+\mathrm{FN}_{u}^{*}}
UDP=TPu+FNu∗TPu
Method
(1) PAD(Proposal ADvisior)模块
未知样本标签的缺失,导致RPN很难生成未知样本的proposal,因此本文添加了PAD,辅助RPN针对此类proposal生成。
i) 对RPN的未知proposal结果进行再确认
- RPN获得高分的negative proposal,有可能是被错误分类为背景的未知样本的proposal,记为 P ( u ) + P^{(u)+} P(u)+
- P ( u ) + P^{(u)+} P(u)+可能包含未知样本的proposal,同时可能包含背景
- advisor的实现:选择性搜索(Selective Search)算法
- 步骤一:使用《Efficient Graph-Based Image Segmentation》论文里的方法产生初始的分割区域
- 步骤二:相似度计算后将小的区域进行相互合并
- 重复步骤一、二
- 确认阶段:
- RPN 输出: P ( u ) + P^{(u)+} P(u)+; advisor 输出: P ~ + \widetilde{\mathbf{P}}+ P +
-
S
‾
i
=
S
i
×
I
{
max
1
≤
j
≤
∣
P
~
+
∣
(
IOU
(
P
i
(
u
)
+
,
P
~
j
+
)
)
>
θ
}
\overline{\mathbf{S}}_{i}=\mathbf{S}_{i} \times \mathcal{I}\left\{\max _{1 \leq j \leq\left|\widetilde{\mathbf{P}}^{+}\right|}\left(\operatorname{IOU}\left(\mathbf{P}_{i}^{(u)+}, \widetilde{\mathbf{P}}_{j}^{+}\right)\right)>\theta\right\}
Si=Si×I{max1≤j≤∣P
+∣(IOU(Pi(u)+,P
j+))>θ}
- IOU 大于阈值,表示advisor和RPN均认为该区域是positive proposal
ii) 指导未知类别定位任务的无监督训练过程
- 获取到精确的proposal后,将对应类别确认改为“前景”
- 将对应Anchors从negative anchor set中移动到positive anchor set中
- 将新的anchor set 输入到RPN的分类器中,计算损失: ∑ a ∈ A + ∪ A ( u ) + BCE ( f ( a ) , 1 ) + ∑ a ∈ A − \ A ( u ) + BCE ( f ( a ) , 0 ) \sum_{\mathbf{a} \in \mathcal{A}+\cup \mathcal{A}^{(u)+}} \operatorname{BCE}(f(\mathbf{a}), \mathbf{1})+\sum_{\mathbf{a} \in \mathcal{A}^{-} \backslash \mathcal{A}^{(u)+}} \operatorname{BCE}(f(\mathbf{a}), \mathbf{0}) ∑a∈A+∪A(u)+BCE(f(a),1)+∑a∈A−\A(u)+BCE(f(a),0)
(2) CEC(Class-specific Expelling Classifier)模块
- 问题:未知类别的对象有可能被预测为已知的某类,且赋予较高的置信度
- 解决:Class-specific Expelling Classifier模块
- CEC模块会淘汰掉错误预测为已知类别的对象
- Φ ( L ‾ i c ) = L ‾ i c − α × 1 M ∑ j ∣ B ~ ∣ ∑ k ∣ B c ∣ [ I ( IOU ( B ~ j , B k c ) > φ ) × L ~ i c ] \Phi\left(\overline{\mathbf{L}}_{i}^{c}\right)=\overline{\mathbf{L}}_{i}^{c}-\alpha \times \frac{1}{M} \sum_{j}^{|\widetilde{\mathbf{B}}|} \sum_{k}^{\left|\mathbf{B}^{c}\right|}\left[\mathcal{I}\left(\operatorname{IOU}\left(\widetilde{\mathbf{B}}_{j}, \mathbf{B}_{k}^{c}\right)>\varphi\right) \times \widetilde{\mathbf{L}}_{i}^{c}\right] Φ(Lic)=Lic−α×M1∑j∣B ∣∑k∣Bc∣[I(IOU(B j,Bkc)>φ)×L ic] ???
- 其中, Y = [ L , B ] \mathbf{Y} = [\mathbf{L}, \mathbf{B}] Y=[L,B] 为ground-truth
- Y ‾ = [ L ‾ , B ‾ ] \overline{\mathbf{Y}}=[\overline{\mathbf{L}}, \overline{\mathbf{B}}] Y=[L,B] 为在测试集的预测结果
- L ~ = [ L ~ , B ~ ] \widetilde{\mathbf{L}}=[\widetilde{\mathbf{L}}, \widetilde{\mathbf{B}}] L =[L ,B ] 为训练集上的预测结果(原文为training images)?
Experiments
(1) 实验设置
- 算力:8 * Tesla V100
- 模型:标准Faster-RCNN,backbone网络为ResNet-50
- 4个递增任务
- batch_size: 8, optimizer: SGD(lr=0.01, momentum=0.9, weight_decay=0.0001)
- task1:迭代次数 90k
- task2-task4:迭代次数 [52k, 40k, 41k],fine-tuning迭代次数 [4k, 2.5k, 3k]
- RPN的unknow proposals 选前top-50
- advisor的proposals 选前top-50
- advisor的超参 θ = 0.7 \theta= 0.7 θ=0.7
- CEC的超参 ϕ = 0.9 \phi=0.9 ϕ=0.9 、 α = 0.5 \alpha=0.5 α=0.5
(2) 实验结果
- Faster-RCNN
- Faster-RCNN + finetuning
- ORE
- ORE*, 不包含 annotation-leakage EBUI的ORE
- Oracle detector 可认为是OWOD的性能上限
结果分析: - WI指标,体现了本文模型对已知的类别检测性能影响最小
- mAP指标,体现了本文模型在上阶段与当前阶段的任务中,对已知类别检测性能都很好,证明了增量学习的能力
- Faster-RCNN虽然在当前任务上性能好,但对先前的预测结果较差,不符合增量学习要求
- UR、UDP、UDR指标,体现了本文模型能从背景中区分出未知类别的对象,并避免错分为已知类别
(3) 消融实验
论证了各模块的有效性
i) 针对PAD的实验
ii) 针对CEC的实验
不同超参下的性能对比
- α \alpha α 的增加,会让预测精度提升,但会损伤召回率
标签:OWOD,mathbf,Object,Detection,已知,mathcal,类别,World,未知 来源: https://blog.csdn.net/qq_45700830/article/details/122690257