BR112016001377B1 - Método para identificar pontos-chave em uma imagem digital - Google Patents

Método para identificar pontos-chave em uma imagem digital Download PDF

Info

Publication number
BR112016001377B1
BR112016001377B1 BR112016001377-8A BR112016001377A BR112016001377B1 BR 112016001377 B1 BR112016001377 B1 BR 112016001377B1 BR 112016001377 A BR112016001377 A BR 112016001377A BR 112016001377 B1 BR112016001377 B1 BR 112016001377B1
Authority
BR
Brazil
Prior art keywords
image
pixel
value
filtering
filtering parameter
Prior art date
Application number
BR112016001377-8A
Other languages
English (en)
Other versions
BR112016001377A2 (pt
Inventor
Massimo Balestri
Gianluca Francini
Skjalg Lepsoy
Original Assignee
Telecom Italia S.P.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telecom Italia S.P.A. filed Critical Telecom Italia S.P.A.
Publication of BR112016001377A2 publication Critical patent/BR112016001377A2/pt
Publication of BR112016001377B1 publication Critical patent/BR112016001377B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Dc Digital Transmission (AREA)

Abstract

MÉTODO PARA IDENTIFICAR PONTOS -CHAVE EM UMA IMAGEM DIGITAL. É proposto um método para identificar pontos-chave em uma imagem digital que compreende um conjunto de pixels. Cada pixel tem, associado ao mesmo, um respectivo valor de um parâmetro representativo da imagem. O dito método compreende aproximar uma imagem filtrada. A dita imagem filtrada depende de um parâmetro de filtragem e compreende, para cada pixel da imagem, uma função de filtragem que depende do parâmetro de filtragem para calcular um valor filtrado do valor do parâmetro representativo do pixel. A dita aproximação compreende: a) gerar um conjunto de imagens filtradas de base; cada imagem filtrada de base sendo a imagem filtrada com um respectivo valor do parâmetro de filtragem; b) para cada pixel de pelo menos um subconjunto do dito conjunto de pixels, aproximar a função de filtragem por meio de uma respectiva função de aproximação com base nas imagens filtradas de base; a dita função de aproximação sendo uma função do parâmetro de filtragem em uma faixa predefinida do parâmetro de filtragem; o método compreende adicionalmente, para cada pixel do dito subconjunto, identificar tal pixel como um ponto-chave candidato se a função de aproximação tiver um extremo local que também é um ex tremo global em relação ao parâmetro de filtragem em uma respectiva sub faixa interna à dita faixa predefinida. Para cada pixel identificado como um ponto-chave candidato, o método compreende adicionalmente: c) comparar o valor considerado pela função de aproximação no valor do parâmetro de filtragem correspondente ao extremo global do pixel com os valore s considerados pelas funções de aproximação dos pixels adjacentes na imagem nos valores dos par?metros de filtragem dos respectivos extremos globais de tais pixels adjacentes, e d) selecionar tal pixel com base nesta comparação.

Description

Fundamentos da Invenção Campo da Invenção
[001] A presente invenção refere-se ao campo da análise de imagens.
Descrição da Técnica Anterior
[002] No campo de análise de imagem, antes de submeter uma imagem formada por uma pluralidade de pontos (pixels) - cada qual caracterizado por um respectivo valor de um parâmetro físico representativo da imagem, tal como a luminância - a alguns tipos de processamentos - tal como a comparação com uma outra imagem -, é vantajoso realizar a identificação da posição e do tamanho dos detalhes salientes representados nesta imagem. No campo de análise de imagem, com "detalhe saliente" de uma imagem, entende-se uma porção de um objeto incluído na imagem que é facilmente detectável mesmo na presença de mudanças no ponto de vista do mesmo objeto, na iluminação e no tipo de câmera.
[003] Até alguns anos atrás, era possível identificar a posição dos detalhes salientes de uma imagem, mas não seus tamanhos. Com mais detalhes, a identificação do local de um detalhe saliente de uma imagem é realizada através da identificação de um ponto saliente associado da imagem - no jargão, ponto-chave -, que substancialmente corresponde ao centro do detalhe saliente. No caso de um detalhe que tem uma forma circular, o ponto- chave coincide com o centro do detalhe, embora, no caso de detalhes que têm diferentes formas, a posição do ponto-chave possa divergir do centro real do detalhe.
[004] Recentemente, além da identificação de ponto-chave da imagem, procedimentos foram desenvolvidos, graças ao que, também é possível determinar o tamanho do detalhe saliente associado com cada ponto- chave.
[005] Atualmente, os métodos usados para identificar a posição e o tamanho dos detalhes salientes são com base no conceito de "escala - espaço", que provê a aplicação de uma série de filtragens gradualmente mais intensas na imagem. As filtragens aplicadas na imagem são tipicamente filtragens que realizam operações diferenciais nos valores dos parâmetros físicos (por exemplo, luminância) dos pontos de imagem. Tipicamente, tais filtragens são com base na função de Gauss, cuja intensidade de filtragem é governada por um parâmetro de filtragem o (o desvio padrão da função de Gauss): quanto mais alto for o parâmetro de filtragem o, mais invariável e mais ampla é a Gaussiana, e um efeito de uniformização mais intenso a Gaussiana tem. A escala - espaço de uma imagem formada por uma matriz de pixels das coordenadas (x, y) é o espaço formado pelo conjunto de imagens filtradas (em termos de luminância) obtido a partir da imagem de partida aplicando filtros gradualmente mais intensos - isto é, com valores gradualmente maiores de o - e é, portanto, um espaço tridimensional (x, y, o).
[006] A teoria (veja, por exemplo, T. Lindeberg (1992), "Scale space behavior of local extrema and blobs", J. of Mathematical Imaging and Vision, 1 (1), páginas 65-99) declara que, se você tiver um valor extremo - em relação a o - da imagem filtrada para um ponto (xp, yp, Op) que pertence ao espaço (x, y, o), isto é , um máximo ou um mínimo - em relação a o - em uma porção do espaço (x, y, o) que circunda o ponto (xp, yp, op), então, este ponto é associado com um detalhe saliente, cujas coordenadas centrais são (xp, yp), e o tamanho é proporcional a op. O tamanho (diâmetro) do detalhe (em unidades ou pixels) é igual a 2 * sqrt(2) * op.
[007] Pela identificação de todos os pontos extremos na escala - espaço, a posição e o tamanho dos detalhes salientes na imagem são, portanto, obtidos.
[008] Para encontrar os pontos extremos na escala - espaço, métodos conhecidos (tal como o método que usa o descritor "Scale-Invariant Feature Transform", SIFT, descrito em 1999 no artigo Object recognition from local scale-invariant features de Lowe, David G., Proceedings of International Conference on Computer Vision 2, páginas 1.150 a 1.157 e o objeto da Patente US 6.711.293), consideram uma sequência de imagens filtradas com valores crescentes de o, e, para cada ponto de uma imagem filtrada com um o, comparam seus valores com os valores do oito pontos adjacentes da mesma imagem e os valores dos 18 (9 + 9) pontos adjacentes presentes nas imagens filtradas correspondentes aos valores prévios e próximos de o na sequência. Se este ponto for menor ou maior que todos aqueles adjacentes, então, o ponto é um extremo do espaço x, y, o, e é um candidato a ser um ponto-chave. Este ponto é somente um candidato em virtude de ele ser conhecido (veja, por exemplo, Lowe, DG, "Distinctive Image Features from Scale-Invariant Keypoints", International Journal of Computer Vision, 60, 2, páginas 91 - 110, 2004) para eliminar os pontos correspondentes às porções da imagem que têm baixo contraste e os pontos que ficam nas estruturas similares às bordas, já que o local de um detalhe ao longo de uma borda pode facilmente variar em diferentes imagens que representam a mesma cena. O ponto é, portanto, não confiável e é, portanto, descartado.
Sumário da Invenção
[009] O Requerente percebeu que as abordagens conhecidas no estado da técnica para a identificação dos pontos-chave de uma imagem usam um subconjunto limitado de valores de o para filtrar a imagem obtendo apenas uma representação discreta da imagem filtrada à medida que o varia.
[0010] O Requerente, entretanto, observou que, a fim de identificar mais precisamente e efetivamente os pontos-chave de uma imagem, ao mesmo tempo em que se reduz a quantidade de cálculos exigidos, é possível aproximar a imagem genérica filtrada para representar a mesma com continuidade em relação a o, e não apenas relativamente a um pequeno conjunto de valores discretos deste parâmetro.
[0011] Um aspecto da presente invenção refere-se a um método para identificar pontos-chave em uma imagem digital que compreende um conjunto de pixels. Cada pixel tem, associado ao mesmo, um respectivo valor de um parâmetro representativo da imagem. O dito método compreende aproximar uma imagem filtrada. A dita imagem filtrada depende de um parâmetro de filtragem e compreende, para cada pixel da imagem, uma função de filtragem que depende do parâmetro de filtragem para calcular um valor filtrado do valor do parâmetro representativo do pixel. A dita aproximação compreende: a) gerar um conjunto de imagens filtradas de base; cada imagem filtrada de base é a imagem filtrada com um respectivo valor do parâmetro de filtragem; b) para cada pixel de pelo menos um subconjunto do dito conjunto de pixels, aproximar a função de filtragem por meio de uma respectiva função de aproximação com base nas imagens filtradas de base; a dita função de aproximação é uma função do parâmetro de filtragem em uma faixa predefinida do parâmetro de filtragem;
[0012] O método compreende adicionalmente, para cada pixel do dito subconjunto, identificar tal pixel como um ponto-chave candidato se a função de aproximação tiver um extremo local que também é um extremo global em relação ao parâmetro de filtragem em uma respectiva subfaixa interna à dita faixa predefinida.
[0013] Para cada pixel identificado como um ponto-chave candidato, o método compreende adicionalmente: c) comparar o valor considerado pela função de aproximação no valor do parâmetro de filtragem correspondente ao extremo global do pixel com os valores considerados pelas funções de aproximação dos pixels adjacentes na imagem nos valores dos parâmetros de filtragem dos respectivos extremos globais de tais pixels adjacentes, e d) selecionar tal pixel com base nesta comparação.
[0014] De acordo com uma modalidade da presente invenção, a dita aproximação da função de filtragem por meio de uma respectiva função de aproximação com base nas imagens filtradas de base compreende calcular a dita função de aproximação com base em uma combinação linear das ditas imagens filtradas de base.
[0015] De acordo com uma modalidade da presente invenção, a dita função de aproximação é com base em uma aproximação adicional da dita combinação linear das ditas imagens filtradas de base.
[0016] De acordo com uma modalidade da presente invenção, a dita função de aproximação é um polinômio que tem o parâmetro de filtragem como uma variável.
[0017] De acordo com uma modalidade da presente invenção, os coeficientes do dito polinômio são calculados com base nas imagens filtradas de base e com base em uma aproximação de pesos da dita combinação linear.
[0018] De acordo com uma modalidade da presente invenção, o método compreende adicionalmente descartar dos pixels selecionados os pixels em que o valor considerado pela função de aproximação no parâmetro de filtragem correspondente ao extremo global do pixel tem um valor absoluto menor que um primeiro limite.
[0019] De acordo com uma modalidade da presente invenção, o método compreende adicionalmente: - para cada pixel selecionado, calcular a curvatura principal e a curvatura secundária da superfície formadas pelas funções de filtragem nos pixels da imagem contidos em um retalho centralizado em tal pixel selecionado; - descartar/manter tal pixel dos/nos pixels selecionados com base na razão entre a curvatura principal e a curvatura secundária.
[0020] De acordo com uma modalidade da presente invenção, o método compreende adicionalmente: - para cada pixel selecionado, calcular o valor considerado pela segunda derivada da função de aproximação em relação ao parâmetro de filtragem no correspondente extremo global, e - descartar/manter tal pixel dos/nos pixels selecionados com base em tal valor considerado pela segunda derivada.
[0021] De acordo com uma modalidade da presente invenção, a dita identificação de ponto-chave é adicionalmente repetida em pelo menos uma versão escalonada da imagem, usando a mesma faixa predefinida do parâmetro de filtragem.
[0022] De acordo com uma modalidade da presente invenção: - pelo menos um dos valores do parâmetro de filtragem das imagens filtradas de base é igual a duas vezes o mais baixo entre os valores do parâmetro de filtragem das outras imagens filtradas de base; - a dita versão escalonada da imagem é obtida pela aproximação das imagens filtradas de base começando a partir de uma versão aproximada da imagem filtrada de base que tem o mais baixo valor do parâmetro de filtragem, a dita versão aproximada da imagem filtrada de base é aproximada pela subamostragem da imagem filtrada de base com tal valor do parâmetro de filtragem que é duas vezes o mais baixo valor do parâmetro de filtragem.
[0023] De acordo com uma modalidade da presente invenção, a dita imagem filtrada é com base na aplicação de filtros com base no Laplaciano de Gauss ou filtros com base em Diferenças de Gauss, e o dito parâmetro de filtragem é o desvio padrão da função de Gauss.
[0024] De acordo com uma modalidade da presente invenção, o dito polinômio é um polinômio de terceiro grau em relação ao parâmetro de filtragem.
[0025] De acordo com uma modalidade da presente invenção, cada pixel da imagem tem pelo menos uma correspondente coordenada que identifica o local dos pixels na imagem; o dito método compreende adicionalmente, para cada pixel selecionado, modificar a dita pelo menos uma coordenada de tal pixel pelo cálculo de uma correspondente mudança de coordenadas com base em uma função de aproximação adicional que aproxima a função de filtragem no pixel em relação a uma mudança de coordenadas como esta; a dita função de aproximação adicional é com base: 1) na função de filtragem de tal pixel selecionado no valor do parâmetro de filtragem correspondente ao extremo global do pixel selecionado, e 2) nas funções de filtragem dos pixels adjacentes ao pixel selecionado na imagem no valor do parâmetro de filtragem correspondente ao extremo global do pixel selecionado.
[0026] De acordo com uma modalidade da presente invenção, o dito cálculo da mudança de coordenadas compreende identificar pontos máximo ou mínimo na função de aproximação adicional em relação à mudança de coordenadas e definir tal mudança de coordenadas com base nos pontos máximo ou mínimo identificados.
Breve Descrição dos Desenhos
[0027] Estas e adicionais características e vantagens da presente invenção ficarão aparentes a partir da seguinte descrição de algumas modalidades a título de exemplo e não de limitação, a ser lida em conjunto com os desenhos anexos, em que: a figura 1A é um gráfico que mostra um sinal de luminância em função de uma coordenada; a figura 1B mostra, para diferentes valores crescentes de o, um correspondente filtro LoG e o sinal da figura 1A filtrado através deste filtro LoG; a figura 2A mostra uma imagem bidimensional, da qual cada ponto tem um respectivo valor de luminância; a figura 2B mostra, para valores crescentes de o, um correspondente filtro LoG e a imagem da figura 2A filtrada através do filtro LoG; a figura 3A ilustra quatro filtros de base LoGB; a figura 3B mostra como o filtro LoG aproximado por meio de combinação linear de acordo com uma modalidade da presente invenção é similar àquele que foi explicitamente calculado; a figura 3C ilustra um diagrama que mostra como os pesos de uma combinação linear de quatro filtros de base LoG variam em função de o para obter um filtro LoG genérico; a figura 4A mostra a imagem da figura 2A filtrada através de uma convolução com um filtro LoG que tem um o igual a 2,5; a figura 4B mostra a imagem da figura 2A filtrada aproximando o filtro LoG com o igual a 2,5 por meio da função de aproximação de acordo com uma modalidade da presente invenção; a figura 4C é a imagem resultante da diferença entre a imagem da figura 4A e a imagem da figura 4B; as figuras 5A - 5B mostram um fluxograma que ilustra em termos dos blocos funcionais um processo para identificar o ponto-chave de uma imagem de acordo com uma modalidade da presente invenção; a figura 6A mostra, por meio de uma escala de cinzas, um exemplo do valor máximo considerado pela função de aproximação de acordo com uma modalidade da presente invenção para cada ponto da imagem exemplar da figura 2A; a figura 6B mostra, por meio de uma escala de cinzas, um exemplo do mínimo valor considerado pela função de aproximação de acordo com uma modalidade da presente invenção para cada ponto da imagem da figura 2A; as figuras 6C e 6D mostram um exemplo cujos pontos da imagem da figura 2A são pontos de máximo e mínimo, respectivamente, que são candidatos a ser pontos-chave em potencial; as figuras 7A e 7B mostram, respectivamente, os correspondentes pontos de máximo e mínimo que ainda são considerados pontos-chave em potencial depois que um procedimento de comparação com os pontos adjacentes foi realizado de acordo com uma modalidade da presente invenção; a figura 8A mostra os pontos identificados como ponto-chave no primeiro oitavo da imagem na figura 2A, e a figura 8B mostra os pontos identificados como ponto-chave em cinco oitavos considerados da imagem da figura 2A.
Descrição Detalhada de Modalidades Exemplares da Invenção
[0028] Tipicamente, o filtro com base na função de Gauss que é aplicado nas imagens pode ser um Laplaciano de Gauss ("Laplaciano de Gauss", LoG) ou uma diferença de Gauss ("Diferença de Gauss" DoG). A diferença de Gauss aproxima o Laplaciano de Gauss, mas ele pode ser conveniente de adotar por motivos computacionais. Consequentemente, embora, neste documento, referência seja sempre feita às operações que usam filtros LoG, considerações equivalentes se aplicam no caso de filtros DoG.
[0029] A fim de mostrar o mecanismo que se baseia na identificação de detalhes salientes por meio da aplicação de filtragem LoG, dois exemplos serão agora apresentados: no primeiro exemplo, ilustrado nas figuras 1A e 1B, por simplicidade, em vez de uma imagem bidimensional, é considerado um sinal de luminância unidimensional, ao mesmo tempo em que o segundo exemplo, mostrado nas figuras 2A e 2B, refere-se a uma imagem bidimensional.
[0030] Em relação ao primeiro exemplo, a figura 1A é um gráfico que mostra, como uma função de uma única coordenada x, um valor de luminância; observando o gráfico da figura 1A é possível já notar a presença de dois detalhes salientes, correspondentes aos dois picos do sinal. Para ver como estes dois detalhes salientes podem ser identificados por um procedimento de filtragem LoG, que permite não apenas identificar a coordenada central, mas, também, o tamanho, referência será feita à figura 1B, que mostra, para diferentes valores crescentes de o (o = 2, o = 6, o = 10, o = 14, o = 18, o = 22), um correspondente filtro LoG (à esquerda da figura) e o sinal de figura 1A filtrado através deste filtro LoG (à direita da figura). No exemplo considerado, dois extremos podem ser identificados, a saber, um primeiro extremo em x = 210 quando o = 6 e um segundo extremo em x = 110 quando o = 14. Estes extremos indicam a presença de dois detalhes salientes cujos centros estão nos pontos 210 e 110 (ou pixels se for uma imagem) e cuja largura é aproximadamente 16,87 e 39,59 pontos, usando o diâmetro do ponto saliente da relação = 2 * sqrt (2) * o.
[0031] Em relação ao segundo exemplo, a figura 2A mostra uma imagem bidimensional, cada ponto da qual tem um respectivo valor de luminância, ao mesmo tempo em que a figura 2B mostra, para valores crescentes de o (o = 2, o = 9, o = 16, o = 23), um correspondente filtro LoG (à direita da figura) e a imagem da figura 2A filtrada através de tal filtro LoG (à esquerda da figura). A janela em forma crescente próxima da palavra "SCUOLA" é um detalhe saliente, com uma forma distinta facilmente detectável, que tem uma altura no centro de cerca de 19 pixels. Isto significa que no meio da janela, o resultado da aplicação do filtro LoG na imagem tem um valor máximo em um o igual a 19/(2 * sqrt (2)) = 6,46. De fato, pode ser observado que, no centro da janela, o valor mais alto (o mais leve) obtido em decorrência da filtragem é aquele que corresponde ao filtro LoG que tem o = 9, isto é, o filtro LoG dos quatro filtros LoG empregados que têm o valor o mais próximo de 6,46.
[0032] Já que um filtro LoG tende a aumentar consideravelmente de tamanho à medida que o aumenta (com o = 50, o filtro é representável com uma matriz de quase 500 x 500 pontos), o processamento supradescrito pode ser realizado vantajosamente pelo uso de uma abordagem de "oitavo", a fim de reduzir o número de cálculos. Processamento de oitavo é com base na observação que o resultado de um filtro com o = o* na imagem original pode ser reproduzido com um filtro com o = o */2 na imagem escalonada em 50%. No processamento de oitavo, um intervalo é fixo para o, imagens filtradas são estudadas com alguns o que caem na faixa, e, então, a imagem é escalonada em 50% pela repetição do mesmo tipo de análise na imagem reduzida (realização das mesmas filtragens). O processo é iterado até que a imagem escalonada tenha um tamanho inferior a um limite predeterminado. Por exemplo, começando a partir de uma imagem VGA (640 x 480) e parando o processo quando o lado mais curto da imagem for inferior a 20 pixels, cinco oitavos são obtidos (640 x 480, 320 x 240, 160 x 120, 80 x 60, 40 x 30).
[0033] Um dos conceitos básicos da solução de acordo com modalidades da presente invenção deriva da observação que é possível aproximar um filtro LoG (x, y, o) (em que x, y são as coordenadas espaciais da imagem (isto é, os pontos ou pixels que formam a imagem) e o é o desvio padrão da Gaussiana, com x, y, o que definem a escala - espaço) como uma combinação linear dos n filtros LoGB (x, y, oi) previamente calculados com n diferente o = oi (i = 1, 2, n), daqui em diante referidos como filtros básicos:
Figure img0001
em que
Figure img0002
são pesos cujo valor é uma função de o, como será mostrado posteriormente nesta descrição. A dependência espacial de x e y foi omitida por simplicidade.
[0034] Em relação ao exemplo mostrado na figura 3A, supõe-se ter calculado quatro filtros de base
Figure img0003
Figure img0004
. Fazendo uma combinação linear destes quatro filtros de base LoGB, é possível aproximar o filtro LoG como:
Figure img0005
[0035] Usando a relação (2), é possível obter uma boa aproximação do filtro LoG com o igual, por exemplo, a 2,5:
Figure img0006
[0036] Na figura 3B, é possível observar como o filtro LoG aproximado por uma combinação linear (à direita da figura) é similar àquele calculado explicitamente (à esquerda da figura).
[0037] Os pesos
Figure img0007
são calculados pela resolução do sistema de equações lineares: (4): Ap = b, em que: - A é uma matriz que tem um número de colunas igual ao número n de filtros de base LoGB (no exemplo considerado, quatro), em que cada coluna representa um correspondente filtro de base LoGB. Considerando que o filtro LoG genérico é representável por meio de uma matriz quadrada m x m (em que cada elemento corresponde a um pixel), cada coluna de A é construída pela disposição em colunas das colunas da matriz de cada filtro de base LoGB, obtendo um correspondente vetor de coluna de m2 elementos; - b é o vetor de coluna de m2 elementos que representa o filtro LoG a ser aproximado; - p é um vetor de n elementos que contêm os pesos p1(o), p2(o), ..., pn(o) (no exemplo considerado, p1, p2, p3, p4) que são determinados pela resolução do sistema.
[0038] Para resolver o sistema, de acordo com uma modalidade da presente invenção, é possível usar o conhecido método dos quadrados mínimos ou qualquer outro método que permite reduzir a norma da diferença entre os valores observados e aproximados, como, por exemplo, o método conhecido como "hibridação simulada" (neste particular, veja, por exemplo, Kirkpatrick, S., Gelatt, CD, Vecchi, MP (1983). "Optimization by Simulated Annealing." Science 220 (4598): 671-680).
[0039] Escolhendo um conjunto de filtros q LoG a serem aproximados com respectivos
Figure img0008
, e, com base na relação (4), é possível calcular uma matriz de peso W que tem uma linha para cada um dos n filtros de base LoGB e uma coluna para cada um dos filtros q LoG para aproximar, e contendo, para cada coluna os pesos p1(0), p2(0), ..., pn(0) para aproximar o filtro LoG correspondente a tal coluna de acordo com o seguinte relacionamento: (5) AW = D, em que D é uma matriz que contém os filtros q LoG (0'j) (j = 1, 2, q).
[0040] A interpolação, para cada um dos n filtros de base LoGB, dos correspondentes elementos da matriz de peso W é, então, possível para determinar como os pesos
Figure img0009
variam em relação a 0. A precisão com a qual a tendência dos pesos p1(0), p2(0), ..., pn(0) é aproximada em relação a 0 depende do número q de filtros LoG considerados em relação (5) (quanto mais alto q, melhor a aproximação).
[0041] A figura 3C ilustra um diagrama que mostra como variar os pesos p1(0), p2(0), p3(0), p4(0) do exemplo considerado anteriormente em função de 0. Neste caso, as curvas foram geradas pela interpolação, para cada peso, de 13 pontos, cada qual correspondente a 13 diferentes 0 = 0'1, 0'2, ..., 0'q (isto é, q = 13).
[0042] A fim de filtrar a imagem com um filtro LoG(a), a convolução do filtro LoG é realizada com esta imagem I:
Figure img0010
em que L(0) é o resultado do filtro LoG aplicado na imagem (daqui em diante, simplesmente referida como "imagem filtrada") e * é o símbolo da convolução.
[0043] Já que a convolução é um operador linear, pela exploração de tal propriedade, é vantajosamente possível obter a aproximação de qualquer imagem filtrada L(o) (isto é, para uma filtragem correspondente a qualquer o) sem precisar explicitamente computar a mesma. De fato, pela exploração de tal propriedade e substituição da relação (1) na relação (6), a seguinte relação é obtida:
Figure img0011
[0044] Em outras palavras, graças à solução de acordo com uma modalidade da presente invenção, é suficiente computar explicitamente a filtragem por um número reduzido de vezes (isto é, n) para obter n imagens filtradas L(oi) (i = 1, 2, ..., n) usando os n filtros de base LoGB(o i), e explorar a relação (7) para aproximar a imagem genérica filtrada L(a) começando a partir destas imagens filtradas L(oi).
[0045] Para obter uma aproximação em uma imagem filtrada L(o) é, portanto, suficiente para calcular uma vez a matriz de peso W que dá o valor dos n pesos pi(o) para um certo conjunto de o suficientemente grandes (isto é, pela consideração de uma matriz D que contém um número suficiente q de filtros LoG) a fim de satisfazer as necessidades de precisão exigidas.
[0046] O segundo conceito básico da solução de acordo com modalidades da presente invenção provê a aproximação da imagem genérica filtrada L(o) por meio de uma função de aproximação de filtragem que depende de um conjunto contínuo de valores de o.
[0047] De acordo com uma modalidade da presente invenção, a função de aproximação é um polinômio de grau r, embora considerações equivalentes se apliquem no caso no qual esta função de aproximação é uma função diferente, por exemplo, a função alog(o) + bo2 + co + d. A escolha de um polinômio é, entretanto, vantajosa, em que os polinômios são fáceis de tratar, já que eles são rápidos de calcular, prontamente deriváveis, e sem singularidades.
[0048] A fim de calcular a função de aproximação como um polinômio de grau r de acordo com uma modalidade da presente invenção, a matriz de peso W é, por sua vez, aproximada da seguinte maneira: (8): SF = WT, em que S é a matriz de tamanho q x (r +1):
Figure img0012
em que a notação (o'1)r significa "0'1 elevado a r", e F é uma matriz que contém os valores de aproximação que servem para aproximar, por polinômios de grau r em 0'1, 0'2, ... 0'q os pesos da matriz de peso W a serem usados para aproximar os filtros LoG que têm 0 = 0'1, 0'2, ..., 0'q, respectivamente. Com mais detalhes, a matriz de aproximação F é uma matriz de dimensão (r + 1) x n, em que cada coluna de F é usada para fazer uma combinação linear das colunas de S. A matriz S multiplicada por uma i-ésima coluna F é um vetor que aproxima os pesos contidos na i-ésima coluna de WT. O elemento genérico da k-ésima coluna e da i-ésima linha de F é o valor que é usado na combinação linear da k-ésima coluna de S que corresponde a (0'i)(r-k+1). A fim de resolver o sistema (8), de acordo com uma modalidade da presente invenção é possível usar o conhecido método dos quadrados mínimos ou qualquer outro método que permite reduzir a norma da diferença entre valores observados e aproximados.
[0049] Substituindo a relação (8) em (5), é obtido:
Figure img0013
[0050] Assim, com base no relacionamento (10), de acordo com uma modalidade da presente invenção, é possível aproximar um filtro LoG(a) que tem algum o que faz uma combinação linear dos valores dos filtros de base LoGB(oi) contidos na matriz A por meio da multiplicação com a matriz FT, e usando o resultado como coeficientes de um polinômio de grau r em o, da forma indicada a seguir:
Figure img0014
em que (:) é uma notação que indica que a matriz que precede a notação é transformada em um vetor, obtido pela disposição em colunas das várias colunas da matriz.
[0051] Deve ser notado que, dada uma base formada pelos filtros básicos LoGB(oi) contidos na matriz A, a matriz F é calculada apenas uma vez, e usada para aproximar qualquer filtro LoG(a).
[0052] Como feito previamente, usando a propriedade de linearidade da convolução, e substituindo o relacionamento (11) na relação (6), é obtido:
Figure img0015
em que L(o) representa uma imagem genérica filtrada com um filtro LoG(o), e L(oi) (i = 1, 2, ..., n) representa imagens filtradas por meio dos n filtros de base LoGB(oi).
[0053] Em outras palavras, expandindo o relacionamento (12), de acordo com uma modalidade da presente invenção, uma imagem genérica filtrada L(x, y, o) pode ser aproximada com a seguinte função de aproximação:
Figure img0016
em que os coeficientes (r + 1) cr, ..., c0 do polinômio da função de aproximação são funções das imagens filtradas L(oi) (i = 1, 2, ..., n) usando os n filtros de base LoGB(oi) e da matriz F, e variam de pixel para pixel em função das coordenadas x e y. Esta aproximação é válida no intervalo (cujos finais são parâmetros que podem ser definidos), em que o é variado em um único oitavo.
[0054] De acordo com uma modalidade, o grau r do polinômio da função de aproximação é vantajosamente igual a 3, já que ele é descoberto como um bom compromisso entre a complexidade dos cálculos e a precisão na aproximação. Especificamente, com r = 3, a imagem filtrada genérica L (x, y, o) pode ser aproximada com a seguinte função de aproximação:
Figure img0017
[0055] Para ter uma ideia da qualidade da aproximação obtida por uma função de aproximação como um polinômio de terceiro grau, compare a figura 4A, que exibe a imagem filtrada obtida a partir da imagem da figura 2A através de uma convolução com um filtro LoG que tem um o igual a 2,5, com a figura 4B, que representa a imagem filtrada obtida a partir da mesma imagem da figura 2A pela aproximação do filtro LoG com o igual a 2,5 por meio da função de aproximação (14) usando quatro filtros de base LoGB (oi) com oi = 1,8, 2,846, 3,6 e 4,2214. A figura 4C é a imagem resultante da diferença entre a imagem da figura 4A com a imagem da figura 4B. Como pode-se ver pela observação da figura 4C, a diferença entre a imagem filtrada por meio de uma convolução explícita com LoG (figura 4 A) e a imagem filtrada por meio da função de aproximação (14) (figura 4B) é próxima de zero.
[0056] Como será descrito com detalhes a seguir, de acordo com uma modalidade da presente invenção, a ferramenta da função de aproximação recém descrita é vantajosamente usada para identificar, em qualquer imagem digital I, o conjunto de pontos-chave para explorar para realizar subsequente análise de imagem.
[0057] O processo de identificação do ponto-chave de uma imagem digital I de acordo com uma modalidade da presente invenção é ilustrado em termos dos blocos funcionais no fluxograma 100 mostrado nas figuras 5A-5B.
[0058] Antes de continuar para descrever com detalhes os blocos funcionais deste processo, percebe-se que a construção da função de aproximação exige o uso da matriz de aproximação F (veja a relação (12)), que é vantajosamente calculada uma vez, por exemplo, durante uma fase de treinamento prévia, e, então, usada para aproximar qualquer filtro LoG(o) aplicado em qualquer imagem I. Durante esta fase de treinamento, a seleção de um conjunto de n filtros de base LoGB (OÍ) (i = 1, 2, n), com Oi < OÍ+I, e um conjunto de filtros q LoG(o'j) (j = 1, 2, ..., q), e calcula a matriz de aproximação F da forma previamente descrita (veja a relação (10)).
[0059] Voltando, agora, para as figuras 5A-5B, a primeira fase do processo provê que, começando a partir de uma imagem genérica I, as n correspondentes imagens filtradas por meio de, então, filtros de base LoGB (oi) são calculadas, a saber, L (oi) (i = 1, 2, n) são calculados (bloco 102).
[0060] Neste ponto (bloco 104), uma faixa de trabalho em o é selecionada durante a realização das seguintes operações. Como ficará claro na seguinte descrição, selecionando, como extremidade inferior da faixa de trabalho, oi=1 e, como extremidade superior da faixa de trabalho, oi=n, é possível evitar fazer alguns cálculos nos estágios do processo posteriores.
[0061] Um ponto (xt, yt) da imagem I é, então, selecionado (bloco 106), tal como o ponto de coordenação (xt = 0, yt = 0), para realizar nas mesmas operações em relação aos blocos 108-124.
[0062] A imagem filtrada L (xt, yt, o) no ponto selecionado (xt, yt) é, então, aproximada pelo cálculo de uma função de aproximação (por exemplo, um polinômio de grau r) usando a relação (12) com x = xt e y = yt (bloco 108). Por exemplo, no caso de r = 3, a imagem filtrada L (xt, yt, o) é aproximada pela seguinte função do polinómio de terceiro grau de o (com coeficientes que dependem de
Figure img0018
Figure img0019
.
[0063] Uma condição necessária para que um ponto na imagem seja um ponto-chave é que este ponto tenha um valor extremo em uma porção da escala - espaço (x, y, o) que circunda este ponto. De acordo com uma modalidade da presente invenção, graças ao fato que as imagens filtradas L (x, y, o) são aproximadas por uma função de aproximação que depende de o, a determinação se um ponto tem um valor extremo pode ser vantajosamente realizada, comparando com a tendência em o da função de aproximação deste ponto com a tendência em o das funções de aproximação dos pontos adjacentes.
[0064] Por este motivo, na próxima etapa (bloco 110), a primeira derivada da função de aproximação é calculada em relação a o, e uma verificação é feita se - e, no caso afirmativo, quando - esta derivada assumir um valor igual a zero na faixa o considerada (excluindo as extremidades), a fim de identificar possíveis pontos máximo ou mínimo locais. Usando um polinômio como uma função de aproximação, é possível facilmente calcular a derivada muito rapidamente. Em relação ao exemplo considerado, a primeira derivada da imagem filtrada no ponto (xt, yt) L (xt, yt, o) é igual a: 3c3 (xt, yt) o2 +2c2 (xt, yt) o + c1 (xt, yt).
[0065] Se esta primeira derivada assumir o valor zero em pelo menos um ponto om da faixa o - excluindo as extremidades desta faixa - (ramificação de saída Y do bloco 112), o processo provê o cálculo do valor considerado pela função de aproximação no dito pelo menos um om (bloco 114) e comparando este valor da função de aproximação com os valores considerados pela mesma função de aproximação em correspondência com as extremidades da faixa o considerada (bloco 116). Se a faixa o determinada no bloco 104 tiver, como extremidade inferior, oi = 1, e, como extremidade superior, Oi = n, não é nem mesmo necessário precisar calcular os valores da função de aproximação nas extremidades da faixa, em virtude de estes valores já terem sido calculados (sem aproximação) no bloco 102 como imagens filtradas L (O1), L (On) através da base do filtro LoGB (O1), LoGB (On).
[0066] Através da comparação realizada no bloco 116, pode-se determinar se Om também é um ponto máximo (ou mínimo) global da função de aproximação na faixa O considerada ou se ele é apenas um ponto máximo (ou mínimo) local.
[0067] Se for determinado que Om é uma função de aproximação de ponto máximo (ou mínimo) global em relação a O (ramificação de saída Y do bloco 118), então, o correspondente ponto selecionado (xt, yt) que determinou os valores dos atuais coeficientes cr, c0 da função de aproximação é um ponto- chave em potencial. Neste caso (bloco 120), as coordenadas (xt, yt) do ponto, o valor Om e o valor da função de aproximação calculada para Om são inseridos em um elemento de uma primeira tabela, identificada como tabela de "pontos- chave em potencial". Deve-se notar que, para cada um dos pontos que pertencem à primeira tabela, também é obtida uma avaliação do diâmetro do detalhe saliente associado com este ponto, igual a 2 * sqrt (2) * Om.
[0068] Se, em vez disto, for determinado que Om não é um ponto máximo (ou mínimo) global da função de aproximação em relação a O (ramificação de saída N do bloco 118) ou, no caso em que o derivada da função de aproximação não assume o valor zero em pelo menos um ponto Om na faixa O - excluindo as extremidades desta faixa - (ramificação de saída N do bloco 112), então, o correspondente ponto selecionado (xt, yt) que determinou os valores dos coeficientes atuais cr, ..., c0 da função de aproximação não pode ser um ponto-chave em potencial. Neste caso, (bloco 122) as coordenadas (xt, yt) do ponto e do valor da função de aproximação calculadas para Om são inseridas em um elemento de uma segunda tabela, identificada como tabela de "pontos descartados".
[0069] De acordo com uma outra modalidade da presente invenção, a fim de que um ponto seja considerado um ponto-chave em potencial, e, então, este seja inserido na primeira tabela, o correspondente ponto máximo (ou mínimo) global om deve adicionalmente satisfazer a condição de ser incluído em um subconjunto da faixa de trabalho selecionada no bloco 104, com tal subconjunto tendo uma extremidade inferior maior que Oi = 1, e uma extremidade superior inferior a Oi = n. Desta maneira, apenas os pontos máximo ou mínimo que ocorrem em Om cujos comportamentos das funções de aproximação são conhecidos em uma vizinhança de Om que é suficientemente grande, tal como uma vizinhança que tem um mínimo tamanho de cerca de 0,1 (em relação a O).
[0070] Também, a fim de impedir a ocorrência de artefatos que podem comprometer a correta identificação de pontos-chave, os pontos de imagem que pertencem à borda da imagem são diretamente descartados - e, portanto, inseridos na segunda tabela -, independente da presença de possíveis pontos máximo (ou mínimo) globais.
[0071] Deve-se notar que, para cada ponto de coordenadas (xt, yt), é possível que haja mais pontos máximo e/ou mínimo. Neste caso, no caso do ponto máximo, pode ser considerado apenas o ponto que tem o valor L(xt, yt, O) mais alto, ao mesmo tempo em que, no caso de ponto mínimo, pode ser considerado apenas o ponto que tem o valor L(xt, yt, O) mais baixo.
[0072] De acordo com uma modalidade adicional da presente invenção, em vez de usar, para cada ponto, a mesma faixa de trabalho em O, é possível usar uma respectiva faixa de trabalho diferente. Por exemplo, um ponto máximo (ou mínimo) local da função de aproximação pode ser considerado como um máximo (ou mínimo) global em relação a uma faixa de O que é um subintervalo da faixa de trabalho que compreende Om e que tem extremidades dependentes de Om. Neste ponto, uma verificação é realizada para determinar se o ponto selecionado (xt, yt) é o último ponto da imagem I ou não (bloco 124).
[0073] No caso negativo (ramificação de saída N do bloco 124) um novo ponto (xt, yt) da imagem é selecionado (bloco 126), e as operações supradescritas são repetidas no novo ponto (retorna para o bloco 108).
[0074] No caso afirmativo (ramificação de saída Y do bloco 124), todos os pontos da imagem são classificados na primeira ou na segunda tabelas.
[0075] A figura 6A mostra, por meio de uma escala de cinzas, um exemplo do valor máximo considerado pela função de aproximação para cada ponto da imagem da figura 2A exemplar, em que uma cor mais clara corresponde a um valor mais alto. A figura 6B mostra, por meio de uma escala de cinzas, um exemplo do mínimo valor considerado pela função de aproximação para cada ponto da imagem da figura 2A, em que, também, neste caso, uma cor mais clara corresponde a um valor mais alto. As figuras 6C e 6D mostram em escuro um exemplo cujos pontos da imagem da figura 2A são os pontos máximo e mínimo, respectivamente, que são candidatos a ser pontos-chave em potencial (isto é, pontos que foram incluídos na primeira tabela).
[0076] De acordo com uma modalidade da presente invenção, as subsequentes operações do processo de identificação dos pontos-chave das figuras 5A-5B proveem para verificar, para cada ponto (xt, yt) da imagem que pertence à primeira tabela que tem um máximo na função de aproximação, se o valor da função de aproximação do dito ponto no valor om do máximo identificado também é maior que os valores máximos considerados pelas funções de aproximação dos oito pontos adjacente a este ponto na imagem. De uma maneira similar, para cada ponto (xt, yt) da imagem que pertence à primeira tabela que tem um mínimo na função de aproximação, é verificado se o valor da função de aproximação deste ponto no valor om do mínimo identificado também é inferior aos mínimos valores considerados pelas funções de aproximação dos oito pontos adjacente a este ponto na imagem.
[0077] Considerando os máximos pontos (considerações similares também podem se aplicar a pontos mínimos), de acordo com uma modalidade da presente invenção, um ponto (xt, yt) é selecionado a partir da primeira tabela (bloco 128), e o valor máximo da função de aproximação do ponto - obtenível a partir do correspondente elemento na primeira tabela - é comparado (bloco 130) com os valores máximos das funções de aproximação dos oito pontos adjacentes na imagem - obteníveis pelos elementos correspondentes àqueles pontos adjacentes na primeira e/ou na segunda tabelas. É enfatizado que cada um dos oito pontos adjacentes pode ser, por sua vez, um ponto-chave em potencial (neste caso, o ponto é listado na primeira tabela) ou um ponto que já foi descartado (neste caso, o ponto é listado na segunda tabela). Se o valor máximo da função de aproximação no ponto selecionado parecer ser maior que todos os valores máximos das funções de aproximação dos pontos adjacentes (ramificação de saída Y do bloco 132), então, este ponto ainda é considerado um ponto-chave em potencial e, portanto, é deixado na primeira tabela (bloco 134). Se o valor máximo da função de aproximação no ponto selecionado não for maior que todos os valores máximos da função de aproximação dos pontos adjacentes (ramificação de saída N do bloco 132), então, este ponto não deve mais ser considerado um ponto-chave em potencial e, portanto, ele é removido da primeira tabela, e inserido na segunda tabela (bloco 136). Uma verificação é, então, realizada para determinar se todos os pontos listados na primeira tabela foram comparados ou não. No caso negativo, (ramificação de saída N do bloco 138), um novo ponto é selecionado a partir da primeira tabela (bloco 140), e as operações dos blocos 132-136 são realizadas novamente neste novo ponto. No caso positivo, (ramificação de saída Y do bloco 138), a classificação inicial dos pontos-chave em potencial termina.
[0078] Usando as soluções de acordo com as modalidades da presente invenção, é possível avaliar, de uma maneira rápida e eficiente, o comportamento da imagem filtrada em um ponto da imagem genérico em relação ao comportamento da imagem filtrada nos pontos adjacentes, simplesmente, pela comparação da tendência da função de aproximação deste ponto com a tendência das funções de aproximação dos pontos adjacentes.
[0079] Retornando para o exemplo ilustrado nas figuras 6C e 6D, as figuras 7A e 7B mostram na cor preta os correspondentes pontos máximo e mínimo, respectivamente, que permaneceram na primeira tabela (isto é, que ainda são pontos chave em potencial) depois que o procedimento dos blocos 130-140 foi realizado.
[0080] De acordo com uma modalidade da presente invenção, os pontos-chave em potencial restantes na primeira tabela são daqui em diante considerados independentemente do fato de que eles são pontos máximo ou mínimo.
[0081] O procedimento de identificação de ponto-chave de acordo com uma modalidade da presente invenção compreende adicionalmente remover da primeira tabela dos pontos-chave em potencial aqueles pontos reputados por ter uma fraca estabilidade, isto é, os pontos-chave que pertencem aos elementos da cena que, observando a cena de uma maneira diferente ou com diferentes condições de iluminação, podem mudar a posição em relação ao objeto no qual eles ficam, ou não pode ser detectado mais. De acordo com uma modalidade da presente invenção, a estabilidade é determinada pela realização de um ou mais dos seguintes três testes de estabilidade.
[0082] O primeiro teste de estabilidade de acordo com uma modalidade da presente invenção (bloco 142) provê para descartar da primeira tabela os pontos com o valor absoluto da função de aproximação calculada no correspondente om inferior a um certo limite. Estes pontos pertencem às áreas da imagem com um contraste inferior a um mínimo contraste (determinado pelo limite). Esta verificação também permite eliminar possíveis pontos que foram identificados como ponto-chave apenas em virtude da aproximação realizada por meio da função de aproximação. Na prática, na correspondência de uma área que tem uma cor uniforme (assim, uma área com um contraste muito baixo), o resultado da filtragem em um ponto que pertence à dita área à medida que o varia deve ter valores quase constantes e próximos de zero e, portanto, deve ter uma tendência invariável, mas a aproximação que explora a função de aproximação tende a gerar (especialmente, se a função de aproximação for um polinômio) máximo ou mínimo locais próximos de zero apenas introduzidos pela aproximação, o que pode permitir que o ponto seja classificado como um ponto-chave em vez de ser descartado.
[0083] O segundo teste de estabilidade de acordo com uma modalidade da presente invenção (bloco 144) provê o cálculo para cada ponto da primeira tabela e, no retalho de pixels 3 x 3 da imagem centralizada neste ponto, a curvatura principal e a curvatura secundária (ortogonal à primeira curvatura principal) da superfície formada pela função L(x, y, o) nos pontos que pertencem a este retalho e, para comparar estas duas curvaturas, calculando a razão. Se ficar aparente que as duas curvas são similares, então, isto significa que o ponto cai em uma área da imagem em que sua posição é bem definida, e o ponto é deixado na primeira tabela, enquanto que, se as duas curvas diferirem significativamente, então, isto significa que o ponto cai em uma área da imagem similar a um painel e, portanto, não muito confiável, já que seu local ou existência variam consideravelmente, dependendo de como a cena é observada. Neste último caso, o ponto é removido da primeira tabela. Este teste também é usado nos conhecidos procedimentos para a identificação dos pontos-chave, mas, diferente do último, em que o retalho de pontos usados para calcular as curvaturas pertence a uma imagem já filtrada, de acordo com modalidades da presente invenção, o retalho é construído no momento pelo cálculo da imagem filtrada nos pontos no om do ponto considerado, a fim de ter uma figura mais precisa da superfície, na escala à qual o detalhe realmente pertence.
[0084] O terceiro teste de estabilidade de acordo com uma modalidade da presente invenção (bloco 146) provê para calcular o valor da curvatura (em o) da função L(x, y, o), dado pela segunda derivada da função de aproximação calculada em correspondência de Om do ponto. Em relação ao exemplo previamente considerado da função de aproximação correspondente a um polinômio de terceiro grau, a curvatura da função L(xt, yt, o) no ponto om é igual a:
Figure img0020
. Se o valor absoluto da curvatura for maior que um limite, então, o ponto é considerado estável e, portanto, é deixado na primeira tabela. Se o valor absoluto da curvatura se revelar menor que o limite, então, o ponto é considerado instável, e, portanto, é removido da primeira tabela.
[0085] Para reduzir cálculos, o processo para identificar os pontos- chave é realizado vantajosamente com a abordagem de oitavo, isto é, pela repetição de todas as operações descritas até agora nas versões da imagem I que são mais e mais escalonadas, usando sempre a mesma faixa de trabalho de o.
[0086] Por este motivo, de acordo com uma modalidade da presente invenção, depois da realização das operações descritas até agora, um refinamento das coordenadas dos pontos listados na primeira tabela é realizado (bloco 148). Até este ponto, de fato, as coordenadas (xt, yt) de cada ponto listado na primeira tabela corresponde ao coordenadas reais e integrais dos pixels da imagem original I. Se o dito refinamento não foi realizado, as coordenadas dos pontos identificados nos oitavos mais altos, nos quais a imagem é escalonada pela metade, por um quarto, por um oitavo, e congêneres do tamanho original da imagem, retornado em resolução completa, ocasionariam a identificação de pontos-chave que não são centralizados com os correspondentes detalhes salientes. A fase de refinamento das coordenadas é direcionada para determinar mais precisamente o centro dos detalhes salientes.
[0087] A fim de realizar este refinamento, de acordo com uma modalidade da presente invenção, é apresentada uma abordagem similar à que foi exposta até aqui para aproximar com uma função de aproximação da imagem filtrada em um ponto à medida que o varia. Neste caso, o que é aproximado, em vez disto, é a imagem filtrada à medida que as coordenadas espaciais xt - u e yt - v variam na vizinhança do ponto genérico (xt, yt) listado na primeira tabela, fixando o no correspondente valor de om.
[0088] Por exemplo, de acordo com uma modalidade da presente invenção, a imagem filtrada à medida que x e y variam pode ser aproximada por uma função de aproximação, por exemplo, um polinômio de segundo grau nas duas variáveis u e v:
Figure img0021
[0089] De uma maneira similar àquela já descrita, os coeficientes da função de aproximação são calculados como uma combinação linear de algumas imagens filtradas obtidas pela filtragem LoG. Por exemplo, de acordo com uma modalidade da presente invenção, os coeficientes são uma combinação da imagem filtrada nos pontos 3 x 3 centralizados no ponto (xt, yt), com o no valor om (isto é, nos valores do retalho usados para cálculo da razão das curvaturas principal e secundária). Generalizando, para obter os coeficientes, uma matriz de aproximação G é construída da mesma maneira que a matriz de aproximação F supradescrita, e a dita matriz é multiplicada pelos filtros LoG do retalho. A função de aproximação é, então, sujeita às operações para a identificação de máximo ou mínimo (dependendo se o ponto (xt, yt) foi identificado como um máximo ou um mínimo), correspondente ao ponto em que a primeira derivada em relação a u e a primeira derivada em relação a v são iguais a zero. Sendo o retalho centralizado no ponto (xt, yt), o u e o v que resolvem o sistema dado pela imposição da primeira derivada em relação a u e da primeira derivada em relação a v iguais a zero proveem que o deslocamento seja aplicado nas coordenadas (xt, yt). De acordo com uma modalidade da presente invenção, se o deslocamento for calculado para ser maior no valor absoluto de um pixel da imagem pelo menos ao longo de u ou ao longo de v, então, o ponto é descartado da primeira tabela. Este último evento é incomum, mas ainda pode ocorrer já que a íntegra do processo de identificação dos extremos na escala - espaço (x, y, o) ocorreu primeiramente pelo trabalho ao longo de o, e, então, ao longo de x e y. De acordo com uma modalidade da presente invenção, desde que aumentem os cálculos exigidos e a complexidade do procedimento, será possível aproximar a imagem filtrada com uma única função de x, y e o.
[0090] Neste ponto, todos os pontos que permanecem na primeira tabela são identificados como pontos-chave da imagem I no oitavo considerado (bloco 150). Para cada ponto-chave, é conhecido tanto a posição do mesmo na imagem (as coordenadas (xt, yt), possivelmente modificadas de acordo com a fase de refinamento do bloco 148) quanto o tamanho do detalhe saliente associado (igual a 2 * sqrt(2) * om).
[0091] A figura 8A mostra os pontos identificados como pontos- chave no primeiro oitavo da imagem exemplar mostrado na figura 2A. Cada ponto-chave é identificado com um círculo centralizado na posição do ponto- chave, e tem um diâmetro proporcional ao diâmetro do detalhe saliente associado.
[0092] Retornando para as figuras 5A - 5B, neste ponto, é verificado se o oitavo considerado até agora é o último de um conjunto de oitavos selecionados (por exemplo, cinco oitavos). No caso positivo (ramificação de saída Y do bloco 151), o processo é finalizado, caso contrário (ramificação de saída N do bloco 151), uma versão escalonada da imagem é calculada (bloco 152) para passar para o próximo oitavo, e, então, o processo de identificação de ponto-chave é reiterado no novo oitavo (retorna para bloco 102). Depois que tiver reiterado o processo por um número suficiente de oitavos (por exemplo, cinco), o processo de identificação de ponto-chave é terminado.
[0093] A figura 8B mostra os pontos identificados como ponto-chave em todos os oitavos considerados - no exemplo considerado, cinco - da imagem de amostra mostrada na figura 2A.
[0094] De acordo com uma modalidade da presente invenção, em vez de calcular diretamente a imagem escalonada correspondente ao próximo oitavo, a versão escalonada da imagem pode ser aproximada pela escolha do Oi para os filtros de base LoGB(oi), de forma que um de tal Oi seja igual a duas vezes o primeiro Oi = i (que é o mais baixo entre o Oi considerado), e a imagem filtrada pode ser subamostrada com tal Oi, que é duas vezes O1 (tomando um pixel a cada dois tanto horizontalmente quanto verticalmente). Desta maneira, é obtida uma boa aproximação de como a imagem escalonada até 50% resultará se filtrada com o filtro de base LoGB (O1). Com a subamostragem, é, portanto, obtida a imagem do próximo oitavo filtrado com o primeiro filtro de base LoGB (O1). A filtragem da imagem escalonada em 50% correspondente ao filtro de base genérico LoGB (Oi) é obtida pela filtragem da imagem escalonada em 50% filtrada com o prévio filtro de base LoGB (a). As coordenadas x, y e as escalas O dos pontos-chave extraídas nos vários oitavos são subsequentemente relatadas para o tamanho da imagem original I.
[0095] A prévia descrição mostra e descreve com detalhes várias modalidades da presente invenção; entretanto, há diversas possíveis modificações nas modalidades descritas, bem como diferentes modalidades da invenção, sem fugir do escopo definido pelas reivindicações anexas.
[0096] Por exemplo, embora, na presente descrição, referência seja feita a um procedimento para a identificação de ponto-chave que planeja realizar operações em todos os pontos de imagem (excluindo os pontos na borda dos mesmos), considerações similares podem se aplicar no caso no qual apenas um subconjunto dos pontos é sujeito a tais operações.
[0097] Além do mais, embora, na descrição, referência tenha sido feita aos filtros com base em LoG ou DoG, quando o parâmetro de filtragem que determina a intensidade de filtragem de tais filtros for o desvio padrão da função de Gauss, considerações similares se aplicam no caso no qual os filtros são obtidos com base em diferenças de versões uniformizadas da imagem.

Claims (9)

1. Método para identificar pontos-chave em uma imagem digital (I) que compreende um conjunto de pixels, cada pixel tendo associado ao mesmo um respectivo valor de um parâmetro representativo da imagem, caracterizado pelo fato de que o dito método compreende: - aproximar (108), uma imagem filtrada (L(o), 102) da dita imagem digita (I), a dita imagem filtrada sendo obtida a partir da dita imagem digital (I) por meio de uma função de filtragem, sendo a referida função de filtragem uma Laplaciana de Gaussiana ou uma Diferença de Gaussianas e tendo um parâmetro de filtragem (o) sendo o desvio padrão da função Gaussiana, a dita aproximação compreendendo: a) gerar (102) um conjunto de imagens filtradas de base (L(oi)) da dita imagem digital (I), cada imagem filtrada de base (L(oi)) sendo a imagem digital (I) filtrada por meio de um respectivo filtro de base, cada filtro de base sendo uma matriz os elementos das quais são obtidos pelo cálculo da dita função de filtragem com um respectivo valor (oi) do parâmetro de filtragem; b) para cada pixel (xy, yt) de pelo menos um subconjunto do dito conjunto de pixels da imagem digital (I), aproximar (106) a imagem filtrada (L(xy, yt, o)) obtida a partir da imagem digital (I) por meio da dita função de filtragem tendo um valor do parâmetro de filtragem por meio de uma respectiva função de aproximação com base nas imagens filtradas de base, a dita função de aproximação sendo uma função do parâmetro de filtragem (o) dentro de uma faixa predefinida (104) de valor do parâmetro de filtragem (o), a referida faixa predefinida variando do valor mais baixo do parâmetro de filtragem a um valor mais alto do parâmetro de filtragem, em que; a referida função de aproximação é um polinômio como expressado a seguir:
Figure img0022
em que: L(x, y, o) é a imagem filtrada a ser aproximada, cr(x, y) é o coeficiente polinomial para or, em que os coeficientes polinomiais cr(x, y) são obtidos como uma combinação linear da imagem filtrada de base de acordo com a equação a seguir, em que (:) é uma notação que indica que a matriz que precede a notação é transformada em um vetor, obtido pela disposição em colunas das várias colunas da matriz:
Figure img0023
em que FT é calculado para solucionar a equação seguinte: SF=WT em que: F é a incógnita que, depois de calculada e transposta, fornece FT, S é uma matriz formada por valores específicos de GÍ, como a seguir:
Figure img0024
em que g’i, (com i variando de i a q, em que q é a quantidade de imagens filtradas no dito conjunto de imagens filtradas de base) são valores específicos do parâmetro de filtragem g, W é uma matriz calculada para solucionar a equação abaixo: AW = D em que: A é uma matriz formada pelos filtros de base, em que a matriz A tem um número de colunas igual ao número dos filtros de base, em que cada coluna da matriz A representa um respectivo filtro de base, em que cada coluna da matriz A é construída pelo arranjo nas colunas de cada filtro de base, D é uma matriz de cada elemento que é obtido calculando a função de filtragem, para cada ponto (x, y) e para cada dos referidos valores específicos o’com j variando de 1 a q, W é a incógnita que, depois de calculada e transposta, fornece WT, - para cada pixel do dito subconjunto, identificar (120) tal pixel como um ponto-chave candidato se, em tal pixel, a função de aproximação tiver um extremo local (110) que também é um extremo global (116) em relação ao parâmetro de filtragem (o) para um valor om do parâmetro de filtragem em uma respectiva subfaixa de valores do parâmetro de filtragem dentro da referida faixa predefinida, a referida subfaixa respectiva tendo uma extremidade inferior maior do que o referido valor mais baixo do parâmetro de filtragem e um valor superior e uma extremidade superior inferior que o referido valor mais alto do parâmetro de filtragem, em que a diferença entre o referido valor mais baixo e a referida extremidade inferior e a diferença entre o referido valor mais alto e a referida extremidade superior são tais que apenas os pontos de máximo ou mínimo que ocorrem em om dos quais o comportamento da função de aproximação é conhecido em uma vizinhança de om que é suficiente grande é considerado como pontos- chave candidatos; - para cada pixel identificado como um ponto-chave candidato: c) comparar (130) o valor assumido pela função de aproximação no valor do parâmetro de filtragem correspondente ao extremo global do pixel com os valores assumidos pelas funções de aproximação dos pixels adjacentes aos referidos pixels na imagem nos valores dos parâmetros de filtragem dos respectivos extremos globais de tais pixels adjacentes, e d) selecionar (136) tal pixel com base nesta comparação;
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente descartar, dos pixels selecionados, os pixels em que o valor considerado pela função de aproximação no parâmetro de filtragem correspondente ao extremo global do pixel tiver um valor absoluto menor que um primeiro limite.
3. Método de acordo com qualquer uma das reivindicações 1 a 2, caracterizado pelo fato de que compreende adicionalmente: - para cada pixel selecionado, calcular a curvatura principal e a curvatura secundária da superfície formadas pelas funções de filtragem nos pixels da imagem contidos em um retalho centralizado em tal pixel selecionado; - descartar/manter tal pixel dos/nos pixels selecionados com base na razão entre a curvatura principal e a curvatura secundária.
4. Método de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que compreende adicionalmente: - para cada pixel selecionado, calcular o valor considerado pela segunda derivada da função de aproximação em relação ao parâmetro de filtragem no correspondente extremo global, e - descartar/manter tal pixel dos/nos pixels selecionados com base em tal valor considerado pela segunda derivada.
5. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que a dita identificação de ponto-chave é adicionalmente repetida em pelo menos uma versão escalonada da imagem, usando a mesma faixa predefinida do parâmetro de filtragem.
6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que: - pelo menos um dos valores do parâmetro de filtragem das imagens filtradas de base é igual a duas vezes o mais baixo entre os valores do parâmetro de filtragem das outras imagens filtradas de base; - a dita versão escalonada da imagem é obtida pela aproximação das imagens filtradas de base começando a partir de uma versão aproximada da imagem filtrada de base que tem o mais baixo valor do parâmetro de filtragem, a dita versão aproximada da imagem filtrada de base sendo aproximada pela subamostragem da imagem filtrada de base com tal valor do parâmetro de filtragem que é duas vezes o mais baixo valor do parâmetro de filtragem.
7. Método de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que a dita função de aproximação é um polinômio de terceiro grau em relação ao parâmetro de filtragem.
8. Método de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que cada pixel da imagem tem pelo menos uma correspondente coordenada (x, y) que identifica o local dos pixels na imagem, o dito método compreendendo adicionalmente, para cada pixel selecionado, modificar (148) a dita pelo menos uma coordenada de tal pixel pelo cálculo de uma correspondente mudança de coordenadas com base em uma função de aproximação adicional que aproxima a função de filtragem no pixel em relação a uma mudança de coordenadas como esta, a dita função de aproximação adicional sendo com base: 1) na função de filtragem de tal pixel selecionado no valor do parâmetro de filtragem correspondente ao extremo global do pixel selecionado, e 2) nas funções de filtragem dos pixels adjacentes ao pixel selecionado na imagem no valor do parâmetro de filtragem correspondente ao extremo global do pixel selecionado.
9. Método de acordo com a reivindicação 8, caracterizado pelo fato de que o dito cálculo da mudança de coordenadas compreende identificar pontos máximo ou mínimo na função de aproximação adicional em relação à mudança de coordenadas e definir tal mudança de coordenadas com base nos pontos máximo ou mínimo identificados.
BR112016001377-8A 2013-07-24 2014-07-23 Método para identificar pontos-chave em uma imagem digital BR112016001377B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IT001244A ITMI20131244A1 (it) 2013-07-24 2013-07-24 Identificazione di keypoint
ITMI2013A001244 2013-07-24
PCT/EP2014/065808 WO2015011185A1 (en) 2013-07-24 2014-07-23 Keypoint identification

Publications (2)

Publication Number Publication Date
BR112016001377A2 BR112016001377A2 (pt) 2017-08-29
BR112016001377B1 true BR112016001377B1 (pt) 2023-01-24

Family

ID=49118659

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016001377-8A BR112016001377B1 (pt) 2013-07-24 2014-07-23 Método para identificar pontos-chave em uma imagem digital

Country Status (12)

Country Link
US (1) US10152646B2 (pt)
EP (1) EP3025273B1 (pt)
JP (1) JP6499647B2 (pt)
KR (1) KR102195826B1 (pt)
CN (1) CN105493105B (pt)
BR (1) BR112016001377B1 (pt)
CA (1) CA2918947C (pt)
ES (1) ES2939244T3 (pt)
IT (1) ITMI20131244A1 (pt)
MX (1) MX350657B (pt)
RU (1) RU2663356C2 (pt)
WO (1) WO2015011185A1 (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576218B2 (en) * 2014-11-04 2017-02-21 Canon Kabushiki Kaisha Selecting features from image data
US10762349B2 (en) 2015-12-30 2020-09-01 Telecom Italia S.P.A. System for generating 3D images for image recognition based positioning
EP3239896B1 (en) 2016-04-28 2018-11-28 Joanneum Research Forschungsgesellschaft mbH Data structure for describing an image sequence, and methods for extracting and matching these data structures
CN106056636B (zh) * 2016-05-31 2019-04-02 公安部禁毒情报技术中心 一种冰毒片剂的标识特征信息提取方法
CN108648206B (zh) * 2018-04-28 2022-09-16 成都信息工程大学 一种Robert边缘检测膜计算系统及方法
CN111080674B (zh) * 2019-12-18 2023-11-14 上海无线电设备研究所 一种基于混合高斯模型的多目标isar关键点提取方法
CN113627528A (zh) * 2021-08-11 2021-11-09 江南大学 一种基于人眼视觉深度学习的国画所属画家自动识别方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
US20050289519A1 (en) * 2004-06-24 2005-12-29 Apple Computer, Inc. Fast approximation functions for image processing filters
JP4605445B2 (ja) * 2004-08-24 2011-01-05 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7751639B1 (en) * 2005-04-20 2010-07-06 University Of East Anglia Obtaining intrinsic images
EP2507744A2 (en) * 2009-12-02 2012-10-10 QUALCOMM Incorporated Feature matching by clustering detected keypoints in query and model images
US8582889B2 (en) * 2010-01-08 2013-11-12 Qualcomm Incorporated Scale space normalization technique for improved feature detection in uniform and non-uniform illumination changes
US9530073B2 (en) * 2010-04-20 2016-12-27 Qualcomm Incorporated Efficient descriptor extraction over multiple levels of an image scale space
RU2438174C1 (ru) * 2010-06-15 2011-12-27 Общество с ограниченной ответственностью "Томсклаб" Способ распознавания объектов
US9141871B2 (en) * 2011-10-05 2015-09-22 Carnegie Mellon University Systems, methods, and software implementing affine-invariant feature detection implementing iterative searching of an affine space

Also Published As

Publication number Publication date
KR102195826B1 (ko) 2020-12-29
EP3025273B1 (en) 2022-11-30
RU2016103624A3 (pt) 2018-05-21
CN105493105A (zh) 2016-04-13
MX350657B (es) 2017-09-12
US20160155014A1 (en) 2016-06-02
ES2939244T3 (es) 2023-04-20
KR20160034928A (ko) 2016-03-30
CA2918947A1 (en) 2015-01-29
BR112016001377A2 (pt) 2017-08-29
CA2918947C (en) 2022-07-12
RU2016103624A (ru) 2017-08-29
RU2663356C2 (ru) 2018-08-03
JP6499647B2 (ja) 2019-04-10
JP2016527634A (ja) 2016-09-08
MX2016000994A (es) 2016-04-19
CN105493105B (zh) 2018-12-28
WO2015011185A1 (en) 2015-01-29
ITMI20131244A1 (it) 2015-01-25
US10152646B2 (en) 2018-12-11
EP3025273A1 (en) 2016-06-01

Similar Documents

Publication Publication Date Title
BR112016001377B1 (pt) Método para identificar pontos-chave em uma imagem digital
CN105844669B (zh) 一种基于局部哈希特征的视频目标实时跟踪方法
CN110232387B (zh) 一种基于kaze-hog算法的异源图像匹配方法
Ben-Ari A unified approach for registration and depth in depth from defocus
CN110517300A (zh) 基于局部结构算子的弹性图像配准算法
Huang et al. Multimodal image matching using self similarity
Déniz et al. Multi-stained whole slide image alignment in digital pathology
Chater et al. Robust Harris detector corresponding and calculates the projection error using the modification of the weighting function
Singla et al. A systematic way of affine transformation using image registration
Lavin-Delgado et al. Fractional speeded up robust features detector with the Caputo-Fabrizio derivative
Trahearn et al. A fast method for approximate registration of whole-slide images of serial sections using local curvature
JP2018010359A (ja) 情報処理装置、情報処理方法、およびプログラム
CN106056551A (zh) 基于局部相似样例学习的稀疏去噪方法
Shi et al. Alignment of two-dimensional electrophoresis gels
CN110335298B (zh) 一种基于无人机平台图像消旋方法
Gao et al. Evaluation of feature matching in aerial imagery for structure-from motion and bundle adjustment
KR102392631B1 (ko) 딥매칭을 이용한 콘크리트 구조물 또는 교량의 파노라마 이미지 생성 및 업데이트 시스템, 이의 파노라마 이미지 생성 및 업데이트 방법 및 파노라마 이미지 생성 및 업데이트 프로그램
Chu et al. An iterative image registration algorithm by optimizing similarity measurement
Manfredi et al. Algorithms for warping of 2-D PAGE maps
Sirisha et al. Evaluation of distinctive color features from harris corner key points
Du et al. Color correction using weighted moving least squares in image mosaicking applications
Zhang et al. Multiple candidates and multiple constraints based accurate depth estimation for multi-view stereo
Jiang et al. An optimized SIFT algorithm based on color space normalization
Akselrod-Ballin et al. Improved registration for large electron microscopy images
Ferraris et al. Accurate small deformation exponential approximant to integrate large velocity fields: Application to image registration

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/07/2014, OBSERVADAS AS CONDICOES LEGAIS