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.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 63

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

1

Share

Download to read offline

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

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

エンジニアが牽引する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

×