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}
}