Software Engineering Institute
そのために、防衛イノベーションユニット(DIU)は最近、国防総省が国土地理院と共同で実施した「xView 2018 Detection Challenge」を開始し、衛星画像でより正確に画像を検出するためのコンピュータビジョン技術の革新的な利用法を模索した。 このブログ記事で紹介したように、私は研究者のチームと一緒にxViewチャレンジに取り組み、5位という成績を収めました。 この活動は、機械学習と人工知能を使用して、連邦政府の HADR 活動を支援する私たちの最新の取り組みです。
Deep Learning and Satellite Imagery
衛星画像をスキャンして宇宙からの画像や建物などを検出することは、政府にとって優先事項となっていますが、アナリストによって行われる時間がかかり骨が折れる作業であり、人的エラーの可能性も出てくることがしばしばです。 高解像度のデータセットと分類であっても、アナリストがストレージ、帯域幅、およびメモリの問題に遭遇すると、課題が生じることがあります。
衛星によるコンピューター ビジョンの最先端技術は、計算ニューラルネットワークで、衛星画像についての推論に効果を発揮してきました。 私がこの分野に初めて足を踏み入れたのは、IARPAのFunctional Map of the World (FMOW) Challengeでした。 IARPAはジョン・ホプキンス大学の応用物理学研究所と共同で、200カ国以上の地表を撮影した100万枚以上のマルチスペクトル衛星画像をデータセットとして作成しました。 データセットの各画像には、「軍事施設」、「納屋」、「建設現場」など 63 のカテゴリ (62 クラスと誤検出用の 1 クラス) のいずれかに該当する施設や土地オブジェクトの例が少なくとも 1 つ含まれていました。 5027>
私たちは FMOW に対して、次の 3 つの主要なアプローチを行いました:
1) 汎用特徴抽出器としてさまざまなデータ セットで事前トレーニングした深い畳み込みニューラルネットワーク (CNN) (DenseNet または RetinaNet などのアーキテクチャを使用) と、衛星画像固有の特徴を学習する浅い CNN を同時に使用。 これらは完全連結層を使用して結合され、最終的に長さ63のソフトマックスベクトルを出力する。
2) バイナリ「一対一」分類器のアンサンブルのトレーニング
3) 「不正」をして誤検出を含む検証データを使用し、誤検出と「本当」のデータの違いを学習するサポートベクターマシン(SVM)をトレーニングし、次に本当のデータにのみ方法1を使用できるようになる。
Building off Functional Map of the World
Building off Functional Map of the World (FMoW), the xView challenge applies computer vision to the growing amount of available imagery from space so we can understand the visual world in new ways and address a range of important applications.これは、世界地図の機能性(FMoW)をベースとし、コンピュータ ビジョンと、宇宙から利用できる画像の増大とを組み合わせて、新しい方法で視覚世界を理解し、重要なアプリケーションの範囲に取り組もうというものです。 衛星画像のコンピュータビジョンを自動化できる可能性のあるアルゴリズムを探します。 xView チャレンジは、一般に公開されている最大級の衛星画像データセットを競技者に提供し、
- 検出の最小解像度を下げる
- 学習効率を上げる
- より多くのオブジェクト クラスの発見を可能にする
- より細かいクラスの検出を向上させる
私の他に、xViewチャレンジ チームは第2中尉も参加しました。 xView Challenge は、SEI の Emerging Technology Center (重要な政府のニーズを満たすための新技術の特定、実証、拡張、応用に重点を置く) における私たちの仕事にとって理想的な競争であることが証明されました。 私たちは、学術的および産業的研究を形成し活用することに加え、これらの新技術とその応用に関する政府の認識と知識を促進しています。 xView Challenge により、検証したかったコンピューター ビジョンへのいくつかのアプローチを探究することができました。
投稿の残りの部分は、チャレンジへの参加の一部として提出した技術レポートから抜粋したもので、xView Challenge における私たちの作業の抜粋を強調しています。
データ クリーニング
xView データセットは大規模で、60 クラスと 0.3 メートルの解像度で 100 万のオブジェクト画像があり、バウンディング ボックスとクラスに対してクラウドソースのアノテーションを使用してラベル付けされています。 DIUxがこのデータセットのリリースに伴って発表した論文「xView: 5027>
私たちの分析では、誤ったラベル付けをされたデータとノイズの多いバウンディングボックスの量は、全体的なモデルのトレーニングに影響を与えるほど重要でした。 私たちはデータをきれいにするための複数の手法を検討しましたが、最終的に、実装するどの手法も、課題のスケジュールの制約を考えると実行不可能であることを決定しました。
チッピングによるデータの処理
画像サイズとオブジェクトの密度により、画像全体をニューラルネットワークに渡そうとしたときに問題が発生しました。 データセットとともに提出した論文に概説されているように、xView ベースライン モデルでは、1 つのモデル (multi-res) で 300 px2、400 px2、500 px2 の複数のチップ サイズを使用して、チッピング戦略を使用して各画像を小さいサイズのタイルに分割しようと試みました。 5027>
また、隣接するチップをチップサイズに比例した量(50%)だけ重ねる単純なオーバーラップチッピング手法の実験も行い、検出精度を15%向上させ、大規模衛星画像での使用がより現実的であることが判明しました。
私たちは、ベースラインがコンペティションで課された制限時間よりもかなり速く動作したことと、各チップの端の近くで物体検出性能が著しく低下するという観察に基づいて、モデルをさらに改良しました。 重複する検出を二重にカウントするのではなく、まず非最大抑制を用いて、最も信頼できる予測のみが出力されるようにした。
Non-Max Suppression
我々のモデルは、同じオブジェクト上に複数の重複するボックスを出力する場合があり、これが全体の平均平均精度(mAP)を低下させることにつながった。 この問題に対処するため、我々は非最大抑制を使用して、オブジェクトに十分に適合する最大のボックスのみを保持した。
データ増強
増強によって利用可能なデータ量を増やすことは、コンピュータビジョンのコミュニティではよくあることである。 我々のチームは、以下のようなデータのバリエーションで我々のモデルがどのように動作するかを評価するために、複数のトレーニングエポックにチップごとのオーグメンテーションの様々なランダムな組み合わせで実験した。
- 水平反転
- 垂直反転
- RGPからグレースペースへの変換
- 明るさの変動
- コントラスト調整
- 色相ゆがみ
- 飽和度 adjustment
- color distortion
- bounding box jitter
- crops to fixed aspect ratio
- channel mean subtractions
- rotations
これらの増強のうち、1つは。 水平反転、垂直反転、固定アスペクト比への切り出しは、モデルの精度とmAPを最も向上させる結果となりました。 5027>
データの不均衡
以下の表に示すように、xViewによって提供されたデータセットは非常に不均衡であり、結果として学習プロセスが歪み、モデルが珍しいクラスの正確な表現を学習することを妨げた。…
CLASS COUNT
Building 287,074
Bus 6,316
Railway Vehicle 17
無作為抽出アプローチでは鉄道車両クラスが極端に過小になってしまうため、データセット中の逆比例で過小になっているチップがオーバーサンプリングされている反比例抽出アプローチを使用しました。 オーバーサンプリングは一般的なアプローチであり、過少に表現されたクラスにおいて良好な学習安定性が得られました。
カスタムモデルの開発
柔軟で設定ごとの定義アプローチ(モデルを作成するコードを書く代わりに、パラメータだけを含む設定ファイルを編集し、そのファイルが自動的にモデルを構築して学習する)を提供するため、DIUxではTensorFlowオブジェクト検出API (TF-ODAPI) を使用して作成したベースラインを提供しています。
また、TensorFlow と Keras を使用してカスタム モデルを開発し、カスタム損失関数、異なるアーキテクチャ、およびさまざまな種類の事前トレーニングに対応するために、TF-OD API 以外に目を向ける必要がありました。 しかし、平均的なユースケースでカバーされていない機能を構築するためには、TensorFlow と Keras を使用してカスタム コードを深く掘り下げる必要があることがわかりました。
同時ローカリゼーションと分類のための最も一般的なアーキテクチャは、Single Shot MultiBox Detector (SSD) と You Only Look Once (YOLO) の 2 つです。 TF-ODAPI は、これらのアーキテクチャの両方のパラメータを変更する機能を提供し、それはデータセットで比較的うまく機能します。
私たちはまた、TF-ODAPI 以外を探索し、TensorFlow と Keras を使用して、Retinanet、Faster R-CNN、YOLOv3 およびその他のカスタム モデルなどのアーキテクチャで実験しています。 最終的には、SSDのバリエーションが最も良い結果をもたらしました。 5027>
図4:SSDの混乱行列。 図5:YOLOの混乱行列。
上の図4と図5において、SSDとYOLOの両方でカテゴリ内の混乱が高いことに注目することが重要である。 特に、これらのモデルは、車と建物のようなものを非常にうまく分類することができますが、カテゴリ内のパフォーマンスは理想的ではありません。 この制限は、課題自体の機能であり、我々のアプローチでは効果的に取り組めなかったことは明らかです。
事前トレーニングにおける課題
事前トレーニングは、衛星画像でより高い分類精度を達成するために深層学習を使用する際に重要かつ必要なステップです。 私たちのチームは、「DOTA: A Large-scale Dataset for Object Detection in Aerial Images」という並列データセットを特定し、xViewとは異なり、軸合わせされていないボックスでオーバーローカライズおよび分類するための15クラスを提供しました。 私たちの目的は、DOTAからクラスに関する一般的な特徴を学び、その後、60クラスを収容するためにより大きな出力ベクトルでxViewの学習を続け、できれば精度の大きな向上を観察することでした。 そのデータセットで0.75という高いmAPを得ることができましたが、xViewに転送した後はベースラインよりも悪い結果を出すことが多かったのです。 しかし、F1スコアの向上は確認できました。 しかし、F1スコアの向上は確認されましたが、F1スコアは重要な指標ではないため、それ以上の追求は行いませんでした。 ImageNet のようなより大きなデータセットでの事前トレーニングも、mAP での利益は得られませんでした。
Looking Ahead
衛星画像での深層学習の使用は、危機が発生している場所を特定するだけではなく、救助者が人命を救うのに役立ちます。 xViewでの私たちの目標は、ミッションの目標を解決するために、非常に大きなプロトタイプを比較的短時間で構築できることを実証することでした。
私たちのアプローチの成功は、分類の正確性に基づいて提出物を自動的に採点するxViewチャレンジ採点システムによって検証されました。
最近のニュースリリースでDIUは、ハリケーン フローレンスを受けてxViewチャレンジの受賞アルゴリズムをすでにテストし始めており、緊急隊員が浸水地域と通行不能道路を迅速に特定できるように支援していると述べました。