Gender Recognition from Images Using Deep Learning

github repo

This repository contains a Python-based project for recognizing gender from images using deep learning techniques. The project includes data preprocessing, dataset filtering, and a convolutional neural network model for classification.

Features

  • Face alignment using dlib-based landmarks
  • Dataset filtering and organization utilities
  • Image preprocessing with multiprocessing
  • CNN model training with TensorFlow/Keras
  • Data augmentation for improved model generalization

Tech Stack

  • Python 3
  • TensorFlow and Keras for deep learning
  • OpenCV for image processing
  • dlib for face alignment
  • NumPy for numerical operations
  • Matplotlib for plotting training history

Getting Started

Prerequisites

  • Python 3.6 or higher
  • TensorFlow
  • dlib
  • OpenCV
  • NumPy
  • Matplotlib

Installation

Clone the repository:

git clone https://github.com/justin-napolitano/Gender-Recognition-from-image.git
cd Gender-Recognition-from-image

Install required packages (preferably in a virtual environment):

pip install tensorflow opencv-python dlib numpy matplotlib

Usage

  1. Preprocess images:
python preprocess.py --input_dir path/to/raw_images --output_dir path/to/processed_images --crop_dim 224
  1. Filter dataset (adjust parameters as needed):
python FilterDataset.py --input_dir path/to/processed_images --output_dir path/to/filtered_dataset
  1. Train the model:

Run the data_generation.py script which contains the model training pipeline. Update directory paths inside the script accordingly.

python data_generation.py

Project Structure

  • align_dlib.py: Face alignment module using dlib landmarks (copied from openface project).
  • data_generation.py: Defines and trains the CNN model with data augmentation.
  • FilterDataset.py: Utilities to filter and organize dataset based on minimum images per class.
  • lfw_input.py: TensorFlow queue-based image loader with augmentation (used for batching).
  • preprocess.py: Preprocesses images by detecting, aligning, and cropping faces with multiprocessing.
  • processed_data/: Directory for processed and filtered dataset images.
  • README.md: This file.

Future Work / Roadmap

  • Add explicit dataset download and preparation scripts.
  • Improve model architecture and hyperparameter tuning.
  • Add evaluation scripts and metrics reporting.
  • Integrate with a web or mobile interface for real-time gender recognition.
  • Expand dataset support and include more diverse data.
  • Add unit and integration tests for pipeline components.

Note: Some paths and parameters are hardcoded and should be adapted to your environment.

hjkl / arrows · / search · :family · :tag · :datefrom · :dateto · ~/entries/slug · Ctrl+N/Ctrl+P for suggestions · Ctrl+C/Ctrl+G to cancel
entries 201/201 · entry -/-
:readyentries 201/201 · entry -/-