/face-recognition-cpp-tensorrt

Face Recognition with RetinaFace and ArcFace.

Primary LanguageC++OtherNOASSERTION

Face Recognition using C++ TensorRT

Face Recognition with RetinaFace and ArcFace.

Requirements

  • CUDA 10.2 + cuDNN 8.0
  • TensorRT 7.1.3
  • OpenCV 4.1.1
  • CURL 7.75.0

Installation

git clone https://github.com/nghiapq77/face-recognition-cpp-tensorrt.git
cd face-recognition-cpp-tensorrt
mkdir build && cd build
cmake ..
make -j$(nproc)

Pretrained

Requirements

  • Python 3.6
  • torch 1.7.0
  • torchvision 0.8.1

Pretrained models

Convert torch model weights to serialized TensorRT engines

cd convert/[retina/arc]
python torch_to_onnx.py
cd ..
python onnx_to_tensorrt.py -t [retina/arc]

Usage

./face -c <config-file>

Modify input_embeddingsFile, input_numImagesFile, gen_imgSource, gen_imgIsCropped in config.json to generate embeddings for known faces.
See main.cpp for more detail.

References