INSTITUTO TECNOLÓGICO DE ORIZABA XXIII CONCURSO DE CREATIVIDAD CAPACIDADES DIFERENTES
X X I I I C ON C URS O DE C R EA TI VI D A D
INS IN S TITUTO TECNOLÓGICO DE ORIZABA POSGRADO: ING. ELÉCTRICA Y ELECTRÓNICA
AUTORES:
Nombres
Edad
Carrera
Sem.
Matricula
ING. SÁNCHEZ MEDEL LUIS HUMBERTO (ALUMNO EXPOSITOR)
27
M. C. ING. ELECTRÓNICA
V
M99020873
ING. ENRÍQUEZ RODRÍGUEZ JOSÉ JORGE
26
M. C. ING. ELECTRÓNICA
IV
M99010794
C. OSCAR FONSECA PEÑA
22
ING. ELECTRÓNICA
VIII
04010156
ASESORES:
Nombre del asesor
Carrera
Departamento de Adscripción o Procedencia
DR. RUBÉN POSADA GÓMEZ
ING. ELECTRÓNICA
CATEDRÁTICO DEL INSTITUTO TECNOLÓGICO DE ORIZABA
DR. HUGO GAMEZ COATZIN (ASESOR EXTERNO)
ING. ELECTRÓNICA
HC-METAL
2 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
SÍNTESIS DEL PROYECTO El movimiento de nuestro cuerpo es una acción natural desde el mismo instante en que nacemos y conforme crecemos aprendemos nuevas habilidades, sin embargo existen diversos eventos que pueden limitar nuestra calidad de vida y disminuir nuestra libertad de movimiento. Esto puede ser causado por la edad o algún incidente que afecte nuestra espina dorsal ocasionando algún tipo de parálisis motriz (paraplejia o tetraplejia). Las competencias Paraolímpicas son un claro ejemplo de la tenacidad que tienen los pacientes con parálisis, estos hacen uso de sus extremidades superiores para su transportación mediante sillas de ruedas mecánicas, sin embargo no todas las personas tienen las mismas necesidades; con el objetivo de optimizar la calidad de vida de pacientes de edad avanzada o con parálisis (paraplejia o tetraplejia) se han desarrollado sillas de ruedas eléctricas de potencia (EPWs), este tipo de sillas son operadas con las manos mediante controles tipo joystick y están destinadas a personas que puedan hacer uso de sus miembros superiores. Cuando sensores y computadores son agregados a una EPWs esta evoluciona a una silla inteligente o IWs. Actualmente las IWs constituyen un amplio campo de investigación que incluye dispositivos para colocar la silla en un vehículo, algoritmos de navegación y medios alternos de control entre los que destacan la voz y el video. El objetivo de esta proyecto es el de realizar una interfaz para el control de un prototipo de silla de ruedas utilizando movimientos gestuales de naturaleza facial ó manual que representan un esfuerzo mínimo por parte del usuario. Se utilizan diversas técnicas del campo de sistemas de visión máquina como la detección de piel, imagen diferencial y clasificación de gestos por patrones, además de microprogramación de microcontroladores PIC para el control de sensores y comunicación con la PC.
3 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
ÍNDICE
ÍNDICE CAPÍTULO 1: CONCEPTOS BÁSICOS 1.1 DISEÑO UNIVERSAL Y TECNOLOGÍA ASISTIDA. 1.2 DISCAPACIDAD EN MÉXICO. 1.2.1 LA DISCAPACIDAD Y LA EDUCACIÓN. 1.2.2 LA DISCAPACIDAD MOTRIZ Y LA PARÁLISIS. 1.2.3 SILLA DE RUEDAS PARA DISCAPACITADOS. 1.3 CONCEPTOS BÁSICOS DE ROBÓTICA. 1.3.1 HISTORIA DE LOS ROBOTS. 1.3.2 DEFINICIÓN Y CLASIFICACIÓN DE LOS ROBOTS. 1.3.3 ROBOTS AL SERVICIO DEL SER HUMANO. 1.3.4 COMPONENTES DE UN ROBOT. 1.4 MICROCONTROLADORES. 1.5 SISTEMAS DE VISIÓN MÁQUINA. 1.5.1 DESCRIPCIÓN DE LOS SISTEMAS DE VISÓN MÁQUINA. 1.5.2 APLICACIÓN DE LOS SISTEMAS DE VISIÓN MÁQUINA. 1.6 DETECCIÓN DE PIEL. 1.7 DETECCIÓN DE ROSTROS. 1.8 RECONOCIMIENTO DE GESTOS. CAPÍTULO 2: ESTADO DEL ARTE 2.1 DISPOSITIVOS QUE ASISTEN EN LA MOVILIDAD AL PACIENTE DISCAPACITADO. 2.2 SILLAS DE RUEDAS CONVENCIONALES. 2.3 SILLA DE RUEDAS DE POTENCIA. 2.4 SILLAS DE RUEDAS INTELIGENTES.
PÁG. 4 7 8 9 11 12 13 13 13 14 16 17 17 18 19 21 22 23
25 25 25 26
CAPITULO 3: DISEÑO DEL PROTOTIPO DE IWS 3.1 NECESIDADES DEL SISTEMA. 3.2 DIAGRAMA DE FLUJO DE DIRECCIÓN DE LA SILLA. 3.3 HARDWARE IMPLEMENTADO EN LA IWS. 3.3.1 SENSORES. 3.3.2 MOTORREDUCTOR. 3.3.3 CONEXIÓN A LA COMPUTADORA. 3.3.4 CONTROL POR MICROCONTROLADOR. 3.3.5 LÓGICA DE CONTROL. 3.3.6 CONEXIÓN DEL ROBOT CON LA TARJETA DE CONTROL.
30 31 31 31 34 34 36 36 40
CAPITULO 4: DISEÑO DEL SOFTWARE DE VISIÓN MÁQUINA 4.1 ETAPAS DEL SISTEMA DE VISIÓN MÁQUINA. 4.2 CONFIGURACIÓN DEL SISTEMA. 4.3 UBICACIÓN DE LA CÁMARA. 4.4 ADQUISICIÓN DE LA IMAGEN.
43 43 43 44 4
C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
4.5 DETECCIÓN DE PIEL. 4.5.1 CREACIÓN DE BASE DE DATOS. 4.5.2 FILTROS MORFOLÓGICOS. 4.6 CONTROL POR GESTOS MANUALES. 4.6.1 IMAGEN DIFERENCIAL. 4.6.2 CORRESPONDENCIA POR PATRONES. 4.6.3 CLASIFICACIÓN DE LA DIRECCIÓN Y ENVÍO. 4.7 CONTROL POR GESTOS FACIALES. 4.7.1 DETECCIÓN DE ROSTRO. 4.7.2 DETECCIÓN DE GESTOS FACIALES.
44 49 54 60 60 61 63 63 64 64
CAPÍTULO 5: RESULTADOS 5.1 DESCRIPCIÓN DEL HARDWARE IMPLEMENTADO 5.2 ESCRITURA DE MENSAJES EN EL LCD Y DIRECCIÓN DE LA SILLA IWOG 5.3 DETECCIÓN DE PIEL. 5.4 DETECCIÓN DE ROSTRO. 5.5 DETECCIÓN DE GESTOS MANUALES. 5.6 DETECCIÓN DE GESTOS FACIALES.
70 74 75 75
CONCLUSIONES REFERENCIAS CURRICULUM VITAE
76 78 79
67 69
5 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
PLANTEAMIENTO DEL PROBLEMA La movilización de personas con discapacidad motriz es un problema que se acentúa cuando no existe la posibilidad para dirigir un dispositivo tal como una silla de ruedas (debido a la fuerza necesaria para el control de la misma); por otra parte los pacientes con tetraplejia/cuadriplejia tienen el problema de la transmisión de instrucciones a través de dispositivos como joystick o similares, por lo que resulta de gran interés el desarrollo de una interfaz intuitiva para el control de la silla de ruedas que tome en cuenta la discapacidad motriz del usuario.
JUSTIFICACIÓN Es de gran interés el desarrollo de herramientas para el desplazamiento de personas con discapacidad motriz y la adecuación de las herramientas existentes para desarrollar algoritmos más intuitivos que permitan el desplazamiento de personas con paraplejia y tetraplejia a través de una silla de ruedas mediante instrucciones dadas de manera gestual. MatLAB es la herramienta usualmente empleada, para el procesamiento de señales, sin embargo resulta de gran interés la utilización de otras herramientas para el mismo fin como LabVIEW v7.x con el objetivo de marcar un nuevo camino para nuevos tesistas que deseen hacer uso de esta poderosa herramienta.
OBJETIVO GENERAL Desarrollar el prototipo en hardware y software de control de una silla de ruedas operada mediante la interpretación de comandos transmitidos de forma gestual captados por una cámara web ó webcam utilizando el software LabVIEW como lenguaje de programación.
OBJETIVOS ESPECÍFICOS Estudiar tópicos relacionados con sillas de ruedas y la robótica. Desarrollar el componente hardware que soporte una comunicación serie con la computadora. Diseñar el control de velocidad para motorreductores. Diseñar el control de los sensores de distancia, toque y luz. Diseñar el algoritmo de control hardware. Investigar los algoritmos de detección de piel, mano, rostro y gestos. Implementar el algoritmo de detección de piel, mano, rostro y gestos.
6 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
CAPÍTULO 1. CONCEPTOS BÁSICOS A lo largo de este capítulo se detallarán los diversos conceptos utilizados en el desarrollo de este proyecto, entre los principales tópicos se encuentra la Tecnología Asistida y el Diseño Universal, la robótica, microcontroladores y sistemas de visión artificial.
1.1 DISEÑO UNIVERSAL Y TECNOLOGÍA ASISTIDA El Diseño Universal (UD) es una tendencia originada en los Estados Unidos a partir de la década de los 90’s, en el cual las diversas herramientas y dispositivos utilizados en la vida diaria son diseñados con el objetivo de que cualquier persona incluyendo personas con discapacidades o vejez puedan hacer uso de ellos. La definición de “cualquier persona” es ambigua debido a que todos tenemos capacidades y necesidades distintas principalmente las personas con discapacidad, es por ello que para desarrollar dispositivos basados en el UD, se deben tomar en cuenta los 7 principios en el Diseño Universal [Coop07]: Principio 1: Uso imparcial o igualdad de uso.-El diseño debe ser fácil de usar y adecuado para todas las personas independientemente de sus capacidades y habilidades. Principio 2: Flexibilidad de uso.- El diseño debe de poder adecuarse a un amplio rango de preferencia y habilidades individuales. Principio 3: De uso simple e intuitivo.- El diseño debe ser fácil de entender independientemente de la experiencia, los conocimientos, las habilidades o el nivel de concentración del usuario. Principio 4: Información fácil de percibir.- El diseño debe ser capaz de intercambiar información con usuario, independientemente de las condiciones ambientales o las capacidades sensoriales del mismo. Principio 5: Tolerante a errores.- El diseño debe minimizar las acciones accidentales o fortuitas que puedan tener consecuencias fatales o no deseadas. Principio 6: Escaso esfuerzo físico.- El diseño debe poder ser usado eficazmente y con el mínimo esfuerzo posible. Principio 7: Dimensiones apropiadas.- Las dimensiones y espacios deben ser apropiados para el alcance, manipulación y uso por parte del usuario, independientemente de su tamaño, posición, y movilidad. Con la aceptación de estos 7 principios de han desarrollado dispositivos que han beneficiado a niños, adultos mayores, mujeres embarazadas, personas con discapacidad visual, auditiva y motora etcétera, algunos ejemplos de dispositivos con UD son: • Instrumentos de cocina con mango antiderrapante. • Mangos de puertas ergonómicos. • Ratones para computadora (mouse) ergonómicos. • Carteles de información en aeropuertos. • Termómetros con límites de seguridad. • Elevadores automáticos. A pesar de las ventajas del Diseño Universal, no todos los dispositivos son candidatos a ser propios del Diseño Universal, este tipo de dispositivos son las 7 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
tecnologías huérfanas u Otech (Orphan Technology), son llamadas así debido a que son diseñadas pensando en un sector específico con una discapacidad específica, ejemplos de estos dispositivos son sillas de ruedas, control de volumen para dispositivos auditivos, brazos robóticos para amputados. Las sillas de ruedas son un ejemplo de Tecnología Asistida (AT) ayudan al paciente a desplazarse, actualmente las sillas de ruedas se dividen en 3 categorías: mecánicas (NW), potencia (EPWs) e inteligentes (IWs), siendo la última un tema de investigación de actual relevancia en el campo de AT. En la Fig. 1.1 se muestran ejemplos de distintos tipos de sillas de ruedas, en el capítulo 2 se analizará en detalle cada tipo de silla haciendo énfasis en las IWs.
Fig. 1.1 Tipos de sillas de ruedas. Las sillas de ruedas son ejemplos de AT (Tecnología Asistencial), hoy en día existen diversos tipos de sillas de ruedas, NW, EPWs y recientemente las IWs que ofrecen un campo atractivo de investigación.
1.2 DISCAPACIDAD EN MÉXICO La discapacidad es un tema de especial interés, tanto en el ámbito nacional como internacional. Durante los últimos años, distintas dependencias gubernamentales han sumado esfuerzos para promover políticas que propicien la integración social de personas con discapacidad. Dentro de las discapacidades, las personas con discapacidad física representan el colectivo más numeroso [Ineg04], la discapacidad física, presenta tal grado de diversidad que su estudio resulta difícil y complejo, dada las diversas formas de definirla, de clasificarla y de las causas que la originan. Una definición general se refiere en primer lugar, a la que se le puede conocer como discapacidad física, neuromotora, locomotora o motriz y es una limitación o falta de control de los movimientos, de funcionalidad y de sensibilidad, que impide realizar las actividades de la vida diaria de manera independiente. De acuerdo con el censo 2006 de la INEGI, [Ineg04], las principales causas que originan la discapacidad motriz se engloban de la siguiente manera: infecciosas, accidentales, enfermedades diversas, congénitas, falta de oxigenación cerebral, quemaduras, edad avanzada, por riesgo de trabajo, quirúrgicas, iatrogénicas, hereditarias. El XII Censo General de Población y Vivienda 2000 captó las discapacidades severas y moderadas de la población. Los resultados obtenidos del XII Censo General de Población y Vivienda 2000, reportaron ocho personas con discapacidad motriz por cada 1 000 habitantes en el país, esto es poco más de 814 mil personas, de las cuales 76.2% vivían en las localidades urbanas y 23.8% en el medio rural; la diferencia entre hombres y mujeres es muy pequeña, la Fig. 1.2 muestra los resultados del censo. Con respecto a la estructura por edad de las personas con discapacidad motriz mostrada en la Fig. 1.2 destaca que poco más de la mitad de la población (50.4%) tiene 60 años ó más, lo 8 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
que permite suponer que muy probablemente la discapacidad en su mayoría es resultado de un proceso de envejecimiento; por otro lado, 38.5% de las discapacidades se concentraron en la población productiva y sólo 10.1% de la población con discapacidad motriz tenía menos de 15 años. Por otro lado se observa un incremento continuo en las proporciones hasta los 74 años en los varones y hasta los 79 años en las mujeres; las proporciones de los varones son mayores que las de las mujeres hasta los 64 años para después invertirse la tendencia, cabe recordar que las mujeres tienen una mayor esperanza de vida. Entre los 5 y 9 años se observa una mayor concentración de población, principalmente en los hombres en relación con el grupo de edad anterior; esto puede explicarse por la manifestación de enfermedades durante la primera infancia que resultan discapacitantes y por la posible ocurrencia de accidentes que tengan como consecuencia una discapacidad motriz. 1.2.1 LA DISCAPACIDAD Y LA EDUCACIÓN De acuerdo con la Ley General de Educación [Leyg93], la educación es el medio fundamental para adquirir, transmitir y acrecentar la cultura; es el proceso permanente que contribuye al desarrollo del individuo y a la transformación de la sociedad, de igual forma, la educación especial para las personas con discapacidad debe ser impartida a la población de acuerdo a sus propias condiciones, de manera adecuada y con equidad social. Las personas que tienen dificultades de movimiento y desplazamiento, en principio no requieren de lugares o instrumentos especiales para la adquisición de la educación formal; el principal problema que enfrenta la mayoría se relaciona con el acceso a las instalaciones y las adecuaciones arquitectónicas para desarrollar todas las actividades físicas que se relacionan con su formación; algunos otros son por ejemplo, la disponibilidad de ayudas técnicas para escribir y manipular libros. La asistencia escolar es un parámetro importante para medir la integración escolar, al poner en evidencia las oportunidades de educación y la infraestructura que permite la permanencia escolar de este grupo de población; para el caso de la población con discapacidad motriz poco más de una tercera parte de las personas de 6 a 29 años (34.2%) asistían a algún centro educativo de acuerdo con la Tabla 1.1. Una parte importante de las personas con discapacidad motriz (64.5%) no asistía a la escuela como se muestra en la Tabla 1.2. El abandono escolar se puede iniciar desde el primer grado que se cursa, para ello, es necesario haber asistido en algún momento a la escuela; cabe recordar que el ingreso a la educación primaria es a partir de los seis años, de modo que se considera el abandono escolar desde los siete años. En este contexto, de las personas con esta discapacidad entre 7 a 29 años que no asistieron a la escuela, 17.9% nunca habían asistido a un plantel educativo; por su parte, 73.5% por alguna circunstancia decidió abandonar la escuela en algún momento; de estos últimos 28.5% abandonaron sus estudios por falta de dinero o tenían que trabajar, 21.7% declararon que ya no quisieron seguir asistiendo o no les gustó estudiar, cabe recordar que cuando se tiene alguna discapacidad y el medio resulta adverso, es muy posible que se tome la decisión de abandonar la escuela; llama la atención que 6.4% lograron terminar sus estudios el cual es un porcentaje muy bajo.
9 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
Prevalencia de discapacidad motriz por entidad federativa 2000 Chiapas Quintana Roo Tlaxcala México Tabasco Puebla Guerrero Oaxaca Querétaro de Arteaga Veracruz Ignacio de la llave Baja california sur Baja california Hidalgo Estados Unidos Mexicanos Morelos Sinaloa Aguascalientes San Luis Potosí Guanajuato Tamaulipas Campeche Distrito Federal Nuevo León Chihuahua Sonora Michoacán de Ocampo Nayarit Coahuila de Zaragoza Jalisco Colima Zacatecas Durango Yucatán
0
2
4
6
8
10
12
14
Por cada 1000 habitantes, Fuente INEGI XII CGPV 2000 Base de datos
Fig. 1.2 Estadísticas del INEGI sobre la discapacidad. De acuerdo con el censo del INEGI 2004, en Veracruz aproximadamente 8 personas de cada mil tienen algún tipo de discapacidad, siendo la motriz la más común.
10 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Tabla 1.1 Distribución porcentual de población por grupos de edad según condición de asistencia escolar y sexo, 2000.
Grupos de edad Total 6a9 10 a 14 15 a 19 20 a 24 25 a 29
Total 34.2 64.3 62.4 31.6 11.7 4.9
Asiste Hombre 33.2 64.5 63.0 32.0 12.0 5.1
Condición de asistencia escolar No asiste Mujeres Total Hombres 35.5 64.5 65.5 64.2 33.3 33.1 61.6 36.4 35.7 31.0 67.4 67.0 11.1 87.3 87.0 4.6 94.2 94.2
Mujeres 63.1 33.5 37.3 67.9 87.8 94.4
FUENTE: INEGI XII CGPV 2000. Base de datos
Habitualmente cuando una persona de 15 años o más no cuenta con la habilidad de leer y escribir, se le denomina analfabeta; considerando esta definición en el año 2000, 32.9% de las personas con discapacidad a nivel nacional eran analfabetas, en el caso de las personas con discapacidad motriz sólo 26.2% se encontraban en esta situación; es importante señalar que este tipo de discapacidad no presenta las mismas dificultades para su inserción educativa que las otras analizadas en este trabajo como son las auditivas, mentales, visuales o del lenguaje. El nivel de escolaridad que alcanza la población con discapacidad se encuentra relacionado con las posibilidades de tener acceso a las instituciones, que de acuerdo con la discapacidad de que se trate puedan ofrecer educación básica; bajo esta consideración, el comportamiento de los niveles de escolaridad entre las personas con discapacidad motriz fue el siguiente: 30.3% no tuvieron instrucción formal, 29.4% alcanzaron estudios incompletos de primaria, 17.5% lograron concluir la primaria, 8.1% la secundaria y 10.4% obtuvieron estudios posteriores a la secundaria. Tabla 1.2 Distribución porcentual de población de 7 a 29 años por sexo según condición de abandono escolar, 2000.
Causa Total Nunca ha ido a la escuela Abandonó la escuela No quiso o no le gusto estudiar Falta de dinero o tenía que trabajar Se casó o unió La escuela estaba muy lejos o no había Su familia no lo dejó o por ayudar tareas del hogar Terminó sus estudios Otro motivo No especificado No especificado
Total 100.0 17.9
Hombres 100.0 14.5
Mujeres 100.0 23.4
73.5 28.5 2.7 3.6 2.1 6.4 24.5 10.5 8.6
77.8 30.9 2.1 2.9 1.9 5.8 21.5 10.4 7.7
66.5 23.7 3.9 5.0 2.7 7.5 30.2 10.8 10.1
FUENTE: INEGI. XII CGPV 2000. Base de datos de muestra censal.
1.2.2 LA DISCAPACIDAD MOTRIZ: PARÁLISIS La parálisis es una pérdida o disminución de la motricidad, o pérdida de la contractilidad de uno o varios músculos, debido a lesiones de las vías nerviosas o de los mismos músculos: si ésta es parcial, se habla de paresia [Chak88] y [Guti93]. Las parálisis de origen nervioso pueden ser centrales o periféricas. Son parálisis de 11 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
tipo central, correspondientes a la anatomía de los comandos neurológicos; por ejemplo: paraplejía, hemiplejía y tetraplejía. PARAPLEJIA Es una enfermedad permanente y no progresiva en la que hay pérdida de sensibilidad en los miembros paralizados y otros efectos secundarios como: • • •
Espasmos. Dolor. Pérdida de control de la función intestinal.
•
Pérdida de control de la vejiga de la orina.
Se dice que una persona tiene paraplejía cuando ha perdido la sensación y no es capaz de mover las partes inferiores de su cuerpo. La lesión es en el área dorsal, lumbar o sacra. TETRAPLEJIA/CUADRIPLEJIA Además de los síntomas de la paraplejía se suman la debilitación de manos y brazos. Muchas personas con lesión de la médula espinal todavía tienen cierta sensación en las partes paralizadas de su cuerpo, sensación de tacto o dolor. La enfermedad se acompaña con frecuencia de otras manifestaciones secundarias como úlceras de decúbito, infecciones de vejiga, espasmos musculares y dolor. La fertilidad suele verse afectada en el varón pero no en la mujer. Una persona con tetraplejía (anteriormente llamada cuadriplejia), ha perdido movimiento y sensación en ambas partes, superior e inferior de su cuerpo [Guti93]. 1.2.3 SILLAS DE RUEDAS PARA DISCAPACITADOS Los pacientes que padecen paraplejia normalmente hacen uso de sillas de ruedas mecánicas (NW) y son operadas mediante impulso aplicado a las ruedas utilizando los brazos, esto requiere un esfuerzo importante en las extremidades superiores. Ante este inconveniente se han desarrollado sillas de ruedas de potencia (EPW), cuentan con un joystick que disminuye el esfuerzo físico que debe de realizar una persona para controlar la silla de ruedas, este tipo de control es óptimo para pacientes parapléjicos de edad avanzada sin embargo presenta limitantes para un paciente cuadraplégico cuyo movimiento de extremidades superiores es mínimo. Los pacientes con cuadriplejia o que sufren movimientos involuntarios de la mano hacen uso de joystick bucales, los cuales son molestos, vistosos ó poco intuitivos. Cuando a una silla de ruedas de potencia se le agregan sensores y microprocesadores se obtiene una silla de ruedas inteligente, existen diversas formas de controlar esta silla, por joystick con retroalimentación, voz y video siendo estas últimas las más importantes debido al nivel de autonomía en la interacción humano-computadora y un campo atractivo de investigación. Las IWs hacen uso de diversas disciplinas, siendo la robótica una de las principales además del procesamiento de señales.
12 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
1.3 CONCEPTOS BÁSICOS DE ROBÓTICA Cuando hablamos de robots viene a nuestra mente diversos dispositivos mecánicos, electrónicos y software que en suma conforman un robot, sin embargo dar una definición a partir de esto es difícil, como es clasificarlos debido a que sus usos y la tecnología mediante la cual son construidos se hallan en evolución constante. Un ejemplo en la evolución de los robots es como son controlados, actualmente existen robots que por medio de sistemas de visión pueden realizar diversas tareas específicas, como el reconocimiento de terreno y son programados usando diversos lenguajes de programación. En este apartado se pretende brindar al lector los diversos conceptos básicos en robótica y el campo de la visión que serán utilizados en el trabajo presente. 1.3.1 HISTORIA DE LOS ROBOTS Podemos encontrar en casi todos los mitos de las diversas culturas una referencia a la posibilidad de crear un ente con inteligencia, desde el Popol-Vuh de nuestros antepasados mayas hasta el Göllem del judaísmo, inclusive en la época de los griegos se intento crear máquinas que tuvieran movimiento sin fin y no fuesen controladas ni supervisadas por personas. Fue hasta 1921 que se utilizó en la obra de teatro RUR (Rossum Universal Robota) del checo Karel Capek [Cape21] el término robot, que tomo el significado de trabajador forzado o esclavo, sin embargo se le atribuye a Isaac Asimov ser el primero en utilizar el término robótica como disciplina científica en sus relatos escritos publicados a partir de 1942 [Asim42]. Tabla 1.3 Clasificación de los robots por su arquitectura.
ARQUITECTURA Poliarticulados Móviles Androides Zoomórficos
Híbridos
DESCRIPCIÓN Robots de muy diversa forma, básicamente sedentarios. Generalmente son robots de uso industrial. Robots con gran capacidad de desplazamiento. Son teledirigidos o bien se guían por la información recibida de su entorno a través de sus sensores. Son robots que intentan reproducir total o parcialmente la forma y el comportamiento cinemático del ser humano. Clase de robots caracterizada principalmente por sus sistemas de locomoción que imitan a los diversos seres vivos. Los androides también podrían considerarse robots zoomórficos. Estos robots corresponden a aquellos de difícil clasificación cuya estructura resulta de una combinación de las expuestas anteriormente.
1.3.2 DEFINICIÓN Y CLASIFICACIÓN DE LOS ROBOTS A lo largo del trabajo utilizaremos la definición de robot dada por el Robot Institute of América que luego se transformo en Robots Internacional Association (RIA), la cual describe un robot como: “Un manipulador reprogramable multifuncional, diseñado para mover material, partes, herramientas o dispositivos especializados mediante movimientos programados variables para la ejecución de tareas diversas”
Los robots pueden clasificarse en diversas formas: por su arquitectura, por geometría (o coordenadas), por método de control, por su desplazamiento, por generación, por 13 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
complejidad o por función, es difícil establecer una clasificación válida [Domi01]. En la Tabla 1.3 se muestra la clasificación de los robots por arquitectura y en la Fig. 1.3 se hallan los robots que caen dentro de cada categoría, de izquierda a derecha poliarticulado, móviles, androides, zoomórficos e híbridos. Los robots también se pueden clasificar por generación como se muestra en la Tabla 1.4, esto fue hecho de acuerdo a Asimov. Existen diversas formas de clasificar los robots, sin embargo todas coinciden en que se deben de clasificar de acuerdo la función que se desea realizar con estos, por lo que esta clasificación se muestra en la Tabla 1.5 y algunos ejemplos se muestran en la Fig. 1.4. Tabla 1.4 Clasificación de los robots por generación.
GENERACIÓN 1ª Generación 2ª Generación
3ª Generación
4ª Generación
5ª Generación
DESCRIPCIÓN El sistema de control usado en la primera generación de robots está basado en la “paradas fijas” mecánicamente.. El movimiento se controla a través de una secuencia numérica almacenada en disco o cinta magnética. Por regla general, este tipo de robots se utiliza en la industria automotriz y son de gran tamaño. Utilizan las computadoras para su control y tienen cierta percepción de su entorno a través del uso de sensores. Con esta generación se inicia la era de los robots inteligentes y aparecen los lenguajes de programación para escribir los programas de control. Se trata de robots altamente inteligentes con más y mejores extensiones sensoriales, para entender sus acciones y captar el mundo que los rodea. Incorporan conceptos “modélicos” de conducta. Actualmente en desarrollo. Esta nueva generación de robots basará su acción principalmente en modelos conductuales establecidos.
Fig. 1.3 Diferentes tipos de robots. Existen diversos diferentes tipos de robot de acuerdo a su movilidad poliarticulado, móviles, androides, zoomórficos e híbridos
1.3.3 ROBOT AL SERVICIO DEL SER HUMANO Las personas con discapacidad han sido beneficiadas con el uso de la tecnología y su impacto ha sido considerable en los últimos 20 años con la evolución de computadoras cada vez más poderosas y económicas, tomando su propio lugar en la ISO 1992 como Tecnología Asistida, la cual la define como: “…cualquier producto, equipo o sistema técnico que es usado por una persona discapacitada, especialmente producido o generalmente disponible, preventivo, compensativo, que alivie o neutralice la discapacidad”
14 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Tabla 1.5 Clasificación de los robots por su función.
FUNCIÓN Producción Exploración Rehabilitación
DESCRIPCIÓN Usados para la manufactura de bienes, pueden a su vez ser de manipulación, de fabricación, de ensamblado y de test. Usados para obtener datos acerca de terreno desconocido, pueden ser de exploración terrestre, minera, oceánica, espacial, etcétera. Para ayudar a discapacitados, pueden ser una prolongación de la anatomía, o sustituir completamente la función del órgano perdido.
Fig. 1.4 Funciones de los robots. Los robots se hallan presentes en diversos campos de la industria, investigación y entretenimiento y tienen diversas funciones, manipuladores, exploradores o prótesis por mencionar algunas aplicaciones.
Por lo que se entiende que el término tecnología asistida es aplicado a sistemas que ayuden a personas que sufren algún tipo de discapacidad y la robótica también participa en este campo. Desde la concepción de la palabra robot ha sido motivación para los diseñadores que los robots puedan interactuar y ser útiles al ser humano en su vida diaria, no fue sino hasta hace algunos años que entraron los primeros robots comerciales en Japón diseñados para las tareas de la vida diaria, un ejemplo de este tipo de robots es PINO The Humanoid o el famoso robot secretaria como en la Fig. 1.5 de la marca Honda. En el campo de la medicina los robots han encontrado su forma de revolucionar esta ciencia y han tenido las siguientes aplicaciones: cirugía, prótesis, asistencial y hospitalarios; estas aplicaciones se muestran a continuación. CIRUGÍA o Aumenta la capacidad de manipulación humana. o Aumentar la precisión en el posicionamiento de instrumentos. PRÓTESIS Y ÓRTOSIS o Sustituye miembros humanos amputados por prótesis de funcionalidad equivalente. o Complementar la funcionalidad de los movimientos de miembros. ROBOTS ASISTENCIALES o Atención y ayuda a personas con discapacidad. o Eliminación de tareas monótonas y de escasa motivación (asistencia en hospitales) Como se indicó anteriormente, el objetivo de este proyecto es la creación del control de una silla robótica o IWs operada mediante instrucciones gestuales, con lo que nuestro robot cae dentro de la clasificación por función médica asistencial.
15 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Fig. 1.5 Robot PINO de HONDA. La empresa japonesa Honda ha desarrollado robots personales los cuales interactúan con los seres humanos.
1.3.4 COMPONENTES DE UN ROBOT Un robot está constituido de diversos componentes mecánicos, electrónicos y programación. Cuando hablamos de los dispositivos mecánicos nos referimos a la estructura física que conforma el robot, esta puede ser hecha de diversos materiales los cuales deben ser escogidos acorde a la finalidad de la función del robot, entre los más utilizados se hallan solo por citar algunos el metal (aluminio), madera para microrobótica o el plástico. Cuando hablamos de componentes electrónicos nos referimos a los sensores y la electrónica de control, el éxito de la tarea de un robot depende de que este obtenga la información correcta y actualizada a un ritmo suficientemente rápido, de su propio estado y de la situación del entorno. Los sensores permitirán este conocimiento, así como en general todos aquellos que produzcan información sobre el estado del propio robot, serán llamados sensores internos. Los dispositivos de control de un robot pueden variar dependiendo de la función a realizar en la aplicación ó el nivel de control que se desee alcanzar. Generalmente el control es realizado por medio de microcontroladores como los PIC’s, microcontroladores ATMEL, MOTOROLA, FPGA’s etcétera. El fin de estos sistemas de control es “leer” el estado de los sensores y actuar en base a la información recibida con una acción de salida, o llevar el control de información a la computadora. El control es realizado mediante el uso de microprogramas o microcódigos el cual está implantado en los microcontroladores. Cada microcontrolador tiene su propio lenguaje para programar como el ensamblador que es el lenguaje máquina o VHDL lenguaje de descripción de hardware solo por citar algunos. Y cada lenguaje tiene su dificultad para programar, por ejemplo el lenguaje ensamblador es menos amigable que MikroC, MikroPASCAL ó MikroBASIC pero ofrece una mayor rapidez y fluidez del código en un microcontrolador [Usat02]. El microcódigo no debe de ser confundido con el programa en la computadora, puesto que el programa en la computadora se corre en la misma y el microcódigo es exclusivo del microcontrolador. La programación de los robots o control software por computadora es realizada utilizando diversos lenguajes, entre estos se hallan Visual BASIC, Visual C, MatLAB, LabVIEW etcétera. La forma de establecer una comunicación con la computadora se realiza normalmente por medio del microcontrolador, si se utiliza la comunicación por medio de USB o serie es imperativo usar uno, sin embargo si se realiza por medio del puerto paralelo puede prescindirse el uso del microcontrolador. Cuando una computadora es agregada a un
16 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
robot, se abre la posibilidad de crear sistemas más complejos que si solo se controlaran con un microcontrolador. 1.4 MICROCONTROLADORES La definición dada por Angulo [Usat02] de un microcontrolador es: “Un microcontrolador es un integrado programable que contiene todos los componentes de un computador aunque de limitadas prestaciones y destinado a gobernar una sola tarea.”
El número de artículos que funcionan con un microcontrolador es impresionante desde el mouse de la computadora, teclados, relojes digitales, control de distancia para estacionar un auto etcétera, cada vez el número de aplicaciones va creciendo. Las comunicaciones y los productos de consumo en general absorben más de la mitad de la producción de microcontroladores y el resto se distribuye en sectores de la automatización, computadores e industria. Un microcontrolador y un microprocesador son diferentes pues el primero es un sistema cerrado que contiene un computador completo y de prestaciones limitadas que no se puede modificar, y el segundo es un sistema abierto que puede construirse un computador con las características que se desee acoplándole los módulos necesarios. En su interior, un microcontrolador contiene todos los elementos de una computadora pero con características que no pueden ser modificadas: 1. Procesador. 2. Memoria no volátil para contener el programa. 3. Memoria de lectura y escritura para guardar los datos. 4. Líneas de E/S para los controladores de periféricos. o Comunicación paralela. o Comunicación serie. o Diversas puertas de comunicación (bus I2C, USB, etcétera) 5. Recursos auxiliares. o Circuitos de reloj. o Temporizadores. o Perro guardián. o Convertidores analógico a digital. o Comparadores analógicos. o Protección ante fallos de alimentación. o Estado de reposo o de bajo consumo. PROGRAMACIÓN DE MICROCONTROLADORES PIC La forma mediante la cual son grabados los microcontroladores es generando un archivo de extensión .hex a partir de un microprograma fuente y este archivo es cargado a un grabador, el cual es un hardware conectado a una computadora como se muestra en la Fig. 1.6, un grabador comercial para un PIC de la marca Microchip. 1.5 SISTEMAS DE VISIÓN POR MÁQUINA Un sistema de visión por máquina procesa imágenes que han sido adquiridas por medio de una cámara electrónica [Nixo02] lo cual se asemeja al sistema de visión humana, donde el cerebro procesa las imágenes captadas por los ojos. Los sistemas 17 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
de visión por máquina utilizan técnicas del campo de procesamiento digital de imágenes, ya sea para mejorar la información que puede proporcionar una imagen o para procesar los datos que contiene una imagen para almacenar, transmitir y representar una percepción por máquina autónoma [Gonz01]. Rafael C. González [Gonz01] define una imagen digital como: “Una función bidimensional, f(x,y), donde x y y son coordenadas espaciales, y f es la intensidad del nivel de gris en ese punto, y cuando f, x e y tienen valores finitos, entonces es llamada una imagen digital”
Fig. 1.6 Programador de microcontroladores PIC. Es necesario utilizar un grabador de PIC’s para correr la aplicación en hardware, existen distintas versiones de grabadores caseros y comerciales, en la figura se muestra el grabador utilizado para el proyecto, el cual es conectado al puerto USB, lo cual presenta una gran ventaja sobre los grabadores RS-232.
1.5.1 DESCRIPCIÓN DE LOS SISTEMAS DE VISIÓN POR MÁQUINA El campo del procesamiento digital de imágenes se refiere al procesamiento de imágenes digitales por medio de una computadora. Debido a que una imagen digital está compuesta de elementos finitos, a cada uno de estos se le da el nombre de píxel o pels dependiendo el autor. Anteriormente se mencionó que los sistemas de visión por máquina utilizan técnicas del campo de procesamiento de imágenes, si bien es cierto esto, los investigadores no se han puesto de acuerdo donde termina un campo y donde empieza otro [Gonz01], algunas veces se distinguen porque en el procesamiento de imágenes la entrada y salida son imágenes. Por conveniencia se utilizan 3 procesos computarizados para separar el procesamiento de imágenes hasta la visión por máquina, esto se realiza de forma continua es decir un campo se interconecta con el otro. Los 3 procesos son: bajo nivel de procesamiento, medio nivel de procesamiento y alto nivel de procesamiento. Bajo nivel de procesamiento: se caracteriza porque la entrada y la salida del proceso son imágenes. Bajo esta clasificación se halla el procesamiento digital de imágenes. Medio nivel de procesamiento: envuelven tareas como la segmentación, descripción de objetos y reconocimiento de los mismos, se caracteriza porque sus entradas son imágenes pero la salida son características de la imagen como sus límites o contornos. Bajo esta clasificación se halla el análisis de imágenes.
18 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Alto nivel de procesamiento: consiste en dar sentido a los objetos reconocidos de la imagen, realizando acciones de control mediante las imágenes. Bajo esta clasificación se halla la visión por máquina (visión artificial). 1.5.2 CAMPOS DONDE SE APLICA LOS SISTEMAS DE VISIÓN MÁQUINA Los sistemas de procesamiento de imágenes actualmente son muy comunes, no solo en campos de investigación o astronómicas, sino que también abarcan la medicina, arqueología, geología, industrial y seguridad. Los sistemas de procesamiento de imágenes no solo se refieren al espectro visible que los humanos percibimos, sino a toda la gama del espectro de frecuencia que pueda un sensor captar, como los rayos X, gamma, ultravioleta y bandas visibles; también mediante uso de sonares es posible generar imágenes tomadas mediante sonidos ultrasónicos. A continuación se presentan algunas aplicaciones que tienen el procesamiento digital de señales así como la visión máquina. INVESTIGACIÓN o Preprocesamiento de imágenes tomadas mediante microscopios fluorescentes [Gonz01]. Un microscopio fluorescente es un instrumente mediante el cual un objeto se hace fluorecer con el fin crear contraste entre el objeto de estudio y el fondo con el objetivo de identificar los contornos de la imagen para su postprocesamiento. o Visión espacial por medio de bandas temáticas, las cuales consisten en bandas con diferente longitud de onda que sensan una misma área como la superficie de la tierra para determinar condiciones ambientales de nuestro planeta o la luna [Kane01]. En la Fig. 1.7 se muestran imágenes obtenidas en diversos campos de investigación. De izquierda a derecha: imagen tomada por medio de un microscopio fluorescente, imagen tomada por medio de bandas temáticas a diversa longitud de onda.
Fig. 1.7 Imágenes procesadas por sistemas de visión. Los sistemas de visión por computadora son utilizados en diversos campos de la ciencia, en las imágenes superiores se analizan las corrientes del río Misisipi.
ASTRONOMÍA o Observación de fenómenos distantes, los cuales no son visibles con telescopios terrestres normales, puesto que los telescopios como el Hubble utilizan diversas longitudes de ondas para observar fenómenos [Gonz01], estas longitudes varían desde los rayos gamma hasta el espectro visible. Con esto es posible generar mapas estelares.
19 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
En la Fig. 1.8 se muestra una explosión Pulsar captada en diversas bandas del espectro electromagnético, de izquierda a derecha gamma, rayos X, visibles, infrarroja, radio. INDUSTRIAL o Utilizando visión por máquina es posible determinar si una fruta está en buen estado antes de salir al mercado y retirarla a tiempo [Yibi04]. o El correcto llenado de vasos de refresco o leche o cajas con vitaminas [IMAQ04], un ejemplo de programa de control se muestra en la Fig. 1.9.
Fig. 1.8 Imagen del telescopio HUBBLE. Ejemplos de una explosión Pulsar tomada desde el Hubble, los sistemas de visión artificial abordo procesan la imagen para obtener una mejor calidad.
Fig. 1.9 Programas de visión por computadora en la industria. Programas de visión máquina realizados en LabVIEW, la figura muestra el llenado correcto de una caja de vitaminas.
MEDICINA. o En la medicina nuclear la cual consta en inyectar al paciente una solución con isótopos radioactivos que emiten radiación gamma que posteriormente son censados por detectores gamma. Esto se realiza con el objetivo de formar una imagen que es procesada digitalmente con el objetivo de tomar una imagen del esqueleto o identificar infecciones o tumores [Gonz01]. o Tomar imágenes en rayos X y procesarlas para hacer más legible la imagen para la interpretación de un médico o identificar áreas de interés [Gonz01]. En la Fig. 1.10 se aprecia de izquierda a derecha imágenes procesadas para detectar el esqueleto humano por radiación gamma y rayos X, ubicación de vasos sanguíneos y un corte 3D.
20 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
OTROS USOS o Prevención de ataques terroristas mediante reconocimiento de rostros o seguimiento de personas pederastas en aeropuertos [Gong05]. o Tomar números de placas de automóviles que infrinjan la ley [Gonz02].
Fig. 1.10 Imágenes médicas. Imágenes obtenidas mediante el uso de rayos X y encefalogramas, las imágenes son procesadas para fines médicos.
En la Fig. 1.11 se aprecia dos aplicaciones de visión máquina de alto nivel de procesamiento; la Fig. 1.11a es un seguimiento de personas en un aeropuerto con el objetivo de identificar posibles ataques terroristas, la Fig. 1.11b muestra una detección de placas de automóvil que hayan infringido la ley, la Fig.1.11c muestra una imagen donde se reconocen los rostros en búsqueda de personas buscadas por la policía utilizando una base de datos como referencia.
Fig. 1.11 Seguridad pública y sistemas de visión. Ejemplos de visión máquina en la seguridad pública, como detección de transeúntes, reconocimiento de rostros y detección de placas de automóviles.
1.6 DETECCIÓN DE PIEL El incremento de recursos computacionales ha provisto los medios necesarios para una mejor interacción humano-computadora, como el control por voz y video. Dentro de los diferentes tipos de interacción, el reconocimiento de imágenes de seres humanos ocupa un lugar importante, debido a que es utilizada para rastrear, identificar rostros, manos y diversas partes del cuerpo que aportan información al sistema de cómputo, con el fin de crear aplicaciones interesantes como el control del cursor de la computadora mediante la detección y registro de manos, reconocimiento de gestos en el uso de lenguaje signado [Star00] y [Riva07], reconocimiento de usuarios mediante el rostro [Wech07], detección de transeúntes [Orde97], detección de imágenes de clasificación adulta [Jone00] entre otras aplicaciones. La detección de piel es un método ampliamente utilizado debido a que ayuda al reconocimiento de instrucciones humanas en sistemas de visión computarizada, limitando el campo de búsqueda en segmentos de piel a su vez incrementando la velocidad del 21 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
procesamiento al discernir entre píxeles-piel de píxeles-no-piel. La etapa de detección de piel puede ser realizada por diversas técnicas, entre ellas: movimiento [Gong05] y umbralización, en este último caso se emplean técnicas posteriores como algoritmos genéticos [Gasp06], Tablas normalizadas de operaciones de búsqueda o “look up table” (LUT) [Vezh03], clasificadores Bayes [Vezh03] etcétera, con el objetivo de identificar áreas de píxeles-piel; sin embargo todas estas etapas funcionan con la imagen binarizada a partir del color. Existe un problema en la umbralización de la imagen en color principalmente por los límites que se deben de tomar, debido que son constantes tomadas manualmente [Sing03] mediante prueba y error, además de ser valores continuos entre limites. El presente trabajo utiliza la detección de piel mediante el procesamiento de color de imágenes continuas, apoyándose en 6 planos de detección: RGB, HSL, HSV, HSI, YCrCb y el movimiento, los cuales en su suma determinaran la probabilidad de obtener un píxel piel, basándose en su medida previamente registrada manualmente en valores promedios. Posteriormente se utilizan filtros morfológicos para discernir áreas de píxeles piel del fondo de la imagen. El resultado de la clasificación de píxeles es asignada como positivos verdaderos (PV), positivos falsos (PF) y falsos negativos (FN), un ejemplo del detector de piel utilizado se muestra en la Fig. 1.12.
Fig. 1.12 Detección de piel. Resultado del detector de piel en imágenes continuas tomadas por una webcam utilizando el algoritmo descrito en esta proyecto.
1.7 DETECCIÓN DE ROSTROS Nuevas formas de tecnologías se inventan cada día y la iteración entre el ser humano y la computadora no es indiferente a este cambio, desde el uso del teclado, el ratón y la pantalla táctil se inventan nuevas formas de lograr una comunicación humana-máquina más óptima. Las imágenes que contienen rostros humanos son una forma más de interactuar con las máquinas por lo que diversas investigaciones están encaminadas hacia esta tendencia [Hsua01] incluyendo el reconocimiento de rostros, localización de rostros, seguimiento de rostros, estimación de pose y el reconocimiento de expresiones faciales; la razón de esta tendencia es la cantidad de información que se puede obtener del rostro humano y que las computadoras
22 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
puedan reaccionar en base a esta información. La definición de detección de rostros dada por Ming-Hsuan Yang y Narendra Ahuja [Hsua01] es la siguiente: “Dada una imagen arbitraria, el objetivo de la detección de rostros es determinar si existe o no cualquier rostro en la imagen, y si esta presente, regresar la localización en la imagen en cada rostro”
El objetivo es claro y simple, detectar cualquier rostro en la imagen y de existir, regresar la localización del mismo en la imagen, sin embargo existen otras aplicaciones que realizan procesos similares a la detección de rostro y es importante diferenciar una de otras para evitar ambigüedad en términos [Sebe05]. Localización de rostros: Su objetivo es determinar la posición de un rostro en la imagen partiendo de la premisa que la imagen solo contiene un solo rostro. Detección de gestos faciales: Su propósito es detectar y localizar la presencia de ojos, nariz, cejas, boca, labios, orejas, con la premisa que contiene un solo rostro. Reconocimiento de rostros o identificación facial: Su finalidad es comparar una imagen de entrada en contra de una base de datos y reporta una correspondencia con el propósito de autentificar un usuario, es una técnica empleada en la biométrica. Seguimiento de rostros: Su objetivo es estimar la localización de un rostro de forma continua en tiempo real. Reconocimiento de expresiones faciales: Su finalidad es identificar los estados de ánimo del rostro (feliz, enojado, triste, serio, etcétera). La clasificación dada por [Vanh03] se basa en bajo que condición se desea localizar un rostro. 1. Ambiente controlado.- el fondo de la imagen donde se ubica el rostro es monocromático, por lo que removiendo el fondo es posible determinar la ubicación de un rostro probable. 2. Detección de rostros por color.- utiliza algoritmos orientados a la detección de piel para segmentar el fondo de los candidatos posibles a ser un rostro. 3. Detección de rostros por movimiento.- Método que se utiliza cuando se cuenta con cámaras en tiempo real, donde el rostro esta en movimiento continuo, por lo que solo se calcula el área en movimiento. 4. Mezcla de detección por color y movimiento. Son métodos que combinan dos técnicas distintas para lograr una mejor detección. 5. Detección en escenas complejas.- estos algoritmos detectan los rostros aun cuando el fondo está cambiando constantemente, utiliza diversas técnicas como redes neuronales y descriptores de apariencia. 1.8 RECONOCIMIENTO DE GESTOS Se entiende el gesto humano como el movimiento que expresa el mismo con el fin de comunicarse, siendo las manos y el rostro el medio común para lograrlo y se comprende por movimiento gestual los movimientos creados por la boca, ojos, cejas, manos ó cualquier rasgo distintivo que pueda distinguir una expresión de otra. Como se planteó en el objetivo general el crear un software para el control de una silla de ruedas para una persona con movimientos muy limitados de sus manos y piernas, la forma de control posible restante es a través de movimientos gestuales faciales o manuales. Este proyecto trata el reconocimiento de gestos como un problema de 23 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
detección y clasificación de gestos faciales. A diferencia de la detección de rostros donde es posible partir de una clasificación que auxilie en la selección del método a emplear, el reconocimiento de gestos no cuenta con una clasificación debido a que los algoritmos varían dependiendo que tipo de gesto se necesite localizar. Reconocimiento modelado.- son técnicas que utilizan un modelo almacenado con el cual son comparadas las imágenes para la detección y clasificación. Dentro de este tipo de técnicas se hallan el reconocimiento geométrico y de patrón modelados. Reconocimiento no modelado o descriptores.- son técnicas que describen las características invariantes del rostro humano, utilizan la forma para realizar el reconocimiento [Hsua01], como el blanco de los ojos en forma elipsoidal, la boca y las cejas como dos líneas. Dentro de este tipo de técnicas se hallan el reconocimiento geométrico, de patrones, por descripción (transformada de Hough) y de extracción flexible (serpientes). En este proyecto el reconocimiento de gestos puede ser por uso de las manos ó mediante el rostro (gestos faciales), se optó esta medida debido a que unos usuarios tienen diverso grado de movilidad en sus extremidades superiores. Los tipos de movimiento gestuales que controlan la IWs son detallados en el capítulo 4 dedicado al desarrollo del prototipo del software de visión máquina creado.
24 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
CAPÍTULO 2. ESTADO DEL ARTE Las sillas de ruedas son un ejemplo de tecnología asistida que se halla en constante evolución existiendo hoy en día en diferentes tipos de arquitecturas y formas de control adecuados a las necesidades del paciente. En este capítulo se expondrán los distintos tipos de sillas de ruedas.
2.1 DISPOSITIVOS QUE ASISTEN EN LA MOVILIDAD AL PACIENTE DISCAPACITADO Actualmente existen una gran variedad de dispositivos para la movilidad del paciente discapacitado, estos pueden ser de forma asistida o no asistida dependiendo de la necesidad de desplazamiento de pacientes con discapacidad, en el caso de los tetrapléjicos los dispositivos siempre han sido asistidos, es decir, dependen de otra persona para poder desplazarse siendo las sillas de ruedas los dispositivos usuales. Entre las diversas arquitecturas se hallan las sillas reclinables, verticales, de cama, de campo, livianas (para deporte) y cuentan con formas de control simples desde las manuales hasta las inteligentes que usan sistemas computarizados. El propósito de este capítulo es detallar los proyectos similares al del objetivo del proyecto, así como las diversas técnicas usadas en el desarrollo de los mismos. Entre los proyectos citados se hallan sillas de ruedas inteligentes, dentro de esta categoría se hace énfasis en aquellos basados en visión máquina. A continuación se muestran las diversas variedades de sillas de ruedas utilizadas y en la sección 2.4 se hallan las IWs o sillas inteligentes. 2.2 SILLAS DE RUEDAS CONVENCIONALES Una silla de ruedas convencional se muestra en la Fig. 2.1 a), se trata de una silla adaptada con al menos 3 ruedas, estos dispositivos son creados para personas con problemas de movilidad parcial o total como las personas que sufren paraplejia, tetraplejia, músculos atrofiados etcétera. La Fig. 2.1 b) muestra una silla de ruedas adaptada para el uso en deportes, este tipo de sillas son de material liviano para una mayor facilidad de movimiento, son utilizadas en competencias Paraolímpicas en sección básquetbol. Las necesidades de cada paciente son distintas, por ende las sillas de ruedas son de diversas formas, la Fig. 2.1 c) muestra una silla de ruedas vertical o stand up, la cual cuenta con un mecanismo que “levanta” al usuario. 2.3 SILLA DE RUEDAS DE POTENCIA Las sillas de ruedas de potencia o eléctricas (EPW) mostrada en la Fig. 2.2 a), son dispositivos utilizados básicamente por personas que no pueden impulsar una silla de ruedas ordinaria o manual, existen diversos modelos de sillas de ruedas de potencia diseñadas a las necesidades de los usuarios. Existen dos tipos de EPW, aquellas que utilizan engranes y las que hacen uso de bandas; ambas emplean motores eléctricos; las que hacen uso de bandas son silenciosas sin embargo necesitan un mayor mantenimiento; las que utilizan engranes necesitan un menor mantenimiento pero debido a las mismas son más ruidosas. Las EPW son controladas por un joystick que satisfacen la necesidad de personas que pueden hacer uso de una mano, teniendo la posibilidad de ubicar el control al lado derecho o izquierdo del usuario, en personas que se hallan limitadas de movimiento de sus 25 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
miembros superiores e inferiores, existe la opción de control por medio de la barbilla debido a que este tipo de control en la actualidad obsoleto se han creado sillas de ruedas eléctricas inteligentes. Con el uso de EPW se resuelve el problema del esfuerzo que una persona debe de realizar al trasladarse, esto abre paso a nuevos tipos de sillas adaptadas a diversos terrenos como lo muestra la Fig. 2.2 b) y c). Las ventajas de una EPW a una NW son las siguientes: 1.- La EPW requiere menos fuerza por parte del usuario que una NW. 2.- Algunos modelos de EPWs utilizan sensores para evadir obstáculos. 3.- Algunos modelos de EPWs asisten al usuario a acostarse e incorporarse. 4.- Algunos modelos de EPWs tienen luces que iluminan el camino al usuario.
a)
b)
c)
Fig. 2.1 Sillas de ruedas manuales. Las sillas de ruedas manuales proveen asistencia a pacientes que sufren algún tipo de parálisis motriz como paraplejia, en donde el uso de las manos no es limitado.
2.4 SILLAS DE RUEDAS INTELIGENTES Cuando sensores y computadores son agregados a una EPW esta se convierte en una silla de ruedas inteligente o IW por sus siglas en inglés Intelligent Wheelchair y sus formas de control pueden ser por joystick, audio o video. Las sillas inteligentes han sido de gran interés en las investigaciones recientes, tratando de incluir mejoras en diversos aspectos tanto de su diseño como de su funcionamiento. Existen diversos tipos de IWs y pueden ser clasificadas por su nivel de procesamiento, forma de control o tipo de control. Las IWs clasificadas por nivel de procesamiento se subclasifican en bajo, medio y alto procesamiento.
a)
b)
c)
Fig. 2.2 Sillas de ruedas eléctricas. Las EPWs son sillas de ruedas que utilizan los pacientes con parálisis motriz de tipo paraplejia que tienen un uso limitado de sus extremidades superiores o por comodidad.
Bajo procesamiento.- Se refiere a IWs que cuentan con sensores que indican el estado de la silla de ruedas y del medio que la rodea, utilizan un hardware de control a base de microcontroladores o microprocesadores que regulan el flujo de datos de
26 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
los sensores, el control de dirección de la silla es dada por el usuario mediante dispositivos tipo joystick que alerta al usuario de tomar una dirección no conveniente. Medio procesamiento.- Son IWs que utilizan además de sensores para tomar la decisión de la dirección otros medios que asisten de forma visual al usuario, al igual que el control de las IWs de bajo procesamiento el control de dirección es realizado de forma manual por el usuario. Alto procesamiento.- Son IWs en donde el paciente puede controlar o no la dirección utilizando dispositivos donde la intervención del cuerpo humano (manos, barbilla etcétera) es casi nula, un ejemplo de estos dispositivos son micrófonos y cámaras de video. Las señales provenientes del micrófono o cámara de video son procesadas en un computador con el fin de clasificarlas y obtener una salida a través de un puerto para finalmente de esta forma controlar la dirección. En base al tipo de control de IWs se pueden clasificar en: IWs en donde esta toma la decisión sobre la dirección y aquellas donde el usuario toma el control de dirección. Cuando hablamos de una IWs que toma el control de dirección hablamos de una IWs autónoma, en donde el usuario solo se deja llevar por la silla hasta llegar a su destino propuesto. Una silla donde el usuario propone la dirección o el lugar donde desea ir, también suele ser autónoma pues la silla debe de tomar la decisión de llegar al punto dado propuesto automáticamente. También es posible de clasificar a las IWs por medio de control como el joystick, audio o video. A continuación analizaremos algunas IWs por separado cuya forma de control varia en audio, video y son semiautonomas ó completamente autónomas. IWs CONTROLADA POR VOZ J. M. Alcubierre en Universidad de Zaragoza, España en [Alau05] realiza una IWs controlada por voz de control semiautónomo con dirección dada por el usuario, indica que hay tres factores relacionados en la realización de este tipo de sillas: robótica, interfaz-hombre máquina e inteligencia empotrada de guiado autónomo, en [Alau05] el usuario da una instrucción usando su voz y utilizando una palabra clave “Dusila” la silla obedece la instrucción moviéndose en la dirección indicada, sin embargo en el mismo trabajo se reconoce que si una persona tiene problemas de dicción el sistema puede fallar y la forma de solucionar esto fue un sistema de reconocimiento de voz propio, la Fig. 2.3 exhibe la silla propuesta. IWs CONTROLADA POR EL ROSTRO Pei Jia and Huosheng Hu define su forma de control como tipo HGBII del inglés “Head gesture based interaction interface” [Jord07], su IWs es controlada por medio del rostro que captado por una webcam y procesado mediante un sistema basado en adaboost y características de Haar determinan si el usuario está mirando hacia enfrente, izquierda o derecha con el objetivo de controlar la dirección donde se debe de mover la IWs, el control hardware está basado en un PDS que controla el flujo de información entre los sensores de presencia, la IWs y la computadora. El sistema implementado es capaz de detectar el rostro y gesto haciendo en tiempos de 350 milisegundos, la Fig. 2.4 muestra los resultados de este tipo de técnica. Shirai labs en China ha desarrollado un software de control para una IWs que determina su dirección viendo el movimiento del rostro del usuario [Kuno05], esto limita a las personas cuadraplejicas con daño a nivel de cuello. Este tipo de IWs no 27 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
son lo suficientemente robustas o dependen de componentes complejos para realizar tareas sencillas de control de sensores.
Fig. 2.3 Silla IWS controlada por voz. La IWs es el siguiente paso en la evolución tecnológica de las sillas de ruedas, su forma de control por voz o video ofrecen un campo de investigación atractivo a investigadores.
IWs QUE PERMITE SUBIR A UN AUTOMÓVIL Las sillas inteligentes tienen muchas variantes, como control inteligente de posición para subir a un auto provisto de arneses especiales para sillas de ruedas donde la propia IWs toma la posición más conveniente para poder subir al vehículo. Este tipo de IWs recae en la categoría de alto procesamiento de cómputo con control autónomo, debido a que el usuario no proporciona una dirección para controlar la silla. Esto es realizado utilizando sensores en el automóvil donde se desea incorporar la silla de ruedas y cámaras en diversos puntos para controlar el camino a tomar. Este es proyecto es desarrollado en Department of Computer Science and Engineering en Lehigh University en los Estados unidos, la Fig. 2.5 muestra el prototipo empleado por [Serr05]. IWs AUTÓNOMA QUE SIGUE EL BORDE DE LAS PAREDES Un tipo de IWs en especial controla la dirección posible a tomar mediante visión por computadora [Trah97] donde la IWs mediante algoritmos de visión determina que ruta puede seguir determinando los bordes de las paredes, en este caso es la propia silla que controla el recorrido mediante herramientas de visión por maquina. Esta silla cuenta con sensores de presencia y choque controlado por un microcontrolador, también con diversas cámaras colocadas en diversos puntos de la IWs con la cual forma una imagen para procesarla y determinar la ubicación del borde de la pared y de esta forma poder navegar. El control de una silla de ruedas mecánica o eléctrica resulta imposible a personas con discapacidad motriz de tipo tetraplejia, debido a que las IWs ofrecen formas alternativas de control son atractivas a usuarios con capacidades limitadas de movimiento. Las IWs basadas en el procesamiento de voz presentan la ventaja que necesitan un mínimo de movimiento por parte del usuario para controlar su dirección, son una opción viable en ambientes poco ruidosos, sin embargo los pacientes no se hallan siempre en un medio controlado a su alrededor, además que la barrera del idioma, ritmo y tono evita que diversos usuarios hagan uso de una misma IWs; por ejemplo si una persona originaria de Veracruz dice “adelante” tendrá un tono y ritmo distinto a una persona nativa de Chihuahua ó España. 28 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Fig. 2.4 Silla de ruedas controlada por el rostro. En Shirai Labs se utiliza la detección de rostro para ubicar la posición del mismo y determinar el movimiento de la silla de ruedas, este tipo de control utiliza el movimiento de la cabeza y cuello.
Otro inconveniente son los falsos positivos, se originan cuando el micrófono de la IWs capta una conversación ajena que incidentalmente contenga las palabras claves de control, originando una pérdida de control de dirección del usuario poniendo en peligro su integridad física. Las IWs que basan su control utilizando sistemas de visión artificial para la detección de rostros [Kuno05], no son aptas para el uso de pacientes con discapacidad motriz del tipo tetraplejia, debido a que su movimiento del cuello es limitado, por lo tanto no pueden mover la cabeza para el control de la silla. La silla Iwog es una IWs que utiliza los gestos faciales ó manuales (dependiendo de la libertad de movimiento del usuario) para controlar la dirección mediante un sistema de visión artificial. Los gestos faciales son el movimiento mínimo que puede realizar físicamente un paciente, debido a que no dependen del movimiento del cuello. La silla Iwog utiliza técnicas como detección de piel, rostro, filtros morfológicos y correspondencia de patrones que pueden ser implementados en tarjetas de visión. Además del software de visión, el sistema se apoya en diversos sensores de presencia controlados por un microcontrolador PIC que recibe la señal de la computadora y se encarga de determinar la dirección final de la IWs. Las principales ventajas de la silla Iwog se basan en su control mediante el movimiento mínimo de gestos faciales ó manuales, puede ser utilizada por diversos usuarios, tiene una interfaz de control amigable y se apoya en diversos sensores para la navegación y toma de decisiones.
Fig. 2.5 IWs que permite subirse automáticamente a un vehículo. Las IWs tienen diversas características como el control por visión máquina para subir a un vehículo mediante arneses especiales.
29 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
CAPÍTULO 3. DISEÑO DEL PROTOTIPO DE IWs En este capítulo se analizan las diversas necesidades que el robot debe cumplir dado a que las personas con parálisis de tipo cuadriplejia cuentan con una movilidad casi nula de sus extremidades superiores y por ende el sistema diseñado debe de prevenir que el usuario tope con obstáculos o el sistema de cómputo a bordo deje de funcionar correctamente y se revisarán las técnicas utilizadas para el desarrollo del proyecto.
3.1 NECESIDADES DEL SISTEMA Las sociedades de hoy en día se valen de la AT para asistir al ser humano, existen diversos dispositivos capaces de desplazarlo con un mínimo de esfuerzo físico, asistirlo en realizar tareas cotidianas como alimentarlo usando brazos robóticos de forma autónoma, abrocharse la camisa, etcétera. Las sillas de ruedas son dispositivos diseñados tomando en cuenta las necesidades del usuario impedido promedio, sin embargo los pacientes con tetraplejia tienen más restricciones de movimiento por lo que para el diseño de una silla de ruedas se tomo en cuenta su movimiento: 1. Movimiento limitado o nulo de piernas. 2. Movimiento limitado o nulo de brazos. 3. Movimiento limitado o nulo de cuello. 4. Movimiento limitado o nulo de dedos. Al parecer la tarea de crear un dispositivo de asistencia móvil ante la limitada libertad de movimiento en las principales formas de control (manos) parece imposible sin embargo es posible realizarlo utilizando el control por gestos faciales o manuales dependiendo el nivel de movilidad del usuario. La silla Iwog es orientada a pacientes con dispacidad dependiendo del nivel de movimiento, si el paciente puede hacer uso de sus manos entonces se opta por un control joystick o un control gestual manual, si el paciente tiene un nivel de movimiento aún menor, entonces se opta por el control por gestos faciales. El objetivo de este proyecto es realizar un prototipo de silla de ruedas inteligente capaz de ser controlada por instrucciones gestuales, para ello se tomaron en cuenta las necesidades del hardware desde el punto de vista del paciente y del sistema de cómputo. Las necesidades conforme al paciente del sistema electrónico son las siguientes: • Botón de apagado/encendido. • Control intuitivo del prototipo. • Indicadores de error y cese de movimiento. • Botón de emergencia para la inmovilización de la silla. • Control de velocidad máxima configurable de la silla. • Detección de obstáculos lejanos configurable. • Iluminación del recorrido. • Indicador de dirección de la silla. • Cinturón de seguridad. Las necesidades conforme al sistema de cómputo son: • Comunicación constante con el sistema de cómputo. • Algoritmo que advierta el cese de información recibida. 30 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
• • •
Ajuste de configuración de sensores de presencia. Encendido/apagado de luces de rostro. Indicadores de dirección propuesta, final y de error.
3.2 DIAGRAMA DE FLUJO DE DIRECCIÓN DE LA SILLA La silla de ruedas propuesta en este proyecto es controlada mediante el uso de gestos faciales o manuales para la interface humano-máquina. Se comprende por gesto faciales/manual: “movimiento de los músculos del rostro/mano que adoptan un posición en específico”, ocasionando que el sistema de visión máquina lo interprete y clasifique como una acción. La clasificación de los gestos es hecha vía software en una computadora a bordo de la IWs que realiza la tarea de visión máquina la cual tiene las siguientes etapas: adquisición de imagen, pre procesamiento de la imagen, detección de piel, detección del rostro, detección de la mano, clasificación de gestos. Una vez realizada la clasificación y posición de los gestos se envía la dirección llamada propuesta al Hardware de la IWs la cual recibe este dato a través del puerto RS-232 y utiliza los sensores para determinar que la dirección propuesta es asequible y sea el hardware quien tome la decisión final sobre la dirección. Debido a que el control sobre la dirección de la IWs es una combinación de hardware y software, fue necesario implementar un algoritmo de comunicación entre ambos como lo muestra la Fig. 3.1 A. Los controladores basados en microprocesadores son el estándar en las EPWs debido a su programabilidad y la variedad de canales de entradas y salidas que pueden ser usadas para controlar la EPWs y otros dispositivos como los sensores. La principal tarea del controlador en la IWs es integrar la dirección de entrada dada por el sistema de visión por computadora y la señal PWM que es administrada para el control de velocidad de los motores. La Fig. 3.1 B muestra el control de lazo cerrado aplicado a la IWs de tipo control basado en reglas, el ancho de pulso del PWM se basa en la dirección propuesta por el usuario y la información del sensor: • Cuando no existe un obstáculo cada ciclo de programa que contenga la misma dirección incrementa el valor del PWM en cada motor. • Si existe un obstáculo el PWM se reduce en cada ciclo para evitar que la IWs se detenga abruptamente. • Si existe un cambio de dirección (por ejemplo de adelante hacia atrás) el PWM decrece hasta detener los motores y posteriormente aumenta (reajustando el sentido de los motores) para evitar un cambio violento de dirección. 3.3 HARDWARE IMPLEMENTADO EN LA IWs En esta sección se detalla el hardware implementado en el prototipo incluyendo sensores, motorreductores y lógica de control. En el Anexo A se tiene el microcódigo implementado para controlar el flujo de información, el microcódigo se halla en ensamblador. La Fig. 3.2 muestra el hardware diseñado para la IWs. 3.3.1 SENSORES En orden de cumplir con las necesidades del sistema, se requieren diversos sensores para advertir al usuario de un posible choque, además de llevar al sistema 31 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
de computo información acerca del medio para que este utilice esta información para procesar la imagen de forma adecuada y de ser necesario encender las luces delanteras para que el usuario pueda ver dónde se dirige o el sistema encienda las luces que apuntan al rost rostro ro para que la cámara pueda adquirir correctamente la imagen. A)
+
Entrada propuesta del
usuario (dirección)
-
Información de sensores y PWM
Controlador
Sistema de potencia
B)
Salida de PWM y dirección
Fig. 3.1 Diagrama de flujo de dirección y de control. La tarjeta hardware diseñada se comunica con la PC utilizando el protocolo RS--232 vía half-duplex, duplex, la figura A muestra la lógica de la comunicación. Se utiliza un control de lazo cerrado mediante los sensores de presencia, el control elegido es ONON OFF, la figura B muestra el control de velocidad mediante un PWM que incrementa o decrementa dependiendo de la información de los sensores.
SENSOR DE PRESENCIA La función de los sensores de presencia es adve advertir rtir al usuario cuando se esta cerca de un obstáculo entonces un indicador en el sistema de cómputo dará una alerta al sistema desplegando un mensaje en pantalla sobre la naturaleza del problema si se activo un sensor de presencia delantero o trasero. Debi Debido do a que un sensor de 32 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
presencia en sí mismo un sensor de distancia con bandera, la distancia a medir antes de causar una alerta es programable vía PC. El sensor para esta tarea es el GP2Y0A21YK porque su salida es analógica de forma directamente proporcional proporcion a la distancia sensada; al conectarse a la tarjeta de control su valor es convertido mediante un ADC microprogramable a valores discretos y comparados con un registro variable “alarma” el cual delimitará la distancia mínima a la cual se detecte un objeto. o. La distancia mínima de detección por naturaleza de este sensor es 7 cm. La ubicación de estos sensores es en la parte trasera y delantera del prototipo.
Fig. 3.2 Prototipo de silla Iwog Iwog. El prototipo de IWs cuenta con diversas características como sensores nsores de presencia infrarrojos, sensores de contacto, receptor de señales por radio ASK, LCD.
SENSOR TIPO BUMPER (CHOQUE) Este sensor tipo toque tiene el objetivo de detectar el choque contra un obstáculo que no haya sido detectado por los sensores de distancia, debido a que estos tienen un límite mínimo de 7cm a un obstáculo para poder ser sensado. La naturaleza de este tipo de sensores es digital y es equivalente a un interruptor que dispara una interrupción que envía una señal al sistema de cómputo iindicando ndicando la naturaleza del error. Este tipo de sensor no puede ser reconfigurable debido a que solo existes dos valores posibles ante un evento, choque siendo identificado con un 1 lógico de flanco positivo. Estos sensores se localiza en la parte frontal d derecha, erecha, frontal izquierda, frontal y trasera. SENSOR FOTORRESISTIVO Existen dos sensores fotorresistivos montados en el prototipo, ubicados cerca del usuario. La función de estos sensores es determinar la cantidad de luz puntual que incide sobre el usuario io con el objetivo de activar las luces frontales si así lo requiere el sistema o activar las luces que inciden el rostro del usuario para que la webcam pueda captar correctamente su rostro. El valor que devuelve este tipo de sensor es analógico, con un escala cala de 0 0-4.9 4.9 V, mediante un microprograma sus valor es convertido a valores discretos, este valor se compara con un registro “disparo” que activa las diversas luces.
33 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
3.3.2 MOTORREDUCTOR El prototipo utiliza ruedas para poder trasladarse, estas ruedas están conectadas mediante un sistema de engranaje 2:1 que incrementan el torque del motor disminuyendo su velocidad, se introdujo un controlador de velocidad que limita la velocidad máxima a la cual puede desplazarse el prototipo, esta velocidad es configurada vía PC al inicio de una sesión. Además del PWM es necesaria una etapa de potencia que suministre la corriente necesaria a los motorreductores, esta etapa es mostrada en la Fig. 3.3. CONTROL POR PWM El control de velocidad para los servomotores se realiza mediante el uso de un PWM, el tiempo de banda muerta varia de 1.47 ms a 1.55 ms, dentro de los cuales el giro y velocidad varían de forma proporcional a la constante de trabajo del PWM. El control de PWM implementado es hecho mediante microprogramación, teniendo en cuenta las diversas interrupciones del microcontrolador seleccionado. El control PWM generado por el PIC proporcionara la señal de control al Motorreductor en giro y velocidad como se muestra en la Fig. 3.4. 3.3.3 CONEXIÓN A LA COMPUTADORA La conexión entre la tarjeta principal diseñada y la computadora se llevará acabo utilizando el protocolo RS-232 debido a que el PIC contiene interrupciones especializadas para este protocolo. PROTOCOLO RS-232 Es una norma de comunicación serial, utilizada para la comunicación entre módems, terminales, impresoras, computadores. Fue definida como estándar por la Asociación de Industrias Electrónicas (EIA). El modem (Equipo de comunicación de datos o DCE) dispone de un conector hembra y el terminal de un conector macho. De las veinte señales definidas generalmente se ocupan nueve y a menudo sólo tres son las más usadas, puesto que la norma establecida no específica cuantas deben ser usadas las señales de los pin 4, 5, 6, 8, 20, son de diálogo, utilizadas entre el modem y el terminal, mientras que los pines 15,17 y 24 se utilizan para modem de alta velocidad. El pin 22 indica que el modem ha detectado una señal de llamada en la línea telefónica y es utilizada por el sistema para responder automáticamente. El diálogo con el modem para la transmisión de caracteres desde el terminal será esquematizado en los diagramas de flujo de la Fig. 3.5. Como la norma no establece el número de señales que deben utilizarse para la comunicación, pueden existir diferentes formas de comunicación entre los dispositivos. El caso más general corresponde a la conexión de las ocho líneas más utilizadas, en este caso la conexión debe ser directa, pues el terminal está configurado como DTE y el modem como DCE, la conexión directa a módem se muestra en la Fig. 3.6. Es posible establecer una comunicación entre dos DTE sin la intervención de módems (distancias cortas), con lo cual la conexión puede hacerse como indica la Fig. 3.7. Una conexión con tres terminales permitirá intercambiar mensajes y archivos entre máquinas, contando con un programa de comunicaciones adecuado. Puede utilizar solamente los terminales 2, 3, 7. 34 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Fig. 3.3 Circuito de potencia. Diagrama del circuito de potencia para el control de 2 motorreductores, es interesante notar que hace uso de una sola batería como fuente de alimentación, lo que disminuye el peso de la IWs.
Fig. 3.4 PWM para el control de motorreductores. El PWM utilizado para el control de Motorreductor tiene las mismas características que un PWM para un servomotor, su ciclo de actualización es de 20 milisegundos, el ancho de pulso determina la velocidad.
Dentro de los aspectos prácticos es necesario mencionar que existe un conector RS232 de 9 pines (DB9). Es un protocolo de tipo serial, donde la información es transmitida y recibida haciendo uso de cadenas de bytes cuya configuración de comunicación debe ser la misma entre los módulos de recepción y transmisión. La forma de configurar la tarjeta principal y la PC: • Baud rate de 9600 baudios. • Bytes a utilizar para la lectura limitado a 1. • Bytes a utilizar para enviar limitado a 1. • Bit de stop limitado a 1. • Paridad: ninguna • Control de flujo de datos deshabilitado.
35 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
La forma correcta de enviar y recibir un dato del puerto serie de una computadora se detallara a fondo en un futuro en esta sección. NIVELES LÓGICOS La norma define los niveles de tensión entre -3v y -15v para el estado lógico "1" y de +3v a +15v para el estado "0". Para compatibilizar estos niveles con TTL, es necesario utilizar circuitos integrados diseñados para tal efecto, tal es el caso de los chip MAX232, MC1488 y MC1489 Los niveles lógicos utilizados en el protocolo serie RS-232 son distintos con respecto a la lógica TTL, en la Tabla 3.1 mostrada en el inferior se halla la conversión correcta. 3.3.4 CONTROL POR MICROCONTROLADOR Hoy en día cada vez más dispositivos trabajan con uno o varios microcontroladores, por ejemplo, los dispositivos orientados al cómputo: el mouse de computadora, cámaras web, módems de computadora, también en electrodomésticos como lavadoras, planchas, ventiladores, televisores etcétera también se encuentran en uso. Es necesario utilizar un microcontrolador para regular el flujo de información entre el sistema de cómputo y la tarjeta principal, en orden de lograr esto existe una diversa gama de microcontroladores hoy en día como el ATMEL, SPARTAN, HC12, PIC etcétera que pueden utilizarse. En esta sección se abordará el tema de la elección de familia de microcontrolador y su selección dentro de su familia. ¿PORQUE UN PIC? Existe una gran gama de familia de microcontroladores, sin embargo no es posible aclamar una mejor familia debido a que depende del tipo de aplicación. Las necesidades del sistema electrónico que controle el flujo de datos son: • Comunicación RS-232. • Bajo coste. • ADC microprogramable. • Tamaño reducido. • Vector de interrupciones para • Fácil implementación. cambio de estados de sensores • Facilidad de adquisición. digitales. • Velocidad de funcionamiento. • Control PWM. Debido a las razones citadas arriba, un PIC fue elegido para controlar el flujo de información, sin embargo una razón no citada es que es personalizable en cuanto al diseño de sus tarjetas de control. Basándose en el microcontrolador es posible diseñar tarjetas con 5 u 8 ADC’s, diversas cantidades de vectores de interrupción, utilización de puentes H, controles de servos etcétera. Otro motivo por el cual se acogió el PIC fue debido a la inmensa cantidad de información disponible en el Internet acerca del mismo, ejemplos de programación y por su puesto la facilidad de programación a pesar que su lenguaje nativo es el ensamblador, siendo este el lenguaje en el que se desarrollará el prototipo. 3.3.5 LÓGICA DE CONTROL En esta sección se analizara la lógica de control utilizada en el programa del microcontrolador. Se analizarán los posibles eventos que surjan en el camino del 36 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
prototipo tales como la presencia de objetos a distancia, choque contra objeto y cambios de luz inesperados.
Inicio
Activar OTR
No DSR
Si
No Tiempo
Espera
Borrar TX
Si Activar RTS
Fin Si
No CTS
No Tiempo
Esperar
Error TX
Si Fin
TX dato
Desconectar DTR RTS
Transmisiรณn
Fin
Inicio
Activar DTR
No DSR
Si
No Tiempo
Espera
Error TX
Si Fin Si
No
No CARA CC
Esperar
Tiempo
Error TX
Si Fin
Leer dato
Recepciรณn Desactivar DTR
Fin
Fig. 3.5 Flujo de datos del protocolo RS-232. Diagrama de flujo para transmisiรณn y recepciรณn de una comunicaciรณn serie visto entre un PIC y la PC.
37 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
TX RX RTS CTS DSR GND DCD DTR
PC 2 3 4 5 6 7 8 20
MODEM 2 3 4 5 6 7 8 20
Fig. 3.6 Conexiรณn PC-Mรณdem. Mรณdem. La conexiรณn entre PC y modem tiene diversas variantes, siendo la mรกs comรบn de punto a punto.
TX RX GND RTS CTS DCD DSR DTR
PC 1 2 3 7 4 5 8 6 20
PC 2 3 2 7 4 5 8 6 20
TX RX GND RTS CTS DCD DSR DTR
Fig. 3.7 Conexiรณn PC-PC. Diagrama de conexiรณn de una PC a otra PC. Tabla 3.1 Niveles lรณgicos equivalentes entre RS RS-232 y TTL Nivel lรณgico RS-232 TTL 1 -15 VCD a -3 VCD 3.3 VCD a 5 VCD 0 3 VCD A +15 VCD 0 VCD a 1.8 VCD NS -1.8 VCD a -1.8 VCD --
Fig. 3.8 Pines del DB-9. La identificaciรณn de pines en el puerto decide el tipo de conexiรณn entre el modem y la PC, es necesario conocer los pines debido a que una incorrecta identificaciรณn puede quemar la tarjeta y los dispositivos agregados a esta.
38 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Tabla 3.2 Descripción del puerto DB9 Número de pin Señal 1 DCD (Data Carrier Detect) 2 RX 3 TX 4 DTR (Data Terminal Ready) 5 GND 6 DSR (Data Sheet Ready) 7 RTS (Request To Send) 8 CTS (Clear To Send) 9 RI (Ring Indicator)
E/S E E S S -E S E E
Función Detecta si existen datos a recibir. Recibe datos. Transmite datos. Indica si la terminal esta lista. Tierra común entre apliaciones. Indica si esta listo para Pide permiso para enviar un byte. Establece permiso para enviar. Indicador de timbre.
DETECCIÓN DE OBSTÁCULOS Es necesario que el prototipo de silla sea capaz de detectar un obstáculo a distancia para evitar chocar cuando aun se tenga la posibilidad de cambiar de dirección, esto quiere decir que debemos de tener un límite mínimo de distancia permitida ante un objeto, conociéndose esta como distancia mínima; esta distancia también deberá ser variable y configurable vía sistema de computo, con el fin de que si el prototipo sea usado en un lugar lleno de gente, esta no de alarma si detecta obstáculos muy cercanos. DETECCIÓN DE CONTACTO POR CHOQUE A pesar de utilizar los sensores de presencia es necesario utilizar sensores de toque o choque debido a que los sensores de presencia tienen un límite mínimo para detectar un obstáculo de 7 centímetros, si dentro de este límite existiese algún obstáculo el sistema lo pasaría desapercibido y podría originar un error. La ubicación de los sensores de contacto se muestra en la Fig. 3.11 donde 1, 2, 3 y 4 son los sensores de choque trasero, delantero, izquierdo y derecho respectivamente en ese orden. CAMBIO DE ILUMINACIÓN Los cambios de iluminación juegan un papel muy importante en el proyecto, tanto en la parte correspondiente a software debido al análisis de la imagen como al hardware con respecto a iluminar el camino por donde transita la silla, por lo que hablamos de un sensado constante de la luz. Para resolver esto se basó el cambio de luz en el tiempo en que se mantiene, es decir, si el valor discreto tomado de la fotorresistencia se mantiene en niveles de 200-255 significara que no existe un cambio, si existiese un cambio de 200 a 150 por un periodo de 1 o 2 segundos se ignora ese cambio, sin embargo si el cambio dura más de 3 segundos se toma como cambio de la luz que incide sobre la silla, activando de esta forma las luces del prototipo y de ser necesario las luces que inciden sobre el rostro del usuario. Las fotorresistencias también sirven para sensar cuando el nivel de luz es demasiado elevado como para que el sistema de visión máquina pueda clasificar el gesto. Las luces frontales también pueden encenderse vía computadora por medio de un joystick. La ubicación de los sensores se muestra en al Fig. 3.12 siendo 1, 2, 3, y 4 los sensores de luz para rostro 1 y 2, y para encender las luces del prototipo 3 y 4. 39 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
1.
Fig. 3.9 Diagrama de la tarjeta de control. La tarjeta de controla el flujo de información entre sensores y la comunicación de la PC, las dos características principales son alimentación de una sola batería para motores y circuitería digital, y programación ICSP.
Fig. 3.10 Ubicación de sensores de presencia, vista superior del prototipo. Los sensores de presencia se ubican en la parte delantera y trasera del prototipo, también en la parte inferior y superior para evitar un choque, siendo 6 los sensores a utilizar.
3.3.6 CONEXIÓN DEL ROBOT CON LA TARJETA DE CONTROL La ubicación del PCB en la IWs prototipo se muestra en la Fig. 3.2, la ubicación del LCD y la conexión de con la computadora se hallan en el descansa manos derecho, y es sobre este donde se hallan los sensores de luz. Los sensores de presencia, choque y luces frontales y direccionales se hallan montados acorde al diseño. En el anexo B se halla el PCB que se diseño para la IWs.
40 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Fig. 3.11 Ubicación de los sensores de choque, vista superior del prototipo. Los sensores de choque se ubican en la parte inferior del prototipo, los cuales detectan si existe algún tope que evite que la silla avance.
Fig. 3.12 Ubicación de las fotorresistencias, vista superior del prototipo. Los sensores de luz indican la cantidad de luz puntual que incide sobre la silla, permitiendo encender o apagar las luces.
Configuración del sistema PC
Sensar Luz
Configuración del PIC
INICIO
TX RS-232 Información de la luz TX RS-232 reporta a PC
TX RS-232 Informatión de Luz
RX RS-232 Dato
Dato recibido Luz S. Presencia LDR
S Sensar Luz
Dir. propuesta = Dir. Real, Incrementa PWM
Reconfigurar?
Reporta Error Decrementa PWM
Sensar Luz
N
S
S
Luz?
Libre?
Encender/apagar luces
N S. dirección
S
N Mover?
Muestra mensaje en LCD
41 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Fig. 3.13 Diagrama de control de flujo de información en el microcontrolador PIC16F877A. El flujo de controle s realizado mediante un microcontrolador PIC, debido a que es fácil de conseguir y económico.
Fig. 3.14 Ubicación de las luces del prototipo, vista superior del prototipo. Las luces en el prototipo sirven para indicar la dirección recibida por la PC iluminar el camino si es necesario. Tabla 3.3 Trama de bytes enviada. La trama de bytes que realizan la comunicación con la computadora es enviada y recibida en turnos por half-duplex entre el microcontrolador y la PC. B# B0 B1 B2 B3 B4 B5 B6 B7
Byte transmitido
Byte recibido
B#
S. presencia frontal S. presencia trasero S. presencia izquierdo S. presencia derecho S. digital frontal S. digital trasero S. Luz 1 S. Luz 2
Dirección PWM 1 PWM 2 Sin uso Sin uso Sin uso Sin uso Sin uso
B0 B1 B2 Sin uso Sin uso Sin uso Sin uso Sin uso
42 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
CAPÍTULO 4. DISEÑO DEL SOFTWARE DE VISIÓN MÁQUINA En este capítulo se describen las diversas técnicas utilizadas para la clasificación de gestos faciales y manuales, como la posición de la webcam, configuración del sistema, creación de la base de datos de imágenes, la detección de piel, imagen diferencial, reconocimiento porr patrones, detección de rostro, labios y ojos.
4.1 ETAPAS DEL SISTEMA DE VISIÓN MÁQUINA El sistema de visión máquina implementado para la IWs consta de varias etapas como se muestra en la Fig. 4.1, se propuso controlar la IWs con gestos que pueden serr de característica facial o manual dependiendo del nivel de movilidad del usuario. El gesto manual que controla la silla es mostrado en la Fig. 4.2, se eligió esta forma debido a que es el movimiento mínimo que puede lograr un paciente con escasa movilidad d en la mano. La principal diferencia entre usar este gesto a un joystick manual radica en que el segundo hace uso de la muñeca y los dedos para el control, mientras que el control propuesto en este trabajo solo es necesario un dedo. Basándose en la posición ón del dedo es posible controlar la dirección: adelante, atrás, izquierda, derecha y alto. Si el usuario esta impedido en sus extremidades superiores, entonces se opta por un control por gestos faciales, la Fig. 4.3 muestra el control por gestos y es realizado izado por medio de una posición en la boca (abierta) que activa la ubicación de los ojos, dependiendo que ojo permanezca abierto será la dirección propuesta. En el caso de control por gestos solo se permite la dirección adelante, derecha e izquierda, la dirección rección atrás es realizada dando una vuelta completa hacia la derecha o izquierda. 4.2 CONFIGURACIÓN DEL SISTEMA El primer paso es la configurar el sistema en cuanto a los límites que se le impondrá al hardware, estos límites son para proximidad mínima, lluz uz y contacto. Los valores por defecto se muestran en la Tabla 4.1. Posteriormente se configura el software, que consiste en la elección de la webcam a utilizar, el tipo de control a emplear (manual o gestual) y la selección del puerto serie. 4.3 UBICACIÓN ÓN DE LA CÁMARA La ubicación de la cámara web para el control de la IWs es de suma de importancia porque dependiendo de la posición que se elija, la imagen será afectada por luz, sombras, pose, efecto sal y pimienta etcétera. La posición elegida para un control co gestual manual se muestra en la figura 4.4 a), en este tipo de control se hace uso de una base donde se monta la cámara y el campo de visión reducido apunta a la mano.
43 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
Configuración del sistema Clasificación de dirección Adquisición de la imagen GESTO MANUAL Detección de piel en suma, (5 espacios de color)
Imagen diferencial
Filtros morfológicos
Detección de círculo mayor
GESTO FACIAL
Detección de gesto manual por correspondencia de patrones
Detección de rostro (recorte)
Imagen diferencial
Detección de ojos
Detección de boca
Fig. 4.1 Etapas del sistema de visión máquina implementado. Se basa en la detección de piel para discernir del fondo del usuario mediante la detección en 5 espacios de color, la imagen diferencial que es la diferencia punto unto a punto entre dos pixeles contiguos, y la detección por patrones.
La ubicación de la cámara en el caso de elegir un control gestual es enfrente del usuario, como lo muestra la figura 4.4 b), de esta forma es posible detectar el rostro completo.
Fig. 4.2 Gesto manual utilizado para controlar la IWs. En las imágenes se reconoce la dirección izquierda, adelante y derecha solo por mencionar unos ejemplos.
4.4 ADQUISICIÓN DE LA IMAGEN La adquisición de la imagen se efectúa por medio de una cámara web o webcam, debido a que es económica, su resolución y velocidad de adquisición de imagen resulta adecuada para el proyecto además de que se consigue fácilmente. El primer paso es la detección de cámaras disponibles en el sistema, debido a que es posible posibl que exista 1 o más webcam se crea una lista donde el usuario escoge la cámara de su preferencia. La Fig. 4.5 muestra el proceso básico para realizar un sistema de visión por computadora que consiste en generar la lista, selección de webcam, el proceso de visión y finalmente el cierre de sesión. 4.5 DETECCIÓN DE PIEL La interacción humano-computadora computadora es un campo en constante evolución, teclado, mouse y joystick son algunos de los dispositivos que han sido desarrollados para llenar esta necesidad, sin embargo nuevas formas de comunicarse se están 44 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
desarrollando como el control por voz o imagen [KUNT03]. La detección de piel es usualmente la primer etapa en diversas aplicaciones como la detección y reconocimiento de rostros, manos, el control de dispositivos hardware o software y tiene una gran aceptación debido a que es capaz de discernir en una escena compleja una persona del fondo [STAN04]. La etapa de detección de piel puede ser realizada por diversas técnicas, entre ellas: movimiento [GONG05] y umbralización, en este último caso se emplean técnicas posteriores como algoritmos genéticos [GASP06], tablas normalizadas de operaciones de búsqueda o “look up table” (LUT) [VEZH03], clasificadores Bayes [VEZH03] etcétera, con el objetivo de identificar áreas de píxeles piel; sin embargo todas estas etapas funcionan con la imagen binarizada a partir del color. Este proyecto utiliza la detección de piel en 5 espacios de color (RGB, HSL, HSI, HSV e YCrCb) mas el movimiento siendo 6 planos en su totalidad, posteriormente se utilizan filtros morfológicos para discernir áreas de píxeles piel del fondo de la imagen. El primer paso del detector de piel implementado es la creación de un banco de imágenes con la webcam a utilizar, posteriormente se seleccionan áreas de piel para su procesamiento en los diversos planos de color, en la sección siguiente se detalla la conversión a partir del espacio RGB a los espacios restantes y posteriormente la creación de la base de datos. El resultado de la clasificación es asignada como positivos verdaderos (PV), positivos falsos (PF) y falsos negativos (FN).
Fig. 4.3 Control por medio de gestos faciales. Es realizado detectando la posición y escala del rostro, posteriormente detectando la posición de la boca que activa la detección y clasificación de los ojos como abierta o cerrada, las cuales rigen el control de dirección. Tabla 4.1 Valores por defecto en la configuración del sistema Byte Valor por defecto Descripción B0 S. Presencia frontal 128 Valor mínimo equivalente a 40 cms B1 S. Presencia trasero 128 Valor minimo equivalente a 40 cms B2 S. de luz 200 Valor minimos para encender la luz de la IWs B3 S. de choque ON Encendido para detectar choques.
DETECCIÓN EN EL ESPACIO RGB Este espacio originalmente fue utilizado por los monitores CRT, la combinación aditiva de los colores RGB en diferentes tonalidades individuales describen un color específico rojo, verde y azul [BRAN00], sin embargo debido a que cada canal del espacio del color RGB es en sí un color y están altamente correlacionados entre sí mezclando la crominancia y la luminosidad no hacen un detector de piel favorable. Para indicar con qué proporción mezclamos cada color, se asigna un valor a cada uno de los colores primarios, el valor 0 significa que no interviene en la mezcla, y a medida que ese valor aumenta, se entiende que aporta más intensidad a la mezcla, es frecuente que cada color primario se codifique con un byte (8 bits). Así, de una 45 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
manera estándar, la intensi intensidad dad de cada una de las componentes se mide según una escala que va del 0 al 255. La Fig. 4.6 muestra el espacio de color RGB en una imagen tomada por la cámara web. En la Tabla 4.2 se muestra los valores que utiliza [KOVA03] en su detector de piel en RGB.
a)
b)
Fig. 4.4 Ubicación de la cámara web. La silla IWs puede controlarse en dos formas, gestual manual o facial, la imagen muestra la ubicación de la cámara dependiendo el tipo de control, a la izquierda se muestra el manual en donde la cámara se ubica en una base, a la derecha el facial donde la cámara se ubica frente al usuario.
Fig. 4.5 Proceso básico de adquisición de imágenes. Por medio de la webcam en LabVIEW, la imagen muestra el proceso simple de adquisición, el sistema de visión máquina de descrito en las siguientes secciones se ubica dentro del ciclo del proceso.
ESPACIO HSL El espacio HSL proviene del inglés tonalidad (Hue), saturación (Saturation) y Luminancia (Lightness), se representa gráficamente como un cono doble o un doble hexágono como en la Fig. 4.7. Los dos vértices en el modelo HSL se corresponden con el blanco y el negro, el ángulo se corresponde con la tonalidad, la distancia al eje con la saturación y la distancia al eje blanco blanco-negro negro se corresponden a la luminancia. H se define como el color dominante, S es la saturación del color en base al brillo de 46 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
la imagen n mientras que la L es relacionada a la luminancia en cada vector. La Fig. 47 muestra una imagen captada por la cรกmara web en los diversos planos H S y L. R
G
COLOR B Fig. 4.6 Espacio RGB. La imagen en color es separada en RGB, la suma aditi aditiva va de las partes en RGB forman el color original.
Las ecuaciones 1, 2, 3, 4 y 5 muestran cรณmo obtener este espacio cuando a partir de espacio RGB, en donde max es el valor mรกximo entre RGB normalizado y min es el valor mรญnimo del mismo. La Tabla 4.2 muestra los valores que utiliza [MENS00] para el detector de piel. , , (1) ESPACIO HSV El espacio HSV es una representaciรณn del color basรกndose en RGB, describe la relaciรณn iรณn entre colores mรกs exacta que el RGB [NIVI05] de forma computacionalmente simple. Las siglas HSV significan Hue (Tono), Saturation (saturaciรณn) y Brightness (brillo). HSV es similar a HSL, ambos describen el color como puntos en el interior de un cilind cilindro ro cuyo rango del eje central abarca en su punto mรญnimo el color negro y en su punto mรกximo el blanco con colores neutrales entre ellos. La representaciรณn HSL y HSV son similares en propรณsito, pero difieren en su aproximaciรณn, la principal diferencia es qu que e HSV tiene el cono de colores invertido con respecto a HSL. La Fig. 4.8 muestra el espacio de color HSV, y una imagen captada por la cรกmara web en HSV. La obtenciรณn de HSV se realiza utilizando RGB normalizado y las ecuaciones 1, 2, 3 y 5; el plano V se o obtiene btiene mediante la EQ. 6.
. ! "!#
!$ "! "!#%/$
2
- min!
' , ) 0, # + ,
. ! "!#
!$ "! "!#%/$
' , ) 0,2 # + 1
(2) (3) (4)
47 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
0, 4567 589 589
567 589 589 567 589 3 567
2 567 567 GHI
567 589 !
F
D DE
,
567 589 F
K
,
D , 1/2J D 1 1/2
(5)
(6)
H
S
COLOR
L
Fig. 4.7 Espacio HSL. El espacio HSL utiliza una representaciĂłn cĂłnica para representaciĂłn del color, la figura de la derecha muestra una imagen descompuesta en HSL.
ESPACIO HSI Es similar a HSV o HSL, su representaciĂłn es un cono invertido con el punto oscuro en su inferior, la principal diferencia con otros espacios se debe a que la luminosidad (I) reemplaza al brillo (V) [NIVI05]. El brillo de un color puro es el brillo del blanco, bla mientras que la luminosidad es la luz en escala de grises, la Fig. 4.9 muestra el espacio HSI. La forma de obtener este espacio es mediante el uso de las ecuaciones 1, 2, 3, 5, 7. ! D L , D ) 0,1# (7) DETECCIĂ“N EN ESPACIO YCrCb Es una imagen codificada RGB, donde el color y el brillo de la imagen se dividen en tres vectores individuales no correlacionados llamados Y, Cr y Cb, es una alternativa muy atractiva en la detecciĂłn de pĂxeles pĂxeles-piel. piel. La detecciĂłn de piel propuesta se basa en 2 etapas, almacenamiento de la selecciĂłn manual valores promedio de pĂxeles y la detecciĂłn en base a los valores promedios almacenados, la Fig. 4.10 muestra el espacio YCbCr y una imagen descompuesta en cada plano. La ecuaciĂłn 8, 9 Y 10 muestra cĂłmo obtener este espacio a partir del RGB. : 0.257= ′ - 0 0.504M ′ - 0.098 - 16 ′ > 0.148 0.291M ′ - 0.439O ′ - 128 > 0.439= ′ 0.368M´ 0.071O´ - 128
(8) (9) (10)
48 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
H
S
COLOR V
Fig. 4.8 ESPACIO HSV. El espacio de color HSV es una transformación del RGB normalizado y se representa como un cono invertido, la figura de la derecha muestra una imagen en HSV el cual es muy similar a HSL.
H
S COLOR
I Fig. 4.9 Espacio de color HSI. Es similar a HSL y HSV, la diferencia radica en el plano I que es igual al brillo en un medio gris, la imagen a la derecha muestra el espacio HSI en una imagen tomada por una webcam.
4.5.1 CREACIÓN DE BASE DE DATOS DE IMÁGENES El paso previo a la detección de piel es la creación de una base de datos de imágenes, con el fin de seleccionar en cada unas de las imágenes una región de piel de forma manual para crear una base de datos de piel en histograma. Se diseño el programa en LabVIEW como se muestra en la Fi Fig. g. 4.11, el programa corre y toma una foto de la imagen actual cada 5 segundos y almacena la imagen automáticamente. La base de datos creada contiene imágenes de diferente iluminación, perspectiva de diversos usuarios de diversos tonalidades de color piel, la Fig. 4.12 muestra una parte de esta base de datos de imágenes. SELECCIÓN DE ÁREA DE PIEL La selección del área de tonos de color piel se baso en donde la iluminación no saturara la cámara en brillo, no contenga ojos, dientes, barba o bigote, siendo la 49 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
selecciรณn de piel con sombras optativas bajo condiciones de luz que permitan la deserciรณn de piel. En este trabajo se analizaron mรกs de 1384 muestras de piel seleccionadas manualmente a partir de la base de datos de imรกgenes, cada รกrea es convertida a un espacio de color HSI, HSL, HSV y YCrCb. La selecciรณn manual de piel toma el punto de origen como I( I(xi, yi) y final como I(xf, yf) yf y los pixeles comprendidos en el interior de esta รกrea cuadrangular se suman y promedian como indica la ecuaciรณn 13.
Y
Cr COLOR Cb
Fig. 4.10 Espacio YCbCr. Estรก representado como un cubo en donde Y ocupada la iluminancia y se combina con Cr y Cb para formar un color, a la derecha se muestra una imagen de la webcam en este espacio.
Fig. 4.11 Programa diseรฑado en LabVIEW para creaciรณn de base de datos de imรกgenes. Se creรณ una base de datos de 1092 imรกgenes que se utilizaron para entrenar el detector de piel.
P+
VT
ST
โ VU โ SU 8 7,R! 8 7 ,R! |78 7X| |R8 RX|
(11)
DETECCIร N DE PIEL POR DIFERENCIAS El ser humano siempre estรก en continuo movimiento, incluso si el permanece inmรณvil ante una cรกmara esta es capaz de captar movimientos mรญnimos en este caso los gestos faciales o manuales, por lo que la obtenciรณn del movimiento nos proporciona un plano adicional a los 5 de color para detectar la piel. La detecciรณn del movimiento 50 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
se realiza tomando la diferencia de dos imรกgenes continuas de la webcam; los cambios en la intensidad de un pรญxel en la imagen pueden ser causados por el movimiento, ruido รณ cambio de iluminaciรณn [GONG05]. Para obtener el movimiento se implemento un filtro espacial de suavizado Gaussiano, el cual elimina el efecto sal y pimienta en la imagen en escala de gris, la ecuaciรณn 12 implementa este tipo de filtro; posteriormente se hace la diferencia (ecuaciรณn 13) entre las dos imรกgenes sustituyendo los pixeles de movimiento por el gris#42, debido a que se utilizan 6 espacios para la detecciรณn.
Fig. 4.12 Base de datos de imรกgenes creada para la detecciรณn de piel. Cuenta con 1092 imรกgenes de diversa iluminaciรณn sobre la piel, sombra tonalidades de piel, etcรฉtera. YZ 7,R,[! Y[ YZ 7,R,[! Y[
\ Y[ M , ], ^!โ P , ], ^!! Y
\ P , ], ^! P , ], ^ 1!
(12) (13)
Tabla 4.2 Valores mรญnimos y mรกximos para detecciรณn de piel Espacio MIN MAX Investigador R Kovac 54 167 G [KOVA03] 0 113 B 35 112 H Menser 0 48 S [MENS00] 0 124 L 47 115 H Hsieh [HSIE02] 0 85 S 0 108 I 64 162 H Pitas [TSEK98] 0 85 S 0 109 V 50 119 Y Chai [CHAI03] 100 255 Cb 0 135 Cr 10 195
DETECCIร N DE PIEL EN LOS 6 ESPACIOS Este proyecto hace uso de 5 espacios de color y un sexto espacio que es el movimiento, por cada espacio se detecta la piel basรกndose en los datos obtenidos en el entrenamiento con la base de datos de imรกgenes, si un pixel es detectado como piel se sustituye este por el gris#42, las ecuaciones 14, 15, 16, 17 y 18 realizan este proceso. 51 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
R
G
B
H
S
L
I
Fig. 4.13 Histogramas de los planos R, G, B, H, S, L e I de los valores seleccionados manualmente. El eje de las abscisas son el valor de los pixeles en cada plano, el eje de las ordenadas es la repetici贸n sobre cada pixel
52 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
V
Y
Cb
Cr
Fig. 4.14 Histogramas de los planos V, Y, Cb y Cr. Los valores seleccionados manualmente, el eje de las abscisas son el valor de los pixeles en cada plano, el eje de las ordenadas es la repeticiรณn sobre cada pixel.
=MO D_ = ` , ]! #a =! ^ bE 1 ^ b cD b 0! d D_ M ` , ]! #a M! ^ bE 1 ^ b cD b 0! d D_ O ` , ]! #a O! ^ bE 1 ^ b cD b 0! ! ^ bE 42 ^ b cD b 0 (14) efg D_ e ` , ]! #a e! ^ bE 1 ^ b cD b 0! d D_ f ` , ]! #a f! ^ bE 1 ^ b cD b 0! d D_ g ` , ]! #a g! ^ bE 1 ^ b cD b 0! ! ^ bE 42 ^ b cD b 0 (15) efh D_ e ` , ]! #a e! ^ bE 1 ^ b cD b 0! d D_ f ` , ]! #a f! ^ bE 1 ^ b cD b 0! d D_ h ` , ]! #a h! ^ bE 1 ^ b cD b 0! ! ^ bE 42 ^ b cD b 0 (16) efP D_ e ` , ]! #a e! ^ bE 1 ^ b cD b 0! d D_ f ` , ]! #a f! ^ bE 1 ^ b cD b 0! d D_ P ` , ]! #a P! ^ bE 1 ^ b cD b 0! ! ^ bE 42 ^ b cD b 0 (17) :> > D_ : ` , ]! #a :! ^ bE 1 ^ b cD b 0! d D_ > ` , ]! #a > ! ^ bE 1 ^ b cD b 0! d D_ > ` , ]! #a > ! ^ bE 1 ^ b cD b 0! ! ^ bE 42 ^ b cD b 0 (18)
Cada espacio de color se suma de tal forma que la imagen resultante mientras mรกs blanca sea, tendrรก mayor posibilidad de ser un pixel piel, esto es realizado por la ecuaciรณn 19. +Db ij56 =MO - efP - efg - efh - :> > - klh (19) La Fig. 4.15 muestra el resultado parcial del proceso de detecciรณn de piel en una imagen captada por la webcam. La imagen resultante se expresa en escala de grises 53 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
(Fig. 4.15), se umbraliza en base al número de espacios necesarios para considerar un pixel color piel como muestra la Fig. 4.16.
Fig. 4.15 Detección de piel en una imagen captada por la webcam. A partir de la ecuación 19, los pixeles blancos son más probables de ser un pixel pixel-piel.
Fig. 4.16 Piel segmentada después de la umbralización y filtros morfológicos. La imagen resultante después del proceso de detección de piel son áreas donde existe probabilidad que se halle una persona, sirve para ra indicar al sistema donde buscar los gestos.
4.5.2 FILTROS MORFOLÓGICOS Una vez que se obtiene la imagen binarizada a partir de la imagen en suma de colores grises existen áreas de píxeles donde no existe piel humana o de existir se haya parcialmente eliminada. iminada. La forma de corregir es tomando decisiones sobre que filtros morfológicos son necesarios para detectar áreas de pixel piel apoyándose en la base de datos de imágenes, por ejemplo pixeles no aislados y conjuntos de área grande de pixeles. Los filtr filtros os morfológicos implementados en este proyecto son: remoción de partículas, relleno, rechazo de bordes. Las operaciones morfológicas binarias extraen y alteran las estructuras de las partículas en una imagen binarizada, mediante estas operaciones es posibl posible e mejorar la imagen removiendo áreas de 54 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
pixeles que no contienen información importante [NIVI05]. Una imagen binarizada es aquella que contiene regiones de partículas de pixeles cuyo valor es 1(blanco) ó 0 (negro) y es obtenida a partir de un proceso de umbralización. Debido a que el resultado del proceso de umbralización puede contener información indeseada como ruido de partículas, partículas que tocan el marco de la imagen, partículas que se tocan entre sí o partículas solitarias, se procesa la imagen mediante filtros morfológicos para mejorar el análisis de partículas. Un operador morfológico que cambia la forma de la imagen umbralizada se basa en pixeles vecinos. Un pixel vecino es aquel cuyo valor le afecta otro pixel cercano, entonces las transformaciones morfológicas utilizan una máscara 2D llamada elemento de estructura para definir el tamaño y el efecto sobre cada pixel vecino [NIVI05].
Fig. 4.17 Tamaño de un elemento estructural
El tamaño y contenido de un elemento estructural especifica que pixel debe de ser tomado en cuenta en el proceso morfológico, un ejemplo de elemento estructural es mostrado en la Fig. 4.17, debe de tener un eje par para acomodar el centro de pixel para ser procesado. El elemento estructural común con el cual se realizan las operaciones es una matriz de 3x3 que contenga valores de 1: 1 1 1 m 1 1
1 1 1
Existen 3 factores que influencian el efecto de un elemento estructural sobre los pixeles vecinos: el tamaño del elemento estructural, su contenido y su forma. TAMAÑO DEL ELEMENTO ESTRUCTURAL Determina que pixel será afectado en el proceso, las coordenadas del pixel a procesar son dependientes del elemento estructural como muestra la Fig. 4.17, se usa un borde en la imagen igual al tamaño del elemento estructural. Para utilizar n elemento estructural es necesario tener bordes en la imagen. Un elemento estructural de 3x3 requiere un borde mínimo de 1, de la misma manera un elemento estructural de 5x5 y 7x7 requiere un borde de 2 y 3 respectivamente. El tamaño determina la velocidad de la transformación morfológica, mientras más pequeño sea el elemento más rápido es realizada la operación. VALORES DEL ELEMENTO ESTRUCTURAL Los valores del elemento estructural determinan cual pixel vecino son considerados durante la operación morfológica. • Si el valor que contiene el elemento estructural es 1, el valor original de la imagen afecta al pixel central durante la transformación. 55 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
•
Si el valor que contiene el elemento estructural es 0, la función morfológica descarta la operación sobre el pixel central de la imagen. Una transformación morfológica altera el pixel Po, y se convierte en función de sus pixeles vecinos. Como indica la Fi Fig. g. 4.18, los valores del elemento estructural varía afectan la transformación morfológica.
Fig. 4.18 Elementos estructurales y sus efectos. Efecto de los valores contenido del elemento estructural que afectan a los pixeles vecinos.
FORMA DEL ELEMENTO ESTRUCTURAL Una imagen digital es un arreglo 2D de pixeles en forma rectangular, las operaciones morfológicas alteran la estructura de las partículas permitiendo procesar los pixeles de forma cuadrada o hexagonal dependiendo la configuración del elemento estructural. Estas configuraciones de elementos estructurales introducen el concepto de forma del marco, los cuales pueden ser hexagonales o cuadrados. La forma del elemento estructural es importante porque determina que pixeles se toman en cuenta como vecinos inos cuando se realice la función morfológica. Si una operación morfológica usa un elemento estructural hexagonal de 3x3, la transformación no considera los elementos (2,0) y (2,2) al calcular el efecto de los pixeles vecinos sobre el pixel central como muestra uestra la Fig. 4.19. Si una función morfológica usa un elemento estructural 5x5 de forma hexagonal, la transformada no considera los elementos [0,0], [4,0], [4,1], [4,3] y [4,4].
Fig. 4.19 Elementos estructurales rectangulares, cuadrados y hexagonales. Dependiendo la forma del elemento estructural se define que pixel vecino afecta al pixel central de la imagen original que se halla en el área del elemento estructural.
FILTRO MORFOLÓGICO DE REMOCIÓN DE PARTÍCULAS En el control gestual manual y facial, la piel del usuario representa el porcentaje de área de piel menor en la imagen como se ve en la Fig. 4.5, sin embargo los pixeles piel se hallan unidos por lo que es necesario remover partículas solitarias. La remoción de partículas solitarias es un proceso realizado por la función de erosión,
56 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
definida por la ecuaciĂłn 20 [GONZ01], indica que A por B es el ajuste de todos los puntos Z tales que B trasladados en Z contengan A. `nO!o `o p Oq ∴ La erosiĂłn se define por: ` r O!s tu v O!w x `yo ∴ Si O!z estĂĄ contenido en A, entonces O!w {`s |, donde la ecuaciĂłn precedente es: ` r O!s tu v O!w {`s |yo ∴ Pero el complemento de z que satisface a O!w {`s | es una z de tal forma que O!w {`s }|, por lo tanto: ` r O!s tu v O!w {`s }|yo ∴ De esta forma obtenemos la ecuaciĂłn 20 para la erosiĂłn. `∅O `s p Oq (20) La ecuaciĂłn 20 no es la Ăşnica forma de implementar la erosiĂłn pero tiene la ventaja de ser la mĂĄs prĂĄctica en una operaciĂłn morfolĂłgica [GONZ01]. La implementaciĂłn de la funciĂłn de erosiĂłn se realiza de la siguiente forma: si un pixel P0 se halla en el centro del elemento estructural, entonces los pixeles son enmascarados por los coeficientes del elemento estructural igual a 1 referidos como Pi. Si el valor de uno de los pixeles Pi es igual a 0, entonces P0 es ajustado a 0, de otra forma P0 es ajustado a 1. Si el Pi es 1, entonces P0 es igual a 1, de otra forma es cero [NIVI05]. La figura 4.20 muestra una imagen erosionada despuĂŠs de se umbralizada a partir de la suma de piel en los 5 espacios.
Fig. 4.20 Imagen de la base de datos de imĂĄgenes con filtros morfolĂłgicos. A la izquierda la imagen representa la piel detectada, al centro la imagen umbralizada y a la derecha la imagen despuĂŠs de erosiĂłn.
FILTRO MORFOLĂ“GICO DE RELLENO La dilataciĂłn es la operaciĂłn dual de la erosiĂłn, un operador δ : Xď€ â†’ X se denomina dilataciĂłn en el caso que conmute con el supremo de una colecciĂłn de valores como indica la ecuaciĂłn 21. ~ 8 !8)Z ~ 8 !8)Z (21) Donde I es cualquier conjunto de Ăndices ]t 8 y es una colecciĂłn arbitraria de valores x iď€ âˆˆ X. El resultado de la dilataciĂłn es el conjunto de puntos origen del elemento estructurante y tales que el elemento estructurante contiene algĂşn elemento del conjunto X, cuando el elemento se desplaza por el espacio que contiene a ambos conjuntos como indica la ecuaciĂłn 22. ~€  ! t |:‚ ƒ  } 0y (22) Esta Ăşltima ecuaciĂłn puede rescribirse como una uniĂłn de conjuntos trasladados. Las traslaciones vienen definidas por el dominio del elemento 57 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
~€  ! „ ……)€ (23) El efecto de una operación de dilatación puede observarse en la figura 4.21, en donde un elemento estructurante y de forma de disco circular aumenta la definición del objeto X. estructurante:
Fig. 4.21 DilataciĂłn de X por el elemento estructurante Y. AL dilatar la imagen por un elemento estructurante Y el conjunto X aumenta su definiciĂłn.
Se puede extender la Ăşltima definiciĂłn de dilataciĂłn a imĂĄgenes binarias o de escala de grises f, interpretando la dilataciĂłn como el mĂĄximo valor de las traslaciones de f (definidas por la forma del elemento estructurante) en cada punto de la imagen: ~€ _! †_ Â… Â…)€ (24) En otras palabras, el valor de dilataciĂłn de un pĂxel (x,y) es el mĂĄximo valor de la imagen en la ventana de vecindad definida por el elemento estructurante cuando su origen se sitĂşa en (x,y): ~€ _! , ]! _ , ] ^! i,[!‡€ (25) La dilataciĂłn de la imagen binaria de la Fig. 4.22 a) por un elemento estructurante de tamaĂąo 3x3 se ilustra en la figura 4.22 b). En la imagen, los objetos aumentan su definiciĂłn. En la figura 4.23 se muestra la dilataciĂłn de una seĂąal unidimensional de funciĂłn f. Se puede observar el efecto de la intersecciĂłn de traslaciones definidas por el elemento estructurante Y. El resultado es la selecciĂłn del mĂnimo valor de todos los presentes bajo la definiciĂłn del elemento estructurante.
Fig. 4.22 DilataciĂłn de una imagen binaria mediante un elemento estructurante de tamaĂąo 3x3.
El resultado es el mĂĄximo de todos los valores presentes bajo la definiciĂłn del elemento estructurante. El resultado de la dilataciĂłn en seĂąales bidimensionales de escala de grises (imĂĄgenes) es, generalmente, una seĂąal de mayor valor, es decir, una imagen mĂĄs clara, puesto que la dilataciĂłn maximiza el valor de la seĂąal. La dilataciĂłn del conjunto de pixels en escala de grises presentes se observa en la Fig. 4.24. En la Fig. 4.25 se muestra como el elemento estructurante de 58 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
tamaĂąo 3x3 potencia la luminosidad de la imagen original de 'Lenna'. El efecto visual es tal que los objetos claros aumentan su definiciĂłn frente a los oscuros.
Fig. 4.23 DilataciĂłn de una seĂąal unidimensional definida por la funciĂłn f. Elemento estructurante de tamaĂąo 3. 34 78 1 87 45 34 67 56
56 64 23 98 197 178 54 98
34 200 11 201 167 165 55 99
33 201 124 223 158 45 54 149
123 128 123 32 9 10 23 102
124 120 67 17 1 3 56 244
124 230 78 34 1 2 89 203
56 232 87 198 3 11 23 27
78 78 98 197 197 197 178 98
200 200 201 201 201 197 178 99
201 201 223 223 223 197 178 149
201 201 223 223 223 167 165 149
201 201 223 223 223 158 244 244
230 230 230 123 123 89 244 244
232 232 232 198 198 89 244 244
232 232 232 198 198 89 203 203
Fig. 4.24. DilataciĂłn de una imagen de escala de grises (matriz) por un elemento estructurante plano bidimensional de tamaĂąo 3x3.
Fig. 4.25 DilataciĂłn de una seĂąal bidimensional (imagen) definida por la funciĂłn f.
Elemento estructurante de tamaùo 3x3. El resultado en cada punto de la imagen es el måximo de todos los valores presentes bajo la definición del elemento estructurante. Al igual que ocurre con la erosión, los elementos estructurantes de volumen raramente se emplean para las dilataciones. El efecto es una intensificación de la claridad de la imagen de acuerdo con el valor que posean los puntos del elemento estructurante: ~€ _! , ]! t_ , ] ^! - : , ^!y i,[!‡€ (26) La función dilatación se realiza mediante la ecuación 21 [GONZ01], se basa en obtener el reflejo de B cerca de su origen y trasladar este reflejo por Z. La dilatación 59 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
de por B entonces es el ajuste de todos los traslados de Z de tal forma que A traslape al menos un elemento. La ecuaciĂłn 27 nos brinda la ventaja que es mas intuitiva cuando el elemento B es visto como una mĂĄscara de convoluciĂłn [GONZ01].
`⊕O ˆu‰ OŠ!w ƒ `‹ x `ÂŒ (27) La implementaciĂłn de la funciĂłn de dilataciĂłn se realiza de manera similar a la erosiĂłn, la diferencia radica en si Pi contiene cualquier valor igual a 1, entonces P0 es 1 de otra forma 0. La figura 4.21 muestra el relleno de ĂĄrea de pixeles piel mediante la dilataciĂłn. Aplicando la erosiĂłn y dilataciĂłn es posible discernir de pixeles piel de no piel. En esta secciĂłn se obtienen los pixeles piel (Fig. 4.16), de acuerdo al diagrama de flujo de la Fig. 4.1 el control de gestos facial y manual diverge posteriormente en este punto, en la secciĂłn 4.6 se detalla la implementaciĂłn para un control por gestos manuales y se introduce el concepto de imagen diferencial. En la secciĂłn 4.7 se regresa al punto de detecciĂłn de piel para dar paso a la detecciĂłn de rostro y gestos faciales mediante filtros morfolĂłgicos en el control por gestos faciales.
Fig. 4.26 Imagen de la base de datos de imĂĄgenes con remociĂłn de partĂculas. A la izquierda la imagen representa la piel detectada, al centro la imagen umbralizada y a la derecha la imagen despuĂŠs de remover las partĂculas solitarias mediante la erosiĂłn y el relleno de ĂĄreas de piel dilataciĂłn.
4.6 CONTROL POR GESTOS MANUALES El prototipo de IWs puede ser controlado mediante gestos manuales o faciales dependiendo la movilidad del usuario; si el usuario tiene un poco de movimiento en sus dedos sin importar si puede mover o no la muĂąeca, entonces es posible optar por el control gestual manual. La Fig. 4.2 muestra las imĂĄgenes obtenidas desde una cĂĄmara web ubicada en una base (Fig. 4.4) que permite seguir el movimiento del dedo. La detecciĂłn se realiza utilizando su imagen diferencial y una correspondencia por patrones; la posiciĂłn del dedo indica la direcciĂłn que debe de tomar la IWs, la Fig. 4.27 muestra los lĂmites utilizados en el proyecto. 4.6.1 IMAGEN DIFERENCIAL La imagen diferencial se aplica para facilitar la detecciĂłn por patrones debido a que esta se basa en las intensidades de la imagen. La imagen diferencial elimina los tonos de color y se centra en las sombras de la imagen, se obtiene mediante la diferencia absoluta entre dos pixeles vecinos de izquierda a derecha (horizontal) y arriba hacia abajo (vertical), posteriormente se suman ambas imĂĄgenes como indica la ecuaciĂłn 28. La Fig. 4.28 muestra la imagen diferencial obtenida a partir de la base de datos. 60 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
7Ž7X RŽRX RŽRX 7Ž7X �D_ ∑7Ž ∑RŽ |P , ]!! P 1, ]!| - ∑RŽ ∑7Ž |P , ]! P , ] 1!|
IZQ
ADE
ATRA
DER
ALTO
30
60
90
120
144
(28)
Fig. 4.27 LĂmites de la posiciĂłn del dedo para dirigir la IWs. La posiciĂłn del dedo determina la direcciĂłn de la silla Iwog,, por ejemplo al centro se obtiene la direcciĂłn “atrĂĄsâ€?.
4.6.2 CORRESPONDENCIA POR PATRONES La correspondencia por patrones localiza un modelo en una imagen en escala de grises, es necesario crear un modelo que represente el objeto que se busca en la imagen. En cada imagen se localiza el modelo y se califica por puntuaciĂłn y escala con respecto al modelo original. La Fig. 4.29 muestra el modelo utilizado en este proyecto.
Fig. 4.28 Imagen diferencial procesada de la base de datos. Esta tĂŠcnica permite disminuir el error de la correspondencia por patrones ademĂĄs de que el color no le afecta debido a que se basa en las sombras de la imagen.
Los algoritmos de correspondencia por patrones son funciones importantes en un sistema de visión ión måquina debido a que se utiliza en diversas aplicaciones, se pueden utilizar en las siguientes aplicaciones: • Alineamiento, determina la posición y orientación de un objeto conocido. • Medición, mide longitudes, diåmetros, ångulos y otras dimensiones criticas. crit Si las medidas caen fuera de los niveles de tolerancia en componente es rechazado. • Inspección, detecta partes faltantes en la imagen. La correspondencia por patrones es el primer paso en muchas aplicaciones de visión måquina, debe de trabajar de manera confiable bajo varias condiciones como orientación, cambios de escala o cambios de iluminación.
61 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
Fig. 4.29 Modelo utilizado para la correspondencia por patrones normalizada en el control de gestos manuales. La imagen diferencial de la punta del dedo es utilizada como patrĂłn de referencia para la correspondencia de gestos manuales.
CONDICIONES DEL LUZ AMBIENTALES Un algoritmo de correspondencia por patrones requiere la habilidad de hallar el patrĂłn referencia en una imagen bajo condiciones de luz que cambian uniformemente. La Fig. 4.30 muestra las condiciones donde un patrĂłn puede ser detectado.
Fig. 4.30 Condiciones de luz ambientales. La correspondencia por patrones puede detectar el patrĂłn bajo cambios de luz uniformes.
CONDICIONES DE RUIDO El algoritmo por correspondencia tiene la habilidad de hallar el patrĂłn aĂşn si la imagen a analizar presenta ruido si esta fuera de foco. La Fig. 4.31 muestra las diversas condiciones de ruido donde se pude detectar el modelo de referencia.
Fig. 4.31 Condiciones de ruido donde es posible detectar el modelo de referencia. La correspondencia por patrones permite detectar un modelo en una imagen a pesar del ruido.
TÉCNICA DE CORRESPONDENCIA DE PATRONES Se basa en la correlaciĂłn normalizada, que es el mĂŠtodo mĂĄs comĂşn para encontrar el modelo en la imagen, se basa en series de multiplicaciones por lo que consume un tiempo considerable. Para incrementar la velocidad del proceso de correlaciĂłn, se reduce el tamaĂąo de la imagen y la regiĂłn de bĂşsque bĂşsqueda, da, es por esta razĂłn que es utilizada la detecciĂłn de piel, para incrementar la velocidad de la correspondencia y la imagen diferencial para obtener un bajo Ăndice de error de falsos positivos. Un modelo de referencia es una imagen formada de pixeles a pa partir rtir de la imagen a detectar, debido a que la mayorĂa de la imagen contiene informaciĂłn redundante, emplear toda la imagen consumirĂa tiempo considerable, para evitar esto se emplea un proceso de muestreo que incluye una detecciĂłn de bordes como indica la Fig. 4.32. El concepto de correlaciĂłn cruzada normalizada se refiere a considerar una subimagen w(x,y) de tamaĂąo KxL contenida en una imagen f(x,y) de tamaĂąo MxN donde K≤M y L≤N,, la correlaciĂłn entre w(x,y) y f(x,y) en un punto (i,j) es dada por la ecuaciĂłn 29 [NIVI05]. Â? > D, Â?! ∑‘ (29) 7ÂŽ ∑RÂŽ c , ]!_ - D, ] - Â?! 62 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
Fig. 4.32 Puntos tomados en el patrĂłn modelo para la detecciĂłn por correspondencia de patrones.
En donde i=0,1‌M-1; j=0,1‌N-1; y la sumatoria es tomada de la región en la imagen donde w y f se traslapen. La Fig. 4.33 indica el procedimiento de correlación, se asume que el origen de la imagen f se ubica a la izquierda superior, el proceso de mover el modelo o subimagen w alrededor del årea de la imagen computando el valor de C en dicha årea. Se debe de multiplicar cada pixel en el modelo por los pixeles de la imagen que la traslapen y sumar los resultados sobre todos los pixeles del modelo, el valor måximo de C indica la posición del mejor resultado de correlación.
Fig. 4.33 Procedimiento de la correlaciĂłn. El proceso de correlaciĂłn recorre la detecciĂłn de izquierda a derecha arriba hacia abajo.
El proceso de correlaciĂłn es muy sensitivo a cambios de amplitud en la imagen, como intensidad, por ejemplos i al intensidad de la imagen f es doblada, tambiĂŠn lo serĂĄn los valores de C. La sensibilidad puede omitirse si se utiliza la correlaciĂłn normalizada como indica la ecuaciĂłn 30: = D, Â?!
∑”•% V–— ’ 7,R! ’! X 7 8,R “! X 8,“!! %
%
˜•% $ $ $ $ ”•% ˜•% ‰∑”•% V–— ∑S–— ’ 7,R! ’! ‹ ‰∑V–— ∑S–— X 7 8,R “! X 8,“!! ‹
(30)
4.6.3 CLASIFICACIĂ“N DE LA DIRECCIĂ“N Y ENVĂ?O El proceso de correspondencia por patrones devuelve la posiciĂłn del gesto manual, la posiciĂłn es clasificada respecto a los lĂmites dados en la Fig. 4.27 como atrĂĄs, adelante, derecha, izquierda y alto. Posteriormente se envĂa la direcciĂłn propuesta a la IWs mediante el puerto serie de la computadora, configurado con 9600 baudios, COM1, sin paridad y 1 bit de stop como indica la Fig. 4.34. 4.7 CONTROL POR GESTOS FACIALES El control por gesto facial se utiliza si el usuario estĂĄ impedido en un grado mayor de sus extremidades superiores y no es posible utilizar el control por gestos manuales. El sistema de visĂłn mĂĄquina implementado controla mediante una posiciĂłn de la boca que activa la detecciĂłn de ojos, dependiendo que ojo este cerrado indicara la direcciĂłn propuesta de la IWs. La Fig. 4.35 muestra la posiciĂłn de la boca requerida 63 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
para controlar la silla IWs. La detección de gestos faciales es realizada mediante la detección de rostro, imagen diferencial, filtro morfológico de rechazo de borde, correspondencia de patrones y valor promedio de intensidad.
Fig. 4.34 Clasificación de la dirección. Se basa en su posición y la dirección clasificada se envía por el puerto serie.
4.7.1 DETECCIÓN DE ROSTRO La detección de rostro se implementó tomando en cuenta que el usuario esta frente a la webcam, con la cara descubierta (Fig. 4.5), por lo que el rostro es el circulo de piel mayor en la imagen como muestra la Fig. 4.36. En la sección 4.5 se detalló el detector de piel, para implementar el detector de círculos se trabaja a partir de la imagen binarizada de piel, los círculos son detectados mediante la función IMAQ CIRCLE [NIVI05], siendo el tamaño mínimo 40 y máximo 200 pixeles. La Fig. 4.37 muestra el proceso de detección y recorte de la imagen para obtener su imagen diferencial. El recorte de la imagen del rostro es importante porque permite la detección de gestos faciales mediante funciones morfológicas además de una detección rápida del gesto bucal debido a que no analiza toda la imagen como se detalló en la sección 4.6.2. El concepto de imagen diferencial y rechazo de bordes se utiliza en el recorte del rostro para eliminar datos de la imagen irrelevantes, como muestra la Fig. 4.38 después de obtener la imagen binarizada se umbraliza y se rechazan los pixeles que estén tocando el borde, debido a que los ojos, nariz y boca se hallan en el centro del rostro este método detecta los principales componentes para un gesto: ojos, nariz y boca. 4.7.2 DETECCIÓN DE GESTOS FACIALES La correspondencia por patrones es empleada para localizar el modelo de la boca abierta como muestra la Fig. 4.39 y devuelve la posición en la imagen recortada. La detección de los ojos se realiza basándose en la adición posición de la boca con un valor constante como muestra la Fig. 4.38. Se adiciona una constante para ubicar el ojo derecho de (9,-62) y (32,-62) para el ojo izquierdo, posteriormente se mide el valor promedio de la intensidad mediante la ecuación 11 de un cuadro de 25x16 por cada ojo, la Fig. 4.38 muestra la localización del gesto, los ojos y el cuadro que mide la intensidad. Dependiendo el valor del cuadro se clasifica como abierto o cerrado, mediante pruebas de error se determino que de 20 a 35 es el límite para un ojo cerrado. La clasificación de dirección por medio de los ojos y boca y el byte enviado se realiza mediante la Tabla 4.3. La silla Iwog es una opción viable cuando el 64 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
movimiento del usuario es mínimo, como el caso de pacientes con inmovilidad motriz tipo tetraplejia, sin embargo no todos los casos son iguales, existen pacientes que tienen movimiento tenue en sus extremidades superiores. Si el usuario impedido tiene movilidad en sus dedos, puede optar por un control gestual manual, debido a que se basa en la detección de un dedo no es necesario utilizar toda la muñeca que es precisamente su impedimento en el control por medio de joystick. Si el usuario no tiene suficiente movimiento en sus manos para realizar un gesto manual, puede optar por el control gestual facial, que implica movimiento mínimo por parte del usuario, ya que no mueve el cuello para lograrlos movimientos gestuales a diferencia otras IWs [KUNO05]. Las direcciones propuestas por el usuario se envían a la tarjeta de control que utiliza sus sensores en la dirección propuesta para sensar el camino y evitar un choque que ponga peligro la integridad física del usuario. Se han tomado en cuenta las diversas medidas de seguridad presentes en las sillas EPWs, como el control de velocidad, en el caso de la silla Iwog se logra mediante repeticiones de instrucciones que incrementan el PWM en la tarjeta de control ocasionando un efecto de aceleración-desaceleración para evitar que el usuario frene bruscamente. Las principales ventajas de la silla Iwog se basan en su control mediante el movimiento mínimo de gestos faciales ó manuales, puede ser utilizada por diversos usuarios, tiene una interfaz de control amigable y se apoya en diversos sensores para la navegación y toma de decisiones.
ATRÁS
ADELANTE
IZQUIERDA
DERECHA
Fig. 4.35 Control gestual. La boca abierta activa la detección de ojos dependiendo que ojos cual ojos se halle cerrado será la dirección propuesta.
A
B
Fig. 4.36 Área circular del rostro. La imagen captada por la webcam (A) se procesa para detectar la piel, el área circular más grande se asocia con la detección de un rostro (B). Tabla 4.3 Clasificación de la dirección mediante los ojos y boca. Boca Ojo derecho Ojo izquierdo Dirección No detectada X X Alto Detectada Abierto Abierto Adelante Detectada Abierto Cerrado Derecha Detectada Cerrado Abierto Izquierda
BYTE 0h 1h 2h 3h
65 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
Fig. 4.37 Etapas de la detección de rostro. Detección de piel en escala de grises, binarización, detección de círculos, segmentación, recorte de la imagen.
Fig. 4.38 Detección de gestos faciales. Imagen diferencial del recorte del rostro, binarización de la imagen diferencial y rechazo de bordes.
Fig. 4.39 Modelo para activación del control. El modelo utilizado para la correspondencia por patrones es la boca semiabierta como muestra la figura y permite activar el detector de ojos.
66 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
CAPÍTULO 5. RESULTADOS En este capítulo se presentan y discuten los resultados obtenidos de las diversas técnicas empleadas para el desarrollo de la Silla Iwog, como detección de piel en 5 espacios de color y el movimiento, detección de rostros mediante detección de círculos, detección de gestos faciales y manuales.
5.1 DESCRIPCIÓN DEL HARDWARE IMPLEMENTADO El hardware implementado se basó en los diagramas de los circuitos diseñados mostrados en las Fig. 3.3 y 3.9. La Fig. 5.1 y 5.2 muestran en vista frontal, reversa, derecha e izquierda la ubicación de las placas diseñadas así como la colocación de los diversos sensores de presencia, contacto y luz. A continuación se describe las diversas partes del hardware: 1. Antena.- Se utiliza para recibir la señal inalámbrica proveniente del módulo receptor de datos de la PC. 2. Respaldo del asiento. asiento.- Proporciona una ubicación para la pantalla LCD y diversos componentes electrónicos, su colocación es meramente visual en alevosía a una silla de ruedas. 3. Botón de emergencia. emergencia.- Al oprimir el botón de emergencia la silla Iwog se detiene y en el LCD exhibe la información acerca del paciente como indica la Fig. 5.4. 4. Sensor de luz (fotorresistencia). (fotorresistencia).- Su función es medir la cantidad de luz lu de forma puntual con el objetivo de enviar la información al PCB de control y encender/apagar las luces. 5. Sensor de presencia frontal derecho. derecho.- Su función es detectar algún objeto que pueda impactar con la silla del lado frontal derecho. 6. Sensor de presencia ia frontal izquierdo. izquierdo.- Su función es detectar algún objeto que pueda impactar con la silla del lado frontal izquierdo. 7. PCB de la etapa de potencia. potencia.- Su función es controlar mediante un PWM la velocidad de los motores. 8. Luz.- Iluminan el camino en caso de qu que e el ambiente se halle oscuro., de esta forma el usuario puede ver el camino con más facilidad. 9. Luz intermitente indicadora de dirección. dirección.- al igual que los vehículos, la silla Iwog cuenta con indicadores lumínicos intermitentes que indican la dirección a tomar. 10. Sensor de presencia frontal central. central.- Su función es detectar si no existe piso en la parte frontal y pueda causar que la silla caiga. 11. PCB de control de dirección e interconexión de sensores.sensores. Controla el flujo de información recibida de los diversos sensores, exhibe los mensajes de dirección en el LCD, recibe la información de la PC de forma alámbrica/inalámbrica. 12. LCD para exhibir mensajes. mensajes.- Es controlada por el PCB principal, su función es exhibir mensajes acerca de la dirección, estado de los sens sensores ores analógicos y digitales e información del usuario y pantalla de presentación. 13. Sensor de presencia reverso izquierdo. izquierdo.- Su función es detectar algún objeto que pueda impactar con la silla del lado reverso izquierdo.
67 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
14. PCB de recepción RS RS-232 inalámbrica.- Recibe la señal inalámbrica en 4 bits paralelos, el microprograma a bordo convierte estos datos a serial en base a l protocolo RS-232 232 de 8 bits rellenando el resto con lógica 0. 15. PCB de recepción de datos RS RS-232 alámbrico.- Recibe la señal de la computadora a por medio del protocolo RS RS-232, 232, mediante un interruptor se elige la señal a enviar a la placa principal, de esta forma puede recibir datos de forma inalámbrica/alámbrica sin cambiar el microprograma. 16. Sensor de presencia reversa central. central.- Su función es detectar tectar la ausencia de suelo en donde la silla pueda caer. 17. Luz intermitente indicadora de dirección. dirección.- Indica la dirección actual de la silla de ruedas en la parte reversa de la silla. 18. Sensor reverso derecho. derecho.- Su función es detectar la presencia de un objeto en la parte reversa derecha. 19. Interruptor de encendido/apagado. encendido/apagado.- Enciende/apaga el hardware de la silla Iwog. contacto.- Hacen una interrupción en el microcontrolador 20. Sensores de contacto. cuando existe un impacto.
Fig. 5.1 Vista frontal y reversa del hardware implementado. Los PCB del hardware diseñado se montaron sobre el prototipo silla Iwog,, entre las diversas características visibles se halla la incorporación de una pantalla LCD cuy cuya función es desplegar mensajes.
21. Buzzer.- Su función es indicar cu cuando ando el usuario está haciendo retroceder la silla. 22. Sensor de contacto reverso derecho. derecho.- Indica cuando la silla se ha topado con un obstáculo. 23. Descansa pies de la silla. silla.- en ella el usuario acomoda los pies, además sirve de base para el sensor frontal centr central al que detecta la ausencia de piso. 24. Sensor de contacto frontal izquierdo. izquierdo.- Indica cuando la silla se ha topado con un obstáculo. 25. Interconexión de sensores. sensores.- Parte de la palca principal donde se colocan todos los sensores utilizados en la silla Iwog.
68 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
21
26 23 22 24 25 Fig. 5.2 Vista lateral derecha e izquierda del hardware implementado. Los sensores de contacto se repartieron en la posición trasera y a los lados de la silla para detectar choques contra obstáculos.
5.2 ESCRITURA DE MENSAJES EN EL LCD Y DIRECCIÓN DE LA SILLA IWOG De acuerdo al diagrama de flujo en la Fig. 3.1 cuando la dirección es enviada por vía alámbrica/inalámbrica, la silla Iwog detecta si dicha dirección está libre de obstáculos, la dirección propuesta, final y estado de los sensores de presencia, luz y digitales son exhibidos en la pantalla de LCD así como información acerca del usuario. La Fig. 5.3 muestra la conexión a la PC de la silla Iwog para la interfaz humano-computadora humano por medio de gestos manuales y faciales. Cuando se enciende el hardware se obtiene el mensaje de presentación como indica la Fig. 5.4 A) el cual contiene el nombre del proyecto, nombre de institución de procedencia, nombre del asesor y del diseñador. Cuando se termina la presentación es posible obtener dos mensajes distintos, el primero es un mensaje de error 5.4 B) si el módulo Fig. 5.3 M1 no se halla conectado a la PC y no está transmitiendo; el segundo mensaje es de ALTO debido a que es la dirección por default antes de recibir un dato por primera vez en el caso que se halle el módulo inalámbrico transmitiendo la dirección a la silla Iwog. Al recibir la señal de dirección y considerando que no existe ob obstáculos stáculos cercanos, la silla Iwog incrementa su velocidad mediante el ciclo de trabajo k a los motores, el incremento es de forma cíclica mientras que se repita la misma dirección, de existir un cambio de dirección o un objeto detectado se reduce el ciclo de d trabajo. La pantalla LCD exhibe la dirección propuesta propuesta-final final como se muestra en la Fig. 5.5. La silla tiene 4 direcciones posibles: adelante, reversa, giro a la derecha y giro a la izquierda. Cuando se elige el movimiento hacia delante, ambos motores marchan mar en el mismo sentido (adelante) y con la misma señal PWM aplicada. Al elegir la dirección reversa los motores marchan en la misma dirección (atrás) y con la misma señal PWM. Si el movimiento propuesto por el usuario es un giro, dependiendo la dirección derecha o izquierda, cada motor gira contrario a sí mismo y con la misma señal PWM. La señal PWM no es el mismo nodo, sin embargo comparte el mismo ciclo de trabajo k por microprogramación. Si al recibir la señal de dirección se halla un obstáculo, entonces es la silla Iwog reduce su velocidad mediante el ciclo de trabajo k a los motores en ciclos mientras se repita el cambio de dirección. Al detectar un 69 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
objeto en adición a la reducción de velocidad se exhibe un mensaje en el LCD (Fig. 5.6), que indica el objeto donde fue detectado y que dirección llevaba la silla, de esta forma es posible determinar que sensores analógicos de presencia detectaron el obstáculo o la ausencia de suelo. Si la silla Iwog choca contra un obstáculo que no haya sido detectado previamente y es en la dirección propuesta del usuario, los sensores tipo bumper envían una señal de interrupción ocasionando que se detenga la silla y exhiba en la pantalla LCD la naturaleza del problema, de esta forma se determina que sensor se activo debido al choque.
M1
M2 M3 Fig. 5.3 Conexión de los diversos PCB y la PC. El módulo M1 se conecta a la PC por medio del protocolo RS-232, este módulo detecta cuando ha existido un cese de flujo de información.
A
B
C
Fig. 5.4 Pantalla de presentación. Al encender le hardware de la silla Iwog, la pantalla de presentación exhibe datos del proyecto
5.3 DETECCIÓN DE PIEL Los algoritmos de detección de piel son un método utilizado para segmentar y acelerar el procesamiento de la imagen llegándose a obtener respuestas incluso en milésimas de segundo dependiendo del equipo de cómputo y lo más destacado es que pueden funcionar en fondos complejos, esto es importante debido a que la IWs estará sujeta al usuario y el fondo al igual que los niveles de iluminación pueden variar. La Fig. 5.7 A) muestra una de las imágenes en color contenidas en la base de datos creada, se aprecia que fue tomada en luz ambiental (solar), con fondo 70 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C UR S O DE C R EA TI VI D A D
complejo, es decir, con fondo no uniforme, con diversos contrastes en el fondo y en la piel, con iluminación del sol (natural) en la piel.
Fig. 5.5 Mensaje en LCD de la dirección final. Una vez que se ha recibido la señal, la silla Iwog mediante su PCB principal de control determina si dicha dirección se halla libre de obstáculos, de estarlo se toma la dirección propuesta como real y se exhibe en pantalla la dirección de la silla.
Fig. ig. 5.6 Mensaje en LCD cuando aparece un obstáculo. Al ser detectado un obstáculo en la dirección propuesta, la silla Iwog se detiene y envía un mensaje al LCD para informar el error.
A
Fig. 5.7 Resultado de la umbralización en cada espacio de color. Cada espacio de color puede detectar la piel, sin embargo un espacio puede funcionar mejor que otro en diversas condiciones de luz.
La imagen de la Fig. 5.7 A) es sometida al algoritmo de d detección etección de piel utilizando 5 planos de color: RGB, HSV, HSI, HSL y YCbCr; cada plano detecta la piel en su propio espacio de color. Se observó que el espacio HSI puede detectar mejor los pixeles piel que los espacios restantes, aunque los espacios HSV y HSL H tienen un resultado my similar a HSI la diferencia entre la detección en HSI y HSV-HSL HSV es muy sutil, se puede apreciar en la frente de la persona de la imagen que se halla mas rellena de pixeles grises que en HSL y en la mano que toca la frente se halla mas rellena que en HSV. El cada plano del espacio RGB es en sí un color y depende directamente de la iluminación a diferencia del HSV, HSI, HSL que separa la iluminación del color; debido a esto comete más errores en la detección de pixeles piel en condición ión natural de luz, sin embargo puede detectar los pixeles piel de tono oscuro, aunque es un error en la detección de piel en la imagen 5.7 A) la puerta, se muestra que el espacio RGB es capaz de detectar tonos de piel oscuro. El espacio 71 C A P ACI D AD ES DI F E R E N T ES - S I L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
YCbCr tiene un rango más amplio de detección de pixeles-piel, en la imagen de la Fig. 5.7 correspondiente a su detección se observa la detección de los tonos más claros y oscuro, por lo que tiene un mejor relleno en área de pixeles-piel, esto se aprecia en la cabeza y las manos en la imagen, no obstante comete errores de falsos positivos en la parte inferior derecha de la imagen. La detección en cada espacio es realizado en paralelo y toma un promedio de 113 milisegundos, este resultado se estimó tomando en base la detección de video continuo de la webcam.
A
B
C
Fig. 5.8 Resultado del algoritmo de detección de piel. La suma de la detección de piel en los diferentes espacios produce una imagen en escala de grises.
Como se indico anteriormente en el proceso de detección de pixeles-piel se utilizan 5 espacios de color, más el movimiento y filtros morfológicos. Los pixeles considerados como fondo son todo aquello que no contenga piel incluyendo la ropa que porte la persona así como el escenario donde se halle esta. Las Fig. 5.8 A, B, C es obtenida a partir de la Fig. 5.7, debido a que es una imagen no continua de la base de datos solo se obtiene la piel usando 5 espacios de color. La suma de los 5 espacios da el resultado de una imagen en escala de grises de la misma dimensión que la original como la Fig. 5.8 A), los pixeles con tonalidad más clara tienen mayor probabilidad de ser pixeles piel, se observa que la región de las manos, brazos, cuello y rostro contienen pixeles blancos y agrupados en áreas que coinciden con áreas de piel de la Fig. 5.7 A). En la Fig. 5.8 A) en la esquina superior izquierda se aprecia que el fondo contiene pixeles de tonalidad oscura eliminando de la imagen original arboles, vehículo y parte del camino. En la esquina inferior izquierda de la misma figura contiene pixeles de color gris más claros, esto se debe a que cumplen con 2 espacio de color: RGB y YCbCr. Una vez obtenida la imagen a escala de grises que representa la suma de los 5 espacios de color y el movimiento (6to espacio), se tomó el criterio que debe de cumplir con al menos 5 espacios, la forma de realizar esto es mediante una operación de umbralización, el resultado de esta operación es la Fig. 5.8 B). Comparando la Fig. 5.7 A) y 5.8 B) se observa que la mayor parte de los pixeles-piel se hallan coloreados de blanco con el objetivo de realizar una máscara; la región de la cara contiene áreas rellenas de pixeles blanco con algunas partículas solitarias en la región de las mejillas, esto es debido a que en la imagen original los pixeles de dicha área tienen un color amarillo-crema que no caen dentro del histograma de espacios RGB, HSV, HSL, YCbCr de las Fig. 4.13 y 4.14. Los pixeles en el área correspondiente a las manos describen la ubicación de los pixeles piel a pesar de no estar completamente rellenas de pixeles blancos, esto se debe a que el contraste en la imagen original hace que los pixeles en dicha área aparezcan más claros. El fondo de la imagen contiene pixeles de color oscuro en la parte izquierda 72 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
aunque existen pixeles de color blanco estos son áreas reducidas y solitarias. La parte derecha de la imagen contiene una mayor porción de pixeles-piel falsos, esto se debe a que recaen en una porción del histograma con tonos pixeles-piel, sin embargo la forma que describen estos pixeles son líneas rectas muy delgadas que son eliminadas mediante el uso de filtros morfológicos. La Fig. 5.8 C) muestra el resultado del proceso de detección de piel, se utilizó filtros morfológicos para eliminar las partículas solitarias y líneas rectas de la Fig. 5.8 B) mediante operaciones de erosión y dilatación en diversos puntos del proceso como se detalló en el capítulo 4. La imagen obtenida es de tipo binario (0 negro y 1 blanco), esta se utiliza como máscara en la imagen original para suprimir el fondo (0 negro) y dejar los pixeles-piel. Cuando se implementa las funciones morfológicas con el resultado de la detección multiplano se incrementa el tiempo a 118 milisegundos. Al comparar las Fig. 5.8 C) y 5.8 B) se observa que no son iguales, la porción del escenario que no contiene pixeles-piel fue removida por el algoritmo, suprimió partículas solitarias ubicadas en la parte superior izquierda y derecha de la imagen, eliminó líneas delgadas y rectas en la parte derecha. La zona de la cabeza en la región de las mejillas y mano derecha fueron rellenadas completamente, sin embargo la mano izquierda a pesar de estar rellenada de pixeles-piel, se omitió un dedo debido a que portaba un anillo y separaba una parte del dedo muy pequeña y fue considerada como partícula solitaria por el algoritmo. La zona de la cabeza en la región de la frente se omitió pixeles-piel debido a que en la Fig. 5.8 B) no alcanza a cerrarse esa parte del rostro para efectuar el proceso de relleno, debido a que primero se remueven partículas esta brecha fue evidente para el resto del algoritmo y no fue posible rellenar dicha parte. Los ojos no son considerados piel, sin embargo aparecen en la imagen debido a que se encuentran rodeadas de áreas de pixeles-piel de gran tamaño y por ende fueron rellenados, el proceso de detección de piel tiene el propósito de apuntar donde se halla la piel para que el algoritmo de detección de rostro pueda detectar el rostro a partir de la localización de círculos en la imagen por lo que la detección u omisión de piel en los ojos es información irrelevante para el proceso de detección y clasificación de gestos faciales. La Fig. 5.9 A) es una imagen de fondo homogéneo, luz de oficina, de poco contraste, contiene el color naranja que tiene una cromancia parecida a la piel. La Fig. 5.9 C) es una imagen de fondo complejo y alto contraste, de iluminación natural y con color de piel morena clara.La Fig. 5.9 B) y D) muestran el resultado de la detección de piel de la Fig. 5.8 A) y C) respectivamente. En la Fig. 5.8 B) el fondo es omitido y ajustado a negro, la piel es segmentada mediante una máscara, se observa que el área del rostro que contiene los pixeles-piel se halla completamente rellenada, las cejas son omitidas así como el iris de los ojos y el cabello. La Fig. 5.8 D) el fondo es omitido y ajustado a negro, al comparar esta imagen con la original se observa que se omitió pequeñas porciones de piel respectivas al fondo de la imagen debido a que son áreas de reducido tamaño; la parte del cuello y rostro se hallan completamente rellenas y se ha omitido el cabello. El área superior del cabello donde toca la porción amarilla de la imagen, fue detectada como piel, este error se le atribuye a los filtros morfológicos de dilatación, sin embargo no afecta al proceso de detección de rostros porque la mayor porción de piel correspondiente al rostro es correcta. El área correspondiente al ojo se detectó como piel, sin embargo este error es despreciable porque el objetivo de la utilización de esta técnica es determinar donde se halla la mayor porción de piel. Las Fig. 5.10 A), C), E) y G) son imágenes 73 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
que no están contenidas en la base de datos, fueron obtenidas a través del internet y mediante la adquisición de fotos utilizando diversas cámaras: de celulares y digitales. Se utilizan estas imágenes debido a que presentan altos y bajos contrastes en el escenario, diferentes grados de iluminación por luz natural y de oficina, escenarios complejos y personas con diversos tonos de piel: blanca, morena, apiñonada y oscura. La Fig. 5.10 B) muestra el resultado de la detección de piel de la Fig. 5.10 A), se observa que el escenario es homogéneo y la tez de la persona es morena clara.
A
B
C
D
Fig. 5.9 Resultado de la detección de piel en imágenes de la base de datos. Las imágenes de la base de datos se procesan mediante el detector de piel considerando dos condiciones de iluminación.
En la Fig. 5.10 B) todo el fondo en azul ha sido ajustado a negro, la mayor parte de piel fue detectada en el rostro, aunque la nariz fue parcialmente ocluida debido a que la iluminación, grasa y sudor ocasiono que los pixeles en ella resultaran de color crema, el maquillaje sobre la mejilla derecha ocasiono que no se detectara dicha porción de piel, la mejilla izquierda a pesar de estar maquillada al estar rodeada por piel fue rellenada por los filtros morfológicos. La zona del pecho fue parcialmente ocluida debido a que los pixeles por valor individual recaen en zonas del histograma donde no existen pixeles piel. La Fig. 5.10 D) el fondo de la imagen se ajusto a negro, se omitió 4 personas en el escenario completamente y 2 se ocluyeron parcialmente debido a que presentaban áreas de piel reducidas. La piel de la persona al centro de la imagen fue detectada, elimino el pelo y la ropa de la persona, aunque la zona de la mejilla derecha se omitió ciertas regiones de piel fue debido a que la sombra en dichas zonas no estaba contemplada en la base de datos y fue eliminada por los filtros morfológicos.
A
B
C
D
Fig. 5.10 Detección de piel en imágenes no pertenecientes a la base de datos. La base de datos de imágenes contiene diversas tonalidades de piel, usadas en el entrenamiento, se probó el detector de piel en imágenes fuera de la base de datos obteniendo resultados favorables.
5.4 DETECCIÓN DE ROSTRO La detección de rostros se implementó localizando el círculo mayor de pixeles-piel en la imagen como muestra la Fig. 4.31, toma un tiempo de 120 milisegundos detectar 74 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
el rostro del usuario, por lo que la detección máxima es de 8 cuadros por segundo. La detección tiene éxito bajo diversas condiciones de luz de oficina, fondo complejo y tonos de piel, como lo indica la Fig. 5.11 La detección de rostros produce falsos positivos cuando la escena ó la webcam tiene una iluminación deficiente, que provoca que diversos pixeles se asemejen a los tonos de piel, el índice de FP bajo estas condiciones es de 48%, sin embargo bajo condiciones de luz de oficina los FP se reduce a 3%. El rostro se recorta de la imagen original, el tamaño del recorte es directamente proporcional a la distancia entre el usuario y la webcam, como muestra la Fig. 5.11. La Tabla 5.1 muestra el resultado de la detección de rostro, en diversas condiciones de luz y tonos de piel, tomando en cuenta que el usuario debe localizarse frente a la cámara sin importar si su rostro se halla parcialmente ocluido por cabello o mirando hacia otro lado. Se realizaron 500 pruebas en la base de datos de imágenes y 200 en imágenes diversas. La Fig. 5.11 muestra diferentes personas con tonos de piel distintos: oscura, morena, morena clara, apiñonada y blanca en escenarios complejos, homogéneos, con bajos y altos contrastes, con una sola persona en la imagen con el rostro no ocluido por cabello u otro objeto, se halla frente a cámara y no esta retirada de ella. La Fig. 5.11 A) y B) muestran la imagen tomada por una webcam, se halla la misma persona, en fondo homogéneo de bajo contraste con el rostro descubierto, en A) se halla frente a la webcam y en B) parcialmente volteando. El algoritmo puede detectar el rostro de forma correcta y recortarlo de la imagen original, se tomo la decisión de recortar el rostro para mejorar la velocidad de detección de los gestos correspondencia de patrones, al tener un área menor que inspeccionar es más rápido finalizar la búsqueda. 5.5 DETECCIÓN DE GESTOS MANUALES La detección por gestos manuales se realiza mediante la localización de un modelo utilizando la correspondencia por patrones, esta devuelve la posición del gesto en coordenadas x, y. El tiempo de respuesta varía dependiendo del ángulo de contracción, la Tabla 5.2 muestra los resultados de la detección, los tiempos son dados en milisegundos, se observa que el tiempo promedio de detección es de 137.8 ms, se clasifica un gesto correcto como TP e incorrecto como FP.
A
B
Fig. 5.11 Ejemplos de detección de rostro en fondo complejo y diversos tonos de piel. La detección de rostros es un proceso que le indica al sistema de visión máquina donde localizar los gestos faciales, el sistema implementado detecta el rostro de una persona en diversas condiciones de luz, inclusive en fondos complejos.
5.6 DETECCIÓN DE GESTOS FACIALES El resultado de la detección y clasificación se muestra en la Fig. 5.13, se observa la ventana de detección del rostro y posteriormente la boca y ojos detectados. El tiempo que tarda esta operación es similar a la detección de gestos manuales. La Tabla 5.3 75 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
muestra el resultado de la detección de gestos faciales basado en tomas de imágenes captadas por la cámara web. Tabla 5.1 Resultado de la detección de rostro en diversas condiciones de luz.
Iluminación webcam OSCURA NORMAL SATURADA
sobre
la TP
FP
PORCENTAJE ACIERTOS 504 186 72% 679 21 97% 420 280 60%
% Tiempo (ms) 128 121 130
promedio
Tabla 5.2 Resultado de la detección de gestos manuales. Estos resultados son tomados de una secuencia de video tomado por la cámara web.
Ángulo de contracción -30 -20 -10 +10 +20 +3’
TP 88% 90% 95% 96% 91% 87%
FP 12% 10% 5% 4% 9% 13%
Tiempo promedio (ms) 140 135 126 128 134 143
La webcam captura una secuencia de imágenes en una escena compleja, con escenario en alto contraste (en piel y fondo), con un solo rostro y descubierto. A partir de la secuencia de imágenes se detecta la piel creando una imagen en escala de grises (primera toma de la interfaz del usuario), posteriormente se detectan los círculos de la imagen y se elige el mayor que representa el rostro. El rostro es recortado de la imagen original antes de realizar la correspondencia por patrones normalizada, el patrón a localizar es la boca abierta que activa la detección de ojos. Mediante el concepto de imagen diferencial y filtros morfológicos es posible aislar los ojos y boca. La Tabla 5.3 muestra el resultado obtenido de la clasificación de dirección mediante gestos faciales en una secuencia de imágenes. Tabla 5.3 Resultado de la detección de gestos faciales. Estos resultados son secuencia de video tomado por la cámara web. Detección de Detección de ojo derecho Detección de ojo labios abierto/cerrado izquierdo abierto/ cerrado TP 94% 82% 84% FP 6% 12% 16%
tomados de una Tiempo promedio (ms) 148 143
Se observa que utilizando la correspondencia por patrones se obtienen un promedio de falsos positivos de 6%, sin embargo los falsos positivos del proceso de clasificación de dirección aumenta a 16% cuando se detectan los ojos, esto se debe que la clasificación de abierto o cerrado es realizado por un histograma, es necesario implementar una forma más eficiente de clasificación en esta sección del proceso. A pesar del 16% de falsos positivos los verdaderos positivos tienen un 84% de éxito en la clasificación de dirección, se utilizó filtros en el hardware para obtener una dirección estable por método de repeticiones del mismo byte enviado, de esta forma el efecto visible en la dirección de hardware es estable.
76 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
CONCLUSIONES Todas las personas tenemos necesidades diferentes y por ende diversas dificultades al operar un mismo instrumento, por ejemplo las personas diestras pueden utilizar una libreta en un pupitre cómodamente, sin embargo una persona zurda debe adoptar una posición adecuada para escribir. Las personas con discapacidad del tipo motriz también tienen este tipo de dificultades adicionadas con su impedimento, por lo que es necesario aplicar los principios de Diseño Universal en su Tecnología Asistida. Las sillas de ruedas son dispositivos que permiten el traslado del paciente de forma autónoma o asistida, siendo más comunes las sillas mecánicas ó NWs, sin embargo limitan su uso a pacientes con fuerza en sus miembros superiores. Las sillas eléctricas ó EPWs cuentan con un joystick y un sistema eléctrico-electrónico para control de movimiento, no obstante limitan el uso de las EPWs a pacientes con movilidad en su muñeca limitando su uso a los pacientes con tetraplejia. Las sillas inteligentes ó IWs adoptan formas de control diversas con el fin de minimizar el esfuerzo que debe de realizar el usuario, dichos controles pueden ser por medio de audio o video. El principal problema de adoptar le audio como forma de control es el ruido ambiental y la correcta detección si la IWs es operada por diversos usuarios. El control por video mediante sistemas de visión artificial abre la posibilidad que la silla “vea” al usuario y detecte la dirección deseada, trabajos previos han establecido un control mediante el rostro, sin embargo el paciente con tetraplejia no puede optar por este control debido a su falta de movimiento de los músculos del cuello. La silla Iwog propone la forma de control por video mediante la detección de gestos faciales ó manuales dependiendo del movimiento del usuario, de esta forma el paciente con tetraplejia puede hacer uso de la IWs para transportarse de forma autónoma. Mediante el uso de diversos sensores de presencia, choque y luminosidad microcontrolados por un PIC se determina si la dirección propuesta por el usuario es factible y libre de obstáculos para el recorrido. El algoritmo utilizado para la detección y clasificación de gestos faciales/manuales hace posible el uso de una tarjeta embebida para optimización de costos, adicionado con el uso de microcontroladores es posible economizar la silla IWs Iwog. El proceso completo desde la toma de imágenes hasta la detección y clasificación de gestos manuales/faciales permite trabajar desde 7 a 8 cuadros por segundo, lo cual es conveniente para el control debido a que debe de “ver” todo el tiempo al usuario. Las Olimpiadas Paraolímpicas son un claro ejemplo de la tenacidad, ganas por vivir y salir adelante de las personas con discapacidades, por lo que las sillas IWs abren el camino para que los pacientes con movilidad casi nula puedan realizar diversas actividades que antes consideraban imposibles y es por ello que debemos esforzarnos por llevar el Diseño Universal a la Tecnología Asistida.
77 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
REFERENCIAS [ALAU05] J.M. Alaubierre et al, “Silla de ruedas inteligente controlada por voz”, Primer Congreso Internacional de Domótica, Robótica y Teleasistencia para todos, 2005 Fundación ONOE. [ASIM42] Asimov, Isaac, “Isaac Asimov presents the great DAW books”, Awesome Books, Berkshire, United Kingdom 1942. [BRAN00] Brand J. and Mason, “A comparative assessment of three approaches to pixel level human skin-detection”, International conference on pattern recognition, Vol, 1. 1056-1059, 2000. [CAPE21] Capek, Karel, “R.U.R. (Rossum’s Universal Robot)”, Editorial Aventinum, Prague, 1921. [CHAI03] D. Chai amd K. N. Ngan, “Face segmentation using skin colour map in videophone applications”, IEEE Transactions video/image processing and multimedia communications, Croatia, 2003. [CHAK88] Wylie EJ, Chakera TM, “Degenerative joint abnormalities in patients with paraplegia of duration greater than 20 years”, Paraplegia 1988;26:101–6. [COOP07] Rony A. Cooper et al “An introduction to rehabilitation enginering”, Taylor & Francis, ISBN AM 8493 -7222 -3, 2007. [DIED02] Diedrik Marius, “Face detection using color thresholding and eigenface template matching”, Standford University USA, 2002. [DOMI01] Domingo, Juan, “Robótica: Apuntes para la asignatura”, Módulos optativos para Ingeniería Electrónica e Informática, Universidad de Madrid, 2001. [FRIS07 ] Dr. Robert Frischholz, “The Face Detection Homepage”, http://www.facedetection.com/ [GASP06] Francesca Gasparini et al, “Skin segmentation using multiple thresholding”, Proceeding of SPIE DISCO, Milano Italia, 2006. [GONG05] Shaogan Gong, “Dynamic vision: from images to face recognition”, Imperial college press, 2005. [GONZ01] Gonzalez C. Rafael, Woods E. Richard, “Digital Image ProcessinG Segunda Edición”, Prentice hall, Estados Unidos, 2001. [GONZ02] Rafael C. Gonzalez, Richard E. Woods, “Digital Image processing”, Prentice hall, 2002. [GUTI93] Richard Gutiérrez, Scott Gardner, Julie Steward, “Problemas de las articulaciones”, p.2. Universidad de Kansas Research & Training Center on Independent Living, Serie A - No.5, 1993. [HSIE02] I-S Hsieh et al, “A static approach to the detection of human faces in color nature scene” Pattern recognition 35, 2002. [HSUA01] Ming-Hsuan Yang, Narendra Ahuja, “Face detection and gesture recognition for human computer interaction”, Kluwer Academic Publishers, USA, 2001. [IMAQ04] “Imaq visión for LabVIEW user manual”, National Instruments, USA, 2000 to 2004. [INEGI04] INEGI “Las personas con discapacidad en México: una visión censal”, 2004. ISBN 970-13-3690-Z, www.inegi.gob.mx [JONE00] Michael J. Jones et al, “Statical color models with application to skin detection”, Compaq computer corporation, Cambridge 2000. [JORDA07] Jordan L. “A head gesture recognition for hands-free control of an intelligent wheelehair”, Industrial robot: An Internacional journal, 2007. [KANE01] Kanefsky, B., Barlow, N. G., Gulick, V. C.: “Can distributed volunteers accomplish massive data analysis task?”, Lunar and Planetary Science XXXII, paper 1272 (2001). [KOVA03] J. Kovac, P. Peer and F. Solina, “2D versus 3D colour space face detection”, 4th EURASIP Conference on Video/Image Processing and media Communications, Croatia, 2003. [KUNO05] Kuno, Y.T Murashima N. Shimada and Y. Shirai (2000), “Interactive gesture interface for Intelligent Wheelehair”, The llth Annual conference of the chiner Automation and Computing Society in the UK (CACSUKOS), Sheffield, Uk 10 September 2005. [KUNT03] Kuntal Sengupta et al, “Computer visión games using a cheap (<100$) webcam”, Department of electrical and computer engineering, A Computer Vision and Hearing Based User Interface for a Computer Game for Children, springerlink, 978-3-540-00855-2, 2003 [LEYG93] Cámara de Diputados del H. Congreso de la Unión, Última Reforma DOF 04-01-2005, Nueva Ley Publicada en el Diario Oficial de la Federación el 13 de julio de 1993 [MENS00] Menser, B., and Wien, M., “Segmentation and tracking of facial regions in color image sequences” In Proc. SPIE Visual Communications and image processing, 2000, 731-740. [NIVI05] NI VISION, “ni vision: imaq vision concepts manual”, National Instruments., USA 2005. [NIXO02] Nixon S. Mark, Aguado S. Alrberto, “Feauture extraction and image processing”, Editorial Planta Tree, primera edición, Inglaterra, 2002. [ORDE97] Michael Orden et al, “Pedesterian detection using wavelet templates” CBCL and AI Lab, MIT, Cambridge, CVPR , USA, 1997. [RIVA07] J. I. Rivalcoba Rivas, Rubén Posada Gómez, “Diseño de un sistema de reconocimiento automático de signos de la clase emblemática mediante técnicas de visión por computadora”, Tesis de postgrado, Departamento de Posgrado e investigación, Instituto Tecnológico de Orizaba, Orizaba, Veracruz, México, 2007. [SEBE05] N. Sebe, Ira Cohen, Ashutosh Garg, Thomas S. Huang, “Machine Learning in Computer Vision ”, Editorial Springer, New york, 2005. [SERRA05] Humberto Serrano-Villalta an Jhon Spletzer, “Vision-based Control, Fa Smart Wheelchair for the automated Transport and Retrieval system (ATRS)” Department of Computer Sciense and Ingineering Lehigh University, 2005 [SING03] Sanjay Kr. Singh et al, “A robust color based face detection algorithm”, Department of computer science and engineering and technology, India, 2003 [STAN04] Stan Z. la et al, “Handbook of face recognition”, Springers, ISBN0-387-40595-X, 2004 [STAR00] Thad Starner and Alex Pentland, “Visual Recognition of American Sign Language Using Hidden Markov Models”, Perceptual Computing Section, The media Laboratory. MINCO Application Aid #18, 861006-2, Minco 08/17/2000.
78 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
[TRAH97] Trahanias, P.E. and et al; “Navigational support robotic wheelchair platforms: an approach that nombines vision and raige sensors” Proceedings of the 1997 IEEE International Conference on Robotics and Automation, Albugrege, NM 126S70. [TSEK98] S. Tsekeridou and Pitas, “Facial feature extraction in frontalviews using biometric analogies”, Proc, of the IX European signal processing conference, vol 1, 1998. [USAT02] Angulo Usategui José Ma., Angulo Martínez Ignacio, “Microcontroladores PIC: diseño practico de aplicaciones” Editorial Mc Graw Hill, Segunda edición, España, 2002. [VANH03] Dirk Vanhooydonck et al “Shared Control for Intelligent Wheelchairs: an Implicit Estimation of the User Intention”, Proceedings of the ASER 2003, 1st International Workshop on advances in Service Robotics, Bardolino, Italy, March 1315,2003 [VEZH03] Vladimir Vezhnevets, “A survey on Pixel-based skin color detection techniques”, 13th International Conference on the computer Graphics and vision, Graphic and media laboratory, Moscow Rusia, 2003. [WECH07] Harry Wechsler, “Reliable face Recognition Methods: System Design, implementation and evaluation”, Edit. Springer, ISBN-13: 978-0-387-22372-8, , USA, 2007. [YANG02] Yang, M. H. “Detecting faces in images: a survey”, IEEE transaction on pattern analysis and machine Intelligence, 2002. [YIBI04] Ying Yibin, “Real-time fruit size inspector based on machine vision”, Nondestructive Sensing for Food Safety, Quality, and Natural Resources. Edited by Chen, Yud-Ren; Tu, Shu-I. Proceedings of the SPIE, 2004SPIE.5587..262G, Volume 5587, pp. 262-269 (2004)
CURRÍCULUM VITAE SANCHEZ MEDEL LUIS HUMBERTO DIRECCIÓN: CALLE ICAZO # 1294 Col. Formando Hogar Veracruz, VER. Teléfonos: 229-934-69-63, 2291-527-123 Correo electrónico: lsmedel@gmail.com FORMACIÓN ACADÉMICA: • INSTITUTO TECNOLÓGICO DE VERACRUZ ING. EN ELECTRÓNICA • INSTITUTO TECNOLOGICO DE ORIZABA MAESTRÍA EN CIENCIAS EN INGENIERÍA EN ELECTRÓNICA
JOSÉ JORGE ENRIQUE RODRÍGUEZ DIRECCIÓN: Avenida Azteca No. 39 Col. Emilio Carranza Nogales Ver. Teléfonos: 271-116-77-09 Y 271-71-48-O91 Correo electrónico: ejorge19@hotmail.com FORMACIÓN ACADÉMICA: • INSTITUTO TECNOLÓGICO DE ORIZABA ING. EN ELECTRÓNICA • INSTITUTO TECNOLÓGICO DE ORIZABA MAESTRÍA EN CIENCIAS EN INGENIERÍA EN ELECTRÓNICA
79 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG
X X I I I C ON C URS O DE C R EA TI VI D A D
DR. RUBÉN POSADA GÓMEZ DIRECCIÓN: Andador Manuel Santibáñez No. 11ª, U.H. Fidel Velásquez, Orizaba, Ver. Teléfonos: (272)-72-4-64-24 Correo electrónico: pgruben@yahoo.com, pgruben2@hotmail.com
FORMACIÓN ACADÉMICA: SUPERIOR: INSTITUTO TECNOLÓGICO DE ORIZABA ING. EN ELECTRÓNICA TÍTULO MAESTRÍA: CENTRO DE INVESTIGACIÓN Y DE ESTUDIOS AVANZADOS DEL IPN (CINVESTAV) MÉXICO. DEPARTAMENTO DE ING. ELÉCTRICA, SECCIÓN DE BIOELECTRÓNICA DOCTORADO: INSTITUD NACIONAL POLYTECHNIQUE DE LA LORRAINE (INPL), NANCY,FRANCIA ENSEM, CRAN. GRUPO DE INGENIERÍA PARA LA SALUD POSTDOCTORADO: CENTRO REINVESTIGACIÓN EN MATEMÁTICA. (CIMAT),GUANAJUATO, GTO. ÁREA DE CIENCIAS DE LA COMPUTACIÓN, INVESTIGACIÓN: IMÁGENES MÉDICAS
DR. HUGO GAMEZ CUATZIN FORMACIÓN ACADÉMICA: SUPERIOR: INSTITUTO TECNOLÓGICO DE ORIZABA ING. EN ELECTRÓNICA TÍTULO MAESTRIA: M.C. ING. ELECTRÓNICA, CINVESTAV IPN DOCTORADO DOCTOR EN CIENCIAS INSA DE LYON (FRANCIA)
80 C A P ACI D AD ES DI F E RE N T ES - SI L L A I W OG