Share
顔認識技術を活用した「顔認証システム」は、多くの企業で開発・製品化されています。顔認識技術を用いた製品は広く導入され、大きな成果を上げています。
弊社Rabilooも、顔認識技術を応用したFace Detectionというプロダクトをご提供しております。
顔認識を可能にする最初のステップは「顔検出」というプロセスになります。
顔検出は、セキュリティシステムや写真アプリ、SNSなど、様々な分野で利用されています。
本記事では、開発で得られた知見をもとに弊社が採用している顔検出モデル、顔検出アルゴリズムついて専門的に解説したいと思います。
現在、顔認識を実行するには多くの方法がありますが、基本的には3つのステップを踏んでいきます。
関連記事:顔認識と顔認証の違いは?
顔検出アルゴリズムの出力
顔検出とは、画像や映像中に写っている顔の位置や範囲を自動的に検出する技術です。顔検出のためには、顔の色や形状、テクスチャなどを解析し、それらを元に顔の存在を検知します。一般的には、カメラやビデオカメラで撮影された画像や映像から、人間の目で見た場合に明確に認識できる顔部分を検出することを指します。
ほとんどの顔検出アルゴリズムの入力は画像です。
アルゴリズムの出力は、4 つのポイント (または 2 つのポイントと長さと幅) と顔がその画像領域にある確率で表すことができる長方形の顔を含む画像領域です。
顔検出のアプローチについて紹介します。現在では以下の2種類の物体検出アルゴリズムを活用しています。
RCNN、Fast-RCNN、Faster-RCNNなどは代表的な2ステージ検出アルゴリズムです。いわゆる2ステージ(2段階)は、モデルが画像からオブジェクトを含む可能性のある領域を抽出する処理方法によるものです。
たとえば、Faster-RCNN では、ステージ 1 で、画像に RPN (Region Proposal Network) と呼ばれるサブネットワークが与えられ、アンカーに基づいてオブジェクトを含む可能性が高い画像上の領域を抽出します。
RPN から特徴領域を取得した後、Faster-RCNN モデルは引き続きオブジェクトを分類し、モデルの最後で 2 つのブランチに分割して位置を決定します (オブジェクト分類 & バウンディング ボックス回帰)。
もう 1 つのアプローチは、SSD、Yolo、RetinaNet などの典型的なモデルを使用した 1ステージのオブジェクト検出です。モデルの設計において、Faster-RCNN の RPN のような特徴領域 (オブジェクトを含むことができる領域) の抽出がまったくないため、1ステージ(1段階)と呼ばれます。
1ステージの OD モデルは、オブジェクトのローカリゼーションを回帰問題 (x、y、w、h などの 4 つのオフセット座標を使用) として扱い、それを行うためのアンカーと呼ばれる事前定義ボックスにも依存します。
このタイプのモデルは、多くの場合、予測速度が高速です。ただし、モデルの「精度」は、多くの場合、2ステージのオブジェクト検出よりも劣ります。
もちろん、一部の 1ステージモデルは、FPN (Feature Pyramid Network) と Focal Loss に従ったネットワーク設計を備えた Retina-Net のような 2ステージモデルよりも少し優れていることが証明されています。
顔検出に使うアプローチのレビューを行います。
IoU は、予測領域と実際のオブジェクト領域の交差と発散の比率です。
そのうち
測定されたIoUの結果は通常、(0,1)の範囲内にあり、各検出には独自の値があります。予測が間違っているか正しいかを判断するには、特定のしきい値に依存する必要があります。IoUがしきい値以上であれば、検索対象のオブジェクトを含むバウンディングボックスを決定し、その逆も同様です。
物体検出におけるTrue/False Positive/Negative
True Positive: モデルがオブジェクト(Positive)だと予測し、実際に物体(True)である
False Positive: モデルがオブジェクトを予測しますが(Positive)、実際にはバウンディングボックスに特定するオブジェクトが含まれていない
False Negative: バウンディングボックスはオブジェクトを含まないように定義されていますが、実際には false です。
精度は、モデルの予測の総数に対する正しい予測の割合を表すパラメーターであり、再現率は、グラウンド トゥルースの総数に対する正しい予測の比率を表すパラメーターです。したがって、顔検出問題では、精度と再現率は次のように表されます。
mAP は単純に n クラスの平均 AP スコアであり、次の式で定義されます。
そのうち
現在、モデル学習のための非常に大きなサイズのデータセットが公開され、テストデータセットも数多く存在しています。これらは顔検出モデルの有効性を評価および比較する尺度として広く利用されています。
顔検出は顔認識にとって非常に重要な作業です。そのため、顔検出アルゴリズムは常に優先的に継続的な開発と最適化が行われており、現在では以下のような成果が得られています。
Multi-task Cascaded Convolutional Network (MTCNN)
https://github.com/ipazc/mtcnn
RetinaFace
https://github.com/deepinsight/insightface
Dual Shot Face Detector
https://github.com/Tencent/FaceDetection-DSFD
FaceBoxes
https://github.com/sfzhang15/FaceBoxes
現在、顔認証勤怠管理システムに採用されているほとんどの顔検出モデルは、非常に高い精度を達成していると言えます。
弊社Rabilooが特に選択して使用するモデルは、時間の面で優れたパフォーマンスを達成しており、薄型デバイス、特に組み込み回路デバイスで非常に低コストで最適に実行できます。そのため、顔認識、年齢、性別推定、感情分析など、他のタスクにより多くのリソースを費やすことができます。
さらに、開発チームはノイズのフィルタリング技術を使用して、角度がついた顔やマスクを着用した顔も検出できるようモデルの精度を大幅に向上させてきました。
顔認証による勤怠管理システムの導入に関しては下記の記事をご覧ください。
▶︎顔認証による勤怠管理、タイムカード打刻のメリット・デメリットとは
Rabilooが自社開発した顔認識ソリューション
設置済みのセキュリティカメラと連携して来館者のカウント、年齢や性別が識別できる
弊社Rabiloo(ラビロー)はハノイ工科大学と協力して、顔認識・検出技術を研究開発し、勤怠管理システムに組み込むことに成功しました。この勤怠管理システムは安定して動作し、良好なパフォーマンスを見せています。さらに顔認識技術をランドマークでの利用や偽装防止技術への応用など、企業ニーズに応えるための多くの新機能、新技術を統合しています。
今後も、認識システムの改良、3D顔認識モデルの研究、光・モーションセンサーの統合など、より完成度の高いデバイスを目指します。
顔認証開発に強い技術パートナーをお探しなら、ぜひRabilooをご検討ください。貴社のビジネスに最適なテクノロジーソリューションを提供いたします。
ご相談・お見積りは無料です。
お気軽にお問い合わせください。
Share