顔検出
ML Kitの顔検出APIを使用すると、画像内の顔を検出し、主要な顔の特徴を識別し、検出された顔の輪郭を取得できます。
顔検出を使用すると、自撮り写真やポートレートの装飾、ユーザーの写真からのアバターの生成などのタスクを実行するために必要な情報を取得できます。 ML Kitはリアルタイムで顔検出を行うことができるため、ビデオチャットやゲームなど、プレイヤーの表情に反応するアプリケーションで使用できます。
Flutter開発者の方は、FirebaseのMLVisionAPI用のプラグインを含むFlutterFireに興味があるかもしれません。
主な機能
顔の特徴を認識して見つけます | 検出されたすべての顔の目、耳、頬、鼻、口の座標を取得します。 |
顔の特徴の輪郭を取得します | 検出された顔とその目、眉毛、唇、鼻の輪郭を取得します。 |
顔の表情を認識する | 人が笑っているのか、目を閉じているのかを判断します。 |
ビデオフレーム全体で顔を追跡する | 検出された個々の人の顔の識別子を取得します。この識別子は呼び出し全体で一貫しているため、たとえば、ビデオストリーム内の特定の人物に対して画像操作を実行できます。 |
ビデオフレームをリアルタイムで処理する | 顔検出はデバイス上で実行され、ビデオ操作などのリアルタイムアプリケーションで使用するのに十分な速度です。 |
結果の例
例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 | ||||||
顔のランドマーク |
...など。 | ||||||
機能の確率 |
|
例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) 、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) 、351.693268)、(570.226685、354.210175)、(575.305420、359.257751) |
(等。) |