Entrades classificades amb: Clustering

Aplicació d’Intel·ligència Artificial en el reconeixement de la Llengua de signes catalana

Leer en castellano
Read It in English

En aquesta entrada s’explica breument la recerca realitzada per estudiar mecanismes per al reconeixement de la llengua de signes a partir d’imatges.

Aquest projecte es va plantejar degut a que des del CCI es vol potenciar la utilització de la intel·ligència artificial per aconseguir beneficis en àmbits relacionats amb la salut. En una societat on cada dia s’aposta més per la integració de les persones amb discapacitat i on la tecnologia cada dia és més present, es considera que cal cercar formes d’aprofitar-la per aquest fi.

En aquest projecte a més d’estudiar les possibilitats en l’àrea del reconeixement de la llengua de signes, es va realitzar una eina per facilitar l’aprenentatge i la millora en l’ús de la llengua de signes catalana (LSC). Aquesta eina permet fer una demostració d’una de les possibles aplicacions que podria tenir aquest algoritme. Addicionalment podria tenir moltes altres aplicacions, com per exemple un traductor per mòbils amb càmera que permetés la comunicació amb persones no familiaritzades amb la LSC.

Un dels punts claus en un sistema de reconeixement d’imatge és el sistema de captura d’aquestes. La tecnologia escollida és el dispositiu Kinect desenvolupat per Microsoft mitjançant el qual es capturen els signes duts a terme per l’usuari. El procés de captura es duu a terme utilitzant la càmera de profunditat que inclou Kinect. A més de capturar la profunditat, gràcies a la càmera d’infrarojos permet una major independència de la il·luminació disponible tant en la captura d’imatges d’entrenament com en la fase d’explotació.

Quan Kinect retorna la imatge de profunditat, imatge on es representa la profunditat amb diferents colors, aquesta es binaritza. Aquest procés consisteix en que si el valor d’un píxel supera el llindar el píxel serà d’un color (blanc o negre) i si no el supera serà de l’altre color. D’aquesta manera es pot separar les mans del fons.

Posteriorment la imatge binaritzada ha de passar un sistema de preselecció que s’encarrega de descartar les lletres que no coincideixin en orientació i nombre de vèrtexs amb la imatge d’entrada.

Després de la preselecció s’inicia l’algoritme d’agrupament Knn sobre les lletres preseleccionades, aquest algoritme utilitza dos paràmetres que són l’àrea de la mà segmentada en quatre porcions i el perímetre de la mà. L’algoritme Knn determina la lletra que ha realitzat l’usuari, comparant el valor dels dos marcadors de la mostra realitzada per l’usuari amb les mostres d’entrenament que té l’aplicació.

A la següent imatge es representa de forma resumida aquest procés.

L’algoritme de clustering Knn consta de dues parts. Prèviament a la fase d’explotació del algoritme es necessari realitzar una fase d’entrenament en la que es defineixen els clústers que corresponen a cadascuna de les lletres.

Per generar aquests clústers es proporciona a l’algoritme un conjunt d’imatges de mostra  etiquetades amb la lletra a que es corresponen. Les mostres d’entrenament són imatges dels signes realitzades per un grup de persones de diferents edats, sexes i races. En base a l’àrea segmentada de la mà i el perímetre d’aquesta es situen les mostres en l’espai formant els diferents clústers.

En la fase d’explotació inicialment es calcula el valor dels marcadors de la mostra a reconèixer per poder situar la nova mostra dins l’espai de mostres d’entrenament.

A continuació es calcula la distància euclidiana de la mostra a reconèixer amb totes les mostres d’entrenament utilitzant els valors dels marcadors dividits entre la seva variança per tal d’igualar el seu pes. Es necessari dividir els marcadors entre la variança per evitar que els de major variabilitat tinguin un pes major a l’algoritme.

Seguidament cal obtenir el conjunt de les K mostres d’entrenament amb major similitud i determinar quina lletra té un major nombre d’ocurrències. La lletra predominant és el resultat del reconeixement. Es a dir s’obté les mostres que estan més properes en l’espai a la imatge que es vol reconèixer, suposant que aquestes pertanyen a la mateixa lletra.

Per últim el procés de Knn es repeteix 25 vegades per signe, a partir de 50 imatges del signe realitzat, agafades no consecutivament per reduir l’efecte de possibles errors de captura. A aquestes 25 imatges es comprova que com a mínim hi hagi una lletra que hagi estat seleccionada pel Knn més cops que el valor definit pel marge d’acceptació, en cas contrari s’informa que el reconeixement ha fallat. El valor òptim del marge d’acceptació s’ha considerat de quinze, mitjançant proves empíriques amb diferents persones utilitzant l’aplicació.

Llegir en català
Read It in English

En esta entrada se explica brevemente la investigación realizada para estudiar mecanismos para el reconocimiento de la lengua de signos a partir de imágenes.

Este proyecto se planteó debido a que desde el CCI se quiere potenciar la utilización de la inteligencia artificial para conseguir beneficios en ámbitos relacionados con la salud. En una sociedad donde cada día se apuesta más por la integración de las personas con discapacidad y donde la tecnología cada día es más presente, se considera que hay que buscar formas de aprovecharla por este fin.

En este proyecto además de estudiar las posibilidades en el área del reconocimiento de la lengua de signos, se realizó una herramienta para facilitar el aprendizaje y la mejora en el uso de la lengua de signos catalana (LSC). Esta herramienta permite hacer una demostración de una de las posibles aplicaciones que podría tener este algoritmo. Adicionalmente podría tener otras muchas aplicaciones, como por ejemplo un traductor para móviles con cámara que permitiera la comunicación con personas no familiarizadas con la LSC.

Uno de los puntos claves en un sistema de reconocimiento de imagen es el sistema de captura de estas. La tecnología escogida es el dispositivo Kinect desarrollado por Microsoft mediante el cual se capturan los signos llevados a cabo por el usuario. El proceso de captura se realiza utilizando la cámara de profundidad que incluye Kinect. Además de capturar la profundidad, gracias a la cámara de infrarrojos permite una mayor independencia de la iluminación disponible tanto en la captura de imágenes de entrenamiento como en la fase de explotación.

Cuando Kinect devuelve la imagen de profundidad, imagen donde se representa la profundidad con diferentes colores, esta se binariza. Este proceso consiste en que si el valor de un píxel supera el umbral definido el píxel será de un color (blanco o negro) y si no lo supera será del otro color. De este modo se puede separar las manos del fondo.

Posteriormente la imagen binarizada tiene que pasar un sistema de preselección que se encarga de descartar las letras que no coincidan en orientación y número de vértices con la imagen de entrada.

Después de la preselección, se inicia el algoritmo de agrupamiento Knn sobre las letras preseleccionadas, este algoritmo utiliza dos parámetros que son el área de la mano segmentada en cuatro porciones y el perímetro de la mano. El algoritmo Knn determina la letra que ha realizado el usuario, comparando el valor de los dos marcadores de la muestra realizada por el usuario con las muestras de entrenamiento que tiene la aplicación.

En la siguiente imagen se representa de forma resumida este proceso.

El algoritmo de clustering Knn consta de dos partes. Previamente a la fase de explotación del algoritmo es necesario realizar una fase de entrenamiento en la que se definen los clústeres que corresponden a cada una de las letras.

Para generar estos clústeres se proporciona al algoritmo un conjunto de imágenes de muestra etiquetadas con la letra a que se corresponden. Las muestras de entrenamiento son imágenes de los signos realizadas por un grupo de personas de diferentes edades, sexos y razas. En base al valor del área segmentada de la mano y el perímetro de esta se sitúan las muestras en el espacio formando los diferentes clústeres.

En la fase de explotación inicialmente se calcula el valor de los marcadores de la muestra a reconocer para poder situar la nueva muestra dentro del espacio de muestras de entrenamiento.

A continuación se calcula la distancia euclídea de la muestra a reconocer con todas las muestras de entrenamiento utilizando los valores de los marcadores divididos entre su varianza para igualar su peso. Es necesario dividir los marcadores entre la varianza para evitar que los de mayor variabilidad tengan un peso mayor en el algoritmo.

Seguidamente hay que obtener el conjunto de las K muestras de entrenamiento con mayor similitud y determinar qué letra tiene un mayor número de ocurrencias. La letra predominante es el resultado del reconocimiento. Es decir se obtiene las muestras que están más cercanas en el espacio a la imagen que se quiere reconocer, suponiendo que estas pertenecen a la misma letra.

Por último el proceso de Knn se repite 25 veces por signo, a partir de 50 imágenes del signo realizado, cogidas no consecutivamente para reducir el efecto de posibles errores de captura. En estas 25 imágenes se comprueba que como mínimo haya una letra que haya sido seleccionada por el Knn más veces que el valor definido por el margen de aceptación, en caso contrario se informa que el reconocimiento ha fallado. El valor óptimo del margen de aceptación se ha considerado de quince, mediante pruebas empíricas con diferentes personas utilizando la aplicación.

This post is only available in Catalan and Spanish:
Llegir en català (Read it in Catalan)
Leer en castellano (Read it in Spanish)

Aplicació d’Intel·ligència Artificial en l’anàlisi de dades genètiques

Leer en castellano

En aquesta entrada us presento els primers resultats de la recerca feta amb la Universitat Oberta de Catalunya, en el Màster en Enginyeria Informàtica, i en la qual seguim treballant per ampliar els resultats obtinguts. Aquest treball és una aportació al projecte SUMMIT (Salut en les UltraMaratons i els seus líMITs), que té la finalitat de determinar si la població que practica exercici de llarga durada i alta intensitat té més risc sobre la salut que la sedentària i/o la moderadament activa.

El treball consisteix en l’anàlisi de dades genètiques; concretament s’analitza la incidència de l’esforç d’alta intensitat en la generació de lncRNA (long non-coding RiboNucleic Acid), aplicant tècniques d’Intel·ligència Artificial (IA). Els gens estan formats per segments d’ADN (Àcid Desoxiribonucleic) i ARN (Àcid Ribonucleic), els lncRNA són un tipus d’ARN força desconegut i que estudis recents estan relacionant amb l’aparició de malalties degeneratives, oncològiques i amb l’envelliment en general. L’objectiu del projecte és obtenir resultats que permetin conèixer millor aquest tipus d’ARN, ja que no té una funció clara identificada.

Per assolir aquest objectiu s’han usat tècniques de Machine Learning no supervisat, és a dir que no es comptava amb un conjunt de dades d’entrenament ni de validació perquè no existeix. I s’han aplicat a dades reals obtingudes pel projecte SUMMIT. D’entre la informació recollida, s’han utilitzat els nivells d’expressió de 28 mostres preses a una travessa per la muntanya de més de 80 km, entre les quals hi ha:

  • 16 mesures fetes abans de la travessa i 12 després.
  • 8 dones i 20 homes.
  • Mostres de persones que han completat diferents distàncies de la cursa.
  • 18 persones actives (entre 3 i 10 hores d’esport setmanals) i 10 elit (més de 10).

I de cadascuna es compta amb el nivell d’expressió de més de 53.600 probesets (proteïnes, ARN, etc.).

L’expressió genètica és el procés pel qual la informació d’un gen s’utilitza en la síntesi d’una molècula d’ARN o d’una proteïna. El nivell d’expressió és diferent per cada cèl·lula, de manera que el seu estudi permet comparar cèl·lules malaltes i sanes, amb medicació o sense, amb diferents condicions d’estrès, etc.

La imatge següent mostra els nivells d’expressió d’una de les mostres utilitzades:

Les fites concretes del treball són:

  • Analitzar la incidència de determinades característiques pròpies de l’esforç d’alta intensitat, com la distància recorreguda, el moment de la travessa o el grup d’activitat, en la generació de proteïnes i lncRNA.
  • Correlacionar nivells d’expressió de proteïnes i de lncRNA.
  • Relacionar proteïnes altament correlacionades amb el pathway (conjunts de proteïnes que treballen plegades per dur a terme una acció biològica) de la Glucosa, per analitzar la incidència que hi puguin tenir els lncRNA.

Per assolir-les s’han treballat les fases següents:

Tractament de les dades: Recerca de BBDD, integració de les dades i homogeneïtzació, filtratge, normalització, inclusió de metadades, etc. Amb aquesta fase s’han reduït els 53.617 probesets a 1.200 proteïnes i 8.656 lncRNA de manera que es passa a treballar amb 28 mostres i 9.856 probesets cadascuna.

Agrupació: Agrupament dels nivells d’expressió fent prèviament un anàlisi de components principals (algoritme PCA – Principal Component Analysis) i usant l’algoritme PAM (Partitioning Around Medoids) per agrupar en 2 i 3 clústers. S’han agrupat els nivells d’expressió de totes les mostres (barreja) i s’han comparat amb els agrupaments dels nivells d’expressió per cada característica (homes, dones, elit, actius, abans i després de la cursa, etc.).

Correlació de Pearson: Separació dels nivells d’expressió de proteïnes dels de lncRNA i càlcul de correlacions entre ambdós conjunts (de totes les proteïnes amb tots els lncRNA).

Anàlisi de components independents: Filtratge dels nivells d’expressió de proteïnes involucrades al pathway de la Glucosa i correlacionades amb lncRNA. Aplicació de l’algoritme ICA (Independent Component Analysis) per construir un model dels nivells d’expressió amb les diferents característiques i aplicació d’un test hipergeomètric per analitzar la incidència de les proteïnes al model.

Resultats obtinguts:
L’anàlisi PCA indica que els nivells d’expressió amb major variabilitat són els de la característica distància superior a 60km i els més homogenis els del moment de la cursa PRE.

Les agrupacions, i el seu anàlisi, indiquen que les característiques amb més incidència en la generació de proteïnes i lncRNA són les distàncies inferior a 40 km i superior a 60 km i el moment de la cursa abans i després. Les imatges següents mostren els agrupaments en 3 clústers fets per distància i els de la barreja:

En el càlcul de la correlació de Pearson entre les proteïnes i els lncRNA filtrats, s’ha trobat un nombre elevat de proteïnes correlacionades amb els lncRNA, la qual cosa pot permetre investigar el paper dels lncRNA en les funcions de les proteïnes correlacionades, prioritzant els que han obtingut millor resultat (correlació més propera a 1).

En l’anàlisi ICA i el test hipergeomètric s’han trobat forces resultats amb alta correlació entre les proteïnes del pathway de la Glucosa i els lncRNA però no s’han trobat diferències estadísticament significatives de la incidència de les diferents proteïnes al model construït. Aquest resultat implica que no s’han trobat indicis que cap proteïna, per si sola, té més incidència al model que la resta. I, de retruc, tampoc cap lncRNA correlacionat amb aquestes proteïnes del pathway.

Actualment seguim treballant per ampliar els resultats obtinguts, replicar-los i afinar-los.

Si voleu més informació sobre el treball que s’està realitzant podeu demanar-la a través del correu arius@tecnocampus.cat.

Llegir en català

En esta entrada os presento los primeros resultados de la investigación hecha con la Universitat Oberta de Catalunya, en el Máster en Ingeniería Informática, y en la cual seguimos trabajando para ampliar los resultados obtenidos. Este trabajo es una aportación al proyecto SUMMIT (Salud en les UltraMaratones y sus líMITes), que tiene la finalidad de determinar si la población que practica ejercicio de larga duración y alta intensidad tiene más riesgo sobre la salud que la sedentaria y/o la moderadamente activa.

El trabajo consiste en el análisis de datos genéticos; concretamente se analiza la incidencia del esfuerzo de alta intensidad en la generación de lncRNA (long non-coding RiboNucleic Acid), aplicando técnicas de Inteligencia Artificial (IA). Los genes están formados por segmentos de ADN (Ácido Desoxirribonucleico) y ARN (Ácido Ribonucleico), los lncRNA son un tipo de ARN bastante desconocido y que estudios recientes están relacionando con la aparición de enfermedades degenerativas, oncológicas y con el envejecimiento en general. El objetivo del proyecto es obtener resultados que permitan conocer mejor este tipo de ARN, ya que no tiene una función clara identificada.

Para alcanzar este objetivo se han usado técnicas de Machine Learning no supervisado, es decir que no se ha utilizado un conjunto de datos de entrenamiento ni de validación porque no existe. Y se han aplicado a datos reales obtenidos para el proyecto SUMMIT. De entre la información recogida, se han utilizado los niveles de expresión de 28 muestras tomadas en una travesía por la montaña de más de 80 km, entre las cuales hay:

  • 16 medidas hechas antes de la travesía y 12 después.
  • 8 mujeres y 20 hombres.
  • Muestras de personas que han completado distintas distancias de la travesía.
  • 18 personas activas (entre 3 y 10 horas de deporte semanales) y 10 elites (más de 10).

Y de cada se ha medido el nivel de expresión de más de 53.600 probesets (proteínas, ARN, etc.).

La expresión genética es el proceso por el cual la información de un gen se utiliza en la síntesis de una molécula de ARN o de una proteína. El nivel de expresión es distinto para cada célula, de manera que su estudio permite comparar células enfermas y sanas, con medicación o sin, con distintas condiciones de estrés, etc.

La imagen siguiente muestra los niveles de expresión de una de las muestras usadas:

Los hitos concretos del trabajo son:

  • Analizar la incidencia de determinadas características propias del esfuerzo de alta intensidad, como la distancia recorrida, el momento de la travesía o el grupo de actividad, en la generación de proteínas y lncRNA.
  • Correlacionar niveles de expresión de proteínas y lncRNA.
  • Relacionar proteínas altamente correlacionadas con el pathway (conjuntos de proteínas que trabajan juntas para llevar a cabo una acción biológica) de la Glucosa, para analizar la incidencia que puedan tener los lncRNA.

Para alcanzar-los se han trabajado las fases siguientes:
Tratamiento de los datos: Búsqueda de BBDD, integración de los datos y homogeneización, filtrado, normalización, inclusión de metadatos, etc. Con esta fase se han reducido los 53.617 probesets a 1.200 proteínas y 8.656 lncRNA de manera que se pasa a trabajar con 28 muestras y 9856 probesets cada una.

Agrupación: Agrupación de los niveles de expresión realizando previamente un análisis de componentes principales (algoritmo PCA – Principal Component Analysis) y usando el algoritmo PAM (Partitioning Around Medoids) para agrupar en 2 y 3 clústeres. Se han agrupado los niveles de expresión de todas las muestras (mezcla) y se han comparado con las agrupaciones de los niveles de expresión por cada característica (hombres, mujeres, elite, activo, antes y después de la actividad, etc.).

Correlación de Pearson: Separación de los niveles de expresión de proteínas de los de lncRNA y cálculo de correlaciones entre ambos conjuntos (de todas las proteínas con todos los lncRNA).

Análisis de componentes independientes: Filtro de los niveles de expresión de proteínas involucradas en el pathway de la glucosa y correlacionadas con lncRNA. Aplicación del algoritmo ICA (Independent Component Analysis) para construir un modelo de los niveles de expresión con las diferentes características y aplicación de un test hipergeométrico para analizar la incidencia de las proteínas en el modelo.

Resultados obtenidos:
El análisis PCA indica que los niveles de expresión con mayor variabilidad son los de la característica distancia superior a 60 km y los más homogéneos los del momento de la actividad PRE.

Las agrupaciones, y su análisis, indican que las características con más incidencia en la generación de proteínas y lncRNA son las distancias inferior a 40 km y superior a 60 km y el momento de la actividad antes y después. Las imágenes siguientes muestran las agrupaciones en 3 clústeres hechos por distancia y los de la mezcla:

En el cálculo de la correlación de Pearson entre las proteínas y los lncRNA filtrados, se ha encontrado un número elevado de proteínas correlacionadas con los lncRNA, la cual cosa puede permitir investigar el papel de los lncRNA en las funciones de las proteínas correlacionadas, priorizando los que han obtenido mejor resultado (correlación más próxima a 1).

En el análisis ICA y el test hipergeométrico se han encontrado bastantes resultados con alta correlación entre las proteínas del pathway de la Glucosa y los lncRNA pero no se han encontrado diferencias estadísticamente significativas de la incidencia de las diferentes proteínas al modelo construido. Este resultado implica que no se han encontrado indicios de que ninguna proteína, por si sola, tiene más incidencia en el modelo que el resto. Y, por ende, tampoco ningún lncRNA correlacionado con estas proteínas del pathway.

Actualmente seguiremos trabajando para ampliar los resultados obtenidos, replicarlos y afinarlos.

Si queréis más información sobre el trabajo que se está realizando podéis solicitarla a través del correo electrónico: arius@tecnocampus.cat.

This post is only available in Catalan and Spanish:
Llegir en català (Read it in Catalan)
Leer en castellano (Read it in Spanish)