可微渲染 SoftRas 实践

SoftRas 是目前主流三角网格可微渲染器之一。

可微渲染通过计算渲染过程的导数,使得从单张图片学习三维结构逐渐成为现实。可微渲染目前被广泛地应用于三维重建,特别是人体重建、人脸重建和三维属性估计等应用中。

安装

conda 安装 PyTorch 环境:

conda create -n torch python=3.8 -y
conda activate torch

conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c nvidia -y

conda activate torch
python - <

获取代码并安装:

git clone https://github.com/ShichenLiu/SoftRas.git
cd SoftRas
python setup.py install

可设 setup.py 镜像源:

cat < ~/.pydistutils.cfg
[easy_install]
index_url = http://mirrors.aliyun.com/pypi/simple
EOF

应用

安装模型查看工具:

snap install ogre-meshviewer
或
snap install meshlab

渲染物体

渲染测试:

CUDA_VISIBLE_DEVICES=0 python examples/demo_render.py

渲染结果:

可微渲染 SoftRas 实践

对比前后模型:

ogre-meshviewer data/obj/spot/spot_triangulated.obj

ogre-meshviewer data/results/output_render/saved_spot.obj

Mesh 重建

下载数据集:

bash examples/recon/download_dataset.sh

训练模型:

$ CUDA_VISIBLE_DEVICES=0 python examples/recon/train.py -eid recon
Loading dataset: 100%|██████████████████████████| 13/13 [00:35

可微渲染 SoftRas 实践

测试模型:

$ CUDA_VISIBLE_DEVICES=0 python examples/recon/test.py -eid recon \
    -d 'data/results/models/recon/checkpoint_0250000.pth.tar'
Loading dataset: 100%|██████████████████████████| 13/13 [00:03

Mesh 重建:

获取 softras_recon.pyexamples/recon/
  https://github.com/ikuokuo/start-3d-recon/blob/master/samples/softras_recon.py
注释 iou 直接返回 0,位于 examples/recon/models.py evaluate_iou()

2D 图像重构 3D Mesh
CUDA_VISIBLE_DEVICES=0 python examples/recon/softras_recon.py \
    -s '.' \
    -d 'data/results/models/recon/checkpoint_0250000.pth.tar' \
    -img 'data/car_64x64.png'

ogre-meshviewer data/car_64x64.obj

重建图像:

可微渲染 SoftRas 实践

重建结果:

可微渲染 SoftRas 实践

或重建 ShapeNet 数据集内图像:

mesh recon images of ShapeNet dataset
CUDA_VISIBLE_DEVICES=0 python examples/recon/softras_recon.py \
    -s '.' \
    -d 'data/results/models/recon/checkpoint_0250000.pth.tar' \
    -imgs 'data/datasets/02958343_test_images.npz'

或使用 SoftRas 训练好的模型:

  • SoftRas trained with silhouettes supervision (62+ IoU):google drive
  • SoftRas trained with shading supervision (64+ IoU, test with --shading-model arg):google drive
  • SoftRas reconstructed meshes with color (random sampled):google drive

更多

GoCoding 个人实践的经验分享,可关注公众号!

Original: https://www.cnblogs.com/gocodinginmyway/p/14902142.html
Author: GoCodingInMyWay
Title: 可微渲染 SoftRas 实践

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/567548/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球