Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【ACM CHI】簡易マーカートラッキングの実装

More than 1 year has passed since last update.

ドコモの箱田です.
普段はFinTechの研究に従事していますが,実は細々とHuman Computer Interaction(HCI)研究も行っています.

この記事では,僕が興味を持っているスマホを使ったインタラクション研究について,簡易マーカートラッキングを例にとってご紹介します.

スマホインタラクション?

市販されているスマホにおける新たな操作手法を考えたり,スマホを使った〇〇をリッチにしたりする研究です.
最近は,スマホAR/VRにおける体験の質を向上させる研究をしています.

スマートフォンを使ったインタラクション研究には,生活を豊かにする大きな可能性があると個人的には思っています.
その理由は,スマホを誰もが携帯していること,汎用デバイスであること(Input/Outputが豊富),およびアップデートされ続けることにあります.

つまり,
誰もが持っているスマホだからこそ,少し工夫を行えば,高価なデバイスを購入しなくては味わえないリッチな体験を多くの方に提供できる可能性があります.
それがスマホインタラクション研究の魅力だと思っています.

研究例:簡易マーカートラッキング

スマホインタラクションの例として,ACM CHI2018のLBWで発表した,スマホVRにおける簡易マーカトラッキングを簡単にご紹介します.

モチベーション

偶然にも,僕の手元にJedi challengesという,スター・ウォーズの世界観を味わうことができるリッチなスマホARヘッドセットがありました.
ライトセーバーを模したコントローラとトラッキングビーコンも付属されており,ライトセーバーの位置や動きを精緻に検出できまして,これによってARアプリケーション上でジェダイになってライトセーバーで戦うことができるんですね.
これ自体非常にエキサイティングでしたが,僕はもっと手軽にジェダイになりたいと考えたわけです.

要件

そこで,下記の要件を満たす仕組みを作ろうと考えました.

  • スマホ+身の回りのもので実現できる(低コスト)
  • ライトセーバー(とみなすモノ)をトラッキングできる

アプローチ

上記の要件を満たすために,一般的な再帰性反射マーカを使ったモーションキャプチャを,スマホで簡易的に実装できないか考えてみました.

再帰性反射材というのは,よく自転車のペダルやランドセルに貼ってあるあの素材です.
照射光がそのまま返ってくる光学素子です.
これ自体は発光しませんが,例えば車のライトが当たるとそのままドライバーに強い光が反射しますので,衝突事故のような危険防止に大いに活用されています.
retro.png

この再帰性反射材は,いわゆるモーションキャプチャのマーカにも活用されています.
一般的なモーションキャプチャでは,目に見えない赤外線を再帰性反射マーカに当て,その反射を基にマーカの位置を認識します.
赤外線を使うことによって,マーカからの反射とそれ以外の背景とを分離をすることができるのですが,
一般的な多くのスマホには赤外線フラッシュライトおよびカメラは備えられていないので,従来の仕組みでは実現できません.

そこで,スマホが標準的に備えているカメラとフラッシュライトでも実現できるように,カメラのシャッタースピードを調節するという方法を考えました.
周りの背景よりも,スマホのフラッシュライトを反射している再帰性反射材のほうが強く光りますので,シャッタースピードを短くして,取り込む光量を抑えることによって,再帰性反射材からの反射光のみを撮影することができるのです.

例えば,(a)の場面に対して,それぞれシャッタースピードが(b)
20ms,(c)0.8ms,(d)0.13msのときの画像です(2値化処理してます).
(c)の0.8msくらいのシャッタースピードの時が,安定してマーカを検出できるようですね.

shuatter speed.png

Androidであれば,Camera2 APIからシャッタースピードを変化させることができます(後々機会があれば,別途記事にします).

ということで,下記の図のように,再帰性反射材を筒状のなにかに貼り付け,ユーザはスマホVRを被る.ただこれだけで,ジェダイになることができるようです.

proposal2.png

応用

マーカーの位置を認識してVRアプリケーションに活用するだけでも良いのですが,認識したマーカの個数や位置関係を工夫することによって,操作を定義することもできます.

例えば,マーカの個数を増やすギミックを用意すれば,ライトセーバーを変化させたり,銃を撃つようなアプリケーションを作ることができます.
スマホVRアプリケーションとして実装してみましたが,なかなか楽しめます(Unity上でCamera2 APIを使うところで少し苦労したので,追々記事に).
sword_gun.png

ACM CHIについて

最後に,この研究を発表させてもらったACM CHIという会議について簡単にご紹介を.

正式名称は「The ACM CHI Conference on Human Factors in Computing Systems」で,ACMが主催するHCIにおける最高峰の国際会議です.
UISTと並ぶトップカンファレンスであり,ヒューマンファクターに関連する分野すべてがそろうといっても過言ではないほど大きな会議です.
UISTと比較して評価寄りの論文が多い印象です(あくまで個人の感想です).
毎年数百のペーパーが発表されるので,すべてを把握することは非常に困難ですが,
CHI勉強会が毎年開催されていますので,こういったイベントを活用して網羅的に研究を眺めてみることをおすすめします.

おわりに

スマホインタラクションの一例,簡易マーカートラッキングを簡単にご紹介しました.
少し工夫すれば,リッチな体験をスマホで実現できたりしますので,
ぜひ皆さんもなにか作ってみてください.

nttdocomo-tech
NTTドコモ R&DのOrganaizationアカウントです。 自然言語処理,画像処理,ビッグデータ解析,機械学習,クラウド,IoT,無線通信など幅広いトピックを扱う予定です。
https://www.nttdocomo.co.jp/corporate/technology/rd/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away