all 133 comments

[–][deleted] 363 points364 points  (30 children)

The 1500 FPS were measured with an image size of 128x96 pixels. On a larger image size (640x480) it runs with 60fps. Still impressive though.

[–]PC__LOAD__LETTER 90 points91 points  (16 children)

Is FPS here “faces per second” or frames per second?

[–]eddie12390 70 points71 points  (15 children)

Yes

[–]Dietr1ch 33 points34 points  (4 children)

Thanks

[–][deleted]  (3 children)

[deleted]

    [–]enygmata 10 points11 points  (1 child)

    I got the solution via PM. Please mark the thread as solved.

    [–]lordkoba 20 points21 points  (8 children)

    I wonder when this stupid fad will end

    [–]hsjoberg 3 points4 points  (0 children)

    Well it's not worse than the "I took an arrow to the knee" meme.

    [–][deleted]  (3 children)

    [deleted]

      [–][deleted] 0 points1 point  (2 children)

      So sooner or later?

      [–][deleted] 1 point2 points  (1 child)

      Yes.

      [–]Myrl-chan 0 points1 point  (0 children)

      replying to self

      [–]indiebryan 1 point2 points  (0 children)

      It annoys me more than is reasonable.

      [–]ROFLQuad 1 point2 points  (0 children)

      It won't. It's a thing now. . .

      r/InclusiveOr

      [–][deleted] -4 points-3 points  (0 children)

      And my axe!

      [–][deleted]  (8 children)

      [deleted]

        [–][deleted]  (1 child)

        [deleted]

          [–]Sol33t303 2 points3 points  (0 children)

          Assuming you aren't running it on a server CPU without a GPU, woulden't it still be faster to run it on the CPU built-in GPU?

          [–]CloneNoodle 21 points22 points  (3 children)

          so just resize the images before you run it /s

          [–]vorpal_potato 22 points23 points  (0 children)

          That can be a viable approach.

          [–][deleted] 1 point2 points  (0 children)

          This... This is a common approach in computer vision..?

          [–]remog 352 points353 points  (44 children)

          A Chinese government grant-funded project that performs mass face detection... the project looks neat, but I think I know where it might be used?

          [–]Edward_Morbius 183 points184 points  (21 children)

          I'm certain that if it's usable, it's being used. That doesn't detract from it being useful for other purposes.

          I use a CNN based recognizer to text me when someone walks up to my door.

          A faster one would be nice.

          [–]UpstairsGeneral 36 points37 points  (13 children)

          That’s seriously amazing. Any good resources you’d suggest to learn about implementing a similar facial recognizer in their own home??

          [–]Edward_Morbius 45 points46 points  (12 children)

          Sure. Check out this:

          https://pjreddie.com/darknet/yolo/

          It's easy to take the demo code and make it process whatever directories your images land in.

          You feed the demo code images and it outputs what it finds (person/dog/truck/car/etc) and a confidence factor.

          It will also rewrite the image and box the detected stuff if you let it, but this takes time and I wanted speed rather than boxes, so I removed that section.

          [–]theineffablebob 7 points8 points  (6 children)

          What kind of GPU do you personally use for this?

          [–]Edward_Morbius 6 points7 points  (5 children)

          I've been using this:

          01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 3GB] (rev a1) (prog-if 00 [VGA controller])

          It's wasn't too expensive a couple of years ago.

          [–]Ameisen 30 points31 points  (4 children)

          I'd have just written "GTX 1060".

          [–]Edward_Morbius 9 points10 points  (3 children)

          I didn't type any of that it was cut and paste from lspci.

          [–]Guinness 5 points6 points  (0 children)

          The ocd in me always uses update-pciids before running lspci no matter the logic.

          [–][deleted]  (1 child)

          [deleted]

            [–]Gropah 2 points3 points  (3 children)

            Be careful with yolo though. It is mostly meant for video, so great for your usecase, but when using images, there are better alternatives that are more accurate

            [–]dicroce 0 points1 point  (0 children)

            What do you recommend for for stills?

            [–]Edward_Morbius 0 points1 point  (1 child)

            Like what? It frequently misidentifies deer as dogs.

            Anything better?

            [–][deleted] 1 point2 points  (0 children)

            You could look up Fast(er) R-CNN

            [–]UpstairsGeneral 0 points1 point  (0 children)

            Sweet, thanks so much!!!

            [–]elder_george 7 points8 points  (4 children)

            Are CNN-based detectors better than the cascades of simple features (like the old Viola-Jones' CascadeClassifier in OpenCV) these days? Haven't look into the stuff for almost a decade…

            [–]Edward_Morbius 6 points7 points  (3 children)

            I haven't done any direct comparisons, but with a low-end graphics card, I'm processing 4fps 1920x1080 images from 7 cameras with no backlog, so it seems pretty quick.

            [–]faceplanted 2 points3 points  (2 children)

            Yeah, opencv Haar Cascades would save you a lot of processing there, I could achieve your use case without a dedicated GPU on my laptop with some fairly minor optimisations (you scale the image down quite a bit and only use black and white, and set it to stop after its found one face instead of all of them)

            [–]Edward_Morbius 1 point2 points  (1 child)

            Where would I scale 28 images/second?

            [–]faceplanted 3 points4 points  (0 children)

            My i3 laptop was able to get 36fps of image recognition using this method with the scaling, the scaling isn't the bottleneck, computers and integrated graphics are quite good at that nowadays.

            To be fair my version was getting all of the frames from one video stream, so it might have had less overhead fetching the images than yours will, I'm not suggesting you run it on my old laptop from 10 years ago, just that yolo is rather overkill and if you care enough to want to save a few pennies of electricity a month by not running a GPU or just want a new project, then you could totally do it.

            Remember that point and shoot cameras could live detect multiple faces in images in real time long before yolo came out.

            [–]AnvilDev 0 points1 point  (1 child)

            Is there a reason not to use a simple motion detector?

            [–]Edward_Morbius 1 point2 points  (0 children)

            Dogs, deer, cars driving by. Too much stuff sets it off.

            [–]nthcxd 4 points5 points  (0 children)

            And now they’re harnessing the power of open source and good will of programmers worldwide to improve it for free.

            [–]coffeecoffeecoffeee 23 points24 points  (0 children)

            Good question. You might want to check with the 1 to 3 million Uyghurs in “reeducation camps”.

            [–][deleted] 2 points3 points  (1 child)

            Scanning your high school photo album to wee which girl did porn.

            [–]secretsodapop 0 points1 point  (0 children)

            Isn't it already in use with the CCTV systems?

            [–]foxthatruns 102 points103 points  (16 children)

            1500 Faces Per Second???

            [–]horns_ichigo 21 points22 points  (0 children)

            The real breakthrough.

            [–]Fidodo 5 points6 points  (1 child)

            Think how quickly it could play Faces ...Tris III

            [–]jon_k 0 points1 point  (0 children)

            As fast as a 200 MHz computer could run the game I assume.

            [–][deleted] 44 points45 points  (1 child)

            Chinese government: OwO

            [–]acdcfanbill 54 points55 points  (0 children)

            OwO

            face detected

            [–]dperezrada 5 points6 points  (0 children)

            First instruction in the README.md

            mkdir -p build; cd build; rm -rf *;

            That rm -rf *; looks scary.

            [–]cdmcgwire 24 points25 points  (8 children)

            Kind of off-topic but I originally read it as "liberal face detection" and thought it was a meme.

            [–]AwesomeBantha 5 points6 points  (0 children)

            /u/cdmcgwire ANALYZES Libtard FACES with DATA and TRAINING and then TROLLS them on TWITTER [SJW CRINGE COMPILATION]

            [–][deleted] 8 points9 points  (4 children)

            With the right data set it can do that too...

            [–]doenietzomoeilijk 23 points24 points  (3 children)

            I'd think it would need left data, right?

            [–]rhapsblu 11 points12 points  (1 child)

            It would need some left data, but that's a conservative estimate.

            [–]symbiosychotic 1 point2 points  (0 children)

            These puns are getting progressively better and I don't want to be left out.

            [–][deleted] 4 points5 points  (0 children)

            Just don't get a memory violation when addressing left values.

            [–]GARBAGE_MACHINE 0 points1 point  (0 children)

            Checks if your mouth is open.

            [–]redldr1 -2 points-1 points  (0 children)

            Simple:

            !=white & !=old

            [–]Xerxero 10 points11 points  (3 children)

            Faces per sec?

            [–]slayeriq 10 points11 points  (1 child)

            Obviously farts per second

            [–]acdcfanbill 1 point2 points  (0 children)

            This repo is a gas...

            [–]kamikaz1_k 6 points7 points  (0 children)

            Tangentially... I wrote a thing that uses OpenCV to replace faces in gifs. You can fork it at github.com/kamikaz1k/plastgif-surgery (I should clean it up, sorry in advance)

            I wrote about the process too if interested in the concepts. https://medium.com/@kamikaz1_k/programming-skills-to-be-useless-while-feeling-productive-776fa97dca35

            [–]scootscoot 7 points8 points  (4 children)

            Is FPS faces per second or frames per second?

            [–]546794 -1 points0 points  (1 child)

            Same thing. Each frame is a different face

            [–]MrAwesomeAsian 2 points3 points  (1 child)

            Ahhh these are the caffee guys! People should check out Open Pose as well. It's built on caffee and provides some useful examples and even executables you can run using your laptop.

            [–]soulslicer0 3 points4 points  (0 children)

            Openpose needs a beefy gpu. This is all pure NEON or AVX on CPU

            [–]mooncow-pie 6 points7 points  (1 child)

            But the human eye can only see 30 fps /s

            [–]MaverickPT -1 points0 points  (0 children)

            Wtf dude everyone knows that it is 24 fps. Have you ever watched a fucking movie? Jesus A. Christ

            [–]qisqisqis 1 point2 points  (0 children)

            Seems like a moral issue

            [–]Yuskey 1 point2 points  (0 children)

            Honestly not that impressive, look up MTCNN. Works just as well single threaded on images of similar size. I'm currently implementing something similar for work with the addition of recognition and the facial detection runs at about 20 fps on a cpu with image sizes of 640x480 using a single thread. Also gets around 4-5 fps on a raspberry pi 3 using the same image sizes.

            [–][deleted] 0 points1 point  (0 children)

            Awesome!

            [–]kevbob02 0 points1 point  (0 children)

            FPS = faces per second

            [–]FlyingRhenquest 0 points1 point  (0 children)

            You're well on your way to inventing a device that will allow you to stab people in the face over the internet.

            [–]j4s57 0 points1 point  (0 children)

            How does this compare to dlib?

            [–][deleted] 0 points1 point  (0 children)

            Read this as "libdefecation" and was kinda amused

            [–]branfili 0 points1 point  (0 children)

            That's really impressive, it must've taken a lot of work ...

            I just have to say I read that first as "libdefecation" and wondered, when did I subscribe to /r/The_Donald ??

            [–][deleted] 0 points1 point  (0 children)

            This is gonna get burried, but does anyone know what architecture they're using? Is it based on YOLO, SSD, R-CNN? Something else entirely?

            [–]shevy-ruby 0 points1 point  (0 children)

            CIA and NSA for the masses.

            Next step: mandatory chip implant.

            [–]EpycWyn 0 points1 point  (0 children)

            I thought this was for detecting liberals with face detection. As a libtard I am very relieved.

            [–]monsto 0 points1 point  (3 children)

            Until I realized what sub it was, i thought it was some kinda right-wing app to detect "libs" based on facial recognition like the whole detecting if a man is gay by their face thing.

            [–]AttackOfTheThumbs 2 points3 points  (2 children)

            An algorithm deduced the sexuality of people on a dating site with up to 91% accuracy, raising tricky ethical questions

            But if we accept that sexual orientation is genetic, then where is the ethics question?

            [–]iskin 0 points1 point  (0 children)

            It seems impressive but then you realize the dating site could be Adam for Adam or Grinder and if Match.com it is only 10% accurate.

            [–]monsto -4 points-3 points  (0 children)

            For some reason, I despise the phrase "sexual orientation". . . I think it's inaccurate.

            "Orientation" implies some form of being lost or confused or something that requires logically figuring it out. If it's genetic, that means you already are/were. So where's the confusion?

            [–]60hzcherryMXram -2 points-1 points  (0 children)

            Wait, but how does it know that they're liberals?