• 検索結果がありません。

第 3 章 大画面を最適視距離で操作できるヒューマンインタフェース

3.4 実装

前章で述べた設計を基に,フロアガイドの機能を提供するデジタルサイネージのプ ロトタイプを開発した.

プロトタイプの全体構成を図 3.7に示す.ハードウェアは,センサ,ディスプレイ,

PC の3つで構成される.プロトタイプに適用するジェスチャ操作は,前章で述べた ディスプレイに対する手の近づき等,3 次元で手を動かす動きになる.この動きを認 識するために,センサには 3次元距離画像カメラ[32]を用いた.ジェスチャ操作の認 識やGUIの表示処理はPCのソフトウェアで行う.

29 図 3.7 プロトタイプの全体構成

3.4.1 ハードウェア構成

図 3.8 にハードウェア構成を示す.GUI やジェスチャ認識を行うソフトウェアは PC上で動作しており,HDMIを経由してGUIをディスプレイにモニタ出力する.

以下,各ハードウェアの基本的な仕様を示す.

図 3.8 ハードウェア構成

PC

Hand Tracking

Interaction

•Gesture Recognition

•GUI Control

Display

(52inch LCD)

Sensor

(3D Range Camera)

30 (1)PC

PC はデジタルサイネージで多く利用される産業用ボックスコンピュータ を用い た.

・ CPU:Intel Core Duo プロセッサ 1.2GHz

・ メモリ:1GB

(2)ディスプレイ

デ ィ ス プ レ イ に は 三 菱 電 機 社 の デ ジ タ ル サ イ ネ ー ジ 用 の 液 晶 デ ィ ス プ レ イ

MDT52ISを用いた.本液晶ディスプレイの仕様を表 3.4に示す.PCからはHDMI

を介してディスプレイに解像度 1080p(1920×1080pixel)の映像を出力する.

表 3.4 ディスプレイの仕様

Brightness 700 cd/m2

Contrast 2000:1

Response Time 8 ms

(3) 3Dカメラ

ジェスチャの認識には3Dカメラを用いた.この理由を以下に示す.

・ 距離情報を利用することで,手先と,手先以外の腕,体,背景とを,精度良 く分離して認識できる.

・ カメラが自発行する光源で撮像するため,照明などの外光の影響が少ないロ バストな認識ができる.

3Dカメラは,オプテックス株式会社製の ZC 1070Uを用いた.本3Dカメラは,

筺体に設けられた LED 光源から赤外線を照射し,その赤外線が物体に反射してイ メージセンサで受光されるまでの飛行時間を計測するTOF(Time of Flight)方式 より,距離情報を含む画像データ(以下,距離画像)を取得する.本3Dカメラの 仕様を表 3.5に示す.

3Dカメラからは,フレーム毎に以下の情報を取得できる.3Dカメラで取得でき る距離画像および赤外画像を図 3.9に示す.

・ カメラを原点とした奥行方向の距離情報(世界座標系の Z座標値)

・ カメラを原点とした横方向(左右)の距離情報(世界座標系のX座標値)

・ カメラを原点とした縦方向(上下)の距離情報(世界座標系のY座標値)

・ 赤外線の反射強度

31 表 3.5 3Dカメラの仕様

FOV Angle 70°/55°/90°

Effective 160x120 pixel (176x132 )

Light Source Infrared LED (850nm)

Measuring Range 0.5~4.0 m

Accuracy X, Y direction:±5%,Z direction: ±2%

Usage Environment 10,000 lux or below

図 3.9 3Dカメラの距離画像と赤外画像

3.4.2 ソフトウェア構成

ソフトウェアは大きく以下の2つで構成される.

・ ハンドトラッキング

距離画像から撮像範囲内にある物体の 3次元形状を解析することにより,ユ ーザの手の位置を検出,追跡する.実装はC++を用いた.

・ インタラクティブアプリケーション

手の動きからジェスチャを認識し,認識した動きに応じて GUIの表示を変更 する.実装はAdobe Systems社のFlash(Action Script)を用いた.

上記2つのソフトウェア間の通信は,Local Connectionによるプロセス間通信を用 いた.Local Connectionは,Memory-Mapped File(ファイルマッピングオブジェク トによる共有メモリ)を排他制御しながらプロセス間通信を行うインタフェースであ り,通信プロトコルにはFlash Action Scriptの独自バイナリ形式となる AMF(Action script Message Format)を使用する.

32 3.4.3 ハンドトラッキング

図 3.10 に 3D カメラを用いたハンドトラッキングの処理の概要を示す.ハンドト ラッキングでは,大きく以下の3つの処理を行う.

(1)検出エリアの設定

操作する手を検出するエリアを設定する.このエリアは,3 次元の世界座標系にお いて立方体形状のエリアとなる.

(2)最近傍点の検出

検出エリア内で,3Dカメラから最近傍となる座標を検出する.ユーザが操作する 手を画面に差し出している場合,最近傍点は手先の位置となる.

(3)手のオブジェクト抽出

上記(2)で検出した最近傍点の周辺物体の大きさを見て,手として扱うオブジェク トを抽出する.抽出したオブジェクトが,手のサイズとして小さすぎる,あるいは 大きすぎる場合は,最近傍点をノイズとして扱い,検出済みの最近傍点周辺を除い た領域で新たな最近傍点を探索する.

(4)手の位置推定

上記(2)で得られた手のオブジェクトの中心座標を計算し,この座標を操作中の手 の位置として出力する.

図 3.10 ハンドトラッキングの処理の概要

33