目标检测中的特征冲突与不对齐问题
小白学视觉
共 8446字,需浏览 17分钟
· 2021-06-09
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自|深度学习这件小事
前言
Two-stage目标检测中的特征/任务冲突问题
1.1 Two-stage目标检测的流程与原理
![](https://filescdn.proginn.com/0f6b23007929aa2ea66b1914279428f1/413486aef103801f7c2af8cde8e6bb3b.webp)
1.2 现有的相关解决方案
![](https://filescdn.proginn.com/e8b0641eca0bf3aec5387d7eb1194a68/ace2317960d35c608d8058bd734fdd97.webp)
![](https://filescdn.proginn.com/53b2a5b6d59575ca37700342b2c05f80/0eab5ac94de5ba49e082594fcdfbbbc3.webp)
![](https://filescdn.proginn.com/e7a202ec3fa19422cc6896af45148c77/1890763865512b3235a1efc1832e9f46.webp)
![](https://filescdn.proginn.com/518f9f6f8a88219d33b3986292e74da7/f7bc12c2d9afb5c0bc71f488e015b58b.webp)
![](https://filescdn.proginn.com/9be1732f9fab14ecf917c2712de3a5fb/33453dbff8c22caf157d46ea34e02c2a.webp)
![](https://filescdn.proginn.com/c0cb151a989c74b71a461b5b2d562c5d/66ea444ee7d6233011e3767dbd369389.webp)
![](https://filescdn.proginn.com/c86d84566cfe5475ca11c6474ef52d5e/8dacb7350b6605ebcbc50508b450c8ee.webp)
![](https://filescdn.proginn.com/c2c36e0b5956ffbd9094b6da62c15a07/6e05389ff87ca2f97effa2e8a5e78dee.webp)
![](https://filescdn.proginn.com/824bcb1b936cb80d2e92300f27e64172/c061f7e3b3e7511f92320d9abcb01e30.webp)
One-stage目标检测中的特征不对齐问题
2.1 One-stage目标检测中的问题
![](https://filescdn.proginn.com/865d888017b7745e5f7e0f7c8e6b878d/0731ffef66e43afcd8f4b7ae5ea87993.webp)
2.2 “1.5-stage"解决策略
![](https://filescdn.proginn.com/e0d9194c0c6a9864fb313a94ee3e40e3/b0fba16b8f839d280716a90189cc0469.webp)
![](https://filescdn.proginn.com/be5ce7b4d836f40e89c6677f1e5380fb/69d6e9529c59982ce3eed3bc4c6d8c86.webp)
![](https://filescdn.proginn.com/f2e2726084425afdffb78f911171c82f/1a3aa820e7711ac3fe03a91c48132403.webp)
![](https://filescdn.proginn.com/3e2d26b46c4895701ea50f17cb218122/2614d9273dd100d7bfffe7a38d4f297e.webp)
![](https://filescdn.proginn.com/5b030066c6f64cbac62c6b9f45310a30/2e9e6f2ee24868d7988fe4137c0cbc8f.webp)
![](https://filescdn.proginn.com/6a0d4f098ce323114bbdc1e123a9b885/d5998909bee879ea66f37fbe5fdd1561.webp)
![](https://filescdn.proginn.com/5b9f87a16488c40617281edf59d81b70/ce3190a56e675313db7823954658f761.webp)
《1st Place Solutions for OpenImage2019 - Object Detection and Instance Segmentation》介绍
-
Decoupling Head
![](https://filescdn.proginn.com/1c27afbe1f6da457b57d6bd2c95f335b/ebe4c14c160cf55ce81c0464b9156936.webp)
作者出发点是目标检测框架中分类的回归任务对于特征的要求不同,而这一点在我上面提到的Double Head RCNN已经提过了。Decoupling Head则是考虑到我们前文提到的anchor和特征不对齐问题,利用传统的ROI Pooling主干预测anchor的粗略位置,然后用deform conv的方式校正分类分支。再在主干上保留原始的回归和分类任务。总而言之可以将其概括为:Double Head RCNN + AlignDet + Faster RCNN
-
Adj-NMS
这部分作者的描述方案很“有意思”,作者考虑到NMS和soft-NMS的不足,先利用0.5的IOU阈值做了一次NMS,将靠得比较近的候选框过滤掉了,然后再用基于高斯核的soft-NMS做二次过滤。
![](https://filescdn.proginn.com/3e62347eb65c2fa202ad51a756ba8334/deee6b112a6859896133a2a4c7eaa1a3.webp)
我们可以根据这个公式来看看,假设分类置信度阈值为0.5,候选框分类置信度为1,那么Soft-NMS阶段要想留下,IOU必须小于0.59,而第一次的NMS已经将IOU>0.5的候选框过滤掉了,所以这个理论上可行。因此我们可以认为作者几乎不怎么考虑特别密集拥挤的场景了。
![](https://filescdn.proginn.com/d454adc822978fa2eea92a224ea9a60a/6a4e716ec0d0f3ebcfe5cf93a3b8c6ca.webp)
其效果也有0.174个点的提升。其实如果注意的话,有点像前文介绍Cascade RCNN是所提到了Iterative bbox策略,即做多次NMS。SoftNMS只能通过重新打分捞回原本得分比较低的样本,但是NMS已经将大部分的候选框给过滤掉了,所以我很好奇这是怎么生效的。
-
Model Ensemble
很多大型比赛的固定策略“Ensemble",已经不奇怪了。naive ensemble的策略是借鉴的2018年的OpenImage第二名,给定bounding boxes(P),以及topk个与之IOU较高的候选框,依据验证集的分数来分配各个模型在集成时的权重,这里还分各个目标类别,然后进行加权:
![](https://filescdn.proginn.com/19f3b26766d8d07dca60213ed3fccfa6/a6fab9d5e650e5cbc768ed86719843c4.webp)
这里作者训练了28个目标检测网络....,利用二叉树的方式进行模型空间搜索。
-
Data Re-sampling
确保500个类别的目标中各个类别被选取的概率相等。 -
Decoupling Backbone
对于第25~28个模型,采取Decouple Head的策略,其中回归分支的权重较小。 -
Elaborate Augmentation
随机选择一个类别,利用旋转放缩裁剪等方式进行数据增强,这样可以使得一幅图中的类别数变少,缓解数据不平衡问题。 -
Expert Model
利用专门的网络训练专门的子类别数据集,这里面考虑了正负样本均衡的问题,容易混淆(标注标准不同,表观相似)的样本。 -
AnchorSelecting
跟YOLO系列一样,利用k-means方法得到18组anchors(6种长宽比,3种尺寸)。 -
Cascade RCNN
设置了0.5,0.5,0.6,0.7四个阶段的级联检测,这我就搞不懂Adj-NMS干嘛用的了。 -
Weakly Supervised Training
由于OpenImage数据集中各类别的“长尾分布”很明显,严重不均衡,所以作者增加了一些图像级的标注,结合有监督和WSDDN算法中的弱监督算法联合训练。 -
Relationships Between Categories
作者通过分析数据集中部分类别目标之间的联系,比如person和guitar等等,类似于条件概率,来修正分类置信度,比如一个有person在旁边的guitar要比没有person的guitar置信度要高。 -
Data Understanding
作者发现OpenImage数据集中对于特定类别的目标标注有歧义,比如火炬和手电筒,剑和匕首等,所以作者将有歧义的类别细分成了上面说的多类。同时作者也发现有些目标,比如葡萄缺乏个体检测框等,作者就利用葡萄串的实例标注,扩展了很多葡萄框。
说在后面的话
参考资料
—完—
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论