「透過PNG画像の素材を探すのが大変だ・・・」
「素材作成を効率的に行いたい」
このような場合には、この記事の内容が参考になります。
この記事では、Stable Diffusionを使って素材作成を行う方法を解説しています。
本記事の内容
- 素材は探すから作る時代へ
- Stable Diffusionによる画像作成
- Rembgによる画像切り抜き
- Real-ESRGANによる画像拡大
それでは、上記に沿って解説していきます。
素材は探すから作る時代へ
素材が必要な場合は、どのようにしていますか?
例えば、「黒い冷蔵庫」の背景透過PNG画像が必要になったとします。
「フリー素材 黒色 冷蔵庫 透過」
「黒い冷蔵庫 素材 無料」
このようなキーワードで探しませんか?
実際にGoogleで検索した結果(画像)は、以下。
![](https://self-development.info/wp-content/uploads/2022/09/8c01a4c793fc5f75d43bb610db9f472c.jpg)
この場合、絵ではなくて、リアルな冷蔵庫の画像が欲しいのですよね。
仮に見つかったとしても、次のような感じです。
![](https://self-development.info/wp-content/uploads/2022/09/88a0311134ae212c1d5dcc1c20d3ea9a.jpg)
「ああ、やっぱりか・・・」
私は、このような絶望にも似た気持ちを何度も経験してきました。
結果的には、諦めるか適当なイラストのアイコンで済ませることになります。
しかし、もうこんな絶望を感じることはありません。
そして、諦めることも、適当なアイコンで済ませることもありません。
そもそも、今後は素材を探すという行為自体が不要になります。
これからの時代は、自分で素材を作るのです。
自分で作ると言っても、手間はかけたくありません。
写真を撮影して、切り抜いてということは時間がかかり過ぎます。
では、どのようにするのでしょうか?
それは、AIに任せるのです。
この記事では、そのための方法を説明します。
実際に、「黒い冷蔵庫」の背景透過PNG画像を作成することをゴールとします。
まずは、「黒い冷蔵庫」の画像から作成することにします。
画像作成には、Stable Diffusionを利用します。
Stable Diffusionによる画像作成
Stable Diffusionについては、次の記事で説明しています。
このStable Diffusionを利用して、「黒い冷蔵庫」の画像を作成します。
Stable Diffusionで画像を作成するには、入力するテキストがポイントになります。
a black refrigerator
シンプルにそのままを入力した結果は、以下。
とりあえず、10枚作成しています。
![](https://self-development.info/wp-content/uploads/2022/09/20220901074357.jpg)
ありと言えば、全然ありです。
ただ、若干絵の要素が多いように感じます。
そこで、次のようにテキストを変更します。
a black refrigerator,Realistic,photorealistic
変更したテキストにより、同じく10枚作成してみます。
![](https://self-development.info/wp-content/uploads/2022/09/image-1024x384.png)
絵の要素が減って、リアルな画像が増えているように見えます。
気に入るモノができるまで、何度も作ればよいでしょう。
なお、GPUメモリ8GBの環境においては、1枚あたり10秒で作成できます。
100枚ほど作成しても、1000秒前後です。
無駄に検索して時間を潰すことを考えたら、全然許容できる時間と言えます。
以上、Stable Diffusionによる画像作成を説明しました。
次は、Rembgによる画像切り抜きを説明します。
Rembgによる画像切り抜き
Rembgについては、次の記事で説明しています。
このRembgを利用して、作成した画像を切り抜きます。
素材として使えるように、背景透過PNG画像にするということです。
リアルな画像10枚を対象にして、背景の削除を行います。
inputsフォルダにまとめて画像を設置します。
そして、次のコマンドを実行するだけです。
rembg p inputs outputs
処理はすぐに終わります。
outputsフォルダには、次の画像が作成されています。
![](https://self-development.info/wp-content/uploads/2022/09/image-1-1024x426.png)
この中からは、次の二つが使えそうです。
左の画像を冷蔵庫A、右の画像を冷蔵庫Bと呼びます。
![](https://self-development.info/wp-content/uploads/2022/09/image-2.png)
不要な部分をカットした画像が、以下となります。
![](https://self-development.info/wp-content/uploads/2022/09/0.png)
「黒い冷蔵庫」の背景透過PNG画像が、作成できました。
検索エンジンで探すより、圧倒的に速いです。
それも、自分の気に入ったモノが無料で作成できます。
ただ、ここで物言いが入る可能性があります。
画像のサイズですね。
小さいと使い物にならないケースもあるでしょう。
そんな場合には、Real-ESRGANを使います。
以上、Rembgによる画像切り抜きを説明しました。
次は、Real-ESRGANによる画像拡大を説明します。
Real-ESRGANによる画像拡大
Real-ESRGANについては、次の記事で説明しています。
このReal-ESRGANを利用して、画像を拡大します。
Real-ESRGANを使うと、画質を維持しつつ拡大できます。
画像は、それぞれ4倍のサイズになりました。
画像 | 拡大前 | 拡大後 |
冷蔵庫A | 165 x 405 | 660 x 1620 |
冷蔵庫B | 212 x 475 | 848 x 1900 |
比較するために、同じサイズにしています。
左が拡大前、右が拡大後の画像になります。
![](https://self-development.info/wp-content/uploads/2022/09/1.png)
![](https://self-development.info/wp-content/uploads/2022/09/2.png)
比較しても、画像の劣化を全く感じません。
むしろ、拡大後の画像の方が高画質になっているぐらいです。
拡大した画像を縮小しているので、余計にそのように見えます。
もっと大きい画像が必要なら、さらにReal-ESRGANで拡大しましょう。
しかし、GPUのメモリサイズ次第では「Error CUDA out of memory.」が出てしまいます。
以上、Real-ESRGANによる画像拡大を説明しました。