BBAug: PyTorch 用のオブジェクト検出境界ボックスデータ拡張パッケージ

BBAug: PyTorch 用のオブジェクト検出境界ボックスデータ拡張パッケージ

多くのニューラル ネットワーク モデルと同様に、オブジェクト検出モデルは大量のデータでトレーニングすると最も効果的に機能します。通常、利用可能なデータは限られており、世界中の多くの研究者が利用可能なデータの量を増やすための拡張戦略を調査しています。 Google の Brain チームはそのような研究を実施し、「物体検出のためのデータ拡張戦略の学習」と題した論文を発表しました。この論文では、著者らは、物体検出問題に対して優れたパフォーマンスを発揮する戦略と呼ばれる一連の拡張を特定しています。この戦略は強化された検索を通じて得られ、一般的なモデルのパフォーマンスが向上します。

著者らは、強化戦略をサブ戦略のセットとして定義しています。モデルのトレーニング中に、サブ戦略の 1 つがランダムに選択され、画像が拡張されます。各サブ戦略には、画像に順番に適用される拡張機能があります。各変換には、確率と大きさという 2 つのハイパーパラメータもあります。確率は強化が適用される可能性を示し、大きさは強化の度合いを示します。次のコードは、この記事で使用されている戦略を示しています。

  1. ポリシー= [  
  2. [('TranslateX_BBox', 0.6, 4), ('イコライズ', 0.8, 10)],
  3.   [('TranslateY_Only_BBoxes', 0.2, 2), ('Cutout', 0.8, 8)],
  4.   [('シャープネス', 0.0, 8), ('ShearX_BBox', 0.4, 0)],
  5.   [('ShearY_BBox', 1.0, 2), ('TranslateY_Only_BBoxes', 0.6, 6)],
  6.   [('Rotate_BBox', 0.6, 10), ('色', 1.0, 6)],
  7. ]

この戦略には 5 つのサブ戦略があり、最初のサブ戦略には TranslateX_BBox と Equalize の拡張機能が含まれます。 TranslateX_BBox 操作は、画像を x 軸上で 4 だけ移動します。この場合、サイズは直接ピクセルに変換されるのではなく、サイズに応じてピクセル値が拡大縮小されます。この強化の確率も 0.6 です。つまり、この強化を選択した場合、適用される確率は 60% です。各強化には関連する確率があるため、ランダム性の概念が導入され、トレーニングにランダム性の程度が追加されます。一般的に、Brain Team は v0、v1、v2、v3 の 4 つの戦略を提案しています。この記事では v0 ポリシーを示しますが、他の 3 つのポリシーには、いくつかの異なる変換を含むサブポリシーがさらに含まれています。一般的に、増加は3つのカテゴリーに分類され、著者らは次のように定義しています。

色の操作: 境界ボックスの位置に影響を与えずにカラー チャネルを歪めます。

幾何学的操作: 画像を幾何学的に歪め、それに応じて境界ボックスの位置とサイズを変更します。

境界ボックス操作: 境界ボックスに含まれるピクセルの内容のみが歪められます。

経営学修士

では、この点に関して BBAug はどのような貢献をしたのでしょうか? BBAug は、Google Brain Team のすべての戦略を実装する Python パッケージです。このパッケージは、これらの戦略をより簡単に使用できるようにするラッパーです。実際の拡張は、優れた imgaug パッケージによって行われます。

上記の戦略は、以下に示すようにサンプル画像に適用されます。各行は異なるサブ戦略であり、各列はそのサブ戦略の異なる実行です。

ご覧のとおり、サブポリシーの実行間にはある程度の変動があり、トレーニングにランダム性が加わります。これは、BBAug が実装した 4 つの戦略のうちの 1 つにすぎません。 4 つの戦略すべての完全な視覚化を確認するには、パッケージの GitHub ページ (https://github.com/harpalsahota/bbaug) をご覧ください。このパッケージには、戦略をカスタマイズする機能や、画像の外側にある境界ボックスが部分的に画像の外側にある場合は自動的に削除または切り取られる機能など、便利な機能もいくつか用意されています。たとえば、下の画像では、変換拡張が適用され、境界ボックスが部分的に画像の外側に押し出されています。これに合わせて新しい境界ボックスが縮小されていることがわかります。

境界ボックス領域のみに影響する拡張機能を作成することも可能です。次の画像では、solarisaugmentation は境界ボックス領域にのみ適用されています。

ランダムな戦略を使用して単一の画像を拡張するのはどれくらい簡単ですか?それは次のように簡単です:

  1. bbaug輸入ポリシーから 
  2. # ポリシー v0 セットを選択 
  3. aug_policy =ポリシー.policies_v0 ()  
  4. # 選択したポリシーセットでポリシーコンテナをインスタンス化します 
  5. ポリシーコンテナ=ポリシー.ポリシーコンテナ (aug_policy)  
  6. # ポリシーセットからランダムにポリシーを選択する 
  7. ランダムポリシー=ポリシーコンテナ.select_random_policy ()   
  8. # 拡張を適用します。拡張された画像と境界ボックスを返します。  
  9. # 画像は画像のNumPy配列です 
  10. # 境界ボックスは、ピクセル単位 (int) の境界ボックスのリストです。  
  11. # 例: [[x_min, y_min, x_man, y_max], [x_min, y_min, x_man, y_max]]  
  12. # ラベルは、バウンディングボックスのクラスラベルであり、intの反復可能オブジェクトです(例:[1,0])。  
  13. img_aug、 bbs_aug = policy_container .apply_augmentation(ランダムポリシー、イメージ、バウンディングボックス、ラベル)  
  14. # image_aug: 拡張された画像のNumPy配列 
  15. # bbs_aug: 拡張境界ボックスの numpy 配列 (形式: [[label, x_min, y_min, x_man, y_max],...])

要約する

このパッケージは、Google Brain チームによって導き出された強化戦略を実装します。現在、4 つの戦略すべてが実装されており、パッケージには、ユーザーがこれらの戦略を PyTorch トレーニング パイプラインに統合するのに役立つノートブックも付属しています。

<<:  瀋陽・撫順モデル区長江デルタ知能製造業投資促進会議と2021年第3回ファーウェイクラウド「人工知能競技・無人車両チャレンジカップ」が本格的に開幕

>>:  顔認識のために服を着る必要があるかどうかは激しい議論を巻き起こしたが、専門家は心配しすぎる必要はないと述べている。

ブログ    

推薦する

...

Madlib を使用して「機械学習」で KNN を学習する

序文機械学習(ML)は、教師あり学習、教師なし学習、半教師あり学習などに分けられます。 1.1 教師...

将来を見据えたデータセキュリティのためのAIソリューション

今日、ビジネスリーダーは急速に進化するデジタル世界における多数のデータセキュリティの脅威に対処してい...

...

...

...

2021年のAIの現状: 言語モデル、ヘルスケア

人工知能は、人間の活動と市場投資の2つの主要分野である健康と言語に拡大しています。 「State o...

2019年の人工知能の給与水準、給与水準分析チャート、わかりやすい

2019年の人工知能の給与水準、まずは全体の給与水準の2つの分析グラフを見てみましょう! ***は、...

OpenAIはAPIのアップグレードと価格引き下げでメジャーアップデートを実施

6月14日、OpenAIは生成型人工知能の分野での競争上の優位性を維持するため、テキスト生成モデルを...

...

図: ページ置換アルゴリズム

[[398509]]この記事はWeChatの公開アカウント「Jingyu」から転載したもので、著者は...

AI専門家が警告:GPT-3は素晴らしいが透明性に欠ける

[[342733]]アルゴリズムに人間のように書かせることは、人工知能研究機関 OpenAI が長年...

AIを活用して産業データの価値を見出す

すべての業界に共通するものが 1 つあります。それは、大量のデータです。データ量は、個人用デバイス、...

Metaは、パラメータを積み重ねたり、トレーニング時間に依存したりすることなくViTトレーニングプロセスを加速し、スループットを4倍に増加させます。

現在、ビジュアルトランスフォーマー(ViT)モデルは、画像分類、オブジェクト検出、セグメンテーション...