目次
まず、環境をセットアップする際の主な問題について説明します。
- これはフォルダー内で行う必要があります。後で CF_ROOT が定義されることがわかります。構成プロセス中、パスは非常に複雑になります。パスの変更に注意してください。
- 問題は DCNv2 の構成にあります
- コードを変更するには
- 構成して実行する前に、仮想環境をアクティブ化する必要があることに注意してください。
1. 環境整備
1.1 サーバー
- MistGPU を使用してサーバーをレンタルするhttps://mistgpu.com
- サーバーを作成したら、ログインします。ここではコマンドラインを使用してログインします。
1.2 仮想環境の作成
- Python バージョン 3.7 で「centerfusion」という名前の仮想環境を作成します。
conda create -n centerfusion python=3.7
- 作成が成功したら、仮想環境に切り替えます
conda activate centerfusion
1.3 必要なフレームワークをインストールする
- 参考https://github.com/mrnabati/CenterFusion,https://blog.csdn.net/ssj925319/article/details/124294911
- pytorchをインストールします。サーバーのバージョンに応じてここを選択してください
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
- COCOAPIをインストールする
pip install cython; pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
1.4 コードのクローンを作成する
-
最初にパスを設定する必要があります。そうしないと一連の問題が発生します。作者が設定したサーバーは次のように設定されています
-
Mist GPU サーバーのデフォルトのディレクトリは /home/mist の下にあります。ここでは、CF_ROOT=/path/to/CenterFusion の公式設定を使用せず、CF_ROOT=work/CenterFusion を自分で指定しました。このコマンドを使用する場合、パスは次のようになります。 /home/ の霧の下で、具体的な手順は次のとおりです。
CF_ROOT=work/CenterFusion
git clone --recursive https://github.com/mrnabati/CenterFusion.git $CF_ROOT
-
ここでのクローン作成コマンドは、mistgpu の git がデフォルトでアクセラレーション エージェントを追加するため、次の理由が発生する傾向があります。このエラーが発生した場合は、手動で CF_ROOT パスにアップロードできます。
-
次に、CF_ROOT パス (/work/CenterFusion) を入力し、次のコマンドを実行し (仮想環境がアクティブ化されていることを確認してください)、必要なパッケージをインストールします。
pip install -r requirements.txt
-
以下の DCNv2 を設定します。ウェアハウスに DCNv2 がある可能性がありますが、実際のテストでは実行できません。次のバージョンを使用します https://pan.baidu.com/s/1ua7gyzFn1nmTGuFYP1SHVg?pwd=1csg抽出コード: 1csg、$CF_ROOT にアップロードします/src/lib/model/networks/DCNv2 を解凍し、解凍後に DCNv2-pytorch_1.7 と入力し、次のコマンドを実行します
./make.sh
-
ビルドが成功すると、次のプロンプトが表示されます。
2. データの準備
2.1 データセットの準備
- nuscenes データ セットをダウンロードし、CenterFusion/data/nuscenes フォルダーに解凍します。ここでは、データ セットのミニ部分 ( https://www.nuscenes.org/nuscenes#download ) のみを使用しました。
- v1.0-mini.tgz という名前のファイルをダウンロードします。解凍は CenterFusion/data/nuscenes ディレクトリで行う必要があることに注意してください。データ フォルダには nuscenes ディレクトリがありません。新しいフォルダを自分で作成してください。解凍コマンドがすでに存在する場合は
tar -zxvf v1.0-mini.tgz -C 路径
、 CenterFusion/data/nuscenes ディレクトリにある場合は、直接解凍してください。
tar -zxvf v1.0-mini.tgz
2.2 トレーニング前のモデルの準備
- 事前トレーニング済みモデルは CenterFusion/models に配置され、使用するモデルは test.sh で変更できます。
- 事前トレーニング済みモデル: https://pan.baidu.com/s/1OfuFhm3VrUCznsjQ6jKPuw?pwd=1rhr
3. コードを変更する
- @Coke はちょっとおいしい記事https://blog.csdn.net/ssj925319/article/details/124294911を参照して、次のコードを変更します。
- 現時点ではテスト作業のみなので、トレーニングに必要な改造コードは上記記事を参照してください。
- CenterFusion/experiments/test.sh を変更します。 –debug 4 は視覚化を表します
- CenterFusion/src/tools/convert_nuScenes.py を変更し、56 行目を 3 行に変更します。
- CenterFusion/src/lib/utils/debugger.py を変更します。つまり、int 型への変換を強制します。http: //t.csdn.cn/smn4Fを参照してください。
4. 操作
4.1 データセットの変換
- CenterFusion/src/tools/convert_nuScenes.py を実行してデータセットを COCO 形式に変換します
- 実行する前に、作成した仮想環境に環境を切り替えることを忘れないでください。
conda activate centerfusion
#进入到CenterFusion/src/tools/
python convert_nuScenes.py
- 変換が完了すると、CenterFusion/data/nuscenes に annotations_3weaks ディレクトリが生成され、COCO 形式のデータ セットが保存されます。
4.2 操作
- CenterFusion ルート ディレクトリに戻り、次のコードを実行します。
bash experiments/test.sh
- ビジュアル出力は CenterFusion/exp/ddd/centerfusion/debug ディレクトリにあります。
5. 参考資料
[1] CenterFusion プロジェクトの超詳細な環境構築手順と視覚的な操作 @コーラはちょっとおいしい
[2] CenterFusion コード再現 @砂糖なし半熟卵
[3] CenterFusion アルゴリズムの環境構築とデモ操作 CenterFusion: Center-based Radar と3D オブジェクト検出のためのカメラ フュージョン @HIT_Vanni