EnYa32's picture
Update README.md
6e2976c verified

A newer version of the Streamlit SDK is available: 1.54.0

Upgrade
metadata
title: FacialKeypointDetectionCNN
emoji: πŸ™‚
colorFrom: red
colorTo: red
sdk: streamlit
app_file: src/streamlit_app.py
pinned: false
short_description: 'Predict facial keypoints from an uploaded face image '
license: mit

πŸ™‚ Facial Keypoints Detection (CNN)

This app predicts facial keypoints (eyes, eyebrows, nose, mouth) from a face image.

What this project does

  • Input: face image (grayscale or RGB)
  • Output: 30 values (x/y coordinates for 15 facial keypoints)
  • The app overlays keypoints on a 96Γ—96 image and shows the coordinates in a table.

Files in this repo

  • app.py β†’ Streamlit app
  • final_keypoints_cnn.keras β†’ trained Keras model
  • target_cols.json β†’ output column names (order of the 30 targets)
  • preprocess_config.json β†’ preprocessing settings (image size, normalization)

How to run locally

pip install -r requirements.txt
streamlit run app.py
Preprocessing (same as training)
Convert to grayscale

Resize to 96Γ—96

Normalize pixels: x / 255.0

Model predicts normalized coordinates

Convert back to pixel space: y = y * 48 + 48

Clip to valid range: [0, 96]