FaceReplacer - 写真に含まれる顔をAI生成の顔で置き換え - AIでアプリ開発

  • 投稿日:
  • カテゴリ:

【CursorエディタとXcodeでアプリ開発】
写真に含まれる顔をAI生成の顔で置き換えるアプリを計画しました。

プライバシー保護のためにぼかしをかけていましたが、それをAIで生成した別の顔に置き換えれば、肖像権の問題もありませんし、自然な写真となるのではないかと考えました。

前回制作した車のナンバーを置き換えるアプリの発想を顔に応用できると思いましたが、これは思ったよりも難しいようです。生成した顔の画像は、結構気まぐれで、向いている方向や大きさなどさまざまです。それを貼り付けるのは難しそうです。

ある程度作業が進んだところで、「これを自然な感じに合成するのは難しそうですね。諦めますか?」と問いかけたところ...
screenshot_m207.png
なんと「諦めることをお勧めします」という返答。だったら、最初にそう言ってほしかった。AIだったら、なにか良い手法を考案してくれると思ったのですが、人間が考えて、感覚的に難しそうだと思ったものは、AIでも難しいのです。

以下はAIが生成した紹介文です。割と最終段階まで進んでいたのが伝わると思います。まるで完成したかのような文章となっていますが、上記の通り完成には至っていません。

このアプリケーションは、ユーザーが選択した写真に含まれる顔を、AIが生成した新しい顔に置き換えることができるmacOSアプリです。

主な機能

画像選択: ユーザーは自分のコンピュータから顔が含まれている画像ファイルを選択できます。
AI顔スタイル選択: 生成する顔のスタイルを以下の4種類から選べます。
リアル・アニメ・カートゥーン・アート
顔置き換え: 「顔を置き換え」ボタンを押すと、画像内の顔が自動的に検出され、選択したスタイルのAI顔に置き換えられます。
プレビューと保存: 処理後の画像はアプリ上でプレビューでき、気に入ればPNG形式で保存することが可能です。

技術的な仕組み

顔検出: AppleのVisionフレームワークを利用して、画像から顔の位置や輪郭を正確に検出します。
AI顔生成:主に、Hugging Faceで公開されている画像生成AIモデル「Stable Diffusion」を利用して、指定されたスタイルに基づいた高品質な顔画像を生成します。
画像合成: AppleのCore Imageフレームワークを駆使して、検出した顔の領域にAIが生成した顔を自然に合成します。

簡単に言うと、「手持ちの写真を手軽に、AIを使って面白い画像に加工するためのツール」と言えるでしょう。

リンクソース

  • 記事用リンクソース:
  • Wiki用リンクソース(PukiWiki):
  • Wiki用リンクソース(MediaWiki):
  • SNS投稿用: