Skip to content

Commit

Permalink
The model is updated to v2.
Browse files Browse the repository at this point in the history
The source code was re-written. The computational cost is doubled. But the speed is almost the same with the previous one because int8 convolutional operation is carried out by AVX2. But NEON support is not finished.
  • Loading branch information
ShiqiYu committed Sep 14, 2019
1 parent 6bfdf42 commit 2a28111
Show file tree
Hide file tree
Showing 12 changed files with 2,747 additions and 1,082 deletions.
6 changes: 0 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ project(facedetection)

cmake_minimum_required(VERSION 2.8)

option(ENABLE_INT8 "use int8" OFF)
option(ENABLE_AVX2 "use avx2" OFF)
option(ENABLE_NEON "whether use neon, if use arm please set it on" OFF)
option(DEMO "build the demo" OFF)
Expand All @@ -20,11 +19,6 @@ SET(fdt_lib_shared ${fdt_lib_name}_shared)
FILE(GLOB_RECURSE fdt_source_files ${fdt_src_dir}/*.cpp)
LIST(SORT fdt_source_files)

if(ENABLE_INT8)
message("using int8")
add_definitions(-D_ENABLE_INT8)
endif()

if(ENABLE_AVX2)
message("using avx2")
add_definitions(-D_ENABLE_AVX2)
Expand Down
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2019-09-14
---------------------
* Update the model to v2. The computational cost is doubled. But the speed is almost the same with the previous one because int8 convolutional operation is carried out by AVX2.
* NEON support is not finished.

2019-03-13
---------------------
* Release the source code and the model files. Removed the binary libary.
Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,23 +60,25 @@ make

## CNN-based Face Detection on Windows


| Method |Time | FPS |Time | FPS |
|--------------------|--------------|-------------|--------------|-------------|
| | X64 |X64 | X64 |X64 |
| |Single-thread |Single-thread|Multi-thread |Multi-thread |
|OpenCV Haar+AdaBoost (640x480)| -- | -- | 12.33ms | 81.1 |
|cnn (CPU, 640x480) | 64.21ms | 15.57 | 15.59ms | 64.16 |
|cnn (CPU, 320x240) | 15.23ms | 65.68 | 3.99ms | 250.40 |
|cnn (CPU, 160x120) | 3.47ms | 288.08 | 0.95ms | 1052.20 |
|cnn (CPU, 128x96) | 2.35ms | 425.95 | 0.64ms | 1562.10 |
|cnn (CPU, 640x480) | 64.55ms | 15.49 | 15.78ms | 63.36 |
|cnn (CPU, 320x240) | 15.48ms | 64.60 | 3.92ms | 255.01 |
|cnn (CPU, 160x120) | 3.86ms | 259.01 | 1.07ms | 938.71 |
|cnn (CPU, 128x96) | 2.46ms | 406.33 | 0.68ms | 1479.79 |

* OpenCV Haar+AdaBoost runs with minimal face size 48x48
* Face detection only, and no landmark detection included
* Minimal face size ~12x12
* Minimal face size ~10x10
* Intel(R) Core(TM) i7-7700 CPU @ 3.6GHz

## CNN-based Face Detection on ARM Linux (Raspberry Pi 3 B+)

(* to be updated)
| Method |Time | FPS |Time | FPS |
|--------------------|--------------|-------------|--------------|-------------|
| |Single-thread |Single-thread|Multi-thread |Multi-thread |
Expand All @@ -86,7 +88,7 @@ make
|cnn (CPU, 128x96) | 17.78ms | 56.24 | 6.12ms | 163.50 |

* Face detection only, and no landmark detection included.
* Minimal face size ~12x12
* Minimal face size ~10x10
* Raspberry Pi 3 B+, Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz


Expand Down
Binary file added models/caffe/yufacedetectnet-open-v2.caffemodel
Binary file not shown.
Loading

0 comments on commit 2a28111

Please sign in to comment.