目標檢測(Object Detection)是深度學習 CV 領域的一個核心研究領域和重要分支。縱觀 2013 年到 2019 年,從最早的 R-CNN、Fast R-CNN 到後來的 YOLO v2、YOLO v3 再到今年的 M2Det,新模型層出不窮,效能也越來越好!本文將會對目標檢測近幾年的發展和相關論文做出一份系統介紹,總結一份超全的文獻 paper 列表。
模型列表先一睹為快!(建議收藏)
這份目標檢測超全的技術路線總結來自於 GitHub 上一個知名專案,作者是 Lee hoseong,專案地址是:
https://github.com/hoya012/deep_learning_object_detection
該技術路線橫跨時間是 2014 年至 2019 年,上圖總結了這期間目標檢測所有重要的模型。圖中標紅的部分是作者認為比較重要,需要重點掌握的模型。當然每個人有都有各自的評價。
模型效能比較
FPS(速度)索引與硬體規格(如 CPU、GPU、RAM 等)有關,因此很難進行同等比較。解決方案是在具有相同規格的硬體上測量所有模型的效能,但這是非常困難和耗時的。比較結果如下:
下面舉例對標紅的重要模型進行介紹!
2014 年
R-CNN
Rich feature hierarchies for accurate object detection and semantic segmentation | Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik | [CVPR’ 14]
論文:
https://arxiv.org/pdf/1311.2524.pdf
程式碼 Caffe:
https://github.com/rbgirshick/rcnn
OverFeat
OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks | Pierre Sermanet, et al. | [ICLR’ 14]
論文:
https://arxiv.org/pdf/1312.6229.pdf
程式碼 Torch:
https://github.com/sermanet/OverFeat
2015 年
Fast R-CNN
Fast R-CNN | Ross Girshick | [ICCV’ 15]
論文:
https://arxiv.org/pdf/1504.08083.pdf
程式碼 caffe:
https://github.com/rbgirshick/fast-rcnn
Faster R-CNN
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks | Shaoqing Ren, et al. | [NIPS’ 15]
論文:
https://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf
程式碼 caffe:
https://github.com/rbgirshick/py-faster-rcnn
程式碼 tensorflow:
https://github.com/endernewton/tf-faster-rcnn
程式碼 pytorch:
https://github.com/jwyang/faster-rcnn.pytorch
2016 年
OHEM
Training Region-based Object Detectors with Online Hard Example Mining | Abhinav Shrivastava, et al. | [CVPR’ 16]
論文:
https://arxiv.org/pdf/1604.03540.pdf
程式碼 caffe:
https://github.com/abhi2610/ohem
YOLO v1
You Only Look Once: Unified, Real-Time Object Detection | Joseph Redmon, et al. | [CVPR’ 16]
論文:
https://arxiv.org/pdf/1506.02640.pdf
程式碼 c:
https://pjreddie.com/darknet/yolo/
SSD
Single Shot MultiBox Detector | Wei Liu, et al. | [ECCV’ 16]
論文:
https://arxiv.org/pdf/1512.02325.pdf
程式碼 caffe:
https://github.com/weiliu89/caffe/tree/ssd
程式碼 tensorflow:
https://github.com/balancap/SSD-Tensorflow
程式碼 pytorch:
https://github.com/amdegroot/ssd.pytorch
R-FCN
Object Detection via Region-based Fully Convolutional Networks | Jifeng Dai, et al. | [NIPS’ 16]
論文:
https://arxiv.org/pdf/1605.06409.pdf
程式碼 caffe:
https://github.com/daijifeng001/R-FCN
程式碼 caffe:
https://github.com/YuwenXiong/py-R-FCN
2017 年
YOLO v2
Better, Faster, Stronger | Joseph Redmon, Ali Farhadi | [CVPR’ 17]
論文:
https://arxiv.org/pdf/1612.08242.pdf
程式碼 c:
https://pjreddie.com/darknet/yolo/
程式碼 caffe:
https://github.com/quhezheng/caffe_yolo_v2
程式碼 tensorflow:
https://github.com/nilboy/tensorflow-yolo
程式碼 tensorflow:
https://github.com/sualab/object-detection-yolov2
程式碼 pytorch:
https://github.com/longcw/yolo2-pytorch
FPN
Feature Pyramid Networks for Object Detection | Tsung-Yi Lin, et al. | [CVPR’ 17]
論文:
http://openaccess.thecvf.com/content_cvpr_2017/papers/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.pdf
程式碼 caffe:
https://github.com/unsky/FPN
RetinaNet
Focal Loss for Dense Object Detection | Tsung-Yi Lin, et al. | [ICCV’ 17]
論文:
https://arxiv.org/pdf/1708.02002.pdf
程式碼 keras:
https://github.com/fizyr/keras-retinanet
程式碼 pytorch:
https://github.com/kuangliu/pytorch-retinanet
程式碼 mxnet:
https://github.com/unsky/RetinaNet
程式碼 tensorflow:
https://github.com/tensorflow/tpu/tree/master/models/official/retinanet
Mask R-CNN
Kaiming He, et al. | [ICCV’ 17]
論文:
http://openaccess.thecvf.com/content_ICCV_2017/papers/He_Mask_R-CNN_ICCV_2017_paper.pdf
程式碼 caffe2:
https://github.com/facebookresearch/Detectron
程式碼 tensorflow:
https://github.com/matterport/Mask_RCNN
程式碼 tensorflow:
https://github.com/CharlesShang/FastMaskRCNN
程式碼 pytorch:
https://github.com/multimodallearning/pytorch-mask-rcnn
2018 年
YOLO v3
An Incremental Improvement | Joseph Redmon, Ali Farhadi | [arXiv’ 18]
論文:
https://pjreddie.com/media/files/papers/YOLOv3.pdf
程式碼 c:
https://pjreddie.com/darknet/yolo/
程式碼 pytorch:
https://github.com/ayooshkathuria/pytorch-yolo-v3
程式碼 pytorch:
https://github.com/eriklindernoren/PyTorch-YOLOv3
程式碼 keras:
https://github.com/qqwweee/keras-yolo3
程式碼 tensorflow:
https://github.com/mystic123/tensorflow-yolo-v3
RefineDet
Single-Shot Refinement Neural Network for Object Detection | Shifeng Zhang, et al. | [CVPR’ 18]
論文:
http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhang_Single-Shot_Refinement_Neural_CVPR_2018_paper.pdf
程式碼 caffe:
https://github.com/sfzhang15/RefineDet
程式碼 chainer:
https://github.com/fukatani/RefineDet_chainer
程式碼 pytorch:
https://github.com/lzx1413/PytorchSSD
2019 年
M2Det
A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network | Qijie Zhao, et al. | [AAAI’ 19]
論文:
https://arxiv.org/pdf/1811.04533.pdf
參考文獻
該專案的參考文獻來自於論文《Deep Learning for Generic Object Detection: A Survey》
論文地址:
https://arxiv.org/pdf/1809.02165v1.pdf