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があることを確認してください。
訓練されたニューラルレンダラーとテスト用のセレバ俳優をダウンロードできます:renderer.pkl and 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)
また、他のいくつかのニューラルレンダラーとエージェントを提供します。レンダラー.plの代わりにそれらを使用してエージェントを訓練できます。
triangle.pkl --- Actor_triangle.pkl;
round.pkl --- actor_round.pkl;
bezierwotrans.pkl --- actor_notrans.pkl
また、ソースも提供します。 链接:https://pan.baidu.com/s/1gelbqceyojpobziwgoknma:aq8n
celeba datasetをダウンロードして、Aligned Imagesをデータ/IMG_ALIGN_CELEBA/******に配置します。JPG
微分可能な絵画環境を作成するには、まず神経レンダラーを訓練する必要があります。
$ 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}
}