https://github.com/nazanin1369/facial_keypoints_cnn2
Facial detection using CNN and openCV
https://github.com/nazanin1369/facial_keypoints_cnn2
cnn-for-visual-recognition deep-learning torch
Last synced: 3 months ago
JSON representation
Facial detection using CNN and openCV
- Host: GitHub
- URL: https://github.com/nazanin1369/facial_keypoints_cnn2
- Owner: Nazanin1369
- License: mit
- Created: 2018-06-06T08:17:31.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-06-14T03:39:44.000Z (over 7 years ago)
- Last Synced: 2025-02-25T06:33:39.182Z (8 months ago)
- Topics: cnn-for-visual-recognition, deep-learning, torch
- Language: Jupyter Notebook
- Homepage:
- Size: 96.2 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[//]: # (Image References)
[image1]: ./images/key_pts_example.png "Facial Keypoint Detection"
# Facial Keypoint Detection
## Overview
In this project I built a facial keypoint detection system. Facial keypoints include points around the eyes, nose, and mouth on a face and are used in many applications. These applications include: facial tracking, facial pose recognition, facial filters, and emotion recognition. The completed code should be able to look at any image, detect faces, and predict the locations of facial keypoints on each face; examples of these keypoints are displayed below.
![Facial Keypoint Detection][image1]
The project will be broken up into a few main parts in four Python notebooks:
__Notebook 1__ : Loading and Visualizing the Facial Keypoint Data
__Notebook 2__ : Defining and Training a Convolutional Neural Network (CNN) to Predict Facial Keypoints
__Notebook 3__ : Facial Keypoint Detection Using Haar Cascades and your Trained CNN
__Notebook 4__ : Fun Filters and Keypoint Uses
## Project Instructions
Before you can get started coding, you'll have to make sure that you have all the libraries and dependencies required to support this project.
*Note that this project does not require the use of GPU, so this repo does not include instructions for GPU setup.*
### Local Environment Instructions
1. Clone the repository, and navigate to the downloaded folder. This may take a minute or two to clone due to the included image data.
2. Create (and activate) a new environment, named `cv-nd` with Python 3.6. If prompted to proceed with the install `(Proceed [y]/n)` type y.
- __Linux__ or __Mac__:
```
conda create -n vision python=3.6
source activate vision
```
- __Windows__:
```
conda create --name vision python=3.6
activate cv-nd
```
At this point your command line should look something like: `(vision) :P1_Facial_Keypoints $`. The `(vision)` indicates that your environment has been activated, and you can proceed with further package installations.
3. Install PyTorch and torchvision; this should install the latest version of PyTorch.
- __Linux__ or __Mac__:
```
conda install pytorch torchvision -c pytorch
```
- __Windows__:
```
conda install pytorch-cpu -c pytorch
pip install torchvision
```
6. Install a few required pip packages, which are specified in the requirements text file (including OpenCV).
```
pip install -r requirements.txt
```
### Data
All of the data you'll need to train a neural network is in the P1_Facial_Keypoints repo, in the subdirectory `data`. In this folder are training and tests set of image/keypoint data, and their respective csv files. This will be further explored in Notebook 1: Loading and Visualizing Data, and you're encouraged to look trough these folders on your own, too.
DataSource:
LICENSE: This project is licensed under the terms of the MIT license.