
Face detection library with speed of 1500FPS - aginovski
https://github.com/ShiqiYu/libfacedetection
======
lettergram
The number is of frames (or faces?) per second is meaningless without
context...

\- Detect at least one face in a frame (count)

\- Detect all the faces in a frame (count)

\- Detect the location of the first face in a frame

\- Detect the location of all the faces in a frame

\- Is the resolution 64x64 or 1028x1028

\- Is it only finding some of the faces (what’s the accuracy)

\- 1500FPS on what hardware

Anyone have the paper, otherwise, why is this here?

Extraordinary claims, require extraordinary proof, I don’t even see a README.

~~~
chacham15
> Extraordinary claims, require extraordinary proof, I don’t even see a
> README.

Im confused. The link points to Github which literally shows the README on the
front page.

> Is the resolution 64x64 or 1028x1028

From the readme: cnn (CPU, 128x96) 2.35ms 425.95 0.64ms 1562.10

> 1500FPS on what hardware

Intel(R) Core(TM) i7-7700 CPU @ 3.6GHz.

I could go on, but literally the answers to your questions are in the README
that you somehow didnt see.

~~~
lettergram
For reference, just saying the CPU isn’t exactly what I meant. However, I do
see some of it’s there.

What I’m pointing out is that generally this is a very loose claim. 1500FPS is
for a very specific problem, on a rig that is still not defined, using images
that are similarly not defined.

What’s the RAM, IO speed, what type of images, etc. Comparing to other methods
on the same rig solves that.

Again, I see your point, but I was generally pointing out that the analysis or
claims of this nature are not clean or clear.

------
comboy
From 128x96 image. Another way to look at it is that on RPi you can handle 5
frames per second with 640x480, which probably means one frame every few
seconds with the full RPi camera resolution. Sounds like the same results as
python with opencv?

~~~
IloveHN84
You always scale the original image down, it is pretty standard

~~~
rfoo
Yes but not to 128x96. Usually you want at least 640x480.

~~~
cdf2theworld
Wrong. Most facial recognition software reduces largest image dimension to
128. This allows caching to become effective, massively speeds up the process
(hence the 15k fps).

~~~
rfoo
A facial recognition pipeline contains a few steps, for feature extraction
people DO resize image to something like 128x128, but for face detection
(which is what this repo does) you DON'T.

Also, the reason why we scale down the input image is not for cache
effectiveness, it's simply for reducing computations needed. Maybe except for
naive matrix multiplication and convolution implementations, which is what
this repo does. But there is no point to discuss performance if you are using
a naive implementation which by design ignores cache/instruction
latency/anything Computer Architecture related. Please, at least take QNNPACK
as baseline.

------
edoo
But they don't list the accuracy. If not important I'll have 3000fps ready for
investment by noon.

------
benjaminva
My initial thought was, does FPS stand for frame per seconds for faces per
seconds? :P

------
symisc_devel
The SOD embedded CV library do also implements a Real-time frontal face
detection via its Realnets architecture (~5 ms on HD video stream).

[https://sod.pixlab.io/c_api/sod_realnet_detect.html](https://sod.pixlab.io/c_api/sod_realnet_detect.html)

[https://github.com/symisc/sod/blob/master/samples/realnet_fa...](https://github.com/symisc/sod/blob/master/samples/realnet_face_detection.c)

------
web007
1500FPS when the image is scaled down from 640x480 to 128x96. 64FPS at full
resolution, which is slower than the "reference" model at 81FPS.

~~~
pbhjpbhj
I don't understand. You feed in a 0.3 megapixel image, then scale down - how
is there enough resolution to recognise a face? If the face is 25 pixels wide
in the original it's now 5px, that can't be enough detail??

------
bsenftner
These are rather poor specs. Commercial applications in this space are in the
tens of millions per second range, while consuming multiple HD resolution
videos, and quite a bit more: spoof detection, expression neutralization,
illumination normalization, and even 3D reconstruction. The software I write,
commercially, is in the high tens of millions if you are only doing face
detection.

~~~
joshvm
How big is a template? [1]

[1] [https://cyberextruder.com/facial-recognition-
software/](https://cyberextruder.com/facial-recognition-software/)

~~~
bsenftner
They are 128 bytes.

------
ovi256
Does anyone know the paper describing the CNN model ?

Casual search didn't turn it up among the usual suspects (Scholar paper list,
author's site).

I'm really interested in the performance (as in detection IOU score)
benchmarks comparison with other methods. CPU cost perf is not the whole
story.

~~~
mlthoughts2018
I am not fully certain but based on the caffe file names, I think it may be a
variant of what is in this paper,

[https://arxiv.org/pdf/1805.03363.pdf](https://arxiv.org/pdf/1805.03363.pdf)

which itself looks like a variant of MTCNN generally.

------
jqueryin
Probably a good thread to post this in... Anyone have an extraordinary use
case for the domain _facialrecognition.ai_? I'd love to put it to good use.

~~~
aaaaaaaaaaab
Pro bono, right? That’s very kind of you in this day and age of domain
squatting!

------
abhisuri97
How does this compare to Haar Cascade?

------
madisfun
faces per seconds

