Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

エンジニアが牽引する3Dアバター事業とAIの活用 [DeNA TechCon 2019]

164 views

Published on

VTuberの盛り上がりや、VR/AR技術の進歩に伴い、3D仮想空間上で自己表現するためのアバターの重要性が増しています。一方でアバターシステムの構築には多大なコストがかかるため、新規サービス立ち上げの足かせとなっている状況だと考えています。
そのような市場課題を解決すべく立ち上がった登壇者が、レガシー資産とみられていたモバゲーアバターアセットを最新の環境(Unity)にキャッチアップさせ、事業を立ち上げていく中で適用した技術や得られた知見を公開。AIをどのようにサービスの中に取り入れて課題を解決したのか、新しい3DデータフォーマットとしてglTFを採用した理由など、ビギナーにも分かる説明で解説。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

エンジニアが牽引する3Dアバター事業とAIの活用 [DeNA TechCon 2019]

  1. 1. #denatechcon #denatechcon エンジニアが牽引する 3Dアバター事業とAI活用 黒木 俊治 ゲーム・エンターテインメント事業本部 オープンプラットフォーム事業部
  2. 2. #denatechcon 自己紹介 • アバターサービスのエンジニア リーダー • モバゲーアバターを次世代に繋 ぐことに執念を燃やす
  3. 3. #denatechcon モバゲーアバター紹介 • サービス開始から10年で10万点 以上の3Dアセット • 現在も月間900点のペースでアイ テムを制作 • 一つ一つが購入されることを目 的として制作されており、個性 に溢れている
  4. 4. #denatechcon Avatar Play 紹介 • モバゲーアバターをUnityで利用 できるようにし、 • オープン化してリブランディン グした新サービス • エンジニアがオーナーとして事 業を牽引
  5. 5. #denatechcon アジェンダ 1. サービスを立ち上げるまでの話 2. AIを使ってアバター体験を向上した話 3. 3DフォーマットにglTFを採用した話
  6. 6. #denatechcon サービスを立ち上げるまでの話 〜 技術的な企画を通した一例 〜
  7. 7. #denatechcon 立ち上げ: 2015年後半〜 • ネイティブ化したアバターの企画を提案 • しかし、時代はレッドオーシャンのアプリ市場、競合サ ービスも複数という状況に加え、 • 既存のお客様はブラウザ版モバゲーを利用されていると いう中、アバター事業責任者の理解を得られず
  8. 8. #denatechcon 結果 自分とこ以外でやって 事業責任者 H氏
  9. 9. #denatechcon 立ち上げ: 2016年前半〜 • VRが伸びると言われていた頃 • VRに取り組みたいという偉い人を捕まえ、ついでに新卒 エンジニアも捕まえて、 • VRコンテンツの開発を開始 • しかし、そううまくいくはずもなく、取り組みの継続性 が問われる日々・・・
  10. 10. #denatechcon 立ち上げ: 2016年後半〜 • インタラクティブブレインズ様より、VR内でのコミュニ ケーションにアバターを使わせてほしい、という提案を 受ける • DeNAはアバターを提供する側に徹する • 小さいながら、お客様に求められ、それに応えるという サイクルが生まれる
  11. 11. #denatechcon 立ち上げ: 2018年 • 利用を検討したいという要望が複数発生 • Avatar Play というサービス名でβ版提供開始 • 着せ替えアプリと、それと連携するためのSDK
  12. 12. #denatechcon 現在導入検討中のパートナーデベロッパー様 • VR: ambr様 • VTuber: SHOWROOM • ブロックチェーン: グッドラックスリー様 など、新興領域をリードするパートナーデベロッパー様 を中心にサポート 内製のアバターアプリ開発も検討中 ※ パートナーデベロッパー様の許諾を得てを紹介させていただいています
  13. 13. #denatechcon AIを使ってアバター体験を向上した話 〜 AI初心者でもAI導入イメージを持てる 〜
  14. 14. #denatechcon 「インターネットとAI」というビジョン • AIを使って課題解決していく、と言われたら、みなさん どうしますか? • 事業側はAIで何ができるか分からない。AIの専門家は事 業課題が分からない • 改めて業務やサービスを俯瞰し、課題解決の対象を模索 した
  15. 15. #denatechcon アバターテイストに応じてアニメーションを変化
  16. 16. #denatechcon 動画
  17. 17. #denatechcon 例えば、ジャンプも・・・
  18. 18. #denatechcon こんな感じに!
  19. 19. #denatechcon こんなAPIがほしい このアバターは、 1. カジュアル? 2. クール? 3. かわいい? 4. セクシー? INPUT OUTPUT かわいい AI AI AI かわいい かわいい クール API
  20. 20. #denatechcon APIを実装するまでの流れ 1. 教師データの作成 2. 学習モデルの作成 3. システム化
  21. 21. #denatechcon 1. 教師データの作成 • 運用チームに対応依頼 • 約1万点のアイテムを、カジュアル/クール/かわいい/セク シーを含む73種のテイストに分類
  22. 22. #denatechcon 教師データ: アイテム画像 • 今回は3kb程度のサムネイル画像を利用 • 人が判別できる画像ならAIも判別可
  23. 23. #denatechcon 教師データ: アイテム画像のテイスト • 1日2時間の作業を2人で2ヶ月間
  24. 24. #denatechcon 担当者談 尋常じゃなく辛かった 担当者 T氏
  25. 25. #denatechcon 2. 学習モデルの作成 • AIシステム部に対応依頼。これはカジュアルに依頼可能 • 畳み込みニューラルネットワークを利用 • TensorFlowをCloud ML Engine上で動かす • 学習モデルの作成・評価を繰り返し、精度をあげていく
  26. 26. #denatechcon Cloud ML Engine を使った学習モデル作成 AI担当者 1. 学習モデルのチューニング 2. 学習実行 3. 教師データとアイテム画像参照 4. 学習モデルデータを保存 5. 評価
  27. 27. #denatechcon 学習モデルのチューニング • 精度を上げるために、アイテム種(顔/髪/服)別にモデルを 分割、テイストの種類も絞る • 結果、顔:90%,髪:70%,服:50%の精度に INPUT OUTPUT
  28. 28. #denatechcon 出来上がった学習モデルデータ
  29. 29. #denatechcon 3. システム化 - アイテム登録フローに組み込む 1. アイテム登録 2. 予測依頼 3. 学習モデルを参照 4. 結果を返す 5. 結果をキャッシュ 運用担当者 アプリ 6. 結果を参照
  30. 30. #denatechcon Cloud ML Engine オンライン予測の性能 • 今回の予測での処理時間は0.5秒程度 • 予測した結果をキャッシュしておく設計に • オートスケールを使える点がメリット • オートスケールの利用事例は別セッション「運用中のゲームにAIを 導入するには」でも発表 ※2018年2月時点での性能調査結果
  31. 31. #denatechcon 結果1: OK カジュアル: 0.03176 クール: 0.02230 かわいい: 0.00051 セクシー: 0.41748
  32. 32. #denatechcon 結果2: OK カジュアル: 0.48007 クール: 0.13205 かわいい: 0.02060 セクシー: 0.00097
  33. 33. #denatechcon 結果3: NG カジュアル: 0.01106 クール: 0.02574 かわいい: 0.00514 セクシー: 0.00000 黒で単色の服は「クール」のものが多い。萌え 袖のアイテムがもっと多ければ正しく判定でき たかも・・・ AIシステム部 A氏
  34. 34. #denatechcon 結果4: OK カジュアル: 0.37771 クール: 0.00243 かわいい: 0.12762 セクシー: 0.02513
  35. 35. #denatechcon 結果5: OK カジュアル: 0.03333 クール: 0.00345 かわいい: 0.25211 セクシー: 0.18601
  36. 36. #denatechcon 結果6: NG カジュアル: 0.04275 クール: 0.12861 かわいい: 0.40648 セクシー: 0.00128 特徴ありすぎるアイテムはどうしても誤判定し てしまう。類似の教師データが存在しないこと が原因。 AIシステム部 A氏
  37. 37. #denatechcon 結果7: OK カジュアル: 0.05961 クール: 0.02332 かわいい: 0.06279 セクシー: 0.00890
  38. 38. #denatechcon 結果8: OK カジュアル: 0.24246 クール: 0.00329 かわいい: 0.29547 セクシー: 0.08650
  39. 39. #denatechcon 結果9: OK カジュアル: 0.03733 クール: 0.01058 かわいい: 0.69979 セクシー: 0.00712
  40. 40. #denatechcon 予測の結果 • 概ね人の感覚と近い判定ができる • 個性の強いアイテムの予測は難しい • 今回は主観的な判定であるため問題なかったが、人では 絶対に間違えないもの、例えば「制服」の判定などは、 高い精度で実現できないとサービス適用が難しい
  41. 41. #denatechcon 教師データ作成の反省点 • 教師データの規模を考えると73種のテイストは多すぎた • 教師データは制作コストが高いというのもあって、設計 を盛りがち • 分類を必要最低限に絞ることで精度向上が期待できる
  42. 42. #denatechcon テイスト判別はAvatar PlayのSDKからも利用可 • 使い方はドキュメント参照
  43. 43. #denatechcon AIを使ってチャレンジした他の案件 • テイスト以外のメタデータ • 顔アイテムの自動生成 • 音声から感情認識 • アニメ生成 • 詳細は別セッション「AIによるアニメ生成の挑戦」参照
  44. 44. #denatechcon 3DフォーマットにglTFを採用した話 〜 アバターシステムの裏側を知る 〜
  45. 45. #denatechcon モバゲーアバターの3D事情 • 3Dフォーマットはマスコットカプセル仕様 • サーバサイドでレンダリング • 出力はアニメーションGIF • 10年前の設計を今日も利用している
  46. 46. #denatechcon 当初の設計(FBX+AssetBundle) 運用担当者 FBXコンバータ Unity 1. 旧式アイテムをFBX変換 2. FBXをUnityへインポート 3. アセットバンドルのビルド 5. アセットバンドルをアップロード Unity 6. 実行時にダウンロード 4. アセットバンドルを転送 Cloud Build
  47. 47. #denatechcon 課題発生! • アセットバンドルがUnityバージョンアップの影響を受け やすく、追従するためにアセットの再ビルドが必要 • ビルドプロセスも複雑かつ時間を要するため、3Dアセッ トの再構築は至難の業 • 大量の3Dアセットを自信をもって運用できない状態に
  48. 48. #denatechcon Avatar Play の要件 • 様々なUnity環境で安定して動作させたい • Unity以外の実行環境も視野 • 3Dデータの安定性は最重要課題 →並行で進めていたglTF化の目処が立ったため、 2018年6月にglTFへの全面移行を決定
  49. 49. #denatechcon glTF • ランタイムに最適化された3Dフォーマット • クロノス社が提唱するオープンな仕様 • プラットフォーム非依存 • 標準的なフォーマットとして普及しつつある
  50. 50. #denatechcon glTFベースのシステムに作り変える 運用担当者 glTFコンバータ 1. 旧式アイテムをglTF変換 glTFインポーター 3. 実行時にダウンロード 2. glTFファイルを圧縮・暗号化 してアップロード
  51. 51. #denatechcon glTFインポーターの性能は満足行く結果に • 最新のiOS/Android実機では100kb程度のglTFファイルな ら高速にロードできる • 並行処理でスケールできる • ダウンロードの方がボトルネック
  52. 52. #denatechcon glTFアニメーションはUnityで使えず • glTFのアニメーションをランタイムで読み込むのはUnity においては制約がある • AnimationClip.SetCurveがレガシーアニメーションにし か対応していないため • mecanim の機構を利用するアニメーションは、事前にア ニメーションクリップとして準備しておく必要がある • 動的にロードしたいケースでは課題
  53. 53. #denatechcon glTFファイルのセキュリティも担保 • glTFファイルを暗号化したものをストレージへ配備・ク ライアント側で復号化 • Google Cloud Storage へのアクセスは署名付きURLを 使ってAvatar PlayのSDK経由でのみ許可されるよう制限
  54. 54. #denatechcon アセットバンドルとglTFまとめ ※アセットバンドルはUnity2017系での比較
  55. 55. #denatechcon glTF活用まとめ • 現時点ではUnityのサポートがないため、要実装となる箇 所が多いが、性能面・セキュリティ面の要件を満たせた • 特定のプラットフォームやゲームエンジンへの依存が減 り、3Dファイルの再利用性が高まる • Unityのバージョンアップの影響を受けにくくなり、3Dフ ァイルが安定する
  56. 56. #denatechcon 宣伝
  57. 57. #denatechcon Avatar Play • Avatar Playのミッションは、パートナーデベロッパー様 のアバター課題の解決 • 結果、アバターファンを増やす • アバターを活用したいケースはありますか?
  58. 58. #denatechcon Avatar Play - 今後の開発予定 • アバターとSDKの洗練 • アイテム販売による収益化のサポート • 単にアイデンティティとして利用したいというライトな 利用ケースにも対応 • Webアプリでも利用可能に
  59. 59. #denatechcon Avatar Play - 問い合わせ先 • デベロッパーサイトよりお問い合わせください • 「Avatar Play」で検索 • または、黒木までお気軽にご連絡ください!
  60. 60. #denatechcon Avatar Play - 採用 • 3Dグラフィックプログラマー • 3Dアバターアセット(glTF)の設計 • glTFコンバータ / glTFインポーターの開発・メンテナンス • その他、3Dグラフィックス関連の技術課題解決 採用HPまたは黒木までお気軽にご連絡ください!
  61. 61. #denatechcon DeNAで働くメリット • 事業の意思決定に関われる点がDeNAで働く醍醐味 • 事業を本気で考えながら技術チャレンジする面白さ • そんな事業が複数領域にまたがって存在するのがDeNA
  62. 62. #denatechcon ご清聴ありがとうございました!
  63. 63. #denatechcon #denatechcon

×