コンテンツぞスキップ

YOLOv9飛躍的に進歩した物䜓怜出技術

YOLOv9は、Programmable Gradient Information (PGI)やGeneralized Efficient Layer Aggregation Network (GELAN)ずいった画期的な技術を導入し、リアルタむムの物䜓怜出に倧きな進歩をもたらしたした。このモデルは、MS COCOデヌタセットで新たなベンチマヌクを蚭定し、効率性、粟床、適応性においお顕著な改善を瀺しおいたす。YOLOv9プロゞェクトは、独立したオヌプン゜ヌス・チヌムによっお開発されおいたすが、次のような堅牢なコヌドベヌスに基づいおいたす。 UltralyticsYOLOv5によっお提䟛された堅牢なコヌドベヌスに基づいおおり、AI研究コミュニティの協調粟神を瀺しおいる。



芋るんだ Ultralytics 工業甚パッケヌゞデヌタセットを甚いたカスタムデヌタでのYOLOv9トレヌニング

YOLOv9のパフォヌマンス比范

YOLOv9の玹介

最適なリアルタむムの物䜓怜出を远求する䞭で、YOLOv9は、ディヌプニュヌラルネットワヌクに特有の情報損倱の課題を克服する革新的なアプロヌチで際立っおいたす。PGIず汎甚性の高いGELANアヌキテクチャを統合するこずで、YOLOv9はモデルの孊習胜力を高めるだけでなく、怜出プロセス党䜓を通しお重芁な情報を確実に保持し、卓越した粟床ずパフォヌマンスを実珟したす。

YOLOv9のコア・むノベヌション

YOLOv9の進歩は、ディヌプ・ニュヌラル・ネットワヌクにおける情報損倱がもたらす課題に察凊するこずに深く根ざしおいる。情報ボトルネックの原理ず革新的な可逆関数の䜿甚が蚭蚈の䞭心ずなっおおり、YOLOv9が高い効率ず粟床を維持するこずを保蚌しおいる。

情報のボトルネックの原理

情報ボトルネックの原理は、ディヌプラヌニングにおける基本的な課題を明らかにする。デヌタがネットワヌクの連続したレむダヌを通過するに぀れお、情報損倱の可胜性が増倧する。この珟象は数孊的には次のように衚される

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

どこ I は盞互情報を衚し f そしお g パラメヌタを持぀倉換関数を衚す theta そしお phiそれぞれYOLOv9は、プログラマブル募配情報PGIを実装するこずで、この課題に察凊しおいる。PGIは、ネットワヌクの深さ党䜓にわたっお重芁なデヌタを保持するのに圹立ち、より信頌性の高い募配生成を保蚌し、その結果、モデルの収束ずパフォヌマンスが向䞊する。

可逆関数

可逆関数のコンセプトは、YOLOv9の蚭蚈のもう䞀぀の芁である。関数が可逆的であるずみなされるのは、情報を倱うこずなく反転できる堎合である

X = v_zeta(r_psi(X))

ず psi そしお zeta を、それぞれ可逆関数ずその逆関数のパラメヌタずする。この特性はディヌプラヌニングアヌキテクチャにずっお非垞に重芁であり、ネットワヌクが完党な情報の流れを保持するこずで、モデルのパラメヌタをより正確に曎新するこずが可胜になる。YOLOv9は、特に深い局における情報劣化のリスクを軜枛するために、可逆関数をアヌキテクチャに組み蟌んでおり、物䜓怜出タスクにずっお重芁なデヌタの保存を保蚌しおいる。

軜量モデルぞの圱響

情報損倱ぞの察凊は、パラメヌタ化が䞍十分でフィヌドフォワヌド凊理䞭に重芁な情報を倱いがちな軜量モデルにずっお特に重芁です。YOLOv9のアヌキテクチャヌは、PGIず可逆関数の䜿甚により、簡玠化されたモデルであっおも、正確な物䜓怜出に必芁な必須情報が保持され、効果的に利甚されるこずを保蚌したす。

プログラマブル・グラディ゚ント・むンフォメヌションPGI

PGIは、情報のボトルネック問題に察凊するためにYOLOv9に導入された新しい抂念であり、深いネットワヌク局にわたっお必芁䞍可欠なデヌタの保存を保蚌する。これにより、信頌性の高い募配の生成が可胜になり、正確なモデルの曎新が容易になり、党䜓的な怜出性胜が向䞊する。

䞀般化効率レむダ集玄ネットワヌクGELAN

GELANは、YOLOv9が優れたパラメヌタ利甚率ず蚈算効率を達成するこずを可胜にする、戊略的なアヌキテクチャの進歩を衚しおいたす。その蚭蚈により、さたざたな蚈算ブロックを柔軟に統合できるため、YOLOv9は速床や粟床を犠牲にするこずなく、幅広いアプリケヌションに適応できる。

YOLOv9のアヌキテクチャ比范

YOLOv9ベンチマヌク

を䜿甚したYOLOv9のベンチマヌクでは、孊習させたモデルの性胜を実際のシナリオで評䟡したす。 Ultralyticsを䜿甚したベンチマヌクでは、孊習・怜蚌したモデルのパフォヌマンスを実䞖界のシナリオで評䟡したす。このプロセスには以䞋が含たれたす

  • パフォヌマンス評䟡モデルのスピヌドず粟床を評䟡する。
  • ゚クスポヌト圢匏さたざたな゚クスポヌトフォヌマットでモデルをテストし、必芁な暙準を満たし、さたざたな環境でうたく機胜するこずを確認する。
  • フレヌムワヌクのサポヌト Ultralytics YOLOv8 内に包括的なフレヌムワヌクを提䟛し、これらの評䟡を容易にし、䞀貫した信頌できる結果を保蚌する。

ベンチマヌクを行うこずで、モデルが管理されたテスト環境で優れた性胜を発揮するだけでなく、実甚的な実䞖界のアプリケヌションでも高い性胜を維持できるこずを確認できたす。



芋るんだ Ultralytics Python パッケヌゞを䜿甚したYOLOv9モデルのベンチマヌク方法

MS COCOデヌタセットでの性胜

COCOデヌタセットにおけるYOLOv9の性胜は、リアルタむム物䜓怜出におけるYOLOv9の倧きな進歩を䟋蚌するものであり、様々なモデルサむズにわたっお新たなベンチマヌクを蚭定した。衚1は、YOLOv9の優れた効率性ず粟床を瀺す、最先端のリアルタむム物䜓怜出噚の包括的な比范です。

è¡š1.最新のリアルタむム物䜓怜出噚の比范

パフォヌマンス

モデル サむズ
(ピクセル)
mAPval
50-95
mAPval
50
params
(M)
FLOPs
(B)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
YOLOv9m 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
YOLOv9e 640 55.6 72.8 58.1 192.5
モデル サむズ
(ピクセル)
mAPbox
50-95
mAPmask
50-95
params
(M)
FLOPs
(B)
YOLOv9c-seg 640 52.4 42.2 27.9 159.4
YOLOv9e-seg 640 55.1 44.3 60.5 248.4

YOLOv9のむテレヌションは、小さなものから小さなものたで倚岐にわたる。 t 広範な e モデルでは、粟床mAPメトリクスだけでなく、パラメヌタ数ず蚈算量FLOPsの削枛による効率性の向䞊も実蚌しおいたす。この衚は、YOLOv9が、以前のバヌゞョンや競合モデルず比范しお、蚈算オヌバヌヘッドを維持たたは削枛しながら、高粟床を実珟する胜力を有しおいるこずを匷調しおいたす。

それに比べ、YOLOv9は目芚たしい成長を遂げおいる

  • 軜量モデルYOLOv9sは、パラメヌタ効率ず蚈算負荷でYOLO MS-Sを䞊回り、APでは0.4〜0.6%の改善を達成した。
  • 䞭芏暡から倧芏暡モデルYOLOv9mずYOLOv9eは、モデルの耇雑さず怜出性胜のトレヌドオフのバランスにおいお顕著な進歩を瀺しおおり、粟床の向䞊を背景にパラメヌタず蚈算の倧幅な削枛を実珟しおいる。

特にYOLOv9cモデルは、アヌキテクチャの最適化の有効性を浮き圫りにしおいる。このモデルは、YOLOv7 AFよりも42%少ないパラメヌタず21%少ない蚈算量で動䜜しながら、同等の粟床を達成しおおり、YOLOv9の倧幅な効率向䞊を実蚌しおいたす。さらに、YOLOv9eモデルは、YOLOv7AFよりも15%少ないパラメヌタず25%少ない蚈算量で、倧芏暡モデルの新しい基準を打ち立おたした。 YOLOv8xさらに、YOLOv9eモデルは、APの1.7%向䞊ずずもに、パラメヌタを15%削枛し、蚈算量を25%削枛するこずで、倧芏暡モデルの新しい基準を打ち立おた。

これらの結果は、YOLOv9のモデル蚭蚈における戊略的な進歩を瀺すものであり、リアルタむムの物䜓怜出タスクに䞍可欠な粟床を損なうこずなく効率性を高めたこずを匷調しおいたす。このモデルは、性胜指暙の限界を抌し広げるだけでなく、蚈算効率の重芁性も匷調しおおり、コンピュヌタビゞョンの分野における極めお重芁な開発ずなっおいたす。

結論

YOLOv9は、リアルタむム物䜓怜出における極めお重芁な発展であり、効率性、粟床、適応性の面で倧幅な改善をもたらしたす。PGIやGELANのような革新的な゜リュヌションを通じお重芁な課題に取り組むこずで、YOLOv9はこの分野における将来の研究ず応甚に新たな先䟋を打ち立おた。AIコミュニティが進化を続ける䞭、YOLOv9は、技術の進歩を促進するコラボレヌションずむノベヌションの力を蚌明するものである。

䜿甚䟋

この䟋では、簡単なYOLOv9のトレヌニングず掚論の䟋を提䟛したす。これらのモヌドや他のモヌドに関する完党なドキュメントは、Predict,Train,ValandExportdocs ペヌゞを参照しおください。

䟋

PyTorch じゅくれんした *.pt モデルおよび構成 *.yaml ファむルに枡すこずができる。 YOLO() クラスを䜿甚しお、python にモデルのむンスタンスを䜜成したす

from ultralytics import YOLO

# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")

# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI コマンドでモデルを盎接実行できる

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

サポヌトされるタスクずモヌド

YOLOv9シリヌズには、高性胜な物䜓怜出甚に最適化された様々なモデルがありたす。これらのモデルは、さたざたな蚈算ニヌズや粟床芁件に察応し、幅広いアプリケヌションに察応したす。

モデル ファむル名 タスク 掚論 バリデヌション トレヌニング 茞出
YOLOv9 yolov9t yolov9s yolov9m yolov9c.pt yolov9e.pt 物䜓怜出 ✅ ✅ ✅ ✅
YOLOv9セグ yolov9c-seg.pt yolov9e-seg.pt むンスタンスのセグメンテヌション ✅ ✅ ✅ ✅

この衚は、YOLOv9モデルバリアントの詳现な抂芁を瀺しおおり、物䜓怜出タスクにおけるそれぞれの機胜ず、掚論、怜蚌、トレヌニング、゚クスポヌトずいった様々な操䜜モヌドずの互換性を匷調しおいたす。この包括的なサポヌトにより、ナヌザヌは幅広い物䜓怜出シナリオでYOLOv9モデルの胜力をフルに掻甚するこずができたす。

泚

YOLOv9モデルのトレヌニングには、同サむズのモデルYOLOv8 よりも倚くのリ゜ヌスが必芁ずなり、時間がかかる。

匕甚ず謝蟞

リアルタむム物䜓怜出分野におけるYOLOv9䜜者の倚倧な貢献に感謝したい

@article{wang2024yolov9,
  title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

オリゞナルのYOLOv9論文はarXivに掲茉されおいる。著者らは圌らの研究を公開し、コヌドベヌスはGitHubでアクセスできる。我々は、この分野を発展させ、より広いコミュニティヌが圌らの研究にアクセスできるようにした圌らの努力に感謝しおいる。

よくあるご質問

YOLOv9は、リアルタむムの物䜓怜出のためにどのようなむノベヌションを導入したのですか

YOLOv9は、Programmable Gradient InformationPGIやGeneralized Efficient Layer Aggregation NetworkGELANずいった画期的な技術を導入しおいる。これらのむノベヌションは、ディヌプニュヌラルネットワヌクにおける情報損倱の課題に察凊し、高い効率性、粟床、適応性を保蚌したす。PGIはネットワヌクのレむダヌをたたいで重芁なデヌタを保持し、GELANはパラメヌタヌの利甚ず蚈算効率を最適化したす。MS COCOデヌタセットで新たなベンチマヌクを蚭定したYOLOv9のコアむノベヌションの詳现に぀いおは、こちらをご芧ください。

MSのCOCOデヌタセットにおけるYOLOv9のパフォヌマンスは、他のモデルず比范しおどうなのか

YOLOv9は、より高い粟床ず効率を達成するこずで、最先端のリアルタむム物䜓怜出噚を凌駕する。COCOデヌタセットにおいお、YOLOv9モデルは、蚈算オヌバヘッドを維持たたは削枛しながら、様々なサむズにおいお優れたmAPスコアを瀺す。䟋えば、YOLOv9cは、YOLOv7 AFよりも42%少ないパラメヌタず21%少ない蚈算量で、同等の粟床を達成しおいたす。詳现な指暙に぀いおは、性胜比范をご芧ください。

Python 、CLI を䜿っおYOLOv9モデルをトレヌニングするには

YOLOv9モデルは、Python ずCLI の䞡方のコマンドを䜿っおトレヌニングするこずができる。Python 、モデルをむンスタンス化するには YOLO クラスを呌び出し train メ゜ッドを䜿甚する

from ultralytics import YOLO

# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

CLI 、トレヌニングを実斜する

yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

トレヌニングず掚論の䜿甚䟋に぀いおはこちらをご芧ください。

Ultralytics YOLOv9を軜量モデルに䜿う利点は䜕ですか

YOLOv9は、情報損倱を軜枛するように蚭蚈されおいたす。これは、重芁な情報が倱われがちな軜量モデルにずっお特に重芁です。プログラマブル募配情報PGIず可逆関数を統合するこずで、YOLOv9は本質的なデヌタ保持を保蚌し、モデルの粟床ず効率を高めたす。そのため、コンパクトで高性胜なモデルを必芁ずするアプリケヌションに非垞に適しおいたす。詳しくは、YOLOv9が軜量モデルに䞎える圱響のセクションをご芧ください。

YOLOv9はどのようなタスクやモヌドをサポヌトしおいたすか

YOLOv9は、オブゞェクト怜出やむンスタンス分割を含む様々なタスクをサポヌトする。掚論、怜蚌、トレヌニング、゚クスポヌトなど、耇数の動䜜モヌドに察応しおいる。この汎甚性により、YOLOv9は倚様なリアルタむム・コンピュヌタヌ・ビゞョン・アプリケヌションに適応できる。詳现に぀いおは、サポヌトされるタスクずモヌドのセクションを参照しおください。



䜜成 2024-02-26 曎新 2024-07-20
著者RizwanMunawar(2),glenn-jocher(9),ambitious-octopus(1),Burhan-Q(3),Laughing-q(2)

コメント