RECONOCIMIENTO DE PATRONES

PARA TODAS LAS TAREAS

FECHA:

Ver fecha de entrega aquí

ENTREGA:

Para la entrega se deberá subir un archivo zip con el nombre del estudiante, ejemplo para Rosa Sanchez se debe usar el nombre de archivo Rosa_Sanchez.zip. El archivo de deberá contener el código desarrollado (en Matlab o Python), los archivos necesarios para que el código funcione (NO INCLUIR ARCHIVOS INNECESARIOS) y un Informe en formato PDF.

INFORME:

El informe debe ser un PDF de una sola página (Times New Roman, Espacio Simple, Tamaño Carta, Tamaño de Letra 10,11 ó 12), con márgenes razonables.

El informe debe estar bien escrito en lenguaje formal, no coloquial ni anecdótico, sin faltas de ortografía y sin problemas de redacción.

El informe debe contener:

1) Motivación: explicar la relevancia de la tarea.

2) Solución propuesta: explicar cada uno de los pasos y haciendo referencia al código.

3) Experimentos realizados: explicar los datos empleados y los resultados obtenidos

4) Conclusiones: mencionar las conclusiones a las que se llegó.

> VER INFORME MODELO <

CÓMO SUBIR LA TAREA:

La tarea se sube usando la plataforma 'Google Classroom' (código de la clase es el 5f9hq30). Los estudiantes del curso deben haber recibido una invitación de Google Classrom al correo que tienen en la UC.

 


 


 

[ Tarea 5]

Objetivo: Aprender a evaluar desempeño de clasificadores.

En la base de datos pedestrains se encuentra un conjunto de 400 imágenes a color de 134 x 70 pixeles, de ellas 200 son fotografías de peatones (Pxxxx.png) y las otras 200 fotografías son no-peatones (Nxxxx.png), para xxxx = 0001, 0002, ..., 0200. Usando sólo los métodos vistos en clases (extracción, selección y clasificación) diseñe y entrene al menos tres clasificadores que logren detectar a los peatones, es decir que logren reconocer ambas clases. Para evaluar el desempeño de cada clasificador, debe reportar los valores del promedio y desviación estándar de 'Accuracy', 'Precision' y 'Recall' encontrados a partir de una evaluación de validación cruzada con 10 carpetas (cross-validation with 10 folds). Los tres clasificadores deben ser de familias distintas, es decir puede haber no más de un SVM, no más de una red neuronal, etc.

Datos: el archivo zip con las 400 imágenes se puede bajar aquí.

 

EVALUACIÓN

1. Informe: 20% (se evalúa calidad del informe, explicaciones, redacción, ortografía)

2. Solución propuesta: 50% (se evalúa la calidad del método, si el diseño es robusto y rápido para el problema dado, si los experimentos diseñados y los datos empleados son adecuados, si el código es entendible, limpio, ordenado y bien comentado).

3. Resultados obtenidos: 30% (la nota en este item es 30% x C, donde C es A + B, con A el mejor accuracy encontrado en su tarea y B una constante calculada de tal forma que el mejor resultado en el curso obtenga C = 1.

<< VER FORO >>

 

 


 

[ Tarea 4]

Objetivo: Aprender a entrenar clasificadores basados en SVM y en Redes Neuronales.

En la base de datos xdata.mat se encuentra un conjunto de datos de dos características (x1 y x2) y dos clases (1 y 2). El conjunto de datos ha sido dividido en subconjuntos de entrenamiento (Xtrain,ytrain), validación (Xval,yval) y prueba (Xtest,ytest), que cuentan con 1000, 200 y 300 muestras respectivamente. Entrene y pruebe distintos clasificadores 1) SVM y 2) redes neuronales. Reporte el mejor accuracy de cada uno de ellos (A1 para SVM y A2 para redes neuronales).  

EVALUACIÓN

1. Informe: 20% (se evalúa calidad del informe, explicaciones, redacción, ortografía)

2. Solución propuesta: 50% (se evalúa la calidad del método, si el diseño es robusto y rápido para el problema dado, si los experimentos diseñados y los datos empleados son adecuados, si el código es entendible, limpio, ordenado y bien comentado).

3. Resultados obtenidos: 30% (la nota en este item es 30% x A, donde A es (A1+A2)/2 + B, con A1 y A2 es el accuracy para SVM y redes neuronales respectivamente y B una constante calculada de tal forma que el mejor resultado en el curso obtenga A = 1.

<< VER FORO >>

 

 


[ Tarea 3 ]

Objetivos: Aplicar las nociones básicas de selección de características, transformación de características y clasificación en problemas simples de reconocimeinto de patrones.

Se cuenta con tres conjuntos de datos:

  • Tortillas (3 clases [3 calidades], 300 muestras en total, 1643 características)
  • Detección de Caras (2 clases [cara/no-cara], 264 muestras en total, 1589 características) 
  • Género (2 clases [female/male], 610 muestras en total, 1589 características)

Para cada uno de ellos, escoja el primer 80% de las muestras de cada clase como conjunto de entrenamiento (training), y el 20% restante como conjunto de pruebas (testing). Si el 80-20% de las muestras equivale a números no enteros, redondee al entero más cercano.

Para cada conjunto de datos, usando algoritmos de selección/transformación/clasificación se debe diseñar una estrategia de clasificación que funcione con 10 características como máximo. Estas 10 características podrán ser seleccionadas y/o transformadas. Se debe usar sólo los algoritmos de selección de características, transformación de características y clasificación vistos en clases. Se puede usar librerías para estas funciones.

EVALUACIÓN

1. Informe: 20% (se evalúa calidad del informe, explicaciones, redacción, ortografía)

2. Solución propuesta: 50% (se evalúa la calidad del método, si el diseño es robusto y rápido para el problema dado, si los experimentos diseñados y los datos empleados son adecuados, si el código es entendible, limpio, ordenado y bien comentado).

3. Resultados obtenidos: 30% (la nota en este item es 30% x A, donde A es (A1+A2+A3)/3 + B, con Ai el accuracy para el conjunto i y B una constante calculada de tal forma que el mejor resultado en el curso obtenga A = 1.

<< VER FORO >>

 

[ Tarea 2 ] 

Objetivo: Entender reconocimiento de caras basado en LBP y selección de características.

Enunciado: En la base de datos AR-LQ (disponible en este link) existen fotos faciales de 100 personas, 50 hombres y 50 mujeres. Las fotos están almacenadas en los archivos face_xxx_nn.png, donde xxx es el ID de la persona (un número del 001 al 100), y nn es el número de la foto de la persona xxx. En esta tarea sólo se usarán las fotos que tengan nn = 01, 02, ... 07. En la primera parte de la tarea, dedicada a selección de características, se usarán sólo las personas que tengan un ID impar, es decir xxx = 01, 03, 05, ... 099. En la segunda parte, dedicada a la clasificación, se usarán los resultados de la primera parte y las personas que tengan un ID par, es decir xxx = 02, 04, 06, ... 100.

  • Primera parte: i) Sacar LBP de las fotos nn = 01, 02, ... 07 (de los ID impar) usando un número de particiones adecuado. ii) Usando las fotos 02, 03, ... 07 seleccionar no más de 100 características de tal forma que se maximice el la correcta clasificación de la foto 01 usando vecinos más cercanos con k=1. iii) Reporte el accuracy obtenido (caras correctamente reconocidas / 50 x 100%).

  • Segunda parte: i) Sacar LBP de las fotos nn = 01, 02, ... 07 (de los ID par) usando el mismo número de particiones de la primera parte. ii) Extraer de los LBP de las fotos 01, 02, ... 07 las no más de 100 características seleccionadas en la primera parte. iii) Use las características seleccionadas de las fotos 02, 03, ... 07 como set de entrenamiento y las características seleccionadas de la foto 01 como set de testing para una clasificación de vecinos más cercanos con k=1. iv) Reporte el accuracy oobtenido (caras correctamente reconocidas / 50 x 100%).

EVALUACIÓN

1. Informe: 20% (se evalúa calidad del informe, explicaciones, redacción, ortografía)

2. Solución propuesta: 50% (se evalúa la calidad del método, si el diseño es robusto y rápido para el problema dado, si los experimentos diseñados y los datos empleados son adecuados, si el código es entendible, limpio, ordenado y bien comentado).

3. Resultados obtenidos: 30% (la nota en este item es 30% x A, donde A es (2*A1+A2)/3 + B, con A1 el accuracy de la parte 1, A2 el accuracy de la parte 2 y B una constante calculada de tal forma que el mejor resultado en el curso obtenga A = 1.

<< VER FORO >>

 


 

 

[ Tarea 1 ]

Objetivo: Entender e implementar un sistema de reconocimiento de patrones basado en características geométricas.

Enunciado: Hacer un reconocedor automático que diferencie entra las letras 'S' y 'C' mayúsculas de cualquier tamaño de los fonts Times New Roman, Ariel y Courier. El input es una imagen binaria que contiene una 'S' o una 'C'. En la imagen binaria los pixeles del fondo tienen un 0, y los pixeles de la letra tienen un 1. Para probar el algoritmo diseñado usaremos 100 imágenes (50 con la letra 'S' y 50 con la letra 'C') de distinto tamaño y distintos fonts, el programa debe entregar como output un 1 si es 'S' o un 0 si es una 'C'. El índice de desempeño será el número de letras reconocidas correctamete. Para la tarea se requiere escribir un código en Matlab o Python que tenga la siguiente sintaxis:

Y = reconocedorSC(X)

donde X es una matriz que contiene la imagen binaria de una letra, e Y es la salida (1 si es 'S' o un 0 si es una 'C')

Ejemplo de matriz X:

A continuación tenemos un ejemplo de una matriz de la letra S en Times New Roman, que pueden usar para probar el código que están diseñando. 

Lenguaje           Archivo               Comando de lectura de variable X        
Matlab S01.mat
load S01
Python S01.npy X = np.load('S01.npy')

No se aceptará el uso de librerías de reconocimiento de patrones, ni de machine learning. Sólo está permitido el uso de librerías de procesamiento de imágenes. No está permitido el uso del comando regionprops de Matlab.

El conjunto de imágenes que usen para diseñar la solución deberá ser creado por ustedes mismos. 

 

EVALUACIÓN

1. Informe: 20% (se evalúa calidad del informe, explicaciones, redacción, ortografía)

2. Solución propuesta: 50% (se evalúa la calidad del método, si el diseño es robusto y rápido para el problema dado, si los experimentos diseñados y los datos empleados son adecuados, si el código es entendible, limpio, ordenado y bien comentado).

3. Resultados obtenidos: 30% (se evalúa el desempeño con 50 letras 'S' y 50 letras 'C', la nota en este item es 30% x porcentaje de letras correctamente reconocidas).

 

> VER IMAGENES USADAS EN EVALUACIÓN <

 

<< VER FORO >>