You are on page 1of 19

INGENIERA ELECTRNICA

INFORMATICA INDUSTRIAL

Tema: Reconocimiento de monedas para contar la cantidad de dinero que existe utilizando
redes neuronales mediante MATLAB y Raspberry Pi.

Nombres: Geremy Novoa -----------------------------

David Loja -----------------------------

Andres Gualoto -----------------------------

Diego Romn -----------------------------

Nivel: Noveno

Fecha: 2017 / 07 / 14

Docente: Ing. Johanna Celi MSc.

Quito Ecuador
Contenido
Contenido .................................................................................................................................... 2
ndice de figuras ........................................................................ Error! Bookmark not defined.
1 OBJETIVOS ........................................................................................................................ 3
1.1 General .......................................................................................................................... 3
1.2 Especficos .................................................................................................................... 3
1.3 Problema a resolver ...................................................................................................... 4
CAPITULO I ............................................................................................................................... 4
1.4 Aplicaciones de las redes neuronales ............................................................................ 4
1.5 Raspberry Pi .................................................................................................................. 5
1.6 Raspberry Pi 2 Modelo B.............................................................................................. 6
1.7 Raspberry Pi Camera Module ....................................................................................... 6
1.8 Matlab ........................................................................................................................... 7
1.9 Neurona Network Toolbok ........................................................................................... 8
1.10 Perceptron.................................................................................................................. 9
1.11 Backpropagation...................................................................................................... 10
2 PROPUESTA DE SOLUCION ......................................................................................... 11
2.1 Propuesta ..................................................................................................................... 11
3 DISEO DESARROLLO E IMPLEMENTACION ......................................................... 11
4 PRUEBAS Y RESULTADOS .......................................................................................... 14
5 Conclusiones...................................................................................................................... 18
6 Bibliografa ........................................................................................................................ 19

2
1 OBJETIVOS

1.1 General
Implementar y disear redes neuronales usando el software MATLAB mediante una
Raspberry Pi para el reconocimiento y conteo de monedas.

1.2 Especficos
Analizar la operacin y funcionamiento de las redes neuronales en el proceso de
reconocimiento de monedas con visin artificial.
Implementar el algoritmo de programacin en Matlab y Raspberry Pi.
Calcular el valor de cada moneda y sumar los valores de las monedas.

3
1.3 Problema a resolver

El propsito de desarrollar este proyecto es resolver los inconvenientes que se presentan


al momento de usar redes neuronales en la visin artificial, de tal forma que se pueda
implementar mediante el software MATLAB y una Raspberry Pi, donde se analizara las
excentricidades de las monedas para posteriormente calcular el monto que suman las mismas.

CAPITULO I
ESTADO DEL ARTE

1.4 Aplicaciones de las redes neuronales

Las RNA (Redes Neuronales Artificiales) son bastante apropiadas para aplicaciones en
las que no se dispone un modelo identificable que pueda ser programado, pero se dispone de un
conjunto bsico de ejemplos de entrada. Estas son robustas tanto al ruido como a la disfuncin
de elementos concretos. Como por ejemplo problemas de clasificacin y reconocimiento de voz,
imgenes, etc. Tambin se han utilizado para encontrar patrones de fraude econmico, hacer
predicciones en el mercado financiero, de tiempo atmosfrico, etc.

Otro uso diferente de las redes neuronales artificiales se ha aplicado en algoritmos


genticos (AG) para crear controladores para robots. Los Algoritmos Genticos es una
disciplina que trata la evolucin de redes neuronales mediante algoritmos genticos se
denomina Robtica Evolutiva. En este tipo de aplicacin el genoma del AG lo constituyen los
parmetros de la red (topologa, algoritmo de aprendizaje, funciones de activacin, etc.) y la
adecuacin de la red viene dada por la adecuacin del comportamiento exhibido por el robot
controlado.

Las tareas se aplican a las redes neuronales artificiales tienden a caer dentro de las
siguientes categoras generales:

Aproximacin de funciones, anlisis de regresin , prediccin de series de


tiempo , aproximacin de la capacidad y el modelado.
Procesamiento de datos, incluyendo el filtrado, el agrupamiento, la separacin
ciega de fuentes y compresin.

4
Robtica , incluyendo manipuladores, que dirigen la prtesis .
Clasificacin , incluyendo el patrn y la secuencia de reconocimiento, deteccin
y de la toma de decisiones secuencial.
De control , incluyendo control numrico por ordenador .

Las reas de aplicacin incluyen la identificacin del sistema y el control, la qumica


cuntica , juego de papeles y la toma de decisiones por ejemplo backgammon,
ajedrez, pquer, el reconocimiento de patrones en radares, identificacin de la cara,
reconocimiento de objetos, etc. de reconocimiento de secuencia (gesto, voz, reconocimiento de
texto escrito a mano), diagnstico mdico , aplicaciones financieras, etc.

1.5 Raspberry Pi

Raspberry Pi es un computador de placa reducida, computador de placa nica o


computador de placa simple (SBC) de bajo costo desarrollado en Reino Unido por la Fundacin
Raspberry Pi, con el objetivo de estimular la enseanza de ciencias de la computacin en las
escuelas. Es un producto con propiedad registrada, pero de uso libre. De esa forma mantienen
el control de la plataforma, pero permitiendo su uso libre tanto a nivel educativo como particular.

En cambio, el software s es open source, siendo su sistema operativo oficial una versin
adaptada de Debian, denominada Raspbian, aunque permite usar otros sistemas operativos,
incluido una versin de Windows 10. En todas sus versiones incluye un procesador Broadcom,
una memoria RAM, una GPU, puertos USB, HDMI, Ethernet, 40 pines GPIO y un conector
para cmara. Ninguna de sus ediciones incluye memoria, siendo esta en su primera versin una
tarjeta SD y en ediciones posteriores una tarjeta MicroSD.

Figura 1 Raspberry PI 2.

5
1.6 Raspberry Pi 2 Modelo B

Lanzada en 2014 es el primer modelo que no incluye el mismo procesador usado en los
tres anteriores: se sustituye por uno de la misma marca, pero de modelo BCM2836. Pasa de ser
de un ncleo a cuatro, y de 700MHz a 900MHz. No obstante, emplea la misma grfica, la
VideoCore IV. Dobla la cantidad de memoria RAM, pasando de 512MB a 1GB esta memoria
est compartida con la grfica. Tambin incluye 40 pines GPIO, y mantiene los cuatro puertos
USB. Suprime la conexin RCA.

A continuacin, se muestra una imagen con la comparacin de las caractersticas entre


Raspberry Pi y Raspberry Pi 2.

Figura 2 Caractersticas de Raspberry Pi y Raspberry Pi 2.

1.7 Raspberry Pi Camera Module

El mdulo de cmara Raspberry Pi se puede utilizar para tomar vdeo de alta definicin,
as como fotografas de fotografas. La cmara se compone de una placa de circuito pequea
(25 mm por 20 mm por 9 mm), que se conecta al conector de bus serie CSI de la cmara de la
frambuesa Pi por medio de un cable plano flexible. El sensor de imagen de la cmara tiene una
resolucin nativa de cinco megapxeles y tiene una lente de enfoque fijo.

6
El software de la cmara admite imgenes fijas de resolucin completa de hasta 2592x1944 y
resoluciones de vdeo de 1080p30, 720p60 y 640x480p60 / 90.

Caractersticas

Sensor de 5MP
Imagen ms amplia, capaz de 2592x1944 imgenes fijas, video 1080p30
Video 1080p soportado
CSI
Tamao: 25 x 20 x 9 mm

Figura 3 Raspberry Pi Camera Module.

1.8 MATLAB

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una


herramienta de software matemtico que ofrece un entorno de desarrollo integrado (IDE) con
un lenguaje de programacin propio (lenguaje M). Est disponible para las
plataformas Unix, Windows, Mac OS X y GNU/Linux .

Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la representacin


de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario
(GUI) y la comunicacin con programas en otros lenguajes y con otros dispositivos hardware.
El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones,
a saber, Simulink (plataforma de simulacin multidominio) y GUIDE (editor de interfaces de
usuario - GUI). Adems, se pueden ampliar las capacidades de MATLAB con las cajas de
herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
7
Es un software muy usado en universidades y centros de investigacin y desarrollo. En
los ltimos aos ha aumentado el nmero de prestaciones, como la de programar
directamente procesadores digitales de seal o crear cdigo VHDL.

Figura 4 Software MATLAB R2015a.

1.9 Neurona Network Toolbok

Neural Network Toolbox proporciona algoritmos, modelos pre entrenados y


aplicaciones para crear, entrenar, visualizar y simular redes neurales superficiales y
profundas. Puede realizar la clasificacin, la regresin, el agrupamiento , la reduccin de la
dimensionalidad, la prediccin de series temporales y el modelado y control de sistemas
dinmicos.

Las redes de aprendizaje profundo incluyen redes neuronales convolucionales


(ConvNets, CNNs) y codificadores automticos para la clasificacin de imgenes, la regresin
y el aprendizaje de caractersticas.

Para los conjuntos de formacin pequeos, puede aplicar rpidamente el aprendizaje


profundo mediante la realizacin de transferencia de aprendizaje con pre entrenado redes
profundas.

8
Figura 5 Neural Network ToolBox.

1.10 Perceptron

El perceptrn dentro del campo de las redes neuronales tiene dos conceptualizaciones.
Puede referirse a un tipo de red neuronal artificial desarrollada por Frank Rosenblatt y, dentro
de esta teora emitida por Rosenblatt, tambin puede entenderse como la neurona artificial o
unidad bsica de inferencia en forma de discriminador lineal, a partir de lo cual se desarrolla un
algoritmo capaz de generar un criterio para seleccionar un sub-grupo a partir de un grupo de
componentes ms grande. La limitacin de este algoritmo es que, si dibujamos en un plot estos
elementos, se deben poder separar con un hiperplano nicamente los elementos "deseados"
discriminndolos (separndolos) de los "no deseados".

El perceptrn puede utilizarse con otros perceptrones u otro tipo de neurona artificial, para
formar redes neuronales ms complicadas.

9
Figura 6 Diagrama de un perceptrn con cinco seales de entrada.

1.11 Backpropagation

La propagacin hacia atrs de errores o retropropagacin (del ingls backpropagation) es


un algoritmo de aprendizaje supervisado que se usa para entrenar redes neuronales artificiales.
El algoritmo emplea un ciclo propagacin adaptacin de dos fases. Una vez que se ha aplicado
un patrn a la entrada de la red como estmulo, este se propaga desde la primera capa a travs
de las capas siguientes de la red, hasta generar una salida. La seal de salida se compara con la
salida deseada y se calcula una seal de error para cada una de las salidas.

Las salidas de error se propagan hacia atrs, partiendo de la capa de salida, hacia todas las
neuronas de la capa oculta que contribuyen directamente a la salida. Sin embargo, las neuronas
de la capa oculta solo reciben una fraccin de la seal total del error, basndose
aproximadamente en la contribucin relativa que haya aportado cada neurona a la salida
original. Este proceso se repite, capa por capa, hasta que todas las neuronas de la red hayan
recibido una seal de error que describa su contribucin relativa al error total.

La importancia de este proceso consiste en que, a medida que se entrena la red, las neuronas de
las capas intermedias se organizan a s mismas de tal modo que las distintas neuronas aprenden
a reconocer distintas caractersticas del espacio total de entrada. Despus del entrenamiento,
cuando se les presente un patrn arbitrario de entrada que contenga ruido o que est incompleto,
las neuronas de la capa oculta de la red respondern con una salida activa si la nueva entrada
contiene un patrn que se asemeje a aquella caracterstica que las neuronas individuales hayan
aprendido a reconocer durante su entrenamiento.

10
Figura 7 Diagrama de un perceptrn con cinco seales de entrada.

2 PROPUESTA DE SOLUCION

2.1 Propuesta
El presente trabajo tiene la finalidad de utilizar una tarjeta Raspberry juntamente con el
software Matlab mediante redes neuronales, aplicando dicho concepto de un sistema de
aprendizaje para el reconocimiento de monedas. Adicional se realiz un escritorio remoto para
el control del proceso de la misma.

3 DISEO DESARROLLO E IMPLEMENTACION


Para el diseo de redes neuronales se utiliz el software de MATLAB con sus respectivas
libreras para la comunicacin con la tarjeta Raspberry, las mismas que se muestran a
continuacin.

Figura 8 Diagrama de un perceptrn con cinco seales de entrada.

11
Descarga completa de Raspberry Whezzy

Figura 9 Raspberry Whezzy.

Elegir un paquete de soporte para iniciar el proceso de configuracin.

Figura 10 Proceso de configuracin.

12
Proceso de actualizacin del firmware para el hardware de Raspberry Pi, seleccionar la
tarjeta con la cual se va a trabajar.

Figura 11 Actualizacin del firmware.

Se procede a seleccionar el tipo de red en la que se desea trabajar.

Figura 12 Configuracin manual del host.

13
Seleccionar un dispositivo extrable para instalar el firmware.

Figura 13 Proceso para instalar el firmware.

4 PRUEBAS Y RESULTADOS

Para implementar el sistema de redes neuronales se procedi a conectar la Raspberry con


su respectiva cmara y la Pc mediante un cable Ethernet, el cual nos permite realizar una
comunicacin con Matlab, de tal manera generamos un escritorio remoto para poder trabajar en
ella.

Figura 14 Software y Hardware implementado.

14
Proceso de verificacin de las monedas.

Figura 15 Estacin de verificacin de monedas.

Para el siguiente paso procedemos a ejecutar el programa donde podemos observar la


interfaz grfica mediante la herramienta guide de Matlab.

Figura 16 interfaz grfica en el guide de Matlab.

15
A continuacin, realizamos la programacin en cada funcin creada en la interface.

Figura 16 Algoritmo implementado en Matlab.

Proceso de la toma de muestras de las monedas.

Figura 17 Fotografa de la moneda.

16
Anlisis de la fotografa.

Figura 18 Anlisis de la moneda.

Proceso de tratamiento de la imagen a escala de grises.

Figura 19 Fotografa en escala de grises.

17
Conteo del valor de moneda 1 dlar.

Figura 20 Representacin del valor de la moneda.

5 Conclusiones

Un valor de entrada es asignado a una de las clases de salida segn la neurona de la


capa de salida que se activa, mientras que los pesos de la red neuronal determinan la
correspondencia entre los espacios de entrada y salida.
Las redes neuronales artificiales son una herramienta de aprendizaje y procesamiento
automtico donde cada neurona recibe una serie de entradas a travs de
interconexiones y emite una salida.
Para la clasificacin y conteo de monedas cada pixel es clasificado en fondo y objeto
segn su valor numrico, de modo que un pixel es clasificado fondo o como objeto,
y depende del valor de excentricidad para determinar el valor.
Cada pixel de la imagen representa la medicin de una foto detector en el sensor de
la cmara usada en la Raspberry donde un sensor es una matriz de foto detectores, y
una matriz puede analizarse y transformarse numricamente.

18
6 Bibliografa

MATWORKS. (2015). MATLAB para Raspberry Pi. 2017, de MATLAB Sitio


web: https://www.mathworks.com/videos/install-the-matlab-support-
package-for-raspberry-pi-94266.html
Cambridge University. (2012). RASPBERRY PI. 2015, de Fundacin Raspberry Pi Sitio web:
https://www.raspberrypi.org/

Henrquez, Mauricio (2011). Control Automtico de Condiciones Ambientales en Domtica


usando Redes Neuronales Artificiales, Networks. (English) (1 ED.) Chile

19

You might also like