10月5日(太平洋夏時間)より3日間、カリフォルニア州ロサンゼルスにてAdobe Systemsの主催によるユーザカンファレンス「Adobe MAX 2009」が開催されている。2日目となる6日には日本人開発者2名によるセッションが行われた。日本人スピーカーによるセッションの開催は米国で開催されるAdobe MAXでは初めてのこと。国籍を気にする時代ではないとはいえ、同じ日本人の活躍を見るのはやはりうれしいものである。

FLARToolKITの小山智彦氏(右)と、Spark projectの新藤愛大氏(左)

セッションは2部構成で行われた。前半は、「FLARToolKIT」の開発者であるSaqooshaこと小山智彦氏による同ツールの紹介。FLARToolKITはActionScript3を用いてAugmented Reality(AR)アプリケーションを作成するためのツールキットである。もともとC言語用のARライブラリとしてARToolKitというものがあり、そのJava版であるNyARToolKITをさらにAS3に移植したものがFLARToolKITだ。

FLARToolKITを使えば、Flash上で現実の映像と3Dアニメーションを容易に合成することができるようになる。たとえばセッションで紹介された下の左の画像は、NewYearカードに3Dのアニメーションを組み合わせた映像である。真ん中は、白い画用紙から3Dの田園風景が飛び出してくるという映像。右はUS Postal Serviceのオンラインツールで採用された事例であり、荷物をWebカメラで撮影して、それを送るのに適した箱のサイズを3D空間上でシミュレートできるというもの。このページで実際のサービスを使ってみることができる。

NewYearカードを3Dアニメーションに

画用紙から飛び出す3D田園風景

US Postal Serviceのオンラインツール

3D画像を挿入する場所は入力画像内に四角いマーカーで指定する。FLARToolKitを使って3D映像を作成する手順は次のようになる。

  1. Webカメラで現実の画像を取り込む
  2. 入力画像を二値化する
  3. 二値化した画像にラベル付けを行う
  4. ラベルの中から四角になっているものを探す
  5. その四角がマーカーであるかどうかを、パターンマッチングによって調べる
  6. マーカーの部分を3D画像に置き換えるための変換マトリクスを計算する
  7. 3Dオブジェクトを描画する

パターンマッチングでマーカーを探して3D画像を挿入する

小山氏によれば、もっとも重要になるのは二値化のステップであり、これが安定性を大きく左右するとのこと。そのためFLARToolKITでは二値化のためのしきい値を最適化するためのライブラリなども用意しているという。

FLARToolKITは手軽に使える優れたツールであり、Google Groups内のユーザグループ「FLARToolKIT-userz」も多くのユーザで賑わっている。