En la visión artificial y el procesamiento de imágenes , una característica es un fragmento de información sobre el contenido de una imagen; normalmente, sobre si una determinada región de la imagen tiene determinadas propiedades. Las características pueden ser estructuras específicas de la imagen, como puntos, bordes u objetos. Las características también pueden ser el resultado de una operación de vecindad general o de una detección de características aplicada a la imagen. Otros ejemplos de características están relacionados con el movimiento en secuencias de imágenes o con formas definidas en términos de curvas o límites entre diferentes regiones de la imagen.
En términos más generales, una característica es cualquier elemento de información que sea relevante para resolver la tarea computacional relacionada con una determinada aplicación. Este es el mismo sentido que la característica en el aprendizaje automático y el reconocimiento de patrones en general, aunque el procesamiento de imágenes tiene una colección muy sofisticada de características. El concepto de característica es muy general y la elección de características en un sistema de visión artificial en particular puede depender en gran medida del problema específico en cuestión.
No existe una definición universal o exacta de lo que constituye una característica, y la definición exacta a menudo depende del problema o del tipo de aplicación. Sin embargo, una característica se define normalmente como una parte "interesante" de una imagen , y las características se utilizan como punto de partida para muchos algoritmos de visión artificial.
Dado que las características se utilizan como punto de partida y primitivas principales para algoritmos posteriores, el algoritmo general a menudo será tan bueno como su detector de características. En consecuencia, la propiedad deseable para un detector de características es la repetibilidad : si se detectará o no la misma característica en dos o más imágenes diferentes de la misma escena.
La detección de características es una operación de procesamiento de imágenes de bajo nivel . Es decir, normalmente se realiza como la primera operación en una imagen y examina cada píxel para ver si hay una característica presente en ese píxel. Si esto es parte de un algoritmo más grande, entonces el algoritmo normalmente solo examinará la imagen en la región de las características. Como requisito previo incorporado para la detección de características, la imagen de entrada generalmente se suaviza mediante un núcleo gaussiano en una representación de espacio de escala y se calculan una o varias imágenes de características, a menudo expresadas en términos de operaciones derivadas de imágenes locales.
Ocasionalmente, cuando la detección de características es computacionalmente costosa y hay limitaciones de tiempo, se puede utilizar un algoritmo de nivel superior para guiar la etapa de detección de características de modo que solo se busquen características en ciertas partes de la imagen.
Existen muchos algoritmos de visión artificial que utilizan la detección de características como paso inicial, por lo que se ha desarrollado una gran cantidad de detectores de características. Estos varían ampliamente en cuanto a los tipos de características detectadas, la complejidad computacional y la repetibilidad.
Cuando las características se definen en términos de operaciones de vecindad local aplicadas a una imagen, un procedimiento comúnmente conocido como extracción de características , se puede distinguir entre los enfoques de detección de características que producen decisiones locales sobre si hay una característica de un tipo determinado en un punto de imagen determinado o no, y aquellos que producen datos no binarios como resultado. La distinción se vuelve relevante cuando las características detectadas resultantes son relativamente escasas. Aunque se toman decisiones locales, el resultado de un paso de detección de características no necesita ser una imagen binaria. El resultado a menudo se representa en términos de conjuntos de coordenadas (conectadas o no) de los puntos de la imagen donde se han detectado características, a veces con una precisión de subpíxeles.
Cuando la extracción de características se realiza sin una toma de decisiones local, el resultado suele denominarse imagen de características . En consecuencia, una imagen de características puede considerarse una imagen en el sentido de que es una función de las mismas variables espaciales (o temporales) que la imagen original, pero donde los valores de los píxeles contienen información sobre las características de la imagen en lugar de la intensidad o el color. Esto significa que una imagen de características se puede procesar de forma similar a una imagen ordinaria generada por un sensor de imágenes. Las imágenes de características también suelen calcularse como un paso integrado en algoritmos para la detección de características.
En algunas aplicaciones, no es suficiente extraer solo un tipo de característica para obtener la información relevante de los datos de la imagen. En su lugar, se extraen dos o más características diferentes, lo que da como resultado dos o más descriptores de características en cada punto de la imagen. Una práctica común es organizar la información proporcionada por todos estos descriptores como elementos de un solo vector, comúnmente denominado vector de características . El conjunto de todos los vectores de características posibles constituye un espacio de características . [1]
Un ejemplo común de vectores de características aparece cuando cada punto de la imagen se clasifica como perteneciente a una clase específica. Suponiendo que cada punto de la imagen tiene un vector de características correspondiente basado en un conjunto adecuado de características, lo que significa que cada clase está bien separada en el espacio de características correspondiente, la clasificación de cada punto de la imagen se puede realizar utilizando el método de clasificación estándar .
Otro ejemplo relacionado ocurre cuando se aplica el procesamiento basado en redes neuronales a imágenes. Los datos de entrada que se introducen en la red neuronal suelen proporcionarse en términos de un vector de características de cada punto de la imagen, donde el vector se construye a partir de varias características diferentes extraídas de los datos de la imagen. Durante una fase de aprendizaje, la red puede encontrar por sí misma qué combinaciones de diferentes características son útiles para resolver el problema en cuestión.
Los bordes son puntos en los que hay un límite (o un borde) entre dos regiones de la imagen. En general, un borde puede tener una forma casi arbitraria y puede incluir uniones. En la práctica, los bordes suelen definirse como conjuntos de puntos en la imagen que tienen una magnitud de gradiente fuerte . Además, algunos algoritmos comunes encadenarán puntos de gradiente alto para formar una descripción más completa de un borde. Estos algoritmos suelen imponer algunas restricciones a las propiedades de un borde, como la forma, la suavidad y el valor del gradiente.
Localmente, los bordes tienen una estructura unidimensional.
Los términos esquinas y puntos de interés se utilizan de forma algo intercambiable y se refieren a características puntuales en una imagen, que tienen una estructura bidimensional local. El nombre "Esquina" surgió porque los primeros algoritmos primero realizaban la detección de bordes y luego analizaban los bordes para encontrar cambios rápidos en la dirección (esquinas). Estos algoritmos se desarrollaron de modo que ya no se requiriera la detección explícita de bordes, por ejemplo, buscando altos niveles de curvatura en el gradiente de la imagen . Luego se observó que las llamadas esquinas también se detectaban en partes de la imagen que no eran esquinas en el sentido tradicional (por ejemplo, se puede detectar un pequeño punto brillante en un fondo oscuro). Estos puntos se conocen con frecuencia como puntos de interés, pero el término "esquina" se usa tradicionalmente [ cita requerida ] .
Los blobs proporcionan una descripción complementaria de las estructuras de la imagen en términos de regiones, a diferencia de las esquinas, que son más bien puntuales. Sin embargo, los descriptores de blobs pueden contener a menudo un punto preferido (un máximo local de una respuesta del operador o un centro de gravedad), lo que significa que muchos detectores de blobs también pueden considerarse operadores de puntos de interés. Los detectores de blobs pueden detectar áreas en una imagen que son demasiado suaves para ser detectadas por un detector de esquinas.
Considere la posibilidad de reducir una imagen y luego realizar la detección de esquinas. El detector responderá a los puntos que son nítidos en la imagen reducida, pero que pueden ser suaves en la imagen original. Es en este punto que la diferencia entre un detector de esquinas y un detector de manchas se vuelve algo vaga. En gran medida, esta distinción se puede remediar incluyendo una noción apropiada de escala. Sin embargo, debido a sus propiedades de respuesta a diferentes tipos de estructuras de imagen a diferentes escalas, los detectores de manchas LoG y DoH también se mencionan en el artículo sobre detección de esquinas .
En el caso de objetos alargados, la noción de crestas es una herramienta natural. Un descriptor de cresta calculado a partir de una imagen en escala de grises puede considerarse como una generalización de un eje medial . Desde un punto de vista práctico, una cresta puede considerarse como una curva unidimensional que representa un eje de simetría y, además, tiene un atributo de ancho de cresta local asociado con cada punto de cresta. Desafortunadamente, sin embargo, es algorítmicamente más difícil extraer características de crestas de clases generales de imágenes en escala de grises que características de bordes, esquinas o manchas. No obstante, los descriptores de crestas se utilizan con frecuencia para la extracción de carreteras en imágenes aéreas y para la extracción de vasos sanguíneos en imágenes médicas (consulte detección de crestas ) .
La detección de características incluye métodos para calcular abstracciones de información de imágenes y tomar decisiones locales en cada punto de la imagen sobre si existe o no una característica de un tipo determinado en ese punto. Las características resultantes serán subconjuntos del dominio de la imagen, a menudo en forma de puntos aislados, curvas continuas o regiones conectadas.
La extracción de características se realiza a veces en varias escalas. Uno de estos métodos es la transformación de características invariante a escala (SIFT).
Una vez que se han detectado las características, se puede extraer un parche de imagen local alrededor de la característica. Esta extracción puede implicar cantidades considerables de procesamiento de imágenes. El resultado se conoce como descriptor de características o vector de características. Entre los enfoques que se utilizan para la descripción de características, se pueden mencionar los N -jets y los histogramas locales (consulte la transformación de características invariante a escala para obtener un ejemplo de un descriptor de histograma local). Además de dicha información de atributos, el paso de detección de características por sí mismo también puede proporcionar atributos complementarios, como la orientación del borde y la magnitud del gradiente en la detección de bordes y la polaridad y la fuerza de la mancha en la detección de manchas.
Una característica específica de una imagen, definida en términos de una estructura específica en los datos de la imagen, a menudo se puede representar de diferentes maneras. Por ejemplo, un borde se puede representar como una variable booleana en cada punto de la imagen que describe si hay un borde presente en ese punto. Alternativamente, podemos utilizar una representación que proporcione una medida de certeza en lugar de una declaración booleana de la existencia del borde y combinarla con información sobre la orientación del borde. De manera similar, el color de una región específica se puede representar en términos del color promedio (tres escalares) o un histograma de color (tres funciones).
Cuando se diseña un sistema de visión artificial o un algoritmo de visión artificial, la elección de la representación de características puede ser una cuestión crítica. En algunos casos, puede ser necesario un mayor nivel de detalle en la descripción de una característica para resolver el problema, pero esto se produce a costa de tener que lidiar con más datos y un procesamiento más exigente. A continuación, se analizan algunos de los factores que son relevantes para elegir una representación adecuada. En este análisis, una instancia de una representación de características se denominadescriptor de características , o simplementedescriptor.
Dos ejemplos de características de imagen son la orientación local de los bordes y la velocidad local en una secuencia de imágenes. En el caso de la orientación, el valor de esta característica puede ser más o menos indefinido si hay más de un borde presente en la vecindad correspondiente. La velocidad local es indefinida si la región de imagen correspondiente no contiene ninguna variación espacial. Como consecuencia de esta observación, puede ser relevante utilizar una representación de características que incluya una medida de certeza o confianza relacionada con la afirmación sobre el valor de la característica. De lo contrario, es una situación típica que se utilice el mismo descriptor para representar valores de características de baja certeza y valores de características cercanos a cero, con una ambigüedad resultante en la interpretación de este descriptor. Dependiendo de la aplicación, dicha ambigüedad puede ser aceptable o no.
En particular, si una imagen destacada se utilizará en un procesamiento posterior, puede ser una buena idea emplear una representación de características que incluya información sobre la certeza o la confianza . Esto permite calcular un nuevo descriptor de características a partir de varios descriptores, por ejemplo, calculados en el mismo punto de la imagen pero a diferentes escalas, o desde puntos diferentes pero vecinos, en términos de un promedio ponderado donde los pesos se derivan de las certezas correspondientes. En el caso más simple, el cálculo correspondiente se puede implementar como un filtrado de paso bajo de la imagen destacada. La imagen de características resultante, en general, será más estable al ruido.
Además de tener medidas de certeza incluidas en la representación, la representación de los valores de las características correspondientes puede ser adecuada o no para una operación de promediado . La mayoría de las representaciones de características se pueden promediar en la práctica, pero solo en ciertos casos se puede dar al descriptor resultante una interpretación correcta en términos de un valor de característica. Dichas representaciones se denominan promediables .
Por ejemplo, si la orientación de una arista se representa en términos de un ángulo, esta representación debe tener una discontinuidad donde el ángulo se enrosque desde su valor máximo hasta su valor mínimo. En consecuencia, puede suceder que dos orientaciones similares estén representadas por ángulos que tengan una media que no se encuentre cerca de ninguno de los ángulos originales y, por lo tanto, esta representación no sea promediable. Existen otras representaciones de la orientación de las aristas, como el tensor de estructura , que sí son promediables.
Otro ejemplo se relaciona con el movimiento, donde en algunos casos solo se puede extraer la velocidad normal relativa a algún borde. Si se han extraído dos de esas características y se puede suponer que se refieren a la misma velocidad verdadera, esta velocidad no se da como el promedio de los vectores de velocidad normal. Por lo tanto, los vectores de velocidad normal no son promediables. En cambio, existen otras representaciones de movimientos, utilizando matrices o tensores, que dan la velocidad verdadera en términos de una operación promedio de los descriptores de velocidad normal. [ cita requerida ]
Las características detectadas en cada imagen se pueden combinar en múltiples imágenes para establecer características correspondientes, como puntos correspondientes .
El algoritmo se basa en comparar y analizar las correspondencias de puntos entre la imagen de referencia y la imagen de destino. Si alguna parte de la escena desordenada comparte correspondencias mayores que el umbral, esa parte de la imagen de la escena desordenada se selecciona como objetivo y se considera que incluye el objeto de referencia allí. [18]
{{cite book}}
: CS1 maint: multiple names: authors list (link)