Detecção de recursos (visão computacional) - Feature detection (computer vision)

Escrivaninha com Harris Detector.png

Em visão computacional e a detecção de recursos de processamento de imagem inclui métodos para computar abstrações de informações de imagem e tomar decisões locais em cada ponto da imagem, haja ou não um recurso de imagem de um determinado tipo naquele ponto. Os recursos resultantes serão subconjuntos do domínio da imagem, geralmente na forma de pontos isolados, curvas contínuas ou regiões conectadas.

Definição de um recurso

Não há uma definição universal ou exata do que constitui um recurso, e a definição exata geralmente depende do problema ou do tipo de aplicação. No entanto, um recurso é normalmente definido como uma parte "interessante" de uma imagem e os recursos são usados ​​como ponto de partida para muitos algoritmos de visão computacional. Uma vez que os recursos são usados ​​como ponto de partida e primitivos principais para algoritmos subsequentes, o algoritmo geral geralmente será tão bom quanto seu detector de recursos. Consequentemente, a propriedade desejável para um detector de recurso é a repetibilidade : se o mesmo recurso será detectado ou não em duas ou mais imagens diferentes da mesma cena.

A detecção de recurso é uma operação de processamento de imagem de baixo nível . Ou seja, geralmente é realizada como a primeira operação em uma imagem e examina cada pixel para ver se há um recurso presente naquele pixel. Se isso fizer parte de um algoritmo maior, o algoritmo normalmente examinará apenas a imagem na região dos recursos. Como um pré-requisito embutido para detecção de recurso, a imagem de entrada é geralmente suavizada por um kernel gaussiano em uma representação de escala de espaço e uma ou várias imagens de recurso são computadas, muitas vezes expressas em termos de operações derivadas de imagem local .

Ocasionalmente, quando a detecção de recursos é computacionalmente cara e há restrições de tempo, um algoritmo de nível superior pode ser usado para guiar o estágio de detecção de recursos, de modo que apenas certas partes da imagem sejam pesquisadas em busca de recursos.

Existem muitos algoritmos de visão por computador que usam a detecção de recursos como etapa inicial, portanto, um grande número de detectores de recursos foi desenvolvido. Eles variam amplamente nos tipos de recursos detectados, na complexidade computacional e na repetibilidade.

Tipos de recursos de imagem

Arestas

Bordas são pontos onde há um limite (ou uma borda) entre duas regiões da imagem. Em geral, uma aresta pode ter uma forma quase arbitrária e pode incluir junções. Na prática, as bordas são geralmente definidas como conjuntos de pontos na imagem que têm uma magnitude de gradiente forte . Além disso, alguns algoritmos comuns encadearão pontos de alto gradiente para formar uma descrição mais completa de uma aresta. Esses algoritmos geralmente colocam algumas restrições nas propriedades de uma aresta, como forma, suavidade e valor de gradiente.

Localmente, as arestas têm uma estrutura unidimensional.

Cantos / pontos de interesse

Os termos cantos e pontos de interesse são usados ​​de forma intercambiável e referem-se a recursos semelhantes a pontos em uma imagem, que têm uma estrutura bidimensional local. O nome "Canto" surgiu porque os algoritmos iniciais primeiro realizavam a detecção de bordas e, em seguida, analisavam as bordas para encontrar mudanças rápidas de direção (cantos). Esses algoritmos foram desenvolvidos para que a detecção explícita de bordas não fosse mais necessária, por exemplo, procurando por altos níveis de curvatura no gradiente da imagem. Foi então notado que os chamados cantos também estavam sendo detectados em partes da imagem que não eram cantos no sentido tradicional (por exemplo, um pequeno ponto brilhante em um fundo escuro pode ser detectado). Esses pontos são freqüentemente conhecidos como pontos de interesse, mas o termo "esquina" é usado pela tradição.

Blobs / regiões de pontos de interesse

Os blobs fornecem uma descrição complementar das estruturas da imagem em termos de regiões, em oposição aos cantos que são mais semelhantes a pontos. No entanto, os descritores de blob podem frequentemente conter um ponto preferido (um máximo local de uma resposta do operador ou um centro de gravidade), o que significa que muitos detectores de blob também podem ser considerados operadores de pontos de interesse. Os detectores de blob podem detectar áreas em uma imagem que são muito suaves para serem detectadas por um detector de canto.

Considere reduzir uma imagem e, em seguida, realizar a detecção de canto. O detector responderá a pontos que são nítidos na imagem reduzida, mas podem ser suaves na imagem original. É neste ponto que a diferença entre um detector de canto e um detector de blob torna-se um tanto vaga. Em grande medida, essa distinção pode ser remediada incluindo uma noção apropriada de escala. No entanto, devido às suas propriedades de resposta a diferentes tipos de estruturas de imagem em diferentes escalas, os detectores de blob LoG e DoH também são mencionados no artigo sobre detecção de cantos .

Cumes

Para objetos alongados, a noção de saliências é uma ferramenta natural. Um descritor de crista calculado a partir de uma imagem em nível de cinza pode ser visto como uma generalização de um eixo medial . De um ponto de vista prático, uma crista pode ser considerada uma curva unidimensional que representa um eixo de simetria e, além disso, tem um atributo de largura de crista local associado a cada ponto da crista. Infelizmente, no entanto, é algoritmicamente mais difícil extrair recursos de crista de classes gerais de imagens em nível de cinza do que recursos de borda, canto ou blob. No entanto, os descritores de crista são freqüentemente usados ​​para extração de estradas em imagens aéreas e para extrair vasos sanguíneos em imagens médicas - veja detecção de cristas .

Detectores de recursos

Detectores de recursos comuns e sua classificação:
Detector de recursos Beira Canto Blob
Astuto sim Não Não
Sobel sim Não Não
Kayyali sim Não Não
Harris & Stephens / Plessey / Shi – Tomasi sim sim Não
SUSAN sim sim Não
Shi e Tomasi Não sim Não
Curvatura da curva de nível Não sim Não
VELOZES Não sim sim
Laplaciano de Gauss Não sim sim
Diferença de Gaussianas Não sim sim
Determinante de Hessian Não sim sim
MSER Não Não sim
PCBR Não Não sim
Blobs de nível cinza Não Não sim

Extração de recursos

Assim que os recursos forem detectados, um patch de imagem local em torno do recurso pode ser extraído. Essa extração pode envolver uma quantidade considerável de processamento de imagem. O resultado é conhecido como descritor de recurso ou vetor de recurso. Entre as abordagens que são usadas para a descrição de recursos, pode-se mencionar N -jets e histogramas locais (consulte a transformação de recurso invariante de escala para um exemplo de um descritor de histograma local). Além de tais informações de atributo, a etapa de detecção de característica por si só também pode fornecer atributos complementares, como a orientação da borda e magnitude do gradiente na detecção de borda e a polaridade e a força do blob na detecção de blob.

Veja também

Referências