paint-brush
A Budding Fascination With Computer Visionby@lingotronix
274 reads

A Budding Fascination With Computer Vision

by TechTOMEDecember 7th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

I recently participated in an automated guided vehicle (AGV) project. In order to accomplish material handling, computer vision integration with robotics was used. I found myself drawn to the camera over time, which made me want to learn more about computer vision in depth. I would like to introduce the next series of computer vision algorithms employing microcomputers/microprocessors and a camera.

People Mentioned

Mention Thumbnail

Company Mentioned

Mention Thumbnail
featured image - A Budding Fascination With Computer Vision
TechTOME HackerNoon profile picture

Introduction

I recently participated in an automated guided vehicle (AGV) project. In order to accomplish material handling, computer vision integration with robotics was used. I was able to contribute to the robotic arm of the robot during the project, but I was really interested in learning more about the AGVs camera module. I found myself drawn to the camera over time, which made me want to learn more about computer vision in depth.


Source:https://www.adeept.com/learn/tutorial-390.html

I would like to introduce the next series of computer vision algorithms employing microcomputers/microprocessors and a camera in this paper.

My Project Scope

The robot's trajectory movement and path planning in the project were accomplished by computer vision. The processing was carried out by a Raspberry Pi 4, which also interfaced with the other modules, and the camera was utilized for object detection.


Because it can detect an object's distance and send a command to the DC to stop the robot, the ultrasonic sensor was employed for obstacle avoidance.


Additionally, the camera images were utilized to extract particular elements from the live image that was captured in order to identify the image.


OpenCV was used to train the Machine Learning Model that was installed on the Raspberry Pi, enabling object detection.

Programming Language

Python3.10: The high-level Python programming language is the one most frequently used for computer vision. When utilized, the language provides the following benefits.


1. In addition to being open source, it has a sizable fan base.


2. It has a huge collection of libraries with various functions.


3. It readily incorporates other technologies.


4. It is capable of data science and machine learning.


Google Colab, anyone can write and run any Python code through a browser, making it particularly useful for data analysis, machine learning, and teaching.


Python code can be executed in your web browser with Colab. You may use Graphic Power Units (GPUs) and storage, among other free cloud resources, using it. On notebooks, you may create, share, and work together with others.

How Computer Vision Systems Work


The camera first takes a picture to get an input image. Then the system checks if there are any objects nearby in the image.


If no objects are detected, the camera takes a new picture, hoping to find objects this time.

When objects are found in the image, the system looks at the shapes in the picture. It tries to match these shapes to known objects it can identify.


It keeps repeating this process of taking new pictures and searching for matching shapes until some object is recognized.


Once an object is matched successfully, the system can conclude the object is detected in the image.


In summary:

  1. Camera takes picture


  2. Check for objects


  3. If no objects, takes a new picture


  4. Look for matching shapes


  5. Repeat until detection

Computer Vision Algorithms

Since its introduction, computer vision and object detection algorithms have continuously advanced. They started out simple and have since evolved with new feature integrations. In the upcoming tutorial series, I am excited to try the following.


  1. Edge Impulse to generate the model


  2. R-CNN  -Stands for "Regions with Convolutional Neural Network" features.


  3. Fast R-CNN  -Refers to "Fast Regions with Convolutional Neural Network" features.


  4. SSD  - Stands for "Single Shot MultiBox Detector."


  5. YOLO - Stands for "You Only Look Once”

Challenges Faced in the AGV Project With Regard to Computer Vision

  • Quick movement: Tracking is challenging when robots move quickly and cameras have small fields of vision. Predictive tracking and wider lenses are helpful.


  • Similar-looking objects: Vision systems might have trouble telling apart individual parts of the same product or differentiating between similar objects. More distinctive traits or patterns are required.


  • Computational load: Large volumes of visual data from HD cameras necessitate intensive processing. The balance between edge/cloud and onboard processing is necessary.


References

  1. https://www.adeept.com/learn/detail-34.html
  2. Szeliski, R. (2022). Computer vision: algorithms and applications. Springer Nature.