tratamiento de imagenes

TRATAMIENTO DE IMAGENES 208054 PASO 3 APRENDIZAJE DE MÁQUINAS PRESENTADO A: PAOLA ANDREA MATEUS PRESENTADO POR: WISMA

Views 59 Downloads 2 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TRATAMIENTO DE IMAGENES 208054

PASO 3 APRENDIZAJE DE MÁQUINAS

PRESENTADO A: PAOLA ANDREA MATEUS

PRESENTADO POR: WISMAR LOZANO CODIGO:1110496895

GRUPO: 17

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA –UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGICA E INGENIERIA IBAGUE-TOLIMA 2019

Introducción en el desarrollo del presente trabajo se darán definiciones a unos conceptos tales como: Kernel, perceptron, SVM, con los que se pretende que el estudiante se familiarice para después implementar una serie de códigos en el software Matlab que permitirán identificar características de los objetos encontrados en la imagen.

Objetivos Generales 

Identificar caracteristicas de objetos encontrados en una imagen y clasificarlos utilizando herramientas como SVM. Objetivos generales

  

Entrenamiento de SVM Implementar clasificadores por umbral Utilización del software Matlab para implementación de códigos

1. Definición de conceptos: estudiando el libro guía, el estudiante investiga de manera individual y da respuesta a las siguientes preguntas teóricas:

a. ¿Qué es extracción de características en una imagen? El reconocimiento de patrones u objetos dentro de una imagen es una parte fundamental en el procesamiento de imágenes, para dicha tarea de clasificación, es de vital importancia realizar una correcta extracción de características que discriminen de la mejor manera cada objeto y conlleven así al uso de clasificadores menos robusto y costosos computacionalmente. Hay infinidad de formas de realizar la caracterización de objetos o regiones dentro de una imagen, diversos enfoques, usando características globales o locales del objeto, o la combinación de ambas.

b. ¿Qué es un clasificador de umbral o perceptrón? El perceptrón es la forma más simple de una red neuronal usada para la clasificación de un tipo especial de patrones, los linealmente separables (es decir, patrones que se encuentran a ambos lados de un hiperplano). Básicamente, consiste de una neurona con pesos sinápticos y umbral ajustables.

c. ¿Qué es un clasificador supervisado y no supervisado en imágenes? los sistemas de aprendizaje supervisados son aquellos en los que, a partir de un conjunto de ejemplos de los que conocemos su valor objetivo (conjunto de entrenamiento), ya sea como clasificación o como regresión, intentamos encontrar una función que permita asignar un valor objetivo a ejemplos que el sistema no ha visto anteriormente

(y de los que, generalmente, no conocemos el valor de salida correcto). En contra, los sistemas de aprendizaje no supervisados son aquellos en los que no disponemos de una salida esperada que asociar a la batería de ejemplos con la que trabajamos, sino que únicamente a partir de las propiedades de los ejemplos intentamos dar una agrupación o

caracterización (clasificación, clustering) de los ejemplos según la similaridad entre sus propiedades. d. ¿Qué es máquina de soporte vectorial? Las máquinas de soporte vectorial (MSV), pertenecen a la familia de clasificadores lineales. Mediante una función matemática denominada kernel. Realizando mapeo de vectores de entrada para determinar la linealidad o no de los casos los cuales serán integrados a los multiplicadores de LaGrange para minimizar el riesgo empírico y la dimensión de Vapnik-chervonenkis.

e. ¿Qué y cuáles tipos de kernels tiene una SVM? Que es un kernels: Son funciones matemáticas que se emplean en las Máquinas de Soporte Vectorial. Estas funciones son las que le permiten convertir lo que sería un problema de clasificación no lineal en el espacio dimensional original, a un sencillo problema de clasificación lineal en un espacio dimensional mayor. Tipos de kernels Stump kernel Es un kernel que encarna un número infinito de decisiones stump. La decisión stump es uno de los modelos de aprendizaje base más simples que se aplican, se trata de una decisión simple, pero potente. El conjunto de decisiones stump es un simplísimo modelo de aprendizaje. Algoritmos con esta base pueden obtener usualmente un rendimiento razonable. Además, suelen ser eficientes y fáciles de implementar; lo que lo convierte en un algoritmo de aprendizaje base muy popular para aprendizaje ensemble. Perceptron kernel Podemos extender la solución stump para obtener el kernel Perceptron. El Perceptron es un muy importante modelo de aprendizaje relacionado con el aprendizaje en redes neuronales. Se ha demostrado que el trabajo con el kernel Perceptron equivale a construir una red neuronal con un número infinito de neuronas. Al igual que el kernel stump, el Perceptron trabaja con una dimensión infinita. Laplacian kernel Aplicando sobre el kernel stump, un grupo de transformaciones matemáticas, obtenemos una expresión del kernel stump como árbol infinito, dada la combinación de varias funciones stump, utilizando la expansión de la serie de Taylor, obtenemos un equivalente

en la teoría ensemble infinita, del tradicional kernel de base radial, Laplace, expresado mediante la fórmula: 

k(x, x′) = exp(−Ɣ||x − x′||1), Ɣ > 0

Exponencial kernel Igualmente aplicando un grupo de transformaciones similares, a partir del kernel Perceptron obtenemos un equivalente del popular kernel exponencial, expresado como árbol de decisiones, Perceptron infinitas, expresado mediante la fórmula: 

k(x, x′) = exp(−Ɣ||x − x′||2), Ɣ > 0 CODIGOS ENTRENAMIENTO

1. Desarrolle el siguiente código en el script de Matlab. (Asegúrese de estar trabajando en la carpeta que ya se ha creado). Para esta unidad el estudiante debe trabajar con 3 imágenes enfermas y 3 imágenes sanas (la base de datos será proporcionada por el tutor, por favor, solicitarla por correo interno) El código a utilizar es el que ya se implementó en el paso 2, en el ejercicio 1. La combinación de numpixel y umbral, debe ser única para las 6 imágenes y debe ser la que detecte por lo menos el 70% de la “enfermedad” en las 3 imágenes enfermas. Es decir, el estudiante no debe hacer un código por cada imagen, sino un código para todas las imágenes proporcionadas por el tutor. Nota1: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar el código le saldrá error. Nota2: Para que el código sea válido, debe tener una línea con su nombre.

a. Explique cada línea de código.

b. ¿Cómo funciona y que datos obtienen de la función “bwlabel”? R//Esta función Etiqueta cada uno de los melanomas que identifico en la imagen. c. ¿Qué valor se obtiene en las variables “Lo” y en “num”? R//Con esas variables Se obtiene el número de objetos etiquetados en la imagen. d. ¿Cómo funciona y que datos obtienen de la función “regionprops”? R//Con esta funcion podemos determinar el area maxima y area minima de la imagen. 2. Cada estudiante debe obtener las siguientes características de cada una de 3 imágenes enfermas y de las 3 imágenes sanas. Las características las debe guardar en una matriz de Excel donde se tenga la siguiente información:

Enferma1

Enferma4

Enferma5

Sana1

Sana2

Sana 3

Datos

3. Desarrolle el siguiente código en el script de Matlab. (Asegúrese de estar trabajando en la carpeta que ya se ha creado). Nota1: Si no está trabajando en la carpeta donde se encuentra la imagen guardada, al realizar el código le saldrá error. Nota2: Para que el código sea válido, debe tener una línea con su nombre.

donde datos.xlsx es la tabla anteriormente creada y prueba.xlsx es una tabla que contiene nuevas características con imágenes diferentes a las 3 imágenes enfermas y las 3 imágenes sanas del punto anterior, ya que estas son con las que se entrenó la máquina (solicitar por correo interno a su tutor, la base de datos de las imágenes de prueba). El estudiante debe incluir en el documento de entrega tanto la tabla de las características con las que entreno la máquina, es decir las contenidas en datos.xlsx y la tabla que contiene las características nuevas contenidas en prueba.xlsx.

CODIGOS PRUEBA Enferma9

Enferma 10

Enferma11

Sana4

Sana5

Sana6

Clasificación SVM

Prueba



Explique cada línea del código.

4. Clasificador de umbral o perceptrón: con las dos primeras características (cantidad de objetos y área máxima), el estudiante realizará el clasificador por umbral. El estudiante debe investigar cómo realizar este clasificador, anexar el código y resultados obtenidos. Codigo %% implementacion Clasificacion por umbral%% %%Wismar lozano%% datos=xlsread('prueba.xlsx'); caracteristicas=datos(1:end,1:2); clasificacion = []; umbralo = 5; umbrala = 2000; for i=1:1:6 if caracteristicas(i,1)>umbralo clasificacion(i)=1; else if caracteristicas(i,2)