开放集合目标检测任务 Open-set Detection
时间:2022-08-03 17:19:00 sitemap
点击上方“计算机视觉工坊”,选择“星标”
第一时间送达干货
作者黄德波
来源丨GiantPandaCV
【最近因为工程需要,去调查一下 open-set detection 算法,然后找到一篇好论文 《Towards Open-Set Object Detection and Discovery》。额外的论文 memory 作为网络记忆缓存,在实现未知物体坐标回归的同时,也挖掘了未知物体的潜在类别。算法很有趣,也涉及到很多自己的知识盲点,所以和大家分享,一起研究。
论文地址:https://arxiv.org/abs/2204.05604
1.介绍
在之前的 open-set object detection (OSOD) 除了检测和识别已知物体外,还将检测一些未知物体,但将所有未知物体归类为 “未知类”。论文提出 Open-Set Object Detection and Discovery (OSODD),不仅可以检测未知物体,还可以挖掘其潜在类别。OSODD 采用两阶检测方法,先预测已知物体和未知物体,然后学习预测物体的表征,通过无监督和半监督聚类,挖掘未知物体的类别。
2. 任务形式
在 OSODD 假设已知类为 Ck = {C1, C21..,Cm};未知类为 Cu = {Cm 1, Cm 2, ... Cm n},Ck 和 Cu 没有交集。训练集只包括 Ck,而测试集是 Ck 和 Cu 的合集。模型的任务是定位和分类所有物体 I = [c, x, y, w, h],已知物体属于Ck,未知物体属于 Cu。
3. 具体方法
论文提出的 OSODD 包括两部分,分别是 Object Detection and Retrieval (ODR) 和 Object Category Discovery (OCD)。
ODR 是一个带有两个记忆缓存的开集检测器,对于已知物体,检测器预测他们的位置信息和类别,对于未知物体,只预测其位置信息。其中已知物体和类别信息储存在 known memory 未知物体储存在中间 working memory 中。
OCD 主要用途 working memory 挖掘未知物体的类别,包括特征编码器和聚类辨别器。首先,使用非监督比较学习方法 known 和 working memory 在中间训练编码器 latent space 学习更好的物体表征。最后用 constrained k-means 聚类。
3.1 Object Detection and Retrieval
open-set object detector 对所有物体进行定位,同时对已知物体进行分类,并将未知物体归类为unknown” 一类。文中使用了 faster-rcnn 作为模型的 backbone,利用了 RPN 对类别没有感知的特征,把那些和 ground-truth 作为位置对象,没有重叠和高度置信的候选框。为了使物体的特征更加不同,作者使用了比较损失,即计算 ROI pooling 特征与模板之间的差异:
其中模板 pi 是该类特征的滑动平均值。 region of interest pooling 中的 loss 变成:
3.2 Object Category Discovery
由于未知物体的类别不确定,这些物体的潜在类别信息只能通过某种方式挖掘出来,本文采用了 DCT,主要通过特殊的无参数学习 k-mean 估计潜在类别数。为了更好地挖掘未知物体的潜在类别,作者在 OCD 加了一个 encoder,用来学习更具辨别性的东西 embedding。在encoder 中使用 known memory 和 working memory 比较学习,增加 positive pairs 相似相似度 negative pairs类似性,类似于减少类内差,增加类间差,更有利于以后的聚类操作。对比学习的 InfoNCE loss 为:
为了使得 embedding 作者还采用了一种无监督的增强方法,分布更好,创建更多的训练样本 {k} 和 q 线性组合取代了原始组合 {k},对应地,loss 虚拟标签也变成了:
4.实验
在实验中,作者将数据分为三种对应不同的数据 Known / Unknown。对已知物体,使用 mAP 作为检测和评价标准,使用未知物体 UDR 和 UDP 作为检测评价标准:
对于类别挖掘的评价指标,作者采用了聚类精度、归一化互信息和聚类纯度:
因为是 unknown class,因此,不确定具体物体的类别 ID具体是多少,Object Category Discovery (OCD) 也是通过 k-mean 聚类。所以一定要对unknown object 的label 排列组合,计算最大的 ACC,作为最终结果。
5. 结果与分析
作者在 Object Detection 和 Category Discovery 的baseline 对比试验进行了多种组合的消融实验,证明文中提出的方法几乎都达到了最佳性能。
本文仅进行学术分享。如有侵权行为,请联系删除。
下载和学习干货
后台回复:巴塞罗那自治大学课件,下载国外大学沉淀3年D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域的经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域的精品课程
计算机视觉车间精品课程官网:3dcver.com
1.自动驾驶领域的多传感器数据集成技术
2.自动驾驶领域3D点云目标检测全栈学习路线!(单模态 多模态/数据 代码)
3.彻底了解视觉三维重建:原理分析、代码解释、优化和改进
4.中国第一门面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码解释
6.彻底理解视觉-惯性-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底了解基础LOAM框架的3D激光SLAM: 从源代码分析到算法优化
8.室内外激光彻底分析SLAM关键算法原理、代码和实战(cartographer LOAM LIO-SAM)
9.从零开始建造一套结构光3D重建系统[理论 源码 实践]
10.单目深度估计方法:算法梳理和代码实现
11.在自动驾驶中部署深度学习模型
12.相机模与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~