Skip to content

nekonoverse/face-detect

Repository files navigation

face-detect

GPU ベースの顔検出マイクロサービス。Nekonoverse のアップロード画像から顔位置を検出し、フォーカルポイントを自動設定する。

検出モード

モード DETECTION_MODE 動作 VRAM
自動 (デフォルト) auto アニメ→実写フォールバック ~250MB
アニメのみ anime アニメ顔のみ ~50MB
実写のみ real 実写顔のみ ~200MB
  • アニメ顔: deepghs/anime_face_detection (YOLO ONNX, GPU) — F1 0.97
  • 実写顔: MTCNN (PyTorch, GPU)

セットアップ

Docker (推奨)

# アニメのみモード (軽量、torch不要)
docker build -t face-detect .
docker run --gpus all -e DETECTION_MODE=anime -p 8001:8001 face-detect

# フルモード (アニメ+実写)
docker build --build-arg REQUIREMENTS=requirements.txt -t face-detect .
docker run --gpus all -p 8001:8001 face-detect

直接実行

pip install -r requirements.txt  # or requirements-anime.txt
DETECTION_MODE=auto uvicorn main:app --host 0.0.0.0 --port 8001

API

エンドポイント メソッド 説明
/health GET ヘルスチェック
/object-detection POST 顔検出 (HF Inference API 互換)

リクエスト

{
  "inputs": "<base64エンコード画像>",
  "parameters": { "threshold": 0.5 }
}

レスポンス

[
  {
    "label": "anime_face",
    "score": 0.8,
    "box": { "xmin": 30, "ymin": 20, "xmax": 70, "ymax": 60 }
  }
]

Nekonoverse との連携

メインサーバーの .env に追加:

FACE_DETECT_URL=http://<GPUマシンのIP>:8001/object-detection

未設定時やサービスダウン時はサイレントにスキップされ、アップロードは正常に動作する。

ライセンス

MIT

About

GPU-based face detection microservice for Nekonoverse

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors