見出し画像

画像生成AI StableDiffusionで、手書きイラストを作り変えました。

私は今まで機械学習の勉強をし、環境構築しながらTensorflowやPytorchのチュートリアルを動かして機械学習を学んでいたところ、
昨年の夏、8月の末にはオープンソースの画像生成AI StableDiffusionの登場。
秋には対話型大規模言語モデルChatGPTが登場し、それに続くようにオープンソースの大規模言語モデルが続々と公開され、
公式ウェブのデモサイト等ではなく、自身のPCのLinuxやWindowsやWSL2上でAIが動作するローカル環境を構築し、改良や更新をしながら、様々な機械学習、AIを動作させて来ました。
その結果、数万枚に及ぶ生成画像と、拡張機能で動画を大量に生成しました。

画像生成AIは公開後たった半年で凄いクオリティに進化しました。
※2023年5月に生成した画像

この経験を活かして「手描きのイラストをAIで作り変える」と言う事に活用してみようと考え、大変恐れ入りますが"にじげん横浜駅前イメージキャラクター”「みそらさん」のイラストをモチーフに画像生成させて頂きました。

みそらさんの画像

但し、人様の描いた絵を勝手にAIで改変すると著作的な問題が発生したり、
描いたイラストレーターの方が不愉快な思いをしたりする事も多々有るため、下記の点に配慮致しました。
①扱うデータセット、画像生成AIの使い方に最大限配慮し、トレースや盗用にはならないように最大限の注意をはらいます。
②image2imageは使わない。※元のイラストや線画をそのまま取り込んで髪の色や背景を変えたりする手法
③また著作権的にクリーンな形でトレーニングされているデータセットを用いる。※商業的なアニメや漫画のキャラクターが簡単に出てくるデータセットは使わない
④元のイラストは、あくまでモチーフとして参考にさせていただく。

まず元のイラストを画像生成AIで作り変える為にどういう手法を取るのか?
まずはControlNetと言う画像の姿勢や構図を継承できる拡張機能のreference_onlyと言うプリプロセッサを使って元の絵をAIに解釈させ似たような画像を生成する手法を取ります。

元の画像の特徴を取り入れて事前学習無しで新しい画像を1から生成する機能

その結果できた画像はコチラ

特徴は取り込めている様ですが、イラストとして成立せず、大幅に悪化してしまいました…

ここで画像生成AIの別機能。
画像をAIに読み込ませ「画像の特徴を文章化する」工程を行います。
その結果AIが出力した文章を私が微調整し「1girl,  blue dress, blue eyes, exquisite background, high detail, earrings, flowers, full body, holding bouquet, holding flowers, brown hair, long dress, long hair, petals, pink rose, red flower, red rose, rose petals, smiling, solo」と言う英語の文章にまとめます。これをPromptと呼び画像生成AIに文章で指示を与えることが出来ます。
※日本語訳すると「1girl,  青いドレス, 青い目, 極上の背景, ハイディテール, イヤリング, 花, 全身, ブーケを持つ, 花を持つ, 茶色の髪, ロングドレス, 長い髪, 花びら, ピンクのバラ, 赤い花, バラの花びら, 微笑む, ソロ」

この文章を元に生成した画像はコチラ

文章による指示を与えられ生成AIの画像は大きく改善しました

しかし元画像が透過PNGのため画像生成AIには背景が緑色に認識され、元画像と印象が大きく異なる画像になってしまいました。

よって元画像を手動で保存し直し、白色背景として読み込ませ再度画像生成。

自然な画像になりました。

とても自然になりましたが、丸みを帯びていてX(旧Twitter)などのアイコンには良いかも知れませんが、1枚絵としては不自然です。
また絵の輪郭や線も強めで主張が激しく、もっとソフトにしたいところ。

そこで拡張機能ControlNetをNormalMapに変更し再度生成。

NormalMapは法線マッピングとも呼ばれ、反射や空間から立体的な表現をする技術。
ゲーム開発にも使われています。
画像いっぱいに描き込まれ、ソフトな仕上がりの自然な画像になりました。

更にクオリティアップを図るために色々なアルゴリズムを試しますが、悪化したりビビットな画像になってしまいます。
AI画像生成の調整は試行錯誤の繰り返しで、なかなか思うように行きません。

無理やり正方形に押し込んだような歪んだ画像になってしまいました。

その過程でPromptを手動で調整しつつ、先程上手く行ったNormalMapで良い仕上がりの画像に再現性の有ることを見つけ、微調整しつつ何枚も生成しました。

自然で違和感のないキレイな画像


元のイラストと並べると、この様な感じに

元のイラストも大変素晴らしいイラストですが(私には描けません)、画像生成AIでモチーフとしてイラストを参考にさせていただくことで、また違った表現でAI画像が生成出来ました。

更にデータセットを変更したり、Promptを調整することで、繊細で柔らかい表現なども生成できました。

シネマカメラ等のPromptでレンズ表現を追加

参考にさせていただいた元のイラストと異なりますが、青いドレスと花束と言う特徴を継承し、画像生成AIを用いて、また違った表現の画像が生成できました。

またAnimatediffと言う動画生成AIでアニメーションGIFを生成する技術がありますので、その技術を用いて「みそらさん」をAI技術で動画表現させて頂きました。

華やかで躍動的なイメージ
レンズ表現を取り入れつつアニメーション化した動画
ControlNetとAnimatediffを組み合わせることで花束ではありませんが、
左手に花を持つ"みそらさん”の動画が生成できました。
アニメーションGIFの256色制限に最適化してキレイな発色に
動的でダイナミックなカメラアングルの動画も生成可能

以上がイラストを元にAIで画像生成をする技術の説明になります。
ご覧いただき、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?