動画をアニメ化できたらなんか凄そうですよね、そこで今回は画像や動画をアニメ長に変換するっていうことをしていきたいと思います。
- White box Cartoonizationで画像をアニメ風に変換する
- White box Cartoonizationで動画をアニメ風に変換する
White box CartoonizationはAIプログラムだけど、ブラウザから試すことも一応できます。
White box Cartoonizationとは
White box Cartoonizationは画像や動画をアニメ長に変換してくれるAIプログラミングを用いたもので、例えば左側の画像を右側のようにしてくれます。
食べ物の方が分かりやすいかもしれないので、見てみるとピザトーストの感じとか良いですよね。
もちろん人物画像にも適用出来てかなりアニメ風・漫画風になります。
こうしてみると、現実世界の写真や動画を使ってアニメを作るっていうこともできちゃいそうですよね。実際にこの技術を使って作られた動画も上がっていて見てみるとアニメ感が出ています。
White box Cartoonizationで画像をアニメ化・マンガ化する
cartoonizerから試すことができるので見てみましょう。
画像をアップロードして試してみるとこんな感じになりました。左側が元画像(https://thispersondoesnotexist.com/で生成した画像)、右側が処理後です。
良い感じにアニメ風になりましたね。
人物じゃなくて風景のような画像も試してみるとちゃんと変換されますね。
画像を一味変えたかったら試してみるとちょっと違ったテイストになって面白い。
White box Cartoonizationで動画をアニメ化・マンガ化する
cartoonizerから動画も試すことができます。
ですが、うまくいかなかったのでGoogleColaboratoryからコードを実行してやってみました。ただGoogleColaboratoryからやってみてもかなりエラーが出てしまいました・・・
動画を試してみたところこんな感じです。(上が元動画、下が処理後)
アニメっぽくというか漫画っぽくなりましたね。GoogleColaboratoryで実行したので少しだけそれについて書いておきます。
GoogleColaboratoryで実行
Colabはgithubを辿るとcartoonizeのものがあったので、それを使いました。ただ実行もエラーが結構起きたので、諸々動くようにしつつ実行です。
すんなりいかなかったのでやったことを書いておきます。
まずはtensorflowのバージョンでエラーが起きたのでrequirements.txtのバージョンを変更しました。
Flask==1.0.2
gunicorn==20.0.4
Pillow==6.2.0
opencv_python==4.2.0.34
tensorflow==2.9.2
google-cloud-storage==1.29.0
algorithmia==1.3.0
scikit-video==1.1.11
tf_slim==1.1.0
PyYaml==5.3.1
flask-ngrok
またcolaboratoryで動かしたものを自分たちのパソコンで使えるようにngrokを使っていましたね。
そのまま実行しても動くんだけど、自分のパソコンからアクセスできなかったので自分のauthtoken取得して接続できるようにしました。
ngrokに登録してauthtokenを取得した後、colabから読み取れるようにします。
!pip install pyngrok
!ngrok authtoken 取得したtoken
これで起動したngrokのurlにアクセスしてやります。
デモサイトと同じものが出てくるので、ブラウザから動画をアニメ化してやりましょう。ただエラーが多発しました・・・
まとめ
White box Cartoonizationというものを使って画像や動画を変換してみたけど、結構すごいですよね。ただ動画を変換する際にはかなりエラーが出てしまってなかなかうまくいきませんでした。
動画でちゃんと使うには自分でプログラム組んでやった方がいいかもしれませんね。