1.曾叱诧风云的YOLOv3

在过去的几年里,YOLOv3可以说是大红大紫,做目标检测的同学应该都使用过该网络,在速度和精度上达到了完美的协调,不需要任何的依赖包,全部使用C++实现,看完之后对YOLOv3的作者Joseph Redmon真是顶礼膜拜,真的是大佬,不过刚刚作者宣布退出CV界,忍受不了AI算法用于军事和隐私窥探,对此表示深感惋惜。下面给出一些YOLOv3使用链接:

paper:https://pjreddie.com/media/files/papers/YOLOv3.pdf

code:https://pjreddie.com/darknet/yolo/

另推荐本人写的训练YOLOv3的教程:(YOLOv3训练超详细教程)在Ubuntu 18.04下使用YOLOv3训练数据(提供源码及文件夹)

2.目前优于YOLO的轻量级目标检测网络

  • YOLO Nano

paper: YOLO Nano: a Highly Compact You Only Look Once Convolutional Neural Network for Object Detection

code:  https://github.com/liux0614/yolo_nano/issues/5

研究者提出了名为 YOLO Nano 的网络。这一模型的大小在 4.0MB 左右,比 Tiny YOLOv2 和 Tiny YOLOv3 分别小了 15.1 倍和 8.3 倍。在计算上需要 4.57B 次推断运算,比后两个网络分别少了 34% 和 17%。在性能表现上,在 VOC2007 数据集取得了 69.1% 的 mAP,准确率比后两者分别提升了 12 个点和 10.7 个点。研究者还在 Jetson AGX Xavier 嵌入式模块上,用不同的能源预算进行了测试,进一步说明 YOLO Nano 非常适合边缘设备与移动端。
作者:滑铁卢大学&DarwinAI

实验结果:

2020轻量级目标检测网络(开源)总结
 

  • Gaussian YOLOv3

paper: Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization Uncertainty for Autonomo

code:   https://github.com/jwchoi384/Gaussian_YOLOv3

在目标检测的落地项目中,实时性和精确性的trade-off至关重要,而YOLOv3是目前为止在这方面做得最好的算法。本文通过高斯分布的特性,改进YOLOv3使得网络能够输出每个检测框的不确定性,从而提升了网络的精度。YOLOv3识别出的目标类别是有置信度的,但目标框只有位置而没有置信度,也就是说,从结果中无法预知当前目标框的可靠性。基于这一点,Gaussian-YOLOv3利用Gaussian模型来对网络输出进行建模,在基本不改变YOLOv3网络结构和计算量的情况下,能够输出每个预测框的可靠性,并且在算法总体性能上提升了3个点的mAP。

实验结果:

2020轻量级目标检测网络(开源)总结

 

  • CSPNet

paper:CSPNet: A New Backbone that can Enhance Learning Capability of CNN

code: github.com/WongKinYiu/CrossStagePartialNetworks

很棒的backbone,在检测任务上性能优于YOLOv3-tiny,CSPPeleeNet在Jetson TX2速度高达41FPS!现已开源

2020轻量级目标检测网络(开源)总结
摘要:本文提出了跨阶段局部网络(CSPNet,Cross Stage Partial Network),以缓解以前的工作从网络体系结构角度出发需要大量推理计算的问题。我们将问题归因于网络优化中的重复梯度信息。提出的网络通过集成网络阶段开始和结束时的特征图来respect梯度的可变性,在我们的实验中,该过程将ImageNet数据集的计算量减少了20%,具有同等甚至更高的准确性,并且明显优于状态MS COCO目标检测数据集中的AP50方面的最先进方法。CSPNet易于实施,并且通用性足以应付基于ResNet,ResNeXt和DenseNet的体系结构。

实验结果:

2020轻量级目标检测网络(开源)总结
作者:中央研究院資訊科學研究所&台湾交通大学