はじめに
こんにちは!!
早速ですが、みなさんは日頃友人と会った時、何をもって個人を判別しますか?? 服装、声、色々あると思います。でも一番は顔ですよね!
実は、顔というのはその人のことを表す大きな情報源なんです。日常生活で考えると、友人の表情から何を考えているかを読み取ったり、あるいは、道ゆく人の性別や年齢を読み取ったりなど、顔というのは様々な情報を私たちに教えてくれます。
そして、これらの顔を認識する 、顔を識別 するなどといったことをコンピュータを使って行うことができます。これらを総称して顔認証と言います。
世の中にはこの顔認証を利用した様々なものがあります。例を挙げるなら、スマホカメラの顔のトラッキング機能やSNOWなどといった画像加工アプリです。また、あまり馴染みがないかもしれませんが、監視カメラを使用した犯罪者の特定や顔認証による入退室管理などにも使われています。
本シリーズでは、このような機能がどのような仕組みで動いているかなども理解してもらえれば幸いです。
本シリーズの概要
本シリーズでは、Webカメラを使った顔認証による個人の特定を最終目標に設定し、
といった具合で進めていきます。(なお、本シリーズではMacを使うことを想定しています)
対象者
顔認証って何かわからないけどすごそうだから作ってみたい、って人
顔認証の基本技術
顔認証システムの流れ
ここでは、顔認証システムの大まかな流れを簡単に説明します。詳しい説明については第3回以降(各機能を実装する回)で行います。
- 顔検出
顔認証をしていくにあたって、まず画像の中から顔の領域を探し出す必要があります。それを行うのが「顔検出」と呼ばれる機能です。
顔検出とは読んで字のごとく画像中から顔を検出します。
↑↑こんな感じに画像中の顔領域を探し出す作業が必要になります。
- 特徴点抽出
次に顔検出によって見つけ出された顔領域の特徴点をとっていきます。この特徴点というのは顔のパーツである目や鼻、口といった箇所になります。
↑↑こんな感じ。
これらのポイントを個人ごとに取得しデータとして集め、次のステップで顔照合を行う際に適宜呼び出し、個人を判別するというわけです。
- 顔照合
最後に抽出した特徴点の場所や距離からその顔の特徴を見つけ出し、個人を特定します。
本シリーズで作成するもの
本シリーズの概要で、「Webカメラを使った顔認証による個人の特定」と書きましたが、もう少し詳しく説明します。
まず手順です。
作ったシステムを起動する。
Webカメラを起動し、映像を常時受け取る。
映像の中に顔を検出した場合、蓄えられた様々な顔のデータと比較。
個人の特定に成功した場合、「こんにちわ、◯◯さん」と表示する。
個人の特定ができなかった場合、「初めまして、◯◯さん」と表示する。
といった流れです。
最後に
いかがだったでしょうか! まだ具体的な内容には入っていませんが、なんとなくのイメージを持ってもらえたなら幸いです。 次回は顔認証システムを動かすための環境構築を行なっていきます。