ChatGPTでLINEスタンプ画像を作ったら、背景透過より#FF00FF背景の方が安定した話

LINEスタンプ工房

LINEスタンプ工房の続きとして、今回は背景透過でかなり苦労した話を残しておく。

「AIを使えば、LINEスタンプもかなり簡単に作れるのではないか」

最初はそう思っていた。ところが、実際に始めてみるとかなり大変だった。AIがこちらの意図どおりに動いてくれない。

特に苦労したのが、背景透過だった。

透明になっているように見えて、端に白っぽいゴミが残る。背景とキャラクターの境界がにじむ。文字の周りだけ微妙に残る。

どうしてそうなった。。。

一番困ったのは、「透過に見えて、実は透過っぽく見える背景になっている」パターンだった。

ChatGPT上で見ると透過しているように見えるので、「よし、できている」と思ってダウンロードする。ところが、あとで確認すると、透明背景ではなく格子模様の背景が画像として作り込まれている。

見た目は「透過」しているように見えるが。。。

これはかなり手戻りが大きかった。

最初は背景透過PNGで作りたかった

LINEスタンプ用の画像は、背景が透明なPNGとして用意する必要がある。

そのため、最初に考えたのは単純だった。

AIに「背景透過で」「transparent backgroundで」「PNGで」と指示して、透明な画像をそのまま作る。うまくいけば、画像生成からLINEスタンプ用データまでの流れがかなり短くなる。

実際、1枚だけ作ってみたときはうまくできていた。サイズは大きくなっていたが、ちゃんと透過していて、余白もある。スタンプとして見ても大きな問題はなさそうだった。

背景透過で実際に詰まったところ

ところが、複数枚を出すとばらつきが出始めた。

見た目に背景色が入ってしまうのはまだ分かりやすい。問題は、格子模様の背景がそのまま出力されてくるケースだった。

これが一番困った。ChatGPT上で見ると透過しているように見えるので、枚数が増えれば増えるほど、あとから気づいたときの手戻りも増える。

しかも全部がNGではない。最初の方は問題なくて、「よし、できている」と思っていたら、後半はボロボロ。そういうこともあった。

白背景の上で見ていると問題なさそうでも、濃い背景に置くと輪郭に白いフチが残っている。透明になっていると思った部分に、うっすら色が残っている。キャラクターの影や装飾が背景と混ざっていて、どこまでを残すべきか判断しづらい。

1枚だけなら、画像編集ソフトで拡大して消せば済む。だが、8枚、16枚、24枚と増えていくと、毎回同じ確認をすることになる。

ここで「AIにもう一回きれいに出してもらえばいい」と考えると、別の問題が出る。再生成すると、キャラクターの形や表情まで少し変わる。背景だけ直したいのに、絵そのものが変わってしまう。

プロンプトで指示や制約を追加していけば、そのうち落ち着くのではないか。そう想定していたが、背景透過についてはあまり安定する気配がなかった。

ロコ
それで画像を整えるツールを作ることにしたんだね。

remove.bgも試した

背景透過は、背景透過が得意なものに任せればいい。

そう考えて、remove.bgも使ってみた。

いろいろ調べながら試したが、これも自分の用途ではうまくいかなかった。単純な画像ならよさそうだが、私が作ろうとした画像だと安定感がない。

メッセージ部分の色が消えたり、キャラクターの色が消えたりする。背景以外も消えてしまう場面があった。

しばらくChatGPTとやり取りしながら考えて、ここで気づいた。

「うまく消せないなら、最初から消す前提で作ればいいのではないか」

`#FF00FF`背景にした理由

今の形では、画像生成時に背景を`#FF00FF`のような強い単色に寄せている。

理由は、キャラクターや文字と背景を分けやすいからだ。

昔テレビで見た、あとで合成する前提のグリーンバックに近いイメージである。

当初、端から同系色をたどって透過していくことも考えたが、囲まれている場所が透過できないことにも気づき、さらにアナログに「この色は透過する」形に落ち着いた。

おしい!

白背景や淡い背景だと、キャラクターの白い部分、文字の縁、影と混ざりやすい。逆に`#FF00FF`のような普段あまり使わない色なら、後工程で「この色を背景として抜く」と判断しやすい。

もちろん、これで完全に自動化できるわけではない。キャラクターの中に近い色が混ざれば誤って抜ける可能性があるし、輪郭に背景色が残ることもある。

それに、ChatGPTに「`#FF00FF`にして」と指示しても、厳密な`#FF00FF`にはならない。それでも、単色背景には寄せてくれるので、やりようはある。

結果として、ツール側の処理はかなりアナログになった。

仕様としては、おおまかに以下のような流れにしている。

1. 画像四隅の色を取得する

2. 辺の一定間隔ごとの色を取得する

3. 取得した色にある程度の幅を持たせる

4. 画像内で一致する色を透過する

単色背景といっても、実際には微妙な誤差がある。そのため、完全一致だけで抜くのではなく、ある程度の幅を持たせて処理する形になった。

完成!

LINE Stamp 工房で後工程をまとめる形にした

背景透過で毎回同じ確認をするのが面倒だったので、後工程はLINE Stamp 工房側に寄せることにした。

今の流れは、おおまかにこうしている。

1. AIでスタンプ用の元画像を作る

2. 背景は透明ではなく、抜きやすい単色に寄せる

3. LINE Stamp 工房で背景を透過する

4. 余白とサイズを整える

5. 審査前にまとめて確認する

この形にすると、AIに求めることと、ツールで処理することを分けられる。

AIには、キャラクターの表情、ポーズ、文字の雰囲気を作ってもらう。背景透過、余白調整、サイズ調整、確認しやすい出力は、後工程で扱う。

全部をAIに任せようとすると、うまくいった時は速い。ただ、崩れた時にどこから直せばいいか分かりにくい。

後工程を分けておくと、失敗した時に「生成をやり直す」のか、「透過処理を調整する」のか、「余白だけ直す」のかを切り分けやすい。

何より、技術者としては、自分でコントロールして作っている感覚があるのがいい。

ロコ
AIに任せるところを減らすというか、AIに任せる場所を決める感じだね。

今の形でまだ残っていること

`#FF00FF`背景にしたからといって、すべてが解決したわけではない。

生成時点で背景色が完全に均一にならないことはある。キャラクターの輪郭に背景色が少し混ざることもある。文字の周辺は特に確認が必要になる。

そのため、最終的には人間の確認が残る。

ただ、最初から透明PNGを信じて進めるより、確認するポイントはかなり明確になった。

背景色が残っていないか。必要な部分まで抜けていないか。余白が狭すぎないか。サイズがLINEスタンプ用として合っているか。

作業をゼロにするのではなく、毎回迷う部分を減らす。今のLINE Stamp 工房は、そのための形に近い。

スマホでも作成、編集、レビューしやすいインターフェースにしているので、通勤中にも作業できる。

まとめ

AIは優秀で便利だが、まだ100%を求めるのは難しい。

では、どこにAIの能力が向いていて、はみ出た部分をどう機械化するか。今回の背景透過は、その切り分けを考えるいい機会になった。

LINEスタンプでは、背景透過、サイズ、余白はかなり厳密に見る必要がある。

だからこそ、後続のツールで整える前提にして、AIの揺らぎをできるだけ小さくし、ツール側で吸収できる形にした。

今は、AIには絵の方向性を作ってもらい、背景は`#FF00FF`の単色に寄せる。その後、LINE Stamp 工房で透過、余白、サイズをまとめて整える。

この形なら完全自動ではないが、かなり作業効率はよくなった。

AIとプログラムのいいところを分けて使う。LINEスタンプ工房は、背景透過で苦労した結果、そういう形に落ち着いた。

関連記事

ChatGPTだけでLINEスタンプを作りたかったけど、背景透過で詰まって単色背景にした話

CTA

ここで作成したツールを公開しています。是非使ってみてください。

[LINE Stamp 工房](https://lab.imeer.jp/line-stamp-kobo/)

[LINE Stamp 工房 マニュアル](https://lab.imeer.jp/line-stamp-kobo/manual/)

コメント

タイトルとURLをコピーしました