Shangzhe Wu ، Christian Rupprecht ، Andrea Vedaldi ، مجموعة الهندسة البصرية ، جامعة أكسفورد. في CVPR 2020 (جائزة أفضل ورقة).

نقترح طريقة لتعلم فئات الكائنات ثلاثية الأبعاد متماثلة بشكل ضعيف من الصور ذات الرؤية الواحدة الخام ، دون الحقيقة ثلاثية الأبعاد ، طرق عرض متعددة ، نماذج مفاتيح ثنائية/ثلاثية الأبعاد ، نماذج الشكل السابقة أو أي إشراف آخر.
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
ملاحظة : يتم اختبار الرمز باستخدام Pytorch 1.2.0 و CUDA 9.2 على Centos 7. هناك حاجة إلى إصدار GPU للتدريب والاختبار ، لأن حزمة Neural_Renderer تحتوي فقط على تنفيذ GPU. لا تزال قادرًا على تشغيل العرض التجريبي بدون وحدة معالجة الرسومات.
هذه الحزمة مطلوبة للتدريب والاختبار ، واختياري للعروض التوضيحية. يتطلب جهاز GPU و PYTORCH بتقليص GPU.
pip install neural_renderer_pytorch
ملاحظة : قد يفشل إذا كان لديك إصدار GCC أقل من 5. إذا كنت لا ترغب في ترقية GCC ، فإن أحد الحلول البديلة هو استخدام Conda's 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 ) من موقعه على الويب وتشغيل celeba_crop.py في data/ لاقتصاص الصور.download_synface.sh المتوفر في data/ .download_cat.sh المتوفر في data/ .download_syncar.sh المتوفر في data/ .يرجى تذكر الاستشهاد بالأوراق المقابلة إذا كنت تستخدم مجموعات البيانات هذه.
قم بتنزيل النماذج المسبقة باستخدام البرامج النصية المتوفرة في 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 : تمكين وحدة معالجة الرسومات--detect_human_face : تمكين الكشف التلقائي عن الوجه البشري والزراعة باستخدام MTCNN المتوفرة في الوجه pytorch. هذا يعمل فقط على صور الوجه البشري. ستحتاج إلى اقتصاص الصور يدويًا للكائنات الأخرى.--render_video : عرض الرسوم المتحركة ثلاثية الأبعاد باستخدام Neural_Renderer (مطلوب 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}
}