/steam-face-detection

Detect faces on Steam store/library banners.

Primary LanguageJupyter NotebookMIT LicenseMIT

Steam Face Detection

Input -> Output

This repository contains Python code to detect faces on Steam store/library images.

Usage

NB: In order to try and adjust parameters, I suggest that you experiment with benchmark_face_detection.ipynb. Open In Colab

Data

The dataset consists of 14k vertical images, resized from 300x450 to 256x256 resolution, used by the Steam library.

Images were downloaded with download_steam_banners.ipynb. Open In Colab

Images were then filtered (duplicates, outliers, etc.) with remove_duplicates.ipynb. Open In Colab

Recommendations

I have used 3 tools for face detection:

Overall, I would recommend to use face-alignment over dlib as:

  • it detects more faces on Steam images, which feature difficult faces (hand-drawings, anime, 3D models, etc.),
  • it is about 3.5 times faster.

RetinaFace can detect even more faces, but it is slower than face-alignment.

Results

Overall, most images do not feature any detected face. Among images with faces, most images feature a single face. The more detected faces, the fewer images.

Distribution of the number of detected faces

Here are a few face detection results:

Character creator The Sims

Peaky Blinders Event D

Keep in mind that the algorithm is not foolproof!

Many faces Anime Both photo and anime Failures

References