Home

Awesome

Cat Hipsterizer

Inspired by "Hipsterize Your Dog With Deep Learning"

result.jpg
result2.jpg

Project contains:

  1. Cat face detection with pretrained Mobilenetv2
  2. Cat facial landmarks detection with pretrained Mobilenetv2

At first, I used cat frontal face detector of OpenCV, but it looks so bad performance for most of real cat photos. So I decided up to make new model with deep learning.
Regression method is used for both face detection and landmark detection, so that model is very naive to use on real application. But it works extremely well than I expected ;)

Used Cat dataset on Kaggle for training and validation.

Cascade Model Structure

  1. Input (Full image 224x224) - Face detection model - Output (face bounding box)
  2. Input (Face image 224x224) - Facial landmarks model - Output (9 landmarks points)

Requirement

Usage

Training

python preprocess.py
python train.py
python preprocess_lmks.py
python train_lmks.py

Testing

python test.py bbs_1.h5 lmks_1.h5

Limitations

TODOs (for you)