細粒度画像認識 [1] は、視覚認識学習における重要な研究トピックです。インテリジェントなニューエコノミーや産業用インターネットにおいて大きな応用価値があり、多くの現実世界のシナリオで広く使用されています...現在の分野には情報が不足しているという見解 この分野の深層学習のためのオープンソース ツール ライブラリとして、南京科技大学の Wei Xiucen 教授のチームは、オープンソースであるホークアイの開発、改良、完成に 1 年近くを費やしました。関連分野の研究者やエンジニアが参照できる、きめの細かい画像認識ディープラーニング用のツール ライブラリです。この記事ではホークアイについて詳しく紹介しています。
Hawkeye は、PyTorch に基づく高粒度画像認識深層学習ツール ライブラリであり、関連分野の研究者やエンジニア向けに特別に設計されています。現在、ホークアイには、「深度フィルターに基づく」、「注意メカニズムに基づく」、「高次特徴相互作用に基づく」、「特殊損失関数に基づく」、「ネットワーク データに基づく」およびその他の方法。
Hawkeye プロジェクトのコード スタイルは優れており、構造は明確で読みやすく、拡張性も優れています。高粒度画像認識の分野が初めての方にとって、Hawkeye はとっつきやすく、高粒度画像認識の主なプロセスや代表的な手法を理解しやすく、また、このツール ライブラリに独自のアルゴリズムを迅速に実装します。さらに、ライブラリには各モデルのトレーニング サンプル コードも用意されており、サンプルに従って独自に開発したメソッドをすぐに適応して Hawkeye に追加することもできます。
Hawkeye オープン ソース ライブラリのリンク: https://github.com/Hawkeye-FineGrained/Hawkeye
Hawkeye は現在、ファイングレインをサポートしています。粒子状の画像 以下に示すように、認識における主要な学習パラダイムのモデルと手法は合計 16 個あります。
ディープ フィルターに基づく
アテンション メカニズムに基づく
高水準に基づく順序機能インタラクション
特殊損失関数に基づく
ネットワーク データに基づく
ピアラーニング (ICCV 2021)その他の方法 NTS-Net (ECCV 2018)CrossX (ICCV 2019)DCL (CVPR 2019)3. Hawkeye のインストール依存関係のインストール
conda または pip を使用して関連する依存関係をインストールします:データ セットの準備
一般的に使用される 8 つの詳細な認識データ セットと最新のダウンロード リンクを提供します。 #CUB200: https://data.caltech.edu/records/65de6-vp158/files/CUB_200_2011.tgzcd Hawkeye/data wget https://data.caltech.edu/records/65de6-vp158/files/CUB_200_2011.tgz mkdir bird && tar -xvf CUB_200_2011.tgz -C bird/
上記 8 つのデータセットのメタデータ ファイルを提供しており、ライブラリ内の FGDataset と一致してトレーニング セットとテスト セットを簡単にロードできます。 set は、各データ セットによって提供される正式な区分です。異なるデータセットを使用する場合、切り替えを容易にするために、実験の構成ファイル内のデータセット構成を変更するだけで済みます。
実験用構成ファイルのデータセット構成を変更します (例は次のとおりです):
dataset: name: cub root_dir: data/bird/CUB_200_2011/images meta_dir: metadata/cub
4. Hawkeye を使用してモデルをトレーニングします
python Examples/APINet.py --config configs/APINet.yaml
実験のパラメーターはすべて、対応する yaml ファイル内にあり、可読性が高く、変更が簡単です。たとえば、次のようになります。実験のメインプログラム Examples/APINet .py のトレーナー APINetTrainer は Trainer から継承されており、複雑な学習処理、ロガー、モデルの保存、設定の読み込みなどのコードを記述する必要はなく、必要に応じて一部のモジュールを変更するだけで済みます。また、トレーニング段階で複数のフックも提供されており、一部のメソッドの特殊な実装に対応できます。
ログ ファイル、モデルの重みファイル、トレーニングに使用したトレーニング コード、およびそのときの設定ファイルは、実験出力ディレクトリ log_dir に保存されます。設定とトレーニング コードをバックアップすると、将来のさまざまな実験の比較が容易になります。 。
より詳細な例については、プロジェクト リンクの特定の情報を参照してください: https://github.com/Hawkeye-FineGrained/Hawkeye
以上がPyTorch をベースにした使いやすく、きめ細かい画像認識ディープラーニング ツール ライブラリ Hawkeye はオープンソースですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。