目标检测单阶段与两阶段的区别----One-stage和Two-stage的详解
目标检测:2014~2019方法汇总
各网络的源码:https://github.com/hoya012/deep_learning_object_detection
二维目标检测的优化方向
二维目标检测实现和优化方向包括backbone、IoU、损失函数、NMS、anchor、one shot learning/zero shot learning等。
-
基于目标检测的backbone和特征提取
目标检测的backbone一般基于ImageNet预训练的图像分类网络。图像分类问题只关注分类和感受视野,不用关注物体定位,但是目标检测领域同时很关注空间信息。如果下采样过多,会导致最后的feature map很小,小目标很容易漏掉。很多基础架构网络,比如ResNet、Xception、DenseNet、FPN、DetNet、R-CNN,PANet、等神经网络提取图像的上下文信息,不断在特征提取方向优化。 -
基于优化的算法
包括UnitBox,IoU-Net[1],旷视科技ECCV2018有一篇论文是引入IoU-Net,其能预测检测到的边界框和它们对应的真实目标框之间的 IoU,使得该网络能像其分类模块一样,对检测框的定位精确程度有所掌握,神经网络在Backbone引入IoU-Net做边界修订。 -
基于优化损失函数的方法
包括L1和L2,Focal loss等。 -
基于优化NMS的方法
包括Soft-NMS,Softer-NMS,以及Relation Netwrok,ConvNMS,NMS Network,Yes-Net等,详细可参看本人一篇笔记《目标检测算法中检测框合并策略技术综述》[2]。 -
基于Anchor生成的算法
比如Sliding window、Region Proposal Network (RPN) 、CornerNet、meta-anchor等。 -
one-shot learning以及zero shot learning
都属于迁移学习领域主要研究的是网络少样本精准分类问题,单样本学习能力。CVPR2019有一篇基于one-shot learning[7],值得关注。