顔検出は、視覚媒体(デジタル画像または動画)にある人間の顔を自動的に識別するプロセスです。顔が検出されると、顔の位置が、関連するサイズと方向の情報とともに報告されます。検出された顔は、目や鼻などのランドマークで検索できます。
ML Kit の顔検出機能の説明で使用する用語の一部を以下に示します。
顔トラッキング: 顔検出を動画シーケンスに拡張します。動画に出現する任意の顔(期間も任意)をトラッキングすることができます。つまり、連続する動画フレームで検出された顔を同一人物として識別することができます。この機能は顔認識の一形態ではないことにご注意ください。このメカニズムは、動画シーケンス内の顔の位置と動きに基づく推論のみを行います。
ランドマーク: 顔の内部の特別な部分です。左目、右目、鼻底はすべてランドマークの例です。ML Kit には、検出された顔のランドマークを見つける機能が用意されています。
輪郭: 顔の特徴の形状に沿った点の集合です。ML Kit には、顔の輪郭を検出する機能が用意されています。
分類: ある顔の特徴が存在するかどうかを判断します。たとえば、目が開いているか閉じているかを基準にして、顔を分類することができます。別の例としては、顔が笑顔であるかどうかが基準になります。
顔の方向
以下の用語は、カメラを基準にした顔の方向の角度の説明です。
- オイラー X: オイラー X の角度が正である顔は上向きです。
- オイラー Y: オイラー Y の角度が正の場合、顔の右側がカメラに向いています。
- オイラー Z: オイラー Z の角度が正である顔は、カメラを基準にして反時計回りに回転しています。
ML Kit では、検出された顔のオイラー Z の角度を常に報告します。オイラー Y の角度を使用できるのは、顔検出器の「精細」モード設定を使用する場合に限られます(検出を高速化するためにある程度のショートカットを行う「高速」モード設定では使用できません)。オイラー X の角度はサポートされていません。
ランドマーク
ランドマークは、顔の内部の特別な部分です。左目、右目、鼻底はすべてランドマークの例です。
ML Kit は、最初にランドマークを検出してから顔全体を検出する基盤としてランドマークを使用する、という処理は行いません。詳細なランドマーク情報とは独立して顔全体を検出します。このため、ランドマーク検出はデフォルトでは有効ではないオプション ステップです。
次の表は、関連する顔のオイラー Y の角度に関して、検出可能なすべてのランドマークをまとめたものです。
| オイラー Y の角度 | 検出可能なランドマーク |
|---|---|
| -36 度未満 | 左耳、口の左側、左耳、鼻底、左頬 |
| -36 度〜-12 度 | 口の左側、鼻底、口の下側、右目、左目、左頬、左耳先端 |
| -12 度〜12 度 | 右目、左目、鼻底、左頬、右頬、口の左側、口の右側、口の下側 |
| 12 度〜36 度 | 口の右側、鼻底、口の下側、左目、右目、右頬、右耳先端 |
| 36 度超 | 右目、口の右側、右耳、鼻底、右頬 |
検出された各ランドマークには、画像内の関連する位置が含まれます。
輪郭
輪郭は、顔の特徴の形状を表す点の集合です。次の図は、これらの点が顔にどのようにマッピングされるかを示します(画像をクリックすると拡大します)。
ML Kit によって検出される顔の特徴の輪郭はそれぞれ、一定数の点によって表されます。
| 顔面の楕円 | 36 点 | 上唇(上縁) | 11 点 |
|---|---|---|---|
| 左眉毛(上縁) | 5 点 | 上唇(下縁) | 9 点 |
| 左眉毛(下縁) | 5 点 | 下唇(上縁) | 9 点 |
| 右眉毛(上縁) | 5 点 | 下唇(下縁) | 9 点 |
| 右眉毛(下縁) | 5 点 | 鼻梁 | 2 点 |
| 左目 | 16 点 | 鼻の下縁 | 3 点 |
| 右目 | 16 点 | ||
| 左頬(中央) | 1 点 | ||
| 右頬(中央) | 1 点 |
すべての顔の輪郭を一度に取得すると、133 個の点の配列が得られます。これはそれぞれの輪郭に次のように対応します。
| 顔の輪郭のインデックス | |
|---|---|
| 0-35 | 顔面の楕円 |
| 36-40 | 左眉毛(上縁) |
| 41-45 | 左眉毛(下縁) |
| 46-50 | 右眉毛(上縁) |
| 51-55 | 右眉毛(下縁) |
| 56-71 | 左目 |
| 72-87 | 右目 |
| 88-96 | 上唇(下縁) |
| 97-105 | 下唇(上縁) |
| 106-116 | 上唇(上縁) |
| 117-125 | 下唇(下縁) |
| 126、127 | 鼻梁 |
| 128-130 | 鼻の下縁(中央の点がインデックス 128 にあることに注意) |
| 131 | 左頬(中央) |
| 132 | 右頬(中央) |
分類
分類により、ある顔の特徴が存在するかどうかを判断します。ML Kit では現在、「目を開いている」と「笑顔」の 2 つの分類をサポートしています。
分類は確実性の値として表され、顔の特徴が存在する確かさを示します。たとえば、笑顔の分類の値が 0.7 以上であれば、かなりの可能性で人が微笑んでいることを示します。
これらの分類は両方ともランドマーク検出に依存しています。
また、「目を開いている」と「笑顔」の分類は、顔が正面を向いている場合、つまりオイラー Y の角度が小さい(おおよそ +18 度~-18 度の範囲)場合にのみ機能します。
次のステップ
iOS アプリまたは Android アプリで顔検出を使用する。

