Inspiration
昨今、SNSのアイコンや投稿、マッチングサイトのプロフィール画像など、自分の画像をインターネットのプラットフォーム上にアップロードする機会が増えています。 せっかくアップロードするならば、いいカメラで写真を綺麗に撮った上で、画像の加工アプリや背景の部分的な生成加工などで、さながら職人のように一生懸命画像の"加工"を行うというのも珍しくないです。
What it does
ただ、世はAI時代。 本来いちいち画像を加工する必要などないはずで、適当な自撮り画像を投げれば、構図や背景まで生成できるべきです。 そこで開発したのが、こちらの自撮り画像生成アプリのSelfeeです。
背景画像や構図、ライティングや背景のボケ具合などまで、すべてを一から生成するので、どんな適当な自撮り画像でも、綺麗なポートレート画像が生成できます。 ただし、一から画像を生成すると、どうしても顔の特徴などが微妙に異なり別人物になってしまう恐れがあります。 そこで、ディープフェイクの技術を組み合わせ、生成した画像に対して元画像との合成を行うことで、本人の特徴量をしっかり伝播できるようにしました。 これによって本人感を保った画像を生成することを実現しています。
アプリで生成できる画像の種類
- 背景画像を指定できる、プロのカメラマンに撮ってもらったようなポートレート画像
- オフィシャルな場で使用されるような、まるで証明写真のような公式的な画像
- 話題として使えそうな、逮捕時に撮影される写真(マグショット)
How we built it
このアプリは三段階の画像生成(処理)を行う流れとなっています。
1. 画像生成
画像生成にはPhotoMaker V2モデルを使用しました。 こちらはプロンプトベースのテキスト情報と入力画像を組み合わせて、生成画像を作成することができます。 ここで使用するプロンプト自体もVertexAIを使用して生成したものを使用します。
2. 顔の入れ替え
1で生成した画像を、さらにディープフェイク技術であるFaceSwapperのモデルで顔画像を元の自撮り画像と入れ替えます。 これにより、1で生成した画像では抜け落ちてしまった微細な特徴量を、生成画像に伝播することができ、本人感を保った画像を生成します。
3. 画像の高画質化 + ノイズ除去
2の顔入れ替えを行うだけだと、顔の部分のみノイズがのったり低画質となってしまいます。 ここで画像エンハンサーを使用することで、高画質化+ノイズ除去を行い、違和感のない画像を作成しています。
これらのモデルを一気に動かすには高い計算性能が必要となりますが、すべてGCPのComputeEngineのGPUインスタンス上に構築することで、短時間での生成を実現しています。
Challenges we ran into
画像生成アプローチとして、自画像にディープフェイクのアプローチを組み合わせることで、より本人感のある画像生成に成功しました。
Accomplishments that we're proud of
他の自撮り画像加工アプリと比べて、すべてをAIで生成するアプローチのおかげで、圧倒的に簡単な操作で、綺麗な画像を生成することができます。 また、モダンなアプリUIにこだわり、UX的にも簡単な操作で生成できるようにしました。
What we learned
- 画像生成モデルの最新事情や効率的な使用方法
- GCPでのAIモデルの動作や処理時間短縮のためのノウハウ
What's next for ~加工するなら生成しちゃえ〜 自撮り画像生成アプリSelfee
以下の改善を考えています。
- 画像のバリエーションをさらに増やす(構図等の選択肢を増やすなど)
- 画像生成時間の短縮

Log in or sign up for Devpost to join the conversation.