PRANA
00:00:00 WITA

EmotiScan

An academic facial-expression recognition project exploring GLCM texture features and an artificial neural network across eight AffectNet classes.

(Year)
2024
(Role)
Developer
(Stack)
  • Python
  • OpenCV
  • TensorFlow
  • scikit-image
  • Streamlit
(Type)
Academic Project / Facial Expression Recognition
EmotiScan cover: camera-mode interface in a laptop mockup with tablets showing the class distribution and confusion matrix, on a dark purple background; no face or prediction result shown.
EmotiScan local Streamlit image-upload empty state with no face or inference result.
(Problem)

Explore texture-based facial-expression classification across anger, disgust, fear, happiness, neutral, sadness, surprise and contempt.

(Approach)

The desktop demo combines OpenCV face detection, GLCM feature extraction and an artificial neural network. A Streamlit interface provides image-upload and camera-snapshot inputs. The desktop GLCM and Streamlit histogram/summary-statistic feature pipelines differ; web inference equivalence is not verified.

(Result)

Repository includes desktop webcam demo, Streamlit interface and saved notebook evaluation outputs. Streamlit analyzes individual images or camera snapshots, not continuous video. Expression labels do not establish a person's internal emotional state. Notebook outputs are not independently reproduced. App screenshots were captured locally, not verified as a live demo.

EmotiScan local camera-snapshot empty state requesting camera permission; no face or continuous video shown.Persisted notebook output showing class distribution across eight expression labels; not independently reproduced.Persisted notebook evaluation output showing a confusion matrix across eight expression labels; not independently reproduced or verified for web inference.
(Next project)

Locus Hotel →