Machine vision: introduction to this interesting discipline

artificial vision artificial recognition

Arduino may seem very rudimentary, but it’s more than enough to create even fairly advanced projects. With the help of some existing modules in the market, like the camera modules, and with the help of some libraries or APIs, you can provide your project with intelligence or >strong> artificial vision. This will give new applications and new horizons beyond the rudimentary projects.

Machine vision is a type of computer vision. It is not simply capturing the image through a digital camera, but it goes beyond that. It can be used to acquire data from the environment, process the image, analyze it, understand real world images, etc. For example, it could be used to obtain numerical information through the camera, recognize human beings, etc. Imagine what you could do with this…

artificial vision artificial recognition

By example, many current vision systems are based on this type of vision, such as some vehicles that allow automatic parking, mapping of the environment, traffic control systems on roads, or recognize pedestrians to stop the vehicle and not run them over, recognize faces and obtain data from people recorded in a database as in some security systems, video analysis, etc.

The potential of this artificial vision is so extreme that governments and large corporations use it for a multitude of purposes, whether legal or not. Some practical fields of application that you’re sure to know about are:

    • >strong>Facebook: uses this type of artificial vision for photos uploaded to your social network, so you can recognize faces through complex algorithms. That way, you can feed your AI to make it more powerful and improve it for other future applications.

Necessary material

OpenCV logo

In addition to the Arduino board with the microcontroller that you can program and that makes use of libraries, you will need other basic elements for your project. Among them, of course, a module with a camera capable of image processing. An example of this is the Pixy CMUCam 5 or similar. This module has a powerful processor that can be programmed to send information captured by the sensor through the UART serial port, SPI, I2C, digital out, or analog signals.

The Pixy CMUCam 5 can process up to 50 frames per second (50 FPS). With these capabilities, you could program it to send only the images you want or need to search for, instead of constantly recording all the video it captures. For easier handling, there is a free open source application called href=”” target=”_blank” rel=”noopener noreferrer”>PixyMon for your control.

Pixy 2 CMUcam 5

If you decide to purchase this Pixy CMUcam5, it will come with a 6 pin to 10 pin IDC cable, and the mounting hardware. In addition, the technical characteristics of the module are

Besides that, you should take into account that you have at your disposal other kind of APIs, libraries and more material that can help you to create all kinds of projects with the help of these cameras and artificial vision. For example, it is necessary to emphasize:

    >a href=”” target=”_blank” rel=”noopener noreferrer”>OpenCV: is a free artificial vision library initially developed by Intel. It has now been released under BSD license and can be used by anyone for motion detection, object recognition, robotic vision, facial recognition, etc. It is multiplatform, so it can be used in GNU/Linux, macOS, Windows and Android.

From Hwlibre, I encourage you to start experimenting and learning about this discipline…

Arduino sensor compatible plate for Arduino

In order to use this Pixy 2 CMUcam5 module with your Arduino board, you must use several extra elements. For example, you can use a servomotor, or , to act when the camera detects an object that you have programmed it for. Of course, you will have to download the PixyMon software I said before and the GitHub library for Arduino.
Once you have PixyMon installed on your operating system, the next step is to follow these steps:

    the signatures or choose Delete specific signature. You can even go to Configuration or Setup and then go to the specific signature you want to modify to change it…

    Pixy connected to Arduino

    Now you can go ahead and configure your Arduino board if you want. To do this, you know you have to use the Pixy library for Arduino. This library will also include simple examples that you can start experimenting with without writing code from scratch. Simply open them and run these sketches or make modifications to them to see how they behave. To make this library available, you can follow these steps.

      <” target=”_blank” rel=”noopener noreferrer”>Download>/a> the library for Arduino.
      Include Library, then Add Library and select the one you downloaded.
      <Now, the window will start showing information.

    Of course, don’t forget to connect all the electronics you need to your Arduino board, including the camera itself. You already know that it connects to the Arduino ISCP pins intended for these modules, as you can see in the picture…

Leave a Comment