ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【论文研读】【目标检测】Revisiting Open World Object Detection

2022-01-25 19:06:41  阅读:304  来源: 互联网

标签:OWOD mathbf Object Detection 已知 mathcal 类别 World 未知


本文对开放世界目标检测任务进行重新梳理,并提出了两种新的衡量指标
针对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,过滤掉不确定的预测结果,避免将未知类别分类到已知类别

(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​+FNu​TPu​+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​​
      ![[imgs/截屏2022-01-18 上午1.06.06.png]]

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指标,体现了本文模型能从背景中区分出未知类别的对象,并避免错分为已知类别
    ![[imgs/截屏2022-01-18 上午4.54.55.png]]

(3) 消融实验

论证了各模块的有效性
![[imgs/截屏2022-01-18 上午4.55.57.png]]

i) 针对PAD的实验

![[imgs/截屏2022-01-18 上午4.57.50.png]]

ii) 针对CEC的实验

不同超参下的性能对比
![[imgs/截屏2022-01-18 上午5.00.02.png]]

  • α \alpha α 的增加,会让预测精度提升,但会损伤召回率

标签:OWOD,mathbf,Object,Detection,已知,mathcal,类别,World,未知
来源: https://blog.csdn.net/qq_45700830/article/details/122690257

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有