CosFace - Tensorflow implementation for paper CosFace: Large Margin Cosine Loss for Deep Face Recognition

  •        95

This project is aimmed at implementing the CosFace described by the paper CosFace: Large Margin Cosine Loss for Deep Face Recognition. The code can be trained on CASIA-Webface and the best accuracy LFW is 98.6%. The result is lower than reported by paper(99.33%), which may be caused by sphere network implemented in tensorflow. I train the sphere network implemented in tensorflow using the softmax loss and just obtain the accuracy 95.6%, which is more lower than caffe version(97.88%). I supply the preprocessed dataset in baidu pan:CASIA-WebFace-112X96,lfw-112X96. You can download and unzip them to dir dataset.

https://github.com/yule-li/CosFace

Tags
Implementation
License
Platform

   




Related Projects

tensorflow-triplet-loss - Implementation of triplet loss in TensorFlow

  •    Python

This repository contains a triplet loss implementation in TensorFlow with online triplet mining. Please check the blog post for a full description. The code structure is adapted from code I wrote for CS230 in this repository at tensorflow/vision. A set of tutorials for this code can be found here.

keras - Deep Learning library for Python. Runs on TensorFlow, Theano, or CNTK.

  •    Python

Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.

facenet - Face recognition using Tensorflow

  •    Python

This is a TensorFlow implementation of the face recognizer described in the paper "FaceNet: A Unified Embedding for Face Recognition and Clustering". The project also uses ideas from the paper "Deep Face Recognition" from the Visual Geometry Group at Oxford. The code is tested using Tensorflow r1.7 under Ubuntu 14.04 with Python 2.7 and Python 3.5. The test cases can be found here and the results can be found here.

kdenlive - Powerful multi-track video editor

  •    C++

Kdenlive is a video editor, which supports DV, AVCHD (experimental support) and HDV editing. Kdenlive relies on several other open source projects, such as FFmpeg and MLT video framework. It is designed to answer all needs, from basic video editing to semi-professionnal work. Kdenlive can read, edit and export Flash video. Kdenlive supports most audio formats for reading, mixing and exporting. It also offers experimental support for non-destructive audio and video codec.

LargeMargin_Softmax_Loss - Implementation for <Large-Margin Softmax Loss for Convolutional Neural Networks> in ICML'16

  •    C++

We introduce a large-margin softmax (L-Softmax) loss for convolutional neural networks. L-Softmax loss can greatly improve the generalization ability of CNNs, so it is very suitable for general classification, feature embedding and biometrics (e.g. face) verification. We give the 2D feature visualization on MNIST to illustrate our L-Softmax loss. The paper is published in ICML 2016 and also available at arXiv.


Fossil

  •    C

Fossil is a distributed version control like Git and Mercurial. Fossil also supports distributed bug tracking and distributed wiki all in a single integrated package. It is simple, high-reliability, distributed software configuration management.

node-facenet - Solve face verification, recognition and clustering problems: A TensorFlow backed FaceNet implementation for Node

  •    TypeScript

A TensorFlow backed FaceNet implementation for Node.js, which can solve face verification, recognition and clustering problems. FaceNet is a deep convolutional network designed by Google, trained to solve face verification, recognition and clustering problem with efficiently at scale.

restic - Fast, secure, efficient backup program

  •    Go

restic is a backup program that is fast, efficient and secure. Restic should be easy to configure and use, so that in the unlikely event of a data loss you can just restore it. It uses cryptography to guarantee confidentiality and integrity of your data.

AMSoftmax - A simple yet effective loss function for face verification.

  •    Matlab

The paper is available as a technical report at arXiv. In this work, we design a new loss function which merges the merits of both NormFace and SphereFace. It is much easier to understand and train, and outperforms the previous state-of-the-art loss function (SphereFace) by 2-5% on MegaFace.

face_verification_experiment

  •    Matlab

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. The single convolution net testing is evaluated on unsupervised setting only computing cosine similarity for lfw pairs.

learning-to-learn - Learning to Learn in TensorFlow

  •    Python

New problems can be implemented very easily. You can see in train.py that the meta_minimize method from the MetaOptimizer class is given a function that returns the TensorFlow operation that generates the loss function we want to minimize (see problems.py for an example). It's important that all operations with Python side effects (e.g. queue creation) must be done outside of the function passed to meta_minimize. The cifar10 function in problems.py is a good example of a loss function that uses TensorFlow queues.

tensorflow_cookbook - Code for Tensorflow Machine Learning Cookbook

  •    Jupyter

This chapter intends to introduce the main objects and concepts in TensorFlow. We also introduce how to access the data for the rest of the book and provide additional resources for learning about TensorFlow. After we have established the basic objects and methods in TensorFlow, we now want to establish the components that make up TensorFlow algorithms. We start by introducing computational graphs, and then move to loss functions and back propagation. We end with creating a simple classifier and then show an example of evaluating regression and classification algorithms.

faceswap-GAN - A denoising autoencoder + adversarial losses and attention mechanisms for face swapping

  •    Jupyter

Adding Adversarial loss and perceptual loss (VGGface) to deepfakes'(reddit user) auto-encoder architecture. Here is a playground notebook for faceswap-GAN v2.2 on Google Colab. Users can train their own model in the browser without GPU required.

certigrad - Bug-free machine learning on stochastic computation graphs

  •    Lean

Specifically, Certigrad is a system for optimizing over stochastic computation graphs, that we debugged systematically in the Lean Theorem Prover, and ultimately proved correct in terms of the underlying mathematics. Stochastic computation graphs extend the computation graphs that underlie systems like TensorFlow and Theano by allowing nodes to represent random variables and by defining the loss function to be the expected value of the sum of the leaf nodes over all the random choices in the graph. Certigrad allows users to construct arbitrary stochastic computation graphs out of the primitives that we provide. The main purpose of the system is to take a program describing a stochastic computation graph and to run a randomized algorithm (stochastic backpropagation) that, in expectation, samples the gradients of the loss function with respect to the parameters.

gradient-checkpointing - Make huge neural nets fit in memory

  •    Python

Training very deep neural networks requires a lot of memory. Using the tools in this package, developed jointly by Tim Salimans and Yaroslav Bulatov, you can trade off some of this memory usage with computation to make your model fit into memory more easily. For feed-forward models we were able to fit more than 10x larger models onto our GPU, at only a 20% increase in computation time. The memory intensive part of training deep neural networks is computing the gradient of the loss by backpropagation. By checkpointing nodes in the computation graph defined by your model, and recomputing the parts of the graph in between those nodes during backpropagation, it is possible to calculate this gradient at reduced memory cost. When training deep feed-forward neural networks consisting of n layers, we can reduce the memory consumption to O(sqrt(n)) in this way, at the cost of performing one additional forward pass (see e.g. Training Deep Nets with Sublinear Memory Cost, by Chen et al. (2016)). This repository provides an implementation of this functionality in Tensorflow, using the Tensorflow graph editor to automatically rewrite the computation graph of the backward pass.

neural-image-assessment - Implementation of NIMA: Neural Image Assessment in Keras

  •    Python

Implementation of NIMA: Neural Image Assessment in Keras + Tensorflow with weights for MobileNet model trained on AVA dataset. NIMA assigns a Mean + Standard Deviation score to images, and can be used as a tool to automatically inspect quality of images or as a loss function to further improve the quality of generated images.

mtcnn-caffe - Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks

  •    Python

Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks. This project provide you a method to update multi-task-loss for multi-input source.

GSL - GNU Scientific Library

  •    C

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.