小さなターゲットを検出するためのディープラーニングの一般的な方法

小さなターゲットを検出するためのディープラーニングの一般的な方法

[[427475]]

導入

ディープラーニングによる物体検出、特に顔検出では、解像度が低い、画像がぼやけている、情報が少ない、ノイズが多いなどの理由で、小さな物体や小さな顔の検出は常に実用的で一般的な困難な問題でした。 しかし、近年の開発では、小さなターゲットの検出性能を向上させるソリューションがいくつか登場しています。この記事では、これらのソリューションを分析、整理、要約します。

議論を歓迎します。この記事は継続的にメンテナンスされます。

実験プラットフォーム

該当なし

従来の画像ピラミッドとマルチスケールスライディングウィンドウ検出

ディープラーニング手法が普及する前は、異なるスケールのターゲットに対しては、通常、元の画像を使用して異なる解像度の画像ピラミッドを構築し、入力解像度が固定された分類器を使用してピラミッドの各層をスライドしてターゲットを検出し、ピラミッドの底部にある小さなターゲットを検出していました。または、元の画像を 1 つだけ使用し、異なる解像度の分類器を使用して元の画像上のターゲットを検出し、比較的小さなウィンドウ分類器で小さなターゲットを検出していました。

有名な顔検出器MTCNN (https://arxiv.org/abs/1604.02878) では、画像ピラミッド法を使用して、さまざまな解像度の顔ターゲットを検出します。

ただし、この方法は低速です (画像ピラミッドの構築は、通常、畳み込みカーネルの分離や単純なサイズ変更によって高速化できますが、それでも複数の特徴抽出が必要です)。その後、誰かがそのアイデアを借りて、異なるレイヤーから特徴を取得して融合する特徴ピラミッド ネットワーク FPN を考案しました。必要なのは 1 回の順方向計算のみで、画像のスケーリングは必要ありません。また、この記事の後半で説明する小さなターゲットの検出にも使用されています。

シンプルで、原始的で、信頼性の高いデータ拡張

ディープラーニングの効果は、ある意味では大量のデータによってもたらされます。トレーニング セット内の小さなターゲット サンプルの種類と数を増やすことで、小さなターゲットの検出のパフォーマンスも向上します。 「ディープラーニングにおける不均衡なサンプルの処理」[2]という記事では、多くのデータ拡張スキームが紹介されています。これらのスキームは主に、異なるカテゴリのサンプル数の不均衡の問題を解決することを目的としていますが、データセット内の小さなサンプルの数が大きなサンプルの数に比べて少ないために、小さなオブジェクトの検出が困難になることもあります。したがって、これらのスキームの多くは、小さなサンプルデータの強化に使用できるため、ここでは詳しく説明しません。さらに、19 年の論文「小さな物体検出のための拡張」 (https://arxiv.org/abs/1902.07296) では、2 つの単純で大まかな方法​​も提案されています。

1. COCO データセットに小さな物体の写真が少ないという問題に対処するために、オーバーサンプリング戦略が使用されます。

2. 同じ画像内に小さなターゲットが少数存在する問題を解決するには、セグメンテーション マスクを使用して画像内の小さなターゲット画像を切り取り、コピー アンド ペースト方式を使用します (もちろん、回転やスケーリングも多少追加され、他のターゲットをブロックしないように注意する必要があります)。

同じ画像内に小さなオブジェクトが多数ある場合、アンカー戦略ではより多くの陽性サンプルが一致します。

機能融合FPN

異なる段階の特徴マップは異なる受容野に対応しており、表現される情報の抽象化の程度も異なります。 浅い特徴マップの受容野は小さく、小さなターゲットの検出に適しています (大きなターゲットを検出する場合、大きなターゲットの一部しか「見えず」、有効な情報が不十分です)。深い特徴マップの受容野は大きく、大きなターゲットの検出に適しています (小さなターゲットを検出する場合、背景ノイズが多すぎて、冗長ノイズが多すぎます)。そこで、異なる段階の特徴マップを統合してターゲット検出のパフォーマンスを向上させることを提案した人がいます。これが特徴ピラミッド ネットワークFPN (https://arxiv.org/abs/1612.03144) です。

顔認識の分野では、より優れたパフォーマンスを発揮する手法のほとんどが FPN の考え方を採用しています。最も代表的なのは、 RetinaFace : Single-stage Dense Face Localisation in the Wild (https://arxiv.org/pdf/1905.00641.pdf) です。

別のアイデア: 異なる解像度の特徴マップを融合して、特徴の豊富さと情報量を向上させ、さまざまなサイズのターゲットを検出できるため、高解像度の特徴マップ (浅い特徴) のみを使用して小さな顔を検出し、中解像度の特徴マップ (中程度の特徴) を使用して大きな顔を検出し、最後に低解像度の特徴マップ (深い特徴) を使用して小さな顔を検出すると推測する人もいます。たとえば、顔検出におけるSSH (https://arxiv.org/pdf/1708.03979.pdf)。

適切なトレーニング方法 SNIP、SNIPER、SAN

機械学習において重要なポイントは、モデルの事前トレーニングの分布がテスト入力の分布にできるだけ近くなる必要があるということです。したがって、大きな解像度 (一般的な 224 x 224 など) でトレーニングされたモデルは、元々解像度が低かった画像を拡大してモデルに取り込んだ場合の検出には適していません。入力が低解像度画像の場合、モデルは低解像度画像でトレーニングする必要があります。それがうまくいかない場合は、高解像度画像でトレーニングされたモデルに低解像度画像を使用してモデルを微調整する必要があります。最悪のシナリオは、高解像度画像を直接使用して低解像度画像(アップサンプリングによって拡大)を予測することです。しかし、これは理想的な状況(トレーニング サンプルの数と豊富さは同じですが、実際には多くのデータ セットで小さなサンプルが著しく不足しています)の場合であるため、実際には、入力画像を拡大し、事前トレーニングに高解像度の画像を使用してから小さな画像で微調整する方が、小さなターゲット専用の分類器をトレーニングするよりも優れています。


下の図は、SNIP のトレーニング方法を示しています。トレーニング中は、適切なサイズのターゲット サンプルのみがトレーニングされます。真の値のスケールがアンカーのスケールに近い場合にのみ、検出器のトレーニングに使用されます。小さすぎたり大きすぎたりするものは使用されません。予測時には、複数のスケールの画像を入力します。適切なサイズのアンカーが常に存在します。予測には最も適切なスケールが選択されます。 R-FCN (https://arxiv.org/abs/1605.06409)には、主に2つの改良点があります。まず、マルチサイズ画像入力の場合、異なるサイズの入力に対して、RPNネットワークを通過する際に、有効なGTと無効なGT、および有効なアンカーと無効なアンカーを判断する必要があります。この分類により、取得された事前選択ボックスの精度が向上します。次に、RCNステージでは、事前選択ボックスのサイズに応じて、一定の範囲内の事前選択ボックスのみが選択され、最後にNMSを使用して最終結果が得られます。

SNIPER は SNIP の実用的なアップグレード版ですが、ここでは詳しく紹介しません。

より高密度のアンカーサンプリングとマッチング戦略 S3FD、FaceBoxes

前の「データ拡張」セクションで述べたように、小さなターゲットを画像内の複数の場所にコピーすると、小さなターゲットに一致するアンカー ボックスの数が増え、小さなターゲットのトレーニングの重みが増加し、大きなターゲットに対するネットワークの偏りが軽減されます。同様に、逆に考えれば、データセットが決まっている場合は、トレーニング中に小さなターゲットの学習をより包括的にするために、小さなターゲットを担当するアンカーの設定戦略を増やすこともできます。たとえば、顔検出におけるFaceBoxes (https://arxiv.org/abs/1708.05234) の貢献の 1 つは、アンカーの高密度化戦略です。Inception3 のアンカーには 3 つのスケール (32、64、128) があり、32 スケールはスパースであるため、4 回高密度化する必要があり、64 スケールは 2 回高密度化する必要があります。 S3FD顔検出方法では、等比率間隔原理を使用して、画像内の異なるサイズのアンカーの密度がほぼ等しくなるようにし、大きな顔と小さな顔に一致するアンカーの数もほぼ等しくなるようにします。

さらに、小さなターゲット アンカーに対して、より緩いマッチング戦略 (IoU > 0.4 など) を使用することも一般的な方法です。

まず増幅された特徴を生成し、次にそれを検出するGAN

知覚GANはGANを利用して、大きなターゲットと非常によく似た小さなターゲットの超解像特徴を生成し(下図参照)、この超解像特徴を小さなターゲットの元の特徴マップに重ね合わせる(下図参照)ことで、小さなターゲットの特徴表現を強化し、小さなターゲット(論文では信号機)の検出性能を向上させます。

コンテキスト情報を使用した関係ネットワークとピラミッドボックス

小さな物体、特に顔のような物体は、画像に単独では表示されません (頭、肩、体が写っていない顔だけが画像に表示されたら、恐ろしいでしょう)。 PyramidBox (https://arxiv.org/abs/1803.07737) メソッドと同様に、頭や肩などのコンテキスト情報を追加すると、ターゲットが大きくなり、コンテキスト情報によって検出が容易になります。

ここで、一般的なターゲット検出にコンテキスト情報を追加する別のアイデア、 Relation Networks (https://arxiv.org/abs/1711.11575) について触れておきたいと思います。これは、小さなターゲット検出に特化しているというよりは、主に認識性能の向上と重複検出のフィルタリングに使用されますが、前述の PyramidBox のアイデアと非常によく似ています。どちらもコンテキスト情報を使用して検出性能を向上させるものであり、Context に分類できます。

要約する

この記事では、一般的なターゲット検出と特殊な顔検出の分野における一般的な小型ターゲット検出ソリューションを詳細にまとめています。後ほど、顔の分野特有の問題(ROP の側面顔、RIP の 360 度顔など)と、学術界における現在のソリューションについて説明します。

<<:  AIと機械学習がセキュリティの未来をどう変えるのか

>>:  「未来ロボット」が1億元の資金調達を完了。自動物流が次の「阿修羅場」となるか?

ブログ    
ブログ    
ブログ    

推薦する

自然言語処理: コンピュータに人間の言語を理解して処理させる

自然言語処理 (NLP) は、人工知能の分野における重要かつ刺激的なテクノロジーです。その目標は、コ...

...

AutoML が大幅に高速化、Google が最適な ML モデルを自動検索する新しいプラットフォームをオープン ソース化

研究者が最適な機械学習モデルを自動的かつ効率的に開発できるようにするために、Google は特定の分...

MITの中国人博士課程学生がChatGPTをJupyterに移行し、自然言語プログラミングをワンストップソリューションに

自然言語プログラミングは Jupyter で直接実行できます。 MIT の中国人博士課程の学生によっ...

数学が苦手でも機械学習を学ぶことはできますか?

[[381131]] 01 「機械学習は簡単に習得できますか?」これは私が最も頻繁に聞かれる質問で...

...

フェイフェイ・リーのチームは、ゼロサンプル一般化を備えた自己エキスパートクローン技術を提案し、その性能はSOTAを上回った。

[[412771]]それは正しい!またフェイフェイ・リーだよ!フェイフェイ・リーについて最後に報道...

図解による古典的なプロセススケジューリングアルゴリズム

[[382804]]この記事はWeChatの公開アカウント「Flying Veal」から転載したもの...

...

人材に余裕がないわけではありませんが、AI 検査の方がコスト効率が良いのです。

著者 | Tu Chengyeレビュー | Chonglou石炭、電力、化学などの多くの産業では、安...

MITの研究者はAIを使って自動運転車が赤信号でアイドリングを回避できるように支援する

ドライバーが毎回信号を直進できるように旅行を計画できたらどうなるでしょうか?これは、特に幸運な状況下...

人工知能はサイバー犯罪をより容易かつ頻繁にしている、と研究が指摘

8月10日、サイバーセキュリティ企業SlashNextが発見した一連の証拠から、違法目的で開発された...

ネイチャー誌の年間トップ10科学者・イベント:天問1号の主任設計者、張栄橋氏がリスト入り

Nature の年間トップ 10 科学者およびトップ 10 科学イベントが発表されました。今年の科学...

人工知能はクラウドストレージとデータサービスの革新を推進する

[[358649]]従来のストレージとデータ構造が、クラウドネイティブ アプリケーションに必要な移植...

AIを活用したBeike Real Estate:不動産サービス業界の新たなエコシステムの構築

[51CTO.com からのオリジナル記事] 人工知能は日常生活のあらゆる分野に大きな変化をもたらし...