A Light CNN for Deep Face Representation with Noisy Labels

Overview

A Light CNN for Deep Face Representation with Noisy Labels

Citation

If you use our models, please cite the following paper:

@article{wulight,
  title={A Light CNN for Deep Face Representation with Noisy Labels},
  author={Wu, Xiang and He, Ran and Sun, Zhenan and Tan, Tieniu}
  journal={arXiv preprint arXiv:1511.02683},
  year={2015}
}
@article{wu2015lightened,
  title={A Lightened CNN for Deep Face Representation},
  author={Wu, Xiang and He, Ran and Sun, Zhenan},
  journal={arXiv preprint arXiv:1511.02683},
  year={2015}
}
@article{wu2015learning,
  title={Learning Robust Deep Face Representation},
  author={Wu, Xiang},
  journal={arXiv preprint arXiv:1507.04844},
  year={2015}
}

Updates

  • Dec 16, 2016
  • Nov 08, 2016
    • The prototxt and model C based on caffe-rc3 is updated. The accuracy on LFW achieves 98.80% and the [email protected]=0 obtains 94.97%.
    • The performance of set 1 on MegaFace achieves 65.532% for rank-1 accuracy and 75.854% for [email protected]=10^-6.
  • Nov 26, 2015
    • The prototxt and model B is updated and the accuracy on LFW achieves 98.13% for a single net without training on LFW.
  • Aug 13, 2015
    • Evaluation of LFW for identification protocols is published.
  • Jun 11, 2015
    • The prototxt and model A is released. The accuracy on LFW achieves 97.77%.

Overview

The Deep Face Representation Experiment is based on Convolution Neural Network to learn a robust feature for face verification task. The popular deep learning framework caffe is used for training on face datasets such as CASIA-WebFace, VGG-Face and MS-Celeb-1M. And the feature extraction is realized by python code caffe_ftr.py.

Structure

  • Code
    • data pre-processing and evaluation code
  • Model
    • caffemodel.
      • The model A and B is trained on CASIA-WebFace by caffe-rc.
      • The model C is trained on MS-Celeb-1M by caffe-rc3.
  • Proto
    • Lightened CNN implementations by caffe
  • Results
    • LFW features

Description

Data Pre-processing

  1. Download face dataset such as CASIA-WebFace, VGG-Face and MS-Celeb-1M.
  2. All face images are converted to gray-scale images and normalized to 144x144 according to landmarks.
  3. According to the 5 facial points, we not only rotate two eye points horizontally but also set the distance between the midpoint of eyes and the midpoint of mouth(ec_mc_y), and the y axis of midpoint of eyes(ec_y) .
Dataset size ec_mc_y ec_y
Training set 144x144 48 48
Testing set 128x128 48 40

Training

  1. The model is trained by open source deep learning framework caffe.
  2. The network configuration is showed in "proto" file and the trained model is showed in "model" file.

Evaluation

  1. The model is evaluated on LFW which is a popular data set for face verification task.
  2. The extracted features and lfw testing pairs are located in "results" file.
  3. To evaluate the model, the matlab code or other ROC evaluation code can be used.
  4. The model is also evaluated on MegaFace. The dataset and evaluation code can be downloaded from http://megaface.cs.washington.edu/

Results

The single convolution net testing is evaluated on unsupervised setting only computing cosine similarity for lfw pairs.

Model 100% - EER [email protected]=1% [email protected]=0.1% [email protected]=0 Rank-1 [email protected]=1%
A 97.77% 94.80% 84.37% 43.17% 84.79% 63.09%
B 98.13% 96.73% 87.13% 64.33% 89.21% 69.46%
C 98.80% 98.60% 96.77% 94.97% 93.80% 84.40%

The details are published as a technical report on arXiv.

The released models are only allowed for non-commercial use.

Owner
Alfred Xiang Wu
魔炮厨 | 夏娜厨 | 久远厨 | 珂朵莉厨 | PSN: wkira_vivio
Alfred Xiang Wu
My Body is a Cage: the Role of Morphology in Graph-Based Incompatible Control

My Body is a Cage: the Role of Morphology in Graph-Based Incompatible Control

yobi byte 29 Oct 09, 2022
Framework that uses artificial intelligence applied to mathematical models to make predictions

LiconIA Framework that uses artificial intelligence applied to mathematical models to make predictions Interface Overview Table of contents [TOC] 1 Ar

4 Jun 20, 2021
A clean and extensible PyTorch implementation of Masked Autoencoders Are Scalable Vision Learners

A clean and extensible PyTorch implementation of Masked Autoencoders Are Scalable Vision Learners A PyTorch re-implementation of Mask Autoencoder trai

Tianyu Hua 23 Dec 13, 2022
A script depending on VASP output for calculating Fermi-Softness.

Fermi softness calculation for Vienna Ab initio Simulation Package (VASP) Update 1.1.0: Big update: Rewrote the code. Use Bader atomic division instea

qslin 11 Nov 08, 2022
Convert Python 3 code to CUDA code.

Py2CUDA Convert python code to CUDA. Usage To convert a python file say named py_file.py to CUDA, run python generate_cuda.py --file py_file.py --arch

Yuval Rosen 3 Jul 14, 2021
一个免费开源一键搭建的通用验证码识别平台,大部分常见的中英数验证码识别都没啥问题。

captcha_server 一个免费开源一键搭建的通用验证码识别平台,大部分常见的中英数验证码识别都没啥问题。 使用方法 python = 3.8 以上环境 pip install -r requirements.txt -i https://pypi.douban.com/simple gun

Sml2h3 189 Dec 02, 2022
Learning recognition/segmentation models without end-to-end training. 40%-60% less GPU memory footprint. Same training time. Better performance.

InfoPro-Pytorch The Information Propagation algorithm for training deep networks with local supervision. (ICLR 2021) Revisiting Locally Supervised Lea

78 Dec 27, 2022
Official code of CVPR 2021's PLOP: Learning without Forgetting for Continual Semantic Segmentation

PLOP: Learning without Forgetting for Continual Semantic Segmentation This repository contains all of our code. It is a modified version of Cermelli e

Arthur Douillard 116 Dec 14, 2022
Self-supervised learning (SSL) is a method of machine learning

Self-supervised learning (SSL) is a method of machine learning. It learns from unlabeled sample data. It can be regarded as an intermediate form between supervised and unsupervised learning.

Ashish Patel 4 May 26, 2022
retweet 4 satoshi ⚡️

rt4sat retweet 4 satoshi This bot is the codebase for https://twitter.com/rt4sat please feel free to create an issue if you saw any bugs basically thi

6 Sep 30, 2022
3D cascade RCNN for object detection on point cloud

3D Cascade RCNN This is the implementation of 3D Cascade RCNN: High Quality Object Detection in Point Clouds. We designed a 3D object detection model

Qi Cai 22 Dec 02, 2022
(Personalized) Page-Rank computation using PyTorch

torch-ppr This package allows calculating page-rank and personalized page-rank via power iteration with PyTorch, which also supports calculation on GP

Max Berrendorf 69 Dec 03, 2022
[CVPR 2022] Thin-Plate Spline Motion Model for Image Animation.

[CVPR2022] Thin-Plate Spline Motion Model for Image Animation Source code of the CVPR'2022 paper "Thin-Plate Spline Motion Model for Image Animation"

yoyo-nb 1.4k Dec 30, 2022
Repo for the Video Person Clustering dataset, and code for the associated paper

Video Person Clustering Repo for the Video Person Clustering dataset, and code for the associated paper. This reporsitory contains the Video Person Cl

Andrew Brown 47 Nov 02, 2022
From Fidelity to Perceptual Quality: A Semi-Supervised Approach for Low-Light Image Enhancement (CVPR'2020)

Under-exposure introduces a series of visual degradation, i.e. decreased visibility, intensive noise, and biased color, etc. To address these problems, we propose a novel semi-supervised learning app

Yang Wenhan 117 Jan 03, 2023
[ICML 2020] DrRepair: Learning to Repair Programs from Error Messages

DrRepair: Learning to Repair Programs from Error Messages This repo provides the source code & data of our paper: Graph-based, Self-Supervised Program

Michihiro Yasunaga 155 Jan 08, 2023
A repository with exploration into using transformers to predict DNA ↔ transcription factor binding

Transcription Factor binding predictions with Attention and Transformers A repository with exploration into using transformers to predict DNA ↔ transc

Phil Wang 62 Dec 20, 2022
Learning RGB-D Feature Embeddings for Unseen Object Instance Segmentation

Unseen Object Clustering: Learning RGB-D Feature Embeddings for Unseen Object Instance Segmentation Introduction In this work, we propose a new method

NVIDIA Research Projects 132 Dec 13, 2022
A New Approach to Overgenerating and Scoring Abstractive Summaries

We provide the source code for the paper "A New Approach to Overgenerating and Scoring Abstractive Summaries" accepted at NAACL'21. If you find the code useful, please cite the following paper.

Kaiqiang Song 4 Apr 03, 2022
NeuralTalk is a Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences.

#NeuralTalk Warning: Deprecated. Hi there, this code is now quite old and inefficient, and now deprecated. I am leaving it on Github for educational p

Andrej 5.3k Jan 07, 2023