Resumen IAR
Resumen IAR
Resumen IAR
El procesamiento de imágenes es un área del conocimiento que se ocupa de los algoritmos que
permiten realizar las transformaciones sobre una imagen digital.
Frecuencia espacial: número de cambios en los valores de brillo o intensidad por unidad de
distancia. Cuando es alta, pierde el contraste.
Contraste: sensibilidad del ojo a los diferentes niveles de intensidad. El contraste se describe de dos
maneras:
H(gi)=ni/n
Ecualización: es un proceso que sirve para mejorar el contraste de una imagen cuando el problema
es la intensidad.
Proceso de pasar de una imagen en escalas de grises a una con dos tonos (blanco y negro). Una
imagen binarizada se obtiene “gatillando” los valores de intensidad de la imagen con respecto a un
valor umbral.
A partir del histograma de la imagen puede obtener fácilmente la imagen binaria, usando como
umbral el valor mínimo dado por el histograma entre los picos.
VECINOS DE UN PIXEL.
• Vecindad 4: los 4 pixels adyacentes tienen un borde común con el pixel central.
• Vecindad 8: se le suma a la vecindad 4 los pixels diagonales.
• Vecindad 6: a la vecindad 4 se le suman 2 pixels opuestos sobre una de las diagonales.
• Vecindad D: solo los pixels diagonales.
FILTRO DEL VALOR MEDIO Y DE LA MEDIANA.
Calculan un nuevo valor para los ruidos de acuerdo con el valor de los vecinos. Siempre se obtiene
una nueva imagen. El filtro de la mediana sirve para eliminar los ruidos abruptos y el del valor medio,
para los ruidos contantes.
CONVOLUCIÓN.
Borde: saltos abruptos de intensidad. Corresponden a zonas de alta frecuencia espacial o alto
gradiente de niveles de gris.
La forma de detectar los bordes es por convolución utilizando mascaras definidas para ello:
SEGMENTACIÓN.
Proceso de extraer regiones de interés en una imagen. Se obtiene una lista de regiones compuestas
por los pixeles correspondientes a las mismas. Si la imagen no es binaria obtendremos también la
intensidad de los pixeles. Esto implica reducir los requerimientos de memoria de la imagen. También
podremos diferenciar objetos en una imagen.
Métodos:
• Área: es el más sencillo. Se suman los valores de todos los pixeles de una región.
• Baricentro o centro de gravedad: para una superficie definida por valores discretos, se
calcula las dos coordenadas como un promedio de la suma de las coordenadas de cada pixel
que pertenece a la región.
TRANSFORMADA DE HOUGH.
Permite identificar un conjunto de puntos relevantes que pertenecen a la recta o curva. Se usa para
encontrar formas simples en una imagen. Utiliza la dualidad punto-línea.
El siguiente paso es evaluar la ecuación de la recta para cada punto de la imagen (xk,yk), si se cumple
esta ecuación se incrementa en uno el número de votos de la celda. Un número de votos elevado
indica que el punto pertenece a la recta.
PROCESAMIENTO DE PATRONES Y REDES NEURALES.
RECONOCIMIENTO DE PATRONES.
Aplicaciones:
• Sensado: presentación de la información obtenida mediante algún tipo de sensor sobre los
objetos a ser reconocidos. Se puede representar así:
Considérese d(x) = w1x1 + w2x2 + w3 = 0 como la ecuación de una línea de separación donde w es
el vector de parámetros y x es el vector de las variables de la entrada. Cualquier modelo que
pertenece a una clase w1 producirá una cantidad positiva x cuando sea sustituido en la ecuación del
hiperplano d(x). Similarmente d(x) se hace negativo con la substitución de cualquier patrón de la
otra clase.
El caso anterior puede ser fácilmente extendido a n-dimensiones definiendo una función de decisión
lineal general de la forma:
ONE VS ALL
La estrategia uno contra todos implica el entrenamiento de un único clasificador por clase, con las
muestras de esa clase como muestras positivas y todas las demás muestras como negativos.
PAIRWISE
Su idea básica es transformar un problema de clase c en c (c-1) / 2 problemas binarios, uno para
cada par de clases.
CÁLCULO DE LA MATRIZ DE COEFICIENTES
Por otra parte, debemos considerar que, al presentar un patrón xi, obtendremos a la salida wxi, que
dependerá del valor de w, que deberá corresponder a un valor de salida y. En principio, con valores
de w no optimizados, se verificará un error entre wxi e y. Ese error se calcula como una distancia
entre dos vectores y lo indicamos como y-wxi . En el caso de tener varios vectores xi e yi lo indicamos
en negrita y - wxi .
Siendo w la matriz de coeficientes, x(v) el vector de patrones conocidos e y el vector de salida del
clasificador. Existe un valor óptimo de la matriz de coeficientes w que minimiza este valor esperado
del error
No lineal No separable
Fases de un clasificador:
Para evaluar los resultados de un clasificador es necesario el uso de la matriz de confusión. Una
matriz de clasificación ordena todos los casos del modelo en categorías, determinando si el valor de
predicción coincide con el valor real.
FC = 5+3+11/5+3+0+2+3+1+0+2+11=19/27=0,704
Mientras más cerca de 1 esta, es mejor el clasificador. El peor valor que puede tomar es el 0,5 ya
que indicaría que le clasificador clasifica aleatoriamente.
En aplicaciones prácticas las clases del modelo no son completamente separables dentro de las
limitaciones económicas o técnicas, y es deseable buscar aproximaciones a las funciones de
decisión.
Función de decisión generalizada: significa aplicar funciones a cada una de las componentes del
vector, tomándose estas como las componentes de un nuevo vector.
Donde
Considerando el hecho de que la ecuación puede representar funciones de decisión muy complejas,
es posible tratar dichas funciones como si ellas fueran lineales en virtud de una transformación. Se
define el vector X* cuyos componentes son las funciones
CLASIFICADOR POLINOMIAL
En casos en que deben resolver problemas de clasificación no lineal o donde la información esta
contenida en vectores de dimensiones de dos dígitos debe introducirse el concepto de funciones de
decisión generalizada. Se refiere a aplicar funciones a cada una de las componentes del vector de
patrones, tomando a estas como las componentes de un nuevo vector.
Dado:
Lo cual surge del vector de patrones expandido x= (x1,x2,1) y el calculo de las combinaciones de sus
elementos de 2 en 2. Con esta transformación la función polinomial toma la forma:
GRADOS DE LIBERTAD.
El número de términos necesarios para definir una función de decisión polinomial crece muy
rápidamente como función de r (grado del polinomio) y n (dimensión del patrón). Este valor esta
dado por:
Para r=2
CORRELACIÓN ENTRE NEURONAS BIOLÓGICAS Y ARTIFICIALES.
El costo computacional para resolver un problema de clasificación en una forma exacta puede ser
inaceptablemente alto.
Una de las vías para sortear este problema es considerar al problema de encontrar la Matriz de
Coeficientes como un problema de optimización resuelto por la técnica del gradiente. El esquema
de conexiones requerido se corresponde con el modelo de una neurona biológica a través de redes
neuronales. Una red neuronal es un nuevo sistema para el tratamiento de la información, cuya
unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso
humano: la neurona.
LEYES DE APRENDIZAJE.
Es una función recursiva que permite generalmente alcanzar el valor apropiado para la Matriz de
Coeficientes.
LEY DE HEBB
La primera es la Ley de Hebb. Hoy en día se aplica poco en las Redes Neuronales. Representa un
modelo simplificado del funcionamiento de una neurona biológica.
La modificación en los coeficientes depende del producto entre la señal de entrada y la de salida y
el factor de aprendizaje permite ajustar la magnitud de esa variación.
LEY DE WIDROW-HOFF
Puede concebirse como una evolución de la ley de perceptrón y la ley de Hebb
PERCEPTRÓN. FUNDAMENTOS.
Es una red que al recibir el vector de entrada calcula la función de decisión lineal y le aplica una
función umbral que fuerza a la red a obtener solo dos valores posibles a la salida. El cálculo del
vector de pesos W se hace por un método iterativo de aproximación.
Reemplaza la función de salida abrupta del perceptrón por una función rampa. Esto permite
generalizar el perceptrón para e/s continuas y permite aplicar la técnica del gradiente o descenso
iterativo.
Demostración en carpeta
Aplicaciones
FUNCIONAMIENTO
La retro propagación consiste en propagar el error hacia atrás, es decir, de la capa de salida hacia la
capa de entrada, pasando por las capas ocultas intermedias y ajustando los pesos de las conexiones
con el fin de reducir dicho error. Es un algoritmo para entrenar redes multicapa.
Este método está basado en la generalización de la regla delta. El funcionamiento de la BPN consiste
en el aprendizaje de un conjunto predefinido de pares de e/s. Primero se aplica un patrón de entrada
como estímulo para la primera capa de las neuronas de la red, se va propagando a través de todas
las capas superiores hasta generar una salida, se compara el resultado en las neuronas de salida con
la salida que se desea obtener y se calcula un valor de error para cada neurona de salida. A
continuación, estos errores se transmiten hacia atrás, partiendo de la capa de salida hacia todas las
neuronas de la capa intermedia que contribuyan directamente a la salida. Este proceso se repite,
capa por capa, hasta que todas las neuronas de la red hayan recibido un error que describa su
aportación relativa al error total. Basándose en el valor del error recibido, se reajustan los pesos de
conexión de cada neurona.
La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás. Durante la primera
fase el patrón de entrada es presentado a la red y propagado a través de las capas hasta llegar a la
capa de salida. Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose
estos valores con la salida esperada para así obtener el error. Se ajustan los pesos de la última capa
proporcionalmente al error. Se pasa a la capa anterior con una retro propagación del error,
ajustando los pesos y continuando con este proceso hasta llegar a la primera capa.
LEY DE APRENDIZAJE
La regla propuesta por Widrow ha sido extendida a redes con capas intermedias (Regla Delta
Generalizada) con conexiones hacia delante y cuyas células tienen funciones de activación
continuas, dando lugar a la retro propagación. Estas funciones son no decrecientes y derivables (la
función escalón de perceptrón no puede ser porque no es derivable en la discontinuidad).
También utiliza una función de error asociada a la red, buscando el estado estable de mínimo error.
ALGORITMO
1) Inicializar los pesos con valores pequeños aleatorios
2) Presentar un patrón de entrada y especificar la salida deseada
3) Calcular la salida actual de la red
4) Calcular los términos de error para todas las neuronas
5) Actualización de los pesos, se utiliza un algoritmo recursivo, comenzando por las neuronas
de salida y trabajando hacia atrás hasta llegar a la capa de entrada
6) El proceso se repite hasta que el error resulta aceptablemente pequeño
Los resultados obtenidos usando diferentes clasificadores pueden ser mejorados aplicando el
método de Maquina de Vectores de Soporte (MVS) o Clasificador de Margen Óptimo.
MVS busca mejorar los resultados obtenidos usando diferentes clasificadores. Estos tienen en
cuenta la periferia o envolvente de los clústeres formados por los patrones de entrenamiento. La
idea fundamental es que considere solo aquellos vectores que están muy próximos a la zona de
transición. Utilizando esos envolventes, se busca una función que equidiste en cada punto.
REPRESENTACIÓN DEL CONOCIMIENTO Y SISTEMAS EXPERTOS.
SISTEMAS EXPERTOS
Se espera que un SE sea capaz de explicar la solución en términos comprensibles para las personas.
Características
La lógica es la disciplina que estudia los métodos de formalización del conocimiento humano. Para
esto emplea dos niveles de abstracción según el grado de detalle con que se quiera formalizar:
LÓGICA DE PREDICADOS
O lógica de predicados de primer orden. Estudia las frases declarativas con mayor grado de detalle,
considerando la estructura interna de las proposiciones. Toma como elementos básicos los objetos
y sus relaciones. Una gran diferencia con la logia proposicional es la utilización de variables que
pueden ser instanciadas para evaluar una declaración. Ej.: Ɐ x: q(x) p(x)
LÓGICA PROPOSICIONAL
También conocida como logia de predicados de orden cero. Se caracteriza en relación con la
composición por emplear muy pocos símbolos que pueden ser evaluados solamente como V o F.
Ej.: q p
CONCEPTO
Se dice que una expresión está en forma Clausal cuando está expresada solo mediante conectores
lógicos de conjunción y disyunción.
SATISFACIBILIDAD DE UN CONJUNTO.
Un problema requiere para ser resuelto determinar su satisfacibilidad, es decir, si existe alguna
asignación de valores booleanos a las variables que hagan que todas las cláusulas sean ciertas.
Un algoritmo que tiene alto costo computacional es construir la tabla de verdad de la expresión y
determinar si alguna combinación hace verdadera la fórmula.
RESOLUCIÓN.
En cada paso dos cláusulas padres son resueltas para obtener una tercera denominada resolvente.
La demostración de teoremas bajo esta regla de inferencia se hace por reducción al absurdo.
Propiedades:
Algoritmo:
El algoritmo se puede sintetizar como una prueba de una proposición P con respecto a un conjunto
de axiomas C
Ejemplos: http://disi.unal.edu.co/~lctorress/iartificial/IAc007.pdf
Resolución. En caso de que se cumplan los antecedentes instanciar el consecuente produciendo una
nueva afirmación.
Resolución: para cada regla cuyo consecuente concuerde con la hipótesis, se intenta verificar de
manera recursiva cada antecedente de la regla, considerando cada una como una su hipótesis.
LISP. FUNCIONES Y PARÁMETROS. CAR, CDR, MAPCAR, LAMBDA, REVERSE, FOREACH,
ETC. VECTORES, REGISTROS, CLASES Y RANURAS. EL OPERADOR APÓSTROFO. LISTAS
DE ASOCIACIÓN.
LISP
Surge de abreviar “List Processing” o Procesamiento de Listas. Todos los componentes de este
lenguaje son expresados a través de información almacenada en listas. Cualquier componente se
puede representar en forma simbólica (símbolos).
Un código LISP está compuesto de formas, el intérprete LISP lee una forma, la evalúa e imprime el
resultado (Ciclo de lectura, evaluación, impresión).
En general una forma es un átomo o una lista. Si la forma es un átomo, se evalúa inmediatamente.
Si es una lista, LISP trata su primer elemento como el nombre de una función, y evalúa los restantes
recursivamente.
MAPCAR: toma una función de un argumento y una lista y calcula los resultados
> (funcall * 5)
CONS: existen las listas asociadas, en la cual, en cada nodo de la lista, puede definirse una palabra
clave que permita un fácil acceso a ese nodo. El aspecto usual de una lista asociada es el de una lista
formada por listas de dos elementos separados por un punto.
CONCEPTO
Algoritmo que busca un dato en un conjunto de datos, pero donde el objetivo es encontrar una
cierto camino a ese dato. Se usan métodos de árboles y grafos.
ALGORITMOS
NO INFORMADOS
No requieren de información extra para su resolución
PRIMERO EN ANCHURA
Para cada nodo se generan todas las posibles situaciones resultantes de la aplicación de todas las
reglas adecuadas. Se continúa con este proceso hasta que alguna regla produce algún estado
objetivo.
Algoritmo:
Ventajas:
Estos algoritmos permiten construir una estructura de control que no garantiza la mejor respuesta
pero que casi siempre encuentra una buena solución.
PRIMERO EL MEJOR
Combina las ventajas de BPA y BPP en un solo método, siguiendo un solo camino a la vez, y
cambiándolo cuando alguna ruta parezca más prometedora, además utiliza árboles de tipo O
Algoritmo:
A*
Se modifica el anterior empleando una función heurística para estimar el costo desde un nodo
(actual) hasta el nodo objetivo. Realiza una estimación de los méritos de cada uno de los nodos que
se van generando, esto permite que el algoritmo examine primero los caminos más prometedores.
f’=g+h’
Abiertos: Nodos a los que se les ha aplicado la función heurística pero no han sido expandidos
Algoritmo:
CONCEPTO Y CARACTERÍSTICAS
Estrategias:
Planificación en IA
• Numérica
• Lógica
o Por pila de objetivos
o No lineal por fijación de restricciones
o Jerárquica. Se resuelven primero las tareas de mayor complejidad sin considerar
detalles.
• Reactiva
Planificación en Robótica
• Reactiva
• Planificación de trayectorias en manipuladores
o Método de articulaciones interpoladas
o Método del espacio cartesiano
Podemos considerar a la planificación como una búsqueda en un espacio de estados con el agregado
de que lo que interesa es el camino recorrido entre los estados hasta llegar al objetivo.
A pesar de haber definido un mundo y sus posibles estados, podríamos no poder prever todos los
estados en que se encontrara ese mundo ante cada paso del planificador. Cuando añadimos este
problema de tener que planificar (y ejecutar) una secuencia de pasos en un mundo no
completamente previsible, nos ubicamos frente al problema de la Planificación en IA.
Se ocupa de problemas muy complejos, problemas que no pueden explorarse todas las opciones.
Entradas:
Salida: secuencia de acciones que pueden ser aplicadas al estado hasta alcanzar la descripción del
estado final.
La lógica nos ofrece una manera de reducir nuestros pasos de búsqueda en planificación. Para esto
se deben representar los estados mediante predicados lo que permite pasar de uno a otro aplicando
reglas lógicas. La aplicación de la regla debería modificar el estado anterior definiendo un nuevo
estado. Sin embargo, la regla en si solo nos dice que está permitido pasar de un estado particular a
otro, pero no efectúa en un programa el cambio de predicados necesario para obtener el nuevo
estado. A su vez a la ocurrencia de un cambio de predicados, le corresponderá una determinada
acción en el “mundo” en que se está planificando.
Para que en un programa el estado actual se modifique de acuerdo con la relación establecida en la
regla es necesario aplicar procedimientos (operadores) que efectúen esa modificación.
Operadores: sirven para pasar de un estado a otro, modificando predicados. Cada operador puede
describirse mediante una lista de nuevos predicados que el operador provoca que sean ciertos (lista
AÑADIR) y una lista de los viejos predicados que el operador provoca que sean falsos (lista BORRAR).
Reglas: para evitar realizar la búsqueda explorando completamente el árbol, se plantea el empleo
de reglas. Pasos:
1) Elegir una regla cuyos antecedentes sean V en el estado actual. Si hay más de una elegir la
mejor según la función heurística.
2) Aplicar la regla para obtener nuevo estado
3) Detectar si se ha llegado a una solución
PLANIFICACIÓN POR OBJETIVOS.
Diagrama de flujo
PRINCIPIOS BÁSICOS.
La teoría básica de los sistemas expertos está referida a la evaluación de sistemas binarios, es decir
que solo pueden evaluados como verdaderos o falsos. En el caso de la lógica difusa, los valores de
verdad son no-deterministas y tienen, por lo general, una connotación de incertidumbre.
Lo difuso puede entenderse como la posibilidad de asignar más valores de verdad a los enunciados
que los clásicos ``falso'' o ``verdadero''. Consecuentemente, las lógicas difusas son tipos especiales
de lógicas multivaluadas.
Los sistemas basados en lógica difusa se han empleado con éxito en campos tales como control
automático, clasificación, soporte de decisión, sistemas expertos y visión computarizada.
LÓGICA MULTIVARIADA.
En la lógica multivariada existe otro valor de verdad además del verdadero o falso. En esto se basa
la lógica difusa.
Todas las reglas se evalúan en paralelo, su orden no tiene importancia. Las reglas en lógica difusa se
refieren a variables y adjetivos que califican a esas variables.
La idea tras un sistema de inferencia difusa es interpretar los valores de un vector de entrada y
basado en un conjunto de reglas, asignar valores al vector de salida.
CONJUNTOS DIFUSOS
Ejemplo:
Regla Si-Entonces
Los conjuntos difusos y los operadores difusos son los verbos y sujetos de la lógica fuzzy. Una regla
difusa toma la forma:
Si X es A luego Y es B
Donde A y B son valores lingüísticos definidos por conjuntos difusos sobre los rangos X e Y
respectivamente. La primera parte de la regla es el antecedente o premisa, mientras que la parte
final es el consecuente.
ETAPAS
INTRODUCCIÓN.
Teoría de la Complejidad Computacional se ocupa de estudiar estos recursos (operativa), que son
tiempo y espacio. Vinculada a la Teoría de la Computabilidad, cuyo foco es la existencia o no, de
procedimientos que permitan resolver cierto problema.
PROCEDIMIENTO Y ALGORITMO
Procedimiento: conjunto finito y ordenado de instrucciones, que pueden ser ejecutadas por una
persona o maquina sin necesidad de conocimiento adicional a lo ya expresado en las propias
sentencias.
Algoritmo: procedimiento que permite alcanzar siempre una solución en un numero finito de pasos
NOTACIÓN O.
Cuando decimos que un algoritmo tiene complejidad O(n), estamos diciendo que la complejidad es
igual y menor a la recta, pero no más que eso.
COMPLEJIDAD TEMPORAL
El tiempo es uno de los indicadores de complejidad mas utilizados. Se refiere a la cantidad de
intervalos que son necesarios para completar con la ejecución de un proceso. Se busca conocer la
razón de crecimiento entre el indicador de tiempo y la dimensión de los datos. La complejidad
temporal puede ser lineal, polinómica, logarítmica, exponencial, etc.
COMPLEJIDAD ESPACIAL
Se refiere a la cantidad de espacio de almacenamiento requerido para resolver un problema a través
de cierto algoritmo. Definirá la razón de crecimiento entre el espacio requerido y los datos del
problema y se representa por E(n).
PERCEPCIÓN VISUAL
SUAVIZADO
El objetivo es moderar los gradientes de las zonas de alto gradiente, es decir, hacer los bordes menos
nítidos o la imagen más borrosa.
Se utiliza la convolución con la máscara Gaussiana, se obtienen los valores a partir de los valores
discretos de la campana de Gauss.
PIRÁMIDE GAUSSIANA
Al aplicar el filtro Gaussiano de suavizado, la imagen se modifica de tal modo que pueden
desaparecer detalles, pero nunca aparecer nuevos.
Sin embargo, según la Teoría del Espacio Escalar, los sistemas de visión biológicos reconocen objetos
en diferentes escalas, y esto es necesario también en la visión artificial. Así es como se pueden
reconocer características que definen un objeto en diferentes escalas.
Para realizar las búsquedas se emplean los arboles K-D o el método SIFT keys.
NEOCOGNITRON
Es una red neuronal jerárquica de capas múltiples. La principal característica que posee es que es
insensible a la posición espacial, escala, ruido y oclusión ante patrones sencillos.
La idea básica consiste en la extracción jerárquica de características, haciéndola en varias etapas. La
información obtenida de la primera etapa es empleada para extracción de características de las
etapas siguientes.