# Detección de atributos (visión informática)

En visión informática y procesamiento de imagen se denomina «atributos» a diversos elementos visuales presentes en un objeto o una escena, que puedan ser reconocidos en otras imágenes de los mismos, obtenidas desde ángulos diferentes y en variadas condiciones de iluminación. Relevados estos elementos visuales de una imagen, se utilizan para detectar un objeto o reconocer una escena en otras imágenes.
La detección de atributos consiste en relevar sobre la imagen la posición de estos elementos visuales, usualmente para luego proceder con una segunda etapa de extracción de descriptores sobre cada atributo detectado.

## Definición de atributo

El término atributo proviene de la traducción de feature, y es ampliamente utilizado en disciplinas diversas de la visión informática con un significado diferente, fuertemente contextual. En el contexto particular de detección de atributos, los atributos son elementos geométricos en una zona visualmente relevante, cuyos tipos más comunes son:
* Exploración de píxeles para detectar esquinas con FASTpuntos geométricos, denominados puntos singulares, puntos de interés, esquinas o keypoints
* figuras, denominadas blobs
* líneas de bordes, denominadas bordes o contornos
Las esquinas son los atributos por antonomasia, de modo que cuando se mencionan detectores de atributos de manera táctica y sin un contexto específico, se suele asumir que se refiere a detectores de esquinas.
Los aspectos más importantes de un atributo es su repetibilidad y su robustez: se desea que un atributo pueda ser encontrada en varias imágenes el mismo objeto o escena, y no se confunda con otra.

## Detección de atributos

Consiste en encontrar en una imagen la posición de los atributos y expresarlos con alguno de los elementos geométricos mencionados. Por ejemplo, un detector de esquinas indica sus localizaciones con sus coordenadas, como si fueran puntos geométricos, y un detector de bordes expresa sus localizaciones con líneas.
Cada detector de atributos emplea una definición propia de "relevancia visual", y utiliza un solo tipo de atributos, de modo que un detector de esquinas no empleará bordes ni blobs.
La detección de atributos suele ser el primero paso de la siguiente secuencia formal:
* Detección de atributos en la imagen
* Extracción de descriptores sobre cada atributo detectada
* Macheo de descriptores extraídos en la imagen analizada, contra descriptores de referencia
Entre los aspectos más destacados de un detector figuran:
* Velocidad, carga computacional
* Repetibilidad y robustez de los atributos
* Precisión en la localización
Cuando se requiere operación en tiempo real, se privilegian detectores rápidos. En otros casos se prefieren detectores con atributos repetibles y robustos. La precisión se valora cuando se utilizan las imágenes para hacer mediciones espaciales.

## Tipos de atributos de imagen
### Bordes

Los bordes son puntos donde hay un límite (o un borde) entre dos regiones de imagen. En general, un borde puede ser de forma casi arbitraria, y puede incluir uniones. En la práctica, los bordes generalmente se definen como conjuntos de puntos en la imagen que tienen una fuerte magnitud de gradiente. Además, algunos algoritmos comunes encadenarán puntos de gradiente alto para formar una descripción más completa de un borde. Estos algoritmos generalmente colocan algunas restricciones en las propiedades de un borde, como la forma, la suavidad y el valor del degradado.
Localmente, los bordes tienen una estructura unidimensional.

### Esquinas / puntos de interés

Los términos esquinas y puntos de interés se usan de manera intercambiable y se refieren a atributos puntuales en una imagen, que tienen una estructura bidimensional local. El nombre "Esquina" surgió desde que los primeros algoritmos realizaron por primera vez detección de bordes, y luego analizaron los bordes para encontrar cambios rápidos en la dirección (esquinas). Estos algoritmos se desarrollaron entonces de modo que ya no se requería 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 una pequeña mancha brillante sobre un fondo oscuro). Estos puntos se conocen con frecuencia como puntos de interés, pero el término "esquina" es usado por la tradición.

### Blobs / regiones de puntos de interés

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 puntuales. Sin embargo, los descriptores de manchas a menudo pueden contener un punto preferido (un máximo local de una respuesta del operador o un centro de gravedad) lo que significa que muchos detectores de manchas 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 esquina.
Considere reducir una imagen y luego realizar detección de esquina. El detector responderá a los puntos que son nítidos en la imagen contraída, pero puede ser suave en la imagen original. Es en este punto que la diferencia entre un detector de esquina y un detector de blob se vuelve algo vaga. En gran medida, esta distinción puede remediarse incluyendo una noción de escala apropiada. Sin embargo, debido a sus propiedades de respuesta a diferentes tipos de estructuras de imagen a diferentes escalas, los detectores de blob LoG y DoH también se mencionan en el artículo sobre detección de esquinas.

### Crestas

Para los objetos alargados, la noción de "crestas" es una herramienta natural. Un descriptor de cresta calculado a partir de una imagen de nivel de gris se puede ver como una generalización de un eje medio. Desde un punto de vista práctico, una cresta se puede considerar 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 los atributos de cresta de las clases generales de imágenes de nivel de grises que los atributos de borde, esquina o burbuja. Sin embargo, los descriptores de cresta se utilizan con frecuencia para la extracción de carreteras en imágenes aéreas y para extraer vasos sanguíneos en imágenes médicas - consulte detección de cresta.

## Detectores de atributos

Detectores de atributos comunes y su clasificación: :
| Detector de atributos | Borde | Esquina | Blob |
| Canny | X | | |
| Sobel | X | | |
| Kayyali | X | | |
| Harris & Stephens / Plessey / Shi–Tomasi | X | X | |
| SUSAN | X | X | |
| Shi & Tomasi | | X | |
| Detector de esquinas | | X | |
| FAST | | X | X |
| Laplaciano de Gaussiano | | X | X |
| Diferencia de Gaussianos | | X | X |
| Determinante de Hessian | | X | X |
| MSER | | | X |
| PCBR | | | X |
| Reconocimiento de regiones | | | X |

## Extracción de descriptores

Una vez que se han detectado los atributos, se puede extraer un parche de imagen local alrededor del atributo. Esta extracción puede implicar cantidades bastante considerables de procesamiento de imágenes. El resultado se conoce como descriptor visual o vector de atributos. Entre los enfoques que se utilizan para la descripción de atributos, se pueden mencionar N-jets y histogramas locales (ver transformación de atributo invariante de escala para un ejemplo de un descriptor de histograma local). Además de dicha información de atributos, el paso de detección de atributos en sí mismo también puede proporcionar atributos complementarios, tales como la orientación del borde y la magnitud del gradiente en la detección de bordes y la polaridad y la intensidad del blob en la detección de blobs.