先日、冷蔵庫をフレンチドアタイプに買い換えました。フレンチドアといっても、なんのことはない、観音開きですよ。横文字にすればいいってモンじゃない、と声高に主張したいのですが。しかし自分の周囲を見渡せば、鍵盤にネズミ、そしてリンゴが描かれた帳面型個人電脳。もう横文字でいいです、ハイ。

さて、今回は「touche」 (eはアクサン付き) について。既報のとおり、OpenCVの技術を応用した実装系だが、一種のインプットデバイスにまで昇華させている点が素晴らしい。iSight内蔵のMacを使う読者諸兄にも試していただきたく、ここに取り上げる次第だ。

「touche」のココが素敵だ!

iMacやMacBook / Proに標準装備の「iSight」。視界に入るたびため息 (I, sigh) をつくかどうかはともかく、ビデオチャットしない身には不要感が強いデバイスであることは確か。

toucheには、Intelが開発に着手し後日オープンソース化したライブラリ「OpenCV」が利用されている。このOpenCVには、物体追跡やエッジの抽出といった画像分析機能にくわえ、ビデオ入出力用関数が揃っており、ビデオカメラで撮影した映像をリアルタイムに分析できる (当コラム第203回を参照)。こちらのデモ映像を見ると、巨大なスクリーンを使用しているが、iSightも対応デバイスに含まれているところがミソだ。

現状はともかく、toucheが目指すところの入力装置が成熟するとどうなるか。iTunesやFinderに採用されている表示効果「Cover Flow」を思い浮かべてほしい。指を左方向へクイと曲げるだけで、画像がザザーと左方向へ流れていく。指を止めれば、たちどころに流れはストップ。マウスもトラックパッドも必要なし。音声入力のような薄気味悪い光景 (所詮は独り言ですから) もない。用途によってはマルチタッチトラックパッドより便利かも、と思うのは筆者だけだろうか?

「touche」を使おう

「touche」のセットアップは多少難解。君はこれを思い通りに操れるか?

本稿執筆時点で公開されている「touche」のバージョンは、1.0b1。公開直後でバージョンが若いこともあり、突然終了するなど不具合は少なくないが、その機能を試すには十分。まずは、カバーフロー風デモ「TFCoverFlowDemo」を実行するまでの手順を紹介してみよう。

書庫ファイルを解凍後最初に行うのは、フレームワークのインストール。「ToucheFramework.framwork」を、/Library/Frameworksへコピーしよう。

続いては環境設定。付属の「Touche.app」を起動し、「Setup」→「Setup Assistant...」を選択してセットアップアシスタント (初回起動時には自動的に起動するはず) を開始する。ポイントは手順2の「Set up the screen」と手順5の「Configure the tracking pipeline」で、前者は分析に使う解像度を、後者はカメラの設定やキャリブレーションに使うポイント数などを設定する。この設定は難しく、筆者もいまだ手探りで検証を続けている段階だが、システム負荷に配慮 (解像度やFPSを高くしすぎない、デフォルトのままでいい?) して、かつキャリブレーションポイントを増やしすぎないこと (あまり精緻な分析能力を期待しない、1画面あたり25~30個前後が適当?) がコツのようだ。仕上げのキャリブレーションも忘れずに。

手順2の「Set up the screen」では、スクリーンと手の動きのバランスを設定する

手順5の「Configure the tracking pipeline」では、解像度などiSightの設定を行う

「Configure the tracking pipeline」の画面下部。6あたりがちょうどいいかも

Touche.appは画像入力&解析用のサーバとしての機能を持つため、セットアップ後も終了しないこと。そのままの状態で「Demo Apps」フォルダにあるアプリケーションを起動すれば、iSightを入力装置としたデモを体験できる。

もっともテストしやすいのは、やはり「TFCoverFlowDemo」。手を左右へ動かし、Cover Flowよろしくアルバムジャケットが捲られる様子を体感してほしい。思い通りに制御できないのは、設定の不備が主因かと思われるが、いずれノウハウが蓄積され扱いやすくなるものと期待したい。

「TFCoverFlowDemo」。いちばんテストしやすいデモだ

「TFCoreAnimationDemo」。正直なところ、筆者には制御できない

その他のデモについては、正直なところ制御不能。手の動きをトラッキングすると思われる「TFCoreGraphicsDemo」は、思いもかけない軌跡を描くし、画像を回転したり拡大 / 縮小したりできるはずの「TFCoreAnimationDemo」は、画像が拡大し続け最後には異常終了。やはり現段階では無理なのか……思わずため息、I, sigh。お後がよろしいようで。