ディープ ラーニングにおける最も単純で興味深いアイデアの XNUMX つは、オブジェクト検出です。 基本的な考え方は、各項目を比較可能な特性を表す連続したクラスに分割し、その周りにボックスを描くことです。
これらの際立った特徴は、形や色と同じくらい単純であり、それらを分類するのに役立ちます.
のアプリケーション オブジェクト検出 コンピュータビジョンと画像処理の大幅な改善により、医療科学、自動運転、防衛と軍事、行政、その他多くの分野で広く採用されています。
これは、Pytorch 上に構築された素晴らしいオープンソースのオブジェクト検出ツールセットです。 この記事では、MMDetection を詳しく調べ、実際に使用し、その機能について説明します。
何ですか MM検出?
MM検出 toolbox は、オブジェクトの識別とインスタンスのセグメンテーションに関する問題に特化した Python コードベースとして作成されました。
PyTorch 実装が使用され、モジュール方式で作成されます。 オブジェクトの認識とインスタンスのセグメンテーションのために、幅広い効果的なモデルがさまざまな方法論にまとめられています。
これにより、効果的な推論と迅速なトレーニングが可能になります。 一方、ツールボックスには 200 を超える事前トレーニング済みネットワークの重みが含まれているため、オブジェクト識別分野での迅速な修正が可能です。
MMDetection は、現在の手法を適用したり、利用可能なモジュールを使用して新しい検出器を作成したりできるため、ベンチマークとして機能します。
このツールボックスの主な特徴は、通常のツールからの簡単なモジュール式パーツが含まれていることです。 物体検出 独自のパイプラインや独自のモデルを作成するために使用できるフレームワーク。
このツールキットのベンチマーク機能により、既存のフレームワークの上に新しい検出器フレームワークを構築し、そのパフォーマンスを比較することが簡単になります。
特徴
- Faster RCNN、Mask RCNN、RetinaNet などの人気のある最新の検出フレームワークは、ツールキットによって直接サポートされています。
- 微調整 (または新たなトレーニング) のための 360 以上の事前トレーニング済みモデルの使用。
- COCO、Cityscapes、LVIS、PASCAL VOC などの有名なビジョン データセット用。
- GPU では、すべての基本的な bbox およびマスク操作が実行されます。 Detectron2、maskrcnn-benchmark、SimpleDet などの他のコードベースは、これよりも速い速度で、または同等の速度でトレーニングできます。
- 研究者は、 物体検出 フレームワークをいくつかのモジュールに分割し、それらを組み合わせて独自のオブジェクト検出システムを作成できます。
MM 検出アーキテクチャ
MMDetection は、それぞれ独自のアーキテクチャを持つさまざまなビルド済みモデルを含むツールボックスであるため、任意のモデルに適用できる汎用設計を指定します。 次のコンポーネントがこの全体的なアーキテクチャを構成しています。
- バックボーン: 最終的な全結合層を持たない ResNet-50 などのバックボーンは、画像を特徴マップに変換するコンポーネントです。
- ネック: 首は、背骨と頭をつなぐ部分です。 バックボーンの未加工の機能マップで、特定の調整または再構成を行います。 Feature Pyramid Network は XNUMX つのイラスト (FPN) です。
- デンスヘッド (AnchorHead/AnchorFreeHead): RPNHead、RetinaHead、FCOSHead など、AnchorHead や AnchorFreeHead などの機能マップの密な領域で動作するコンポーネントです。
- RoIエクストラクター: RoIPooling のような演算子を使用して、単一またはフィーチャ マップのコレクションから RoIwise フィーチャをプルするセクションです。 SingleRoIExtractor サンプルは、フィーチャ ピラミッドの一致するレベルから RoI フィーチャを抽出します。
- RoIヘッド (BBoxHead/MaskHead): RoI 特性を入力として使用し、バウンディング ボックスの分類/回帰やマスク予測など、RoI ベースのタスク固有の予測を生成するシステムの部分です。
前述の概念を使用して、XNUMX 段検出器と XNUMX 段検出器の構成を示します。 いくつかの新しい部品を構築し、いくつかの既存の部品を組み合わせるだけで、独自の手順を開発できます。
MMDetectionに含まれるモデルのリスト
MMDetection は、いくつかのよく知られたモデルとタスク指向のモジュールに一流のコードベースを提供します。 以前に作成されたモデルと、MMDetection ツールボックスで利用できる適応可能な方法を以下に示します。 より多くのモデルとメソッドが追加されるにつれて、リストは増え続けます。
- 高速R-CNN
- より高速なR-CNN
- マスクR-CNN
- レティナネット
- DCN
- DCNv2
- カスケード R-CNN
- M2Det
- GHM
- スクラッチデット
- ダブルヘッド R-CNN
- グリッド R-CNN
- FSAF
- 天秤座R-CNN
- GCネット
- HRネット
- マスクスコアリングR-CNN
- FCOS
- SSD
- R-FCN
- 混合精密トレーニング
- 重量の標準化
- ハイブリッド タスク カスケード
- ガイド付き固定
- 一般化された注意
MMDetection を使用した建物オブジェクト検出モデル
このチュートリアルでは、設定と使用が簡単なため、Google コラボ ノートブックを使用します。
インストール
必要なものをすべてインストールするには、まず必要なライブラリをインストールし、MMdetection GitHub プロジェクトを複製します。
環境のインポート
プロジェクトの環境がリポジトリからインポートされます。
ライブラリと MMdetection のインポート
もちろん、MMdetection とともに、必要なライブラリをインポートします。
事前トレーニング済みのチェックポイントをダウンロードする
MMdetection からの事前トレーニング済みのモデル チェックポイントをダウンロードして、さらに調整と推論を行う必要があります。
建築模型
モデルを構築し、チェックポイントをデータセットに適用します。
検出器を推論する
モデルが適切に構築され、ロードされたので、モデルがどれほど優れているかを確認しましょう。 MMDetection の高レベル API 推論検出器を利用します。 この API は、推論プロセスを簡単にするために設計されました。
結果
結果を見てみましょう。
まとめ
結論として、MMDetection ツールボックスは、SimpleDet、Detectron、Maskrcnn-benchmark などの最近リリースされたコードベースよりも優れています。 豊富なモデルコレクションで、
MMDetection は現在、最先端のテクノロジです。 MMDetection は、効率とパフォーマンスの点で他のすべてのコードベースより優れています。
MMdetection の最も優れた点の XNUMX つは、モデルを変更したい場合に、別の構成ファイルを指定し、別のチェックポイントをダウンロードして、同じコードを実行できることです。
私は彼らを見ることをお勧めします 説明書 いずれかの段階で問題が発生した場合、またはそれらのいくつかを別の方法で実行したい場合。
コメントを残す