2017/09/07

どんどん広がる『顔認証システム』 その精度を高めた「技術の仕組み」とは?

ちょっと前まではスパイ映画のなかのものだった顔認証システム。今ではスマホに搭載され、スマホのカメラに顔を向けるだけであっという間にユーザー認証&ロック解除というのが、だんだん当たり前になりつつある。指紋認証のように指をセンサーにタッチしたり、虹彩認証のようにセンサーをじっと見つめる必要がないのはとても便利だ。

顔で同一人物かどうかを判断するこの顔認証は、スマホだけでなく、すでにいろんなシーンでも利用されている。たとえば、コンサートやテーマパークなどでは入場する人がチケットを買った本人かどうかを顔認証システムで確認したり、オフィスへの入退室の許可を顔認証で行っている企業も増えてきている。入国審査にこの顔認証を利用している国も多い。アメリカのシカゴ警察は450万人にものぼる犯罪者の顔画像をデーターベース化し、顔認証(顔認識)システムを使って犯人検挙に実際に役立てているそうだ。

顔認証技術を利用したアプリが花盛りで、SnapchatやSNOWなどでスタンプやお絵描きとユーザーの顔をマッチングさせているのも顔認証技術のおかげだ。最近では、メイクした顔からスッピンを予測するという、恐怖のメイク落としアプリ「MAKEAPP」が話題になったが、ここでも顔認証技術が用いられている。このように、顔認証技術はただの本人確認手段だけでなくエンターテイメントの分野でも私たちの生活に浸透していくだろう

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

顔の特徴を数字に換える

まず、コンピュータは「顔検出」をする。つまり、犬だの猫だのクルマだの花だのが写っている写真のなかから、どれが人間の顔かを最初に見つけるのだ。このとき、コンピュータはまず明暗に注目する。

下の中央の写真のように、人間の顔をモザイク状にしてみると、目のあたりは暗く、その周囲は明るい。あるいは、鼻筋は明るいがその両側は暗いというような、大ざっぱな特徴があることがわかる。

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

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

実は、このプロセスを実地に試してみることができるサイトがある。「detectFace();」というサイトで、ここの「簡易サンプル」というページに画像をアップすると、顔認識処理をしてくれる。実際に処理してみたのが下の写真だ。

赤い点で表示されているのが、特徴点と呼ばれるポイントで、この特徴点のすべてに、たとえば「M4」だとか「EL2」といったポイントID、つまり名前がついている。この各特徴点の位置や特徴点間の距離などが、この人の特徴を数値で表す顔認証データとなるわけだ。

このデータをたとえばA子さんという名前で登録をしておく。するとほかの画像データで「顔検出→顔認識」のプロセスを繰り返し、顔認証データがA子さんと同じものが見つかれば、それもA子さんの写真ということになる。

こうしてたくさんの画像データのなかから、A子さんの顔認証データの数値と同じもの(あるいは似ているもの)を検索して見つけるというわけだ。顔認証の仕組みを簡単に説明すると、以上のようになる。

今後は3D顔認証の時代へ

さて、上で説明した顔認証技術は、2D(2次元)顔認証と呼ばれる、人の顔を平面として捉えるもので、現在販売中のスマホに搭載されているのは、ほぼこの方式だ。一方で、今後、スマホへの搭載が期待されているのが、3D(3次元)顔認証で、これは人の顔を立体的に捉えるもので、認識の精度が飛躍的に高くなる

ちなみに各認証方式の比較はこちら。それぞれに適正やメリットがあることがわかる。

3D顔認証では赤外線の3Dセンサーを使って、顔の凹凸までもデータ化する。お化粧もヒゲの有無も関係ないし、暗い場所でもOK。また、写真などを用いたなりすましも不可能となる。平面である写真は顔としてそもそも認識しないからだ。

これから、セキュリティ面でも優れた3D顔認識がどんどん一般的になっていくのは間違いないだろう。

文:太田 穣