Computer Vision is an Artificial Intelligence technology which enables the computer to see and understand things like humans do .Computer vision algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc.
Image analysis is the extraction of meaningful information from images and there by to reach some conclusions after analysing the information produced. Image analysis is needed in simple tasks like reading bar coded tags or as sophisticated tasks like identifying people from their face images. There are many important image analysis tools such as edge detectors and neural networks which are inspired by human visual perception models. It involves the fields of computer or machine vision, and medical imaging, and makes heavy use of pattern recognition, digital geometry, Natural scene text detection and signal processing. We make use of packages like Numpy, Scipy, Matplotlib, Dlib, Imutils and also the deep learning frame works like Keras and Caffe.
Feature Extraction is a vital part of Image Analysis. We look for specific patterns or specific features which are unique, can be easily tracked and can be easily compared.We search for these features in an image, find them, look for the same features in other images for comparison purpose and also for detection of a particular object. Harris Corner Detection and Shi-Tomasi Corner Detector are examples for feature extractors.
Algorithms like SIFT (Scale-Invariant Feature Transform), SURF (Speeded-Up Robust Features), BRIEF (Binary Robust Independent Elementary Features), ORB (Oriented FAST and Rotated BRIEF) etc are also used for Feature extraction while Brute-Force Matcher and FLANN based Matcher are used for feature matching.
Image segmentation is the process of partitioning partitioning a digital image into multiple segments. By segmentation we represent an image into something that is more meaningful and easier to analyze. With image segmetation localisation of specific objects and boundaries (lines, curves, etc.) are possible.
Object recognition is a technology in the field of computer vision for finding and identifying objects in an image or video sequence,for finding and identifying objects in an image or video sequence. Methods like Edge detction, Feature matching, Detecting the appearance parameters like Colour, Size and Shape, etc are used for Object Recognition. Convolutional Neural Networks are also used for object recognition.
Optical flow is the pattern of apparent motion of objects, surfaces, and edges in a visual scene caused by the relative motion between an observer and a scene. Optical flow is used by robotics researchers in many areas such as: object detection and tracking, image dominant plane extraction, movement detection, robot navigation and visual odometry. Optical flow information has been recognized as being useful for controlling micro air vehicles.