物体検出の概要

1. 基本的な考え方

1. 物体検出とは

オブジェクト検出のタスクは、画像内の対象となるオブジェクト (オブジェクト) をすべて見つけ出し、それらのカテゴリと位置を決定することです。これは、コンピューター ビジョンの分野における中心的な問題の 1 つです。物体の検出は、さまざまな物体の異なる外観、形状、姿勢に加え、イメージング中の照明や遮蔽などの要因の干渉により、コンピューター ビジョンの分野で常に最も困難な問題です。

コンピューター ビジョンの画像認識タスクには、大きく 4 つのカテゴリがあります。

(1) 分類 - 分類: 「それは何ですか?」という問題を解きます。つまり、与えられた写真やビデオに、その中にどのようなカテゴリの対象が含まれているかを判断します。

(2) 測位-位置: 「どこにあるのか?」という問題を解決します。つまり、ターゲットの位置を特定します。

(3) 探知-探知:「どこにあるの?それは何?」という問題を解決します。つまり、ターゲットの位置を特定し、ターゲットが何であるかを知ることができます。

(4) セグメンテーション - セグメンテーション: 「各ピクセルがどのオブジェクトまたはシーンに属するか」という問題を解決するために、インスタンス レベルのセグメンテーション (Instance-level) とシーン セグメンテーション (Scene-level) に分けられます。

したがって、ターゲットの検出は分類問題と回帰問題を重ね合わせたものになります。

2. ターゲット検出の中核問題

(1) 分類問題: 写真 (または特定の領域) 内の画像がどのカテゴリに属する​​か。

(2) 位置特定の問題: ターゲットは画像内のどこにでも現れる可能性があります。

(3) サイズの問題: ターゲットにはさまざまなサイズがあります。

(4) 形状の問題: ターゲットの形状はさまざまです。

3. ターゲット検出アルゴリズムの分類

深層学習に基づくターゲット検出アルゴリズムは、主に 2 段階と 1 段階の 2 つのカテゴリに分類されます。

1)トウステージ

まず、領域提案 (RP と呼ばれ、検出対象のオブジェクトが含まれる可能性のある事前選択ボックス) と呼ばれる領域を生成し、畳み込みニューラル ネットワークを通じてサンプルを分類します。

タスク フロー: 特徴抽出 --> RP の生成 --> 分類/測位回帰。

一般的な 2 段階ターゲット検出アルゴリズムには、R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、および R-FCN が含まれます。

2)ワンステージ

RP の代わりに、特徴がネットワーク内で直接抽出され、オブジェクトの分類と位置が予測されます。

タスク フロー: 特徴抽出 --> 分類/位置決め回帰。

一般的な 1 段階ターゲット検出アルゴリズムには、OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD、RetinaNet などが含まれます。

4. 物体検出アプリケーション

1) 顔検出

  • スマートドアコントロール
  • 従業員の出欠チェックイン
  • スマートスーパーマーケット
  • 顔払い
  • 駅や空港での実名認証
  • 公安:逃亡者の逮捕、行方不明者の発見

2) 歩行者検知

  • インテリジェント運転支援
  • インテリジェントな監視
  • 暴力的テロリズムの検出 (暴力的およびテロリストの傾向の顔認識による)
  • モーション検知、エリア侵入検知、ヘルメット/シートベルト検知

3) 車両検知

  • オートパイロット
  • 違反クエリ、キーチャネル検出
  • 広告検出 (広告内の車種を検出、ポップアップ リンク)

4) リモートセンシング検出

  • 土地利用、道路、運河、河川監視などの地上リモートセンシング
  • 作物の監視
  • 軍事実験

2. ターゲット検出原理

ターゲット検出は RCNN シリーズと YOLO シリーズの 2 つのシリーズに分かれており、RCNN シリーズは領域検出に基づく代表的なアルゴリズム、YOLO は領域抽出に基づく代表的なアルゴリズムであり、有名な SSD は最初の 2 つのシリーズを改良したものです。

1. 候補領域の生成

多くのターゲット検出手法には境界ボックスの生成が含まれており、現在、オブジェクト候補ボックスを取得するために主に画像セグメンテーションと領域拡張手法が使用されています。領域の拡大 (結合) は主に、局所的な領域の類似性 (色、テクスチャなど) を持つ画像内に存在するオブジェクトの検出によるものです。ターゲット認識および画像セグメンテーション技術の開発により、画像内の情報の効果的な抽出がさらに促進されます。

1) スライディングウィンドウ

主なアイデアは、スライディング ウィンドウ法のフローチャートから明確に理解できます。まず、入力画像上で異なるウィンドウ サイズのスライディング ウィンドウを左から右、上から下にスライドさせます。スライドするたびに現在のウィンドウで分類子を実行します (分類子は事前にトレーニングされています)。現在のウィンドウの分類確率が高い場合、オブジェクトは検出されたとみなされます。異なるウィンドウ サイズのスライディング ウィンドウを検出した後、異なるウィンドウで検出されたオブジェクト マークを取得し、これらのウィンドウ サイズには繰り返しの多い部分があり、最終的に非最大抑制 (NMS) 手法を使用してスクリーニングします。最後に、NMS スクリーニング後に検出されたオブジェクトが取得されます。スライディング ウィンドウ方式はシンプルで理解しやすいですが、異なるウィンドウ サイズでグローバル画像検索を行うため効率が悪く、ウィンドウ サイズを設計する際にはオブジェクトのアスペクト比を考慮する必要があります。したがって、リアルタイム要件が高い分類器の場合、スライディング ウィンドウ方式は推奨されません。

2) 選択的検索

①選択検索とは

スライディング ウィンドウ法は画像サブ領域の網羅的検索に似ていますが、一般に、画像内のサブ領域のほとんどにはオブジェクトがありません。学者たちは当然、計算効率を向上させるために、オブジェクトが含まれている可能性が最も高い画像の領域のみを検索することを考えました。選択的検索 (SS) 法は、2011 年に Koen EA によって提案された、最もよく知られた画像境界ボックス抽出アルゴリズムです。検索アルゴリズムを選択する際の主な考え方は、画像内にオブジェクトが存在する可能性のある領域には、特定の類似性または連続性のある領域が必要であるということです。したがって、選択検索は上記の考えに基づいており、サブ領域結合の方法を使用して境界ボックスを抽出します。まず、入力画像に対してセグメンテーション アルゴリズムを実行すると、多数の小さなサブ領域が生成されます。第二に、これらのサブ領域間の類似性 (類似性の基準には主に色、テクスチャ、サイズなどが含まれます) に従って、領域がマージされ、領域は継続的に反復的にマージされます。各反復プロセスでは、これらの結合されたサブ領域に対して境界ボックス (外接長方形) が作成され、これらのサブ領域の外接長方形は一般に候補ボックスと呼ばれます。

② 検索処理を選択します

  • step0: 領域セット R を生成する
  • step1: 領域集合 R S={s1, s2,...} 内の各隣接領域の類似度を計算します。
  • ステップ 2: 最も類似性の高い 2 つの領域を見つけ、それらを新しいセットにマージし、R に追加します。
  • step3: step2 に関連するすべてのサブセットを S から削除します。
  • ステップ4: 新しいセットとすべてのサブセット間の類似性を計算します。
  • ステップ 5: S が空になるまでステップ 2 に進みます。

③検索のメリットを選択する

  • スライディングウィンドウ法よりも計算効率が良い
  • サブ領域マージ戦略により、さまざまなサイズの疑わしいオブジェクト フレームが含まれる可能性があります。
  • インデックスの多様性と類似した領域を組み合わせることで、物体を検出する確率が向上します

2. データ表現

ラベル付きのサンプル データは次のようになります。

予測された出力は次のように表すことができます。

��=[����������ℎ��1.2�3]、������=[140458060010]、������=[0.88414682590.010.950.04]

このうち、�� は予測結果の信頼確率、��,��,��,��ℎ はフレーム座標、��1,��2,�3 は特定のカテゴリに属する​​確率です。結果と実際の結果を予測して損失関数を構築します。損失関数は、分類と回帰の 2 つの部分で構成されます。

3. 効果評価

IoU (Intersection over Union) を使用して、モデルの位置決めの品質を判断します。いわゆる交差と和の比率は、予測フレームと実際のフレームの交差と和の比率を指し、一般に 0.5 が許容可能な値です。

以下は、交差と結合のさまざまな比率の直観的な経験です。

4. 非最大抑制

予測結果には複数の予測結果が重複する場合があり、最大のクロスコンビネーション比率を保持し、最大以外の予測結果を除去する必要がある、これをNon-Minimum Suppression(略してNMS)といいます。下図に示すように、同じオブジェクトに対する予測結果には 0.8/0.9/0.95 の 3 つの確率が含まれており、非最大値抑制後は最も確率の高い予測結果のみが保持されます。

5. マルチスケール検出

1) 機能ピラミッド

特徴ピラミッド ネットワーク (略して FPN) は、さまざまなサイズの特徴マップで構成される階層モデルを指し、主にターゲット検出でマルチスケール検出を実現するために使用されます。大きな特徴マップは小さなオブジェクトの検出に適しており、小さな特徴マップは大きなオブジェクトの検出に適しています。

畳み込みニューラルネットワークの出力特徴マップ上のピクセルは、「受容野」と呼ばれる元の画像上に見える領域のサイズに対応しており、畳み込み層が深いほど特徴マップが小さくなり、特徴マップ上の各ピクセルに対応する受容野が大きくなり、意味情報を表現する能力が強くなりますが、特徴マップの解像度は低く、幾何学的詳細情報を表現する能力は弱くなります。より大きな特徴マップとより小さな特徴マップの利点を同時に得るために、特徴マップを融合することができます。

2) 機能の融合

  • add: 小さな特徴マップをアップサンプリングし、大きな特徴マップと同じサイズにアップサンプリングして、要素ごとに追加します。
  • concat: 指定された次元に従って接続します

3. ターゲット検出モデル

1.R-CNNシリーズ

1)R-CNN

① 定義

R-CNN (フルネームは CNN 機能を備えた領域) は、R-CNN シリーズの第 1 世代のアルゴリズムであり、実際には、「ディープ ラーニング」の考え方をあまり使用せず、「ディープ ラーニング」と従来の「コンピューター ビジョン」の知識を組み合わせています。たとえば、R-CNN パイプラインの 2 番目と 4 番目のステップは、実際には従来の「コンピューター ビジョン」テクノロジーに属します。選択的検索を使用して領域の提案を抽出し、SVM を使用して分類を実現します。

②思考回路

  • 与えられた画像から 2000 個の独立した候補領域 (領域提案) を選択します。
  • 各候補領域を事前トレーニングされた AlexNet に入力して、固定長 (4096) の特徴ベクトルを抽出します。
  • 各ターゲット (カテゴリ) について、SVM 分類器をトレーニングして、領域にターゲットが含まれているかどうかを識別します。
  • 候補領域内のターゲットの位置を修正するために回帰分析をトレーニングします。クラスごとに、線形回帰モデルをトレーニングして、現在のフレーム位置が正確かどうかを判断します。

③トレーニング

  • エリア生成アルゴリズムを使用して 2000 の候補エリアを生成します。ここでは選択検索を行います。
  • 生成された 2000 の候補領域については、事前トレーニングされた AlexNet ネットワークを使用して特徴を抽出します。候補領域をネットワークが必要とするサイズ (227×227) に変換します。変換するときは、各領域のエッジに p ピクセルを追加します (つまり、境界線を追加し、p=16 に設定します)。同時に、事前トレーニングされた AlexNet ネットワークを変換し、最後に完全に接続された層を削除し、カテゴリを 21 に設定します (20 のカテゴリと、別のカテゴリが背景を表します)。各候補領域がネットワークに入力され、最終的に 4096×21 個の特徴が取得されます。

  • 上記で抽出した候補領域の特徴を利用して、カテゴリごとにSVM分類器(2分類)を学習させ、候補フレーム内の物体のカテゴリを判定し、Positive/Negativeを出力します。エリアとグラウンド トゥルースの間の IOU が特定のしきい値よりも低い場合、そのエリアはネガティブに設定されます (しきい値は 0.3 に設定されます)。以下に示すように:

④効果

  • R-CNN は、VOC 2007 テスト セットで 58.5% の mAP を達成し、当時のすべてのターゲット検出アルゴリズムを破りました。

⑤ デメリット

  • 繰り返しの計算、時間のかかるトレーニング、各領域提案では AlexNet 特徴抽出を行う必要があり、すべての RoI (関心領域) の特徴を抽出するには約 47 秒かかります。
  • トレーニングにはスペースが必要であり、フィーチャ ファイルをファイルに保存する必要があります。5,000 枚の写真からは数百ギガバイトのフィーチャ ファイルが生成されます。
  • 選択的検索方法では領域提案が生成され、画像 1 フレームに 2 秒かかります。
  • 3 つのモジュール (抽出、分類、回帰) は個別にトレーニングされ、トレーニング中に大量のストレージ スペースを消費します。

2)高速R-CNN

① 定義

Fast R-CNN は、R-CNN と SPPnet に基づいて改良されたものです。SPPnets の革新的な点は、(候補領域ごとに 1 回計算するのではなく) 画像の特徴を 1 回だけ抽出し、アルゴリズムに従って候補領域の特徴マップを画像全体の特徴マップにマッピングすることです。

②工程

  • 選択的検索を使用して、約 2000 個程度の地域候補ボックスを含む地域提案を生成します。
  • CNN を使用して画像に対して畳み込み演算を実行し、画像全体の特徴マップを取得します。
  • 候補フレームごとに、RoI 投影マッピング アルゴリズムを通じて候補フレームの特徴マップが抽出され、RoI プーリング層を通じて固定長の特徴ベクトルが形成されます。
  • 各特徴ベクトルは一連の全結合 (fc) 層に供給され、最後に同じレベルの 2 つの出力層に分岐します。1 つは 1 カテゴリと 1 背景カテゴリのソフトマックス確率推定を出力し、もう 1 つは 1 カテゴリの各カテゴリに対する 4 つの位置情報を出力します。

③改善

  • RCNN と比較して、トレーニング時間は 84 時間から 9.5 時間に短縮され、テスト時間は 47 秒から 0.32 秒に短縮されます。VGG16 では、Fast RCNN のトレーニング速度は RCNN の 9 倍、テスト速度は RCNN の 213 倍、トレーニング速度は SPP-net の 3 倍、テスト速度は SPP-net の 3 倍です
  • PASCAL VOC 2007 の Fast RCNN の精度はほぼ同じで、約 66 ~ 67%
  • RoI プーリングに参加し、ニューラル ネットワークを使用して画像全体から特徴を抽出します
  • エンドツーエンドのトレーニングを実現するために、マルチタスク関数の境界回帰がネットワークに追加されます。

④ デメリット

  • 引き続き選択検索を使用して領域提案を抽出します (2 ~ 3 秒かかり、特徴抽出には 0.32 秒かかります)
  • リアルタイムのアプリケーションに対応できず、実際のエンドツーエンドのトレーニングやテストができない
  • GPUを利用しますが、領域提案方式はCPU上で実装されます。

3)RCNNの高速化

R-CNN と Fast-RCNN の蓄積後、Ross B. Girshick は 2016 年に新しい Faster RCNN を提案しました。構造的には、特徴抽出、領域提案抽出、bbox 回帰、分類がすべて 1 つのネットワークに統合されており、特に検出速度の点で全体のパフォーマンスが大幅に向上します。

① 全体の流れ

  • コンバージョンレイヤー。CNN ネットワーク ターゲット検出方法として、Faster RCNN はまず基本的な畳み込み/アクティベーション/プーリング層のセットを使用して画像の特徴を抽出し、後続の RPN 層と完全接続層の特徴マップを形成します。
  • 地域提案ネットワーク (RPN)。候補領域の生成には RPN ネットワークが使用され、この層ではソフトマックスを使用してアンカーポイント (アンカー) が前景に属するか背景に属するかを判断し、バウンディングボックス回帰 (周囲フレーム回帰) を使用して正確な候補領域を取得します。
  • ROI プーリング。この層は、入力特徴マップと候補領域を収集し、これらの情報を組み合わせて候補領域特徴マップ (提案特徴マップ) を抽出します。これは、ターゲットのカテゴリを決定するために後続の完全接続層に送信されます。
  • 分類。候補領域の特徴マップを使用してカテゴリを計算し、境界回帰アルゴリズムを再度使用して境界の最終的な正確な位置を取得します。

②RPNネットワーク

RPN ネットワークの正式名称は、Region Proposal Network (領域提案ネットワーク) で、特徴マップから候補領域を生成するために特別に使用されるネットワークです。その構造は次のとおりです。

プロセス手順:

(1) 入力: バックボーンネットワークの畳み込みによって得られた特徴マップ

(2) 特徴マップ上の点(アンカーポイント、アンカーポイントと呼びます)ごとに、スケールやアスペクト比が異なるアンカーフレームを生成し、このアンカーフレームの座標(x,y,w,h)が元画像上の座標となります。

(3) 次に、これらのアンカー ボックスを 2 つのネットワーク層に入力し、1 つ (rpn_cls_score) はこのアンカー ボックス内の特徴マップが前景に属するかどうかの分類に使用され、もう 1 つ (rpn_bbox_pred) は 4 つの位置座標 (実オブジェクト フレームに対するオフセット) を出力します。

(4) Ground Truth のアンカー ボックスとラベル ボックスの IoU を比較します。IoU が特定のしきい値より高い場合、アンカー ボックスは前景ボックスとしてマークされ、それ以外の場合は背景ボックスに属します。前景ボックスについても計算されます。実際のラベル ボックスから 4 つの位置オフセット。マークされたアンカー ボックス (前面の背景カテゴリと位置オフセット ラベル付き) を 3 の畳み込みネットワーク層の 2 つの出力と比較して損失を比較します (カテゴリ: CrossEntrpy 損失と位置)回帰: スムーズ L1 損失)、前景フレームを抽出する方法を学習するため

(5) 前景フレームの抽出方法を学習した後、rpn_cls_score 層の出力確率値に従って前景フレームを決定し、アンカーポイント フレームの座標に位置オフセット値を統合して実際のフレームの座標を取得し、選択的探索の役割を果たす前景フレームを取得します。RPN によって生成される提案は「関心領域」と呼ばれ、スケールと長さが異なるため、ROI プーリング層を通じて均一なサイズを取得する必要があります。

③アンカー

アンカー (アンカー ポイント) は、それぞれが異なる検出スケールに対応する一連の行列を指します。次のマトリックス:

[[ -84.  -40.  99.  55.]
 [-176.  -88. 191. 103.]
 [-360. -184. 375. 199.]
 [ -56.  -56.  71.  71.]
 [-120. -120. 135. 135.]
 [-248. -248. 263. 263.]
 [ -36.  -80.  51.  95.]
 [ -80. -168.  95. 183.]
 [-168. -344. 183. 359.]]

各行には、中心点に対する長方形の左上隅と右下隅のオフセットに対応する 4 つの値 (�1,�1,�2,�2) が含まれます。9 つの長方形の形状は 1:1、1:2、2:1、つまりマルチスケール検出の 3 種類があります。

たとえば、800*600 の元の画像は、(特徴行列を生成するため) VGG ダウンサンプリング後のサイズの 16 倍になり、サイズは 50*38 になり、各ポイントには 9 つのアンカーが設定され、合計は次のようになります。

ceil(800 / 16) * ceil(600 / 16) * 9 = 50 * 38 * 9 = 17100

④バウンディングボックス回帰

物体認識が完了したら、対象物体に近づくように周辺フレームを調整します。

⑤ 損失関数

画像の損失関数は、分類損失関数と回帰損失関数を重ね合わせたものです: ��({��},{��})=1����∑����(��,��∗)+��1����∑��∗����(��,��∗)

  • i はミニバッチ内のアンカーのインデックスです
  • �� はアンカー i がターゲットとなる予測確率です
  • グラウンド トゥルース ラベル �� は1、アンカーが負の場合、 �� は 0
  • �� は、予測された境界ボックスの 4 つのパラメーター化された座標を表すベクトルです
  • ���� は、ポジティブ アンカーに対応するグランド トゥルースの座標ベクトルです
  • ���� はアンカー位置の数 (約 2400)、�� =10

分類損失関数: ����(��,��∗)=−���[��∗��+(1−��∗)(1−��)] 位置損失関数: ����(��,��∗)=�(��−��∗) ここで: �=�����ℎ�1(�)={0.5�2 ��|�|<1|�|−0.5 ��ℎ������

⑥改善

  • VOC2007 テストセットテストでは、mAP が 73.2% に達し、ターゲット検出速度は 5 フレーム/秒に達します。
  • 領域提案ネットワーク (RPN) は、検出される領域を生成するための選択的検索の代わりに提案されており、時間が 2 秒から 10 ミリ秒に短縮されます。
  • 完全なエンドツーエンドの CNN ターゲット検出モデルを実際に実現
  • RPN と Fast RCNN の機能を共有する

⑦ デメリット

  • リアルタイム検出の目標はまだ達成できていない
  • 地域の提案を取得し、各提案を分類しますが、計算量は依然として比較的大きいです

2.YOLOシリーズ

1) YOLOv1 (2016)

①基本的な考え方

YOLO (You Only Look Once) は、Ross Girshick によって RCNN、fast-RCNN、および Faster-RCNN 後の DL ターゲット検出速度のために提案された別のフレームワークであり、その中心的なアイデアは、RoI + ターゲット検出 2 段階 (2 段階) アルゴリズムを生成し、それをネットワーク 1 段階 (1 段階) アルゴリズムのセットに置き換え、出力層でバウンディング ボックスの位置とカテゴリを直接返すことです。

従来の物体検出方法では、まず、検出対象の物体が含まれる可能性のある多数の事前ボックスを生成し、次に分類器を使用して、各事前ボックスに対応する境界ボックスに検出対象の物体が含まれるかどうか、およびそのオブジェクトのカテゴリの確率または信頼度を判定すると同時に、後処理で境界ボックスを修正し、最終的に信頼度が低く重複が高い境界ボックスを何らかの基準に基づいてフィルタリングして検出結果を取得する必要があります。最初に候補領域を生成してから検出するこの方法は、検出精度が比較的高いですが、実行速度が遅くなります。

YOLO は、オブジェクト検出タスクを回帰問題 (回帰問題) として直接処理し、候補領域と検出の 2 つの段階を 1 つに結合する創造的な方法を採用しています。各画像内にどのオブジェクトがあり、どこに配置されているかが一目でわかります。各物体検出システムのフローチャートを下図に示します。

実際、YOLO は候補領域を実際に削除するのではなく、候補領域を事前に定義する方法を採用しました。つまり、画像を 7*7 グリッドに分割し、各グリッドで 2 つの境界を予測でき、合計 49*2 の境界ボックスがあり、画像の全領域をほぼカバーする 98 個の候補領域として理解できます。YOLO は、mAP を削減する代わりに、時間効率を大幅に向上させます。

各グリッド セルは、2 つの境界ボックスとこれらのボックスの信頼スコアを予測します。これらの信頼スコアは、モデルがボックスにオブジェクトが含まれているという確信度、およびモデルがボックスをどの程度正確に予測するかを反映します。信頼度は次のように定義されます。 Pr(Object) ∗ IOUredtruth そのセルにオブジェクトが存在しない場合、信頼度スコアは 0 になるはずです。それ以外の場合は、信頼度スコアが、予測されたボックスとグランド トゥルースの間の和集合部分 (IOU) と等しくなるようにします。

各境界ボックスには、 、 、 、 �、 �、 �、 ℎ および信頼度の 5 つの予測が含まれています。、(�,�) 座標は、グリッド セルの境界ボックスを基準とした境界ボックスの中心を表します。幅と高さは画像全体を基準にして予測されます。最後に、信頼度予測は、予測されたボックスとグラウンド トゥルース境界ボックスの間の IOU を表します。

各グリッド セルは、条件付きクラス確率 Pr(Class|Object) も予測します。これらの確率は、ターゲットを含むグリッド セルに条件付きです。各グリッド セルについて、境界ボックス �� の数に関係なく、クラス確率の 1 セットのみを予測します。

②ネットワーク構造

YOLOv1 ネットワークには 24 の畳み込み層があり、その後に 2 つの完全接続層が続きます。1×1 次元削減層とそれに続く 3×3 畳み込み層のみを使用します。以下に示すように:

高速ターゲット検出を迅速に実現するために、YOLOV1 は高速バージョンもトレーニングします。Fast YOLO は、より少ない畳み込み層 (24 ではなく 9) のニューラル ネットワークを使用し、それらの層で使用するフィルターの数を減らします。ネットワーク サイズを除き、すべてのトレーニングおよびテスト パラメーターは YOLO と高速 YOLO で同じです。ネットワークの最終出力は、7*7*30 (1470) の予測テンソルです。

③研修の流れと内容

(1) 事前トレーニング。最初の 20 の畳み込み層、平均プーリング層、完全接続層を使用して約 1 週間の事前トレーニング。

(2) 入力します。入力データはサイズ 224*224 および 448*448 の画像です。

(3) 相対座標を使用します。境界ボックスの幅と高さが 0 ~ 1 の間に収まるように、画像の幅と高さによって正規化します。境界ボックスと �� および �� 座標は、特定のグリッド セル位置からのオフセットとしてパラメータ化され、境界も 0 から 1 の間になります。

(4) 損失関数

  • 損失関数は、座標予測、ターゲット オブジェクトの信頼度が含まれているかどうか、およびカテゴリ予測で構成されます。
  • ここで、 1���� はオブジェクトがグリッド セル $i$ で発生するかどうかを示し、1���� グリッド セル �� の��番目の境界ボックス予測子がその予測を「担当」していることを示します。
  • 損失関数は、ターゲットがそのグリッド セルに存在する場合にのみ誤分類にペナルティを課します (前述の条件付きクラス確率)。
  • また、予測子が実際の境界ボックスを「担当」している場合 (つまり、そのグリッド セル内で最も高い IOU を持つ予測子) にのみ、境界ボックスの座標エラーにペナルティが課されます。

(5) 学習率。最初の反復サイクルでは、学習率を 10-3 から 10-2 にゆっくりと増加させます。次に、学習率 10-2 で 75 反復、学習率 10-3 で 30 反復、最後に学習率 10-4 で 30 反復でトレーニングを続けます。

(6) 過剰適合戦略を避けてください。ドロップアウトとデータ拡張を使用して、過剰適合を回避します。

④メリット・デメリット

(1) 利点 - YOLO はオブジェクトを非常に高速に検出し、その強化版 GPU は 45fps (フレーム/秒)、簡易版 155fps で実行できます。 - YOLO は、トレーニングおよびテスト中に (部分的な画像情報を参照する他のアルゴリズムとは異なり) 画像全体の情報を確認できるため、オブジェクトを検出するときにコンテキスト情報を有効に活用できるため、背景上の誤ったオブジェクト情報を予測するのは容易ではありません - YOLO はオブジェクトの一般化機能を学習できます

(2) 短所 - 他の最先端の物体検出システムに比べて精度が低い - 位置決めエラーが発生しやすい - 1 つのグリッドで 2 つの物体しか検出できないため、小さな物体、特に密集した小さな物体の検出効果が良くない - 損失関数の問題により、位置決め誤差が検出効果に影響を与える主な原因であり、特に大きな物体と小さな物体の処理を強化する必要がある

2)YOLOv2(2016)

Ross Girshick は fast-RCNN と SSD アルゴリズムを吸収して YOLOv2 を設計しました (論文の元の名前は「YOLO9000: Better, Faster, Stronger」)。彼は精度の点で一連のトレーニング手法を使用し、速度の点で新しいネットワーク モデル DarkNet19 を適用し、分類タスクに共同トレーニング方法を採用しました。ワードツリーやその他の方法と組み合わせることで、YOLOv2 の検出タイプは数千に拡張されました。著者は論文の中で、それが検出できると主張しています9,000 ターゲット カテゴリ、いわゆる YOLO9000。YOLOv2 モデルはさまざまなサイズで実行できるため、速度と精度の間の単純な妥協点が得られます。YOLOv2 は 67FPS で、VOC 2007 で 76.8 mAP を達成しました。YOLOv2 は 40FPS で 78.6 mAP を達成し、ResNet や SSD を使用した Faster R-CNN などの最先端の手法を上回り、さらに大幅に高速に実行されます。

①改善戦略

次の図に示すように、YOLOv2 ではモデル mAP を改善するために YOLOv1 に多くの改良が加えられています。

(1)バッチ正規化(バッチ正規化)YOLOv2 では、各畳み込み層の後にバッチ正規化 (BN) 層が追加され、ドロップアウトが除去されます。BN 層には特定の正則化効果があり、モデルの収束速度を向上させ、モデルの過学習を防ぐことができます。YOLOv2 は、BN レイヤーを使用して mAP を 2% 増加させます。

(2)高解像度分類器(高解像度分類器)元の YOLO ネットワークは、事前トレーニング中に 224*224 の入力を使用し (これは、一般的な事前トレーニングされた分類モデルが ImageNet データセットで実行されるためです)、検出中に 448*448 の入力を使用しました。これにより、モデルは、分類モデルから検出モデルに切り替えるときに画像解像度の変化に適応します。YOLOv2 は事前トレーニングを 2 つのステップに分割します。最初に 224*224 の入力を使用してネットワークを最初からトレーニングし、約 160 エポック (すべてのトレーニング データが 160 回実行されることを意味します)、次に入力を 448*448 に調整して、10 エポックをトレーニングします。どちらのステップも ImageNet データセットに対して実行されることに注意してください。最後に、検出されたデータ セットを微調整する、つまり検出中に入力として 448*448 画像を使用すると、スムーズな移行を行うことができます。著者らの実験では、これにより mAP がほぼ 4% 増加する可能性があることが示されています。

(3) Convolutional With Anchor Boxes (アンカー ボックスを使用した畳み込み)YOLOv1 は完全接続レイヤーを使用して境界ボックスを直接予測するため、より多くの空間情報が失われ、位置が不正確になります。YOLOv2 は、YOLOv1 の完全接続層を削除し、アンカー ボックスを使用して境界ボックスを予測します。また、より高解像度の特徴マップを取得するために、YOLOv2 はプーリング層も削除します。画像内の物体は画像の中心に現れる傾向があるため、特徴マップにたまたま中心位置がある場合、その中心位置を使用して中心点がこの位置に該当する物体を予測すると、これらの物体を検出しやすくなります。したがって、目的の特徴マップの幅と高さは常に奇数になります。YOLOv2 はネットワークを縮小し、416*416 入力を使用し、モデル ダウンサンプリングの合計ステップ サイズは 32 で、最終的に 13*13 特徴マップを取得します。次に、13*13 特徴マップの各セルに対して 5 つのアンカー ボックスを予測し、各アンカー ボックスの境界ボックスの位置情報、信頼度、および分類確率値のセットを予測します。アンカー ボックスを使用した後、YOLOv2 は 13*13*5=845 個の境界ボックスを予測でき、モデルの再現率は 81% から 88% に増加し、mAP は 69.5% から 69.2% に減少しました。再現率は 7% 増加し、精度率は 0.3% 減少しました。

(4)次元クラスタ(次元クラスタリング)Faster R-CNN と SSD では、アプリオリ フレームはある程度の主観を伴って手動で設定されます。YOLOv2 は、k-means クラスタリング アルゴリズムを使用してトレーニング セット内の境界ボックスをクラスタリングし、ボックス間の IOU 値をクラスタリング インデックスとして選択します。モデルの複雑さと再現率を考慮して、最終的にクラスター中心を 5 つ選択し、事前に 5 つのボックスを取得したところ、中央および平坦なボックスが少なく、歩行者の特性に適合した薄くて高いボックスが多いことがわかりました。比較実験を通じて、クラスター分析によって取得されたアプリオリ ボックスは、手動で選択されたアプリオリ ボックスよりも高い平均 IOU 値を持ち、モデルのトレーニングと学習が容易になることがわかりました。

VOC および COCO のクラスター境界ボックスの寸法。境界ボックスの次元に対して K 平均法クラスタリングを実行して、モデルの適切な事前分布を取得します。左側のプロットは、k をさまざまに選択した場合に得られる平均 IOU を示しています。k = 5 が再現率とモデルの複雑さの間で適切なトレードオフを与えることがわかりました。右側のパネルは、VOC と COCO の相対的な中心を示しています。どちらの事前分布も、より薄くてより高い境界ボックスを好みますが、COCO は VOC よりもサイズのばらつきが大きくなります。(5) 新しいネットワーク (新しいネットワーク)YOLOv2 は Darknet-19 を使用します。そのネットワーク構造は下の図に示されており、19 の畳み込み層と 5 つの最大プーリング層が含まれます。主に 3*3 畳み込みと 1*1 畳み込みを使用します。ここで、1*1 畳み込みは特徴マップ チャネルの数を圧縮して、モデルの計算とパラメーターの量を削減できます。各畳み込み層の後に、BN 層を使用してモデルの収束を高速化し、過学習を防止します。最後に、グローバル平均プールが予測に使用されます。YOLOv2 を使用すると、モデルの mAP 値は大幅に改善されませんが、計算量は削減されます。

(6)直接位置予測(Direct location Prediction)より高速な R-CNN は、アンカー ボックスを使用して、前のボックスに対する境界ボックスのオフセットを予測します。オフセットに制約がないため、各位置の予測された境界ボックスは画像内のどこにでも収まる可能性があり、これによりモデルが不安定になり、トレーニング時間が増加します。YOLOv2 は、YOLOv1 の方法に従い、グリッド ユニットの位置に従って座標を予測します。Ground Truth の値は 0 ~ 1 です。ネットワークで得られたネットワーク予測結果は、出力結果が 0 ~ 1 になるようにシグモイド関数に入力されます。画像の左上隅に対するグリッドのオフセットを , ��, �� とします。前のボックスの幅と高さはそれぞれ��とℎであり、特徴マップの中心座標に対する予測境界ボックス (��,��) と幅と高さ ��,ℎ が次の図のように計算されます。

このうち、��はシグモイド関数、��,��は予測座標オフセット値(中心点座標)、��,��ℎはスケールスケーリングで、それぞれシグモイドを通過し、0-1の間のオフセットを出力し、��,��に加算してバウンディングボックスの中心点の位置を取得します。

(7) きめ細かい機能YOLOv2 は、SSD を利用して検出にマルチスケールの特徴マップを使用し、高解像度の特徴マップと低解像度の特徴マップをリンクしてマルチスケールの検出を実現するパススルー レイヤーを提案します。YOLOv2 は Darknet-19 の最後の最大プール層の入力を抽出し、26*26*512 の特徴マップを取得します。特徴マップの寸法を減らすための1*1*64の畳み込みの後、26*26*64の機能マップが取得され、パスを通過して13*13*256機能マップになります(元の特徴マップの各2*2ローカル領域を抽出して新しいチャネルを形成します。つまり、元の機能マップのサイズが4回削減されます。詳細な機能を使用すると、YOLOv2 のパフォーマンスが 1% 向上しました。

(8) マルチスケールトレーニングYOLOv2 で使用される Darknet-19 ネットワーク構造には畳み込み層とプーリング層のみがあるため、入力画像のサイズに制限はありません。YOLOv2 はマルチスケール入力トレーニングを使用します。トレーニング プロセス中、10 バッチごとに、入力画像のサイズが再ランダムに選択されます。Darknet-19 ダウンサンプリングの合計ステップ サイズは 32 であるため、入力画像のサイズは通常 32 {320,352,...,608} の倍数として選択されます (最小のオプションは 320×320、最大のオプションは 608×608 です。ネットワークにアクセスしてトレーニングを継続してください)。マルチスケールトレーニングを使用すると、さまざまなサイズの画像入力に適応できます。低解像度の画像入力を使用すると、mAP 値はわずかに低下しますが、速度は速くなります。高解像度の画像入力を使用すると、より高い mAP 値が得られますが、速度は低下します。

YOLOv2 は、以前の検出方法よりも高速かつ正確です。速度と精度の間のトレードオフを容易にするために、さまざまな解像度で実行することもできます。

②研修の流れ

  • 最初のステージ: ImageNet 分類データ セットで Darknet-19 をトレーニングします。この時点で、モデル入力は 224*224 で、合計 160 ラウンドのトレーニングになります。
  • 第 2 段階: ネットワーク入力を 448*448 に調整し、ImageNet 分類データセットで微調整モデルのトレーニングを継続します (合計 10 ラウンド)。この時点で、分類モデルの上位 1 の精度は 76.5%、上位 5 の精度は 93.3% です。
  • 第 3 段階: Darknet-19 分類モデルを検出モデルに変更し、検出データセットに基づいてネットワークの微調整を継続します。

③メリット・デメリット

(1) メリット

  • YOLOv2 は、特徴抽出部分として新しい分類器を使用し、より多くの 3*3 コンボリューション カーネルを使用し、各プーリング操作後のチャネル数を 2 倍にします。ネットワークはグローバル平均プーリングを使用し、3*3 畳み込みカーネルの間に 1*1 畳み込みカーネルを配置して機能を圧縮します。モデルトレーニングを安定させるためにバッチ正規化も使用
  • 最後の基本モデルは Darknet-19 で、これには 19 の畳み込み層、5 つの最大プーリング層、55 億 8,000 万の演算、上位 1 の画像分類精度率 72.9%、上位 5 精度率 91.2% が含まれます。
  • YOLOv2 は VGG16 より高速ですが、精度は VGG16 よりわずかに劣ります。

(2) デメリット

  • YOLOv2の検出精度は十分ではなく、SSDよりわずかに悪い
  • 小さな物体の検出が苦手
  • 近くのオブジェクトの精度が低下する

3)YOLOv3(2018)

YOLOv3 は、YOLOv2 に基づいて行われたいくつかの暫定的な改善をまとめたもので、一部の試みは成功しましたが、一部の試みではモデルのパフォーマンスが向上しませんでした。言及する価値のあるハイライトは 2 つあり、1 つは残差モデルを使用してネットワーク構造をさらに深くすること、もう 1 つは FPN アーキテクチャを使用してマルチスケール検出を実現することです。

①改善

  • 新しいネットワーク構造: DarkNet-53;
  • 分類器としてソフトマックスをロジスティック回帰に置き換えます。
  • FPN (Feature Pyramid Network) を統合して、マルチスケール検出を実現します。

②マルチスケール予測

YOLOv3 は、基本的な特徴抽出器の上にいくつかの畳み込み層を追加します。最後の畳み込み層は、3D テンソル (バウンディング ボックス、オブジェクト、およびクラスの予測) を予測します。COCO 実験では、スケールごとに 3 つのボックスが予測されるため、4 つのバウンディング ボックス オフセット、1 つのオブジェクト予測、および 80 のクラス予測の場合、テンソルのサイズは N×N×[3*(4+1+80)] になります。次に、前の 2 つのレイヤーから特徴マップが取得され、2 倍にアップサンプリングされます。

YOLOv3 はまた、ネットワーク内の以前の層から特徴マップを取得し、要素ごとの加算を使用してそれらをアップサンプリングされた特徴マップと結合します。このアプローチにより、アップサンプリングされた特徴マップからより意味のある意味情報を取得できると同時に、より詳細な情報を以前の層から取得できるようになります。次に、畳み込み層をさらにいくつか追加して、この結合された特徴マップを処理し、最終的にサイズは 2 倍ではあるものの、同様のテンソルを予測します。

最後に、同じ設計を再度使用して、最終的なサイズの境界ボックスを予測します。したがって、3 次元の予測には、以前のすべての計算と、ネットワークの以前の層のきめ細かい機能の両方が役立ちます。

③ネットワーク構造

YOLOv3 は、以前の Darknet-19 に基づいて残差ブロックを導入し、ネットワークをさらに深化させました。改良されたネットワークには、Darknet-53 と呼ばれる 53 の畳み込み層があります。ネットワーク構造は、次の図に示されています (例として 256*256 入力を使用します)。

YOLOv1、YOLOv2、YOLO9000、YOLOv3と3世代の変革を経たYOLOは、速度の優位性を維持しながらネットワーク構造の改善を継続し、他の優れたターゲット検出アルゴリズムからさまざまなトリックを吸収し、アンカーボックス機構やFPNを次々と導入してマルチスケール検出を実現しました。

精度、10 億回の演算、1 秒あたり 10 億回の浮動小数点演算、FPS の観点からバックボーンが異なるさまざまなネットワークを比較。各ネットワークは同じ設定でトレーニングされ、256×256 の画像で単精度でテストされます。ランタイムは、256×256 の画像を使用した Titan X で測定されます。その結果、Darknet-53 は最先端の分類器に匹敵しますが、浮動小数点演算が少なく、速度がはるかに高速です。Darknet-53 は ResNet-101 よりも優れており、1.5 倍高速です。Darknet-53 のパフォーマンスは ResNet-152 と同様ですが、2 倍高速です。

Darknet-53 は、1 秒あたりの最高の浮動小数点演算の測定値も達成しました。これは、ネットワーク構造が GPU をより効果的に利用できるようになり、その評価がより効率的かつ高速になることを意味します。これは主に、ResNet のレイヤーが多すぎて効率が悪いことが原因です。

④効果

(1) 速度と精度の両方を考慮する。COCO モデムでは、mAP インデックスは SSD モデルと同等ですが、速度は 3 倍向上し、mAP インデックスは RetinaNet モデルより劣りますが、速度は 3.8 倍高速です。

(2) 小さなオブジェクトの検出は改善されましたが、中型以上のサイズのオブジェクトのパフォーマンスは比較的劣ります。

もちろん、YOLOv3 にも効果的な役割を果たせなかった失敗例もありますので、原文は各自で参照してください。

4) YOLOv4 (2020)

YOLOv4は、近年のCV分野における数多くの研究成果を一連のモデルに集約し、検出速度、精度、測位精度が大幅に向上しました(YOLOv3と比較して、AP値が10%、FPSが12%向上)。YOLOv4 の主な改善点は次のとおりです。

  • 入力。新しいサンプル強調方法を使用して、より大きな入力画像を使用します。
  • バックボーンネットワーク。新しい改良されたバックボーン ネットワーク CSPDarknet53 を採用し、新しいアクティベーション機能とドロップアウト戦略を採用します。
  • 特徴的な融合部分。SPP、FPN+PAN などの新しい構造を挿入します。
  • 出力。改良された損失関数を採用。

①背骨、首、頭

まず、著者はターゲット検出の一般的なフレームワークを提案します。これは、ターゲット検出フレームワークを入力、バックボーン、ネック、ヘッドに分割します。

  • 入力(input): 画像、バッチサンプル、画像ピラミッドなどの入力部分
  • バックボーン (バックボーン ネットワーク): さまざまなタイプの CNN、主な機能は画像内の特徴の事前抽出を実行することです
  • ネック(首):機能融合部分、主な機能はマルチスケール検出を実現することです
  • Head (ヘッド): 予測結果を生成します

YOLOv4 は、上記の構造部分から最適化および改善され、より優れた総合的な結果を達成しました。

②モデル構造

YOLOv4 モデルの構造を次の図に示します。

③主な改良点

  • 入力

(1) モザイクデータの強化。モザイクとは、2019年に提案されたCutMixデータエンハンスメント手法を指しますが、CutMixはスティッチングに2枚の画像のみを使用するのに対し、モザイクデータエンハンスメントはランダムにスケーリングし、ランダムにトリミングし、ランダムに配置された4枚の画像をスティッチングに使用します。これにより、モデルはより関連性の高いまたは無関係なコンテキスト情報を取得し、より堅牢な特徴を学習できるようになります。

(2) 自己敵対的トレーニング (SAT、自己敵対的トレーニング)。自己敵対的トレーニングは、前方と後方の 2 つの段階で動作する新しいデータ拡張手法を表します。最初の段階では、ニューラル ネットワークはネットワークの重みの代わりに元の画像を変更します。このようにして、ニューラル ネットワークはそれ自体に対して敵対的攻撃を実行し、元の画像を変更して、目的のオブジェクトが画像内に存在しないかのような錯覚を作り出します。第 2 段階では、通常の方法で変更された画像上のオブジェクトを検出するようにニューラル ネットワークがトレーニングされます。

(3) CmBN (クロス ミニバッチ正規化)。BN 戦略は、勾配の消失、過学習を軽減し、モデルの安定性を高めることができます。BN は計算に現在の反復バッチ サンプルのみを使用しますが、CBN は現在の瞬間の統計を計算するときに最初の k 瞬間の統計を考慮して、バッチ サイズを拡張する操作を実現します。CmBN は CBN の修正バージョンであり、時間 t において、CBN は収束のために最初の 3 つの瞬間の統計も考慮します。

  • 背骨部分

(1) CSPDarknet53。CSPDarknet53 は、YOLOv3 バックボーン ネットワーク Darknet53 に基づいており、2019 年の CSPNet の経験を活用して、5 つの CSP モジュールを含むバックボーン構造を生成します。その構造を次の図に示します。

CSPNet (Cross Stage Partial Network、クロスステージ ローカル ネットワーク) は、主に学習能力を向上させ、モデルのリソース消費を削減するために使用されます。各 CSPX には 3+2 × X の畳み込み層が含まれるため、バックボーン ネットワーク全体のバックボーンには、合計 2+(3+2×1)+2+(3+2×2)+2+(3+2×8)+2+(3+2×8)+2+(3+2×4)+1=72 の畳み込み層が含まれます。各 CSP モジュールの前のコンボリューション カーネルのサイズは 3x3 で、ステップ サイズは 2 であるため、ダウンサンプリングの役割を果たすことができます。Backbone には 5 つの CSP モジュールがあるため、入力画像は 608 x 608 であるため、特徴マップの変更規則は次のようになります。 608->304->152->76->38->19 5 つの CSP モジュールの後、19*19 サイズの特徴マップが取得されます。Backbone は Mish 活性化関数を使用します。

(2)ミッシュ活性化機能。新しい非単調なスムーズ アクティベーション関数 (その式は $f(x) = x*tanh(log(1+e^x))$ であり、ディープ モデルにより適しています。論文の実験によると、精度はReLUよりわずかに高いそうです。

(3) ドロップブロック戦略。Dropblock は畳み込み層の正則化手法であり、Resnet-50 構造を使用した ImageNet 分類タスクの実験では分類精度が 1.6% 向上し、COCO 検出タスクでは精度が 1.6% 向上しました。原理は、モデルが他の部分の特徴を学習できるように、特徴マップ上のいくつかの隣接する領域を削除することにより、より優れた汎化能力を示すことです。

Dropblock モジュールには主に block_size と γ という 2 つのパラメータがあります。このうち、block_size は領域のサイズを示し、通常は 3、5、または 7 になりますが、block_size=1 の場合、ドロップアウトは従来のドロップアウトに縮退します。

  • ネック部分

(1) SPP モジュール。SPP モジュールは、k={1x1, 5 x 5, 9 x 9, 13 x 13} の最大プーリング操作を使用してバックボーン ネットワークの後に配置され、その後、異なるスケールの特徴マップの Concat 融合が行われます。

(2) FPN + PAN. FTP とは特徴ピラミッドのことで、上位の畳み込みによって得られた小さい特徴マップをアップサンプリングし、下位レベル (トップダウン) で大きい特徴マップと特徴融合を行うという考え方で、上位レベルで強力な意味特徴を継承することが利点となります。PAN 構造は、2018 年の画像セグメンテーション分野における PANet (Path Aggregation Network、Path Aggregation Network) の革新を活用しています。ボトムアップの特徴ピラミッドが FPN の背後に追加され、低レベルの強力な測位特徴を上に (ボトムアップで) 渡し、FPN への補足を形成します。以下に示すように:

  • ヘッド部

(1) CIOU_損失。IOU は予測測位が正確かどうかを測定するために使用されますが、次の図に示すように特定の問題があります。

上記の問題に対応して、いくつかの IOU 改善戦略が登場しました。

GIOU_loss: IOU に基づいて、境界ボックスが一致しない問題を解決します。

DIOU_loss: IOUとGIOUに基づいて、バウンディングボックスの中心点からの距離の情報が考慮されます

CLOU_Loss: DIOUに基づいて、バウンディングボックスのアスペクト比のスケール情報を考慮します

したがって、CIOU_loss が予測ボックスと実際のボックスの損失値を定義する場合、重なり合う領域のサイズ、中心点間の距離、アスペクト比が考慮され、位置決めがより正確になります。CIOU_loss は次のように定義されます。������=1−��+��2(��,��)��2+�� このうち、$\rho$ はユークリッド距離、c は 2 つのボックスを覆う最小の閉じたボックスの対角長、$\alpha$ は正のトレードオフ パラメーター、v はアスペクト比の一貫性を表し、それぞれ次のように定義されます。 ��=4��2(����������ℎ��−��������ℎ)2

�=�(1−���)+�

(2) DIOU_NMS。NMS は主に予測フレームのスクリーニングに使用されます. YOLOv4 は NMS に DIOU を使用します (つまり、DIOU の最大値を選択します). 実験により、重複するターゲットの検出において DIOU_NMS が従来の NMS よりも優れていることが証明されました。以下に示すように:

#### ④ 効果

3.ビデオキーフレーム処理

たとえば、違法なスターのビデオをパーティーから消去する必要がある場合、ビデオが 25 フレーム/秒で、フレームごとのスキャンが使用され、各フレームの処理に 2 秒かかる場合、必要な処理時間は次のようになります。

时间 = 4 * 3600 * 25 * 2

処理と完了には合計 200 時間かかりました。したがって、処理速度を向上させ、ターゲット検出の複雑さを軽減するには、キーフレームを使用する必要があります。

1. キーフレームとは

キーフレーム (I フレーム):

  • キーフレームとは、ビデオの主な情報を含むフレームです。
  • キーフレームが AVI、MP4、MOV などの形式に圧縮される場合、フレームは完全に保存されます。
  • ビデオをデコードする場合、このフレームのデータのみが必要であり、前のフレームと次のフレームからデータを取得する必要はありません

前方差分フレーム (P フレーム)

  • 現在のフレームと前の I フレームまたは前の P フレームの差は、前のフレームからのデータ オフセット値として理解できます。
  • P フレームには完全なデータ ピクチャはなく、前のフレームとの差分情報だけがあり、デコード時に前のフレームからデータを取得する必要があります。

双方向差分フレーム (B フレーム)

  • このフレームと前のフレームおよび次のフレームとの差を記録します
  • デコード時には前フレームと次フレームのデータを取得する必要がある
  • 圧縮ビデオのサイズは小さいですが、コーデックの計算が遅い

2. キーフレームの抽出方法

ビデオ内のキーフレームは、FFMPEG ツールを使用して抽出できます。

ビデオ キャプチャに FFMPEG ツールを使用することもできます。

4. ターゲット検出データセット

1. パスカルVOC

VOC データセットは、ターゲット検出に頻繁に使用されるデータセットです。2005 年からコンテストが毎年開催されています。当初は 4 カテゴリーのみでしたが、2007 年までに 20 カテゴリーに拡大されました。よく使用されるバージョンは 2007 年と 2012 年の 2 つです。学会では、トレーニングセットとして5k train/val 2007と16k train/val 2012、テストセットとしてtest 2007、トレーニングセットとして10k train/val 2007+test 2007と16k train/val 2012、テストセットとしてtest2012がよく使われ、それぞれの結果が報告されています。

2.MSココ

COCO データセットは、Microsoft チームによってリリースされた、画像認識 + セグメンテーション + キャプション作成に使用できるデータセットです。このデータセットは、共通のオブジェクトを含む日常のシーン写真を大量に収集し、検出およびセグメンテーション アルゴリズムの効果をより正確に評価するためにピクセル レベルのインスタンス アノテーションを提供します。シーン理解の研究の進歩を促進することに尽力しています。このデータ セットに基づいて、毎年コンテストが開催され、検出、セグメンテーション、キー ポイント認識、注釈などのマシン ビジョンの中心的なタスクをカバーするようになり、ImageNet Challenge 以来最も影響力のある学術コンテストの 1 つとなっています。

COCO は、ImageNet と比較して、対象とその風景が一緒に写っている写真、つまり非象徴的な画像を好みます。このような画像は視覚的な意味論を反映することができ、画像理解のタスク要件によりよく一致します。相対的な象徴的な画像は、浅い意味論的な画像分類やその他のタスクに適しています。

COCO の検出タスクには合計 80 のクラスが含まれています。2014 年にリリースされた train/val/test のデータ スケールはそれぞれ 80k/40k/40k です。学界でより一般的な部門は、train と 35k val のサブセットをトレーニング セット (trainval35k) として使用し、残りの val をテスト セット (minival) として使用し、結果を公式評価サーバー (test-dev) に送信することです。さらに、COCO 関係者は、コンテストの評価セットとしてテスト データの一部も保持します。

3. Google オープンイメージ

Open Image は、Google チームによってリリースされたデータセットです。新しくリリースされた Open Images V4 には、190 万枚の画像、600 のカテゴリ、および 1,540 万個の境界ボックス アノテーションが含まれており、オブジェクトの位置アノテーション情報を含む現在最大のデータセットです。これらの境界ボックスのほとんどはプロのアノテーターによって手動で描画され、その正確さと一貫性が保証されています。さらに、これらの画像は非常に多様であり、多くの場合、複数のオブジェクト (画像あたり平均 8 つ) を含む複雑なシーンが含まれています。

4.イメージネット

ImageNet はコンピュータ ビジョン システム認識プロジェクトであり、現在世界最大の画像認識データベースです。ImageNet は、人間の認識システムをシミュレートするために、米国スタンフォード大学のコンピューター科学者によって設立されました。写真から物体を認識する能力。ImageNet データ セットには詳細なドキュメントがあり、専任チームによって保守されており、非常に使いやすいです。コンピューター ビジョンの分野の研究論文で広く使用されており、深層学習画像の分野におけるアルゴリズムのパフォーマンス テストのほぼ「標準」データ セットとなっています。ImageNet データ セットには、20,000 以上のカテゴリをカバーする 1,400 万枚以上の写真が含まれており、そのうち 100 万枚以上の写真には明確なカテゴリ ラベルと画像内のオブジェクトの位置のラベルが付けられています。

5. 一般的に使用される画像注釈ツール

1.ラベル画像

1) LabelImg はオープン ソースの画像ラベル付けツールです。ラベルは分類とターゲット検出に使用できます。Python で書かれており、グラフィカル インターフェイスとして Qt を使用しているため、シンプルで使いやすいです。注釈は、ImageNet で使用される形式である PASCAL VOC 形式の XML ファイルとして保存されます。さらに、COCO データセット形式もサポートしています。

2) インストール方法:

前提条件: Python3 以降をインストールし、pyqt5 をインストールする ステップ 1: インストール パッケージをダウンロードする ステップ 2: Pycharm を使用してプロジェクトを開いて labelImg.py ファイルを実行するか、labelImg.py ファイルを直接実行します

3) 一般的なエラー処理:

① 报错:ModuleNotFoundError: 'libs.resources' という名前のモジュールがありません

  • 加工方法:
  • Python配下のスクリプトを環境変数パスに追加します。
  • labelImg ディレクトリでコマンド pyrcc5 -o resource.py resource.qrc を実行します。
  • 生成されたresources.pyをlabelImg/libs/にコピーします。
  • labelImg.pyプログラムを実行します。

2.ラベルミー

labelme はオープンソースの画像/ビデオラベル付けツールで、ラベルはターゲットの検出、セグメンテーション、分類に使用できます。インスピレーションは、MIT がオープンソース化したラベル作成ツールである Labelme から得ています。ラベルミーの特徴は次のとおりです。

  • 画像注釈をサポートするコンポーネントは次のとおりです: 長方形、多角形、円、線、点 (長方形、多角形、円、線、点)
  • ビデオ注釈をサポート
  • GUIのカスタマイズ
  • セマンティック/インスタンスセグメンテーションのためのVOCフォーマットのエクスポートをサポート
  • 支出はインスタンスのセグメント化のために COCO 形式でエクスポートされます

3. ラベルボックス

Labelbox は、機械学習アプリケーション用のデータセットを作成、管理、維持するサービス プロバイダーです。これには、画像の分類とセグメンテーション、テキスト、オーディオ、ビデオの注釈用のインターフェイスを含む、部分的に無料のデータ ラベル付けツールが含まれています。画像とビデオの注釈の機能は次のとおりです:

  • アノテーションに使用できるコンポーネントは、長方形ボックス、ポリゴン、ライン、ポイント、ブラシ、スーパーピクセルなど(バウンディングボックス、ポリゴン、ライン、ポイント、ブラシ、サブピクセル)です。
  • ラベルは、分類、セグメンテーション、オブジェクト検出などに使用できます。
  • JSON / CSV / WKT / COCO / Pascal VOC などの形式でデータをエクスポート
  • 支持 Tiled Imagery (Maps)
  • ビデオ注釈のサポート (近日更新)

4.RectLabel

RectLabel は、オンラインの無料画像注釈ツールです。ラベルはオブジェクトの検出、セグメンテーション、分類に使用できます。特徴または機能:

  • 利用可能なコンポーネント: 長方形ボックス、ポリゴン、3次ベジェ曲線、線と点、ブラシ、スーパーピクセル
  • 描画せずに画像全体にマークを付けるだけで済みます
  • ブラシとスーパーピクセルが利用可能
  • YOLO、KITTI、COCO JSON、CSV 形式にエクスポート
  • PASCAL VOC XML 形式での読み取りと書き込み
  • Core ML モデルを使用して画像に自動的にラベルを付ける
  • ビデオを画像フレームに変換する

5. ブルーム

CVAT は、オープンソースの Web ベースのインタラクティブなビデオ/画像注釈ツールであり、California Video Annotation Tool (Video Annotation Tool) プロジェクトを再設計して実装したものです。OpenCV チームは、このツールを使用して数百万のオブジェクトにさまざまな属性を注釈付けしており、UI と UX の決定の多くは、専門のデータ注釈チームからのフィードバックに基づいています。機能があります

  • キーフレーム間の境界ボックス補間
  • 自動ラベル付け (TensorFlow OD API および Intel OpenVINO IR 形式を使用したディープラーニング モデル)

6. 経由

VGG Image Annotator (VIA) は、画像、音声、ビデオ用のシンプルなスタンドアロンの手動注釈ソフトウェアです。VIA は Web ブラウザで実行され、インストールやセットアップは必要ありません。このページは、ほとんどの最新の Web ブラウザーでオフライン アプリケーションとして機能します。

  • ラベル付けをサポートする領域コンポーネントは、長方形、円、楕円、多角形、点、およびポリラインです。

 




物体検出の概要 

おすすめ

転載: blog.csdn.net/u013250861/article/details/131806630