Computer vision is an advanced branch of AI that revolves around the concept of object recognition and smart classification of objects in images or, videos. This is indeed a revolutionary innovation that aims to simulate the way human vision is trained to identify and classify objects. Studying deep learning for computer vision course can help gain specialized knowledge in this field. The growing application of computer vision across industries is now opening up multiple career avenues.
The application of computer vision is changing different industries:
In healthcare computer vision technology is adding efficiency to medical imaging procedures such as MRI. Detecting even the smallest of oddity is now possible which ensures accurate diagnosis. In departments like radiology, cardiology, computer vision techniques are gradually being adopted. Not just that, during surgical procedures too computer vision can offer cutting edge solutions. A case in point here would be Gauss Surgical’s blood monitoring system that analyzes the amount of blood loss during surgery.
The self-driving cars are no longer a sci-fi theme, but, a hardcore reality, computer vision technology analyzes the road conditions, detects humans crossing the road, objects as well as road signs and lane changes. There are advanced systems that aim to prevent accidents that run on the same technology and could also signal if the driver behind the wheel is not awake, thus saving lives in real-time.
The manufacturing industry is reaping benefits of computer vision technology in so many ways. Using computer vision the equipment condition can be monitored and measures could be taken accordingly to prevent untimely breakdown. Maintaining production quality also gets easier with computer vision application as even the smallest defect in a product or, on the packaging could be detected which might get missed by human eyes. Not just that but, even the labels could be efficiently screened to detect printing errors.
In the field of agriculture, computer vision technology is helping maintain quality and adding efficiency. Using drones to monitor the crops is getting easier, not just that but computer vision technology is helping farmers separate crops as per quality and decide which crop could be stored for a long time. Livestock monitoring is another job that could be efficiently handled using computer vision technology. However, one significant application is perhaps using computer vision to detect crops that are infected and need pesticide.
Computer vision can add an edge to modern warfare, its adoption in the military surely indicate that. Autonomous vehicles powered with computer vision techniques can save so many lives, especially when deployed during battles. Not just that, but detecting landmines, or, enemy, both high-risk yet extremely important operations can be handled successfully by adopting computer vision techniques. Image sensors could deliver the intelligence the military think-tank needs to take timely decisions.
Surveillance is a highly crucial area that could immensely benefit from computer vision applications. In shops preventing crimes like shoplifting could become easier, as the cameras could easily detect any kind of suspicious behavior and activity going on in the shop premises. Another factor to consider here would be the application of facial recognition to identify miscreants from videos.
Computer vision technology is changing the way we look at our world, and with further research, there would be smarter products on the market that can truly transform our lives by allowing us to be more efficient. For someone aspiring to make a career in this promising domain should undergo computer vision course python training.
Running a business is a challenging job, especially when business operations take place on a small-scale platform. Small business owners need constant motivation and brainstorming to keep their business in a profitable position.
However, as the world is busy deriving benefits from AI technology, and professionals opting for artificial intelligence course in delhi for better career prospects, small business owners too should seize this opportunity to power up their businesses.
Why the small business owners are shying away from AI?
With biggies like Google, Amazon, Apple, Microsoft empowering themselves with AI tools, small businesses are somewhat showing reluctance towards the new technology. Only a small percentage of businesses ranging from small to medium have so far been influenced by it. A 2018 survey showed the number to be around 13.6%.
This indicates there is some inhibition in the small business community, but, it might not just be that, when questioned most small business owners often cite reasons like lack of expertise, financial concern to be the causes.
They are mostly under the misconception that such advanced technology is best suited for giant platforms and their small scale businesses are not going to rake in any profit, even if they invest. They don’t even have tons of data like most businesses, to begin with. So, AI being a data-driven technology, might not work for them.
Their perception is gradually changing because of the way AI has started seeping through the very fiber of civilization and impacting so many aspects of life. It is not possible for small businesses to indulge in AI research or, develop a platform specifically for their business needs for feasible reasons but, they can get ideas regarding how best to conduct business the AI way.
Let’s find out how AI can be incorporated into small business infrastructure to improve five core areas.
Smarter sales and marketing with AI-powered CRMs
A CRM is an indispensable tool for any business, let alone a small one. Basically, a CRM works to garner customer data from various platforms to enable the sales and marketing team to keep track of their valuable customers while pursuing new leads.
The fusion of AI and CRM could do wonders as it is evident from the way Einstein AI, introduced by SalesForce is working.
You stand to gain insight into the customer mindset as this fusion will work to analyze customer mindset by analyzing the conversations that happened across different channels. This insight can help shape your sales and marketing efforts accordingly especially if you can upskill your team with customer market analysis courses.
Keep an eye on your rivals
Staying one step ahead of your biggest competition in the market is a crucial need no business owner big or small can afford to ignore. However, it is not easy to monitor every move they make, but, AI can be your biggest ally in helping you track your rival’s every digital move.
AI-powered Crayon, is a smart tool that monitors what your competition is doing on social media, across websites and applications, you can gauge their performance and activities and keep a tab on their marketing strategies, pricing, and other such issues to make suitable modifications to your own.
Automate customer service
Handling your customers is an important but, tedious task and as your business starts to grow so does your customer base and their queries. Investing in a big support team might not always be a feasible option for you, so why don’t you take advantage of chatbots to automate the whole process and make it more efficient?
Not all queries are important, some of these are generic which the chatbots can handle while your sales team can focus on more personalized or, technical queries to keep your customers happy. Answering support tickets can be easy with a tool like Digital Genius. It is a great option even for those businesses which can’t afford a support team.
Smoother HR operations
No matter how small scale your business might be, you still have to manage your employees and hire new ones, which means having an HR team ready round the clock. Now you can manage this segment bypassing all hassles thanks to AI-powered platforms that automate your HR functions, be it screening applications, scheduling interviews or, onboarding the new employees, every segment will be well taken care of. Not just that but, the administrative jobs that the HR have to do repetitively could be automated too.
Customize your customer journey
Customers like to be pampered, when they shop from big brand names they hardly get to experience that personalized approach. The trendy products aimed at mass-market leave them wishing for something that would suit their style. Retail Analytics Courses can help you develop a better understanding of the whole issue.
Being a small business owner you already have the advantage to take care of this issue and you can be near perfect in your approach if you get support from smart AI algorithms that can browse through customer data and detect patterns to help you understand the personal preferences of customers and thereby allow you to modify your products accordingly to suit their needs.
Coupled with AI power you could also improve your logistics to ensure your supply chain does not experience any glitch.
The development of AI platforms programmed to perform specialized tasks need to be recognized by the small business community, only then they would find the motivation to channelize the power in the right direction. They can also consider upskilling themselves with deep learning for computer vision course, to be able to harness the power of AI.
The latest research work in the field of image recognition led to the development of a new activation function for visual recognition tasks, namely Funnel activation(FReLU). In this research ReLU and PReLU are extended to a 2D activation by adding a negligible overhead of spatial condition. Experiments on ImageNet, COCO detection, and semantic segmentation tasks are conducted to measure the performance of FReLU.
CNNs have shown advanced performances in many visual recognition tasks, such as image classification, object detection, and semantic segmentation. In a CNN framework, basically two major kind of layers play crucial roles, the convolution layer and the non-linear activation layer. Both the convolution layers and activation layers perform distinct functions, however, in both layers there are challenges regarding capturing the spatial dependency. However, despite advancements achieved by complex convolutions, improving the performance of visual tasks is still challenging which results in Rectified Linear Unit (ReLU) being the most widely used function till date.
The research focused on two distinct queries
Could regular convolutions achieve similar accuracy, to grasp the challenging complex images? 2. Could we design an activation specifically for visual tasks?
1. Effectiveness and generalization performance
In a bid to find answers to these questions, researchers identified spatially insensitiveness in activations to be the main impending factor that prevent visual tasks from improving further.
To address this issue they proposed to find a new visual activation task that could be effective in removing this obstacle and be a better alternative to previous activation approaches.
How other activations work
Taking a look at other activations such as Scalar activations, Contextual conditional activations helps in understanding the context better.
Scalar activations basically are concerned with single input and output which could be represented in form of y = f(x). ReLU or, the Rectified Linear Unit is a widely used activation that is used for various tasks and could be represented as y = max(x, 0).
Contextual conditional activations work on the basis of many-to-one function. In this process neurons that are conditioned on contextual information are activated.
Spatial dependency modeling
In order to accumulate the various ranges of spatial dependences, some approaches utilize various shapes of convolution kernels which leads to lesser efficiency. In other methods like STN, spatial transformations are adaptively used for refining short-range dependencies for the dense vision tasks.
FReLU differs from all other methods in the sense that it performs better without involving complex convolutions. FReLU addresses the issues and solves with a higher level of efficiency.
Receptive field: How FReLU differs from other methods regarding the Receptive field
The size as well as the region of the receptive field play a crucial role in vision recognition tasks. The pixel contribution can be unequal. In order to implement the adaptive receptive field and for a better performance, many methods resort to complex convolutions. FReLU differs from such methods in the way that it achieves the same goal with regular convolutions in a more simple yet highly efficient manner.
Funnel Activation: how funnel activation works
FReLU being conceptually simple is designed for visual tasks. The research further delves into reviewing the ReLU activation and PReLU which is an advanced variant of ReLU, moving on to the key elements of FReLU the funnel condition and the pixel-wise modeling capacity, both of which are not found in ReLU or, in any of its variants.
2. Funnel activation
Here the same max(·) is adopted as the simple non-linear function, when it comes to the condition part it gets extended to be a 2D condition which is dependent on the spatial context for individual pixel. For the implementation of the spatial condition, Parametric Pooling Window is used for creating dependency.
Pixel-wise modeling capacity
Due to the funnel condition the network is capable of generating spatial conditions in the non-linear activations for each pixel. This differs from usual methods where spatial dependency is created in the convolution layer and non-linear transformations are conducted separately. This model achieves a pixel-wise modeling capacity thereby extraction of spatial structure of objects could be addressed naturally.
Evaluation of the activation is tested via experiments on ImageNet 2012 classification dataset[9,37].The evaluation is done in stages starting with different sizes of ResNet. Comparisons with scalar activations is done on ResNets with varying depths, followed by Comparison on light-weight CNNs. An object detection experiment is done to evaluate the generalization performance on various tasks on COCO dataset containing 80 object categories. Further comparison is also done on semantic segmentation task in CityScape dataset. Difference of the images could be perceived through the CityScape images.
4. Visualization of semantic segmentation
Funnel activation: ablation studies
The scope of the visual activation is tested further via ablation studies where each component of the activation namely 1) funnel condition, and 2)max(·) non-linearity are individually examined. The three parts of the investigation are as follows Ablation on the spatial condition, Ablation on the non-linearity, Ablation on the window size
Compatibility with Existing Methods
Before the new activation could be adopted into the convolutional networks, layers and stages need to be decided, the compatibility with other existing approaches such as SENet also was tested. The process took place in stages as follows
Compatibility with different convolution layers
Compatibility with different stages
Compatibility with SENet
Conclusion: Post all the investigations done to test out the compatibility of FReLU on different levels, it could be stated that this funnel activation is simple yet highly effective and specifically developed for visual tasks. Its pixel-wise modeling capacity is able to grasp even complex layouts easily. But further research work could be done to expand its scope as it definitely has huge potential.
To get in-depth knowledge regarding the various stages of the research work on Funnel Activation for Visual Recognition, check https://arxiv.org/abs/2007.11824.
Computer Vision is one of the most revolutionary and advanced technologies that deep learning has birthed. It is the computer’s ability to classify and recognize objects in pictures and even videos like the human eye does. There are five main techniques of computer vision that we ought to know about for their amazing technological prowess and ability to ‘see’ and perceive surroundings like we do. Let us see what they are.
The main concern around image classification is categorization of images based on viewpoint variation, image deformation and occlusion, illumination and background clutter. Measuring the accuracy of the description of an image becomes a difficult task because of these factors. Researchers have come up with a novel way to solve the problem.
They use a data driven approach to classify the image. Instead of classifying what each image looks like in code, they feed the computer system with many image classes and then develop algorithms that look at these classes and “learn” about the visual appearance of each class. The most popular system used for image classification is Convolutional Neural Networks (CNNs).
Object detection is, simply put, defining objects within images by outputting bounding boxes and labels or tags for individual objects. This differs from image classification in that it is applied to several objects all at once rather than identifying just one dominant object in an image. Now applying CNNs to this technique will be computationally expensive.
So the technique used for object detection is region-based CNNs of R-CNNs. In this technique, first an image is scanned for objects using an algorithm that generates hundreds of region proposals. Then a CNN is run on each region proposal and only then is each object in each region proposal classified. It is like surveying and labelling the items in a warehouse of a store.
Object tracking refers to the process of tracking or following a specific object like a car or a person in a given scene in videos. This technique is important for autonomous driving systems in self-driving cars. Object detection can be divided into two main categories – generative method and discriminative method.
The first method uses the generative model to describe the evident characteristics of objects. The second method is used to distinguish between object and background and foreground.
Crucial to computer vision is the process of segmentation wherein whole images are divided or segmented into pixelgroups that are subsequently labeled and classified.
The science tries to understand the role of each pixel in the image. So, for instance, besides recognizing and detecting a tree in an image, its boundaries are depicted as well. CNNs are best used for this technique.
This method builds on semantic segmentation in that instead of classifying just one single dominant object in an image, it labels multiple images with different colours.
When we see complicated images with multiple overlapping objects and different backgrounds, we apply instance segmentation to it. This is done to generate pixel studies of each object, their boundaries and backdrops.
Besides these techniques to study and analyse and interpret images or a series of images, there are many more complex techniques that we have not delved into in this blog. However, for more on computer vision, you can peruse the DexLab Analytics website. DexLab Analytics is a premiere Deep Learning training institute In Delhi.
The severe cyclonic storm Nisarga approached the Maharashtra coast around Alibagh in Raigadh with “a sustained wind speed of 100-110 kmph” on June 3, 2020. Then it made landfall at Alibagh at around noontime. Landfall simply means that the storm, after having intensified over the ocean, has moved on to land.
Though the storm mellowed down in intensity as it approached the Maharashtra coast, government bodies took all precautions and evacuation work was done in advance on the basis of forecasts done by meteorologists and scientists.
To save lives and property, it is imperative to predict cyclones and the intensity with which they will strike. Deep Learning, a branch of artificial Intelligence, is helping scientists make breakthroughs in the science of forecasting cyclones.
Existing Storm Forecast Models
Most conventional dynamical models make accurate short term predictions but they are computationally demanding and “current statistical forecasting models have much room for improvement given that the database of past hurricanes is constantly growing”, says a report.
A tropical cyclone forecast involves the prediction of several interrelated features like track, intensity, rainfall, storm surge etc. The development of current hurricane and cyclone forecasts have advanced over the years but they are largely statistical in nature. The main limitation of this method is the complexity and non-linearity of atmospheric systems.
Deep Learning Models
Recurrent Neural Networks in deep learning models have been, of late, used to study increasingly complicated systems instead of the traditional methods of forecasting because they promise more accuracy. RNNs are a class of artificial neural networks where the modification of weights allows the model to learn intricate dynamic temporal behaviours, says another report.
An RNN with the capability of modelling complex non-linear temporal relationships of a hurricane or a cyclone could increase the accuracy of predicting future cyclonic path forecasts.
Generally speaking, there are two methods or approaches to detecting extreme weather events like tropical cyclones – the data driven method which includes machine learning and the model driven approach which includes numerical simulation.
“The model-driven approach has the limitation that the prediction error increases with lead time because numerical models are inherently dependent on initial values. On the other hand, machine learning, as a data-driven approach, requires a large amount of high-quality training data,” says areport.
High quality data is easy to procure given the large amounts of data generated from weather stations on a daily basis the world over. So the machine learning method is easier to work and generate results from.
So what was difficult to do, that is find suitable metrics to study and detect the path of tropical cyclones earlier, has now become easier to do and scientists have been able to achieve accuracy in their predictions through the use of neural networks and artificial intelligence in general. For more on the subject, do read our blog here and here. Dexlab Analytics is a premier Deep Learning training institute in Delhi.
Big data is all around us, be it generated by our news feed or the photos we upload on social media. Data is the new oil and therefore, today, more than ever before, there is a need to study, organize and extract knowledgeable and actionable insights from it. For this, the role of data scientists has become even more crucial to our world. In this article we discuss the various skills, both technical and non-technical a data scientist needs to master to acquire a standing in a competitive market.
Python and R
Knowledge of these two is imperative for a data scientist to operate. Though organisations might want knowledge of only one of the two programming languages, it is beneficial to know both. Python is becoming more popular with most organisations. Machine Learning using Python is taking the computing world by storm.
Git and GitHub are tools for developers and data scientists which greatly help in managing various versions of the software. “They track all changes that are made to a code base and in addition, they add ease in collaboration when multiple developers make changes to the same project at the same time.”
Preparing for Production
Historically, the data scientist was supposed to work in the domain of machine learning. But now data science projects are being more often developed for production systems. “At the same time, advanced types of models now require more and more compute and storage resources, especially when working with deep learning.”
Cloud software rules the roost when it comes to data science and machine learning. Keeping your data on cloud vendors like AWS, Microsoft Azure or Google Cloud makes it easily accessible from remote areas and helps quickly set up a machine learning environment. This is not a mandatory skill to have but it is beneficial to be up to date with this very crucial aspect of computing.
Deep learning, a branch of machine learning, tailored for specific problem domains like image recognition and NLP, is an added advantage and a big plus point to your resume. Even if the data scientist has a broad knowledge of deep learning, “experimenting with an appropriate data set will allow him to understand the steps required if the need arises in the future”. Deep learning training institutes are coming up across the globe, and more so in India.
Math and Statistics
Knowledge of various machine learning techniques, with an emphasis on mathematics and algebra, is integral to being a data scientist. A fundamental grounding in the mathematical foundation for machine learning is critical to a career in data science, especially to avoid “guessing at hyperparameter values when tuning algorithms”. Knowledge of Calculus linear algebra, statistics and probability theory is also imperative.
Structured Query Language (SQL) is the most widely used database language and a knowledge of the same helps data scientist in acquiring data, especially in cases when a data science project comes in from an enterprise relational database. “In addition, using R packages like sqldf is a great way to query data in a data frame using SQL,” says a report.
Data Scientists should have grounding in AutoML tools to give them leverage when it comes to expanding the capabilities of a resource, which could be in short supply. This could deliver positive results for a small team working with limited resources.
Data visualization is the first step to data storytelling. It helps showcase the brilliance of a data scientist by graphically depicting his or her findings from data sets. This skill is crucial to the success of a data science project. It explains the findings of a project to stakeholders in a visually attractive and non-technical manner.
Ability to solve business problems
It is of vital importance for a data scientist to have the ability to study business problems in an organization and translate those to actionable data-driven solutions. Knowledge of technical areas like programming and coding is not enough. A data scientist must have a solid foundation in knowledge of organizational problems and workings.
Effective business communication
A data scientist needs to have persuasive and effective communication skills so he or she can face probing stakeholders and meet challenges when it comes to communicating the results of data findings. Soft skills must be developed and inter personal skills must be honed to make you a creatively competent data scientist, something that will set you apart from your peers.
Data scientist need to be able to work with Agile methodology in that they should be able to work based on the Scrum method. It improves teamwork and helps all members of the team remain in the loop as does the client. Collaboration with team members towards the sustainable growth of an organization is of utmost importance.
The importance of experimentation cannot be stressed enough in the field of data science. A data scientist must have a penchant for seeking out new data sets and practise robustly with previously unknown data sets. Consider this your pet project and practise on what you are passionate about like sports.
This article, the second part of a series, is on the application of artificial intelligence in the field of healthcare. The first part of the series mapped the applications of AI and deep learning in agriculture, with an emphasis on precision farming.
AI has been taking the world by storm and its most crucial application is to the two fields mentioned above. Its application to the field of healthcare is slowly expanding, covering fields of practice such as radiology and oncology.
In a study published in Circulation, a researcher from the British Heart Foundation revealed that his team had trained an artificial intelligence model to read MRI scans and detect compromised blood flow to and from the heart.
And an organisation called the Combio Health Care developed a clinical support system to assist doctors in detecting the risk of strokes in incoming patients.
Neurological conditions or trauma to the nervous system can adversely affect a patient’s motor sensibilities and his or her ability to meaningfully communicate with his or her environment, including the people around.
AI powered Brain-Computer Interfaces can restore these fundamental experiences. This technology can improve lives drastically for the estimated 5,00,000 people affected by spinal injuries annually the world over and also help out patients affected by ALS, strokes or locked-in syndrome.
Radiological imagery obtained from x-rays or CT scanners put radiologists in danger of contracting infection through tissue samples which come in through biopsies. AI is set to assist the next generation of radiologists to completely do away with the need for tissue samples, experts predict.
A report says “(a)rtificial intelligence is helping to enable “virtual biopsies” and advance the innovative field of radiomics, which focuses on harnessing image-based algorithms to characterize the phenotypes and genetic properties of tumors.”
One reason why AI, has made immense advancements in the field of medical oncology is the vast amount of data generated during cancer treatment.
Machine learning algorithms and their ability to study and synthesize highly complex datasets may be able to shed light on new options for targeting therapies to a patient’s unique genetic profile.
Most developing counties suffer from health care systems working on shoe-string budgets with a lack of critical healthcare providers and technicians. AI-powered machines can help plug the deficit of expert professionals.
For example, AI imaging tools can study chest x-rays for signs of diseases like tuberculosis, with an impressive rate of accuracy comparable to human beings. However, algorithm developers must bear in mind the fact that “(t)he course of a disease and population affected by the disease may look very different in India than in the US, for example,” the report says. So an algorithm based on a single ethnic populace might not work for another.
Deep learning is a subset of machine learning, a branch of artificial intelligence that configures computers to perform tasks through experience. While classic machine-learning algorithms solved many problems, they are poor at dealing with soft data such as images, video, sound files, and unstructured text.
Deep-learning algorithms solve the same problem using deep neural networks, a type of software architecture inspired by the human brain (though neural networks are different from biological neurons). Neural Networks are inspired by our understanding of the biology of our brains – all those interconnections between the neurons. But, unlike a biological brain where any neuron can connect to any other neuron within a certain physical distance, these artificial neural networks have discrete layers, connections, and directions of data propagation.
The data is inputted into the first layer of the neural network. In the first layer individual neurons pass the data to a second layer. The second layer of neurons does its task, and so on, until the final layer and the final output is produced. Each neuron assigns a weighting to its input — how correct or incorrect it is relative to the task being performed. The final output is then determined by the total of those weightings.
Deep Learning Use Case Examples
Many of the recent developments in robotics have been driven by advances in AI and deep learning. Developments in AI mean we can expect the robots of the future to increasingly be used as human assistants. They will not only be used to understand and answer questions, as some are used today. They will also be able to act on voice commands and gestures, even anticipate a worker’s next move. Today, collaborative robots already work alongside humans, with humans and robots each performing separate tasks that are best suited to their strengths.
AI has the potential to revolutionize farming. Today, deep learning enables farmers to deploy equipment that can see and differentiate between crop plants and weeds. This capability allows weeding machines to selectively spray herbicides on weeds and leave other plants untouched. Farming machines that use deep learning–enabled computer vision can even optimize individual plants in a field by selectively spraying herbicides, fertilizers, fungicides and insecticides.
Medical Imaging and Healthcare
Deep learning has been particularly effective in medical imaging, due to the availability of high-quality data and the ability of convolutional neural networks to classify images. Several vendors have already received FDA approval for deep learning algorithms for diagnostic purposes, including image analysis for oncology and retina diseases. Deep learning is also making significant inroads into improving healthcare quality by predicting medical events from electronic health record data. Earlier this year, computer scientists at the Massachusetts Institute of Technology (MIT) used deep learning to create a new computer program for detecting breast cancer.
Here are some basic techniques that allow deep learning to solve a variety of problems.
Fully Connected Neural Networks
Fully Connected Feed forward Neural Networks are the standard network architecture used in most basic neural network applications.
In a fully connected layer each neuron is connected to every neuron in the previous layer, and each connection has its own weight. This is a totally general purpose connection pattern and makes no assumptions about the features in the data. It’s also very expensive in terms of memory (weights) and computation (connections).
Each neuron in a neural network contains an activation function that changes the output of a neuron given its input. These activation functions are:
Linear function: – it is a straight line that essentially multiplies the input by a constant value.
Sigmoid function: – it is an S-shaped curve ranging from 0 to 1.
Hyperbolic tangent (tanH) function: – it is an S-shaped curve ranging from -1 to +1
Rectified linear unit (ReLU) function: – it is a piecewise function that outputs a 0 if the input is less than a certain value or linear multiple if the input is greater than a certain value.
Each type of activation function has pros and cons, so we use them in various layers in a deep neural network based on the problem. Non-linearity is what allows deep neural networks to model complex functions.
Convolutional Neural Networks
Convolutional Neural Networks (CNN) is a type of deep neural network architecture designed for specific tasks like image classification. CNNs were inspired by the organization of neurons in the visual cortex of the animal brain. As a result, they provide some very interesting features that are useful for processing certain types of data like images, audio and video.
Mainly three main types of layers are used to build ConvNet architectures: Convolutional Layer, Pooling Layer, and Fully-Connected Layer (exactly as seen in regular Neural Networks). We will stack these layers to form a full ConvNet architecture. A simple ConvNet for CIFAR-10 classification could have the above architecture [INPUT – CONV – RELU – POOL – FC].
INPUT [32x32x3] will hold the raw pixel values of the image, in this case an image of width 32, height 32, and with three color channels R,G,B.
CONV layer will compute the output of neurons that are connected to local regions in the input, each computing a dot product between their weights and a small region they are connected to in the input volume. This may result in volume such as [32x32x12] if we decided to use 12 filters.
RELU layer will apply an elementwise activation function, such as the max(0,x)max(0,x)thresholding at zero. This leaves the size of the volume unchanged ([32x32x12]).
POOL layer will perform a downsampling operation along the spatial dimensions (width, height), resulting in volume such as [16x16x12].
FC (i.e. fully-connected) layer will compute the class scores, resulting in volume of size [1x1x10], where each of the 10 numbers correspond to a class score, such as among the 10 categories of CIFAR-10. As with ordinary Neural Networks and as the name implies, each neuron in this layer will be connected to all the numbers in the previous volume.
In this way, ConvNets transform the original image layer by layer from the original pixel values to the final class scores. Note that some layers contain parameters and others don’t. In particular, the CONV/FC layers perform transformations that are a function of not only the activations in the input volume, but also of the parameters (the weights and biases of the neurons). On the other hand, the RELU/POOL layers will implement a fixed function. The parameters in the CONV/FC layers will be trained with gradient descent so that the class scores that the ConvNet computes are consistent with the labels in the training set for each image.
Convolution is a technique that allows us to extract visual features from an image in small chunks. Each neuron in a convolution layer is responsible for a small cluster of neurons in the receding layer. CNNs work well for a variety of tasks including image recognition, image processing, image segmentation, video analysis, and natural language processing.
Recurrent Neural Network
The recurrent neural network (RNN), unlike feed forward neural networks, can operate effectively on sequences of data with variable input length.
The idea behind RNNs is to make use of sequential information. In a traditional neural network we assume that all inputs (and outputs) are independent of each other. But for many tasks that is a very bad idea. If you want to predict the next word in a sentence you better know which words came before it. RNNs are called recurrent because they perform the same task for every element of a sequence, with the output being depended on the previous computations. Another way to think about RNNs is that they have a “memory” which captures information about what has been calculated so far. This is essentially like giving a neural network a short-term memory. This feature makes RNNs very effective for working with sequences of data that occur over time, For example, the time-series data, like changes in stock prices, a sequence of characters, like a stream of characters being typed into a mobile phone.
The two variants on the basic RNN architecture that help solve a common problem with training RNNs are Gated RNNs, and Long Short-Term Memory RNNs (LSTMs). Both of these variants use a form of memory to help make predictions in sequences over time. The main difference between a Gated RNN and an LSTM is that the Gated RNN has two gates to control its memory: an Update gate and a Reset gate, while an LSTM has three gates: an Input gate, an Output gate, and a Forget gate.
RNNs work well for applications that involve a sequence of data that change over time. These applications include natural language processing, speech recognition, language translation, image captioning and conversation modeling.
So this article was about various Deep Learning techniques. Each technique is useful in its own way and is put to practical use in various applications daily. Although deep learning is currently the most advanced artificial intelligence technique, it is not the AI industry’s final destination. The evolution of deep learning and neural networks might give us totally new architectures. Which is why more and more institutes are offering courses on AI and Deep Learning across the world and in India as well. One of the best and most competent artificial intelligence certification in Delhi NCR is DexLab Analytics. It offers an array of courses worth exploring.
In the first series of this article we have seen what is computer vision and a brief review of its applications. You can read the first part of this article here. We have also seen the contribution of deep learning in computer vision. Especially we focused on Image Classification and deep learning architecture which is used in Image Classification. In this series we will focus on other applications including Image Localization, Object Detection and Image Segmentation. We will also walk through the required deep learning architecture used for above applications.
Image classification with Localization
Similar to classification, localization finds the location of a single object inside the image. Localization can be used for lots of useful real-life problems. For example, smart cropping (knowing where to crop images based on where the object is located), or even regular object extraction for further processing using different techniques. It can be combined with classification for not only locating the object but categorizing it into one of many possible categories.
Iterating over the problem of localization plus classification we end up with the need for detecting and classifying multiple objects at the same time. Object detection is the problem of finding and classifying a variable number of objects on an image. The important difference is the “variable” part. In contrast with problems like classification, the output of object detection is variable in length, since the number of objects detected may change from image to image.
The PASCAL Visual Object Classes datasets, or PASCAL VOC for short (e.g. VOC 2012), is a common dataset for object detection.
Deep learning for Image Localization and Object Detection
There is nothing hardcore about the architectures which we are going to discuss. What we are going to discuss are some clever ideas to make the system intolerant to the number of outputs and to reduce its computation cost. So, we do not know the exact number of objects in our image and we want to classify all of them and draw a bounding box around them. That means that the number of coordinates that the model should output is not constant. If the image has 2 objects, we need 8 coordinates. If it has 4 objects, we want 16. So how we build such a model?
One key idea to traditional computer vision is regions proposal. We generate a set of windows that are likely to contain an object using classic CV algorithms, like edge and shape detection and we apply only these windows (or regions of interests) to the CNN. To learn more about how regions are proposed, we introduce a new architecture called RCNN.
Given an image with multiple objects, we generate some regions of interests using a proposal method (in RCNN’s case this method is called selective search) and wrap the regions into a fixed size. We forward each region to Convolutional Neural Network (such as AlexNet), which will use an SVM to make a classification decision for each one and predicts a regression for each bounding box. This prediction comes as a correction of the region proposed, which may be in the right position but not at the exact size and orientation.
Although the model produces good results, it suffers from a major issue. It is quite slow and computationally expensive. Imagine that in an average case, we produce 2000 regions, which we need to store in disk, and we forward each one of them into the CNN for multiple passes until it is trained. To fix some of these problems, an improvement of the model comes in play called ‘Fast-RCNN’
The idea is straightforward. Instead of passing all regions into the convolutional layer one by one, we pass the entire image once and produce a feature map. Then we take the region proposals as before (using some external method) and sort of project them onto the feature map. Now we have the regions in the feature map instead of the original image and we can forward them in some fully connected layers to output the classification decision and the bounding box correction.
Note that the projection of regions proposal is implemented using a special layer (ROI layer), which is essentially a type of max-pooling with a pool size dependent on the input, so that the output always has the same size.
And we can take this a step further. Using the produced feature maps from the convolutional layer, we infer regions proposal using a Region Proposal network rather than relying on an external system. Once we have those proposals, the remaining procedure is the same as Fast-RCNN (forward to ROI layer, classify using SVM and predict the bounding box). The tricky part is how to train the whole model as we have multiple tasks that need to be addressed:
The region proposal network should decide for each region if it contains an object or not.
It needs to produce the bounding box coordinates.
The entire model should classify the objects to categories.
And again predict the bounding box offsets.
As the name suggests, Faster RCNN turns out to be much faster than the previous models and is the one preferred in most real-world applications.
Localization and object detection is a super active and interesting area of research due to the high emergency of real world applications that require excellent performance in computer vision tasks (self-driving cars, robotics). Companies and universities come up with new ideas on how to improve the accuracy on regular basis.
There is another class of models for localization and object detection, called single shot detectors, which have become very popular in the last few years because they are even faster and require less computational cost in general. Sure, they are less accurate, but they are ideal for embedded systems and similar power-hungry applications.
Going one step further from object detection we would want to not only find objects inside an image, but find a pixel by pixel mask of each of the detected objects. We refer to this problem as instance or object segmentation.
Semantic Segmentation is the process of assigning a label to every pixel in the image. This is in stark contrast to classification, where a single label is assigned to the entire picture. Semantic segmentation treats multiple objects of the same class as a single entity. On the other hand, instance segmentation treats multiple objects of the same class as distinct individual objects (or instances). Typically, instance segmentation is harder than semantic segmentation.
In order to perform semantic segmentation, a higher level understanding of the image is required. The algorithm should figure out the objects present and also the pixels which correspond to the object. Semantic segmentation is one of the essential tasks for complete scene understanding. This can be used in analysis of medical images and satellite images. Again, the VOC 2012 and MS COCO datasets can be used for object segmentation.
Deep Learning for Image Segmentation
Modern image segmentation techniques are powered by deep learning technology. Here are several deep learning architectures used for segmentation.
Convolutional Neural Networks (CNNs)
Image segmentation with CNN involves feeding segments of an image as input to a convolutional neural network, which labels the pixels. The CNN cannot process the whole image at once. It scans the image, looking at a small “filter” of several pixels each time until it has mapped the entire image. To learn more see our in-depth guide about Convolutional Neural Networks.
Fully Convolutional Networks (FCNs)
Traditional CNNs have fully-connected layers, which can’t manage different input sizes. FCNs use convolutional layers to process varying input sizes and can work faster. The final output layer has a large receptive field and corresponds to the height and width of the image, while the number of channels corresponds to the number of classes. The convolutional layers classify every pixel to determine the context of the image, including the location of objects.
One main motivation for DeepLab is to perform image segmentation while helping control signal decimation—reducing the number of samples and the amount of data that the network must process. Another motivation is to enable multi-scale contextual feature learning—aggregating features from images at different scales. DeepLab uses an ImageNet pre-trained residual neural network (ResNet) for feature extraction. DeepLab uses atrous (dilated) convolutions instead of regular convolutions. The varying dilation rates of each convolution enable the ResNet block to capture multi-scale contextual information. DeepLab comprises three components:
Atrous convolutions—with a factor that expands or contracts the convolutional filter’s field of view.
ResNet—a deep convolutional network (DCNN) from Microsoft. It provides a framework that enables training thousands of layers while maintaining performance. The powerful representational ability of ResNet boosts computer vision applications like object detection and face recognition.
Atrous spatial pyramid pooling (ASPP)—provides multi-scale information. It uses a set of atrous convolutions with varying dilation rates to capture long-range context. ASPP also uses global average pooling (GAP) to incorporate image-level features and add global context information.
SegNet neural network
An architecture based on deep encoders and decoders is also known as semantic pixel-wise segmentation. It involves encoding the input image into low dimensions and then recovering it with orientation invariance capabilities in the decoder. This generates a segmented image at the decoder end.
In this post we have discussed some applications of computer vision including Image Localization, Object Detection and Image Segmentation. We then discussed required deep learning architectures which are used for the above applications.