Stuff That Gets You Interested !

AI, Image Analysis and Convolutional Neural Networks.


Analysts! After the overwhelming response received for our introductory blog here we are (quite ahead of schedule) with the very first blog of the first block. It covers recent technological advancements and applications of data science and machine learning. Before you start reading we must inform you that you should continue reading only if you have a basic understanding of the commonly used data-mining and machine learning techniques.

This article would actually go slightly above the beginner level at this point of time. However this is just a brief overview and not a tutorial. For readers who are new to data science or machine learning algorithms, do not worry ‘cause in two weeks’ time we will be uploading the very first data science session with Introduction to R and basic R programming overview.



Now this is the buzz-word of our generation and perhaps for generations to come. What is it that you keep listening, hearing or reading in the technology industry? What is it that entire industry is adapting to? Well it has varied names nowadays like automation or machine learning but commonly you would have heard of it as Artificial Intelligence (AI).Yes AI. And today we’re going to talk about how AI is being used by technology giants like Google and Microsoft for Image Analysis

Before we start how image analysis is done using AI algorithms let’s talk about image analysis first. Shall we?

Image Analysis ranges from finding basic shapes, detecting edges, removing noise and counting objects to finding anomalies in routine. Security and surveillance are incomplete without an intelligent system that can predict pedestrians and vehicles, and make a difference. Let us hear about it from someone who is currently making huge strides in this field.

Uncanny Vision (http://www.uncannyvision.com/), a startup delivering image analysis, tells us how it happens. Their system identifies objects in images using an analytical system powered by deep learning( we’ll have an entire blog about it next week) algorithms. The deep learning framework Caffe powers this system. The framework managed by Berkley Vision and Learning Center (BVLC) is capable of processing more than 60 million images in a single day using one NVIDIA K40 GPU. On an average this amounts to 695 images per second. Compare it with the fact that we only need 17 to make a series of images into a video, with HD video going up to 60.Basically, this system can analyze about 11 HD videos at once!

                                                                                                                                



The algorithm mostly used for image analysis is undoubtedly Artificial Neural Networks or ANNs. We’ll not be talking about ANNs here as we told you this article is a bit above the beginner level. What we’ll talk about is their upgradation for image analysis. Undoubtedly neural networks can identify and recognize patterns and do a lot of interesting stuff but when we talk about real-time image analysis from multiple angles and lack of content in the frame, the capabilities of ANNs are limited. This is where convolutional neural networks (CNNs) come in.

A CNN consists of three steps. Start from convolution from your engineering lectures where we convolved a filter with input function to get some output. Padding was then added to make this result similar in size to the original image. You know the basics right? Pooling is subsequently done to reduce the size of data. Then, the networks use fully-connected layers where each pixel is considered a single neuron similar to regular neural network. Batch normalization is the final step in the process which honestly has become outdated with use.

This video by Brandon Rohrer will help you understand CNNs:

                      


CNNs are not that new in case you’re wondering. Video analysis, image recognition and drug discovery are some of the common uses of CNNs around us. However the one phenomenon that brought CNNs to light was when AlphaGo a programme by Google DeepMind beat Lee Sedol, a South Korean professional GO player of ‘9 dan’ rank by 4-1 in March 19 2016.Those of you don’t know the Chinese game Go,let me tell you it is a complex board game requiring intuition,creative and strategic thinking and its precisely due to these qualities it has been an major area of research for AI developers. Imagine an algorithm defeating people in a game that requires the likes of capabilities like intuition, creative and strategic thinking.

                         



                          




Let’s talk about some other techniques for image analysis. These algorithms can be as simple as binary trees to more complex ones like decision trees. Decision tree for example is used by Microsoft Structured Query Language (SQL) server. Never thought analytics would be used in SQL but when you think about how data is fetched in SQL server it makes a lot more sense (Data Warehousing is an entirely different aspect that deals with the storage of data in relational databases for data-mining). Decision tree is a predictive modelling approach used in statistics ,data mining and machine learning. Some popular implementations are IBM SPS Modeler, RapidMiner, Microsoft SQL Server, MATLAB and the programming language R, among others. In R, decision trees use a complexity parameter to measure trade-offs between model complexity and accuracy on training set. A smaller complexity leads to bigger tree and vice versa.

Below: Perhaps the most common example used for explaining decision trees








Another famous technique is cluster analysis which categorizes objects in test-data into different groups or clusters. Test data may be grouped into clusters using any number of parameters hence there can be multiple algorithms for cluster analysis. Formation of clusters is however not successful for current data analysis need. With introduction of Internet of Things (IoT) data that needs to be analyzed are in much higher volume. Here many methods fail due to the curse of dimensionality, resulting in many parameters being left out while optimizing the algorithm.

Below: Hierarchical clustering dendrogram in R 







So after seeing how these different algorithms can be used for image analysis we find that Neural Network is way ahead of others in terms of accuracy and speed but maybe a bit behind in terms of complexity but that is a trade-off you are willing to make when performance is an utmost concern. Neural Networks also demand higher hardware support for implementation when compared to other algorithms. Believe it or not the neural networks have existed since 1990s but their success was limited due to restricted availability of proper hardware. 

Movidius Myraid 2,Eyeriss and Microsoft HoloLens are some vision microprocessors being used in today’s vision processing systems. These are different from regular video-processing units as they are suited to running machine vision algorithms such as CNNs. Some applications of vision processing include robotics, IoT, digital cameras and smart cameras.


                                                                                                                                      



After all this exhausting tech-talk about neural networks and image analysis let’s take a seat back and look at the future we are about to witness. In words of Dr. Reger CTO of Global Business at Fujitsu ”After logic programming with languages like Prolog and expert systems, the present phase of advanced neural network consists of the third wave of AI”. But we are still decades away from a system that can get close to a realistic one. This brilliance of human body is the reason why researchers have been trying to break the enigma of computer vision by analyzing visual mechanics of human beings or other animals.

Some additional resources for you to go through:



Again we would like to end our blog with the words of Dr.Reger  “Neural Networks in general and image analysis in particular will remain some of the most interesting and important topics in cutting-edge information technology in years to come.” As fellow machine learning lovers, we surely hope they do.



Comments

Popular posts from this blog

Stock Market Prediction with R

Sentiment Analysis Using R

Introduction to R

Vive l'analyse!