MediaPipe Face Detectionの基本実装
MediaPipe Face Detectionは、TensorFlow.jsランタイムで動作する軽量な顔検出モデルです。
await tf.ready();
platformInitialized = true;
const model = faceDetection.SupportedModels.MediaPipeFaceDetector;
const detectorConfig = {
runtime: 'tfjs',
modelType: 'short'
};
detector = await faceDetection.createDetector(model, detectorConfig);
1
TensorFlow.jsの初期化: tf.ready()でプラットフォームを初期化(1回だけ実行)
2
モデルの選択: MediaPipeFaceDetectorを使用(Googleが開発した顔検出モデル)
3
モデルタイプ: 'short'は2メートル以内の距離に最適化(高速・軽量)
const faces = await detector.estimateFaces(video);
faces.forEach(face => {
const { xMin, yMin, width, height } = face.box;
const score = face.score;
face.keypoints.forEach(keypoint => {
const { x, y } = keypoint;
});
});
検出結果の構造:
face.box: 顔の位置(xMin, yMin, width, height)
face.score: 信頼度スコア(0.0〜1.0、1.0が最高)
face.keypoints: 特徴点の配列(目・鼻・口・耳など、6個の特徴点)