All Projects → tiandunx → loss_function_search

tiandunx / loss_function_search

Licence: other
Loss Function Search for Face Recognition

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to loss function search

FaceRecog
Realtime Facial recognition system using Siamese neural network
Stars: ✭ 47 (+34.29%)
Mutual labels:  face-recognition
Face-Recognition-Attendance-System
A simple python script that recognises faces and mark attendance for the recognised faces in an excel sheet.
Stars: ✭ 57 (+62.86%)
Mutual labels:  face-recognition
Face recognition based attendance system
A python GUI integrated attendance system using face recognition to take attendance.
Stars: ✭ 70 (+100%)
Mutual labels:  face-recognition
ViewFaceCore
C# 超简单的离线人脸识别库。( 基于 SeetaFace6 )
Stars: ✭ 345 (+885.71%)
Mutual labels:  face-recognition
Face-Recognition-Jetson-Nano
Recognize 2000+ faces on your Jetson Nano with database auto-fill and anti-spoofing
Stars: ✭ 63 (+80%)
Mutual labels:  face-recognition
SmooFaceEngine
A high-performance demo for face recognition based on DL. (基于深度学习的高性能人脸识别引擎demo)
Stars: ✭ 101 (+188.57%)
Mutual labels:  face-recognition
L Softmax TensorFlow
No description or website provided.
Stars: ✭ 29 (-17.14%)
Mutual labels:  face-recognition
face-rec-tools
Media library face recognition tools
Stars: ✭ 14 (-60%)
Mutual labels:  face-recognition
PLSC
Paddle Large Scale Classification Tools,supports ArcFace, CosFace, PartialFC, Data Parallel + Model Parallel. Model includes ResNet, ViT, DeiT, FaceViT.
Stars: ✭ 113 (+222.86%)
Mutual labels:  face-recognition
facenet
Face recognition using Tensorflow
Stars: ✭ 17 (-51.43%)
Mutual labels:  face-recognition
LBCNN
Local Binary Convolutional Neural Network for Facial Expression Recognition of Basic Emotions in Python using the TensorFlow framework
Stars: ✭ 21 (-40%)
Mutual labels:  face-recognition
Face Recognition
<NOT ACTIVELY MAINTAINED>A light weight face recognition implementation using a pre-trained facenet model
Stars: ✭ 106 (+202.86%)
Mutual labels:  face-recognition
SphereFace-TensorFlow
A TensorFlow implementation for SphereFace!The code can be trained on LFW.
Stars: ✭ 17 (-51.43%)
Mutual labels:  face-recognition
FaceRecognitionCpp
Large input size REAL-TIME Face Detector on Cpp. It can also support face verification using MobileFaceNet+Arcface with real-time inference. 480P Over 30FPS on CPU
Stars: ✭ 40 (+14.29%)
Mutual labels:  face-recognition
ailia-models
The collection of pre-trained, state-of-the-art AI models for ailia SDK
Stars: ✭ 1,102 (+3048.57%)
Mutual labels:  face-recognition
facenet-pytorch-glint360k
A PyTorch implementation of the 'FaceNet' paper for training a facial recognition model with Triplet Loss using the glint360k dataset. A pre-trained model using Triplet Loss is available for download.
Stars: ✭ 186 (+431.43%)
Mutual labels:  face-recognition
GenderRecognizer
Plain Face Detector & Gender Recognizer
Stars: ✭ 57 (+62.86%)
Mutual labels:  face-recognition
timeline
Timeline - A photo organizer
Stars: ✭ 39 (+11.43%)
Mutual labels:  face-recognition
Facial-Recognition-Using-FaceNet-Siamese-One-Shot-Learning
Implementation of Facial Recognition System Using Facenet based on One Shot Learning Using Siamese Networks
Stars: ✭ 104 (+197.14%)
Mutual labels:  face-recognition
InsightFace
复现 ArcFace 论文
Stars: ✭ 22 (-37.14%)
Mutual labels:  face-recognition

(ICML2020) Loss Function Search for Face Recognition

Xiaobo Wang*, Shuo Wang*, Cheng Chi, Shifeng Zhang, Tao Mei

This is the official implementation of our loss function search for face recognition. It's accepted by ICML 2020.

Introduction

In face recognition, designing margin-based (e.g., angular, additive, additive angular margins) softmax loss functions plays an important role in learning discriminative features. However, these hand-crafted heuristic methods are sub-optimal because they require much effort to explore the large design space. We first analyze that the key to enhance the feature discrimination is actually how to reduce the softmax probability . We then design a unified formulation for the current margin-based softmax losses. Accordingly, we define a novel search space and develop a reward-guided search method to automatically obtain the best candidate. Experimental results on a variety of face recognition benchmarks have demonstrated the effectiveness of our method over the state-of-the-art alternatives.

Results

image

Our Search Space

image

To validate the effectiveness of our search space, one can simply choose random-softmax. In train.sh, you can set do_search=1. If we use random softmax to train our network, we get the result below.

image

How to train

Prerequisite

Pytorch 1.1 or higher are required.

Data preparation

In current implementation, we use lmdb to pack our training images. The format of our lmdb mainly comes from Caffe. And you could write your own caffe.proto file as follows:

syntax = "proto2";
message Datum {
    //the acutal image data, in bytes.
   optional bytes data=1;
}

Aside from the lmdb, there should exist a text file describing the lmdb. Each line of the text file contains 2 fields which is separated by a space. The line in the text file is as follows:

lmdb_key label

Train

./train.sh

You could either use ./train.sh. NOTE that before you execute train.sh, you should provide your own train_source_lmdb and train_source_file. For more usage, please

python main.py -h
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].