顔検出

ML Kit の顔検出 API を使用すると、画像内の顔を検出し、主要な顔の特徴を識別して、検出された顔の輪郭を取得できます。

顔検出を使用すると、自撮りやポートレートの装飾、ユーザーの写真からのアバターの生成などのタスクに必要な情報を取得できます。ML Kit はリアルタイムで顔検出をできるため、ビデオチャットや、プレーヤーの表情に反応するゲームなどのアプリケーションで使用できます。

iOS Android

Flutter デベロッパーの方は、Firebase の ML Vision API 用のプラグインを含む FlutterFire をお試しください。

主な機能

顔の特徴を認識して特定する 検出された顔の目、耳、頬、鼻、口の座標を取得します。
顔の特徴の輪郭を取得する 検出された顔と目、眉、唇、鼻の輪郭を取得します。
表情を認識する 人が笑っているのか、目を閉じているのかを判断します。
ビデオフレームをまたいで顔をトラックする 検出された人物の顔に ID を設定します。この ID は呼び出し間で一貫しているため、ビデオ ストリーム内の特定の人物に人物に対する画像操作を実行できます。
ビデオフレームをリアルタイムで処理する 顔検出はデバイス上で実行されます。ビデオ操作など、リアルタイム アプリケーションでも十分に使用できる速さで処理されます。

実行結果の例

例 1

検出された顔ごとに次の情報を返します。

顔(1 / 3)
境界ポリゴン (884.880004882812, 149.546676635742)、(1030.77197265625, 149.546676635742)、(1030.77197265625, 329.660278320312)、(884.880004882812, 329.660278320312)
回転角 Y: -14.054030418395996、Z: -55.007488250732422
トラッキング ID 2
顔のランドマーク
左目 (945.869323730469, 211.867126464844)
右目 (971.579467773438, 247.257247924805)
口の下 (907.756591796875, 259.714477539062)

その他

特徴の確率
笑っている 0.88979166746139526
左目が開いている 0.98635888937860727
右目が開いている 0.99258323386311531

例 2(顔の輪郭検出)

顔の輪郭検出を有効にすると、検出された顔の特徴が点のリストで表示されます。これらの点は特徴の形状を表します。次の図は、これらの点が顔にどのようにマッピングされるかを示します(画像をクリックすると拡大します)。

顔の特徴の輪郭
鼻梁 (505.149811, 221.201797)、(506.987122, 313.285919)
左目 (404.642029, 232.854431)、(408.527283, 231.366623)、(413.565796, 229.427856)、(421.378296, 226.967682)、(432.598755, 225.434143)、(442.953064, 226.089508)、(453.899811, 228.594818)、(461.516418, 232.650467)、(465.069580, 235.600845)、(462.170410, 236.316147)、(456.233643, 236.891602)、(446.363922, 237.966888)、(435.698914, 238.149323)、(424.320740, 237.235168)、(416.037720, 236.012115)、(409.983459, 234.870300)
上唇の上 (421.662048, 354.520813)、(428.103882, 349.694061)、(440.847595, 348.048737)、(456.549988, 346.295532)、(480.526489, 346.089294)、(503.375702, 349.470459)、(525.624634, 347.352783)、(547.371155, 349.091980)、(560.082031, 351.693268)、(570.226685, 354.210175)、(575.305420, 359.257751)
その他