Detecting liveness with AWS Rekognition - amazon-web-services

I am looking to use AWS Reckognition in one of my projects and trying to find out whether or not its possible to differentiate between a still image (photograph) vs a real person, in other words liveness detection. I don't want my system to be fooled with a still photograph for authentication.
I see that it has many features such as pose and emotion detection, etc. If its not an official feature, is there a work around or any tricks that some of you have used to achieve what I want?
I am also wondering if its possible to detect gaze and how to best approach that. I want to see where the user is looking at, at the screen, to the side, etc.
Alternatively, if AWS does not have a good solution for this, what are some of your alternative recommendations?
Regards

Could you make use of blink detection, which isnt part of AWS Rekognition, to check if an image isn't a still photograph. You just need OpenCV.
Here is an example.
Face recognition alone is notoriously insecure when it comes to authentication, as has been evidenced by the many examples of the Android Face Unlock functionality being fooled by photographs.
Apple makes use of Depth sensing cameras in its FaceID technology to create a 3D map of the faces which cant be fooled by a photograph. Windows Hello face authentication utilises a camera specially configured for near infrared (IR) imaging to authenticate.

as alternative to gaze you can have a look at liveness example using aws rekognition based on face and nose position:
https://aws.amazon.com/pt/blogs/industries/improving-fraud-prevention-in-financial-institutions-by-building-a-liveness-detection-solution/
https://aws.amazon.com/blogs/industries/liveness-detection-to-improve-fraud-prevention-in-financial-institutions-with-amazon-rekognition/
https://github.com/aws-samples/liveness-detection

Related

AWS image processing

I am working on a project where I need to take a picture of a surface using my phone and then analyze the surface for defects and marks.
I want to take the image and then send it to the cloud for analysis.
Does AWS-Rekognition provide such a service to analyze the defects I want to study?
Or Would I need to write a custom code using opencv or something?
While Amazon Rekognition can detect faces and objects, it has no idea what it meant by a "defect".
Imagine if you had 10 people lined up and showed them a picture, asking them if they could see a defect. Would they all agree? They'd probably ask you what you mean by a defect and how bad something has to look before it could be considered a defect.
Similarly, you would need to train a system on what is a valid defect and what is not a defect.
This is a good use case for Amazon SageMaker. You would need to provide LOTS of sample images of defects and not-defects. They should be shot from many different angles in many different lighting situations, similar to the images you would want to test.
It would then build a model that could be used for detecting 'defects' in supplied images. You could even put the model into an AWS DeepLens unit to do the processing locally.
Please note, however, that you need to provide a large number of images (hundreds is good, thousands is better) to be able to train it to correct detect 'defects'.

Stitching a full spherical mosaic using only a smartphone and sensor data?

I'm really interested in the Google Street View mobile application, which integrates a method to create a fully functional spherical panorama using only your smartphone camera. (Here's the procedure for anyone interested: https://www.youtube.com/watch?v=NPs3eIiWRaw)
What strikes me the most is that it always manages to create the full sphere, even when stitching a feature-less near monochrome blue sky or ceiling ; which gets me to thinking that they're not using feature based matching.
Is it possible to get a decent quality full spherical mosaic without using feature based matching and only using sensor data? Are smartphone sensors precise enough? What library would be usable to do this? OpenCV? Something else?
Thanks!
The features are needed for registration. In the app the clever UI makes sure they already know where each photo is relative to the sphere so in the extreme case all the have to do is reproject/warp and blend. No additional geometry processing needed.
I would assume that they do try to do some small corrections to improve the registration, but even if these fail, you can fallback onto the sensor based ones acquired at capture time.
This is a case where a clever UI makes the vision problem significantly easier.

Traffic Sign Detection and Recognition

What is best method of Traffic Sign Detection and Recognition?
I review the popular traffic sign detection methods prevalent in recent literature, but don't know which way is best!
I would like to use Color-based and shape-based detection methods.
I work image processing using opencv in visual studio c++.
Try this one:
https://sites.google.com/site/mcvibot2011sep/
Check dlib. The file example/train_object_detector.cpp* has some details on how this can be achieved. It uses a feature description technique called Histogram of Oriented Gradients (HOG).
Check the following links for a starting point:
Detecting Road Signs in Mapillary Images with dlib C++
Dlib 18.6 released: Make your own object detector!
* Note: don't just use the examples to train your detector! Read the files as a guide/tutorial! These example programs assume that you are trying to detect faces and make some improvements based on that (such as using image mirrors on training since faces are symmetric, which can be be disastrous for some signs).
Edit: Check my implementation of a traffic sign detector and classifier using dlib:
https://github.com/fabioperez/transito-cv

Classification of Lightning type in Images

I need to write an application that uses image processing functionality to identify the type of lightning in an image. The lightning types that it has to identify are the cloud to ground and the intracloud lightning which are shown in the pictures below. The cloud to ground lightning has these features: it hits the ground and has flashes branching downwards and the features of the intracloud lightning are that: it has no contact with the ground. Are there any image processing algorithms that you guys know which i can use to identify these features in the image such that the application will be able to identify the lightning type? I want to implement this in C++ using the CImg library.
Thanking you in advance
!!Since I cant upload photos because am a new user, i posted the links to the images!!
http://wvlightning.com/types.shtml
Wow, this seems like a fun algorithm. If you had a large set of images for each type you might be able to use HAAR training (http://note.sonots.com/SciSoftware/haartraining.html) but I'm not sure that would work because of the form of lightning. Maybe HAAR in combination with your own algorithm. For instance it should be very straightforward to know whether the lightning goes to the ground. You could use some OpenCV image analysis to do that - http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/

Detecting transparent glass in images

Are there any methods in the computer vision literature that allows for detecting transparent glass in images? Like if I have an image of a car, can I detect windows? etc...
All methods I've found so far are active methods (i.e. require calibration, control over the environment or lasers). I need a passive method (i.e. all you have is an image, or multi-view images of the object and thats it).
Here is some very recent work aimed at detecting transparent objects in a general setting.
http://books.nips.cc/papers/files/nips22/NIPS2009_0397.pdf
http://videolectures.net/nips09_fritz_alfm/
I think what you looking for is detection of translucent regions. There is very limited work here since it is a very hard problem. Basically it is a major chicken and egg problem. Translucent regions cause almost all fundamental image processing tools to fail (e.g. motion estimation, feature matching, tracking, etc...). Yet you must use such tools to detect translucent regions. Anyway, up to my knowledge this is the most recent piece of work in this area and I doubt there is any other.
http://www.mee.tcd.ie/~sigmedia/pmwiki/uploads/Misc.Icip2011/CVPR_new.pdf
It is published in CVPR which is a top conference in Computer Vision.
Just a wild guess: if the camera is moving and you perform a 3D reconstruction of the scene, you could detect large discontinuities of the reconstructions at the reflected regions.
I think you should provide a clearer description of what your are trying to achieve.
The paper "Deriving intrinsic images from image sequences" shows some results with transparencies.
If you are close enough, you may be able to use the glass refraction (a la Snell's law) to detect the glass from multiple views.
I also think that reflections (specular regions) are a good indication for curved glasses.
Detecting it is one thing, but separating is another. You can do separation because its like putting 2 sounds with 1 of the sounds 180 degree out of phase. If you manage to learn the phasing sound by itself, you have the other sound automatically, so you could then learn that one too. Im stuck at the point where I can only superimposesubtract them if I learnt them by themselves. So the real gain here is somehow learning this addup, as 2 separate things, even though you never saw them apart.