$30 off During Our Annual Pro Sale. View Details »

目からビームでヴィランをやっつける 〜知られざるARKitの並走機能〜

nagain
September 12, 2022

目からビームでヴィランをやっつける 〜知られざるARKitの並走機能〜

2022/09/12 iOSDC Japan 2022 Day2

nagain

September 12, 2022
Tweet

Other Decks in Technology

Transcript

  1. 目からビームでヴィランをやっつける

    〜知られざるARKitの並走機能〜

    iOSDC Japan 2022 

    Day2 2022/09/12 13:55~ Track C

    株式会社ZOZO

    ながいん / @na9ain
    Copyright © ZOZO, Inc.
    1

    View Slide

  2. © ZOZO, Inc.
    株式会社ZOZO

    計測プラットフォーム開発本部 計測アプリ部 iOSブロック
    ながいん / @na9ain

    ● 2022年4月に新卒入社

    ● 仙台の大学院生(修士課程)でした

    ● 音楽・古着・ゲームが好き


    2

    View Slide

  3. © ZOZO, Inc.
    3

    View Slide

  4. © ZOZO, Inc.
    4
    目からビームでヴィランをやっつける


    View Slide

  5. © ZOZO, Inc.
    5
    目からビームでヴィランをやっつける

    ※3DモデルなどはAppleのサンプルコードのものを使用


    View Slide

  6. © ZOZO, Inc.
    目次

    ● 知られざる?ARKitの並走機能

    ○ ARKitとは

    ○ 並走機能とは


    ● 並走機能の可能性

    ○ 並走機能で何が嬉しい?

    ○ 並走機能を活用した*HCI分野の研究紹介


    ● 並走機能を使ってアプリを作ってみる

    ○ 目からビームでヴィランをやっつける

    ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする

    ○ いろいろ実装してみて気づいたこと

    ※HCI = ヒューマンコンピュータインタラクション
    6

    View Slide

  7. © ZOZO, Inc.
    ● 知られざる?ARKitの並走機能

    ○ ARKitとは

    ○ 並走機能とは


    ● 並走機能の可能性

    ○ 並走機能で何が嬉しい?

    ○ 並走機能を活用した*HCI分野の研究紹介


    ● 並走機能を使ってアプリを作ってみる

    ○ 目からビームでヴィランをやっつける

    ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする

    ○ いろいろ実装してみて気づいたこと

    ※HCI = ヒューマンコンピュータインタラクション
    7
    目次


    View Slide

  8. © 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とは


    View Slide

  9. © ZOZO, Inc.
    他のフレームワークと比ベて

    多くの機能をカバーしている

    9
    ARKitとは

    Visualizing and Interacting with a Reconstructed Scene


    Occluding Virtual Content with People


    M
    eshing

    Person
    Segm
    entation


    View Slide

  10. © ZOZO, Inc.
    10
    目的・用途にあった ARConfiguration を選び、

    ARSession.run(_:options:) でユーザーにAR体験を提供する

    ARKitの使い方


    View Slide

  11. © ZOZO, Inc.
    11
    並走機能とは

    数種類の ARConfiguration のうち、上記2つを同時に走らせる機能のことを

    ここでは並走機能と呼ぶこととします

    ※現状、ARKitで同時に走らせることが可能なのはこの2つの組み合わせのみ

    View Slide

  12. © ZOZO, Inc.
    ● フロントカメラとバックカメラを

    同時に使用して、フェイストラッキングと

    ワールドトラッキングを行う


    ● iOS 13.0+, ARKit 3 より利用可能に


    ● ARCoreにはない機能

    12
    並走機能とは


    View Slide

  13. © ZOZO, Inc.
    でも並走機能って

    何が嬉しいの?

    そ   れ


    View Slide

  14. © ZOZO, Inc.
    ● 知られざる?ARKitの並走機能

    ○ ARKitとは

    ○ 並走機能とは


    ● 並走機能の可能性

    ○ 並走機能で何が嬉しい? 並走機能の可能性

    ○ 並走機能を活用した*HCI分野の研究紹介


    ● 並走機能を使ってアプリを作ってみる

    ○ 目からビームでヴィランをやっつける

    ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする

    ○ いろいろ実装してみて気づいたこと

    ※HCI = ヒューマンコンピュータインタラクション
    14
    目次


    View Slide

  15. © ZOZO, Inc.
    15
    一言で言えば…




    フェイストラッキングでできることとワールドトラッキングでできることを
    同時に行え、それらを組み合わせることができる

    並走機能で何が嬉しい?


    View Slide

  16. © ZOZO, Inc.
    16
    フェイストラッキングで

    できること

    ワールドトラッキングで

    できること

    ● 顔の形状の取得

    ● 表情の取得

    ● 頭部方向の取得

    ● 眼球方向の取得

    ● …etc

    並走機能の可能性

    ● スマートフォンの

    6次元トラッキング

    ● 周囲環境の認識

    ● 画像・物体検出

    ● 3Dマップの取得・復元

    ● …etc

    ???


    View Slide

  17. © ZOZO, Inc.
    17
    実はこの並走機能、

    ヒューマンコンピュータインタラクション

    という研究分野で注目を集めました


    View Slide

  18. © ZOZO, Inc.
    18
    ヒトとコンピュータとの

    インタフェースについて

    着目した研究分野

    ヒューマンコンピュータインタラクションとは

    ※分野トップの学会のキーワードを可視化した図

    https://www.kashyaptodi.com/chi2015/keywords


    View Slide

  19. © ZOZO, Inc.
    19
    ヒューマンコンピュータインタラクションとは

    スマートフォンの画面を複数の指で広げたり狭めたりする

    マルチタッチもこの分野の研究から生まれた

    SmartSkin: an infrastructure for freehand manipulation on interactive surfaces

    [ACM CHI 2002. Jun Rekimoto.]


    View Slide

  20. © 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.]


    View Slide

  21. © ZOZO, Inc.
    21
    並走機能を活用した研究 ① 〜WorldGaze〜

    並走機能で音声アシスタントを

    強化する


    「このお店はいつ閉まる?」のような

    曖昧な文言を注目対象を推定することで

    音声アシスタントが認識可能に


    View Slide

  22. © ZOZO, Inc.
    22
    ● ユーザの頭部方向を
    注目方向として

    トラッキング

    ● バックカメラに映る

    物体の認識

    ユーザの注目対象を

    推定して

    音声アシスタントに

    フェイストラッキングで

    やってること

    ワールドトラッキングで

    やってること

    並走機能を活用した研究 ① 〜WorldGaze〜


    View Slide

  23. © ZOZO, Inc.
    23
    https://iss.acm.org/2022/

    取得済の部屋の3Dマップを復元することで

    バックカメラに映っていない物体への

    注目も認識することができる

    並走機能を活用した研究 ② 〜HandyGaze〜

    並走機能で部屋中のあらゆる物への

    注目を認識する


    View Slide

  24. © ZOZO, Inc.
    24
    スマホを手に持つだけで

    部屋中でユーザの

    注目対象を推定できる

    ● ユーザの頭部方向を

    トラッキング


    ● 頭部方向を視線方向に
    キャリブレーション

    ● 取得済の部屋の

    3Dマップを復元


    ● 3Dマップ上での

    スマートフォンの

    位置・回転を

    トラッキング

    フェイストラッキングで

    やってること

    ワールドトラッキングで

    やってること

    並走機能を活用した研究 ② 〜HandyGaze〜


    View Slide

  25. © ZOZO, Inc.
    25
    美術館のような関心対象の多い屋内空間で

    視線に基づく自然な情報提示などの応用ができる

    並走機能を活用した研究 ② 〜HandyGaze〜


    View Slide

  26. © ZOZO, Inc.
    ● 知られざる?ARKitの並走機能

    ○ ARKitとは

    ○ 並走機能とは


    ● 並走機能の可能性

    ○ 並走機能で何が嬉しい?

    ○ 並走機能を活用した*HCI分野の研究紹介


    ● 並走機能を使ってアプリを作ってみる

    ○ 目からビームでヴィランをやっつける

    ○ 視線を向けるだけで電気を点けたりコーヒーを淹れたりする

    ○ いろいろ実装してみて気づいた並走機能のあれこれ

    ※HCI = ヒューマンコンピュータインタラクション
    26
    目次


    View Slide

  27. © ZOZO, Inc.
    27
    バックカメラ(ワールド)を画面に映す場合
 フロントカメラ(フェイス)を画面に映す場合

    並走機能の使い方

    たった数行で並走機能を走らせることができます。

    ※ARKitではフロントカメラとバックカメラの映像を同時に映すことは現状できない

    https://developer.apple.com/forums/thread/677731



    View Slide

  28. © ZOZO, Inc.
    28
    並走機能の使い方

    並走機能により

    更新されるAR情報は
    ARSessionDelegateの

    メソッドで処理できる


    View Slide

  29. © ZOZO, Inc.
    実際に作ってみた。


    View Slide

  30. © ZOZO, Inc.
    30
    目からビームでヴィランをやっつける

    ※3DモデルなどはAppleのサンプルコードのものを使用


    View Slide

  31. © ZOZO, Inc.
    31
    目からビームでヴィランをやっつける

    ● ユーザの頭部方向に

    ビームを発する


    ● ユーザの表情に応じて

    ビームの種類を

    切り替える

    ● 検出した平面に

    ヴィランを

    出現させる

    フェイストラッキングで

    やってること

    ワールドトラッキングで

    やってること

    目からビームで

    ヴィランを

    やっつける

    View Slide

  32. © ZOZO, Inc.
    32
    目からビームでヴィランをやっつける

    ユーザの口の開閉状態を更新する


    View Slide

  33. © ZOZO, Inc.
    33
    目からビームでヴィランをやっつける

    毎フレームでビームをキャストし、

    衝突しているヴィランがあれば

    口の開閉に応じて

    浮遊させる or やっつける


    View Slide

  34. © ZOZO, Inc.
    34
    視線を向けるだけで電気を点けたりコーヒーを淹れたりする

    ● コーヒーを淹れる


    ● ライトに視線を向けてスマホ画面を

    タップすると ON/OFF


    ● PCに視線を向けている間は

    スマホ画面がトラックパッドに


    View Slide

  35. © ZOZO, Inc.
    35
    ● ユーザの眼球方向を

    視線として

    トラッキング

    ● IoTデバイスの位置が

    設定された部屋の

    3Dマップを復元


    ● 3Dマップ上での

    スマートフォンの

    位置をトラッキング

    フェイストラッキングで

    やってること

    ワールドトラッキングで

    やってること

    視線を向けるだけで

    電気を点ける

    視線を向けるだけで電気を点けたりコーヒーを淹れたりする


    View Slide

  36. © ZOZO, Inc.
    36
    視線を向けるだけで電気を点けたりコーヒーを淹れたりする

    ARFaceAnchorが更新されるたびに

    設定されたデバイスと視線の衝突を

    チェック


    View Slide

  37. © ZOZO, Inc.
    37
    いろいろ実装してみて気づいた

    並走機能のあれこれ


    View Slide

  38. © ZOZO, Inc.
    38
    いろいろ実装してみて気づいた並走機能のあれこれ

    通常、A12チップ以降のTrueDepthカメラを搭載したデバイスで使用できるが

    例外的にiPad Pro 2020(第4世代)では並走機能が使用できない


    https://developer.apple.com/forums/thread/131006

     → A12Zチップ、LiDAR搭載の端末におけるハードウェア上の問題であるため直らない

    並走機能が使用できるデバイスに関して


    View Slide

  39. © ZOZO, Inc.
    39

    ● 画面をタップするというARと現実との境界を意識するアクションを省くことができ、

    視線や表情などを用いることでARの臨場感が高まる気がする


    ● 歩きスマホを助長しないユーザ体験にする工夫が必要

    ○ 加速度センサでモーションを検出した時はUIを非表示にするとか

    いろいろ実装してみて気づいた並走機能のあれこれ

    並走機能で提供するユーザ体験に関して


    View Slide

  40. © ZOZO, Inc.
    40
    頭部方向
 眼球方向

    メリット

    ● 安定

    ● 画面を

    見ながら

    調整できる

    メリット

    ● 直感的

    いろいろ実装してみて気づいた並走機能のあれこれ

    並走機能での視線の利用に関して


    View Slide

  41. © ZOZO, Inc.
    41
    ● 探索のための視線移動なのか、選択のための視線移動なのかの判別が

    視線のみでは難しい(ミダスタッチ効果と呼ばれる)


    ● 判別をするためには、視線とタッチなど2段階でユーザの選択を

    確定する方法がおすすめ

    いろいろ実装してみて気づいた並走機能のあれこれ

    並走機能での視線の利用に関して


    View Slide

  42. © ZOZO, Inc.
    42
    まとめ


    View Slide

  43. © ZOZO, Inc.
    43
    このトークでは


    ● 並走機能とは何かを説明し、


    ● 研究紹介を交えながら、並走機能が持つ可能性に触れ、


    ● 並走機能を使ったアプリの作成を通して得られた知見を共有


    しました!

    まとめ


    View Slide

  44. © ZOZO, Inc.
    44
    おわり


    View Slide

  45. View Slide