AI(人工知能/ディープラーニング)

ChatGPTのDall-e3は人物の画像生成も格段に品質向上していますね、画像IDとシード値を記録して指定すれば後で違うポーズでも再生成可能です

この記事は約5分で読めます。

人物の画像生成ChatGPTで人物の画像生成をしてみました。画像生成のAIはDall-e(ダリ)ですが今年の夏にはバージョン3に上がっていて画像の品質が非常に向上しています。もはや実在の人間以上のクオリティがありますね。
今回は、偶然に生成した女性画像を別のポーズや背景でも再生成することについて実験してみました。需要なのは「画像ID」と「シード値」を記録しておき、画像生成のさいに指定することです。

ChatGPTはオールインワンの生成AIになりました

Chat画面で画像生成ができます

ChatGPTのチャット画面がオールインワンになりました。文章の生成も画像の生成もファイルのアップロードも、同じ画面からできるようになっています。

今回は女性写真の画像を生成してみました。

この画像を生成したプロンプトは以下のとおりです。

Prompt
A young woman in a traditional kimono posing gracefully at a shrine in Kyoto. She is 20 years old, with a short bob hairstyle, and showing a beautiful smile. The photograph is taken with an 85mm lens, resulting in a soft background blur. Soft light is reflecting on her face, highlighting her features.

画像IDとシード値を確認しておく

この女性を、違うポーズや違う背景など、違うシチュエーションで画像を生成したいとき、続けてプロンプトを入力するとまったく違う人物になったりします。これには困りました。いくら文章で指定してもなかなか思うようにならず、どんどんこの人物のイメージとは違うものになっていきます。

そのような場合は、画像IDとシード値を記録していて、指定すると再現しやすいことがわかりました。

ChatGPTの画面で「画像IDとシード値をおしえて」と書けば回答してくれます。

画像ID: QR53zpOJ3yup3iA3
シード値: 1784883501

この画像IDとシード値はとても重要です。画像IDとシード値を指定したうえで、違うポーズなどのシチュエーションを変更して生成してみました。

違う背景で生成

着物の色を変えて生成

洋服に着替えたポーズで生成

ユニクロを着たポーズで生成

例えばこのユニクロの服を着た女性を生成したさいのプロンプトは以下のとおりです。

Prompt
A 20-year-old Japanese woman at a Kyoto shrine, now dressed in casual Western-style clothing similar to a Uniqlo fleece, instead of a kimono. She retains her short bob hairstyle and her beautiful smile. The setting remains as in image ID QR53zpOJ3yup3iA3, seed 1784883501, but her outfit is changed to casual, comfortable Western attire. The photograph still features the 85mm lens effect for a soft, blurred

この画像データは
画像ID: e9p2MfNzgsQ6A0xF
シード値: 4290842942
です。

この画像データを記録しておけば、同じモデルで違うシチューエーションの画像が生成しやすいということですね。

画像IDとシード値についての解説

画像生成の際に生成される「画像ID」と「シード値」について説明しておきます。

画像ID (Image ID)

これは生成された各画像に一意に割り当てられる識別子です。このIDを使用して、特定の画像に対する参照や質問を行うことができます。例えば、特定の画像に関してさらに詳細な情報を求める場合や、その画像に基づいた別の画像を生成する際に、このIDを使用します。

シード値 (Seed Value)

シード値は画像生成プロセスにおけるランダム要素を制御するために使用されます。具体的には、同じプロンプトとシード値を使用すると、理論上は同じ画像が生成されるはずです。これにより、特定の画像を再現する際に便利です。

画像生成のプロセスをわかりやすくするための情報です

人物の画像生成に関して、同じ人物のポーズ違いや背景違いなどを生成する場合はその人物を表示できている「シード値」を指定することが重要です。

これらの情報は、画像生成のプロセスをより透明でコントロール可能なものにし、ユーザーが過去に生成された画像を参照しやすくするために用いられます。

画像生成時にこれらの値を表示することで、ユーザーが特定の画像について話し合いやすくなり、必要に応じて同じ画像を再生成することも可能になります。

画像生成するときには「画像ID」と「シード値」を表示するようにプロンプトに書くことが大事です

このように重要な情報であることがわかった「画像ID」と「シード値」ですので、常に表示するようにしたほうがいいです。

画像生成するさいは、必ず「画像IDとシード値を表示してください」という一行をプロンプトに入れておきましょう。

カスタムインストラクションで設定しておく

ChatGPTにはカスタムインストラクションという設定があります。その欄に以下のように記入しておくと、それ以降の画像生成には「画像ID」と「シード値」が表示されます。

なお、「画像生成した場合は、画像IDとシード値を表示してください。」というのはわかりますが、「画像生成は必ず英語プロンプトで実施してください。」というのはなぜ入れてあるかについて解説しておきます。

画像生成を英語のプロンプトで行うことが推奨される理由は、現在の画像生成モデルが英語のデータで主に訓練されているためです。英語のプロンプトを使用することで、モデルがより正確にユーザーの意図を理解し、希望に沿った画像を生成する可能性が高まります。

自分自身が英語を使わなくても、ChatGPTが日本語を英語に翻訳してから画像生成するので安心してください。そしてそのさいに画像生成に使った英語のプロンプトは保存されているので、以後の参考にすることができます。