I promise i'll update this project forever!
(1). the original model comes from repositories:
(2). the process of converting mxnet model to ncnn formate is:
(3). new landmark model: landmark_big.param && landmark_big.bin has also uploaded, input size: 48x48
you can change the model name in the test code to test the model:
change "landmark.param", "landmark.bin" to "landmark_big.param" && "landmark_big.bin"
(4). add input size: 96x96 model:
you need to change the input size 48 x 48 to 96 x 96:
ncnn::Mat ncnn_in = ncnn::Mat::from_pixels_resize(img_src.data,
ncnn::Mat::PIXEL_BGR, img_src.cols, img_src.rows, 48, 48);
ncnn::Mat ncnn_in = ncnn::Mat::from_pixels_resize(img_src.data,
ncnn::Mat::PIXEL_BGR, img_src.cols, img_src.rows, 96, 96);
(5).add input size: 112x112 model:
2. add retinaface detection
the code refer to the repositories:
3.add jetson nano project based on vulkan
>mkdir build && cd build && cmake .. && make -j3
5.use openmp to optimize for loops
'
start face detect.
4 faces detected.
start keypoints extract.
keypoints extract end.
start keypoints extract.
keypoints extract end.
start keypoints extract.
keypoints extract end.
start keypoints extract.
keypoints extract end.
time cost: 137.495ms
'
'
[0 NVIDIA Tegra X1 (nvgpu)] queueC=0[16] queueT=0[16] memU=2 memDL=2 memHV=2
[0 NVIDIA Tegra X1 (nvgpu)] fp16p=1 fp16s=1 fp16a=0 int8s=1 int8a=0
start face detect.
4 faces detected.
start keypoints extract.
keypoints extract end.
start keypoints extract.
keypoints extract end.
start keypoints extract.
keypoints extract end.
start keypoints extract.
keypoints extract end.
time cost: 553.328ms
'
6.add face alignment interface
the interface refer to the project insightface:
reduce the coupling of modules
You only need to change line 14 of face_engine.cpp to change face detector.
detector_(new Mtcnn()) To detector_(new RetinaFace())
9.optimize the structure of the project
please update ncnn to newest version, speed will impove a lot.
- [x]. add face recognize database
- [x]. add face track