画像に映る人の顔が誰かを認識したい

概要

画像に映る人の顔が誰かを認識する時に使用する技術に関してまとめます。いわゆる顔認識、顔の検出自体はされていることが前提。近年はDeepLearning等を用いて高精度に人の顔を判別することができ、SNSなどにおいて積極的に導入されている。
Facebookシェア Twitterツイート LINEで送る このエントリーをはてなブックマークに追加
この章を学ぶ前に必要な知識
0
条件
  • 人の顔が写っている画像
  • 多くの場合は人の顔だけが写っている画像
効果
  • 人の顔が誰であるかを認識できる

解 説

顔認識は顔の画像が与えられた時に個人を識別する認識技術を指す。そのため多くの場合は人の顔の位置で切りだせているものとして技術を当てはめる。 DeepLearningの進展によってこれまでにないほどの顔認識ができるようになっており(人間同等)、昔の技術にこだわることがなければ最新のDeepNeuralNetworkを使用した技術を使えばよい。ただし、それらの認識精度を達成するには大量の人の顔データが必要になる。
顔認識導入

1.旧画像処理による顔認識

まず、論文の形でDeepLearning以外の顔認識等にまとめてあるリンクがあるので、紹介しておく。 以下ではこれと内容が一部かぶるものも紹介しています。
主成分分析によって各顔の固有ベクトルを求めそれを人間の顔の特徴量ベクトルとして人の顔の識別する古典的な技術。非常に高速だが、角度照明に弱いのが難点
FisherFacesではPCA(主成分分析)をベースにしたEigenfacesもある
FisherFaces
顔全体の特徴量ではなく、局所的な特徴量に注目した技術もあります。 LBP特徴量を顔の様々な所で計算し、それをヒストグラムにしたものです。 この形になるとそれをベクトルとして他との距離を求めることができます。
Local Binary Patterns Histograms
グラフマッチング法による顔認識 格子状の特徴点を求め格子の歪み具合を特徴量として顔の特徴を表現する方法。
グラフマッチング法

2.DeepLearningによる顔認識

顔認識において高い精度を出していると言われるのはFacebookのDeepFaceという技術。DeepNeuralNetworkを使用した技術になっており、顔写真から3次元位置を復元し、顔の特徴量を算出。もっとも近い特徴量を持つ人を認識する。
DeepFaceの技術概要
この章を学んで新たに学べる
Comments

Reasons
>>隠す