Giter Site home page Giter Site logo

cat_hipsterizer's Introduction

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

  • Python
  • Keras
  • Numpy
  • Dlib
  • OpenCV
  • Pandas

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

  • Detect one cat per frame
  • Powerful for frontal faces (a bit low performance for side faces)
  • Cannot detect existence, this model thinks cat must be in the picture

TODOs (for you)

  • Multiple cats detection
  • Data augmentation (flip, translation, rotation, noise...)
  • YOLO like model (class probability map)
  • Use transpose convolution layers for landmarks reconstruction (to preserve spatial information)
  • Mobile implementation
  • Train Dlib shape predictor model

cat_hipsterizer's People

Contributors

kairess avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.