SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
UNIVERSIDAD TECNOLÓGICA DE CAMPECHE
DIRECCIÓN DE INGENIERÍA EN MECATRÓNICA
ISO 9001:2008
Cert. No. MQA 4000244
PROYECTO DE INTEGRADORA
FABRICACION DE JUGUETES
REALIZADA PARA LA EMPRESA:
LABORATORIO DE ELECTRONICA Y DISPOSITIVOS
TECNOLÓGICOS
QUE PRESENTAN:
ALEXIS RAMOS HERNÁNDEZ
ALEXANDER COCON SÁNCHEZ
ENRIQUE PÉREZ VAZQUEZ
EDGAR PÉREZ CANTE
DE LA PROFESIÓN:
INGENIERÍA EN MECATRÓNICA
GENERACIÓN:
2015-2017
San Antonio Cárdenas, Carmen, Campeche Diciembre de 2016
2
DATOS GENERALES DEL ALUMNO
ALUMNO:
ALEXIS RAMOS HERNÁNDEZ
MATRÍCULA:
4213010476
DIRECCIÓN Y TELÉFONO:
CALLE 77 #654C ENTRE 64ª Y 66 FRACCIONAMIENTO CIUDAD CAUCEL COL.
HERRADURA 2, MÉRIDA, YUCATAN.
TEL.: (938) 4054585 E-MAIL:alexis.1960@hotmail.com
3
ALUMNO:
ALEXANDER COCÓN SÁNCHEZ
MATRÍCULA:
4213010127
DIRECCIÓN:
AV. PERIFERICA NORTE #17 COL.OBRERA, CD. DEL CARMEN, CAMPECHE,
CEL. 938 126 60 53, E-MAIL. alex_cs95@outlook.com
4
ALUMNO:
ENRIQUE PÉREZ VAZQUEZ
MATRÍCULA:
4213010422
DIRECCIÓN:
CALLE MIGUEL HIDALGO N° 13, COL. FRANCISCO I. MADERO, CD. DEL CARMEN,
CAMPECHE,
CEL. 938 107 10 84, E-MAIL. enriqueperez_123@hotmail.com
ALUMNO:
5
EDGAR PÉREZ CÁNTE
MATRÍCULA:
4210010592
DIRECCIÓN Y TELÉFONO:
CALLE 77 #654C ENTRE 64ª Y 66 FRACCIONAMIENTO SANTA RITA, CD. DEL CARMEN,
CAMPECHE.
TEL.: (938) 4054585 E-MAIL:edgar@hotmail.com
6
ÍNDICE
Pág.
LISTA DE FIGURAS ................................................................................................................7
LISTA DE TABLAS..................................................................................................................7
1. INTRODUCCIÓN..................................................................................................................7
DATOS GENERALES DE LA EMPRESA .............................................................................7
PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA......................................................8
2. JUSTIFICACIÓN, OBJETIVO Y VIABILIDAD .....................................................................9
JUSTIFICACIÓN ...................................................................................................................9
OBJETIVO...........................................................................................................................10
VIABILIDAD DEL PROYECTO............................................................................................11
3. DESARROLLO TEÓRICO .................................................................................................17
3.1. MARCO DE REFERENCIA ..........................................................................................17
3.1.2 Entornos de programación..................................................................18
3.2. DISEÑO DE LA INVESTIGACIÓN ...............................................................................23
Alcance ...........................................................................................................23
Metodología ....................................................................................................23
3.2.1. Instalación de Linux...............................................................................24
3.2.2. Instalación de Python..........................................................................30
3.3. DESARROLLO DEL PROYECTO (15-20 cuartillas) ....................................................31
3.3.1 Aplicación de la metodología..................................................................32
3.3.2 Resultados ...............................................................................................3
3.3.3. Análisis....................................................................................................3
4. CONCLUSIONES Y RECOMENDACIONES .......................................................................4
5. FUENTES DE INFORMACIÓN ............................................................................................5
6. ANEXOS...............................................................................................................................6
7
LISTA DE FIGURAS
LISTA DE TABLAS
Tabla 1 Descripción de puestos.................................................................................14
Tabla 2 costo de materia prima .................................................................................15
Tabla 3 Costo de equipos..........................................................................................16
Tabla 4 Costo anual de mano de obra directa ...........................................................16
Tabla 5 Gasto anual por personal administrativo.......................................................17
Tabla 6.Diagrama de actividades ..............................................................................24
1. INTRODUCCIÓN
DATOS GENERALES DE LA EMPRESA
El laboratorio de electrónica y dispositivos tecnológicos por sus siglas (LEDT), ubicado en Av.
Periférica Norte #23 Col. Obrera. Se clasifica en dos sectores en industrial y comercial ya que
se dedica al desarrollo de piezas en 3D como cortes en impresora CNC en otras actividades
de igual manera se dedican a la venta de componentes electrónicos (sensores,
microcontroladores) por mayoreo y menudeo.
La empresa cuenta con 5 departamentos que son: finanzas, área de almacén, taller (área de
desarrollo de los productos y dispositivos), departamento de compra y venta de materiales,
auditorio (donde se generan juntas, exposiciones, ponencias, conferencias, capacitaciones,
etc.)
El ing. Alexis Ramos Hernández representante legal de LEDT preocupado por la tecnología en
el sureste mexicano e integrado por un grupo de trabajo conformado en cada área, buscan
implementar la mejor tecnología en el sureste ofreciendo productos de alta calidad y de primer
nivel en el menor tiempo posible satisfaciendo las necesidades de los clientes.
8
LEDT tiene como misión dedicar de su talento y tecnología, para crear productos y servicios
que contribuyan a resolver diferentes necesidades. Como visión buscan ser una empresa
rentable y sustentable, además de ofrecer servicios de manera nacional e internacional busca
contribuir al desarrollo de la tecnología en México.
Esta empresa cuanta con los valores de honestidad y lealtad para su desarrollo personal,
responsabilidad, disciplina, flexibilidad para aceptar los cambios,
Pasión por su trabajo, perseverancia y sobre todo divertirse al aprender.
Básicamente en LEDT se busca construir personas con aptitudes de liderazgo, preparadas
para poder enfrentar diferentes obstáculos, presentados el camino del desarrollo de la
empresa.
PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA
Cuando hablamos de visión, nos referimos a ese sentido donde se puede percibir el mundo
con la vista, en robótica para poder lograr esta percepción es necesario el uso de una cámara
o algún sensor laser o en su caso un GPU o alguna tarjeta de desarrollo FPGA para el
procesamiento de esta.
Lo que se buscar lograr en la siguiente propuesta de proyecto es resolver la búsqueda de
objetos que se fabricaran por una impresora 3D, y esto resulta algo complejo si se piensa
utilizar un solo sensor. Las variables que posiblemente pueden afectar este sistema puede ser
la luz del exterior, el ruido que se produce en la cámara, o que el algoritmo que se desea
implementar no sea el óptimo, por tal motivo este tipo de problemas se resuelves con
aplicaciones matemáticas en cámaras pero también produce otro problema, el procesar
muchas imágenes se consume mucha memoria, lo que se pretende resolver es hacer una
discriminación de los datos innecesarios y aprovechar los recursos del procesador o
computador para acelerar la búsqueda de los objetos que se fabricaran para poder lograr
identificar los objetos fabricados acelerando el proceso de fabricación.
9
2. JUSTIFICACIÓN, OBJETIVO Y VIABILIDAD
JUSTIFICACIÓN
La implementación de un sistema de visión Artificial aplicado para identificar, percibir y
clasificar diferentes objetos es un método que se utiliza mucho en las industrias manufacturas
ya se utiliza para identificar ya sea posibles errores o localizar diferentes objetos específicos
para luego clasificarlos, el proyecto conviene ya que la implementación que realizaremos está
basada en un software de código abierto el cuál logra reducir costos establecidos más adelante
y lo que busca una empresa manufacturera es reducir costos y tiempo de producción, pero
también confiar un producto de calidad.
Esta aplicación me sirve para identificar diferentes objetos en este caso juguetes de diferentes
colores con el fin de clasificarlo luego respectivamente, pero ahí no acaba su aplicación con el
paso del tiempo la tecnología ha ido avanzando por tal motivo este sistema también tiene otra
aplicación mediante el entrenamiento de una red neuronal para clasificar imágenes se busca
localizar errores en los juguetes para que con ello los productos sean producidos de acuerdo
a los estándares de calidad, la empresa tiene como objetivo crecer cada día y como mencione
anteriormente la tecnología va creciendo al paso del tiempo tal que se busca aprender y buscar
a diario un método más simple de resolver este tipo de tareas.
Ayudará al departamento de producción ubicado en el taller de la empresa ya que se busca
acelerar la producción de los juguetes de modo que cuando este sistema localice el objeto
buscara posibles errores y también el tipo de color que se diseñó el juguete.
Si resuelve un problema real ya que en las empresas manufactureras que producen juguete,
cada año se reportan miles de juguetes dañados o con errores de fábrica y esto es dinero
perdido cosa que las empresas buscan eliminar.
Ayudará a la sociedad infantil a disfrutar de un momento más agradable y tardío su juguete
logrando la satisfacción de los clientes.
10
En resumen el sistema propuesto, resolverá el problema presentado en este proyecto gracias
a la implementación de un método de localización de objetos mediante color y la aplicación de
una red neuronal Artificial para extraer imágenes de errores y luego clasificarlo mediante su
entrenamiento se busca acelerar la clasificación y evitar la mayor cantidad de ruido producido
mediante su aplicación. El proyecto tiene un alcance grande ya que estos métodos aún están
en desarrollo su aplicación están en investigación de modo que los únicos inconvenientes que
se pueden presentar seria que la red Neuronal sea lento al estar en entrenamiento pero una
vez clasificada las imágenes su aplicación dará buenos resultados
OBJETIVO
Objetivo general:
Desarrollar un sistema de reconocimiento de objetos, mediante la aplicación de un software,
para clasificarlos por su color y su género.
Objetivos específicos:
11
1. Instalar Python, OpenCV, en ubuntu, mediante la búsqueda de tutoriales presentados en
internet, para luego correr los programas de detección de color.
2. Entrenar imágenes para clasificarlos por colores, mediante la aplicación de una Red
Neuronal Artificial, para mayor precisión en la búsqueda del color del objeto.
3. Realizar pruebas de detección, mediante el algoritmo implementado, para buscar posibles
fallas de clasificación.
VIABILIDAD DEL PROYECTO
Mediante los datos recabados en este estudio de viabilidad se podrá tomar la decisión si
realmente este proyecto de un sistema de visión artificial para monitoreo y control
implementado a celdas de manufactura tales como una banda trasportadora y un brazo
robótico es rentable a la empresa LEDT, considerando para ello los estudios de factibilidad
técnico, operativo y económico. A continuación se detallan cada uno de los estudios de
viabilidad mencionados anteriormente.
Viabilidad técnica
Técnicamente es completamente factible el desarrollo del sistema, dado que se requiere una
herramienta de desarrollo que es completamente gratuita, lo que no implica la compra de
nuevos productos de desarrollo, y además disponiendo del conocimiento para desarrollar este
tipo de aplicaciones.
 El sistema de iluminación cuenta con una cavidad óptima para el ajuste de una banda
transportadora, en un proceso de manufactura.
 Utilizando un software libre nos permite tener un control total del diseño del sistema de
reconocimiento, ya que los códigos y librerías tienden hacer configurados para tareas
en específicas y para tareas que se puedan complicar por algún problema no
controlado.
 Un sensor Kinect, puede ser un dispositivo no muy ocasional, sin embargo su estructura
permite realizar tareas óptimas en ambientes controlados y no controlados, su cámara
RGB y su Sensor infrarrojo son capaces realizar tareas en la oscuridad.
Viabilidad operativa
12
Para el buen funcionamiento de la empresa LEDT es necesario especificar claramente las
actividades de cada uno de los miembros, para ello se realizó un organigrama funcional de
Puestos. Este contiene el análisis de todos los puestos existentes en la empresa. Para realizar
dicho análisis se recogió metódicamente los datos necesarios con integridad y exactitud, para
después plasmarlos por escrito.
El análisis de puestos es indispensable para conocer con toda precisión lo que cada trabajador
hace y conocer las aptitudes que requiere para hacerlo bien.
Se conocerá a través de este organigrama los elementos que integran cada puesto, los detalles
de cada una de las operaciones y los requisitos necesarios para que las actividades se realicen
bien. Además el organigrama funcional representa la posibilidad de saber con todo detalle las
obligaciones y características de cada puesto, facilitando a la empresa la contratación de
personar además de evitar la duplicidad de actividades.
Por otro lado los trabajadores realizarán mejor y con mayor facilidad sus labores, con lo anterior
podemos decir que será de gran utilidad tanto para la empresa como para los trabajadores.
Organigrama Funcional
13
Descripción de puestos
ÁREA PUESTO
Director general
Departamento
Operativo
Jefe de Departamento
operativo
Departamento
Administrativo
Jefe de Departamento
Administrativo
Departamento
Operativo
Ingeniero Mecatrónica
Departamento
Administrativo
Jefe de Oficina de
Recursos Humanos
Departamento
Administrativo
Jefe de Oficina de
Recursos Materiales
Departamento
Administrativo
Jefe de Oficina de
Finanzas
Direccion general
Departamento
operativo
Ingeniero
mecatrónica
Armador
Ingeniero en
Sistemas
Supervisior de
obra
Departamento
operativo
Oficina de
recursos
humanos
Jefe de Sección
de Capacitación y
Adiestramiento
Oficina de
recursos
materiales
Oficina de
finanzas
14
Departamento
Operativo
Ingeniero en sistemas
Departamento
Administrativo
Jefe de Sección de
Capacitación y
Adiestramiento
Departamento
operativo
Supervisor de obra
Departamento
Operativo
Armador
Tabla 1 Descripción de puestos
Viabilidad económica
El principal valor agregado que entregará el sistema de visión artificial es que permitirá dar
mayor satisfacción al cliente en el proceso de manufactura ya que este sistema implica en
gasto de un capital razonable en cuanto la construcción y administración del mismo y raíz de
esto se prevén una mejora continua de la vida útil de la empresa.
Los recursos necesarios para el desarrollo de este proyecto se detallan a continuación; existen
algunos recursos que son actualmente adquiridos de forma gratuita tal es el caso del software
que se utiliza para la programación del sistema, por lo tanto nos es necesario adquirirlos.
El software utilizado corresponde a Python, que se encuentra disponible para la descarga
gratuita en el link https://www.python.org/downloads/ y que permite desarrollar aplicaciones
para estudiantes y además permite su distribución sin ningún costo de licencias ya que es un
software libre.
Viabilidad Técnica
Materia prima
El costo total de materia prima, se calculó con base a datos técnicos que proporcionan algunas
distribuidoras de tal material en la ciudad del Carmen
15
MATERIAL CANTIDAD UNIDAD
PRECIO
POR
UNIDAD
TOTAL
Aluminio 2
Pliego por
𝒎 𝟐
$250 $500
Bases de
aluminio
4 pieza $80 $320
Ángulos de
aluminio
1
Vigas por
metro
$120 $120
Remaches 3 Paquetes $20 $60
Pijas y
tornillos
2 Paquetes $35 $70
Pintura 3 Pieza $80 $240
Cables de
red UTP
1
Rollo por
metro
$200 $200
Reflector de
luz
1 Pieza $200 $200
TOTAL $1,710
Tabla 2 costo de materia prima
Equipos.
En la siguiente tabla se presentan los costos totales de los equipos que se requerirán para la
construcción del sistema.
EQUIPOS MARCA CANTIDAD PRECIO
Cortadora Deker 1 $2,800
Pulidora Craftsman 1 $1,300
Remachadora manual Surtex 1 $273
Taladro Bork 1 $700
Computadora Dell 1 $2,100
16
Cámara de Kinect
Microsoft
xbox
1 $300
TOTAL $ 7,473
Tabla 3 Costo de equipos
Total de inversión en el proyecto : MX$9,183.00
Viabilidad Operativa
Mano de obra directa
Por concepto de mano de obra directa, se requiere una inversión total de $1,236,000. Este personal
será el que se encontrara específicamente en el área de producción, en la siguiente tabla se
detallan estos costos.
PUESTO CANTIDAD
IMPORTE
MENSUAL
SUBTOTAL
ANUAL
Ingeniero mecatrónica 3 $40,000 $480,000
Ingeniero en Sistemas 1 $28,000 $336,000
Supervisor de Obra 1 $20,000 $240,000
Armador 2 $15,000 $180,000
TOTAL $1,236,000
Tabla 4 Costo anual de mano de obra directa
Gastos de administración
De acuerdo con el organigrama general de la empresa (presentado en estudio de viabilidad
operativa), los gastos por personal administrativo ascienden a $ 1,644,000 anualmente. A
continuación, se detallan estos en la tabla 4.
PUESTO CANTIDAD IMPORTE MENSUAL SUBTOTAL ANUAL
Gerente 1 $30,000 $360,000
Jefe de Departamento
operativo
1 $27,000 $324,000
Jefe de Oficina de
Recursos Humanos
1 $22,000 $264,000
17
Jefe de Oficina de
Recursos Materiales
1 $20,000 $240,000
Jefe de Oficina de
Finanzas
1 $20,000 $240,000
Jefe de sección de
capacitación y
adiestramiento
1 $18,000 $216,000
TOTAL $ 1,644,000
Tabla 5 Gasto anual por personal administrativo
Demostrado en los puntos anteriores, tanto los estudios de factibilidad técnica, económica y
operativa resultan ser favorables para el proyecto lo que determina su viabilidad. El proyecto
resulta ser una buena herramienta para la empresa, además a un costo no mayor que puede
ser recuperado a mediano plazo.
3. DESARROLLO TEÓRICO
3.1. MARCO DE REFERENCIA
En un sistema de visión artificial se incluyen diversas técnicas, tales como el
procesamiento de imágenes (captura, transformación, codificación de imágenes) o como
el reconocimiento de formas (teoría estadística de decisiones, enfoques sintácticos y
neuronales aplicados a la clasificación de patrones). En este tipo de sistemas, además se
incluyen técnicas de modelado geométrico y procesos de conocimiento. Por lo tanto, en
este apartado se trata de describir las etapas a considerar en el sistema de visión a
implementar.
La captura de la imagen es el conjunto de operaciones que se efectúan para transformar
la iluminación de una escena en una señal digital. Las imágenes no siempre se presenta
en un formato adecuado para su análisis, por lo que el siguiente proceso es el
preprocesamiento de una imagen, en el cual se utilizan técnicas encaminadas a realizar la
mejora de la imagen, como son el nivel de gris, contraste, eliminación del ruido, el realce
de algunas características de interés, etc. Una vez que esta imagen está en condiciones
18
de ser procesada, se tienen que hallar los objetos dentro de la imagen de forma
independiente, y esto se hace a través de la segmentación, que es un proceso que divide
la escena en objetos. Cada uno de los objetos puede ser clasificado, por lo que la siguiente
tarea es la clasificación o extracción de características para el reconocimiento. El
reconocimiento es la identificación de cada objeto en la escena mediante una etiqueta.
3.1.2 Entornos de programación
Linux
La plataforma linux es uno de los términos empleados para referirse a la combinación
del núcleo o kernel libre similar a Unix denominado Linux con el sistema GNU. Su desarrollo
es uno de los ejemplos más prominentes de software libre; todo su código fuente puede ser
utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL
(Licencia Pública General de GNU, en inglés: General Public License) y otra serie de licencias
libres.
Figura 1. Logo de Ubuntu
Fuente: Elaboración propia, 2015.
Python
Lenguaje de programación multiparadigma, ya que soporta orientación a objetos,
programación imperativa y, en menor medida, programación funcional. Es un lenguaje
interpretado, usa tipiado dinámico y es multiplataforma. Es administrado por la Python Software
Foundation. Posee una licencia de código abierto, denominada Python Software Foundation
License.
19
Figura 2. Logo de Python
Fuente: Elaboración propia, 2015
NumPy
NumPy es una extensión de Python, que le agrega mayor soporte para vectores y matrices,
constituyendo una biblioteca de funciones matemáticas de alto nivel para operar con esos
vectores o matrices. El ancestro de NumPy, Numeric, fue creado originalmente por Jim
Hugunin con algunas contribuciones de otros desarrolladores. En 2005, Travis Oliphant creó
NumPy incorporando características de Numarray en NumPy con algunas modificaciones.
NumPy es open source(código abierto).
Matplotlib
Una vez incorporado NumPy se debe utilizar matplotlib que es una biblioteca para la
generación de gráficos a partir de datos contenidos en listas o arrays en el lenguaje de
programación Python y su extensión matemática NumPy. Proporciona una API, pylab,
diseñada para recordar a la de MATLAB.
PySerial
Es una librería de python que permite comunicarse a través de comunicaciones por serial (RS-
232). Esto puede ser muy útil para mandar o recibir datos de periféricos que sean comunes o
que tú mismo hayas hecho de una manera increíblemente sencilla y sin tener que complicarse
para nada con este tipo de programación.
20
Libfreenect
Es la librería para poder manipular el sensor Kinect en Python tal que su aplicación es
indispensable en este proyecto.
En visión artificial, los procesos de segmentación son de vital importancia cuando se trata de
detectar objetos en entornos no estructurados. En concreto, la segmentación haciendo uso de
información de color adquiere cierta importancia en ámbitos muy diversos, desde el tratamiento
de secuencias de videos para la detección de objetos o individuos en escenas móviles hasta
la detección para el seguimiento, también conocido como tracking.
El "reconocimiento de color" es la capacidad de un sensor o algoritmo de distinguir colores a
partir de la extracción de información de la luz
La manera básica de detectar el color consiste en captar la luz incidente en un sensor. Este,
mediante un conjunto de celdas de fotones que forman una matriz de puntos, uno por cada
pixel, es capaz de medir la cantidad de luz llegada a cada uno de estos, produciendo una
corriente eléctrica que varía en función de la intensidad de luz recibida. Una vez se ha medido
la cantidad de luz se procede a la detección de colores.
La extracción de ondas espectrales, da como resultado la captación de lo que conocemos
como colores. Por lo general la identificación de los diferentes colores se utiliza un código
conocido como RGB (Red, Green, Blue).
El reconocimiento de colores está basado en un lenguaje de programación sencillo el cual
utiliza una librería especial para el control de cámaras. Estamos hablando del lenguaje de
programación Python y de la librería especial Opencv.
Modelo HSV
El modelo HSV (hue, saturación, value; tinte, saturación, valor) está orientado al usuario y se
basa en el atractivo intuitivo del modelo de los artistas. HSV es un sistema de color que varía
el grado de propiedades del color para crear nuevos colores. (utiliza la mezcla de colores
21
). Hue (matiz) especifica el "color", rojo, naranja, azul, etc. La saturación (conocida también
como cromo o pureza), se refiere a la cantidad de blanco en un hue. Un color completamente
saturado no contiene blanco y aparece puro, un rojo 50% saturado resulta un rosa.
El valor (conocido también como brillo) es el grado de luminosidad de un color (que tanta luz
emite). Un matiz con alta intensidad es brilloso, uno con poca intensidad es oscuro.
Figura 3 Cono de colores del espacio HSV.
Cámara Microsoft Kinect
Especificaciones técnicas
El sistema de percepción de profundidad consta de tres partes básicas: el proyector láser de
infrarrojos, el sensor CMOS y el microchip que procesa la información. Fue creado y
desarrollado por PrimeSense, una compañía Israelí experta en innovación. Contrariamente a
lo que podríamos suponer en un principio, no se trata de un sensor basado en tiempo de vuelo,
sino que su funcionamiento se basa en la proyección de un patrón de puntos pseudo-aleatorio
y su lectura y triangulación mediante el sensor CMOS. A continuación se describe más a detalle
en cuanto al funcionamiento del sistema.
Proyector láser.
Posee las siguientes propiedades
 Se trata de un láser no modulado, no produce pulsos en su salida sino que se mantiene
a nivel constante.
 La longitud de onda es de 830nm.
22
 Consta de un sistema de difracción que subdivide el rayo en múltiples instancias,
proyectando un patrón de puntos pseudo-aleatorio.
 La potencia medida a la salida de la Kinect es de 60mW. No es dañina para los ojos, si
bien es probable que la difracción inducida haya introducido pérdidas.
 Posee un estabilizador de temperatura que se encarga de mantener el láser a
temperatura constante para no alterar la longitud de onda de salida
 El campo de visión en horizontal de la cámara es de 57 grados y el rango máximo de
distancia desde la cámara para la captación de profundidad es de 0,8 metros a 4 metros,
considerándose un rango óptimo de 1,2 metros a 3,5 metros.
Figura 4 Campo de visión horizontal y rango de proximidad de la Kinect
Además, la Kinect está equipada con un ventilador que se activa cuando la temperatura
alcanzada es mayor de 70oC (recordar que el valor máximo del rango de operación de los
sensores ronda esa temperatura) y que se alimenta por la toma USB.
23
3.2. DISEÑO DE LA INVESTIGACIÓN
Alcance
La visión artificial ha alcanzado una gran importancia en el campo científico-técnico debido a
sus enormes posibilidades de aplicación. Existen sistemas de visión artificial en todos los
ámbitos navegación autónoma de vehículos, análisis de imágenes médicas, monitorización del
tráfico, etc. En esta sección nos centraremos en los sistemas de visión destinados a la
inspección en líneas de fabricación, ya que los sistemas de visión artificial se destinan a
realizar inspecciones visuales que requieren alta velocidad, gran aumento, funcionamiento las
24 horas del día o la repetibilidad de las medidas. Este uno de los campos dentro de la visión
artificial que más han crecido y que presenta mayores aplicaciones a nivel industrial.
Metodología
Una vez comprendido algunos términos esenciales en el desarrollo del proyecto a
continuación se explicara cómo se llevara paso a paso la realización de éste..
Nombre de la empresa: LEDT
(Laboratorio de Electrónica y
Dispositivos Tecnológicos)
Cronograma de
actividades
Inicio: 7/09/16
Termino: 5/12/16
Aprobó:
No.
trabajador
Proyecto: Desarrollar un sistema de reconocimiento de objetos, mediante la
aplicación de un software, para clasificarlos por su color y su género.
No. Actividad
Tiempo estimado de la ejecución del proyecto
Meses/semanas
Septie
mbre
Octubre Noviembre Diciembre
3 4 1 2 3 4 1 2 3 4 1 2 3 4
1.
Instalar sistema operativo Ubuntu
12.04.
2.
Instalar Python con sus librerías y
dependencias como OpenCV.
3.
Instalar driver y software en
Ubuntu.
4.
Realizar un análisis de las
imágenes capturadas
5.
Desarrollar un algoritmo de
entrenamiento de la red
6.
Programar el algoritmo en
Python.
24
Tabla 6.Diagrama de actividades
Fuente: Elaboración propia, 2015
3.2.1. Instalación de Linux
Primero que nada se tuvo como requisito el contar con un computador, comúnmente la
mayoría de las personas tienen instalado en su computadora Windows existen muchas
versiones de este sistema operativo, la versión más reciente que está siendo
descargada por muchos usuarios es la actualización a Windows10 pero la mayoría se
estancó en Windows 8.1.
Existen otros sistemas operativos muy conocidos que son de código abierto, es decir,
que los programas que se usan en este sistema operativo, no requiere de algún serial
para poder ser instalado o utilizado eso conlleva a que muchos usuarios se interesen
en estos tipos de sistemas operativos, uno de ellos es el caso de Ubuntu, que pertenece
a la plataforma Linux
Se utilizó este sistema operativo ya que la mayoría de los desarrolladores en la robótica
se basan en programas que son más amigables de procesar en él, la ventaja de la
instalación de Ubuntu, es que permite compartir la computadora con otro sistema
operativo sin dañar los archivos, el computador al finalizar su instalación, contaba con
dos sistemas operativos.
Lo que primero que se hizo fue descargar la imagen ISO de Ubuntu. La versión que se
descargo fue la 12.04 no es la versión más reciente, pero es una versión que se tiene
más estudiada también se puedo trabajar sobre Ubuntu 14.04 pero existen ciertos
problemas con la compatibilidad en los repositos utilizados allí.
Una vez que se descargó la imagen ISO se grabó en un usb (pendrive) aunque también
se pudo haber grabado en un CD/DVD. Luego se configuro la computadora, se creó
una partición de 50000MB, de memoria en el disco duro libres para la instalación de
Ubuntu.
7.
Realizar pruebas después de los
entrenamientos de la Red
Neuronal
8. Prever resultados
25
Para generar la partición, se buscó “Mi PC”, en el escritorio luego seguidamente en
administrar y luego se abrió la ventana de administración de discos. Básicamente nos
apareció la ventana que es respetada por la figura 8.
Figura 5. Ventana de administración de equipo
Fuente: Elaboración propia, 2015.
Luego se redujo la memoria 50000MB para instalar Ubuntu, seguidamente se prosiguió
a su instalación pero antes de eso se configuro el computador desde la BIOS para el
arranque fuera desde el usb, tal que una vez configurada la computadora se reinició
con el pendrive puesto. Luego de unos instantes, apareció GRUB 2, el gestor de
arranque de Ubuntu. Se hizo clic en el ícono Install Ubuntu 12.10.
26
Figura 6. Instalación de ubuntu
Fuente: Elaboración propia, 2015.
Después de proceder con la instalación apareció una ventana de seleccionar idioma,
allí se eligió idioma, luego se dio clic en el botón Instalar Ubuntu.
Figura 7 . Ventana de preparación de la instalación de ubuntu
Fuente: Elaboración propia, 2015.
Luego se confirmó que contara con los requisitos mínimos de instalación haciendo clic
en Continuar. Cabe destacar que el único requisito indispensable era contar con el
espacio en disco necesario. Tener una conexión a Internet era una recomendación pero
no un requisito excluyente ya que mientras su instalación se descargó paquetes del
27
sistema operativo. También se conectó a una toma de corriente. Se seleccionó la
tercera opción, ya que se dividió la partición que se había hecho en el disco duro.
Figura 8 .ventana de asignación de espacio en el disco
Fuente: Elaboración propia, 2015.
En el espacio libre se le añadieron 3 particiones básicas en donde la primera se le
asignó 15000MB de memoria. Se seleccionó la ubicación de la nueva partición:
principio, utilizar como: ext4 es el sistema que usa Ubuntu 12.04 por defecto Y el punto
de montaje: / (la raíz); se le dio aceptar. La segunda partición se creó con espacio libre
en donde se asignó 4GB de memoria, en tipo de nueva partición seleccionamos
primaria; en ubicación de la nueva partición utilizamos final y en utilizar como, buscamos
área de intercambio luego se seleccionó aceptar.
En la tercera partición se asignó lo que queda en la memoria libre, en ubicación de la
nueva partición seleccionamos principio; en utilizar como buscamos, sistema de ficheros
ext4; en el puerto de montaje se eligió, /home se seleccionó aceptar.
28
Figura 9 . Ventana de asignación de memoria
Fuente: Elaboración propia, 2015.
Seguidamente de la distribución de la memoria apareció la ventana de selección de
zona horaria (Figura 13) se eligió la zona de central de américa, pulsamos instalar ahora,
luego se eligió la zona horaria
Figura 10. Selección de la zona horaria
Fuente: Elaboración propia, 2015.
29
Después apareció la ventana de la distribución del teclado (figura 14) se teclearon
algunas palabras, para comprobar que todas las teclas estén en buena condición y se
localizó el Español (latinoamericano).
Figura 11. Ventana de selección del tipo de teclado
Fuente: Elaboración propia, 2015.
Después de configurar el teclado, se creó el perfil del usuario en donde se introdujo el nombre
del usuario, una contraseña y el nombre del computador también se eligio que al iniciar el
computador solicitará la contraseña.
Figura 12. Ventana de creación de perfil
Fuente: Elaboración propia, 2015.
Luego al finalizar la instalación se extrajo el usb y se reinició el computador en donde
ya tenía instalado dos sistemas operativos. Después se observaron tutoriales de cómo
30
utilizar Ubuntu bajo algunos comandos, funciones y como se trabaja bajo este nuevo
sistema operativo.
Una vez familiarizado con este sistema operativo se procedió a instalar la plataforma
Python, es un software de código abierto que se utiliza comúnmente para proyectos de
visión artificial, para la representación gráficas en 2D o 3D, programación de vídeo
juegos, entre otras cosas.
Este software se vuelve más atractivo cuando se aprende a programar en él y allí mismo
se da cuenta uno lo fácil que es trabajar sobre esta plataforma, para poder instalarlo en
Ubuntu se necesita ciertas condiciones y otro software extra para poder ejecutar los
programas. Python es recomendable trabajarlo en Ubuntu porque es más fácil adaptarlo
a tus necesidades de programación ya que las librerías de Python, que se instalan son
fáciles de importar, a diferencia del sistema operativo Windows, las librerías de Python
son más difíciles de importar y te pueden surgir muchos errores al programar.
3.2.2. Instalación de Python
Figura 13. Ventana buscador ubuntu
Fuente: Elaboración propia, 2015.
Se escribió en el buscador de Ubuntu la palabra software center y este nos llevó a una
ventana donde se descargan las aplicaciones en el buscador de esta ventana
escribimos Python 3 trabajamos sobre esta versión, porque ya tiene instalado ciertas
librerías que se utilizaron para el desarrollo del algoritmo para identificar objetos.
31
Figura 14. Instalación de Python
Fuente: Elaboración propia, 2015.
También se descargó otro software editor para ejecutar y modificar cualquier programa
de Python, el nombre es “SPE(stani’s Python editor, figura 18 )”.este software es
utilizado para la edición del programa de reconocimiento de objetos.
Figura 15. Instalación de SPE
Fuente: Elaboración propia, 2015.
Luego se instalaron las librerías NumPy, Matplotlib, PySerial, esto desde la termina; una
vez que tuvo instalados todos los programas y las librerías se procedió a realizar el
análisis de los diferentes modelos matemáticos implementados en filtro de Kalman.
3.3. DESARROLLO DEL PROYECTO (15-20 cuartillas)
32
Las aplicaciones de redes neuronales en la actualidad para resolver problemas reales en las
industrias han sido de gran utilidad ya que las empresas le están apostando a este sistema de
inteligencia artificial a continuación se presentara la explicación de una aplicación de este
método para detectar y clasificar diferentes objetos
3.3.1 Aplicación de la metodología
Hay dos aplicaciones en OpenCV para entrenar el clasificador en cascada:.
Opencv_haartraining y opencv_traincascade opencv_traincascade es una versión más
reciente, escrito en C ++ de conformidad con OpenCV API 2.x. Sin embargo, la principal
diferencia entre estas dos aplicaciones es que soporta tanto opencv_traincascade Haar
[Viola2001] y LBP [Liao2007] (patrones binarios locales) características. Las características de
LBP son enteras en contraste con las características de Haar, así que la formación y la
detección con LBP son varias veces más rápidas que las características de Haar. En cuanto a
la calidad de la detección LBP y Haar, depende de la formación: la calidad del conjunto de
datos de formación en primer lugar y los parámetros de formación también. Es posible entrenar
a un clasificador basado en LBP que proporcionará casi la misma calidad que el basado en
Haar.
opencv_traincascade y almacenar opencv_haartraining el clasificador entrenado en diferentes
formatos de archivo. Nota, la interfaz de detección en cascada más reciente (véase la clase
CascadeClassifier en el módulo objdetect) soporta ambos formatos. Opencv_traincascade
puede guardar (exportar) una cascada entrenado en el formato anterior. Pero
opencv_traincascade y opencv_haartraining no pueden cargar (importar) un clasificador en
otro formato para la formación continua después de la interrupción.
Tenga en cuenta que la aplicación opencv_traincascade puede utilizar TBB para multi-
threading. Para usarlo en modo multicore OpenCV debe ser construido con TBB.
También hay algunas utilidades auxiliares relacionadas con el entrenamiento.
• opencv_createsamples se utiliza para preparar un conjunto de datos de entrenamiento
de muestras positivas y de prueba. opencv_createsamples produce conjunto de datos de
muestras positivas en un formato que es compatible con las aplicaciones y
opencv_haartraining opencv_traincascade. La salida es un archivo con extensión * .vec, es un
33
formato binario que contiene imágenes.
• opencv_performance se puede utilizar para evaluar la calidad de los clasificadores, pero
para entrenados por opencv_haartraining solamente. Requiere una colección de imágenes
marcadas, ejecuta el clasificador e informa del rendimiento, es decir, el número de objetos
encontrados, el número de objetos perdidos, el número de falsas alarmas y otra información.
Desde opencv_haartraining es una aplicación obsoleta, sólo se opencv_traincascade se
describirá más se necesita. Opencv_createsamples utilidad para preparar un conjunto de datos
de entrenamiento para opencv_traincascade, por lo que se describirá también.
34
opencv_createsamples utilidad
Una utilidad opencv_createsamples proporciona funcionalidad para generar el conjunto de
datos, la escritura y la visualización. El término conjunto de datos se usa aquí tanto para
conjunto de entrenamiento y de prueba.
Formación de preparación de datos
Para el entrenamiento necesitamos un conjunto de muestras. Hay dos tipos de muestras:
negativa y positiva. Las muestras negativas corresponden a imágenes sin objeto. Las muestras
positivas corresponden a imágenes con objetos detectados. Conjunto de muestras negativas
se debe preparar de forma manual, mientras que un conjunto de muestras positivas se crea
usando la utilidad opencv_createsamples.
35
Las muestras negativas
Las muestras negativas se toman de imágenes arbitrarias. Estas imágenes no deben contener
objetos detectados. Las muestras negativas se enumeran en un archivo especial. Es un
archivo de texto en el que cada línea contiene un nombre de archivo de imagen (relativo al
directorio del archivo de descripción) de imagen de muestra negativa. Este archivo debe
crearse manualmente. Tenga en cuenta que las muestras negativas y las imágenes de muestra
también se denominan muestras de fondo o imágenes de muestras de fondo y se utilizan
indistintamente en este documento. Las imágenes descritas pueden ser de diferentes tamaños.
Pero cada imagen debe ser (pero no necesariamente) más grande que un tamaño de ventana
de entrenamiento, ya que estas imágenes se utilizan para submuestra la imagen negativa al
tamaño del entrenamiento.
Un ejemplo de archivo de descripción:
Estructura del directorio:
img1.jpg
img2.jpg
Archivo bg.txt:
Img / img1.jpg
Img / img2.jpg
figura 16 imágenes obtenidas
36
En la figura 16 se observa como las imágenes adquiridas representan las fotos positivas donde
se encuentran los objetos
Las muestras positivas
A partir de una sola imagen con objeto o de una colección de imágenes previamente marcadas.
Tenga en cuenta que necesita un gran conjunto de datos de muestras positivas antes de
entregarlo a la utilidad mencionada, ya que sólo aplica la transformación de perspectiva. Por
ejemplo, puede necesitar sólo una muestra positiva para un objeto absolutamente rígido como
un logotipo de OpenCV, pero definitivamente necesita cientos e incluso miles de muestras
positivas para caras. En el caso de las caras que usted debe considerar toda la raza y grupos
de edad, las emociones y estilos de la barba tal vez.
Por lo tanto, una sola imagen de objeto puede contener un logotipo de la empresa. A
continuación, se crea un gran conjunto de muestras positivas a partir de la imagen de objeto
dada girando al azar, cambiando la intensidad del objeto, así como colocando el objeto en un
fondo arbitrario. La cantidad y variedad de aleatoriedad pueden ser controlados por los
argumentos de línea de comandos de utilidad opencv_createsamples.
La creación de conjunto de entrenamiento a partir de una sola imagen y una colección
de fondos con un solo archivo vec como una salida
El siguiente procedimiento se utiliza para crear una instancia de ejemplo de objeto: La imagen
de origen se gira de forma aleatoria alrededor de los tres ejes. El ángulo elegido se limita mi -
max? Ángulo. Entonces píxeles que tienen la intensidad de [bg_color-bg_color_threshold;
bg_color + bg_color_threshold] gama se interpretan como transparente. El ruido blanco se
añade a las intensidades del primer plano. Si no se especifica la clave -inv entonces
intensidades de los píxeles de primer plano están invertidas. Si se especifica -randinv clave
entonces algoritmo selecciona al azar si la inversión se debe aplicar a esta muestra. Por último,
la imagen obtenida se coloca sobre un fondo arbitraria desde el archivo de descripción del
fondo, cambiar de tamaño al tamaño deseado especificado por -wy -H y almacenado a la vec-
archivo, especificado por la opción de línea de comandos -vec.
La creación de conjunto de entrenamiento como una colección de imágenes PNG
37
Para obtener este tipo de comportamiento del -img, -bg, -info y las teclas -pngoutput deben ser
especificados. El nombre de archivo especificado con -info clave debe incluir al menos un nivel
de jerarquía de directorios, ese directorio se usará como el directorio de nivel superior para el
conjunto de entrenamiento. Por ejemplo, con los llamados opencv_createsamples como
siguiente:
Opencv_createsamples -img /home/user/logo.png -bg /home/user/bg.txt -info
/home/user/annotations.lst -pngoutput -maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1
La salida tendrá la siguiente estructura:
/ Inicio / usuario /
anotaciones /
0001_0107_0099_0195_0139.txt
0002_0107_0115_0195_0139.txt
...
neg
<Archivos de fondo aquí>
pos /
0001_0107_0099_0195_0139.png
0002_0107_0115_0195_0139.png
...
Con los archivos .txt en el directorio que contiene información sobre las anotaciones del cuadro
delimitador objeto en la muestra en el siguiente formato:
Nombre de archivo de imagen: "/home/user/pos/0002_0107_0115_0195_0139.png"
38
Cuadro de encuadernación para el objeto 1 "PASperson" (Xmin, Ymin) - (Xmax, Ymax): (107,
115) - (302, 254)
Y annotations.lst archivo que contiene la lista de todas las anotaciones del archivo:
/home/user/annotations/0001_0109_0209_0195_0139.txt
/home/user/annotations/0002_0241_0245_0139_0100.txt
Creación de prueba establecida como una colección de imágenes JPG
Esta variante de uso opencv_createsamples es muy similar a la anterior, pero genera la salida
en un formato diferente; Para obtener este tipo de comportamiento del -img, -bg y las teclas -
INFO deben ser especificados. Por ejemplo, con los llamados opencv_createsamples como
siguiente:
Opencv_createsamples -img /home/user/logo.png -bg /home/user/bg.txt -info annotations.lst
-maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1
Estructura del directorio:
info.dat
img1.jpg
img2.jpg
Archivo info.dat:
Img1.jpg 1 140 100 45 45
Img2.jpg 2 100 200 50 50 50 30 25 25
1
La conversión de la colección marcada en marcha de las muestras en un formato
vec
También se pueden obtener muestras positivas de una colección de imágenes
previamente marcadas. Esta colección se describe mediante un archivo de texto
similar al archivo de descripción de fondo. Cada línea de este archivo corresponde a
una imagen. El primer elemento de la línea es el nombre de archivo. Es seguido por el
número de instancias de objeto. Los números siguientes son las coordenadas de los
objetos que delimitan rectángulos (x, y, anchura, altura).
Un ejemplo de archivo de descripción:
Estructura del directorio:
img
img1.jpg
img2.jpg
info.dat
Archivo info.dat:
Img / img1.jpg 1 140 100 45 45
Img / img2.jpg 2 100 200 50 50 50 30 25 25
Image img1.jpg contiene instancia de objeto único con las siguientes coordenadas del
rectángulo delimitador: (140, 100, 45, 45). Image img2.jpg contiene dos instancias de
objeto.
Con el fin de crear las muestras positivas de dicha recolección, -info argumento debe
especificarse en lugar de -img:
2
• -info <collection_file_name>
Archivo descriptivo de la colección de imágenes marcadas.
El esquema de creación de muestras en este caso es el siguiente. Las instancias de
objeto se toman de imágenes. A continuación, se cambian el tamaño de las muestras
de destino y se almacenan en la salida vec-archivo. No se aplica ninguna distorsión,
por lo que los argumentos que sólo afectan son -w, -h, -show y -num.
Después de adquirir las imágenes viene la etapa de entrenamiento donde se expone
a la red neuronal eliminado la mayor cantidad de errores y reduciendo el tiempo de
detección del objeto al terminar el entrenamiento se adquiere un archivo cascade.xml
este es el que nos interesa procesar porque contiene el resultado de las ganancias de
la red Neuronal.
figura 17 programa de detección
3
3.3.2 Resultados
figura 18 detectando un celular
los resultados fueron factibles para ambientes controlados e incontrolados tal que se
observa los resultados en la (figura 18), debemos tener en cuenta los otros puntos
como el tiempo de entrenamiento.
3.3.3. Análisis
figura 19 datos de entrenamiento
4
Se observa en la figura 19 los datos obtenidos en la red neuronal y después de varios
entrenamientos se describen en la siguiente tabla la cantidad de error obtenido
después de cada entrenamiento.
Img
positivas
Img
negativas
Tiempo
entrenado
Error
750 1500 2 horas
50 min
5.63663e-3
1500 3000 4 horas
17 min
1.6453453e-
6
1000 1500 50 min 1.74663e-3
4. CONCLUSIONES Y RECOMENDACIONES
Se desarrolló un sistema de reconocimiento de objetos, mediante la aplicación de un
software, para clasificarlos por su color y su género, bajo la plataforma Linux,
trabajamos con el software python para la realización del reconocimiento de objetos
con ayuda de la paquetería OpenCV, que nos permite utilizar su entrenamiento de
imágenes por medio de redes neuronales, creando así un archivo para el
reconocimiento del objeto especifico, se usaron para el entrenamiento
aproximadamente 3000 imágenes negativas y 1500 imágenes positivas, las negativas
son fotografías de lo que no queremos reconocer, en este caso otros objetos, los
ambientes, e inclusive de personas y las positivas es del objeto que quiero reconocer,
captándolo de todos los ángulos posibles, de esta manera evitamos un problema muy
común en el reconocimiento de imágenes, la luz que nos varia los colores de nuestros
objetos de manera drástica, por ello este entrenamiento también debe llevar fotografías
con los diferentes cambios de luz que se puedan presentar, esto causa que el
entrenamiento al tener más fotografías se pueda volver muy lento y tardar incluso días,
por ello se diseñó una caja con un ambiente controlado y una luminosidad constante
con luz LED, regulándolo con PWM y un driver L293d. de esta manera mantenemos
un ambiente controlado con una luz exacta en cada hora del día, permitiendo no tener
5
tantas fotografías y que el sistema sea rápido con la misma calidad de reconocimiento.
En la presentación se utilizó un cubo de 2 centímetros, a una distancia aproximada de
50 cm, esto fue un reto porque es una pieza muy pequeña pero bajo el entrenamiento
utilizado, se logró captar el objeto de manera eficaz, presentando así un sistema
completo de reconocimiento de imagen con un ambiente controlado.
5. FUENTES DE INFORMACIÓN
Bradski, G. (2015). Learning OpenCV: Computer Vision with the OpenCV Library. O
Reilly.
Bressert, E. (2013). SciPy and NumPy: An Overview for Developers. O Reilly.
Howse, J. (2014). OpenCV Computer Vision with Python. O Reilly.
Kurt Demaagd, A. O. (2014). Practical Computer Vision with SimpleCV : The Simple
Way to Make Technology. O Reilly.
Laganière, R. (2012). OpenCV 2 Computer Vision Application Programming Cookbook.
O Reilly.
Lélis, D. (2014). Mastering OpenCV with Practical Computer Vision Projects. O Reilly.
Ponce, D. A. (2013). Computer Vision: A Modern Approach (2nd Edition).
Solem, J. E. (2013). Programming Computer Vision with Python: Tools and algorithms
for analyzing. O Reilly.
Stockman, L. G. (2011). Computer Vision.
Szeliski, R. (2014). Computer Vision: Algorithms and Applications. O Reilly.
6
6. ANEXOS

Más contenido relacionado

Destacado

Betty Smeha Resume
Betty Smeha ResumeBetty Smeha Resume
Betty Smeha ResumeBetty Smeha
 
S4 tarea4 izraa
S4 tarea4 izraaS4 tarea4 izraa
S4 tarea4 izraaLuna Nueva
 
Semana Global do Empreendedorismo 2010
Semana Global do Empreendedorismo 2010Semana Global do Empreendedorismo 2010
Semana Global do Empreendedorismo 2010Ludmilla Figueiredo
 
Sintesis informativa 14 diciembre 2016
Sintesis informativa  14 diciembre  2016Sintesis informativa  14 diciembre  2016
Sintesis informativa 14 diciembre 2016megaradioexpress
 
Internet of Things โอกาสและความได้เปรียบในการแข่งขัน
Internet of Things โอกาสและความได้เปรียบในการแข่งขันInternet of Things โอกาสและความได้เปรียบในการแข่งขัน
Internet of Things โอกาสและความได้เปรียบในการแข่งขันOBELS MFU
 
La trajectoire 2017-2027 des finances publiques pour la croissance
La trajectoire 2017-2027 des finances publiques pour la croissanceLa trajectoire 2017-2027 des finances publiques pour la croissance
La trajectoire 2017-2027 des finances publiques pour la croissanceFondation iFRAP
 
Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)
Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)
Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)squalo1988
 

Destacado (20)

CV
CVCV
CV
 
Diciembre 28 del 2016
Diciembre 28 del 2016Diciembre 28 del 2016
Diciembre 28 del 2016
 
Pon 129
Pon 129Pon 129
Pon 129
 
Betty Smeha Resume
Betty Smeha ResumeBetty Smeha Resume
Betty Smeha Resume
 
Brianstewartresume
BrianstewartresumeBrianstewartresume
Brianstewartresume
 
CV_Shahzad Ali SEC-CSD Engineer
CV_Shahzad Ali SEC-CSD EngineerCV_Shahzad Ali SEC-CSD Engineer
CV_Shahzad Ali SEC-CSD Engineer
 
S4 tarea4 izraa
S4 tarea4 izraaS4 tarea4 izraa
S4 tarea4 izraa
 
Semana Global do Empreendedorismo 2010
Semana Global do Empreendedorismo 2010Semana Global do Empreendedorismo 2010
Semana Global do Empreendedorismo 2010
 
Sintesis informativa 14 diciembre 2016
Sintesis informativa  14 diciembre  2016Sintesis informativa  14 diciembre  2016
Sintesis informativa 14 diciembre 2016
 
Internet of Things โอกาสและความได้เปรียบในการแข่งขัน
Internet of Things โอกาสและความได้เปรียบในการแข่งขันInternet of Things โอกาสและความได้เปรียบในการแข่งขัน
Internet of Things โอกาสและความได้เปรียบในการแข่งขัน
 
La trajectoire 2017-2027 des finances publiques pour la croissance
La trajectoire 2017-2027 des finances publiques pour la croissanceLa trajectoire 2017-2027 des finances publiques pour la croissance
La trajectoire 2017-2027 des finances publiques pour la croissance
 
Perez cante
Perez cantePerez cante
Perez cante
 
Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)
Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)
Tesis-Recicladora industrial pet (lucio alejandro cruz fierro)
 
Tarea 13 mario
Tarea 13 marioTarea 13 mario
Tarea 13 mario
 
Tarea de wilberth 4 unidad
Tarea de wilberth 4 unidadTarea de wilberth 4 unidad
Tarea de wilberth 4 unidad
 
Tarea 13. 4
Tarea 13. 4Tarea 13. 4
Tarea 13. 4
 
Reporte
ReporteReporte
Reporte
 
Tarea 13. 3
Tarea 13. 3Tarea 13. 3
Tarea 13. 3
 
Perez cante edgar 9 a
Perez cante edgar 9 aPerez cante edgar 9 a
Perez cante edgar 9 a
 
Tarea nueva de wilberth
Tarea nueva de wilberthTarea nueva de wilberth
Tarea nueva de wilberth
 

Similar a Fabricación de juguetes

Las TICS en el mundo artesanal
Las TICS en el mundo artesanalLas TICS en el mundo artesanal
Las TICS en el mundo artesanalMallArtisan
 
Ada3 salbutes 1_e (1)
Ada3 salbutes 1_e (1)Ada3 salbutes 1_e (1)
Ada3 salbutes 1_e (1)Marco Tec
 
Control de inventarios utilizando un celular con el sistema Android como esc...
Control de inventarios utilizando un celular con el sistema  Android como esc...Control de inventarios utilizando un celular con el sistema  Android como esc...
Control de inventarios utilizando un celular con el sistema Android como esc...LUIS FERNANDO SANCHEZ QUINCHUELA
 
Proyecto convergencia
Proyecto convergenciaProyecto convergencia
Proyecto convergenciadanielpac
 
Manual de organizacion afi
Manual de organizacion afiManual de organizacion afi
Manual de organizacion afiCecy Hernandez
 
Metodologia (soporte tecnico a distancia)
Metodologia (soporte tecnico a distancia)Metodologia (soporte tecnico a distancia)
Metodologia (soporte tecnico a distancia)Jamin Aleman Orozco
 
Reporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación GuiadasReporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación Guiadasunl
 
Practicas de Observacion
Practicas de ObservacionPracticas de Observacion
Practicas de ObservacionGabyNarvaez
 
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docxDesarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docxGRSHISUIYT
 
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docxDesarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docxSamuelLerma5
 
Proyecto Integrador Presentacion
Proyecto Integrador   PresentacionProyecto Integrador   Presentacion
Proyecto Integrador Presentacionguest75d1acb
 
Proyecto Integrador Presentacion
Proyecto Integrador   PresentacionProyecto Integrador   Presentacion
Proyecto Integrador Presentacionguest75d1acb
 

Similar a Fabricación de juguetes (20)

Las TICS en el mundo artesanal
Las TICS en el mundo artesanalLas TICS en el mundo artesanal
Las TICS en el mundo artesanal
 
Ada3_salbutes_1E
Ada3_salbutes_1EAda3_salbutes_1E
Ada3_salbutes_1E
 
Ada3 salbutes 1_e (1)
Ada3 salbutes 1_e (1)Ada3 salbutes 1_e (1)
Ada3 salbutes 1_e (1)
 
Sra
SraSra
Sra
 
SRA
SRASRA
SRA
 
Control de inventarios utilizando un celular con el sistema Android como esc...
Control de inventarios utilizando un celular con el sistema  Android como esc...Control de inventarios utilizando un celular con el sistema  Android como esc...
Control de inventarios utilizando un celular con el sistema Android como esc...
 
Proyecto convergencia
Proyecto convergenciaProyecto convergencia
Proyecto convergencia
 
Manual de organizacion afi
Manual de organizacion afiManual de organizacion afi
Manual de organizacion afi
 
Metodologia (soporte tecnico a distancia)
Metodologia (soporte tecnico a distancia)Metodologia (soporte tecnico a distancia)
Metodologia (soporte tecnico a distancia)
 
Reporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación GuiadasReporte Técnico de Prácticas de Observación Guiadas
Reporte Técnico de Prácticas de Observación Guiadas
 
Practicas de Observacion
Practicas de ObservacionPracticas de Observacion
Practicas de Observacion
 
Tesina v11
Tesina v11Tesina v11
Tesina v11
 
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docxDesarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
 
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docxDesarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
Desarrollo de habilidades de pensamiento-samuel lerma-joel rivas.docx
 
Proyecto Integrador Presentacion
Proyecto Integrador   PresentacionProyecto Integrador   Presentacion
Proyecto Integrador Presentacion
 
Proyecto Integrador Presentacion
Proyecto Integrador   PresentacionProyecto Integrador   Presentacion
Proyecto Integrador Presentacion
 
T espe-021852
T espe-021852T espe-021852
T espe-021852
 
T espe-021852
T espe-021852T espe-021852
T espe-021852
 
Carreras de ingeniería
Carreras de ingenieríaCarreras de ingeniería
Carreras de ingeniería
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 

Más de Programador de LabVIEW, Autocad y Matlab (20)

Examen cante
Examen canteExamen cante
Examen cante
 
Semaforo con hmi
Semaforo con hmiSemaforo con hmi
Semaforo con hmi
 
Semaforo cante
Semaforo canteSemaforo cante
Semaforo cante
 
Potenciometro
PotenciometroPotenciometro
Potenciometro
 
Modbus
ModbusModbus
Modbus
 
Plc variador de velocidad ing k-nt
Plc variador de velocidad   ing k-ntPlc variador de velocidad   ing k-nt
Plc variador de velocidad ing k-nt
 
Plc variador de velocidad ing k-nt
Plc variador de velocidad   ing k-ntPlc variador de velocidad   ing k-nt
Plc variador de velocidad ing k-nt
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Libro 4
Libro 4Libro 4
Libro 4
 
Libro 3
Libro 3Libro 3
Libro 3
 
Libro 2
Libro 2Libro 2
Libro 2
 
Minisumo
MinisumoMinisumo
Minisumo
 
Perez cante edgar fuzzy
Perez cante edgar   fuzzyPerez cante edgar   fuzzy
Perez cante edgar fuzzy
 
Tarea de wilberth 3 unidad
Tarea de wilberth 3 unidadTarea de wilberth 3 unidad
Tarea de wilberth 3 unidad
 
Roberto
RobertoRoberto
Roberto
 
Tarea 12 mario
Tarea 12 marioTarea 12 mario
Tarea 12 mario
 
Tarea 10 mario
Tarea 10 marioTarea 10 mario
Tarea 10 mario
 
Tarea 9
Tarea 9Tarea 9
Tarea 9
 
Tarea 6 mario
Tarea 6 marioTarea 6 mario
Tarea 6 mario
 

Último

clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 

Último (20)

clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 

Fabricación de juguetes

  • 1. UNIVERSIDAD TECNOLÓGICA DE CAMPECHE DIRECCIÓN DE INGENIERÍA EN MECATRÓNICA ISO 9001:2008 Cert. No. MQA 4000244 PROYECTO DE INTEGRADORA FABRICACION DE JUGUETES REALIZADA PARA LA EMPRESA: LABORATORIO DE ELECTRONICA Y DISPOSITIVOS TECNOLÓGICOS QUE PRESENTAN: ALEXIS RAMOS HERNÁNDEZ ALEXANDER COCON SÁNCHEZ ENRIQUE PÉREZ VAZQUEZ EDGAR PÉREZ CANTE DE LA PROFESIÓN: INGENIERÍA EN MECATRÓNICA GENERACIÓN: 2015-2017 San Antonio Cárdenas, Carmen, Campeche Diciembre de 2016
  • 2. 2 DATOS GENERALES DEL ALUMNO ALUMNO: ALEXIS RAMOS HERNÁNDEZ MATRÍCULA: 4213010476 DIRECCIÓN Y TELÉFONO: CALLE 77 #654C ENTRE 64ª Y 66 FRACCIONAMIENTO CIUDAD CAUCEL COL. HERRADURA 2, MÉRIDA, YUCATAN. TEL.: (938) 4054585 E-MAIL:alexis.1960@hotmail.com
  • 3. 3 ALUMNO: ALEXANDER COCÓN SÁNCHEZ MATRÍCULA: 4213010127 DIRECCIÓN: AV. PERIFERICA NORTE #17 COL.OBRERA, CD. DEL CARMEN, CAMPECHE, CEL. 938 126 60 53, E-MAIL. alex_cs95@outlook.com
  • 4. 4 ALUMNO: ENRIQUE PÉREZ VAZQUEZ MATRÍCULA: 4213010422 DIRECCIÓN: CALLE MIGUEL HIDALGO N° 13, COL. FRANCISCO I. MADERO, CD. DEL CARMEN, CAMPECHE, CEL. 938 107 10 84, E-MAIL. enriqueperez_123@hotmail.com ALUMNO:
  • 5. 5 EDGAR PÉREZ CÁNTE MATRÍCULA: 4210010592 DIRECCIÓN Y TELÉFONO: CALLE 77 #654C ENTRE 64ª Y 66 FRACCIONAMIENTO SANTA RITA, CD. DEL CARMEN, CAMPECHE. TEL.: (938) 4054585 E-MAIL:edgar@hotmail.com
  • 6. 6 ÍNDICE Pág. LISTA DE FIGURAS ................................................................................................................7 LISTA DE TABLAS..................................................................................................................7 1. INTRODUCCIÓN..................................................................................................................7 DATOS GENERALES DE LA EMPRESA .............................................................................7 PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA......................................................8 2. JUSTIFICACIÓN, OBJETIVO Y VIABILIDAD .....................................................................9 JUSTIFICACIÓN ...................................................................................................................9 OBJETIVO...........................................................................................................................10 VIABILIDAD DEL PROYECTO............................................................................................11 3. DESARROLLO TEÓRICO .................................................................................................17 3.1. MARCO DE REFERENCIA ..........................................................................................17 3.1.2 Entornos de programación..................................................................18 3.2. DISEÑO DE LA INVESTIGACIÓN ...............................................................................23 Alcance ...........................................................................................................23 Metodología ....................................................................................................23 3.2.1. Instalación de Linux...............................................................................24 3.2.2. Instalación de Python..........................................................................30 3.3. DESARROLLO DEL PROYECTO (15-20 cuartillas) ....................................................31 3.3.1 Aplicación de la metodología..................................................................32 3.3.2 Resultados ...............................................................................................3 3.3.3. Análisis....................................................................................................3 4. CONCLUSIONES Y RECOMENDACIONES .......................................................................4 5. FUENTES DE INFORMACIÓN ............................................................................................5 6. ANEXOS...............................................................................................................................6
  • 7. 7 LISTA DE FIGURAS LISTA DE TABLAS Tabla 1 Descripción de puestos.................................................................................14 Tabla 2 costo de materia prima .................................................................................15 Tabla 3 Costo de equipos..........................................................................................16 Tabla 4 Costo anual de mano de obra directa ...........................................................16 Tabla 5 Gasto anual por personal administrativo.......................................................17 Tabla 6.Diagrama de actividades ..............................................................................24 1. INTRODUCCIÓN DATOS GENERALES DE LA EMPRESA El laboratorio de electrónica y dispositivos tecnológicos por sus siglas (LEDT), ubicado en Av. Periférica Norte #23 Col. Obrera. Se clasifica en dos sectores en industrial y comercial ya que se dedica al desarrollo de piezas en 3D como cortes en impresora CNC en otras actividades de igual manera se dedican a la venta de componentes electrónicos (sensores, microcontroladores) por mayoreo y menudeo. La empresa cuenta con 5 departamentos que son: finanzas, área de almacén, taller (área de desarrollo de los productos y dispositivos), departamento de compra y venta de materiales, auditorio (donde se generan juntas, exposiciones, ponencias, conferencias, capacitaciones, etc.) El ing. Alexis Ramos Hernández representante legal de LEDT preocupado por la tecnología en el sureste mexicano e integrado por un grupo de trabajo conformado en cada área, buscan implementar la mejor tecnología en el sureste ofreciendo productos de alta calidad y de primer nivel en el menor tiempo posible satisfaciendo las necesidades de los clientes.
  • 8. 8 LEDT tiene como misión dedicar de su talento y tecnología, para crear productos y servicios que contribuyan a resolver diferentes necesidades. Como visión buscan ser una empresa rentable y sustentable, además de ofrecer servicios de manera nacional e internacional busca contribuir al desarrollo de la tecnología en México. Esta empresa cuanta con los valores de honestidad y lealtad para su desarrollo personal, responsabilidad, disciplina, flexibilidad para aceptar los cambios, Pasión por su trabajo, perseverancia y sobre todo divertirse al aprender. Básicamente en LEDT se busca construir personas con aptitudes de liderazgo, preparadas para poder enfrentar diferentes obstáculos, presentados el camino del desarrollo de la empresa. PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA Cuando hablamos de visión, nos referimos a ese sentido donde se puede percibir el mundo con la vista, en robótica para poder lograr esta percepción es necesario el uso de una cámara o algún sensor laser o en su caso un GPU o alguna tarjeta de desarrollo FPGA para el procesamiento de esta. Lo que se buscar lograr en la siguiente propuesta de proyecto es resolver la búsqueda de objetos que se fabricaran por una impresora 3D, y esto resulta algo complejo si se piensa utilizar un solo sensor. Las variables que posiblemente pueden afectar este sistema puede ser la luz del exterior, el ruido que se produce en la cámara, o que el algoritmo que se desea implementar no sea el óptimo, por tal motivo este tipo de problemas se resuelves con aplicaciones matemáticas en cámaras pero también produce otro problema, el procesar muchas imágenes se consume mucha memoria, lo que se pretende resolver es hacer una discriminación de los datos innecesarios y aprovechar los recursos del procesador o computador para acelerar la búsqueda de los objetos que se fabricaran para poder lograr identificar los objetos fabricados acelerando el proceso de fabricación.
  • 9. 9 2. JUSTIFICACIÓN, OBJETIVO Y VIABILIDAD JUSTIFICACIÓN La implementación de un sistema de visión Artificial aplicado para identificar, percibir y clasificar diferentes objetos es un método que se utiliza mucho en las industrias manufacturas ya se utiliza para identificar ya sea posibles errores o localizar diferentes objetos específicos para luego clasificarlos, el proyecto conviene ya que la implementación que realizaremos está basada en un software de código abierto el cuál logra reducir costos establecidos más adelante y lo que busca una empresa manufacturera es reducir costos y tiempo de producción, pero también confiar un producto de calidad. Esta aplicación me sirve para identificar diferentes objetos en este caso juguetes de diferentes colores con el fin de clasificarlo luego respectivamente, pero ahí no acaba su aplicación con el paso del tiempo la tecnología ha ido avanzando por tal motivo este sistema también tiene otra aplicación mediante el entrenamiento de una red neuronal para clasificar imágenes se busca localizar errores en los juguetes para que con ello los productos sean producidos de acuerdo a los estándares de calidad, la empresa tiene como objetivo crecer cada día y como mencione anteriormente la tecnología va creciendo al paso del tiempo tal que se busca aprender y buscar a diario un método más simple de resolver este tipo de tareas. Ayudará al departamento de producción ubicado en el taller de la empresa ya que se busca acelerar la producción de los juguetes de modo que cuando este sistema localice el objeto buscara posibles errores y también el tipo de color que se diseñó el juguete. Si resuelve un problema real ya que en las empresas manufactureras que producen juguete, cada año se reportan miles de juguetes dañados o con errores de fábrica y esto es dinero perdido cosa que las empresas buscan eliminar. Ayudará a la sociedad infantil a disfrutar de un momento más agradable y tardío su juguete logrando la satisfacción de los clientes.
  • 10. 10 En resumen el sistema propuesto, resolverá el problema presentado en este proyecto gracias a la implementación de un método de localización de objetos mediante color y la aplicación de una red neuronal Artificial para extraer imágenes de errores y luego clasificarlo mediante su entrenamiento se busca acelerar la clasificación y evitar la mayor cantidad de ruido producido mediante su aplicación. El proyecto tiene un alcance grande ya que estos métodos aún están en desarrollo su aplicación están en investigación de modo que los únicos inconvenientes que se pueden presentar seria que la red Neuronal sea lento al estar en entrenamiento pero una vez clasificada las imágenes su aplicación dará buenos resultados OBJETIVO Objetivo general: Desarrollar un sistema de reconocimiento de objetos, mediante la aplicación de un software, para clasificarlos por su color y su género. Objetivos específicos:
  • 11. 11 1. Instalar Python, OpenCV, en ubuntu, mediante la búsqueda de tutoriales presentados en internet, para luego correr los programas de detección de color. 2. Entrenar imágenes para clasificarlos por colores, mediante la aplicación de una Red Neuronal Artificial, para mayor precisión en la búsqueda del color del objeto. 3. Realizar pruebas de detección, mediante el algoritmo implementado, para buscar posibles fallas de clasificación. VIABILIDAD DEL PROYECTO Mediante los datos recabados en este estudio de viabilidad se podrá tomar la decisión si realmente este proyecto de un sistema de visión artificial para monitoreo y control implementado a celdas de manufactura tales como una banda trasportadora y un brazo robótico es rentable a la empresa LEDT, considerando para ello los estudios de factibilidad técnico, operativo y económico. A continuación se detallan cada uno de los estudios de viabilidad mencionados anteriormente. Viabilidad técnica Técnicamente es completamente factible el desarrollo del sistema, dado que se requiere una herramienta de desarrollo que es completamente gratuita, lo que no implica la compra de nuevos productos de desarrollo, y además disponiendo del conocimiento para desarrollar este tipo de aplicaciones.  El sistema de iluminación cuenta con una cavidad óptima para el ajuste de una banda transportadora, en un proceso de manufactura.  Utilizando un software libre nos permite tener un control total del diseño del sistema de reconocimiento, ya que los códigos y librerías tienden hacer configurados para tareas en específicas y para tareas que se puedan complicar por algún problema no controlado.  Un sensor Kinect, puede ser un dispositivo no muy ocasional, sin embargo su estructura permite realizar tareas óptimas en ambientes controlados y no controlados, su cámara RGB y su Sensor infrarrojo son capaces realizar tareas en la oscuridad. Viabilidad operativa
  • 12. 12 Para el buen funcionamiento de la empresa LEDT es necesario especificar claramente las actividades de cada uno de los miembros, para ello se realizó un organigrama funcional de Puestos. Este contiene el análisis de todos los puestos existentes en la empresa. Para realizar dicho análisis se recogió metódicamente los datos necesarios con integridad y exactitud, para después plasmarlos por escrito. El análisis de puestos es indispensable para conocer con toda precisión lo que cada trabajador hace y conocer las aptitudes que requiere para hacerlo bien. Se conocerá a través de este organigrama los elementos que integran cada puesto, los detalles de cada una de las operaciones y los requisitos necesarios para que las actividades se realicen bien. Además el organigrama funcional representa la posibilidad de saber con todo detalle las obligaciones y características de cada puesto, facilitando a la empresa la contratación de personar además de evitar la duplicidad de actividades. Por otro lado los trabajadores realizarán mejor y con mayor facilidad sus labores, con lo anterior podemos decir que será de gran utilidad tanto para la empresa como para los trabajadores. Organigrama Funcional
  • 13. 13 Descripción de puestos ÁREA PUESTO Director general Departamento Operativo Jefe de Departamento operativo Departamento Administrativo Jefe de Departamento Administrativo Departamento Operativo Ingeniero Mecatrónica Departamento Administrativo Jefe de Oficina de Recursos Humanos Departamento Administrativo Jefe de Oficina de Recursos Materiales Departamento Administrativo Jefe de Oficina de Finanzas Direccion general Departamento operativo Ingeniero mecatrónica Armador Ingeniero en Sistemas Supervisior de obra Departamento operativo Oficina de recursos humanos Jefe de Sección de Capacitación y Adiestramiento Oficina de recursos materiales Oficina de finanzas
  • 14. 14 Departamento Operativo Ingeniero en sistemas Departamento Administrativo Jefe de Sección de Capacitación y Adiestramiento Departamento operativo Supervisor de obra Departamento Operativo Armador Tabla 1 Descripción de puestos Viabilidad económica El principal valor agregado que entregará el sistema de visión artificial es que permitirá dar mayor satisfacción al cliente en el proceso de manufactura ya que este sistema implica en gasto de un capital razonable en cuanto la construcción y administración del mismo y raíz de esto se prevén una mejora continua de la vida útil de la empresa. Los recursos necesarios para el desarrollo de este proyecto se detallan a continuación; existen algunos recursos que son actualmente adquiridos de forma gratuita tal es el caso del software que se utiliza para la programación del sistema, por lo tanto nos es necesario adquirirlos. El software utilizado corresponde a Python, que se encuentra disponible para la descarga gratuita en el link https://www.python.org/downloads/ y que permite desarrollar aplicaciones para estudiantes y además permite su distribución sin ningún costo de licencias ya que es un software libre. Viabilidad Técnica Materia prima El costo total de materia prima, se calculó con base a datos técnicos que proporcionan algunas distribuidoras de tal material en la ciudad del Carmen
  • 15. 15 MATERIAL CANTIDAD UNIDAD PRECIO POR UNIDAD TOTAL Aluminio 2 Pliego por 𝒎 𝟐 $250 $500 Bases de aluminio 4 pieza $80 $320 Ángulos de aluminio 1 Vigas por metro $120 $120 Remaches 3 Paquetes $20 $60 Pijas y tornillos 2 Paquetes $35 $70 Pintura 3 Pieza $80 $240 Cables de red UTP 1 Rollo por metro $200 $200 Reflector de luz 1 Pieza $200 $200 TOTAL $1,710 Tabla 2 costo de materia prima Equipos. En la siguiente tabla se presentan los costos totales de los equipos que se requerirán para la construcción del sistema. EQUIPOS MARCA CANTIDAD PRECIO Cortadora Deker 1 $2,800 Pulidora Craftsman 1 $1,300 Remachadora manual Surtex 1 $273 Taladro Bork 1 $700 Computadora Dell 1 $2,100
  • 16. 16 Cámara de Kinect Microsoft xbox 1 $300 TOTAL $ 7,473 Tabla 3 Costo de equipos Total de inversión en el proyecto : MX$9,183.00 Viabilidad Operativa Mano de obra directa Por concepto de mano de obra directa, se requiere una inversión total de $1,236,000. Este personal será el que se encontrara específicamente en el área de producción, en la siguiente tabla se detallan estos costos. PUESTO CANTIDAD IMPORTE MENSUAL SUBTOTAL ANUAL Ingeniero mecatrónica 3 $40,000 $480,000 Ingeniero en Sistemas 1 $28,000 $336,000 Supervisor de Obra 1 $20,000 $240,000 Armador 2 $15,000 $180,000 TOTAL $1,236,000 Tabla 4 Costo anual de mano de obra directa Gastos de administración De acuerdo con el organigrama general de la empresa (presentado en estudio de viabilidad operativa), los gastos por personal administrativo ascienden a $ 1,644,000 anualmente. A continuación, se detallan estos en la tabla 4. PUESTO CANTIDAD IMPORTE MENSUAL SUBTOTAL ANUAL Gerente 1 $30,000 $360,000 Jefe de Departamento operativo 1 $27,000 $324,000 Jefe de Oficina de Recursos Humanos 1 $22,000 $264,000
  • 17. 17 Jefe de Oficina de Recursos Materiales 1 $20,000 $240,000 Jefe de Oficina de Finanzas 1 $20,000 $240,000 Jefe de sección de capacitación y adiestramiento 1 $18,000 $216,000 TOTAL $ 1,644,000 Tabla 5 Gasto anual por personal administrativo Demostrado en los puntos anteriores, tanto los estudios de factibilidad técnica, económica y operativa resultan ser favorables para el proyecto lo que determina su viabilidad. El proyecto resulta ser una buena herramienta para la empresa, además a un costo no mayor que puede ser recuperado a mediano plazo. 3. DESARROLLO TEÓRICO 3.1. MARCO DE REFERENCIA En un sistema de visión artificial se incluyen diversas técnicas, tales como el procesamiento de imágenes (captura, transformación, codificación de imágenes) o como el reconocimiento de formas (teoría estadística de decisiones, enfoques sintácticos y neuronales aplicados a la clasificación de patrones). En este tipo de sistemas, además se incluyen técnicas de modelado geométrico y procesos de conocimiento. Por lo tanto, en este apartado se trata de describir las etapas a considerar en el sistema de visión a implementar. La captura de la imagen es el conjunto de operaciones que se efectúan para transformar la iluminación de una escena en una señal digital. Las imágenes no siempre se presenta en un formato adecuado para su análisis, por lo que el siguiente proceso es el preprocesamiento de una imagen, en el cual se utilizan técnicas encaminadas a realizar la mejora de la imagen, como son el nivel de gris, contraste, eliminación del ruido, el realce de algunas características de interés, etc. Una vez que esta imagen está en condiciones
  • 18. 18 de ser procesada, se tienen que hallar los objetos dentro de la imagen de forma independiente, y esto se hace a través de la segmentación, que es un proceso que divide la escena en objetos. Cada uno de los objetos puede ser clasificado, por lo que la siguiente tarea es la clasificación o extracción de características para el reconocimiento. El reconocimiento es la identificación de cada objeto en la escena mediante una etiqueta. 3.1.2 Entornos de programación Linux La plataforma linux es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a Unix denominado Linux con el sistema GNU. Su desarrollo es uno de los ejemplos más prominentes de software libre; todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL (Licencia Pública General de GNU, en inglés: General Public License) y otra serie de licencias libres. Figura 1. Logo de Ubuntu Fuente: Elaboración propia, 2015. Python Lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipiado dinámico y es multiplataforma. Es administrado por la Python Software Foundation. Posee una licencia de código abierto, denominada Python Software Foundation License.
  • 19. 19 Figura 2. Logo de Python Fuente: Elaboración propia, 2015 NumPy NumPy es una extensión de Python, que le agrega mayor soporte para vectores y matrices, constituyendo una biblioteca de funciones matemáticas de alto nivel para operar con esos vectores o matrices. El ancestro de NumPy, Numeric, fue creado originalmente por Jim Hugunin con algunas contribuciones de otros desarrolladores. En 2005, Travis Oliphant creó NumPy incorporando características de Numarray en NumPy con algunas modificaciones. NumPy es open source(código abierto). Matplotlib Una vez incorporado NumPy se debe utilizar matplotlib que es una biblioteca para la generación de gráficos a partir de datos contenidos en listas o arrays en el lenguaje de programación Python y su extensión matemática NumPy. Proporciona una API, pylab, diseñada para recordar a la de MATLAB. PySerial Es una librería de python que permite comunicarse a través de comunicaciones por serial (RS- 232). Esto puede ser muy útil para mandar o recibir datos de periféricos que sean comunes o que tú mismo hayas hecho de una manera increíblemente sencilla y sin tener que complicarse para nada con este tipo de programación.
  • 20. 20 Libfreenect Es la librería para poder manipular el sensor Kinect en Python tal que su aplicación es indispensable en este proyecto. En visión artificial, los procesos de segmentación son de vital importancia cuando se trata de detectar objetos en entornos no estructurados. En concreto, la segmentación haciendo uso de información de color adquiere cierta importancia en ámbitos muy diversos, desde el tratamiento de secuencias de videos para la detección de objetos o individuos en escenas móviles hasta la detección para el seguimiento, también conocido como tracking. El "reconocimiento de color" es la capacidad de un sensor o algoritmo de distinguir colores a partir de la extracción de información de la luz La manera básica de detectar el color consiste en captar la luz incidente en un sensor. Este, mediante un conjunto de celdas de fotones que forman una matriz de puntos, uno por cada pixel, es capaz de medir la cantidad de luz llegada a cada uno de estos, produciendo una corriente eléctrica que varía en función de la intensidad de luz recibida. Una vez se ha medido la cantidad de luz se procede a la detección de colores. La extracción de ondas espectrales, da como resultado la captación de lo que conocemos como colores. Por lo general la identificación de los diferentes colores se utiliza un código conocido como RGB (Red, Green, Blue). El reconocimiento de colores está basado en un lenguaje de programación sencillo el cual utiliza una librería especial para el control de cámaras. Estamos hablando del lenguaje de programación Python y de la librería especial Opencv. Modelo HSV El modelo HSV (hue, saturación, value; tinte, saturación, valor) está orientado al usuario y se basa en el atractivo intuitivo del modelo de los artistas. HSV es un sistema de color que varía el grado de propiedades del color para crear nuevos colores. (utiliza la mezcla de colores
  • 21. 21 ). Hue (matiz) especifica el "color", rojo, naranja, azul, etc. La saturación (conocida también como cromo o pureza), se refiere a la cantidad de blanco en un hue. Un color completamente saturado no contiene blanco y aparece puro, un rojo 50% saturado resulta un rosa. El valor (conocido también como brillo) es el grado de luminosidad de un color (que tanta luz emite). Un matiz con alta intensidad es brilloso, uno con poca intensidad es oscuro. Figura 3 Cono de colores del espacio HSV. Cámara Microsoft Kinect Especificaciones técnicas El sistema de percepción de profundidad consta de tres partes básicas: el proyector láser de infrarrojos, el sensor CMOS y el microchip que procesa la información. Fue creado y desarrollado por PrimeSense, una compañía Israelí experta en innovación. Contrariamente a lo que podríamos suponer en un principio, no se trata de un sensor basado en tiempo de vuelo, sino que su funcionamiento se basa en la proyección de un patrón de puntos pseudo-aleatorio y su lectura y triangulación mediante el sensor CMOS. A continuación se describe más a detalle en cuanto al funcionamiento del sistema. Proyector láser. Posee las siguientes propiedades  Se trata de un láser no modulado, no produce pulsos en su salida sino que se mantiene a nivel constante.  La longitud de onda es de 830nm.
  • 22. 22  Consta de un sistema de difracción que subdivide el rayo en múltiples instancias, proyectando un patrón de puntos pseudo-aleatorio.  La potencia medida a la salida de la Kinect es de 60mW. No es dañina para los ojos, si bien es probable que la difracción inducida haya introducido pérdidas.  Posee un estabilizador de temperatura que se encarga de mantener el láser a temperatura constante para no alterar la longitud de onda de salida  El campo de visión en horizontal de la cámara es de 57 grados y el rango máximo de distancia desde la cámara para la captación de profundidad es de 0,8 metros a 4 metros, considerándose un rango óptimo de 1,2 metros a 3,5 metros. Figura 4 Campo de visión horizontal y rango de proximidad de la Kinect Además, la Kinect está equipada con un ventilador que se activa cuando la temperatura alcanzada es mayor de 70oC (recordar que el valor máximo del rango de operación de los sensores ronda esa temperatura) y que se alimenta por la toma USB.
  • 23. 23 3.2. DISEÑO DE LA INVESTIGACIÓN Alcance La visión artificial ha alcanzado una gran importancia en el campo científico-técnico debido a sus enormes posibilidades de aplicación. Existen sistemas de visión artificial en todos los ámbitos navegación autónoma de vehículos, análisis de imágenes médicas, monitorización del tráfico, etc. En esta sección nos centraremos en los sistemas de visión destinados a la inspección en líneas de fabricación, ya que los sistemas de visión artificial se destinan a realizar inspecciones visuales que requieren alta velocidad, gran aumento, funcionamiento las 24 horas del día o la repetibilidad de las medidas. Este uno de los campos dentro de la visión artificial que más han crecido y que presenta mayores aplicaciones a nivel industrial. Metodología Una vez comprendido algunos términos esenciales en el desarrollo del proyecto a continuación se explicara cómo se llevara paso a paso la realización de éste.. Nombre de la empresa: LEDT (Laboratorio de Electrónica y Dispositivos Tecnológicos) Cronograma de actividades Inicio: 7/09/16 Termino: 5/12/16 Aprobó: No. trabajador Proyecto: Desarrollar un sistema de reconocimiento de objetos, mediante la aplicación de un software, para clasificarlos por su color y su género. No. Actividad Tiempo estimado de la ejecución del proyecto Meses/semanas Septie mbre Octubre Noviembre Diciembre 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1. Instalar sistema operativo Ubuntu 12.04. 2. Instalar Python con sus librerías y dependencias como OpenCV. 3. Instalar driver y software en Ubuntu. 4. Realizar un análisis de las imágenes capturadas 5. Desarrollar un algoritmo de entrenamiento de la red 6. Programar el algoritmo en Python.
  • 24. 24 Tabla 6.Diagrama de actividades Fuente: Elaboración propia, 2015 3.2.1. Instalación de Linux Primero que nada se tuvo como requisito el contar con un computador, comúnmente la mayoría de las personas tienen instalado en su computadora Windows existen muchas versiones de este sistema operativo, la versión más reciente que está siendo descargada por muchos usuarios es la actualización a Windows10 pero la mayoría se estancó en Windows 8.1. Existen otros sistemas operativos muy conocidos que son de código abierto, es decir, que los programas que se usan en este sistema operativo, no requiere de algún serial para poder ser instalado o utilizado eso conlleva a que muchos usuarios se interesen en estos tipos de sistemas operativos, uno de ellos es el caso de Ubuntu, que pertenece a la plataforma Linux Se utilizó este sistema operativo ya que la mayoría de los desarrolladores en la robótica se basan en programas que son más amigables de procesar en él, la ventaja de la instalación de Ubuntu, es que permite compartir la computadora con otro sistema operativo sin dañar los archivos, el computador al finalizar su instalación, contaba con dos sistemas operativos. Lo que primero que se hizo fue descargar la imagen ISO de Ubuntu. La versión que se descargo fue la 12.04 no es la versión más reciente, pero es una versión que se tiene más estudiada también se puedo trabajar sobre Ubuntu 14.04 pero existen ciertos problemas con la compatibilidad en los repositos utilizados allí. Una vez que se descargó la imagen ISO se grabó en un usb (pendrive) aunque también se pudo haber grabado en un CD/DVD. Luego se configuro la computadora, se creó una partición de 50000MB, de memoria en el disco duro libres para la instalación de Ubuntu. 7. Realizar pruebas después de los entrenamientos de la Red Neuronal 8. Prever resultados
  • 25. 25 Para generar la partición, se buscó “Mi PC”, en el escritorio luego seguidamente en administrar y luego se abrió la ventana de administración de discos. Básicamente nos apareció la ventana que es respetada por la figura 8. Figura 5. Ventana de administración de equipo Fuente: Elaboración propia, 2015. Luego se redujo la memoria 50000MB para instalar Ubuntu, seguidamente se prosiguió a su instalación pero antes de eso se configuro el computador desde la BIOS para el arranque fuera desde el usb, tal que una vez configurada la computadora se reinició con el pendrive puesto. Luego de unos instantes, apareció GRUB 2, el gestor de arranque de Ubuntu. Se hizo clic en el ícono Install Ubuntu 12.10.
  • 26. 26 Figura 6. Instalación de ubuntu Fuente: Elaboración propia, 2015. Después de proceder con la instalación apareció una ventana de seleccionar idioma, allí se eligió idioma, luego se dio clic en el botón Instalar Ubuntu. Figura 7 . Ventana de preparación de la instalación de ubuntu Fuente: Elaboración propia, 2015. Luego se confirmó que contara con los requisitos mínimos de instalación haciendo clic en Continuar. Cabe destacar que el único requisito indispensable era contar con el espacio en disco necesario. Tener una conexión a Internet era una recomendación pero no un requisito excluyente ya que mientras su instalación se descargó paquetes del
  • 27. 27 sistema operativo. También se conectó a una toma de corriente. Se seleccionó la tercera opción, ya que se dividió la partición que se había hecho en el disco duro. Figura 8 .ventana de asignación de espacio en el disco Fuente: Elaboración propia, 2015. En el espacio libre se le añadieron 3 particiones básicas en donde la primera se le asignó 15000MB de memoria. Se seleccionó la ubicación de la nueva partición: principio, utilizar como: ext4 es el sistema que usa Ubuntu 12.04 por defecto Y el punto de montaje: / (la raíz); se le dio aceptar. La segunda partición se creó con espacio libre en donde se asignó 4GB de memoria, en tipo de nueva partición seleccionamos primaria; en ubicación de la nueva partición utilizamos final y en utilizar como, buscamos área de intercambio luego se seleccionó aceptar. En la tercera partición se asignó lo que queda en la memoria libre, en ubicación de la nueva partición seleccionamos principio; en utilizar como buscamos, sistema de ficheros ext4; en el puerto de montaje se eligió, /home se seleccionó aceptar.
  • 28. 28 Figura 9 . Ventana de asignación de memoria Fuente: Elaboración propia, 2015. Seguidamente de la distribución de la memoria apareció la ventana de selección de zona horaria (Figura 13) se eligió la zona de central de américa, pulsamos instalar ahora, luego se eligió la zona horaria Figura 10. Selección de la zona horaria Fuente: Elaboración propia, 2015.
  • 29. 29 Después apareció la ventana de la distribución del teclado (figura 14) se teclearon algunas palabras, para comprobar que todas las teclas estén en buena condición y se localizó el Español (latinoamericano). Figura 11. Ventana de selección del tipo de teclado Fuente: Elaboración propia, 2015. Después de configurar el teclado, se creó el perfil del usuario en donde se introdujo el nombre del usuario, una contraseña y el nombre del computador también se eligio que al iniciar el computador solicitará la contraseña. Figura 12. Ventana de creación de perfil Fuente: Elaboración propia, 2015. Luego al finalizar la instalación se extrajo el usb y se reinició el computador en donde ya tenía instalado dos sistemas operativos. Después se observaron tutoriales de cómo
  • 30. 30 utilizar Ubuntu bajo algunos comandos, funciones y como se trabaja bajo este nuevo sistema operativo. Una vez familiarizado con este sistema operativo se procedió a instalar la plataforma Python, es un software de código abierto que se utiliza comúnmente para proyectos de visión artificial, para la representación gráficas en 2D o 3D, programación de vídeo juegos, entre otras cosas. Este software se vuelve más atractivo cuando se aprende a programar en él y allí mismo se da cuenta uno lo fácil que es trabajar sobre esta plataforma, para poder instalarlo en Ubuntu se necesita ciertas condiciones y otro software extra para poder ejecutar los programas. Python es recomendable trabajarlo en Ubuntu porque es más fácil adaptarlo a tus necesidades de programación ya que las librerías de Python, que se instalan son fáciles de importar, a diferencia del sistema operativo Windows, las librerías de Python son más difíciles de importar y te pueden surgir muchos errores al programar. 3.2.2. Instalación de Python Figura 13. Ventana buscador ubuntu Fuente: Elaboración propia, 2015. Se escribió en el buscador de Ubuntu la palabra software center y este nos llevó a una ventana donde se descargan las aplicaciones en el buscador de esta ventana escribimos Python 3 trabajamos sobre esta versión, porque ya tiene instalado ciertas librerías que se utilizaron para el desarrollo del algoritmo para identificar objetos.
  • 31. 31 Figura 14. Instalación de Python Fuente: Elaboración propia, 2015. También se descargó otro software editor para ejecutar y modificar cualquier programa de Python, el nombre es “SPE(stani’s Python editor, figura 18 )”.este software es utilizado para la edición del programa de reconocimiento de objetos. Figura 15. Instalación de SPE Fuente: Elaboración propia, 2015. Luego se instalaron las librerías NumPy, Matplotlib, PySerial, esto desde la termina; una vez que tuvo instalados todos los programas y las librerías se procedió a realizar el análisis de los diferentes modelos matemáticos implementados en filtro de Kalman. 3.3. DESARROLLO DEL PROYECTO (15-20 cuartillas)
  • 32. 32 Las aplicaciones de redes neuronales en la actualidad para resolver problemas reales en las industrias han sido de gran utilidad ya que las empresas le están apostando a este sistema de inteligencia artificial a continuación se presentara la explicación de una aplicación de este método para detectar y clasificar diferentes objetos 3.3.1 Aplicación de la metodología Hay dos aplicaciones en OpenCV para entrenar el clasificador en cascada:. Opencv_haartraining y opencv_traincascade opencv_traincascade es una versión más reciente, escrito en C ++ de conformidad con OpenCV API 2.x. Sin embargo, la principal diferencia entre estas dos aplicaciones es que soporta tanto opencv_traincascade Haar [Viola2001] y LBP [Liao2007] (patrones binarios locales) características. Las características de LBP son enteras en contraste con las características de Haar, así que la formación y la detección con LBP son varias veces más rápidas que las características de Haar. En cuanto a la calidad de la detección LBP y Haar, depende de la formación: la calidad del conjunto de datos de formación en primer lugar y los parámetros de formación también. Es posible entrenar a un clasificador basado en LBP que proporcionará casi la misma calidad que el basado en Haar. opencv_traincascade y almacenar opencv_haartraining el clasificador entrenado en diferentes formatos de archivo. Nota, la interfaz de detección en cascada más reciente (véase la clase CascadeClassifier en el módulo objdetect) soporta ambos formatos. Opencv_traincascade puede guardar (exportar) una cascada entrenado en el formato anterior. Pero opencv_traincascade y opencv_haartraining no pueden cargar (importar) un clasificador en otro formato para la formación continua después de la interrupción. Tenga en cuenta que la aplicación opencv_traincascade puede utilizar TBB para multi- threading. Para usarlo en modo multicore OpenCV debe ser construido con TBB. También hay algunas utilidades auxiliares relacionadas con el entrenamiento. • opencv_createsamples se utiliza para preparar un conjunto de datos de entrenamiento de muestras positivas y de prueba. opencv_createsamples produce conjunto de datos de muestras positivas en un formato que es compatible con las aplicaciones y opencv_haartraining opencv_traincascade. La salida es un archivo con extensión * .vec, es un
  • 33. 33 formato binario que contiene imágenes. • opencv_performance se puede utilizar para evaluar la calidad de los clasificadores, pero para entrenados por opencv_haartraining solamente. Requiere una colección de imágenes marcadas, ejecuta el clasificador e informa del rendimiento, es decir, el número de objetos encontrados, el número de objetos perdidos, el número de falsas alarmas y otra información. Desde opencv_haartraining es una aplicación obsoleta, sólo se opencv_traincascade se describirá más se necesita. Opencv_createsamples utilidad para preparar un conjunto de datos de entrenamiento para opencv_traincascade, por lo que se describirá también.
  • 34. 34 opencv_createsamples utilidad Una utilidad opencv_createsamples proporciona funcionalidad para generar el conjunto de datos, la escritura y la visualización. El término conjunto de datos se usa aquí tanto para conjunto de entrenamiento y de prueba. Formación de preparación de datos Para el entrenamiento necesitamos un conjunto de muestras. Hay dos tipos de muestras: negativa y positiva. Las muestras negativas corresponden a imágenes sin objeto. Las muestras positivas corresponden a imágenes con objetos detectados. Conjunto de muestras negativas se debe preparar de forma manual, mientras que un conjunto de muestras positivas se crea usando la utilidad opencv_createsamples.
  • 35. 35 Las muestras negativas Las muestras negativas se toman de imágenes arbitrarias. Estas imágenes no deben contener objetos detectados. Las muestras negativas se enumeran en un archivo especial. Es un archivo de texto en el que cada línea contiene un nombre de archivo de imagen (relativo al directorio del archivo de descripción) de imagen de muestra negativa. Este archivo debe crearse manualmente. Tenga en cuenta que las muestras negativas y las imágenes de muestra también se denominan muestras de fondo o imágenes de muestras de fondo y se utilizan indistintamente en este documento. Las imágenes descritas pueden ser de diferentes tamaños. Pero cada imagen debe ser (pero no necesariamente) más grande que un tamaño de ventana de entrenamiento, ya que estas imágenes se utilizan para submuestra la imagen negativa al tamaño del entrenamiento. Un ejemplo de archivo de descripción: Estructura del directorio: img1.jpg img2.jpg Archivo bg.txt: Img / img1.jpg Img / img2.jpg figura 16 imágenes obtenidas
  • 36. 36 En la figura 16 se observa como las imágenes adquiridas representan las fotos positivas donde se encuentran los objetos Las muestras positivas A partir de una sola imagen con objeto o de una colección de imágenes previamente marcadas. Tenga en cuenta que necesita un gran conjunto de datos de muestras positivas antes de entregarlo a la utilidad mencionada, ya que sólo aplica la transformación de perspectiva. Por ejemplo, puede necesitar sólo una muestra positiva para un objeto absolutamente rígido como un logotipo de OpenCV, pero definitivamente necesita cientos e incluso miles de muestras positivas para caras. En el caso de las caras que usted debe considerar toda la raza y grupos de edad, las emociones y estilos de la barba tal vez. Por lo tanto, una sola imagen de objeto puede contener un logotipo de la empresa. A continuación, se crea un gran conjunto de muestras positivas a partir de la imagen de objeto dada girando al azar, cambiando la intensidad del objeto, así como colocando el objeto en un fondo arbitrario. La cantidad y variedad de aleatoriedad pueden ser controlados por los argumentos de línea de comandos de utilidad opencv_createsamples. La creación de conjunto de entrenamiento a partir de una sola imagen y una colección de fondos con un solo archivo vec como una salida El siguiente procedimiento se utiliza para crear una instancia de ejemplo de objeto: La imagen de origen se gira de forma aleatoria alrededor de los tres ejes. El ángulo elegido se limita mi - max? Ángulo. Entonces píxeles que tienen la intensidad de [bg_color-bg_color_threshold; bg_color + bg_color_threshold] gama se interpretan como transparente. El ruido blanco se añade a las intensidades del primer plano. Si no se especifica la clave -inv entonces intensidades de los píxeles de primer plano están invertidas. Si se especifica -randinv clave entonces algoritmo selecciona al azar si la inversión se debe aplicar a esta muestra. Por último, la imagen obtenida se coloca sobre un fondo arbitraria desde el archivo de descripción del fondo, cambiar de tamaño al tamaño deseado especificado por -wy -H y almacenado a la vec- archivo, especificado por la opción de línea de comandos -vec. La creación de conjunto de entrenamiento como una colección de imágenes PNG
  • 37. 37 Para obtener este tipo de comportamiento del -img, -bg, -info y las teclas -pngoutput deben ser especificados. El nombre de archivo especificado con -info clave debe incluir al menos un nivel de jerarquía de directorios, ese directorio se usará como el directorio de nivel superior para el conjunto de entrenamiento. Por ejemplo, con los llamados opencv_createsamples como siguiente: Opencv_createsamples -img /home/user/logo.png -bg /home/user/bg.txt -info /home/user/annotations.lst -pngoutput -maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1 La salida tendrá la siguiente estructura: / Inicio / usuario / anotaciones / 0001_0107_0099_0195_0139.txt 0002_0107_0115_0195_0139.txt ... neg <Archivos de fondo aquí> pos / 0001_0107_0099_0195_0139.png 0002_0107_0115_0195_0139.png ... Con los archivos .txt en el directorio que contiene información sobre las anotaciones del cuadro delimitador objeto en la muestra en el siguiente formato: Nombre de archivo de imagen: "/home/user/pos/0002_0107_0115_0195_0139.png"
  • 38. 38 Cuadro de encuadernación para el objeto 1 "PASperson" (Xmin, Ymin) - (Xmax, Ymax): (107, 115) - (302, 254) Y annotations.lst archivo que contiene la lista de todas las anotaciones del archivo: /home/user/annotations/0001_0109_0209_0195_0139.txt /home/user/annotations/0002_0241_0245_0139_0100.txt Creación de prueba establecida como una colección de imágenes JPG Esta variante de uso opencv_createsamples es muy similar a la anterior, pero genera la salida en un formato diferente; Para obtener este tipo de comportamiento del -img, -bg y las teclas - INFO deben ser especificados. Por ejemplo, con los llamados opencv_createsamples como siguiente: Opencv_createsamples -img /home/user/logo.png -bg /home/user/bg.txt -info annotations.lst -maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1 Estructura del directorio: info.dat img1.jpg img2.jpg Archivo info.dat: Img1.jpg 1 140 100 45 45 Img2.jpg 2 100 200 50 50 50 30 25 25
  • 39. 1 La conversión de la colección marcada en marcha de las muestras en un formato vec También se pueden obtener muestras positivas de una colección de imágenes previamente marcadas. Esta colección se describe mediante un archivo de texto similar al archivo de descripción de fondo. Cada línea de este archivo corresponde a una imagen. El primer elemento de la línea es el nombre de archivo. Es seguido por el número de instancias de objeto. Los números siguientes son las coordenadas de los objetos que delimitan rectángulos (x, y, anchura, altura). Un ejemplo de archivo de descripción: Estructura del directorio: img img1.jpg img2.jpg info.dat Archivo info.dat: Img / img1.jpg 1 140 100 45 45 Img / img2.jpg 2 100 200 50 50 50 30 25 25 Image img1.jpg contiene instancia de objeto único con las siguientes coordenadas del rectángulo delimitador: (140, 100, 45, 45). Image img2.jpg contiene dos instancias de objeto. Con el fin de crear las muestras positivas de dicha recolección, -info argumento debe especificarse en lugar de -img:
  • 40. 2 • -info <collection_file_name> Archivo descriptivo de la colección de imágenes marcadas. El esquema de creación de muestras en este caso es el siguiente. Las instancias de objeto se toman de imágenes. A continuación, se cambian el tamaño de las muestras de destino y se almacenan en la salida vec-archivo. No se aplica ninguna distorsión, por lo que los argumentos que sólo afectan son -w, -h, -show y -num. Después de adquirir las imágenes viene la etapa de entrenamiento donde se expone a la red neuronal eliminado la mayor cantidad de errores y reduciendo el tiempo de detección del objeto al terminar el entrenamiento se adquiere un archivo cascade.xml este es el que nos interesa procesar porque contiene el resultado de las ganancias de la red Neuronal. figura 17 programa de detección
  • 41. 3 3.3.2 Resultados figura 18 detectando un celular los resultados fueron factibles para ambientes controlados e incontrolados tal que se observa los resultados en la (figura 18), debemos tener en cuenta los otros puntos como el tiempo de entrenamiento. 3.3.3. Análisis figura 19 datos de entrenamiento
  • 42. 4 Se observa en la figura 19 los datos obtenidos en la red neuronal y después de varios entrenamientos se describen en la siguiente tabla la cantidad de error obtenido después de cada entrenamiento. Img positivas Img negativas Tiempo entrenado Error 750 1500 2 horas 50 min 5.63663e-3 1500 3000 4 horas 17 min 1.6453453e- 6 1000 1500 50 min 1.74663e-3 4. CONCLUSIONES Y RECOMENDACIONES Se desarrolló un sistema de reconocimiento de objetos, mediante la aplicación de un software, para clasificarlos por su color y su género, bajo la plataforma Linux, trabajamos con el software python para la realización del reconocimiento de objetos con ayuda de la paquetería OpenCV, que nos permite utilizar su entrenamiento de imágenes por medio de redes neuronales, creando así un archivo para el reconocimiento del objeto especifico, se usaron para el entrenamiento aproximadamente 3000 imágenes negativas y 1500 imágenes positivas, las negativas son fotografías de lo que no queremos reconocer, en este caso otros objetos, los ambientes, e inclusive de personas y las positivas es del objeto que quiero reconocer, captándolo de todos los ángulos posibles, de esta manera evitamos un problema muy común en el reconocimiento de imágenes, la luz que nos varia los colores de nuestros objetos de manera drástica, por ello este entrenamiento también debe llevar fotografías con los diferentes cambios de luz que se puedan presentar, esto causa que el entrenamiento al tener más fotografías se pueda volver muy lento y tardar incluso días, por ello se diseñó una caja con un ambiente controlado y una luminosidad constante con luz LED, regulándolo con PWM y un driver L293d. de esta manera mantenemos un ambiente controlado con una luz exacta en cada hora del día, permitiendo no tener
  • 43. 5 tantas fotografías y que el sistema sea rápido con la misma calidad de reconocimiento. En la presentación se utilizó un cubo de 2 centímetros, a una distancia aproximada de 50 cm, esto fue un reto porque es una pieza muy pequeña pero bajo el entrenamiento utilizado, se logró captar el objeto de manera eficaz, presentando así un sistema completo de reconocimiento de imagen con un ambiente controlado. 5. FUENTES DE INFORMACIÓN Bradski, G. (2015). Learning OpenCV: Computer Vision with the OpenCV Library. O Reilly. Bressert, E. (2013). SciPy and NumPy: An Overview for Developers. O Reilly. Howse, J. (2014). OpenCV Computer Vision with Python. O Reilly. Kurt Demaagd, A. O. (2014). Practical Computer Vision with SimpleCV : The Simple Way to Make Technology. O Reilly. Laganière, R. (2012). OpenCV 2 Computer Vision Application Programming Cookbook. O Reilly. Lélis, D. (2014). Mastering OpenCV with Practical Computer Vision Projects. O Reilly. Ponce, D. A. (2013). Computer Vision: A Modern Approach (2nd Edition). Solem, J. E. (2013). Programming Computer Vision with Python: Tools and algorithms for analyzing. O Reilly. Stockman, L. G. (2011). Computer Vision. Szeliski, R. (2014). Computer Vision: Algorithms and Applications. O Reilly.