Hello Everyone
Artificial Intelligence is a branch of computer science that is concerned with building smart machines that are capable of perform tasks that previously required human intervention.
Artificial Intelligence has five main technical direction areas. These are Computer vision, Speech recognition, Natural Language recognition, Planning decision system and Big Data Analysis. In this post I will be sharing with you an insight about Computer Vision Tools for those new to the arena. Hope you will learn something. Please feel free to comment and I’m very open for further discussion. Enjoy.
Computer vision is a subfield of Artificial Intelligence that is responsible for making or teaching computers to see, observe and understand the visual world of digital images and videos.
Computer Vision Tools
OpenCV - Open Source Computer Vision Library is an open-source computer vision library that encapsulate many different modules for computer vision and machine learning. OpenCV was created by Intel and was released in the year 2000. OpenCV is integrated with many various algorithms that are related to computer vision that can perform a variety of functions including facial detection, analysis and recognition, object detection, monitoring moving objects, tracking camera movements, tracking eye movements, extracting 3D models of objects, recognizing similar images in an image database. OpenCV is support by various system platforms including windows, linux and macOS. It also provides interfaces for python, java, matlab and C++ programming languages. Follow the link for more https://opencv.org/
Tensorflow – TensorFlow (tf) is a free open-source platform that comprise of a wide variety of tools, libraries, and resources for Artificial Intelligence, Machine Learning and Deep Learning including Computer Vision. It was created by the Google and was initially released in 2015. You can use TensorFlow build and train Machine Learning models related to computer vision that include facial detection, analyses and recognition, Image analysis and object detection. Google also released the Pixel Visual Core (PVC) in 2017 which is an image, vision, and Artificial Intelligence processor for mobile devices. This Pixel Visual Core also supports TensorFlow for machine learning. Tensorflow support python, java and C++ programming languages.
MatLab - Matlab is a numerical computing environment that was developed by MathWorks in 1984. It contains the Computer Vision Toolbox which provides various algorithms and functions for computer vision. These include object detection, object tracking, feature detection, feature matching, camera calibration in 3-D, 3D reconstruction. You can also create and train custom object detectors in Matlab using machine learning algorithms such as ACF, Faster R-CNN, and YOLO. These algorithms can also be run on multicore processors and GPUs to make them much faster. The Matlab toolbox algorithms support code generation in C and C++ programming languages.
CUDA - The Compute Unified Device Architecture is a parallel computing platform that was created by Nvidia in 2007. It is used by software engineers for general purpose processing using the CUDA-enabled graphics processing unit or GPU. CUDA also has the Nvidia Performance Primitives library that contains various functions for image, signal, and video processing. Some other libraries and collections include GPU4Vision, OpenVIDIA for popular computer vision algorithms on CUDA, MinGPU which is a minimum GPU library for Computer Vision, etc. Developers can program in various languages like C, C++, Fortran, MATLAB and Python while using CUDA.
SimpleCV - SimpleCV is an open-source computer vision framework that can be used for building various computer vision applications. SimpleCV is simple and you can use various advanced computer vision libraries with it such as OpenCV without learning all the CV concepts in-depth such as file formats, buffer management, colour spaces, eigenvalues, bit depths, matrix storage, and bitmap storage. SimpleCV integrate you to experiment in computer vision using the images or video streams from webcams, mobile phones, and Kinects. It is the best framework if you need to perform some quick prototyping. You can use SimpleCV with Mac, Windows, and Ubuntu Linux operating systems. Follow the link for more http://simplecv.org/.
YOLO - YOLO or You only look once, is a latest and cutting edge real-time object detection system. It was created by Joseph Redmon and Ali Farhadi from the University of Washington and it is extremely fast and accurate as compared to the other object detectors. The YOLO algorithm is so fast as compared to other object detection algorithms because it applies a neural network to the full image in order to classify the objects. The neural network then partitions the image into regions and predicts probabilities for each region. On the other hand, the rest of the commonly used object detection algorithms apply the neural network to an image at many different locations and scales. YOLO is fast as It looks at the whole image so its predictions are informed by an overall context of the image.
BoofCV - BoofCV is an open-source library that is written specifically for real-time computer vision. It was released under an Apache 2.0 license for both academic and commercial use. There are options for various branches of CV in BoofCV including low-level image processing, feature detection and tracking and camera calibration. Some of the packages in BoofCV include Image processing functions with image processing functions that operate on pixels, Geometric vision for extracting image features using 2D and 3D geometry, Calibration that has functions to determine the camera’s intrinsic and extrinsic parameters, and Recognition for recognizing complicated visual objects. Follow the link for more https://boofcv.org/.
Keras - Keras is a deep learning Python library that combines the elements of different libraries. Examples include Tensorflow, Theano, and CNTK. Keras has a favorable position over contenders, for example, Scikit-learn and PyTorch, as it runs on top of Tensorflow. Keras can run on TensorFlow, Microsoft Cognitive Toolkit, Theano, or PlaidML. Its main purpose is for quick experimentation with deep neural networks, it centers around convenience, measured quality, and extensibility. Keras follows best practices for decreasing cognitive load, it offers steady and basic APIs and limits the number of user actions required for regular use cases. Follow this link for more about keras
https://keras.io/
Theano - Theano is a quick Python numerical library that can run on a CPU or GPU. It was created by the LISA group now known as MILA at the University of Montreal in Canada. Theano is an enhancing compiler for controlling and assessing mathematical expressions, especially matrix-valued ones. Follow the link for more https://theano.readthedocs.io
Conclusion
Please take your time to go through these tools. There are the building blocks of computer vision, a technology that is changing lives in a positive and productive way. Feel free to add your comments, suggestions and anything you feel might help. Happy Learning with Artificial Intelligence and Computer vision.