【Deepia】生成AIバーチャル美女LIVE配信のプロダクトデモ

今回はAIで生成した画像を使ってバーチャルLIVE配信をする機能を検討します。

デモとして配信し、反応が良ければDeepiaに機能として組み込むか
そのままLIVE配信アプリケーションにします。

まあ、アリだと思ったら反応いただけると幸いです。

以下の続編でもあります。

【DeepFake】PyTorchを使用してCEOを女体化するAIをつくる
19歳ディープテック起業家が生成AIプラットフォーム『Deepia』をリリース【一次元のアイデア、多次元のコンテンツ】
【Stable Diffusion Web UI】BRA V6モデルで『赤い美女』を生成する

プロダクトデモ

目標インプレッションが10万です
みなさん、リポストご協力いただけると嬉しいです

【DeepFake】PyTorchを使用してCEOを女体化するAIをつくる

男に生まれたなら、
たまには女になりたいって思いますよね。

ということで、
今回はPyTorchを使って、DeepFakeで
CEOを女体化するAIをつくります。

DeepFakeは肖像権の問題など
法的には危ないので注意してくださいね。

くれぐれもアダルトなビデオに人気女優の顔を貼り付けるような
悪徳ビジネスはしないようにお願いいたします。

準備するもの

CEOを女体化

NVIDIA GPUとCUDAのバージョンを確認します。

!nvidia-smi
!nvcc --version

sber-swapというDeepFakeツール、モデルをもろもろインストールします。

!git clone https://github.com/sberbank-ai/sber-swap.git
%cd sber-swap
!wget -P ./arcface_model https://github.com/sberbank-ai/sber-swap/releases/download/arcface/backbone.pth
!wget -P ./arcface_model https://github.com/sberbank-ai/sber-swap/releases/download/arcface/iresnet.py
!wget -P ./insightface_func/models/antelope https://github.com/sberbank-ai/sber-swap/releases/download/antelope/glintr100.onnx
!wget -P ./insightface_func/models/antelope https://github.com/sberbank-ai/sber-swap/releases/download/antelope/scrfd_10g_bnkps.onnx
!wget -P ./weights https://github.com/sberbank-ai/sber-swap/releases/download/sber-swap-v2.0/G_unet_2blocks.pth
!wget -P ./weights https://github.com/sberbank-ai/sber-swap/releases/download/super-res/10_net_G.pth

ライブラリをインストールします。

!pip install mxnet-cu101mkl
!pip install onnxruntime-gpu==1.8
!pip install insightface==0.2.1
!pip install kornia==0.5.4

インポートします。

import cv2
import torch
import time
import os
import matplotlib.pyplot as plt

from IPython.display import HTML
from base64 import b64encode

from utils.inference.image_processing import crop_face, get_final_image, show_images
from utils.inference.video_processing import read_video, get_target, get_final_video, add_audio_from_another_video, face_enhancement
from utils.inference.core import model_inference

from network.AEI_Net import AEI_Net
from coordinate_reg.image_infer import Handler
from insightface_func.i import Face_detect_crop
from arcface_model.iresnet import iresnet100
from models.pix2pix_model import Pix2PixModel
from models.config_sr import TestOptions

モデルをつくります。

app = Face_detect_crop(name='antelope', root='./insightface_func/models')
app.prepare(ctx_id= 0, det_thresh=0.6, det_size=(640,640))

G = AEI_Net(backbone='unet', num_blocks=2, c_id=512)
G.eval()
G.load_state_dict(torch.load('weights/G_unet_2blocks.pth', map_location=torch.device('cpu')))
G = G.cuda()
G = G.half()

netArc = iresnet100(fp16=False)
netArc.load_state_dict(torch.load('arcface_model/backbone.pth'))
netArc=netArc.cuda()
netArc.eval()

handler = Handler('./coordinate_reg/model/2d106det', 0, ctx_id=0, det_size=640)

use_sr = True
if use_sr:
    os.environ['CUDA_VISIBLE_DEVICES'] = '0'
    torch.backends.cudnn.benchmark = True
    opt = TestOptions()
    model = Pix2PixModel(opt)
    model.netG.train()

画像と動画をアップロードします。
今回はtarget_type(完成形)をビデオにしています。

変数名パス
source_pathCEOの画像のパス
target_path(画像変換を行う場合)女性の画像のパス
path_to_video女性の動画のパス

画像や動画はgoogle colabのここに格納します。

ちなみに、
フリーの画像や動画はpixabayなどからダウンロードできます。

target_type = 'video'

source_path = 'examples/images/jin.png'
target_path = 'examples/images/woman.png'
path_to_video = 'examples/videos/woman.mp4'

source_full = cv2.imread(source_path)
OUT_VIDEO_NAME = "examples/results/result.mp4"
crop_size = 224

try:
    source = crop_face(source_full, app, crop_size)[0]
    source = [source[:, :, ::-1]]
    print("Everything is ok!")
except TypeError:
    print("Bad source images")

if target_type == 'image':
    target_full = cv2.imread(target_path)
    full_frames = [target_full]
else:
    full_frames, fps = read_video(path_to_video)
target = get_target(full_frames, app, crop_size)

モデルを推論しましょう。

batch_size = 40

START_TIME = time.time()

final_frames_list, crop_frames_list, full_frames, tfm_array_list = model_inference(
    full_frames,
    source,
    target,
    netArc,
    G,
    app,
    set_target = False,
    crop_size=crop_size,
    BS=batch_size
)

if use_sr:
  final_frames_list = face_enhancement(final_frames_list, model)

if target_type == 'video':
  get_final_video(
      final_frames_list,
      crop_frames_list,
      full_frames,
      tfm_array_list,
      OUT_VIDEO_NAME,
      fps,
      handler
  )

  add_audio_from_another_video(path_to_video, OUT_VIDEO_NAME, "audio")

  print(f'Full pipeline took {time.time() - START_TIME}')
  print(f"Video saved with path {OUT_VIDEO_NAME}")
else:
  result = get_final_image(
      final_frames_list,
      crop_frames_list,
      full_frames[0],
      tfm_array_list,
      handler
  )
  cv2.imwrite('examples/results/result.png', result)

表示しましょう。

if target_type == 'image':
  show_images(
      [
          source[0][:,:,::-1],
          target_full,
          result
      ],
      [
          'Source Image',
          'Target Image',
          'Swapped Image'
      ],
      figsize=(20, 15)
  )
else:
  video_file = open(OUT_VIDEO_NAME, "r+b").read()
  video_url = f"data:video/mp4;base64,{b64encode(video_file).decode()}"

  HTML(f"""<video width={800} controls><source src="{video_url}"></video>""")

先ほどの動画が出力されました。

このように出力されます。(※sber-swap公式参照)

結論

気持ち悪い。

19歳ディープテック起業家が生成AIプラットフォーム『Deepia』をリリース【一次元のアイデア、多次元のコンテンツ】

FxfQ-anagAErZV0 (1).png

「次元を捻じ曲げる」というビジョンの元、認知的課題に取り組み
言語化されたプロンプトをユーザー見えている世界として形にします。

たった一行の言葉で「画像・文章・音楽・動画・空間」を自在に操ることができます。

■Deepiaとは( https://deepia.space )

Deepiaは生成AIプラットフォームです。

たった一行のアイデアで
・画像
・文章
・音楽
・動画
・空間
を生成できます。

■キャンペーンについて

2ステップで、今後追加される機能が無料で使えます。

  1. 以下のTwitterアカウント(@DeepiaJP) をフォロー
    https://twitter.com/DeepiaJP
  2. 以下の投稿を「いいね & リツイート」でアカウントに ”Deepia Purple” 認証マーク付与
    https://twitter.com/DeepRecommend/status/1663676423121534976

拡散していただけると嬉しいです。

■サービスについて

AIが強くなってきて仕事が奪われそうと感じて
別のスキルを身に着けたり、知的階級は終わりだと落胆するのは待ってください。

その前に僕らがやるべきことがあります。

・AIに奪われる仕事は?
・AIにできないことって?
・AIで失業したらどうしよう

こういったコトが気になっているのではないでしょうか。

これに心配して
個人なら
・転職したり
・資格を取ったり
・新しいスキルを身に着けたり
企業なら
・人材の育成を行ったり
・ビジネスモデルを変えたり
・営業やセールスにリソースを注ぎ込んだり
みなさん、こういったような
ハードスキルばかり気にしてますが
すぐに実行するのは難しいことです。

何にせよ、リソースは貴重です。
その貴重なリソースを効率的に活用にするために
今回紹介するのがDeepiaです。

ハードスキルを身につけることなく手っ取り早く誰でも
以下のようなことが可能です。

・AIを誰でも使える
・AIを使うことの負担が減る
・AIを使える側の人材になれる
・AIを代行する便利ツールである
・AIを使って自己表現や自己実現ができる
・AIを使うことで自分がもう一人増えるような効率化が図れる

このチャンスを逃せば
更に人工知能は驚異的なスピードで成長していますので
おそらくAIに食われる側の人材になります。

また、AIをいかに活用するかということも重要になっていきます。
もうChatGPTを始めとするOpenAI、Microsoftなどの
ビッグテック企業からサービスが出てるし
それ使えば良いのでは?と思った方は鋭いです。

しかしながら、それはAIをサブ機能として使っているので
AIを使える側の人材になったり、効率化が図れたとしても
あなた自身を表現することや自己実現はできません。

つまり、ビッグテックが提供するAIサービスは
ユーザーありきのモノではないのです。

確かに、AIが生成した成果物をSNSに上げれば
自身を表現することができますが
それもなんだか信頼が落ちるようで使いたくないというのが本音ではないでしょうか。

Deepiaを使えばAIをいかにして活用できるかという実力も
アカウントの価値という指標で計測することができますし
SNSのような見た目、使い方なので誰も使えますし
AIに特化しているのでコンテンツがごちゃごちゃになることがありません。

広く深いWebや機械学習の数社に渡る開発経験を活かし制作いたしました。

AIのおかげで老若男女、誰でもクリエイターになれます。
「私はクリエイターじゃない」という方も安心してください。
クリエイターは特別なものではありません。
ここではクリエイターとは何かを生み出せる人という意味とします。
入力する言葉(テキスト、文字、プロンプト)さえ思いつけば
あとはAIに丸投げするだけでその時点であなたもクリエイターです。

普通の人だったら
AIなんて「恐怖」の対象と思うかもしれませんが
同時に「楽したい」とも思うのも歴史を見れば根源の欲求であることは自明です。

企業努力とユーザーの規模次第で
・テキストから画像を生成するAIがInstagramを
・テキストから音楽を生成するAIがSpotifyを
・テキストからテキストを生成するAIがTwitterを
・テキストからビデオを生成するAIがYouTubeを
これらのようなすべてのプラットフォームを代替することができます。

なぜなら、これらのプラットフォームは
「目」「耳」「口」などの五感に含まれる人間の主機能を代替しているからです。

具体的には
触覚、味覚、嗅覚をどうするかは課題ですが
・目のプラットフォームがInstagramとか
・耳のプラットフォームがSpotifyとか
・口のプラットフォームがTwitterとか
・五感のプラットフォームがYouTubeとか
機械学習の分野では
・目を代替するのが画像認識
・耳を代替するのが音声認識
・口を代替するのが自然言語処理
などです。

ある経営者からは「Googleみたいなことしようとしている」と言われたこともあります。
しかしながら、昔からの色んな人から期待から「器の小さなことはできない」という事実もあります。
また、代表は音楽が好きで未だに趣味で作曲したりするほどなのですが
最初にハマったアーティストがKANA-BOONでした。
実は彼ら売れる前のインディーズ時代に人間を作っています。
どういうことかと言うと以下のようなアルバムを順番に作っていきました。
「口を閉ざして」
「耳をふさいで」
「目をとじて」
「手も足も出ない」
その後、メジャーデビュー後に
原点に帰るコンセプトで「KANA-BOONが人間を作ります。」というプロジェクトを
「origin」というアルバムの限定盤としてリリースしました。
この限定版の最後の曲名が「construct connect」で、まさに「構造化と組み合わせ」なんです。
だからこそ僕らDeepRecommendは「人間を作る」というのが
刻まれたのか今回のようなサービスが生まれたとも言えます。
正直若干、願掛けみたいなところもあります。

もちろんAI市場予測も右肩上がり
また、人は繁殖と同じように
世の中に、またはインターネット上に
コンテンツを残すことによってでも
自分の価値を残すことができます。

どういうことかと言いますと
例えば、
・作家は小説やエッセイを書き
・音楽家は楽曲を制作し
・科学者は論文を執筆し
・芸術家は絵画や彫刻を作り
・エンジニアはプログラムを書き
・YouTuberは動画を制作し
・ブロガーは記事を書き
・SNSユーザーは投稿をし
・ビジネスマンはプレゼンテーションを作成する
など、それぞれの分野で自分自身を表現するためのコンテンツを作成しています。

このようなコンテンツには
その制作者の独自性やオリジナリティが反映されており
制作者の才能や価値を表していると言えます。
また、コンテンツを通じて自己表現を行うことで
自分自身や自分の価値観をアピールし
他者との交流やコミュニケーションを深めることができるというメリットもあります。

AIに奪われないスキルとして
・創造性
・共感
・器用さ
が言われています。

かなり先の未来、数十年後にはこれらも奪われる可能性もありますが
直近の未来では、AIに「生み出す力」「コミュ力」「構造化や組み合わせ力」はありません。

そして、お金を稼いだり、影響力があったり、能力がある人は
みんなAIを使いこなしているので早くやらないと生き残れないです。

生成AI(ジェネレーティブAI)のログやコレクションとして使っても構いません。
数ある生成AIアプリの中でも一元クリエイター主体のものは他にありません。
ビジネス利用はリスクがあるのでエンタメ寄りにしたためです。
AIを武器としてあなたの脳力を拡張します。
何にせよ人工知能というくらいなのですから、知能です。
AIを仲間にしたプロンプトを自在に操ったご自身の姿を想像してみてください。

もはや、これがないとやっていけないという世界を目指します。

なぜ「脳力拡張機」というコンセプトなのかは
以下のように脳は技術と人の観点から
両方追求できる一石二鳥な本質だからです。

もう一人の自分」が増えたような世界へご案内します。

▼ 今すぐ、Deepiaにアクセス

https://deepia.space

■使い方

解説不要

■追伸(P.S.)

プロジェクトは第9フェーズまで計画していて
今回のリリースはまだ第1フェーズに過ぎません。

・AI
・XR
・BCI
・量子コンピュータ
・ブロックチェーン
などのディープテックを統合させ
仮想社会システムを構築していきます。

【Stable Diffusion Web UI】BRA V6モデルで『赤い美女』を生成する

00005-1870153877.png

Stable Diffusionにモデルを仕込んで

クオリティーが生成される画像の種類を変更させたいです。

今回は、なぜか赤いアジア美女を生成したくなったので

Beautiful Realistic Asians V6モデルを使って生成します。

試行

BRA V6で「赤い美女」を生成する

BRA V6をダウンロード

以下からダウンロード

https://civitai.com/models/25494/brabeautiful-realistic-asians-v3

ダウンロードしたファイルはstable_diffusion_webui/models配下に置く

models/.safetensors

image.png

Stable Diffusion Web UI起動

webui.batをクリックして起動

image.png
image.png

BRA V6で赤い美女を生成する

beautifulRealisticモデルを選択

image.png

プロンプトにred, womanを入力

image.png

赤い美女が生成される

00005-1870153877.png

まとめ

  1. モデルをダウンロード
  2. stable_diffusion_webui/models/******.safetensorsというようにダウンロードした.safetensorsをmodels配下に置く
  3. stable_diffusion_webuiを起動
  4. ダウンロードしたモデルを選択
  5. プロンプトを入力して実行