体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

顔写真さえあれば個人を特定できる「顔認識技術」。でも・・・・・・

どんどん広がる顔認識システム

iOS10の「写真」アプリのように、今ではスマホでも「顔認識」が当たり前になった。たとえば、彼氏や彼女の顔を登録すれば、自動的に彼氏や彼女が写っている画像をコレクションしてくれたりする。

また、利用している人はもう気づいている人もいるかもしれないが、Facebookではすでに顔認識機能が活躍している。画像をアップするとその写真に写っている顔が四角形で囲まれ、名前を入力するスペースが出てくる。そこに名前を入力すると、それ以降、その人の顔が写っている画像のほとんどに、その名前が自動的にタグ付けされる。つまり、Facebookではユーザーがなにもしなくても、デフォルトで顔認識がなされているのだ。

画像に写っている顔から同一人物かどうかを判断するこの顔認識は、今やいろんなシーンで利用されている。たとえば、ユニバーサル・スタジオ・ジャパンでは年間パスで入場する人は顔認識システムで本人かどうか判断されるし、オフィスへの入退室の許可を顔認識で行っている企業も増えてきている。海外では、入国審査にこの顔認識を利用している国も多い。警察が防犯カメラの映像から顔認識で犯人を見つけている国もある。

そんなふうに、どんどん利用が進んでいる顔認識の技術。それにしても、コンピューターがたくさんの人の顔を見分けるなんて、一体、どんな仕組みになっているんだろう?

顔の特徴を数字に換える

コンピュータは、言うまでもなく「計算機」である。だから顔認識では、画像を数値に換えて計算し、答えを出しているわけだ。その方法にはさまざまなバリエーションがあるが、基本的なプロセスはおおよそ次のようなものだ。

まず、コンピュータは「顔検出」をする。犬だの猫だのクルマだの花だのが写っている写真のなかから、どれが人間の顔かを最初に見つけるのだ。このとき、コンピュータはまず、数値化しやすい「明暗」に注目する。下の中央の写真のように、人間の顔をモザイク状にしてみると、目のあたりは暗く、その周囲は明るい。あるいは、鼻筋は明るいがその両側は暗いというような、大ざっぱな特徴があることがわかる。下の右の写真のように、コンピュータは明暗の長方形を画像内で探していき、そのパターンから顔かどうかを判断するのだ。

そうして見つけたいくつかのパターンを、コンピュータはあらかじめ学習しておいたデータと比較する。ここで人間の顔のパターンのデータと一致する場所が写真にあれば、そこを顔として特定する。これが顔検出のプロセスだ(ちなみに、このとき人間ではなく犬の学習データと一致するようにプログラムしたら、コンピュータは犬を特定する)。

顔の場所がわかったら次は顔認識、つまり誰の顔かを判断するプロセスへと進む。顔認識では、まず、コンピュータは検出された顔の目や眉毛、鼻、口などの部分を見つけて、そこに印を付けていく。たとえば、唇のまん中と端っこといった具合。

実は、このプロセスを実地に試してみることができるサイトがある。「detectFace();」というサイトで、ここの「簡易サンプル」というページに画像をアップすると、顔認識処理をしてくれる。実際に処理してみたのが下の写真だ。赤い点で表示されているのが、特徴点と呼ばれるポイント。この特徴点のすべてに、たとえば「M4」だとか「EL2」といったポイントID、つまり名前がついている。この各特徴点の位置や特徴点間の距離などが、この人の特徴を数値で表す顔認識データとなるわけだ。

このデータを、たとえばA子さんという名前で登録をしておく。そして、ほかの画像データで「顔検出→顔認識」のプロセスを繰り返し、顔認識データがA子さんと同じものが見つかれば、それもA子さんの写真ということになる。言い換えれば、たくさんの画像データのなかから、A子さんの顔認識データの数値と同じもの(あるいは似ているもの)を検索して見つけるというわけだ。顔認識の仕組みを簡単に説明すると、以上のようになる。

1 2次のページ
TIME & SPACEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。