Deep Learning Image Recognition and Detection on iOS Camera Using tensorflow

Classification on iOS

https://github.com/tensorflow/tensorflow/tree/r1.2/tensorflow/contrib/ios_examples

Just ran first ran deep learning model with the camera app example. Pretty good image recognition!!

Detection on iOS

The next level is object detection, i.e creating a bounding box around detected image.

https://github.com/yjmade/ios_camera_object_detection

Image classification iOS camera using deep learning
image detection using deep learning put a bounding box
image detection using deep learning put a bounding box

Naveed’s favorite Deep Learning papers

Deep learning is progressing rapidly. There is a new interesting research paper every other week. This is a list of essential deep learning research by categories.

Fundamentals

Regularization

Convolution Neural Networks (CNN)

These are the recent advances for CNN, original was Lecun-5 in the 98 paper mentioned above .

Image Detection

Finding a bounding box around different objects is harder than simply classifying an image. This a class of image localization and detection problems.

Generative Adversarial Neural Networks

One of the hottest areas of research. This is a class of algorithms where 2 neural networks collaborate to generate e.g. realistic images. One network produces fake images (faker), and the other network learns to decipher fake from real (detective). Both networks compete with each  other and try to be good at their jobs, till the faker is so good that it can generate realistic images. Fake it till you make it!

Semi Supervised Learning

Getting labeled data is expensive, while unlabeled data is abundant. Techniques to use little bit of training data and lots of unlabeled data.

Visual Question Answering / Reasoning

Research on being able to ask question on images. e.g. asking if there are there more blue balls than yellow about an image.

Neural Style

Being able to take a picture and a style image e.g. a painting, and redraw the picture in the painting style. See my blog on painting like Picaso.

Recurrent Neural Networks (RNN)

AutoEncoders

This is area of unsupervised learning. An auto encoder is a neural network that tries to recreate the original image. e.g. give it any picture and it will try to recreate the same image. Why would anyone want to do that. The neural network tries to learn a condensed representation of images given that there are commonalities. Auto encoders can be used to pre train a neural network with unlabeled data.

Visualizing High Dimensional Data

Text Recognition

Neural Programming

Neural Physics

CatGAN – Cat Faces Generative Adversarial Networks Conditional GAN Using Pytorch

Released CatGan code. This was done as last assignment for NYU Deep Learning course, taught by Yann Lecun. This is a conditional GAN, and can train it to generate 4 different types of cats i.e. white, golden, black and mix.

https://github.com/navacron/deeplearning/tree/master/pytorch/catgan

The following is output conditioned on golden cats. By favorite one is 3rd one from the right in the first row. Everytime the GAN is run it will generate unique cats like these. For more cats visit the github page.

Golden Cats from CatGAN
Golden Cats from CatGAN