{
  "id": 164602,
  "title": "Object detection zoology",
  "url": "/competitions/global-wheat-detection/discussion/164602",
  "author_name": "",
  "post_date": "2020-07-06T20:31:33.827138Z",
  "votes": 16,
  "comment_count": 6,
  "views": 0,
  "content": "<p>Since I am new to this whole object detection business, I thought \"what a better way to learn then listing some of the most popular models?\". So here is my list so far (will update along the way and add more details): </p>\n<ul>\n<li><p><strong>SSD</strong>: <a href=\"https://arxiv.org/pdf/1512.02325.pdf\" target=\"_blank\">paper</a> and pytorch [implementation]. (<a href=\"https://pytorch.org/hub/nvidia_deeplearningexamples_ssd/)\" target=\"_blank\">https://pytorch.org/hub/nvidia_deeplearningexamples_ssd/)</a>. Notice that SSD stands for \"Single Shot MultiBox Detector\".</p></li>\n<li><p><strong>FPN</strong>: <a href=\"https://openaccess.thecvf.com/content_cvpr_2017/papers/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/jwyang/fpn.pytorch\" target=\"_blank\">implementation</a>. Notice that FPN stands for \"Feature Pyramid Networks\". </p></li>\n<li><p><strong>RetinaNET</strong>: <a href=\"https://arxiv.org/pdf/1708.02002.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/yhenon/pytorch-retinanet\" target=\"_blank\">implementation</a>. </p></li>\n<li><p><strong>Mask RCNN</strong>: <a href=\"https://arxiv.org/pdf/1703.06870.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html\" target=\"_blank\">tutorial</a> on how to fine-tune it. Notice that this model is a generalization of <a href=\"https://arxiv.org/abs/1506.01497\" target=\"_blank\">Faster RCNN</a> that adds instance segmentation on top of object detection. </p></li>\n<li><p><strong>CenterNet</strong>: <a href=\"https://arxiv.org/pdf/1904.08189.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/xingyizhou/CenterNet\" target=\"_blank\">implementation</a>.</p></li>\n<li><p><strong>YOLO</strong>: <a href=\"https://pjreddie.com/darknet/yolo/\" target=\"_blank\">website</a> and v3 <a href=\"https://pjreddie.com/media/files/papers/YOLOv3.pdf\" target=\"_blank\">paper</a>. As the website claims, it is 100 times faster than Mask RCNN. There is even a v5 <a href=\"https://github.com/ultralytics/yolov5\" target=\"_blank\">now</a>. Notice that YOLO stands for \"You Only Look Once\". </p></li>\n<li><p><strong>EfficientDet</strong>: <a href=\"https://arxiv.org/pdf/1911.09070.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/rwightman/efficientdet-pytorch\" target=\"_blank\">implementation</a>. </p></li>\n<li><p><strong>DETR</strong>: model detection using the transformer architecture. <a href=\"https://arxiv.org/abs/2005.12872\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/facebookresearch/detr\" target=\"_blank\">implementation</a>. </p></li>\n</ul>\n<p>To dig deeper, here are some more details:</p>\n<ul>\n<li><p><strong>SSD</strong></p>\n<ul>\n<li>SSD is short for single shot detector</li>\n<li>As it is clear from its name, it belonges to the one step family</li>\n<li>Paper accepted around 2016 (end of)</li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-27_at_1.59.27_PM.png\"></p></li>\n<li><p><strong>FPN</strong></p>\n<ul>\n<li>FPN is short for feature pyarmic network</li>\n<li>This isn't an object detection network per say but rather a part</li>\n<li>It is used in many architecture as the features extraction part</li>\n<li>Paper accepted in 2017</li></ul></li>\n<li><p><strong>Mask R-CNN</strong></p>\n<ul>\n<li>From the region proposals series of models, this is the latest one</li>\n<li>It is an extension of faster r-cnn for instance segmentation</li>\n<li>It seems that it gives better results even for object detection</li>\n<li>To learn more, read <a href=\"https://medium.com/@jonathan_hui/what-do-we-learn-from-region-based-object-detectors-faster-r-cnn-r-fcn-fpn-7e354377a7c9\" target=\"_blank\">this</a> blog post and <a href=\"https://paperswithcode.com/method/mask-r-cnn\" target=\"_blank\">this</a> paperswithcode page.</li></ul></li>\n<li><p><strong>RetinaNet</strong></p>\n<ul>\n<li>Uses focal loss</li></ul>\n<p><img src=\"https://miro.medium.com/max/558/1*FCV96tP679EScoiwKq4IaQ.png\"></p>\n<ul>\n<li>Uses FPN as its features extraction layer </li></ul>\n<p><img src=\"https://miro.medium.com/max/1395/1*jQFeF7gj6uCXVzUb08S9lg.png\"></p></li>\n<li><p><strong>CenterNet</strong></p>\n<ul>\n<li>Paper accepted in 2019</li>\n<li>Estimates the center of the bounding box in addition to the corners</li>\n<li>Belongs to the one stage family of models </li>\n<li>Claims to have the best performance for the one stage family and not very far from the best in two stages as well</li>\n<li>Has two networks: one for finding the center and one for finding the corners</li>\n<li>As usual, to learn more check the paperswithcode <a href=\"https://paperswithcode.com/method/centernet\" target=\"_blank\">page</a></li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-23_at_12.29.21_PM_bAPb2Mm.png\"></p></li>\n<li><p><strong>YOLO</strong></p>\n<ul>\n<li>Uses a different format for the outputted bounding box: the center + width and height instead of top-left and bottom-right corners. </li>\n<li>Among the one stage family of moddels</li>\n<li>Fast predictions with great mAP</li>\n<li>Latest versions use FPN as a features extracting layer</li>\n<li>Has been through many iterations (latest being v4). If you want a very complete blog post, check this <a href=\"https://medium.com/@jonathan_hui/yolov4-c9901eaa8e61\" target=\"_blank\">one</a> and the <a href=\"https://paperswithcode.com/method/yolov4\" target=\"_blank\">paperswithcode</a> page. </li>\n<li>V4  paper accepted in 2020</li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/new_ap.jpg\"></p></li>\n\n<li><p><strong>EfficientDet</strong></p>\n<ul>\n<li><p>Originally developed by the google brain team using architecture search. </p></li>\n<li><p>The original accompanying code could be found <a href=\"https://github.com/google/automl/tree/master/efficientdet\" target=\"_blank\">here</a> </p></li>\n<li><p>A great <a href=\"https://www.kaggle.com/shonenkov/training-efficientdet/notebook\" target=\"_blank\">notebook</a> to get started training an EfficientDet model on this competition dataset. Thanks to <a href=\"https://www.kaggle.com/shonenkov\" target=\"_blank\">Alex Shonenkov</a>. </p></li>\n<li><p>To get the backbon weights, go to the <a href=\"https://github.com/rwightman/efficientdet-pytorch/blob/master/README.md#models\" target=\"_blank\">README</a> page, models section, where you can find this table and click on the weights you want</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2Ff93c2555f13dbf00aa02ee5af5802b51%2Feffdet_weights.png?generation=1595103664975637&amp;alt=media\"></p></li>\n<li><p>COCO AP (average precision) vs FLOPS (number of operations per second) graph:</p></li></ul>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2F694e635d898de75b2a968ceb17fd9fde%2Fcoco_ap_vs_flops.png?generation=1595096249664191&amp;alt=media\"></p>\n<ul>\n<li><p>SOTA according to <a href=\"https://paperswithcode.com/paper/efficientdet-scalable-and-efficient-object\" target=\"_blank\">paperwithcode</a>. Here is graph that shows that EfficientDet-D7x (largest model) achieves it on the COCO object detection benchmark:</p>\n<p><img alt=\"coco_object_detection_score.png\"></p></li></ul></li>\n<li><p><strong>DETR</strong> </p>\n<ul>\n<li>DETR is short for detection with transformer</li>\n<li>Paper accepted in 2020</li>\n<li>Uses a transformer layer after the feature extraction one</li>\n<li>Developed by FAIR</li>\n<li>To learn more, check the paperwithcodes <a href=\"https://paperswithcode.com/method/detr\" target=\"_blank\">page</a></li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-07-20_at_9.17.39_PM_ZHS2kmV.png\"></p></li>\n</ul>\n<p>That was a lot of new concepts to grok, so as a reward, here is an approximate timeline: in red the one step models, and green the two steps ones. Notice that FPN doesn't have a category since it is used in both:</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F172860%2F43b5252a12b471baa12e846bca60737d%2Fobject_detection_recent_timeline.png?generation=1600704962462342&amp;alt=media\" alt=\"\"></p>",
  "messages": [
    {
      "id": "917944",
      "postDate": "07/06/2020 20:31:33",
      "content": "<p>Since I am new to this whole object detection business, I thought \"what a better way to learn then listing some of the most popular models?\". So here is my list so far (will update along the way and add more details): </p>\n<ul>\n<li><p><strong>SSD</strong>: <a href=\"https://arxiv.org/pdf/1512.02325.pdf\" target=\"_blank\">paper</a> and pytorch [implementation]. (<a href=\"https://pytorch.org/hub/nvidia_deeplearningexamples_ssd/)\" target=\"_blank\">https://pytorch.org/hub/nvidia_deeplearningexamples_ssd/)</a>. Notice that SSD stands for \"Single Shot MultiBox Detector\".</p></li>\n<li><p><strong>FPN</strong>: <a href=\"https://openaccess.thecvf.com/content_cvpr_2017/papers/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/jwyang/fpn.pytorch\" target=\"_blank\">implementation</a>. Notice that FPN stands for \"Feature Pyramid Networks\". </p></li>\n<li><p><strong>RetinaNET</strong>: <a href=\"https://arxiv.org/pdf/1708.02002.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/yhenon/pytorch-retinanet\" target=\"_blank\">implementation</a>. </p></li>\n<li><p><strong>Mask RCNN</strong>: <a href=\"https://arxiv.org/pdf/1703.06870.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html\" target=\"_blank\">tutorial</a> on how to fine-tune it. Notice that this model is a generalization of <a href=\"https://arxiv.org/abs/1506.01497\" target=\"_blank\">Faster RCNN</a> that adds instance segmentation on top of object detection. </p></li>\n<li><p><strong>CenterNet</strong>: <a href=\"https://arxiv.org/pdf/1904.08189.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/xingyizhou/CenterNet\" target=\"_blank\">implementation</a>.</p></li>\n<li><p><strong>YOLO</strong>: <a href=\"https://pjreddie.com/darknet/yolo/\" target=\"_blank\">website</a> and v3 <a href=\"https://pjreddie.com/media/files/papers/YOLOv3.pdf\" target=\"_blank\">paper</a>. As the website claims, it is 100 times faster than Mask RCNN. There is even a v5 <a href=\"https://github.com/ultralytics/yolov5\" target=\"_blank\">now</a>. Notice that YOLO stands for \"You Only Look Once\". </p></li>\n<li><p><strong>EfficientDet</strong>: <a href=\"https://arxiv.org/pdf/1911.09070.pdf\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/rwightman/efficientdet-pytorch\" target=\"_blank\">implementation</a>. </p></li>\n<li><p><strong>DETR</strong>: model detection using the transformer architecture. <a href=\"https://arxiv.org/abs/2005.12872\" target=\"_blank\">paper</a> and pytorch <a href=\"https://github.com/facebookresearch/detr\" target=\"_blank\">implementation</a>. </p></li>\n</ul>\n<p>To dig deeper, here are some more details:</p>\n<ul>\n<li><p><strong>SSD</strong></p>\n<ul>\n<li>SSD is short for single shot detector</li>\n<li>As it is clear from its name, it belonges to the one step family</li>\n<li>Paper accepted around 2016 (end of)</li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-27_at_1.59.27_PM.png\"></p></li>\n<li><p><strong>FPN</strong></p>\n<ul>\n<li>FPN is short for feature pyarmic network</li>\n<li>This isn't an object detection network per say but rather a part</li>\n<li>It is used in many architecture as the features extraction part</li>\n<li>Paper accepted in 2017</li></ul></li>\n<li><p><strong>Mask R-CNN</strong></p>\n<ul>\n<li>From the region proposals series of models, this is the latest one</li>\n<li>It is an extension of faster r-cnn for instance segmentation</li>\n<li>It seems that it gives better results even for object detection</li>\n<li>To learn more, read <a href=\"https://medium.com/@jonathan_hui/what-do-we-learn-from-region-based-object-detectors-faster-r-cnn-r-fcn-fpn-7e354377a7c9\" target=\"_blank\">this</a> blog post and <a href=\"https://paperswithcode.com/method/mask-r-cnn\" target=\"_blank\">this</a> paperswithcode page.</li></ul></li>\n<li><p><strong>RetinaNet</strong></p>\n<ul>\n<li>Uses focal loss</li></ul>\n<p><img src=\"https://miro.medium.com/max/558/1*FCV96tP679EScoiwKq4IaQ.png\"></p>\n<ul>\n<li>Uses FPN as its features extraction layer </li></ul>\n<p><img src=\"https://miro.medium.com/max/1395/1*jQFeF7gj6uCXVzUb08S9lg.png\"></p></li>\n<li><p><strong>CenterNet</strong></p>\n<ul>\n<li>Paper accepted in 2019</li>\n<li>Estimates the center of the bounding box in addition to the corners</li>\n<li>Belongs to the one stage family of models </li>\n<li>Claims to have the best performance for the one stage family and not very far from the best in two stages as well</li>\n<li>Has two networks: one for finding the center and one for finding the corners</li>\n<li>As usual, to learn more check the paperswithcode <a href=\"https://paperswithcode.com/method/centernet\" target=\"_blank\">page</a></li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-23_at_12.29.21_PM_bAPb2Mm.png\"></p></li>\n<li><p><strong>YOLO</strong></p>\n<ul>\n<li>Uses a different format for the outputted bounding box: the center + width and height instead of top-left and bottom-right corners. </li>\n<li>Among the one stage family of moddels</li>\n<li>Fast predictions with great mAP</li>\n<li>Latest versions use FPN as a features extracting layer</li>\n<li>Has been through many iterations (latest being v4). If you want a very complete blog post, check this <a href=\"https://medium.com/@jonathan_hui/yolov4-c9901eaa8e61\" target=\"_blank\">one</a> and the <a href=\"https://paperswithcode.com/method/yolov4\" target=\"_blank\">paperswithcode</a> page. </li>\n<li>V4  paper accepted in 2020</li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/new_ap.jpg\"></p></li>\n\n<li><p><strong>EfficientDet</strong></p>\n<ul>\n<li><p>Originally developed by the google brain team using architecture search. </p></li>\n<li><p>The original accompanying code could be found <a href=\"https://github.com/google/automl/tree/master/efficientdet\" target=\"_blank\">here</a> </p></li>\n<li><p>A great <a href=\"https://www.kaggle.com/shonenkov/training-efficientdet/notebook\" target=\"_blank\">notebook</a> to get started training an EfficientDet model on this competition dataset. Thanks to <a href=\"https://www.kaggle.com/shonenkov\" target=\"_blank\">Alex Shonenkov</a>. </p></li>\n<li><p>To get the backbon weights, go to the <a href=\"https://github.com/rwightman/efficientdet-pytorch/blob/master/README.md#models\" target=\"_blank\">README</a> page, models section, where you can find this table and click on the weights you want</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2Ff93c2555f13dbf00aa02ee5af5802b51%2Feffdet_weights.png?generation=1595103664975637&amp;alt=media\"></p></li>\n<li><p>COCO AP (average precision) vs FLOPS (number of operations per second) graph:</p></li></ul>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2F694e635d898de75b2a968ceb17fd9fde%2Fcoco_ap_vs_flops.png?generation=1595096249664191&amp;alt=media\"></p>\n<ul>\n<li><p>SOTA according to <a href=\"https://paperswithcode.com/paper/efficientdet-scalable-and-efficient-object\" target=\"_blank\">paperwithcode</a>. Here is graph that shows that EfficientDet-D7x (largest model) achieves it on the COCO object detection benchmark:</p>\n<p><img alt=\"coco_object_detection_score.png\"></p></li></ul></li>\n<li><p><strong>DETR</strong> </p>\n<ul>\n<li>DETR is short for detection with transformer</li>\n<li>Paper accepted in 2020</li>\n<li>Uses a transformer layer after the feature extraction one</li>\n<li>Developed by FAIR</li>\n<li>To learn more, check the paperwithcodes <a href=\"https://paperswithcode.com/method/detr\" target=\"_blank\">page</a></li></ul>\n<p><img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-07-20_at_9.17.39_PM_ZHS2kmV.png\"></p></li>\n</ul>\n<p>That was a lot of new concepts to grok, so as a reward, here is an approximate timeline: in red the one step models, and green the two steps ones. Notice that FPN doesn't have a category since it is used in both:</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F172860%2F43b5252a12b471baa12e846bca60737d%2Fobject_detection_recent_timeline.png?generation=1600704962462342&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "Since I am new to this whole object detection business, I thought \"what a better way to learn then listing some of the most popular models?\". So here is my list so far (will update along the way and add more details): \n\n\n* **SSD**: [paper](https://arxiv.org/pdf/1512.02325.pdf) and pytorch [implementation]. (https://pytorch.org/hub/nvidia_deeplearningexamples_ssd/). Notice that SSD stands for \"Single Shot MultiBox Detector\".\n\n* **FPN**: [paper](https://openaccess.thecvf.com/content_cvpr_2017/papers/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.pdf) and pytorch [implementation](https://github.com/jwyang/fpn.pytorch). Notice that FPN stands for \"Feature Pyramid Networks\". \n\n* **RetinaNET**: [paper](https://arxiv.org/pdf/1708.02002.pdf) and pytorch [implementation](https://github.com/yhenon/pytorch-retinanet). \n\n* **Mask RCNN**: [paper](https://arxiv.org/pdf/1703.06870.pdf) and pytorch [tutorial](https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html) on how to fine-tune it. Notice that this model is a generalization of [Faster RCNN](https://arxiv.org/abs/1506.01497) that adds instance segmentation on top of object detection. \n\n* **CenterNet**: [paper](https://arxiv.org/pdf/1904.08189.pdf) and pytorch [implementation](https://github.com/xingyizhou/CenterNet).\n\n* **YOLO**: [website](https://pjreddie.com/darknet/yolo/) and v3 [paper](https://pjreddie.com/media/files/papers/YOLOv3.pdf). As the website claims, it is 100 times faster than Mask RCNN. There is even a v5 [now](https://github.com/ultralytics/yolov5). Notice that YOLO stands for \"You Only Look Once\". \n\n* **EfficientDet**: [paper](https://arxiv.org/pdf/1911.09070.pdf) and pytorch [implementation](https://github.com/rwightman/efficientdet-pytorch). \n\n* **DETR**: model detection using the transformer architecture. [paper](https://arxiv.org/abs/2005.12872) and pytorch [implementation](https://github.com/facebookresearch/detr). \n\n\n\nTo dig deeper, here are some more details:\n\n\n\n  \n* **SSD**\n\n  * SSD is short for single shot detector\n  * As it is clear from its name, it belonges to the one step family\n  * Paper accepted around 2016 (end of)\n  \n  <img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-27_at_1.59.27_PM.png\" width=480>\n  \n  \n* **FPN**\n\n  * FPN is short for feature pyarmic network\n  * This isn't an object detection network per say but rather a part\n  * It is used in many architecture as the features extraction part\n  * Paper accepted in 2017\n\n* **Mask R-CNN**\n\n  * From the region proposals series of models, this is the latest one\n  * It is an extension of faster r-cnn for instance segmentation\n  * It seems that it gives better results even for object detection\n  * To learn more, read [this](https://medium.com/@jonathan_hui/what-do-we-learn-from-region-based-object-detectors-faster-r-cnn-r-fcn-fpn-7e354377a7c9) blog post and [this](https://paperswithcode.com/method/mask-r-cnn) paperswithcode page.\n\n\n* **RetinaNet**\n\n  * Uses focal loss\n  \n  <img src=\"https://miro.medium.com/max/558/1*FCV96tP679EScoiwKq4IaQ.png\" width=240>\n  \n  * Uses FPN as its features extraction layer \n  \n  <img src=\"https://miro.medium.com/max/1395/1*jQFeF7gj6uCXVzUb08S9lg.png\" width=480>\n\n* **CenterNet**\n\n  * Paper accepted in 2019\n  * Estimates the center of the bounding box in addition to the corners\n  * Belongs to the one stage family of models \n  * Claims to have the best performance for the one stage family and not very far from the best in two stages as well\n  * Has two networks: one for finding the center and one for finding the corners\n  * As usual, to learn more check the paperswithcode [page](https://paperswithcode.com/method/centernet)\n  \n  <img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-23_at_12.29.21_PM_bAPb2Mm.png\" width=480>\n\n* **YOLO**\n\n  * Uses a different format for the outputted bounding box: the center + width and height instead of top-left and bottom-right corners. \n  * Among the one stage family of moddels\n  * Fast predictions with great mAP\n  * Latest versions use FPN as a features extracting layer\n  * Has been through many iterations (latest being v4). If you want a very complete blog post, check this [one](https://medium.com/@jonathan_hui/yolov4-c9901eaa8e61) and the [paperswithcode](https://paperswithcode.com/method/yolov4) page. \n  * V4  paper accepted in 2020\n  \n  <img src=\"https://paperswithcode.com/media/methods/new_ap.jpg\" width=480>\n\n\n\n* **EfficientDet**\n\n  * Originally developed by the google brain team using architecture search. \n  * The original accompanying code could be found [here](https://github.com/google/automl/tree/master/efficientdet) \n  * A great [notebook](https://www.kaggle.com/shonenkov/training-efficientdet/notebook) to get started training an EfficientDet model on this competition dataset. Thanks to [Alex Shonenkov](https://www.kaggle.com/shonenkov). \n  * To get the backbon weights, go to the [README](https://github.com/rwightman/efficientdet-pytorch/blob/master/README.md#models) page, models section, where you can find this table and click on the weights you want\n\n     <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2Ff93c2555f13dbf00aa02ee5af5802b51%2Feffdet_weights.png?generation=1595103664975637&amp;alt=media\" width=480>\n  \n  * COCO AP (average precision) vs FLOPS (number of operations per second) graph:\n\n    <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2F694e635d898de75b2a968ceb17fd9fde%2Fcoco_ap_vs_flops.png?generation=1595096249664191&amp;alt=media\" width=480>\n\n\n  * SOTA according to [paperwithcode](https://paperswithcode.com/paper/efficientdet-scalable-and-efficient-object). Here is graph that shows that EfficientDet-D7x (largest model) achieves it on the COCO object detection benchmark:\n  \n     ![coco_object_detection_score.png](attachment:coco_object_detection_score.png)\n \n\n* **DETR** \n\n  * DETR is short for detection with transformer\n  * Paper accepted in 2020\n  * Uses a transformer layer after the feature extraction one\n  * Developed by FAIR\n  * To learn more, check the paperwithcodes [page](https://paperswithcode.com/method/detr)\n \n  <img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-07-20_at_9.17.39_PM_ZHS2kmV.png\" width=480>\n\n\nThat was a lot of new concepts to grok, so as a reward, here is an approximate timeline: in red the one step models, and green the two steps ones. Notice that FPN doesn't have a category since it is used in both:\n\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F172860%2F43b5252a12b471baa12e846bca60737d%2Fobject_detection_recent_timeline.png?generation=1600704962462342&alt=media)",
      "votes": null
    },
    {
      "id": "922233",
      "postDate": "07/09/2020 23:57:56",
      "content": "<p>Nice find ! U forgot FB's Detr :\n<a href=\"https://github.com/facebookresearch/detr\">https://github.com/facebookresearch/detr</a></p>\n\n<p>cheers\nsid</p>",
      "rawMarkdown": "Nice find ! U forgot FB's Detr :\nhttps://github.com/facebookresearch/detr\n\ncheers\nsid",
      "votes": null
    },
    {
      "id": "923454",
      "postDate": "07/10/2020 21:35:45",
      "content": "<p>Indeed. Will add it, thanks. 👌 </p>",
      "rawMarkdown": "Indeed. Will add it, thanks. 👌",
      "votes": null
    },
    {
      "id": "924738",
      "postDate": "07/11/2020 15:51:08",
      "content": "<p>Added! 👌 </p>",
      "rawMarkdown": "Added! 👌",
      "votes": null
    },
    {
      "id": "932168",
      "postDate": "07/16/2020 19:18:45",
      "content": "<p>[EDIT 16-7-2020] Started adding some details about each model, starting with EfficientDet.</p>",
      "rawMarkdown": "[EDIT 16-7-2020] Started adding some details about each model, starting with EfficientDet.",
      "votes": null
    },
    {
      "id": "934196",
      "postDate": "07/18/2020 09:55:19",
      "content": "<p>[EDIT 18-7-2020] More details for EfficientDet, CenterNet, and DETR. </p>",
      "rawMarkdown": "[EDIT 18-7-2020] More details for EfficientDet, CenterNet, and DETR.",
      "votes": null
    },
    {
      "id": "1021104",
      "postDate": "09/21/2020 16:16:56",
      "content": "<p>[EDIT 21-9-2020] Much more details for various models and a nice timeline. :)</p>",
      "rawMarkdown": "[EDIT 21-9-2020] Much more details for various models and a nice timeline. :)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1021104,
      "author_name": "yassinealouini",
      "author_url": "",
      "post_date": "09/21/2020 16:16:56",
      "content": "<p>[EDIT 21-9-2020] Much more details for various models and a nice timeline. :)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 922233,
      "author_name": "sidneyng",
      "author_url": "",
      "post_date": "07/09/2020 23:57:56",
      "content": "<p>Nice find ! U forgot FB's Detr :\n<a href=\"https://github.com/facebookresearch/detr\">https://github.com/facebookresearch/detr</a></p>\n\n<p>cheers\nsid</p>",
      "votes": null,
      "replies": [
        {
          "id": 923454,
          "author_name": "yassinealouini",
          "author_url": "",
          "post_date": "07/10/2020 21:35:45",
          "content": "<p>Indeed. Will add it, thanks. 👌 </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 924738,
          "author_name": "yassinealouini",
          "author_url": "",
          "post_date": "07/11/2020 15:51:08",
          "content": "<p>Added! 👌 </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 932168,
      "author_name": "yassinealouini",
      "author_url": "",
      "post_date": "07/16/2020 19:18:45",
      "content": "<p>[EDIT 16-7-2020] Started adding some details about each model, starting with EfficientDet.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 934196,
      "author_name": "yassinealouini",
      "author_url": "",
      "post_date": "07/18/2020 09:55:19",
      "content": "<p>[EDIT 18-7-2020] More details for EfficientDet, CenterNet, and DETR. </p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "917944": "Since I am new to this whole object detection business, I thought \"what a better way to learn then listing some of the most popular models?\". So here is my list so far (will update along the way and add more details): \n\n\n* **SSD**: [paper](https://arxiv.org/pdf/1512.02325.pdf) and pytorch [implementation]. (https://pytorch.org/hub/nvidia_deeplearningexamples_ssd/). Notice that SSD stands for \"Single Shot MultiBox Detector\".\n\n* **FPN**: [paper](https://openaccess.thecvf.com/content_cvpr_2017/papers/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.pdf) and pytorch [implementation](https://github.com/jwyang/fpn.pytorch). Notice that FPN stands for \"Feature Pyramid Networks\". \n\n* **RetinaNET**: [paper](https://arxiv.org/pdf/1708.02002.pdf) and pytorch [implementation](https://github.com/yhenon/pytorch-retinanet). \n\n* **Mask RCNN**: [paper](https://arxiv.org/pdf/1703.06870.pdf) and pytorch [tutorial](https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html) on how to fine-tune it. Notice that this model is a generalization of [Faster RCNN](https://arxiv.org/abs/1506.01497) that adds instance segmentation on top of object detection. \n\n* **CenterNet**: [paper](https://arxiv.org/pdf/1904.08189.pdf) and pytorch [implementation](https://github.com/xingyizhou/CenterNet).\n\n* **YOLO**: [website](https://pjreddie.com/darknet/yolo/) and v3 [paper](https://pjreddie.com/media/files/papers/YOLOv3.pdf). As the website claims, it is 100 times faster than Mask RCNN. There is even a v5 [now](https://github.com/ultralytics/yolov5). Notice that YOLO stands for \"You Only Look Once\". \n\n* **EfficientDet**: [paper](https://arxiv.org/pdf/1911.09070.pdf) and pytorch [implementation](https://github.com/rwightman/efficientdet-pytorch). \n\n* **DETR**: model detection using the transformer architecture. [paper](https://arxiv.org/abs/2005.12872) and pytorch [implementation](https://github.com/facebookresearch/detr). \n\n\n\nTo dig deeper, here are some more details:\n\n\n\n  \n* **SSD**\n\n  * SSD is short for single shot detector\n  * As it is clear from its name, it belonges to the one step family\n  * Paper accepted around 2016 (end of)\n  \n  <img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-27_at_1.59.27_PM.png\" width=480>\n  \n  \n* **FPN**\n\n  * FPN is short for feature pyarmic network\n  * This isn't an object detection network per say but rather a part\n  * It is used in many architecture as the features extraction part\n  * Paper accepted in 2017\n\n* **Mask R-CNN**\n\n  * From the region proposals series of models, this is the latest one\n  * It is an extension of faster r-cnn for instance segmentation\n  * It seems that it gives better results even for object detection\n  * To learn more, read [this](https://medium.com/@jonathan_hui/what-do-we-learn-from-region-based-object-detectors-faster-r-cnn-r-fcn-fpn-7e354377a7c9) blog post and [this](https://paperswithcode.com/method/mask-r-cnn) paperswithcode page.\n\n\n* **RetinaNet**\n\n  * Uses focal loss\n  \n  <img src=\"https://miro.medium.com/max/558/1*FCV96tP679EScoiwKq4IaQ.png\" width=240>\n  \n  * Uses FPN as its features extraction layer \n  \n  <img src=\"https://miro.medium.com/max/1395/1*jQFeF7gj6uCXVzUb08S9lg.png\" width=480>\n\n* **CenterNet**\n\n  * Paper accepted in 2019\n  * Estimates the center of the bounding box in addition to the corners\n  * Belongs to the one stage family of models \n  * Claims to have the best performance for the one stage family and not very far from the best in two stages as well\n  * Has two networks: one for finding the center and one for finding the corners\n  * As usual, to learn more check the paperswithcode [page](https://paperswithcode.com/method/centernet)\n  \n  <img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-06-23_at_12.29.21_PM_bAPb2Mm.png\" width=480>\n\n* **YOLO**\n\n  * Uses a different format for the outputted bounding box: the center + width and height instead of top-left and bottom-right corners. \n  * Among the one stage family of moddels\n  * Fast predictions with great mAP\n  * Latest versions use FPN as a features extracting layer\n  * Has been through many iterations (latest being v4). If you want a very complete blog post, check this [one](https://medium.com/@jonathan_hui/yolov4-c9901eaa8e61) and the [paperswithcode](https://paperswithcode.com/method/yolov4) page. \n  * V4  paper accepted in 2020\n  \n  <img src=\"https://paperswithcode.com/media/methods/new_ap.jpg\" width=480>\n\n\n\n* **EfficientDet**\n\n  * Originally developed by the google brain team using architecture search. \n  * The original accompanying code could be found [here](https://github.com/google/automl/tree/master/efficientdet) \n  * A great [notebook](https://www.kaggle.com/shonenkov/training-efficientdet/notebook) to get started training an EfficientDet model on this competition dataset. Thanks to [Alex Shonenkov](https://www.kaggle.com/shonenkov). \n  * To get the backbon weights, go to the [README](https://github.com/rwightman/efficientdet-pytorch/blob/master/README.md#models) page, models section, where you can find this table and click on the weights you want\n\n     <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2Ff93c2555f13dbf00aa02ee5af5802b51%2Feffdet_weights.png?generation=1595103664975637&amp;alt=media\" width=480>\n  \n  * COCO AP (average precision) vs FLOPS (number of operations per second) graph:\n\n    <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-user-content/o/inbox%2F172860%2F694e635d898de75b2a968ceb17fd9fde%2Fcoco_ap_vs_flops.png?generation=1595096249664191&amp;alt=media\" width=480>\n\n\n  * SOTA according to [paperwithcode](https://paperswithcode.com/paper/efficientdet-scalable-and-efficient-object). Here is graph that shows that EfficientDet-D7x (largest model) achieves it on the COCO object detection benchmark:\n  \n     ![coco_object_detection_score.png](attachment:coco_object_detection_score.png)\n \n\n* **DETR** \n\n  * DETR is short for detection with transformer\n  * Paper accepted in 2020\n  * Uses a transformer layer after the feature extraction one\n  * Developed by FAIR\n  * To learn more, check the paperwithcodes [page](https://paperswithcode.com/method/detr)\n \n  <img src=\"https://paperswithcode.com/media/methods/Screen_Shot_2020-07-20_at_9.17.39_PM_ZHS2kmV.png\" width=480>\n\n\nThat was a lot of new concepts to grok, so as a reward, here is an approximate timeline: in red the one step models, and green the two steps ones. Notice that FPN doesn't have a category since it is used in both:\n\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F172860%2F43b5252a12b471baa12e846bca60737d%2Fobject_detection_recent_timeline.png?generation=1600704962462342&alt=media)",
    "922233": "Nice find ! U forgot FB's Detr :\nhttps://github.com/facebookresearch/detr\n\ncheers\nsid",
    "923454": "Indeed. Will add it, thanks. 👌",
    "924738": "Added! 👌",
    "932168": "[EDIT 16-7-2020] Started adding some details about each model, starting with EfficientDet.",
    "934196": "[EDIT 18-7-2020] More details for EfficientDet, CenterNet, and DETR.",
    "1021104": "[EDIT 21-9-2020] Much more details for various models and a nice timeline. :)"
  },
  "source": "meta"
}