• Stars
    star
    127
  • Rank 281,133 (Top 6 %)
  • Language
    Python
  • Created over 6 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Face recognition using triplet loss, implementing FaceNet with pytorch.人脸识别项目,提供一个小型数据集用作验证,使用三元组损失函数(Triplet loss)提升准确率和泛化能力,对FaceNet进行了一种实现。

Face recognition

Face recognition using triplet loss, implementing FaceNet with pytorch. A small face dataset which consists of 62 IDs with 20 face images per ID for testing. The algorithm achieves accuracy above 97%.
人脸识别项目,提供一个小型数据集用作验证,使用三元组损失函数提升准确率和泛化能力,对FaceNet进行了一种实现。提供了一个小型的人脸数据集用于测试和验证。总共62个人,每人20张人脸图像。经测试,算法的准确率在97%以上,如果数据集更大一些,效果会更好。

Checkpoints

断点模型链接

Dependencies(依赖模块)

python3, pytorch, torchvision, cnn_finetune, opencv-python, numpy, tqdm. etc.

Module components(模块组成)

dataset module taking care of triplet selection and data loding.(数据集模块主要负责三元组选择和数据加载)

dataset.py

utility module taking care of image data formating, cleaning, and organization.(工具模块负责人脸数据的格式转换,数据清洗和数据组织)

utils.py

main module in charge of model definition, data/checkpoint loading, training, testing and validation.(主功能模块负责模型定义,数据、断点加载,训练,测试和验证。)

main.py

脚本运行效果截图:


Algorithm description(算法说明)

Inspired by Google's FaceNet, we design a special loss to improve the model's descriminative power for fine-grained classification task like face recognition. The basic principle is quite plain and simple: if a group face images belong to one person identity, they are definitelt closer to each other than image faces belonging to other person's identity. Its main thought is similar to clusting algorithm.
受谷歌FaceNet的启发,我们设计了一种特殊的损失函数(类似于三元组损失函数),用来提升细粒度分类任务的性能,比如人脸识别任务。它的基本思想简单而朴素,如果一组人脸图像属于同一个人,那么这些图像相比其他人的人脸图像,他们之间肯定会更近似彼此。这个思想类似于聚类。

We take advantage of a joint loss of classification and triplet loss to make the training convergence more easily and stable, the model is more able to discriminate between different ID's faces as illustrated above.
本算法在FaceNet的基础上改进了loss函数表达式,采用联合损失函数:CrossEntropy分类损失 + triplet损失,加快训练收敛并使得训练过程更稳定。

More Repositories

1

Vehicle-Car-detection-and-multilabel-classification

使用YOLO_v3_tiny和B-CNN实现街头车辆的检测和车辆属性的多标签识别 Using yolo_v3_tiny to do vehicle or car detection and attribute's multilabel classification or recognize
Python
575
star
2

MCMOT

Real time one-stage multi-class & multi-object tracking based on anchor-free detection and ReID
Python
380
star
3

RepNet-MDNet-VehicleReID

Implementing RepNet(a two-stream multitask learning network) to do vehicle Re-identification, vehicle search(or vehicle match) with PyTorch 可用于车辆细粒度识别,车辆再识别,车辆匹配,车辆检索,RepNet/MDNet的一种PyTorch实现
Python
240
star
4

FairMOTVehicle

A fork of FairMOT used to do vehicle MOT.用于跟踪车辆的多目标跟踪, 自定义数据进行单类别多目标实时跟踪
Python
181
star
5

VideoCaption

视频的文本摘要(标注),输入一段视频,通过深度学习网络和人工智能程序识别视频主要表达的意思(Input a video output a txt decribing the video)。
Python
169
star
6

MCMOT-ByteTrack

Python
104
star
7

YOLOV4_MCMOT

Using YOLOV4 as detector for MCMOT.
Python
103
star
8

DenseBox

Implemention of Baidu's DenseBox used for multi-task learning of object detection and landmark(key-point) localization 用PyTorch实现了百度的DenseBox并针对任意宽高比矩形(不仅限于方形)的目标检测做了优化,不仅可以输出关键点的热力图(heatmap)而且可以输出每个bbox对应关键点坐标
Python
94
star
9

MOTEvaluate

Python
21
star
10

SFM_OpenCV

A SFM project implemented with Opencv
C++
18
star
11

ByteTrack-MCMOT-TensorRT

MCMOT TensorRT deployment(C/C++) based on ByteTrack.
C++
16
star
12

Depthmap-refinement-upsampling-

Implemention of paper "Spatial-Depth Super Resolution for Range Images" with python
Python
16
star
13

SFM_PMVS_3DReconstruct_python

SFM PMVS 3D sparse to dense reconstruct in python.
Python
11
star
14

BinoCameraCalibrate

Binocular camera calibration and rectification using OpenCV.
C++
11
star
15

Algorithms

Algorithms's implementions for testing 一些机器学习,统计,三维重建等算法实现和测试
Python
8
star
16

PyScripts

Python
7
star
17

ExposureFusionPy

Implementing ExposureFusion algorithm using OpenCV and Numpy in Python3.
Python
5
star
18

MonoCameraCalibrate

C++
4
star
19

ExposureFusionCpp

C++
4
star
20

TestKalman

Python
3
star
21

StereoCalibrateRectify

C++
3
star
22

MonoDepthV1

Python
3
star
23

PytorchToCaffe

Python
3
star
24

MyNanoDet

Using custom dataset for training.
Python
3
star
25

TestOpenCVCuda

Test openCV with CUDA
C++
3
star
26

MonoDepthV2

Jupyter Notebook
3
star
27

SelfSuperviseAidedBlindIQA

SelfSuperviseAidedBlindIQA
Python
2
star
28

Stereo3DReconstruct

Python
2
star
29

MyHDRUNet

Python
2
star
30

MyEnlightenGAN

Python
2
star
31

My_CRNN

2
star
32

ColmapMVSMy

C++
2
star
33

MySlamExperiments

C++
Python
2
star
34

RealChineseLiscensePlateGenerator

Python
2
star
35

CaptainEven

1
star
36

MyMVE

C++
1
star