Face recognition in android? - android

I would like to do face detection in Android. I am aware of the FaceDetector API, which is not much mature. My requirement is to recognize a particular person in the db.
Can you suggest me some useful tips.

Unfortunately there is no face recognition API which is a part of the Android SDK. The easiest thing to do would be to use an OpenCV android port ( http://opencv.willowgarage.com/wiki/Android) and implement a simple algorithm like PCA. The app FaceRecog PhoneLOCK available for free in the android market ( https://market.android.com/details?id=com.vediket.facerecog ) does exactly that.

Related

Firebase Ml kit, Google cloud vision API or openCV

I want to build an android app for gaze tracking and I would like to ask which of the following tools I should use for better results.
Google Cloud Vision API
OpenCV (ex HaarCascade classifier)
Firebase ML kit with facial landmarks
I don't know if you plan to create a commercial application or if it's for research purposes, the things to consider change a bit in these two scenarios.
For object tracking I'd problably go with google's mlkit, it has some ready-to-use models that also works offline, it also simplifies all the hard work of pure tensorflow (even on iOS) if you want to use your custom models. So your hard work will be to create an efficient model and not running it.
Google Cloud Vision API I've not used yet, just the GCP machines to train a NN and they came in handy for it.
OpenCV is a good one but might be hard to implement and mantain after, your app size will also considerably increase. I've used HaarCascade in my final paper 2 years ago, the work was hard and the result not that accurate, today I'd check the OpenCV's DNN module and go with Yolo like here. To summarize, I'd just recomment it if you have some specific image processing demand, but first check the Android's ColorFilter or ImageFilterView. If you choose to use OpenCV, I'd recommend you to compile it by yourself with cmake like described here just with the modules you need to use, so you app size won't increase that much.
There's also some other options like Dlib or PyTorch, I've been working with dlib's SVM with a custom model last year, its results were good but it's slow to run, about 3~4 seconds, compared to a NN with tensorflow that runs in 50~60 milliseconds (even faster with quantized models). I don't have experience with PyTorch or other framework to share something with you.

Developing Face Recognition App

i'm new to developing android apps in general.
I'm trying to create an application that given a certain image it would detect faces and would give me the eye locations and other info.
I've done some research and i found some stuff such as, the android FaceDetector API and OpenCV.
Could anyone give me some advice on how to make an app like this or send me a link with any info related to this, all help would be great!
Thanks, Daniel.
I have worked with Face recognition for a while.
If you want to use OpenCV you could do a better effort searching in SO and you can found things like this one.
The best one for me is the SDK provide by lockheed martin... but it's too expensive :S for a single person.
Edited
"Face detection and face recognition are different things ;) Face detection tells you where is the face and face recognition tells you who's the owner of the face"
If you choose OpenCV, you can find full doc in official page.
I'm going to give you a overview :
You can use OpenCV in your app using "OpenCV Manager" or with "Static Initialization on OpenCV Android".
About the first one:
OpenCV Manager is an Android service targeted to manage OpenCV library binaries on end users devices. It allows sharing the OpenCV dynamic libraries between applications on the same device. The Manager provides the following benefits:
Less memory usage. All apps use the same binaries from service and do not keep native libs inside themselves;
Hardware specific optimizations for all supported platforms;
Trusted OpenCV library source. All packages with OpenCV are published on Google Play market;
Regular updates and bug fixes;
About the second one:
A complete tutorial using eclipse.
You might try the new Android face API. See the tutorial here about how to detect faces and facial landmarks:
https://developers.google.com/vision/detect-faces-tutorial
I explain how to do it in this article. I used a TensorFlow Lite with a MobileFaceNet implementation, achieving very accurate results and with surprisingly high speed.
You'll find the source code and an APK in this repo

Facial features detection using OpenCV Android

I need to develop a facial features detection application by which I could be able to detect eyes,nose,lips,head along with its face. For this I opted for OpenCV. I had gone through many tutorials and also sample projects. There I could see the usage of haarcascade files through which I could detect the facial features while recording a video. As I know the location of haar cascade file.
But no site could tell me the complete implementation of haarcascade files in OpenCV android project.
Kindly provide me some sites regarding or give me some brief knowledge regarding the same.
That is a good approach for detecting faces using openCV. Since you are using android, you will probably not find code written in java but you can always modal it to work on android too. This is what I believe is the best approach. http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html#gsc.tab=0
http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html
This is another detailed use of different approaches using OpenCV.
Hope it helps, if you need help in changing the code you have to post what you've done so far and then I would be happy to help! Cheers!

Liveness check Android (Blink eye)

Since Android 4.0 Google has provided some face detection APIs.
In Jelly Bean we can see a "Liveness check" feature in FaceUnlock.
I have searched a lot in Google and I haven't found a way to implement this. I mean, capture user's blink of an eye.
I have seen some OpenCV threads but since Android already supplies this, I guess there's no need to use any other API.
So, can anyone help me on how to create a "Liveness check" feature using just plain Android APIs?
Any help is welcome!

VIN scanning library or SDK for android

I am working on one android application which requires VIN scanning. I didn't found any good library or sdk for the same. I tried Zxing but it doesn't do VIN scanning. Can anybody help me out to implement VIN scanning in my app. Any sdk or library will be preferable.
Thanks
There is now a google vision api, https://cloud.google.com/vision/docs/requests-and-responses, which I've tested a little bit. The images needs to be cropped around the text to really nail it, but it works very well in that case.
Well, it seems that you looking for OCR solution - but it will be really difficult to provide good image from metall embossing. You may try our OCR library for android - you shal be able to train recognition for small amount of different fonts
http://sourceforge.net/projects/javaocr/

Categories

Resources