高速&高精度な「Laboro.AI顔検出エンジン」とは!?

本日のtopicsは、株式会社Laboro.AIが開発した「顔検出エンジン」をご紹介します。

AI・人工知能のオーダーメイド開発「カスタムAI」の提供および導入コンサルティングを企業向けに展開する株式会社Laboro.AIは、この度、精度と処理速度を高めた顔検出エンジンを開発しましたことを発表しました。
この研究開発は、Laboro.AI社CTO藤原弘将とエンジニアQuangによるもので、これまでと比較しても極めて高い精度と高速性を持った顔検出エンジンの開発に成功しました。
「Laboro.AI顔検出エンジン」は、処理速度を重視したSingle-Stageというアルゴリズムをベースに精度を高める改善を施したものであり、研究論文の投稿時点で世界第2位の精度を実現しています。

先般5月16日、フランスで開催された顔・ジェスチャー検出の国際会議、IEEEが主催するFG2019 でその内容を報告しました。

顔検出AIで一般的に用いられるアルゴリズムのメリット・デメリット

スマートフォンの顔認証システムや、デジタルサイネージでの顔検出、小売店での動向調査など、AIが人の顔を検出する「顔検出AI」は、ディープラーニングの技術進化により、多くのシーンで活用されるようになってきました。
現在の、顔検出は、ディープラーニングのアルゴリズムのひとつCNN(畳み込みニューラルネットワーク)を用いたものが主流となっています。
これらのアルゴリズムは、Two-Stage法とSingle-Stage法の2つに大別されます。

Two-Stage法

2段階の処理で構成されたアルゴリズムで、①入力された画像の中からチェックすべき領域の候補をピックアップするネットワークと、②ピックアップされた候補の領域をスクリーニングして顔だと特定するネットワークから成っています。
複数のネットワークが働くことから検出する精度の高さが特徴である一方、その分、検出時間がかかることがデメリットとされています。

Single-stage法

一つのネットワーク内で上記両方の処理を行おうとするもので、検出精度ではTwo-Stage法に劣るものの、処理スピードが早いというメリットがあります。
中でも、顔検出の分野で代表的なアルゴリズムとして知られる、YOLO(You Look Only Once)やSSD(Single Shot Multibox Detector)が注目されています。

Laboro.AI顔検出エンジンの特徴

Laboro.AI顔検出エンジンは、処理速度を強みとするSingle-Stage法を用い、その高速性を維持したまま高精度な顔検出を実現したものです。
たとえば、顔検出エンジンの実際の活用シーンとして、自動運転車への搭載を想定した場合や、街頭の防犯カメラに搭載する場合などにおいての、精度の高さと速さが安全面の上でキーとなります。

検出精度が上がりにくい原因となっていた2つの改善ポイント

①画像から顔を検出する場合、細かい画素範囲から広い画素範囲へとその検出範囲を変えて処理が実行されます。(図1)
この際、とくに小さな顔を検出する段階では顔単体で判別することが難しく、顔周辺の情報(たとえば、体や背景など)も参考にする必要があり、結果として精度に影響をもたらしていました。(図2)

sub1
図1 一般的なSingle-Stage法による顔検出の流れ(Single-Stage法では細かいレイヤーから粗いレイヤーへと段階的に検出を行う)

sub2
図2 顔検出のイメージ(小さい顔を検出するには周辺情報が必要になる)

そこで、Laboro.AI顔検出エンジンでは、1レイヤー上の広い範囲の情報を統合することにより、周辺情報を把握しやすくし、小さい顔も検出しやすい構造を取ることで精度の向上を実現しました。(図3)

sub3
図3 Laboro.AI顔検出エンジン①

②画像中の顔の有無を判断し(識別)、顔のサイズを検出する(回帰)という2つの処理を行う場合、双方で同じデータ情報(特徴量)を使用することが精度に影響をもたらしていました。そこで、当モデルでは、元となるデータ情報を識別用と回帰用の2つに分岐させるレイヤーを挟み込むことにより、精度向上を図りました。(図4)

sub4
図4 Laboro.AI顔検出エンジン②(識別・回帰の段階で分岐させるレイヤーを挿入)

Laboro.AI顔検出エンジンの精度とスピード

顔検出エンジンの評価にあたっては、当研究分野で評価用データのスタンダードであるWIDER FACEを使い、各モデルとの比較を実施しました。
WIDER FACEは約3万枚の画像に、40万人分の顔画像がアノテーション(ラベル付け)されており、検出の難易度に応じてEasy、Normal、Hardの3段階に分かれた評価データです。
テストの結果、今回開発の顔検出エンジン(表1のOurs)は、Easy、Normal、Hardのいずれのレベルでも第2位となる精度を誇ることが実証されました。

sub5
表1 その他顔検出モデルとの精度比較

また、処理速度について、精度1位であったDetectorと比較した結果が表2です。
精度単体で見ればDetectorが勝るものの、Laboro.AI顔検出エンジンは、処理開始の立ち上がりから高精度の水準に達し、それを維持する特徴があります。

sub6
表2 Detectorとの速度比較

処理スピードの高速性に加え、精度を兼ね備えたLaboro.AI顔検出エンジンは、今後、様々なシーンで導入が期待されている顔検出や顔認識テクノロジーでの利用が見込まれており、様々な活躍の場に期待が高まりますね!

最新情報をチェックしよう!