NeuralLift-360:将野外2D照片提升为具有360°视角的3D物体
新闻
- 23.03.12 基本工作流程已发布!Gradio应用已发布!
我们正在努力推出新的令人兴奋的功能,并将准备使用gradio的教程和更好的界面。敬请期待!
流程
环境
执行pip install -r requirements.txt
即可完成安装。
如果你想运行Gradio应用,请执行pip install gradio
。
数据准备
在我们的实验中,我们使用Boost Your Own depth和LeRes获取深度信息。
用于导出numpy格式深度信息的Colab笔记本可以在这里找到。
前景蒙版可以使用这个仓库获取:https://github.com/Ir1d/image-background-remove-tool
Gradio
python gradio_app.py
# 如果你想获得外部公共链接,请添加`--share`参数
我们还准备了一个Gradio应用!
注意:目前,我们从预定义的yaml文件加载配置,稍后会更新。此外,由于我们必须在训练过程中进行渲染,与直接运行训练脚本相比,这种方式稍慢一些。
训练
我们在configs
目录的yaml文件中准备了配置文件。
python main.py --config configs/cabin.yaml
文本反转[可选]
以下脚本运行文本反转以获得更好的文本嵌入。
export MODEL_NAME="runwayml/stable-diffusion-v1-5"
accelerate launch text_inversion.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--learnable_property="object" \
--placeholder_token="<cabin>" --initializer_token="cabin" \
--resolution=512 \
--train_batch_size=1 \
--gradient_accumulation_steps=4 \
--max_train_steps=1000 \
--learning_rate=5.0e-04 --scale_lr \
--lr_scheduler="constant" \
--lr_warmup_steps=0 \
--output_dir="cabin_ti" \
--im_path='data/cabin4_centered.png' \
--mask_path='data/cabin4_centered_mask.png'
test_dm.py
可用于验证文本反转的有效性。
在configs/cabin_ti.yaml
中提供了一个示例配置。
相应的训练脚本为:
python main.py --config configs/cabin_ti.yaml
Imagic微调[可选]
即将推出。
测试
训练过程结束后,代码将自动生成一个名为lift_ep0100_rgb.mp4
的视频。
你可以使用以下代码筛选出日志文件夹中的所有这些视频,并按时间排序。
find ./ -name lift_ep0100_rgb.mp4 -printf "%T@ %Tc %p\n" | sort -n
如果你只想运行测试,请转到yaml配置文件,将test: False
更改为test: True
,并将ckpt:
更改为已训练模型的检查点路径。
致谢
代码基于https://github.com/ashawkey/stable-dreamfusion 。感谢Jiaxiang Tang的分享和富有洞察力的讨论!
引用
如果你觉得这个仓库有帮助,请引用:
@InProceedings{Xu_2022_neuralLift,
author = {Xu, Dejia and Jiang, Yifan and Wang, Peihao and Fan, Zhiwen and Wang, Yi and Wang, Zhangyang},
title = {NeuralLift-360: Lifting An In-the-wild 2D Photo to A 3D Object with 360° Views},
journal={arXiv preprint arXiv:2211.16431},
year={2022}
}