Unsupervised Learning : Clustering based Facial Recognition - tensorflow

I am able to do supervised learning for Facial Recognition with TensorFlow and especially after reading this great tutorial. I highly recommend the tutorial even if you don't intend on running the code.
Does anyone know of an open sourced library that does clustering of images based on facial recognition similar to Google Photos for instance? Or even a tutorial with sample code?
I found a good tutorial on autoencoders, so building my own is an option, but I wanted to check if there's something open sourced, or some tutorial that has code I maybe able to borrow?

Related

To integrate a trained machine learning model with react native app

I have an FYP project (a social media app like Instagram) that requires me to create a simple recommendation system. I've trained my dataset on cosine similarity using Python, but I'm at a loss on what to do next. How can I integrate my trained ml model to React native or if there is a better and easier way to make a recommendation system?
I tried reading documentation and watching videos. But I still don't seem to be able to grasp some difficult concepts. I would greatly appreciate it if you could give me instructions or steps on what to learn after training my model. Or if I have to use some library or packages etc. [not sure if this is the appropriate forum for this inquiry]

Using Tensorflow for Tic-Tac-Toe AI

**TLDR at bottom
I have been searching for days and the chances are I just don't know what to google since I'm very new to machine learning. After doing research I've decided that tensorflow is a good starting point (I'm open to other suggestions). When I looked for examples of tensorflow they all required a large repository of data to feed into the program, but I'm more interested in creating AI that learns while it plays a game, such as Tic Tac Toe. I'm having difficulty figuring out how to do this. Any advice helps, thanks!
TLDR: Are there any good, simple examples of a machine learning program (preferably tensorflow) that can help me make a Tic-Tac-Toe AI.
I have also just started to learn more about machine learning, and it looks like the tutorial and library depend on the kind of machine learning you wish to pursue.
As you probably know there is supervised and unsupervised learning and reinforcement learning.
If you are curious about supervised and unsupervised learning, Tensorflow and SciKit Learn are the way to go.
If it's reinforcement learning, then openAI Gym would work best.
Here are some links to some tic-tac-toe repositories for each three.
Good Luck!
Supervised and Unsupervised Learning
https://github.com/3cky/tensorflow-rl-tictactoe (TensorFlow)
https://github.com/akapoorx00/tic-tac-toe-ml-project (SciKit Learn)
Reinforcement Learning
https://github.com/haje01/gym-tictactoe
https://gym.openai.com/docs/
A quick search brought these up:
https://github.com/jamesq9/Tic-Tac-Toe-Machine-Learning-Using-Reinforcement-Learning
https://github.com/3cky/tensorflow-rl-tictactoe

CNTK time series anomaly detection tutorial or documentation (RNN/LTSM)?

Problem
Do you have a tutorial for LTSM or RNN time series anomaly detection using deep learning with CNTK? If not, can you make one or suggest a series of simple steps here for us to follow?
I am a software developer and a member of a team investigating using deep learning on time series data we have for anomaly detection. We have not found anything on your python docs that can help us. It seems most of the tutorials are for visual recognition problems and not specific to the problem domain of interest to us.
Using LTSM and RNN in Anomaly Detection
I have found the following
This link references why we are trying to use time series for anomaly detection
This paper convinced us that the first link is a respected approach to the problem in general
This link also outlined the same approach
I look around on CNTK here, but didn't find any similar question and so I hope this question helps other developers in the future.
Additional Notes and Questions
My problem is that I am finding CNTK not that simple to use or as well documented as I had hoped. Frankly, our framework and stack is heavy on .NET and Microsoft technologies. So I repeat the question again for emphasis with a few follow ups:
Do you have any resources you feel you can recommend to developers learning neural networks, deep learning, and so on to help us understand what is going on under the hood with CNTK?
Build 2017 mentions C# is supported by CNTK. Can you please point us in the direction of where the documentation and support is for this?
Most importantly can you please help get us unstuck on trying to do time series anomaly analysis for time series using CNTK?
Thank you very much for time and assistance in reading and asking this question
Thanks for your feedback. Your suggestions help improve the toolkit.
First Bullet
I would suggest that you can start with the CNTK tutorials.
https://github.com/Microsoft/CNTK/tree/master/Tutorials
They are designed from CNTK 101 to 301. Suggest that you work through them. Many of them even though uses image data, the concept and the models are amenable to build solutions with numerical data. 101-103 series are great to understand basics of the train-test-predict workflow.
Second Bullet:
Once you have trained the model (using Python recommended). The model evaluation can be performed using different language bindings, C# being one of them.
https://github.com/Microsoft/CNTK/wiki/CNTK-Evaluation-Overview
Third Bullet
There are different approaches suggested in the papers you have cited. All of them are possible to do in CNTK with some changes to the code in the tutorials.
The key tutorial for you would be CNTK 106, CNTK 105, and CNTK 202
Anomaly as classification: This would involve you label your target value as 1 of N classes, with one of the class being "anomaly". Then you can combine 106 with 202, to classify the prediction
Anomaly as an autoencoder: You can need to study 105 autoencoder. Now instead of a dense network, you could apply the concept for Recurrent networks. Train only on the normal data. Once trained, pass any data through the trained model. The difference between the input and autoencoded version will be small for normal data but the difference will be much larger for anomalies. The 105 tutorial uses images, but you can train these models with any numerical data.
Hope you find these suggestions helpful.

Facial Feature Detection

Currently working on a project with a hospital where I need to detect facial features to determine if any facial deformities exist through iPhone App.
For example I found https://github.com/auduno/clmtrackr which showed facial feature detection points. I thought maybe look at the code and make it into objective C. The problem is when I tested clmtrackr with a face with deformity it did not work as intended.
You can check it also: http://www.auduno.com/clmtrackr/clm_image.html
Also tried this image:
both were inconsistent with detecting all the features points it can detect.
Do you know of any API that could do this? Or do you know what techniques I should look up so that I can make one myself.
Thank you
There are several libraries for facial landmark detection:
Dlib ( C++ / Python )
CLM-Framework (C++)
Face++ ( FacePlusPlus ) : Web API
OpenCV. Here's a tutorial: http://www.learnopencv.com/computer-vision-for-predicting-facial-attractiveness/
You can read more at: http://www.learnopencv.com/facial-landmark-detection/
you can use dlib since it's face detection algorithm is faster and it also includes a pre-trained model
https://github.com/davisking/dlib/
https://github.com/davisking/dlib-models
refer this for integration to ios how to build DLIB for iOS
alternatively you could use openface for checking it out just download the binaries http://www.cl.cam.ac.uk/~tb346/software/OpenFace_0.2_win_x86.zip and you're ready to go with command lines https://github.com/TadasBaltrusaitis/OpenFace/wiki/Command-line-arguments
note:- i wont prefer to use opencv since training process and results and not so regular

Can google vision API detect specific faces?

Can I use google's vision API to not only detect faces on a specific picture but to detect which person is in the picture ?
Can this be done for celebrities (or ppl which can be easily find via a google search) automatically ? For unfamiliar ppl via some learning/look-alike mechanism ?
Thanks.
No. From the Google Vision API description:
Face Detection
Detect multiple faces within an image, along with the associated key facial attributes like emotional state or wearing headwear. Facial Recognition is not supported.
But, you can implement facial recognition yourself using OpenCV. I don't know your preferred language, but here is a tutorial on how to implement facial recognition in Python. OpenCV also has interfaces for C++ and Java.