- This is a modified version of the team project
- App name: Facelook
- Presentation slide and vedio introduction: https://prezi.com/qdc1ljheqp93/
- Team members
- Guo, Du [email protected]
- Guo, Tao [email protected]
- Jiang, Yiran [email protected]
- Liu, Fangbing [email protected]
- Wang, Jingyi [email protected]
This is a Python Dash face recognition web application designed to find people thier celebrity match and to predict some attributes of their faces. The app manages to find the images of the celebrities that people resemble the most along with similarity level. Attributes tab predicts some attributes of people's faces such as face shape, attractiveness, and gender.
The Cover of our Web page
Similarity for Jack Ma
Attributes for Jack Ma
- Download the NPY file
feature.npy
and put underdata
. - Download the CelebA dataset img_ align_celeba.zip and put them under
data
. - Run the
app.py
file in the terminal.
- Use Tensorflow as a pre-trained model to extract feature of over two hundred thousand images as a matrix of 512 columns and designing algorithm to handle the extraction of feature from new test image.
- Improve the face detect algorithm provided by OpenCV to better fit our data set.
- Use cosine similarity for the image matching and the corresponding similarity.
- Use Logistics model to train and predict for sex, attractiveness and face shape (We also try the SVM model, with the similar error rate as logistic. However, Logistic is faster and we obtain the estimated probability for each class).
- Build the dash page application, which start from scratch and implement all the function inside.
- Three ways of importing of the test image. We manage to upload one's photo through the local file, source the image through the url address on the Internet, and implement the counnection with your own camera so that you can take a photo immediately and do the following matching and analysis.
Contribution statement : (default)
- Guo, Du: Using models trained by Tao Guo to make predictions. Constructed Attributes dash page to show the results of our predictions, and combined codes of other members.
- Guo, Tao: Training part of the image for feature extracture. Building and training the Logistic Model for gender, attractiveness and face shape. Summary and Presentation with Yiran Jiang.
- Jiang, Yiran: Leader of the project. Collecting data. Improving and Running facenet CNN model for extracting features. Designing algorithm for cropping images. Running and evaluating SVM model on sex classification. Dash code and functions design. Dash Interactive and Logic design. Presentation.
- Liu, Fangbing: Designed python dash page, helped with processing data and organizing code.
- Wang, Jingyi: Modified
README.md
; Build the web page which adds photos from local files, url adress, as well as camera connected to a computer, and returns a collection of similar faces, along with the cosine similarity level; Colloberated to design the dash layout and helped with part of the image feature extracture process.
Following [suggestions](http://nicercode.github.io/blog/2013-04-05-projects/) by [RICH FITZJOHN](http://nicercode.github.io/about/#Team) (@richfitz). This folder is orgarnized as follows.
proj/
├── lib/
├── data/
├── doc/
├── figs/
└── output/
Please see each subfolder for a README file.