コンテンツにスキップ

YOLOv9 YOLOv7比較:物体検出の進化を深く掘り下げる

コンピュータ・ビジョンの世界は、急速な技術革新によって特徴付けられ、アーキテクチャのブレークスルーがスピードと精度の境界を絶えず再定義している。この旅における2つの重要なマイルストーンがYOLOv9 YOLOv7である。 両モデルともChien-Yao Wangと同僚の研究に由来し、「You Only Look Once」ファミリーの異なる世代を代表する。

一方 YOLOv7は2022年のリリースと同時にリアルタイム物体検出の標準を確立した、 YOLOv9は2024年に登場し、ディープネットワークにおける情報損失に対処する新しいメカニズムを備えている。この比較では、開発者がニーズに合わせて最適なモデルを選択できるよう、両者の技術仕様、アーキテクチャの違い、実用的なアプリケーションを探る。

パフォーマンス指標と効率性

YOLOv7 YOLOv9 進化は、計算コストと検出性能のトレードオフにおいて最も顕著である。YOLOv9 大幅な効率向上を導入し、前作と比較して少ないパラメータでより高い平均平均精度(mAP)を達成できるようになった。

例えば、YOLOv9mモデルは、YOLOv7lと同じ51.4%のmAPvalを達成していますが、使用するパラメータはほぼ半分(20.0M対36.9M)で、FLOP数も大幅に少なくなっています。この効率性により、YOLOv9 ハードウェア・リソースに制約のあるエッジAIアプリケーションにとって特に魅力的なものとなっています。

モデルサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

YOLOv9:プログラム可能なグラデーション情報

YOLOv9 、ディープ・ニューラル・ネットワークがレイヤーを通過するデータ転送を処理する方法のパラダイム・シフトを象徴している。2024年初頭にリリースされたYOLOv9は、特に「情報ボトルネック」問題をターゲットにしている。

著者Chien-Yao Wang, Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica
Date:2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9

建築イノベーション

YOLOv9 革新の核心は、プログラマブル勾配情報(PGI)の導入である。PGIは補助的な監視フレームワークを提供し、勾配が確実に初期層に伝搬されるようにし、特徴抽出中に失われる可能性のある重要な入力情報を保持する。

PGIを補完するのがGELAN(Generalized Efficient Layer Aggregation Network)です。このアーキテクチャにより、開発者は様々な計算ブロック(CSPやResBlockなど)を柔軟に積み重ねることができ、精度を犠牲にすることなく、特定のハードウェア制約に対してモデルの重みを最適化することができます。

長所と短所

  • 長所:
    • 優れた精度: YOLOv9モデルは55.6%のmAP達成し、COCO データセットで最先端の結果を達成。
    • パラメータ効率:大幅に少ないパラメータで旧モデルと同等の性能を実現し、推論時のメモリ要件を削減。
    • 情報の保存:勾配フローの理論的改善により、収束性と特徴表現が向上。
  • 弱点:
    • トレーニングの複雑さ:トレーニング中に使用される(推論時には削除される)補助分岐は、より単純なアーキテクチャと比較して、トレーニング段階でのGPU メモリ使用量を増加させる可能性があります。

YOLOv9もっと知る

YOLOv7:タダ袋の基準

YOLOv9前に、 YOLOv7がYOLO ファミリーの王者として君臨していた。YOLOv7は、"bag-of-freebies "として知られる、推論コストを増加させることなく学習プロセスを最適化することに焦点を当てたアーキテクチャの改良を導入した。

著者Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
組織:Institute of Information Science, Academia Sinica
Date:2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Docs:Ultralytics YOLOv7

建築概要

YOLOv7 、ネットワークの学習能力を向上させるため、最短および最長の勾配パスを制御するE-ELAN(Extended Efficient Layer Aggregation Network)を導入した。また、ネットワークの深さと幅を同時に変更するモデル・スケーリング技術を活用し、異なるターゲット・デバイスに最適なアーキテクチャを確保した。

長所と短所

  • 長所:
    • 実証済みの信頼性:数年にわたるコミュニティでの広範な使用と検証により、レガシーシステムに安定した選択肢を提供します。
    • 高速:標準的なGPU ハードウェア上でのリアルタイム推論に特化して最適化されている。
  • 弱点:
    • 効率が低い: YOLOv9 11のような新しいモデルの精度レベルと一致させるには、より多くのパラメーターとFLOPが必要になる。 YOLO11のような新しいモデルが、より軽量なアーキテクチャで達成できる精度レベルに匹敵するには、より多くのパラメータが必要です。
    • 古いツール:最新のUltralytics エコシステムに見られるネイティブ統合や使いやすい機能の一部が欠けている。

YOLOv7もっと知る

理想的な使用例と用途

これら2つのモデルのどちらを選択するかは、多くの場合、配備環境の特定の制約と、タスクに求められる精度によって決まる。

YOLOv9選ぶとき

YOLOv9 、最高の精度対効率を要求するシナリオに最適です。

  • 自律航法: 自動運転車では、遠距離の小さな物体を検出することが重要です。YOLOv9情報保存能力は、遠くの危険を認識するのに役立ちます。
  • 医療画像: YOLOv9 高いリコールと精度は、腫瘍検出のような正検出を見逃すことが重要なタスクにとって有益である。
  • エッジデバイス: The yolov9t バリアントは次のような堅牢なソリューションを提供する。 IoTデバイス ラズベリー・ピスのように、最小限の計算オーバーヘッドで高い精度を実現する。

YOLOv7選ぶとき

YOLOv7 、すでにそのアーキテクチャに最適化されている既存のパイプラインに、引き続き適している。

  • レガシー・システム:品質管理のためにYOLOv7 検証してきた工業生産ラインは、すぐにアップグレードするよりも、一貫性を維持することを好むかもしれない。
  • 研究のベースライン 学術研究において確立された基準と新しい検出戦略を比較するための優れたベンチマークとして機能する。

Ultralyticsパフォーマンスバランス

YOLOv9 YOLOv7 強力ですが、スピード、正確さ、開発者エクスペリエンスの究極のバランスを求める開発者は、以下を検討すべきです。 Ultralytics YOLO11.YOLO11 、前世代の最高の機能を合理化されたAPIで統合し、単一のフレームワークで検出、セグメンテーション、ポーズ推定、分類をサポートします。

Ultralytics 優位性

Ultralytics エコシステム内でこれらのモデルを使用することで、生の研究リポジトリを使用するよりも明確な利点が得られます。Ultralytics Python APIは複雑な定型コードを抽象化し、研究者やエンジニアがデータと結果に集中できるようにします。

  1. 使いやすさ:統一されたインターフェースにより、1行のコードでYOLOv8、YOLOv9、YOLO11 入れ替えることができる。
  2. トレーニング効率: Ultralytics モデルは収束が早くなるように最適化されており、高精度に到達するために必要な学習データが少なくて済むことがよくあります。
  3. メモリ要件:このフレームワークは、CUDA メモリの使用量を最小限に抑えるように設計されており、メモリを大量に消費するTransformerモデルと比較して、民生グレードのハードウェアでより大きなバッチサイズのトレーニングが可能です。
  4. 汎用性:単純なバウンディングボックスにとどまらず、エコシステムはインスタンスのセグメンテーションポーズ推定OBB(Oriented Bounding Box)タスクをサポートし、多様なAI課題のための包括的なツールとなっている。

実施例

これらのモデルの実行は、Ultralytics ライブラリを使えば簡単だ。以下のコード・スニペットは、事前にトレーニングされたモデルを読み込み、画像に対して推論を実行する方法を示しています。

from ultralytics import YOLO

# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")

# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)

# Process results
for result in results:
    result.show()  # Display predictions

カスタムデータセットでのトレーニングに興味がある場合は、フレームワークに組み込まれたロバストなハイパーパラメータチューニングと データ増強ストラテジーを利用することで、プロセスは同様にシンプルになる。

# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)

結論

YOLOv9 YOLOv7 ともに、コンピュータ・ビジョンの分野で重要な功績を残した。 YOLOv9は、その革新的なPGIおよびGELANアーキテクチャにより、優れたパラメータ効率と精度を提供する、明確な技術的後継者である。YOLOv9は、特定のWangらの研究系統による高性能を求めるユーザーにお勧めの製品です。

しかし、最も総合的なAI開発体験を求める開発者のために、 Ultralytics YOLO11をお勧めします。積極的なメンテナンス、広範なドキュメント、マルチモーダルなタスクの幅広いサポートにより、YOLO11 11は、あなたのプロジェクトが将来にわたって生産可能であることを保証します。

その他のモデルを見る

物体検出の状況についてさらに理解を深めるために、これらの関連モデルや比較を検討してみてください:

  • YOLO11 YOLOv9比較 -Ultralytics 最新モデルとYOLOv9比較。
  • YOLOv8 YOLOv7比較- 前世代との比較をご覧ください。
  • RT-DETR vs.YOLOv9- トランスフォーマーに基づく検出とCNNの比較。
  • YOLOv10- リアルタイムのエンドツーエンドの物体検出モデルをご覧ください。
  • Ultralytics HUB- モデルをトレーニングし、デプロイする最も簡単な方法です。

コメント