2022/09/12 iOSDC Japan 2022 Day2
目からビームでヴィランをやっつける 〜知られざるARKitの並走機能〜 iOSDC Japan 2022 Day2 2022/09/12 13:55~ Track C 株式会社ZOZO ながいん / @na9ainCopyright © ZOZO, Inc.1
View Slide
© ZOZO, Inc.株式会社ZOZO 計測プラットフォーム開発本部 計測アプリ部 iOSブロックながいん / @na9ain ● 2022年4月に新卒入社 ● 仙台の大学院生(修士課程)でした ● 音楽・古着・ゲームが好き 2
© ZOZO, Inc.3
© ZOZO, Inc.4目からビームでヴィランをやっつける
© ZOZO, Inc.5目からビームでヴィランをやっつける ※3DモデルなどはAppleのサンプルコードのものを使用
© ZOZO, Inc.目次 ● 知られざる?ARKitの並走機能 ○ ARKitとは ○ 並走機能とは ● 並走機能の可能性 ○ 並走機能で何が嬉しい? ○ 並走機能を活用した*HCI分野の研究紹介 ● 並走機能を使ってアプリを作ってみる ○ 目からビームでヴィランをやっつける ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする ○ いろいろ実装してみて気づいたこと ※HCI = ヒューマンコンピュータインタラクション6
© ZOZO, Inc.● 知られざる?ARKitの並走機能 ○ ARKitとは ○ 並走機能とは ● 並走機能の可能性 ○ 並走機能で何が嬉しい? ○ 並走機能を活用した*HCI分野の研究紹介 ● 並走機能を使ってアプリを作ってみる ○ 目からビームでヴィランをやっつける ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする ○ いろいろ実装してみて気づいたこと ※HCI = ヒューマンコンピュータインタラクション7目次
© ZOZO, Inc.8● Apple社が提供するAppleデバイス用のAR開発ツール ○ iPhone・iPad向け。将来的にはARグラスも…? ● 2017年に初めて発表され、今年でARKit 6に ○ 順当に進化を遂げ、成熟した雰囲気が漂う 2017 ARKit 誕生 2018 2019 2020 2021 2022 LiDAR 登場 Object Capture 4K対応 Reality Kit 誕生 AR体験の共有 ARKitとは
© ZOZO, Inc.他のフレームワークと比ベて 多くの機能をカバーしている 9ARKitとは Visualizing and Interacting with a Reconstructed Scene Occluding Virtual Content with People Meshing PersonSegmentation
© ZOZO, Inc.10目的・用途にあった ARConfiguration を選び、 ARSession.run(_:options:) でユーザーにAR体験を提供する ARKitの使い方
© ZOZO, Inc.11並走機能とは 数種類の ARConfiguration のうち、上記2つを同時に走らせる機能のことを ここでは並走機能と呼ぶこととします ※現状、ARKitで同時に走らせることが可能なのはこの2つの組み合わせのみ
© ZOZO, Inc.● フロントカメラとバックカメラを 同時に使用して、フェイストラッキングと ワールドトラッキングを行う ● iOS 13.0+, ARKit 3 より利用可能に ● ARCoreにはない機能 12並走機能とは
© ZOZO, Inc.でも並走機能って 何が嬉しいの? そ れ
© ZOZO, Inc.● 知られざる?ARKitの並走機能 ○ ARKitとは ○ 並走機能とは ● 並走機能の可能性 ○ 並走機能で何が嬉しい? 並走機能の可能性 ○ 並走機能を活用した*HCI分野の研究紹介 ● 並走機能を使ってアプリを作ってみる ○ 目からビームでヴィランをやっつける ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする ○ いろいろ実装してみて気づいたこと ※HCI = ヒューマンコンピュータインタラクション14目次
© ZOZO, Inc.15一言で言えば… フェイストラッキングでできることとワールドトラッキングでできることを同時に行え、それらを組み合わせることができる 並走機能で何が嬉しい?
© ZOZO, Inc.16フェイストラッキングで できること ワールドトラッキングで できること ● 顔の形状の取得 ● 表情の取得 ● 頭部方向の取得 ● 眼球方向の取得 ● …etc 並走機能の可能性 ● スマートフォンの 6次元トラッキング ● 周囲環境の認識 ● 画像・物体検出 ● 3Dマップの取得・復元 ● …etc ???
© ZOZO, Inc.17実はこの並走機能、 ヒューマンコンピュータインタラクション という研究分野で注目を集めました
© ZOZO, Inc.18ヒトとコンピュータとの インタフェースについて 着目した研究分野 ヒューマンコンピュータインタラクションとは ※分野トップの学会のキーワードを可視化した図 https://www.kashyaptodi.com/chi2015/keywords
© ZOZO, Inc.19ヒューマンコンピュータインタラクションとは スマートフォンの画面を複数の指で広げたり狭めたりする マルチタッチもこの分野の研究から生まれた SmartSkin: an infrastructure for freehand manipulation on interactive surfaces [ACM CHI 2002. Jun Rekimoto.]
© ZOZO, Inc.20並走機能を活用した研究 ① WorldGaze Enhancing Mobile Voice Assistants with WorldGaze [ACM CHI 2020. Sven Mayer, Gierad Laput and Chris Harrison.] ② HandyGaze HandyGaze: A Gaze Tracking Technique for Room-scale Environments Using a Single Smartphone [ACM ISS 2022. Takahiro Nagai, Kazuyuki Fujita, Kazuki Takashima and Yoshifumi Kitamura.]
© ZOZO, Inc.21並走機能を活用した研究 ① 〜WorldGaze〜 並走機能で音声アシスタントを 強化する 「このお店はいつ閉まる?」のような 曖昧な文言を注目対象を推定することで 音声アシスタントが認識可能に
© ZOZO, Inc.22● ユーザの頭部方向を注目方向として トラッキング ● バックカメラに映る 物体の認識 ユーザの注目対象を 推定して 音声アシスタントに フェイストラッキングで やってること ワールドトラッキングで やってること 並走機能を活用した研究 ① 〜WorldGaze〜
© ZOZO, Inc.23https://iss.acm.org/2022/ 取得済の部屋の3Dマップを復元することで バックカメラに映っていない物体への 注目も認識することができる 並走機能を活用した研究 ② 〜HandyGaze〜 並走機能で部屋中のあらゆる物への 注目を認識する
© ZOZO, Inc.24スマホを手に持つだけで 部屋中でユーザの 注目対象を推定できる ● ユーザの頭部方向を トラッキング ● 頭部方向を視線方向にキャリブレーション ● 取得済の部屋の 3Dマップを復元 ● 3Dマップ上での スマートフォンの 位置・回転を トラッキング フェイストラッキングで やってること ワールドトラッキングで やってること 並走機能を活用した研究 ② 〜HandyGaze〜
© ZOZO, Inc.25美術館のような関心対象の多い屋内空間で 視線に基づく自然な情報提示などの応用ができる 並走機能を活用した研究 ② 〜HandyGaze〜
© ZOZO, Inc.● 知られざる?ARKitの並走機能 ○ ARKitとは ○ 並走機能とは ● 並走機能の可能性 ○ 並走機能で何が嬉しい? ○ 並走機能を活用した*HCI分野の研究紹介 ● 並走機能を使ってアプリを作ってみる ○ 目からビームでヴィランをやっつける ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする ○ いろいろ実装してみて気づいた並走機能のあれこれ ※HCI = ヒューマンコンピュータインタラクション26目次
© ZOZO, Inc.27バックカメラ(ワールド)を画面に映す場合 フロントカメラ(フェイス)を画面に映す場合 並走機能の使い方 たった数行で並走機能を走らせることができます。 ※ARKitではフロントカメラとバックカメラの映像を同時に映すことは現状できない https://developer.apple.com/forums/thread/677731
© ZOZO, Inc.28並走機能の使い方 並走機能により 更新されるAR情報はARSessionDelegateの メソッドで処理できる
© ZOZO, Inc.実際に作ってみた。
© ZOZO, Inc.30目からビームでヴィランをやっつける ※3DモデルなどはAppleのサンプルコードのものを使用
© ZOZO, Inc.31目からビームでヴィランをやっつける ● ユーザの頭部方向に ビームを発する ● ユーザの表情に応じて ビームの種類を 切り替える ● 検出した平面に ヴィランを 出現させる フェイストラッキングで やってること ワールドトラッキングで やってること 目からビームで ヴィランを やっつける
© ZOZO, Inc.32目からビームでヴィランをやっつける ユーザの口の開閉状態を更新する
© ZOZO, Inc.33目からビームでヴィランをやっつける 毎フレームでビームをキャストし、 衝突しているヴィランがあれば 口の開閉に応じて 浮遊させる or やっつける
© ZOZO, Inc.34視線を向けるだけで電気を点けたりコーヒーを淹れたりする ● コーヒーを淹れる ● ライトに視線を向けてスマホ画面を タップすると ON/OFF ● PCに視線を向けている間は スマホ画面がトラックパッドに
© ZOZO, Inc.35● ユーザの眼球方向を 視線として トラッキング ● IoTデバイスの位置が 設定された部屋の 3Dマップを復元 ● 3Dマップ上での スマートフォンの 位置をトラッキング フェイストラッキングで やってること ワールドトラッキングで やってること 視線を向けるだけで 電気を点ける 視線を向けるだけで電気を点けたりコーヒーを淹れたりする
© ZOZO, Inc.36視線を向けるだけで電気を点けたりコーヒーを淹れたりする ARFaceAnchorが更新されるたびに 設定されたデバイスと視線の衝突を チェック
© ZOZO, Inc.37いろいろ実装してみて気づいた 並走機能のあれこれ
© ZOZO, Inc.38いろいろ実装してみて気づいた並走機能のあれこれ 通常、A12チップ以降のTrueDepthカメラを搭載したデバイスで使用できるが 例外的にiPad Pro 2020(第4世代)では並走機能が使用できない https://developer.apple.com/forums/thread/131006 → A12Zチップ、LiDAR搭載の端末におけるハードウェア上の問題であるため直らない 並走機能が使用できるデバイスに関して
© ZOZO, Inc.39 ● 画面をタップするというARと現実との境界を意識するアクションを省くことができ、 視線や表情などを用いることでARの臨場感が高まる気がする ● 歩きスマホを助長しないユーザ体験にする工夫が必要 ○ 加速度センサでモーションを検出した時はUIを非表示にするとか いろいろ実装してみて気づいた並走機能のあれこれ 並走機能で提供するユーザ体験に関して
© ZOZO, Inc.40頭部方向 眼球方向 メリット ● 安定 ● 画面を 見ながら 調整できる メリット ● 直感的 いろいろ実装してみて気づいた並走機能のあれこれ 並走機能での視線の利用に関して
© ZOZO, Inc.41● 探索のための視線移動なのか、選択のための視線移動なのかの判別が 視線のみでは難しい(ミダスタッチ効果と呼ばれる) ● 判別をするためには、視線とタッチなど2段階でユーザの選択を 確定する方法がおすすめ いろいろ実装してみて気づいた並走機能のあれこれ 並走機能での視線の利用に関して
© ZOZO, Inc.42まとめ
© ZOZO, Inc.43このトークでは ● 並走機能とは何かを説明し、 ● 研究紹介を交えながら、並走機能が持つ可能性に触れ、 ● 並走機能を使ったアプリの作成を通して得られた知見を共有 しました! まとめ
© ZOZO, Inc.44おわり