ICCV2019 LearningToPaint
1.0.0
Zhewei Huang,Wen Heng,Shuchang Zhou
我们展示了如何教机器像人类画家一样绘画,他们可以使用少量的笔触来制作出色的绘画。通过在基于模型的深度强化学习(DRL)中使用神经渲染器,我们的代理人学会确定每种中风的位置和颜色,并制定长期计划将纹理富含纹理的图像分解为中风。实验表明,可以使用数百笔冲程来实现出色的视觉效果。训练过程不需要人类画家或中风跟踪数据的经验。
您可以轻松地使用ColaBoratory尝试一下。






pip3 install torch==1.1.0
pip3 install tensorboardX
pip3 install opencv-python
在测试之前,请确保有Renderer.pkl和Actor.pkl。
您可以下载训练有素的神经渲染器和Celeba演员进行测试:Renderer.pkl和Actor.pkl
$ wget "https://drive.google.com/uc?export=download&id=1-7dVdjCIZIxh8hHJnGTK-RA1-jL1tor4" -O renderer.pkl
$ wget "https://drive.google.com/uc?export=download&id=1a3vpKgjCVXHON4P7wodqhCgCMPgg1KeR" -O actor.pkl
$ python3 baseline/test.py --max_step=100 --actor=actor.pkl --renderer=renderer.pkl --img=image/test.png --divide=4
$ ffmpeg -r 10 -f image2 -i output/generated%d.png -s 512x512 -c:v libx264 -pix_fmt yuv420p video.mp4 -q:v 0 -q:a 0
(make a painting process video)
我们还提供了其他一些神经渲染器和代理,您可以使用它们代替渲染器.pkl来训练代理:
triangle.pkl --- actor_triangle.pkl;
round.pkl --- actor_round.pkl;
bezierwotrans.pkl --- actor_notrans.pkl
我们还提供百度网盘来源。 链接:https://pan.baidu.com/s/1gelbqceyojpobziwgoknma提取码:aq8n
下载Celeba数据集并将对齐的图像放入数据/img_align_celeba/******。
要创建一个可区分的绘画环境,我们首先需要训练神经渲染器。
$ python3 baseline/train_renderer.py
$ tensorboard --logdir train_log --port=6006
(The training process will be shown at http://127.0.0.1:6006)
神经渲染器看起来足够好后,我们可以开始训练代理商。
$ cd baseline
$ python3 train.py --max_step=40 --debug --batch_size=96
(A step contains 5 strokes in default.)
$ tensorboard --logdir train_log --port=6006
量子位报道
学会绘画:一个绘画ai
旷视研究院推出基于深度强化学习的绘画智能体

也非常感谢Ctmakro启发了这项工作。他还使用贪婪算法探索了绘画-OpenCV_Playground。
如果您发现此存储库对您的研究有用,请引用以下论文:
@inproceedings{huang2019learning,
title={Learning to paint with model-based deep reinforcement learning},
author={Huang, Zhewei and Heng, Wen and Zhou, Shuchang},
booktitle={Proceedings of the IEEE International Conference on Computer Vision (ICCV)},
year={2019}
}