このページの本文へ

KDDI「手のひらAR」はARの限界を突破するか?

2011年05月07日 12時00分更新

文● 近江 忠

  • この記事をはてなブックマークに追加
  • 本文印刷

世界初「外接多角形方式」とは


―― 開発は一年前からですよね。認識手法としてはどんな方法を?

加藤 手のひらのモデルデータを用意しておいて、現実のカメラに映った手のひらがどこにあるかを比較して、3Dモデルを表示するとき、あたかも手のひらに乗っているように姿勢を変えてやる必要があるんです。手のひらの姿勢を計算するために「真正面から見たら5本指はここにあるはずだけど、絵の中だとここにある」というところから計算して出しています。


―― 手のひらをカメラで写すときの「角度」があるわけじゃないですか。カメラの前で90度にしたときと斜めにしたときだと、認識させるにも違うと思うんですが。

加藤 いちばん難しいですね。極端な話、手のひらをこう(手を真横にして、映像では5本指全てが重なって見える)されたら、なんにも認識できないわけです。今は手を傾けるとキャラクターが落っこちてしまうという演出があるんですけど、「これ以上は傾けてはいけない」って警告でもあるんです。

カメラで撮影したとき、手のひらが傾きすぎて5本指が重なってしまうと認識できなくなる。写真のようになるべく平たい角度にするのが◎


―― その場合、手のひらのどこを検出しているんですか?

加藤 あれは「外接多角形方式」という原理で指先を検出しているんですね。カメラをかざして見ているとき、「3Dのキャラクターを、せっかくだからもっと近くで見たいなー」と思って手に近づけてしまうと、指先が見切れてしまい、認識ができなくなってしまうので、残念ということになります。


―― 広角の接眼レンズがあればそういうこともできます?

加藤 あると、すごくいいです! もっと可能性が広がると思います。実際に広角レンズアダプターは売ってるので、それを使ってテストしたこともありました。


―― 手を認識する原理としては肌色認識をしてるんですか?

加藤 はい。説明するとですね、図の右側半分がここで実装しているものの説明なんですが、肌色をまず見つけて、手がどこにあるか大体のアタリをつけるんですね。その後に、肌色の全体にあたるような多角形をくるっと囲ってしまい、頂点のうちどれかが人差し指で、どれかが中指で、という形に検出しています。囲まれた中の肌色の形や背景の形を基準にして検出しているわけです。特徴としては、やっていることが単純なので動作が軽いんですよ。ここまで単純化しないとケータイで動かすのは難しい。でも精度も十分ある。速さと精度を両立させています。

左が従来法、右が今回の方法。方式は、「肌色を検出する」→「手がどこにあるかアタリをつける」→「肌色の全体を多角形で囲む」→「各頂点を指先として認識する」という手順


―― 図の左側は従来のものですか?

加藤 2007年に提案された方法です。指先を探す「楕円フィッティング」という方法で、画像の中に丸っこい部分があるかどうか、指先を1つ1つ探していくものです。精度はとても高いんですが、非常に処理が重いんです。それをケータイで動かすのはなかなか難しいんです。指先がちゃんと丸く見えるくらい高解像度のデータが扱えなければダメで、巨大な解像度の画像を処理するのに時間がかかってしまう。


―― それが今回の「外接多角形方式」だと解決できると。

加藤 そうですね。手のひら全体をくるんと囲むだけなので、指先がとんがってても、くるんと丸くなっていても、どちらでもOKなんです。


―― 手のひらの写真でも?

加藤 はい、出ます。マネキンの手でもできますよ。


―― いろんな「肌色」がありますが、どんなものにも対応できます?

加藤 そこは最初の検出の部分ですね。日本人でも人によって肌色の濃淡は変わってくるし、同じ人でも血行の良し悪しとか、光源によってまったく違ってしまう。個人差や光源の影響を減らすため、あらかじめ学習させた肌色もありますが、アプリを起動したとき、その場で学習し直すというロジックもあるんです。


―― ホワイトバランスを考えているということですか?

加藤 スマートフォン自体もホワイトバランスを調整しているので見かけは変わってくるんですけど。なのでユーザーがアプリを起動したとき、うまくいかなかったら「手をかざしてください」という表示を出して、ここに手があるんだというセッティング(キャリブレーション)をして、その人にあった色の設定ができる。日本人じゃなくてもそれで問題ありません。


―― 例えば、ありえないとは思いますが、LEDと蛍光灯と白熱球のミックス光が手に当たったりしたら検出は厳しくなるわけですよね(笑)。

加藤 うーん、難しいですね。解決するアルゴリズムはあるんですが、ここで解決するのはまだ難しいです。今はまだ対応できてませんが、ゆくゆくは対応させたいと思っています。そのときは色ではなく別のアプローチになると思います。今回は「軽くする」というのがコンセプトだったので。まだ方式そのものを決定したときは、auからスマートフォンが出るという話が出る前だったので、BREW(フィーチャーフォン向けアプリ)で実装するつもりで、アプローチもそれなりだったんです。CPUが1GHzで、とかそういう話もなかったので、そう難しいアルゴリズムは使えないという状態だったんですよ。今だったらまったく違うアプローチだったと思います。


―― ちなみに従来からある手のひら認識の方式と比べるとどれくらい違うんですか?

加藤 PC上での比較で言うと、従来と比較して約7倍の速さです。サクサク動くと。正確さも7倍ですね。正確さを評価すること自体も非常に難しいんですけど……。いま再生しているのが従来法のものです。ちゃんと認識すると中心にティーポット、指先に丸い円が出るようにしています。これをよく見ると、指先と映像の丸い円が微妙にズレていたりする。同じ座標を今回の方式に入れてみると、このようにズレが少なくなる。そのズレ幅が何画素分かを計算していくと7倍という数値になるんです。

(次ページに続く)

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン