Google Glass型端末で顔認識を使わず個人を特定する「外見認識」技術 InSight 、米大学研究者が発表
Google メガネこと Glass の有望な使い道のひとつに、内蔵のカメラで主観ビデオや写真を撮って記録・共有することに加えて、画像認識や画像検索でいま見ているものについて追加の情報を表示することがあります。
すでにスマートフォンのカメラで実現している「お店の看板から営業時間やレビューを調べる」や「手にとった製品の最安値を探す」等のほか、Google Glass 型端末では人ごみから知り合いを見つけて頭上に名前を表示したり、あるいは他人でも本人が周囲に伝えたい情報 (例:タクシー相乗り希望、券ないか券、ひと狩り行こうぜ) をポップアップ表示できるかもしれません。
米デューク大学の研究者チームが発表した技術 InSight は、Google Glass のようなウェアラブル端末のカメラ映像から特定の個人を認識する方法。個人の認識にはこれまで顔認識が広く使われてきましたが、InSight では服装など外見全体から「ビジュアル指紋」を抽出して照合することで、顔を正面から撮影しなくても、背中や部分的な映像からも人を特定できることが特徴です。
論文を発表したのは、Duke University の He Wang, Xuan Bao, Romit Roy Choudhury, および University of South Carolina の Srihari Nelakuditi 氏。 InSight のアルゴリズムから、Google Glass ではなく市販のサングラス型カメラ PivotHead とAndroidスマートフォンで実装して試してみましたまでの詳細はリンク先で読めます。要点を乱暴にまとめると:
・顔は正面から撮れるとは限らなかったりそもそも写らないかもしれないので、服装などからビジュアル指紋を生成して照合に使う。
・ビジュアル指紋は、携帯のインカメラカメラなどで撮影した上半身や全身の写真から、色の Spatiogram や、パターン(模様)のウェーブレットを生成する。( Spatiogram は色の分布を示すヒストグラムを拡張して、2次元上の色の分布も含めたグラフ。服の色だけでなく上下の組み合わせ、アクセサリなども含まれる。)。
顔認識以上に面倒そうな最初の「登録」(撮影と指紋生成)については、特に居ずまいを正して記念撮影する必要はなく、たとえばスマートフォンを普段どおりに使うなかでユーザーが画面をタッチしたとき (インカメラとユーザーの上半身が向き合っている可能性が高い)、PCを使用しているときのウェブカメラなどで複数の写真を撮影し、自動的に有効なものを選んで「自己(自撮り)ビジュアル指紋」を生成できるとされています。(システムとして、そもそも見つけてほしい本人が望んで有効にすることが建前です。)
知り合いやほかのウェアラブル端末利用者に特定個人の「指紋」を伝えるためには、Bluetoothで周囲にのみ発信する方法、クラウドにリポジトリを置いて照合する方法が挙げられています。実際に採用されたのはクラウドを使うほう(の、オフラインシミュレーション)。クラウドを使う利点は、識別されたい本人だけでなく、ほかのユーザーが撮影した映像を使ってビジュアル指紋の精度を上げる「再帰的精度向上」が使えること。
たとえば見つけて欲しい人Aの自己ビジュアル指紋が近距離の上半身正面だけを元にしていた場合でも、ほかのユーザーBのウェアラブル端末で動く InSight が A を認識したら、あとはBのカメラが捉えたAの全身や後ろ姿なども含めてビジュアル指紋の精度を向上させクラウド上のリポジトリを更新することで、それ以降はさらに別のユーザーC が Aを部分的にだけ捉えてもちゃんとAだと認識できる、といった仕組みです。
また顔ほどユニークではない服装などをベースにした仕組み上、ビジュアル指紋の精度がある程度高くてもどうしても認識できない場合や、複数の候補があらわれる曖昧さは排除できません。これについては、さらに認識精度を上げるためスマートフォンやウェアラブル端末のモーションセンサと複数フレームからの動き認識を使うアイデアにも触れています。
すでにスマートフォンのカメラで実現している「お店の看板から営業時間やレビューを調べる」や「手にとった製品の最安値を探す」等のほか、Google Glass 型端末では人ごみから知り合いを見つけて頭上に名前を表示したり、あるいは他人でも本人が周囲に伝えたい情報 (例:タクシー相乗り希望、券ないか券、ひと狩り行こうぜ) をポップアップ表示できるかもしれません。
論文を発表したのは、Duke University の He Wang, Xuan Bao, Romit Roy Choudhury, および University of South Carolina の Srihari Nelakuditi 氏。 InSight のアルゴリズムから、Google Glass ではなく市販のサングラス型カメラ PivotHead とAndroidスマートフォンで実装して試してみましたまでの詳細はリンク先で読めます。要点を乱暴にまとめると:
・顔は正面から撮れるとは限らなかったりそもそも写らないかもしれないので、服装などからビジュアル指紋を生成して照合に使う。
・ビジュアル指紋は、携帯のインカメラカメラなどで撮影した上半身や全身の写真から、色の Spatiogram や、パターン(模様)のウェーブレットを生成する。( Spatiogram は色の分布を示すヒストグラムを拡張して、2次元上の色の分布も含めたグラフ。服の色だけでなく上下の組み合わせ、アクセサリなども含まれる。)。
顔認識以上に面倒そうな最初の「登録」(撮影と指紋生成)については、特に居ずまいを正して記念撮影する必要はなく、たとえばスマートフォンを普段どおりに使うなかでユーザーが画面をタッチしたとき (インカメラとユーザーの上半身が向き合っている可能性が高い)、PCを使用しているときのウェブカメラなどで複数の写真を撮影し、自動的に有効なものを選んで「自己(自撮り)ビジュアル指紋」を生成できるとされています。(システムとして、そもそも見つけてほしい本人が望んで有効にすることが建前です。)
知り合いやほかのウェアラブル端末利用者に特定個人の「指紋」を伝えるためには、Bluetoothで周囲にのみ発信する方法、クラウドにリポジトリを置いて照合する方法が挙げられています。実際に採用されたのはクラウドを使うほう(の、オフラインシミュレーション)。クラウドを使う利点は、識別されたい本人だけでなく、ほかのユーザーが撮影した映像を使ってビジュアル指紋の精度を上げる「再帰的精度向上」が使えること。
たとえば見つけて欲しい人Aの自己ビジュアル指紋が近距離の上半身正面だけを元にしていた場合でも、ほかのユーザーBのウェアラブル端末で動く InSight が A を認識したら、あとはBのカメラが捉えたAの全身や後ろ姿なども含めてビジュアル指紋の精度を向上させクラウド上のリポジトリを更新することで、それ以降はさらに別のユーザーC が Aを部分的にだけ捉えてもちゃんとAだと認識できる、といった仕組みです。
また顔ほどユニークではない服装などをベースにした仕組み上、ビジュアル指紋の精度がある程度高くてもどうしても認識できない場合や、複数の候補があらわれる曖昧さは排除できません。これについては、さらに認識精度を上げるためスマートフォンやウェアラブル端末のモーションセンサと複数フレームからの動き認識を使うアイデアにも触れています。