💬

YOLOの各バージョンについてまとめ(2023年5月29日時点)

2023/06/02に公開

元記事(最新はこちらを参照):
https://qiita.com/tfukumori/items/519d84bf3feb8d246924


Chapters

📘 Chapter #0 YOLOとは
📘 Chapter #1 環境設定
📘 Chapter #2 アノテーション
📘 Chapter #3
 📗 Chapter #3-1 YOLOv3 Keras版実装
 📗 Chapter #3-2 YOLOv3 Darknet版
📘 Chapter #A
 📗 Chapter #A-1 YOLOの各バージョンについてまとめ
 📗 Chapter #A-2 YOLOv3 Keras版実装に関して関連記事のまとめ
 📗 Chapter #A-3 ONNX変換・確認ライブラリ、アプリケーションまとめ


概要

  • 2023年5月29日時点でのYOLOの各バージョンについてまとめます。誤記等あればご指摘いただけると助かります。

目次

  • 1. YOLOv1
    • 発表:2016年5月、著者:Joseph Redmon
  • 2. YOLOv2
    • 発表:2017年12月、著者:Joseph Redmon(v1の著者)
  • 3. YOLOv3
    • 発表:2018年4月、著者:Joseph Redmon(v1の著者), Ali Farhadi
  • 4. YOLOv4
    • 発表:2020年4月、著者:Alexey Bochkovskiy
  • 5. YOLOv5
    • 発表:2020年6月9日、著者:Glenn Jocher(Ultralytics社)
  • 6. YOLOv6
    • 発表:2022年6月、著者:Meituan Technical Team
  • 7. YOLOv7
    • 発表:2022年7月、著者:Alexey Bochkovskiy(v4の著者)
  • 8. YOLOv8
    • 発表:2023年1月、著者:Ultralytics社

内容

1. YOLOv1

1.1. 公式サイト、リポジトリ

公式サイト(Darknet実装)
https://pjreddie.com/darknet/yolov1/

1.2. 概要

2016年5月にJoseph Redmonによって発表された。リアルタイム物体検出(Object Detection)の最大の進化の1つといえる。

1.3. 参考

2. YOLOv2

2.1. 公式サイト、リポジトリ

公式サイト(Darknet実装)
https://pjreddie.com/darknet/yolov2/

2.2. 概要

2017年12月、YOLOv1の作者(Joseph Redmon)が別のバージョンを発表した。

2.3. 参考

3. YOLOv3

3.1. 公式サイト、リポジトリ

公式サイト(Darknet実装)

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

リポジトリ(Darknet実装)

https://github.com/pjreddie/darknet

リポジトリ(keras版実装)

https://github.com/qqwweee/keras-yolo3

リポジトリ(PyTorch版実装)

https://github.com/ultralytics/yolov3

  • YOLOv5 作者 Glenn Jocherによる実装

3.2. 概要

2018年4月にYOLOv1、v2の作者が共著(Joseph Redmon, Ali Farhadi)で発表した。YOLOの最も人気のあるバージョンとなる。(YOLOv1の作者が最後にかかわったバージョンとなるため、一部の人々は、YOLOv3を「最後のYOLO」と考えている。)

また、keras版実装PyTorch版実装も提案されている。PyTorch版実装は、YOLOv5の作者であるGlenn Jocherが実装している。

3.3. 参考

4. YOLOv4

4.1. 公式サイト、リポジトリ

リポジトリ(Darknet実装)

https://github.com/AlexeyAB/darknet

4.2. 概要

2020年4月、Alexey BochkovskiyがYOLOv4を論文付きで発表した。Joseph Redmon, Ali Farhadiは第一線から下がったため、誰かが引き継ぐ必要があった。Joseph Redmonも実装に費やした仕事量を称賛し、「私がどう思うかは問題ではない」と述べている。

YOLOv5 作者 Glenn Jocherが関与しているモザイクデータの増強などが含まれており、論文では謝辞が述べられている。

YOLOv3と比較しても平均精度が高く、同一の精度なら高いFPSを出すことができる。

image.png

出典:https://arxiv.org/pdf/2004.10934.pdf

4.3. 参考

5. YOLOv5

5.1. 公式サイト、リポジトリ

リポジトリ(PyTorch実装)

https://github.com/ultralytics/yolov5

5.2. 概要

2020年6月9日にGlenn Jocherによりリリースされた。

この実装はいくつかの点で以前とは異なる。まず、公式の論文はまだ発表されていない(今年論文を発表する計画を述べている)。また、PyTorchで実装しており、YOLOv4以前と異なりDarknetを活用していない。

Joseph Redmonが関わっていないことからネーミングについては論争がある。

YOLOv4と同じく、モザイクデータの増強などが含まれているとみられ、効率的で高い精度の学習を行うことができると思われる。

リポジトリによれば、YOLOv4と比較してもより高いFPSで効率的な精度と記載されている。

image.png

出典:https://github.com/ultralytics/yolov5

5.3. 参考

6. YOLOv6

6.1. 公式サイト、リポジトリ

https://github.com/meituan/YOLOv6

6.2. 概要

2022年6月に公開。Meituan Technical Teamによるもの。

6.3. 参考

https://farml1.com/yolov6/

2022年6月、新しく「YOLO」の名の付くモデルYOLOv6が公開されました。”YOLOv6″という名前ですが、Ultralytics社の”YOLOv5″からのバージョンアップではなく、Meituan Technical Teamによる異なるアルゴリズムでの開発となっています。YOLOv6のネーミングについてはここにコメントがありました。

引用元:https://farml1.com/yolov6/


What is YOLOv6? A Beginner's Guide.

https://blog.roboflow.com/yolov6/

7. YOLOv7

7.1. 公式サイト、リポジトリ

https://github.com/WongKinYiu/yolov7

7.2. 概要

2022年7月に公開。v4の著者が作成。

7.3. 参考

https://www.fabrica-com.co.jp/techblog/technology/8332/

YOLO(You Look Only Once)とは、推論速度が他のモデル(Mask R-CNNやSSD)よりも高速である特徴を持つ物体検出アルゴリズムの一つです。YOLOv7とはYOLOシリーズのバージョン7ということになります。
YOLOシリーズの特徴として、各バージョンによって著者が異なります。実際に、v7はv4の著者が作成しており、v6は違う著者が2022年6月に公開しています。1か月しか経ってない……。
このようにYOLOシリーズは頻繁なバージョンアップを繰り返しており、非常に人気のある物体検出アルゴリズムだといえます。
下図はgithubのREADME.meに乗っている、YOLO各シリーズの比較です。縦軸は精度、横軸は速度を表していています。ご覧の通りYOLOv7はv5と比べると120%高速化していることが分かります。

引用元:https://www.fabrica-com.co.jp/techblog/technology/8332/


What is YOLOv7? A Complete Guide.

https://blog.roboflow.com/yolov7-breakdown/

8. YOLOv8

8.1. 公式サイト、リポジトリ

リポジトリ(PyTorch実装)

https://github.com/ultralytics/ultralytics

8.2. 概要

2023年1月にUltralytics社からリリースされた。

公式サイトによれば、パフォーマンスと柔軟性をさらに向上させるための新機能と改善点を導入した最先端モデルであり、YOLOv8は、高速、正確、使いやすいように設計されているため、幅広いオブジェクトの検出と追跡、インスタンスのセグメンテーション、画像分類、姿勢推定タスクに最適、と示されている

8.3. 参考

https://tech.revcomm.co.jp/yolov8-introduction

YOLOv8は、YOLOv5の公開元であるUltralytics社が公開したYOLOの最新バージョンのモデルです。 大規模データセットでの学習はもちろんのこと、object detection, segmentation, classificationタスクで利用可能であり、CPU, GPUを始めとしたさまざまなハードウェアでの実行が可能になっています。
YOLOv8では、新しいbackboneや損失関数、anchor-free detection headの導入などの変更が加えられているだけでなく、過去のバージョンのYOLOをサポートし異なるバージョン間の切り替えや性能比較を容易にするといった機能を備えている点も大きな特徴と言えます。 現在、リポジトリを確認するとv3, v5, v8のconfigが用意されています。

引用元:https://tech.revcomm.co.jp/yolov8-introduction


https://qiita.com/hkwsdgea_ttt2/items/e20234f3c4c0a012c492


What is YOLOv8? The Ultimate Guide.

https://blog.roboflow.com/whats-new-in-yolov8/

Discussion