03-08-2020 | | By Robin Mitchell
Visual AI systems are helping the industry in incredible ways ranging from defect detection to object sorting. But visual AI is something that anyone can get into, so what benefits do visual AI systems have, and what example projects and platforms can you use to get introduced to visual AI systems?
Industrial revolutions come in different forms; the first one saw man conquer metal and gave us the iron age. After that, mass production of food in the form of agriculture helped us become less dependent on foraging food and allow allowed us to store food for long periods. The industrial revolution in the Victorian era saw mass production become commonplace, while large steam engines provided the power needed to achieve this. The introduction of the transistor can easily be argued to be an industrial revolution, providing us with modern-day life, and devices that can compute incredible amounts of data. A new wave of technology, AI, is now taking the industry as a whole by storm and will become as crucial as the microchip itself. This introduction of AI into modern life can also be thought of as its revolution. It allows machines to think on their own without the need for human dictation all their decisions and reasoning.
Visual AI systems are those that take visual images (such as camera footage), and make determinations from those images. One typical example of how this is used is object recognition; an AI can be used to identify different objects in an image and provide location data as well as the orientation of the object. Facial recognition is another key technology that is derived from visual AI systems. Such systems can provide face detection which looks for faces or can be used to accurately identify a face and match that face to an individuals record.
Typical applications in industrial processes that utilise object detect are objected sorting systems. A conveyor belt can have products on the belt in random locations that are scanned by a camera. The AI system not only identifies what the components are but can relay the position information to a robotic arm which can be used to pick out specific parts. Object detection can also be used in reverse; to look for inconsistencies in an image. Such a system is useful for automatic optical inspection (AOI), that can detect the smallest defects in a material or product. For example, Alibaba and Intel combined their capabilities to produce a PC that is capable of detecting defects in cars. The result was an increase in detection rates from 20% to 99%; a critical change when needing to produce reliable vehicles.
Visual AI is a tool that will become widespread in the next decade. But, how can a maker get into visual AI? What tools will you need, and are there free libraries?
The answer to this question is an outstanding YES, and the best part is that all of it can be done for free! Simply googling visual AI libraries will give you a ton of results, but to be honest, free is often the best path as you only need to invest time as opposed to hard cash.
In terms of what computer language you can use, the good news is that most major languages are supported including C, C++, and Python. However, the language you choose will have an impact on the overall performance, so if speed is required, then consider a compiled language such as C or C++. If you are more interested in creating an easy to use the system, then Python is the language for you.
When considering the hardware platform that you want to use, the Raspberry Pi makes for an excellent mobile system that can be easily integrated into projects. While desktop PCs can be used (which provide superior CPU and RAM specs), the Raspberry Pi is a very low-cost system that has a whole range of free operating systems to choose from. The many I/O connectors, combined with the ability to connect to cameras directly, make the Pi a suitable image platform. However, AI performance will be hindered on the Pi as a result of the lower CPU and RAM specs.
Choosing the visual AI platform is critical in your application and depends on what you find easiest. Google has released a platform called TensorFlow that works with most languages, is mostly open-source, and uses visual data graphs that can make it easier to understand what is going on. Theano is another platform created in Python, meaning that it is cross-platform, and thus will work in Linux on the Raspberry Pi. While the project is no longer being developed, it is optimised for use with CPUs and GPUs, making it efficient and numerical tasks. However, some users have reported that it is buggy with Amazon AWS, and requires multiple libraries to provide high levels of abstraction. Caffe is another visual AI library that is written in C++ and has bindings for use in Python and MATLAB. One of its advantages is that training models can be created without needing to write code, and also provides high performance. However, it is supposedly inadequate for recurrent networks, and also not ideal for new architectures. Open CV is another visual AI platform that is gaining popularity thanks to its open-source nature, and ability to support most computer languages. OpenCV provides a whole range of visual functions, including facial recognition, gesture recognition, object identification, motion tracking, and augmented reality.
If you are looking to implement visual AI into your next project, I would recommend using Python and OpenCV. Both work with the Pi is both free and easy to use. OpenCV gives you the ability to build many different projects while being cross-platform, allowing you to target any system that supports Python.