NVIDIA GET3D のデータセットの準備
「NVIDIA GET3D」のデータセットの準備する手順をまとめました。
1. NVIDIA GET3D のデータセット
NVIDIA GET3D は合成データセットで学習しています。リポジトリでは、Shapenet 用のレンダリングスクリプトを提供しています。
今回は、このスクリプトを使ってデータセットを作成するところまで行います。
2. データセットの作成
データセットの作成手順は、次のとおりです。
◎ GET3Dリポジトリの準備
(1) Ubuntuに作業フォルダ(~/get3d)を作成して移動。
(2) GET3Dリポジトリをクローン。
$ git clone https://github.com/nv-tlabs/GET3D
◎ ShapeNetの準備
(1) 「ShapeNet」から「ShapeNetCore v1」(ShapeNetCore.v1.zip) をダウンロード。
ユーザー登録が必要です。サイズは32GBで、ダウンロードには数時間かかりました。
(2) 作業フォルダ(~/get3d)に「ShapeNetCore.v1.zip」を配置して解凍。
$ unzip ShapeNetCore.v1.zip
$ cd ShapeNetCore.v1
$ unzip "*.zip"
◎ Blenderの準備
(1) 「Blender」のサイトから「Blender v2.90.0」(blender-2.90.0-linux64.tar.xz) をダウンロード。
「download every version blender」から「Blender2.90 」の「blender-2.90.0-linux64.tar.xz」をダウンロードします。
(2) 作業フォルダ(~/get3d)に「blender-2.90.0-linux64.tar.xz」を配置して解凍。
$ tar -xvf blender-2.90.0-linux64.tar.xz
◎ ライブラリのインストール
(1) ライブラリのインストール
$ apt-get install -y libxi6 libgconf-2-4 libfontconfig1 libxrender1
$ cd blender-2.90.0-linux64/2.90/python/bin
$ ./python3.7m -m ensurepip
$ ./python3.7m -m pip install numpy
◎ レンダリングスクリプト
(1) レンダリングスクリプトのフォルダに移動
$ cd ~/get3d/GET3D/render_shapenet_data
(2) render_all.pyのコードの確認。
render_all.pyのコードを見ると、Car、Chair、Motorbikeのデータセットを作成するコードであることがわかります。
synset_list = [
'02958343', # Car
'03001627', # Chair
'03790512' # Motorbike
]
(3) レンダリングスクリプトの実行。
--blender_rootはREADMEの記述 (blender-2.90.0-linux64/2.90/python/bin) は間違いなので、Issuesでおすすめされた記述 (blender-2.90.0-linux64/blender) を指定します。
$ python render_all.py --save_folder ~/get3d/save_image/ --dataset_folder ~/get3d/ShapeNetCore.v1/ --blender_root ~/get3d/blender-2.90.0-linux64/blender
(4) 出力の確認。
save_imageを確認すると、cameraとimgというフォルダができて、その下にレンダリング画像が生成されていきます。
3. データセットによる学習は保留中
データセットによる学習は、ColabのA100 VRAM 40GB x 1 ではスペックが足りず保留中。
この記事が気に入ったらサポートをしてみませんか?