Python - Facial Recognition [closed]

asked 2019-08-19 16:53:32 -0600

updated 2019-08-19 17:00:09 -0600

I am used OpenCv for face recognition on doors, but I came across a security flaw, if a person points a photo at the camera, my system will unlock the door based on the photo, is there any technique for this not to happen?

edit retag flag offensive reopen merge delete

Closed for the following reason question is off-topic or not relevant by berak
close date 2019-08-19 17:17:27.951248

Comments

google "spoofing" ?

berak gravatar imageberak ( 2019-08-19 16:55:54 -0600 )edit

I did not understand

Renan Pinheiro gravatar imageRenan Pinheiro ( 2019-08-19 17:15:14 -0600 )edit
1

no fear, it was never offending,

the process of holding a (2d) image in front of the camera to fool recognition is called "spoofing"

measures against that may include using more than 1 camera, a 3d model,etc, please look it up (on your own), it's an ongoing research topic, there's nothing ready-made built into opencv (so far)

berak gravatar imageberak ( 2019-08-19 17:16:53 -0600 )edit
1

off-topic (yet relevant, imho), because it's a research question, not one about opencv

berak gravatar imageberak ( 2019-08-19 17:18:23 -0600 )edit

Thanks, it gave me a light on what to research

Renan Pinheiro gravatar imageRenan Pinheiro ( 2019-08-19 17:59:58 -0600 )edit

Most common approach to avoid 2d spoofing is incorporating time or depth information, which is way harder to spoof using 2d images.

StevenPuttemans gravatar imageStevenPuttemans ( 2019-08-20 07:42:41 -0600 )edit

What? Tell that to my time traveling puppet...

holger gravatar imageholger ( 2019-08-20 11:46:24 -0600 )edit

@holger, your comment makes absolutely no sense :D

StevenPuttemans gravatar imageStevenPuttemans ( 2019-08-21 04:49:45 -0600 )edit

Well maybe but my point is: everything can be faked:

depth = use something with depth (like a puppet instead of a 2d image) time = well we dont have time travelling yet...

holger gravatar imageholger ( 2019-08-21 07:47:39 -0600 )edit
3

@holger, there is no way you can mimic facial microexpressions over time inherently specific to the person in question. What you see in movies isn't always the reality :D

StevenPuttemans gravatar imageStevenPuttemans ( 2019-08-22 08:00:51 -0600 )edit
3

You can try to measure heart beating using a camera as https://www.ip.philips.com/licensing/...

LBerger gravatar imageLBerger ( 2019-08-22 08:38:45 -0600 )edit

@StevenPuttemans Yes there are technical way to make it difficult for the attacker. But if theres something we should have learned by now is that everything can be faked. As you are working partly for nvidea (i hope this is right?) maybe you know deepfakes. Make a video out of these pictures and you have micro facial expressions.

My heartbeat can be faked by an artifical machine.
I dont want to say this is easy or even pratical but everything can be faked its just how difficult you make it.

BTW If you could see my facial macro expression now(rolls eyes) ^^. Have a nice day everyone!

holger gravatar imageholger ( 2019-08-22 13:48:12 -0600 )edit

Hahaha I am totally unrelated to nvidia :D Never did any work for them or with them. Deepfakes are not the solution however, the do look nice, but it are explicitly those micro expressions that cannot be learned by the networks for the moment. It looks perfect but has small imperfections almost everywhere.

StevenPuttemans gravatar imageStevenPuttemans ( 2019-08-23 07:59:09 -0600 )edit