VTuberを作成する手順

VTuberを作成するには、キャラクターデザイン、モデリング、リギング、アニメーション、配信ソフトウェアの設定などのステップが必要です。以下に、ステップごとの手順と使用ツールを説明します。

ステップ1: キャラクターデザイン

  1. キャラクターのコンセプトや個性を考えます。どんな見た目や性格を持つか、特徴的な服装やアクセサリーなどを決めます。
  2. イラストレーターを使ってキャラクターを描きます。Adobe IllustratorやClip Studio Paintなどのソフトウェアが役立ちます。

ステップ2: 3Dモデリング

  1. デザインしたキャラクターを3Dモデルに変換します。Blender, Maya, 3ds Maxなどの3Dモデリングソフトウェアを使用します。
  2. テクスチャを作成し、モデルに適用します。Substance PainterやAdobe Photoshopが使えます。

ステップ3: リギング

  1. 3Dモデルにボーンやコントローラーを追加して動きを制御できるようにします。これには、BlenderやMayaのリギング機能が役立ちます。
  2. フェイシャルリギングを行い、表情や口の動きをコントロールできるようにします。

ステップ4: アニメーション

  1. モーションキャプチャー技術を利用して、実際の動きを3Dモデルに適用します。Vive TrackerやXsensなどのモーションキャプチャーシステムが使えます。
  2. キャラクターの表情や目の動きを制御するために、iPhoneのARKitやFaceRigなどのフェイシャルキャプチャーソフトウェアを使用します。

ステップ5: 配信ソフトウェアの設定

  1. VTuberとして配信するために、OBS StudioやXSplitなどの配信ソフトウェアを設定します。
  2. 3Dモデルを表示し、モーションキャプチャーとフェイシャルキャプチャーをリアルタイムで反映させるために、VMagicMirrorやLuppetなどのソフトウェアを使用します。

以上の手順で、VTuberの作成が完了します。作成したVTuberを使って、配信を開始し、視聴者と交流することができます。

pix2codeを評価した

前回の投稿からだいぶ時間が空いてしまったが、その間にpix2codeの評価が進んだので概要を書いてみようと思う。

pix2codeの概要だが、コペンハーゲンに本拠を置くスタートアップUIzard Technologiesが開発したUIのスクリーンショットからWebアプリやiOSの画面表示コードをDeepLearningで出力するというソフトウェアである。これは、2017年5月にソースコードや論文を公開すると同時にデモをYoutubeにアップしている。

ソースコード → https://github.com/tonybeltramelli/pix2code

論文 → https://arxiv.org/abs/1705.07962

Youtube →

このコードを元に米国でDeepLearning向けのPaaS環境を提供しているスタートアップのFloydhubが2018年1月に自社のクラウドで動作な設定等や学習のためのデータを追加しソースコードを追加している(※こちらはWeb向けの学習コード、データのみである)

pix2codeのベースになっているネットワークアーキテクチャは、GAN(generative Adversarial Network)の実装オープンソフトのpix2pixである。pix2pixは2016年11月に発表されたソフトウェアであり、A種(例えば航空写真)の画像からB種(例えば地形図)の画像を2つの画像群の特徴とそれらの相関をDeepLearningで学習し、自動で出力を可能とするソフトウェアである。

pix2codeは、一方を画像ではなく、HTMLなどのMarkup言語にしているところが特徴になる。詳細な違いは、pix2pixの場合は、双方とも画像であるので、特徴量抽出と生成には2つのCNNを利用しているが、pix2codeの場合は画像と言語であるため、CNNとLSTM(Long Short Term Memory)を利用してる。

LSTMは時系列(順番)データを学習するRNN(Recurrent Neural Network)の実装として自然語処理に最もよく利用されるパターンであるが、自然言語処理で利用される場合、言葉のゆらぎがあるため学習の収束が遅いという実感がある。しかし、Markup言語はブラウザのようなコンピュータが人間の意図を表現するために利用される言語であるためゆらぎが少なく、利用されるwordの種類も少なく、表記種別と構造を表現する文法だけであるため、pix2codeでは収束が比較的速いのではないかと想定した。

評価は、当初、本家のソースコードを学習データで学習させ、評価画像を入力した場合の出力HTMLをブラウザに入力し、評価画像と比較することを計画した。

ところが本家のソースコードに付属しているReadmeを読むと、公開されているソースコードはUIzard Technologies社のクライアントを考慮し、一部を意図的に削除、書き換えしてあるという旨の記述がされていた。試しに学習させ、評価したところ、出力結果のDSLをHTMLやiOSなどの目的の言語に変換するCompilerソフトかけると、エラー出力されるという状況であった。

そこでFloydhubのソースコードを参考に本家のコードをいろいろ修正した。その結果、エラー出力はされなくなった。しかし、学習が不十分であり、公開されている学習プログラムのままでは学習データに対しては高精度出力が可能となるが、それ以外の画像データに対しては汎化ができておらず低精度出力になってしまう状態、いわゆる過学習になってしまうことが判明した。そこで独自に学習アルゴリズムについてハイパーパラメータチューニングを実施した。その結果Accuracyが95%近くまで向上するだけでなく、bleu値が、学習に利用しない評価用データに対しても、0.85〜0.91まで向上することを確認した。

学習が済んでしまえば、1画面あたり数秒でBootstrapに対応したHTMLファイルが出力されてしまうという手軽さである。

今後、マーズスピリット社は更に精度向上を図り、この技術を利用したサービス提供を企画している。Webデザイン企業でこのサービスを評価したい、活用したという企業が是非ご一報下さい。

※ bleu値(bilingual evaluation understudy):自然言語の機械翻訳で利用される指標であり、人間が翻訳した場合の文章と機械が翻訳した場合の文章の一致度を評価するために指標であり、人間の翻訳に近ければ近いほど1に近づく

 

オープンソース版Siri

AppleやMicrosoft以外の企業も新しいオープンソースのソフトウェアを用いて、それぞれ独自のバージョンのSiriの様なアシスタント機能を作成することが可能になった。そのソフトウェアは、Sirius。AppleのSiriをもじったものだ。

3月にトルコで開催された「プログラム言語およびOS向けアーキテクチャサポートに関する国際会議」にて、ミシガン大学の研究者らがSiriusについてのプレゼンテーションを行った。

「Siriusとは、音声認識、画像マッチング、自然言語処理および質疑応答システムなどのIPA(インテリジェントパーソナルアシスタント)の中心的機能を果たすものである」と研究成果を記載した新たな学術論文で研究者らは述べた。このシステムは、モバイル端末から質問や命令を受け、サーバー上で情報を処理し、モバイル端末上に音声で返答してくれる。

スタートアップの中には独自のスマートアシスタントの開発に躍起になっているところもあるが、まだAppleやGoogle、Microsoftに対抗できる企業はない。Siriusが登場したことでこうした状況は変化する可能性がある。

研究者らは「商用レベルのシステム」の実現を図った。実際、Siriusの音声認識コンポーネントには、人工知能の手法としてトレンドになってきているディープラーニング(深層学習)が組み込まれている。ディープラーニングとは大量のデータを深いレベルのニューラルネットワークに学習させ、その知識に基づいて新しいデータについて推定させるものだ。

研究者らはパーソナルデジタルアシスタントについて記載しているが、それに加えて、Siriusのような複雑な負荷を扱うのに最適なサーバーチップはどれかを決めるテストも行った。

「GPUやFPGAアクセラレータを使用したサーバーでは、クエリ実行のレイテンシを平均して10倍および16倍低くできることを証明している」と彼らは記し、「レイテンシを低くすることで、GPUやFPGAアクセラレータを使用したサーバーのTCO(総所有コスト)をそれぞれ2.6倍と1.4倍減らすことができる」と続けた。

研究者らが無償のオープンソース版Siriを開発

https://github.com/jhauswald/sirius