オブジェクト検出は、ニューラルネットワークが画像内のアイテムを予測し、それらの周囲に境界ボックスを描画するタイプの画像分類です。 事前設定されたクラスのセットに準拠する画像内の物を検出してローカライズすることを、オブジェクト検出と呼びます。
オブジェクト検出(オブジェクト認識とも呼ばれます)は、コンピュータビジョンの特に重要なサブドメインです。これは、検出、識別、ローカリゼーションなどのタスクが実際のコンテキストで幅広い用途を見つけるためです。
YOLOアプローチは、これらのタスクを実行するのに役立ちます。 このエッセイでは、YOLOとは何か、どのように機能するか、さまざまなバリエーションなど、YOLOについて詳しく見ていきます。
それで、YOLOとは何ですか?
YOLOは、写真内のオブジェクトをリアルタイムで識別および認識するための方法です。 これは、You OnlyLookOnceの頭字語です。 レドモンドら。 コンピュータビジョンとパターン認識(CVPR)に関するIEEE/CVF会議で2015年に最初に公開された論文でアプローチを提案しました。
OpenCVピープルズチョイスアワードが論文に授与されました。 分類器を再利用して検出を行う以前のオブジェクト識別方法とは異なり、YOLOはエンドツーエンドの使用法を提案します ニューラルネットワーク バウンディングボックスとクラス確率を同時に予測します。
YOLOは、オブジェクト認識に根本的に新しいアプローチを採用することで最先端の結果を生み出し、以前のリアルタイムオブジェクト検出方法を簡単に上回ります。
YOLOワーキング
YOLOメソッドは、画像をN個のグリッドに分割し、それぞれが同じサイズのSxS次元セクターを持ちます。 これらのN個のグリッドはそれぞれ、含まれているオブジェクトの検出と位置特定を担当します。
次に、これらのグリッドは、セル座標に対するBバウンディングボックスの座標、およびセル内に存在するオブジェクトのアイテム名と可能性を予測します。 多くのセルがさまざまな境界ボックス予測で同じアイテムを予測するため、この手法では、検出と認識の両方が画像のセルによって処理されるため、計算が大幅に削減されます。
ただし、多くの重複する予測が生成されます。 この問題に対処するために、YOLOは非最大抑制を採用しています。 YOLOは、非最大抑制で確率スコアが低いすべての境界ボックスを抑制します。
YOLOは、各オプションにリンクされている確率スコアを調べ、スコアが最も高いものを選択することでこれを行います。 次に、現在の高確率のバウンディングボックスとのユニオンに対する交差が最大のバウンディングボックスが抑制されます。
このプロセスは、バウンディングボックスが完了するまで続けられます。
YOLOのさまざまなバリエーション
最も一般的なYOLOバージョンのいくつかを見ていきます。 始めましょう。
1.YOLOv1
YOLOの最初のバージョンは、2015年に出版物「一度だけ見る:統合されたリアルタイムのオブジェクト検出」JosephRedmon、Santosh Divvala、Ross Girshick、およびAliFarhadiによる。
その速度、正確さ、および学習能力のために、YOLOはすぐにオブジェクト識別の領域を支配し、最も広く使用されるアルゴリズムになりました。 著者は、オブジェクト検出を分類の問題として扱うのではなく、地理的に分離されたバウンディングボックスと関連するクラス確率を使用した回帰問題としてアプローチし、単一の問題を使用して解決しました。 ニューラルネットワーク.
YOLOv1はリアルタイムで毎秒45フレームで写真を処理しましたが、より小さなバリアントであるFast YOLOは毎秒155フレームで処理し、他のリアルタイム検出器のXNUMX倍のmAPを取得しました。
2.YOLOv2
2016年後の2年、JosephRedmonとAliFarhadiは、論文でYOLOv9000(別名YOLOXNUMX)をリリースしました。YOLO9000:より良く、より速く、より強くに設立された地域オフィスに加えて、さらにローカルカスタマーサポートを提供できるようになります。」
リアルタイムで実行しながら9000の異なるアイテムカテゴリを予測するモデルの能力により、9000と指定されました。新しいモデルバージョンは、オブジェクト検出と分類データセットで同時にトレーニングされただけでなく、新しいベースラインとしてDarknet-19も取得しました。モデル。
YOLOv2も大成功を収め、すぐに次の最先端のオブジェクト認識モデルになったため、他のエンジニアがアルゴリズムの実験を開始し、独自のYOLOバージョンを作成しました。 それらのいくつかは、ペーパーのさまざまなポイントで説明されます。
3.YOLOv3
論文では「YOLOv3:段階的な改善」、JosephRedmonとAliFarhadiは、2018年にアルゴリズムの新しいバージョンを公開しました。これはDarknet-53アーキテクチャに基づいて構築されました。 独立したロジスティック分類子が、YOLOv3のsoftmaxアクティベーションメカニズムに取って代わりました。
トレーニング中に、バイナリクロスエントロピー損失が使用されました。 Darknet-19が拡張され、Darknet-53に名前が変更されました。これには、53の畳み込み層があります。 それとは別に、予測は3つの異なるスケールで行われ、YOLOvXNUMXが小さなものを予測する際の精度を高めるのに役立ちました。
YOLOv3は、Joseph Redmonの最終的なYOLOバージョンでした。彼は、彼の作業が世界に悪影響を与えることを避けるために、これ以上YOLOの改善に取り組むことを選択しなかったためです。 現在では、主に独自のオブジェクト検出アーキテクチャを構築するための開始点として使用されています。
4.ヨロフ4
Alexey Bochkovskiy、Chien-Yao Wang、Hong-YuanMarkLiaoが「YOLOv4:オブジェクト検出の最適な速度と精度」は、YOLOアルゴリズムの2020回目の反復であるXNUMX年XNUMX月に行われました。
加重残差接続、クロスステージ-部分接続、クロスミニバッチ正規化、自己敵対的トレーニング、ミッシュアクティベーション、ドロップブロック、およびCIoU損失はすべて、SPDarknet53アーキテクチャの一部として導入されました。
YOLOv4はYOLOファミリーの子孫ですが、別々の科学者(JosephRedmonとAliFarhadiではありません)によって開発されました。 SPDarknet53バックボーン、空間ピラミッドプーリング、ネックとしてのPANetパスアグリゲーション、およびYOLOv3ヘッドがそのアーキテクチャを構成します。
その結果、親であるYOLOv3と比較した場合、YOLOv4は10%高い平均精度と12%優れたXNUMX秒あたりのフレーム数のメトリックを達成します。
5.YOLOv5
YOLOv5 は、COCOデータセットで事前トレーニングされたYOLOモデルに基づく、さまざまなオブジェクト識別モデルとアルゴリズムを含むオープンソースプロジェクトです。
YOLOv5 は、複合スケーリングされたオブジェクト識別モデルのコレクションです。 COCO データセットでトレーニングされ、TTA、モデル アセンブリ、ハイパーパラメータ開発、ONNX、CoreML、TFLite へのエクスポートのための簡単な機能を備えています。 YOLOv5 は独自のアプローチを実装または開発していないため、正式な論文は公開できませんでした。 これは単純に YOLOv3 の PyTorch 拡張機能です。
Ultranyticsはこのシナリオを利用して、スポンサーの下で「新しいYOLO」バージョンを公開しました。 事前にトレーニングされた5つのモデルにもアクセスできるため、YOLOv5ホームページは非常にわかりやすく、専門的に構成および作成されており、YOLOvXNUMXモデルのトレーニングと利用に関する多くのレッスンと提案があります。
YOLOの制限
YOLO は解決のための最大のテクニックのように見えますが、 物体検出 問題はありますが、多くの欠点があります。 各グリッドは XNUMX つのアイテムしか識別できないため、YOLO では、グループで出現する写真内の小さなものを検出して分離することが困難です。 アリの群れなど、群れの中の小さなものは、YOLO が特定して見つけるのが困難です。
Fast RCNNのような非常に遅いオブジェクト識別方法と比較すると、YOLOは同様に精度が低いという特徴があります。
YOLOv5の使用を開始します
YOLOv5の動作を確認したい場合は、 公式GitHub & PyTorchのYOLOv5.
まとめ
YOLOv5の初期バージョンは、非常に高速で、パフォーマンスが高く、使いやすいです。 YOLOv5はYOLOファミリーに新しいモデルアーキテクチャを追加しませんが、オブジェクト検出器の最先端を強化する新しいPyTorchトレーニングおよびデプロイメントフレームワークを提供します。
さらに、YOLOv5は非常にユーザーフレンドリーで、特注のオブジェクトですぐに使用できるようになっています。
コメントを残す