Obstacle Detection Using Artificial Vision in Robotics


If we say that technology makes things very easy and provides the ability to think about and implement them then no one will question that because it is undoubtedly true.

One of the examples of rising technology is artificial vision; i.e., vision with the aid of computers. The scientists have navigated a way to detect anything with the help of machine by using computers. This is called obstacle detection.

Using obstacle detection, we check if the space is free of obstacles so that we can cross it safely. Since mobile Robots are now becoming so common, obstacle detection is very essential so that we can help in the functioning of these mobile devices.

In previous years, we commonly used digital cameras, scanners and SONAR to perform obstacle detection. These are actually the input devices which contribute to the collection of data. The data we have collected using these devices goes for processing by computers and hence used in obstacle detection.

But these are not efficient, as the input given by them is very limited. For Good Obstacle detection we need lots of data so that we can use it in processing and can perform efficient obstacle detection. The design of a good obstacle detection system should fulfill the following point. Our obstacle detecting system should:

  • Detect correct obstacles; detect obstacles in the surroundings in satisfactory time.
  • Also has the capability to identify and ignore the ground stuffs which appear like obstacles but not actually are.
Although we are detecting obstacles using infrared and LASER as well but here we will discuss only detection through artificial vision. In the process we have to process images dependent on light radiated form the Robot's environment.

We can perform optical detection using planar Homography and Image warping, Image segmentation and optical detection using epipolar geometry, planar homography and edge detection. In this section we will become familiar with these terms. Let's start with the planes.

Planes are used in obstacle detection because they are so simple to use. The transformation between a world plane and its corresponding image plane is known as Homography. To detect planar homographs we use a Random Sample Consensus algorithm.

It is a kind of algorithm in which image points of a common plane must satisfy the constraints. Lets have a look on the basic RANSAC algorithm.

Basic Ransac Scheme

In the basic RANSAC, first of all the corners are detected in both of the images. After this on these corners we will have to apply variance normalized correlation to see the matches.

From those selected points we select some points to compute Homography.

Image Warping

It is the process of digital manipulation of an image. In this process the points are mapped to points without changing the color.

Apart from optical detection, it is also used for correcting image distortion. Two types of mapping are possible:

  • Forward Mapping
  • Reverse Mapping

       clip 2.jpg

          
Modified Image Warping technique

      
Clipboard01.jpg

                Image-segmentation(Img-flong.com)

Image Segmentation: It is nothing but a process of partitioning a digital image into multiple segments.

Why we use segmentation??

Segmentation simplifies the image. It helps in representing the image into a simpler form. The partitioned image is more meaningful and easy for analysis. For performing segmentation we use various kinds of Algorithm.

We commonly use the K-means algorithm. It basically partitions the images into K clusters. It is an iterative technique which simplifys the image. It is used in so many applications like in medical field during diagnosis and tests for tumors.

A very important term which is used in the robotic world a lot nowadays is known as facial recognition. Segmentation has a very vital role in that field.

Edge-Detection

Edge-detection is one of the fundamental steps which we take in image processing and image analysis. In this process we detect sharp changes in the brightness. When we apply an edge detection algorithm on any image, it reduces the amount of data to be processed and filter out information which is not so important.

edge detection.jpg

Edge-Detection

Resources:

Scanners-C# Game

Basics of Data communication-Part 5

C# Artificial Intelligence(AI) Programming: A basic Object oriented(OOP) Framework for neural networks