domingo, 2 de febrero de 2020


IMPLEMENTATION OF HU MOMENTS IN ROBOT OBJECT FOLLOWER

Resultado de imagen para vision por computador


INTRODUCTION

The advancement of technology has grown immeasurably, especially in the field of artificial intelligence where numerous robotic assistance projects have been developed, are characterized by the need to imitate and carry out human processes that help those who use them to achieve specific tasks or objectives. In this project a robot has been raised follower and imitator of movements of objects through the implementation of OpenCV, python and invariant moments of HU.


THEORETICAL FRAMEWORK


Hu Moments

They are a set of seven invariant descriptors that quantify the shape of an object, where the first two moments are computed as:


where the normalized central moments of the second order are calculated as:


and the geometrical moments of order p + q are calculated as:

where I (x, y) is a pixel of the object with coordinates (x, y).


OpenCV


It is a free artificial vision library originally developed by Intel. Since its first alpha version appeared in January 1999, it has been used in countless applications. From security systems with motion detection, to process control applications where object recognition is required. This is because its publication is given under a BSD license, which allows it to be used freely for commercial and research purposes with the conditions expressed therein.

Open CV is cross-platform, with versions available for GNU / Linux, Mac OS X, Windows and Android. It contains more than 500 functions that cover a wide range of areas in the vision process, such as object recognition (facial recognition), camera calibration, stereo vision and robotic vision.

The project aims to provide an easy-to-use and highly efficient development environment. This has been achieved by programming in optimized C and C ++ code, taking advantage of the capabilities provided by multicore processors

Resultado de imagen para open cv



Python

It is an interpreted programming language whose philosophy emphasizes the readability of its code. It is a multiparadigma programming language, since it supports object orientation, imperative programming and, to a lesser extent, functional programming. It is an interpreted, dynamic and multiplatform language.

Python uses dynamic typing and reference counting for memory management. An important feature of Python is dynamic name resolution; that is, what links a method and a variable name during program execution (also called dynamic method linking). Another objective of language design is the ease of extension. New modules can be written easily in C or C ++. Python can be included in applications that need a programmable interface.

Resultado de imagen para python


DEVELOPMENT

  1. Robot Construction

     2. Circuit Construction




     3.  Source Code in OpenCV + Python



RESULTS




CONCLUSION

This project has allowed the development of a prototype object identifier that follows its movements through the use of software such as opencv, python, and arduino.

The proposed prototype may in the future serve as the basis for the development of much more comprehensive assistance tools through simple and efficient technology.