unsup3d
1.0.0
Shangzhe Wu、Christian Rupprecht、Andrea Vedaldi、Visual Geometry Group、オックスフォード大学。 CVPR 2020(Best Paper Award)。

グラウンドトゥルース3D、複数のビュー、2D/3Dキーポイント、以前の形状モデル、またはその他の監督なしで、生のシングルビュー画像から弱く対称的な変形可能な3Dオブジェクトカテゴリを学習する方法を提案します。
conda env create -f environment.yml
または手動で:
conda install -c conda-forge scikit-image matplotlib opencv moviepy pyyaml tensorboardX
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch
注:コードは、Centos 7でPytorch 1.2.0およびCuda 9.2でテストされます。GPUバージョンは、GPUの実装のみがあるため、トレーニングとテストに必要です。 GPUなしでデモを実行することができます。
このパッケージは、トレーニングとテストに必要であり、デモにはオプションです。 GPUデバイスとGPU対応のPytorchが必要です。
pip install neural_renderer_pytorch
注:5未満のGCCバージョンがある場合は失敗する可能性があります。GCCをアップグレードしたくない場合は、1つの代替ソリューションがCondaのGCCを使用して、ソースからパッケージをコンパイルすることです。例えば:
conda install gxx_linux-64=7.3
git clone https://github.com/daniilidis-group/neural_renderer.git
cd neural_renderer
python setup.py install
このパッケージは、デモのためにオプションです。自動的な人間の顔の検出を可能にします。
pip install facenet-pytorch
img_celeba.7z )をダウンロードして、 data/でceleba_crop.pyを実行して画像をトリミングしてください。data/で提供されているスクリプトdownload_synface.shを使用してダウンロードできます。data/で提供されているスクリプトdownload_cat.shを使用してダウンロードできます。data/で提供されているスクリプトdownload_syncar.shを使用してダウンロードできます。これらのデータセットを使用する場合は、対応する論文を引用することを忘れないでください。
pretrained/で提供されたスクリプトを使用して、前提型モデルをダウンロードしてください。
cd pretrained && sh download_pretrained_celeba.sh
python -m demo.demo --input demo/images/human_face --result demo/results/human_face --checkpoint pretrained/pretrained_celeba/checkpoint030.pth
オプション:
--gpu :GPUを有効にします--detect_human_face :FaceNet-Pytorchで提供されるMTCNNを使用して、自動人間の顔の検出とトリミングを有効にします。これは、人間の顔の画像でのみ機能します。他のオブジェクトの画像を手動でトリミングする必要があります。--render_video :Neural_Rendererを使用した3Dアニメーションをレンダリング(GPUが必要です) experiments/および実験の実行で構成ファイルを確認します。
python run.py --config experiments/train_celeba.yml --gpu 0 --num_workers 4
@InProceedings{Wu_2020_CVPR,
author = {Shangzhe Wu and Christian Rupprecht and Andrea Vedaldi},
title = {Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild},
booktitle = {CVPR},
year = {2020}
}