← all repositories
iitzco/faced

Face detection that skips the GPU rent

A two-stage neural network that runs face detection at ~5 FPS on a 2015 MacBook CPU by deliberately staying smaller than YOLO.

550 stars Python Computer VisionML Frameworks
faced
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

faced detects faces in images, video, or webcam streams using two custom TensorFlow networks. It outputs bounding boxes with confidence scores and includes a CLI tool and OpenCV-based annotation utilities. The pitch is simple: deep-learning accuracy without requiring a GPU.

The interesting bit

The author rejected transfer learning from YOLO or MobileNet+SSD because those networks are overbuilt for a single class. Instead, they trained a tiny fully-convolutional network (288×288 → 9×9 grid) for coarse detection, then added a second “corrector” CNN to refine the bounding boxes. It’s an explicit bet that face detection doesn’t need 80-class feature extractors.

Key highlights

  • Two-stage architecture: FCNN for detection, standard CNN for bounding-box refinement
  • ~5 FPS on a 2015 MacBook Pro i5 CPU; >70 FPS on a Titan XP GPU
  • Direct comparison with OpenCV Haar Cascades included in the README, with side-by-side GIFs
  • CLI supports images, video files, and live webcam input
  • Trained on WIDER FACE dataset

Caveats

  • Explicitly marked “Work in progress” and “not a Production ready system”
  • Still not on PyPI; install via git+https only
  • The 5 FPS CPU claim is on a specific 2015 machine; your mileage will vary

Verdict

Worth a look if you need face detection in CPU-constrained environments and can tolerate prototype-level roughness. Skip it if you need production reliability or already have GPU resources — just use a standard detector.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.