BR112014016400B1 - Método e sistema para processar uma imagem, e, método para gerar uma distribuição estatística de referência de valores de uma característica local de ponto chave - Google Patents
Método e sistema para processar uma imagem, e, método para gerar uma distribuição estatística de referência de valores de uma característica local de ponto chave Download PDFInfo
- Publication number
- BR112014016400B1 BR112014016400B1 BR112014016400-2A BR112014016400A BR112014016400B1 BR 112014016400 B1 BR112014016400 B1 BR 112014016400B1 BR 112014016400 A BR112014016400 A BR 112014016400A BR 112014016400 B1 BR112014016400 B1 BR 112014016400B1
- Authority
- BR
- Brazil
- Prior art keywords
- keypoint
- image
- local feature
- local
- relevance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000009826 distribution Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 title claims abstract description 27
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 129
- 239000011159 matrix material Substances 0.000 description 48
- 238000003491 array Methods 0.000 description 33
- 238000000605 extraction Methods 0.000 description 31
- 230000000007 visual effect Effects 0.000 description 26
- 238000007906 compression Methods 0.000 description 25
- 230000006835 compression Effects 0.000 description 25
- 238000012549 training Methods 0.000 description 22
- 238000010191 image analysis Methods 0.000 description 18
- 101150008950 CBK1 gene Proteins 0.000 description 9
- 101100326161 Chlamydomonas reinhardtii BKT gene Proteins 0.000 description 9
- 102100030058 Secreted frizzled-related protein 1 Human genes 0.000 description 9
- 230000006399 behavior Effects 0.000 description 9
- 238000013139 quantization Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 101150111792 sda1 gene Proteins 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 108010031325 Cytidine deaminase Proteins 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 238000007619 statistical method Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 108010029988 AICDA (activation-induced cytidine deaminase) Proteins 0.000 description 2
- 101001030172 Homo sapiens Myozenin-3 Proteins 0.000 description 2
- 101100477442 Homo sapiens SFRP2 gene Proteins 0.000 description 2
- 102100038897 Myozenin-3 Human genes 0.000 description 2
- 101100447180 Schizosaccharomyces pombe (strain 972 / ATCC 24843) frp2 gene Proteins 0.000 description 2
- 102100030054 Secreted frizzled-related protein 2 Human genes 0.000 description 2
- 102100022433 Single-stranded DNA cytosine deaminase Human genes 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- MZZYGYNZAOVRTG-UHFFFAOYSA-N 2-hydroxy-n-(1h-1,2,4-triazol-5-yl)benzamide Chemical compound OC1=CC=CC=C1C(=O)NC1=NC=NN1 MZZYGYNZAOVRTG-UHFFFAOYSA-N 0.000 description 1
- 101000904787 Homo sapiens Serine/threonine-protein kinase ATR Proteins 0.000 description 1
- 101000658622 Homo sapiens Testis-specific Y-encoded-like protein 2 Proteins 0.000 description 1
- 102100034917 Testis-specific Y-encoded-like protein 2 Human genes 0.000 description 1
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Holo Graphy (AREA)
- Investigating Or Analysing Materials By Optical Means (AREA)
Abstract
MÉTODO E SISTEMA PARA PROCESSAR UMA IMAGEM, E, MÉTODO PARA GERAR UMA DISTRIBUIÇÃO ESTATÍSTICA DE REFERÊNCIA DE VALORES DE UMA CARACTERÍSTICA LOCAL DE PONTO CHAVE. Um método para processar uma imagem é proposto. O método compreende identificar um primeiro grupo de pontos chaves na imagem. Para cada ponto chave do primeiro grupo, o método provê identificar pelo menos uma característica local de ponto chave correspondente relacionada dito cada ponto chave; para dita pelo menos uma característica local de ponto chave, calcular uma probabilidade de relevância de característica local correspondente; calcular uma probabilidade de relevância de ponto chave baseado nas probabilidades de relevância de característica locais de dita pelo menos uma característica local. O método adicionalmente compreende selecionar pontos chaves, entre os pontos chaves do primeiro grupo, tendo as probabilidades de relevância de ponto chave mais altas para formar um segundo grupo de pontos chaves, e explorar os pontos chaves do segundo grupo para analisar a imagem. A probabilidade de relevância de característica local calculada para uma característica local de um ponto chave é obtida comparando o valor assumido por dita característica local com uma distribuição estatística de referência correspondente de valores de dita característica local.
Description
[0001] A presente invenção relaciona-se ao campo da análise de imagem.
[0002] No campo da análise de imagem, uma operação comum provê comparar duas imagens a fim de achar a relação ocorrendo entre elas no caso que ambas as imagens incluem pelo menos uma porção de uma mesma cena ou de um mesmo objeto.
[0003] Entre um número alto de aplicativos, a comparação de imagem é da importância extrema para calibrar câmeras de vídeo pertencendo a um sistema de multicâmeras, para avaliar o movimento ocorrendo entre dois quadros de uma tomada de vídeo, e para o reconhecimento de um objeto dentro de uma imagem (por exemplo, um quadro). A aplicativo posterior está agora assumindo cada vez mais importância devido ao recente desenvolvimento de algoritmos de reconhecimento de objeto projetados especificamente para serem empregados nas denominadas máquinas de pesquisa visuais, isto é, serviços automatizados que, a partir de um quadro, são capazes de identificar os objetos visualizados nisso e oferecer informação relacionada aos objetos identificados. Exemplos de serviços conhecidos deste tipo incluem Google Goggles, Nokia Point&Find e kooaba Smart Visuals. Um aplicativo de reconhecimento de objeto tipicamente provê comparar uma primeira imagem - em jargão, chamada “imagem de busca” - descrevendo um objeto a ser reconhecido com uma pluralidade de imagens de modelo, cada uma descrevendo um objeto conhecido respectivo; isto permite executar uma comparação entre o objeto descrito na imagem de busca e os objetos descritos nas imagens de modelo.
[0004] As imagens modelo estão tipicamente arranjadas em um banco de dados de modelo próprio. Por exemplo, no caso que o reconhecimento de objeto é explorado em um cenário de compras on-line, cada imagem de modelo corresponde a um artigo oferecido por uma loja on-line (por exemplo, a figura de uma capa de livro, uma capa de DVD e/ou uma capa de CD). O número de imagens de modelo incluídas em um banco de dados de tal tipo é bastante alto; por exemplo, um banco de dados de modelo de um serviço de compras on-line pode incluir várias milhões de imagens.
[0005] Um modo muito eficiente para executar operações de comparação entre duas imagens provê selecionar um conjunto de pontos - em jargão, chamados pontos chaves - na primeira imagem e então combinar cada ponto chave do conjunto a um ponto chave correspondente na segunda imagem. A seleção de qual ponto da primeira imagem tem que se tomar um ponto chave é executada vantajosamente extraindo características locais da área da imagem cercando o próprio ponto, tal como por exemplo a escala de extração de ponto, a orientação privilegiada da área, e o denominado “descritor”. No campo da análise de imagem, um descritor de um ponto chave é um operador matemático descrevendo o gradiente de luminância de uma área da imagem (chamado remendo) centrado no ponto chave, com tal remendo estando orientado de acordo com o gradiente de luminância principal do próprio remendo.
[0006] Em “Distinctive image features from scale-invariant keypoints”, por David G. Lowe, 'International Journal of computer vision', 2004, um descritor de Transformada de Característica Invariante em Escala (SIFT) foi proposto; brevemente, a fim de permitir um reconhecimento de imagem seguro, os descritores de SIFT são gerados levando em conta que as características locais extraídas da imagem correspondendo a cada ponto chave deveriam ser detectáveis até mesmo sob mudanças em escala de imagem, ruído e iluminação. Os descritores de SIFT são assim invariantes para graduação, orientação uniformes e parcialmente invariantes para distorção afim e mudanças de iluminação.
[0007] O descritor de SIFT é uma ferramenta bastante poderosa, que permite selecionar pontos chaves para executar comparações de imagem precisas. Porém, esta precisão pode ser alcançada só com o uso de uma quantidade bastante grande de dados; por exemplo, um descritor de SIFT típico é uma matriz de 128 bytes de dados. Desde que o número de pontos chaves em cada imagem é relativamente alto (por exemplo, 1000-1500 pontos chaves para um quadro de VGA padrão), e desde que cada ponto chave está associado com um descritor de SIFT correspondente, a quantidade global de dados a ser processada pode ficar excessiva para ser administrada eficientemente.
[0008] Esta desvantagem é exacerbada no caso que o cenário envolve o uso de terminais móveis (por exemplo, identificação de objetos extraídos de quadros tomados pela câmera de um smartphone). Realmente, desde que as operações a serem executadas para executar a análise de imagem são bastante complexas e exigentes em termos de carga computacional, neste caso, a maioria das operações são executadas normalmente no lado de servidor; a fim de ter toda a informação exigida para executar a análise, o servidor precisa receber do terminal móvel todos os dados exigidos, incluindo os descritores de SIFT para todos os pontos chaves. Assim, a quantidade de dados a ser transmitida do terminal ao servidor pode ficar excessiva para garantir uma boa eficiência do serviço.
[0009] De acordo com uma solução conhecida na técnica, tal como por exemplo a empregada por Google Goggles, esta desvantagem é resolvida na raiz transmitindo diretamente a imagem, e não os descritores, do terminal móvel para o servidor. Realmente, por causa do número bastante alto de pontos chaves, a quantidade de dados dos descritores de SIFT correspondentes pode exceder o tamanho (em termos de bytes) de um próprio quadro de VGA padrão.
[00010] Achou-se que as abordagens conhecidas na técnica não são eficientes, ainda requerendo a administração de uma quantidade alta de dados e/ou a concentração de uma porção grande das operações no lado de servidor, limitando a capacidade de expansão do sistema e os desempenhos globais.
[00011] Por exemplo, a solução empregada por Google Goggles, que provê transmitir diretamente a imagem - e não os descritores - do terminal móvel para o servidor requer que a carga computacional inteira seja movida para o servidor, que pode se tomar sobrecarregado. Além disso, a transmissão da imagem comprimida ainda requer uma quantidade considerável de dados (por exemplo, dezenas de Kbytes para uma imagem de VGA).
[00012] Combateu-se o problema de como melhorar estas abordagens em termos de quantidade de dados a ser processada.
[00013] Em particular, combateu-se o problema para prover um método para processar uma imagem que exige uma quantidade reduzida de dados ser administrada.
[00014] Achou-se que a quantidade de dados a ser processada para executar procedimentos de análise de imagem pode vantajosamente ser reduzida selecionando um ótimo subconjunto de pontos chaves - entre os pontos chaves identificados na imagem - de acordo com probabilidades de relevância de característica local calculadas baseado em distribuições estatísticas de referência.
[00015] De acordo com um aspecto da presente invenção, um método para processar uma imagem é proposto. O método compreende identificar um primeiro grupo de pontos chaves na imagem. Para cada ponto chave do primeiro grupo, o método provê identificar pelo menos uma característica local de ponto chave correspondente relacionada a dito cada ponto chave; para dita pelo menos uma característica local de ponto chave, calcular uma probabilidade de relevância de característica local correspondente; calcular uma probabilidade de relevância de ponto chave baseado nas probabilidades de relevância de característica locais de dita pelo menos uma característica local. O método compreende adicionalmente selecionar pontos chaves, entre os pontos chaves do primeiro grupo, tendo as probabilidades de relevância de ponto chave mais altas para formar um segundo grupo de pontos chaves, e explorar os pontos chaves do segundo grupo para analisar a imagem. A probabilidade de relevância de característica local calculada para uma característica local de um ponto chave é obtida comparando o valor assumido por dita característica local com uma distribuição estatística de referência correspondente de valores de dita característica local.
[00016] De acordo com uma concretização da presente invenção, cada dita distribuição estatística de referência correspondente é equivalente estatisticamente a uma distribuição estatística correspondente gerada colecionando, entre uma pluralidade de pontos chaves de referência identificados em uma pluralidade de pares de imagem de referência, os valores de característica locais correspondendo àqueles pontos chaves de referência de cada par de imagem de referência que foi averiguado envolver uma combinação de característica correto entre as imagens de referência de tal par.
[00017] Preferivelmente, dita pelo menos uma característica local de ponto chave relacionada ao dito cada ponto chave compreende pelo menos um entre as coordenadas do ponto chave, a escala à qual o ponto chave foi identificado, a orientação dominante do ponto chave, o pico do ponto chave e um descritor do ponto chave.
[00018] De acordo com uma concretização da presente invenção, cada distribuição estatística de referência está arranjada na forma de um histograma correspondente tendo uma pluralidade de recipientes. Cada recipiente corresponde a uma gama predefmida de valores da característica local correspondente. A frequência de cada recipiente corresponde a uma relação entre: a) o número de pontos chaves de referência que foi averiguado envolver uma combinação de característica correto e tendo um valor da característica local correspondente que cai dentro de dita recipiente, e b) o número total de pontos chaves de referência tendo um valor da característica local correspondente que cai dentro de dita recipiente.
[00019] De acordo com uma concretização da presente invenção, calcular a probabilidade de relevância de característica local para uma característica local de um ponto chave compreende inspecionar o histograma correspondendo a tal característica local a fim de identificar a recipiente disso ajustando o valor assumido pela característica local do ponto chave, e fixar a probabilidade de relevância de característica local à frequência da recipiente identificado.
[00020] Vantajosamente, calcular uma probabilidade de relevância de ponto chave de um ponto chave do primeiro grupo inclui combinar as probabilidades de relevância de característica locais de cada uma de dita pelo menos uma característica local do ponto chave correspondente.
[00021] Preferivelmente, calcular uma probabilidade de relevância de ponto chave de um ponto chave do primeiro grupo inclui multiplicar entre si as probabilidades de relevância de característica locais de cada uma de dita pelo menos uma característica local do ponto chave correspondente.
[00022] Outro aspecto da presente invenção provê um sistema para processar uma imagem. Dito sistema inclui uma primeira unidade de processamento configurada para identificar um primeiro grupo de pontos chaves na imagem, e segunda unidade de processamento configurada para executar as operações seguintes para cada ponto chave do primeiro grupo: a) identificar pelo menos uma característica local de ponto chave correspondente relacionada a dito cada ponto chave; b) para dita pelo menos uma característica local de ponto chave, calcular uma probabilidade de relevância de característica local correspondente; c) calcular uma probabilidade de relevância de ponto chave baseado nas probabilidades de relevância de característica locais de dita pelo menos uma característica local.
[00023] O sistema adicionalmente compreende uma terceira unidade de processamento configurada para selecionar pontos chaves, entre o pontos chaves do primeiro grupo, tendo as probabilidades de relevância de ponto chave mais altas para formar um segundo grupo de pontos chaves, e uma quarta unidade de processamento configurada para explorar os pontos chaves do segundo grupo para analisar a imagem. A probabilidade de relevância de característica local calculada para uma característica local de um ponto chave é obtida comparando o valor assumido por dita característica local com uma distribuição estatística de referência correspondente de valores de dita característica local.
[00024] Um aspecto ainda adicional da presente invenção relaciona-se a um método por gerar uma distribuição estatística de referência de valores de uma característica local de ponto chave. Breve descrição dos desenhos
[00025] Estas e outras características e vantagens da presente invenção serão feitas evidentes pela descrição seguinte de algumas concretizações exemplares e não limitativas disso, a serem lidas junto com os desenhos anexos, em que: A Figura 1 ilustra em termos de blocos funcionais um procedimento de extração dirigido para extrair de uma imagem de busca um ótimo conjunto de pontos chaves e gerar um conjunto comprimido de descritores de acordo com uma concretização da presente invenção; as Figuras 2A-2F são distribuições estatísticas de características locais selecionadas correspondentes de pontos chaves de acordo com algumas concretizações exemplares da presente invenção; a Figura 2G é um quadro exemplar processado de acordo com o procedimento de extração da Figura 1; a Figura 3 A ilustra um descritor exemplar do tipo de SIFT; a Figura 3B ilustra uma matriz de descritor exemplar do descritor da Figura 3A; a Figura 4A ilustra uma compressão de matriz de descritor exemplar de acordo com uma solução conhecida na técnica; a Figura 4B ilustra uma compressão de matriz de descritor exemplar de acordo com outra solução conhecida na técnica; a Figura 5 ilustra um arranjo de sub-histogramas de um descritor em famílias de correlação de acordo com uma concretização da presente invenção; as Figuras 6A-6D mostram como a matriz de descritor está comprimido de acordo com concretizações exemplares da presente invenção; a Figura 7A ilustra uma distribuição exemplar de pontos chaves KP; a Figura 7B ilustra como uma grade pode ser sobreposta sobre a imagem de busca para quantizar as coordenadas dos pontos chaves da Figura 7A; a Figura 7C é uma representação gráfica exemplar de um histograma obtido sobrepondo a grade da Figura 7B sobre o conjunto de pontos chaves KP da Figura 7A; a Figura 7D identifica as colunas e filas da grade da Figura 7B que são formadas completamente por células que não incluem nenhum ponto chave; a Figura 7E ilustra um histograma exemplar sobre um apoio de grau 1; a Figura 7F ilustra um mapa de histograma correspondendo ao histograma sobre o apoio de grau 1 da Figura 7E; a Figura 8A ilustra um exemplo de um histograma de palavra; a Figura 8B ilustra um exemplo de um mapa de histograma; a Figura 9 ilustra em termos de blocos funcionais um procedimento de combinação dirigido para executar a comparação entre duas imagens de acordo com uma concretização da presente invenção, e a Figura 10 ilustra em termos de blocos funcionais um procedimento de recuperação dirigido para recobrar de um banco de dados de modelo uma imagem de modelo descrevendo o mesmo objeto/cena descrita na imagem de busca de acordo com uma concretização da presente invenção. Descrição detalhada de concretizações exemplares da invenção PROCEDIMENTO DE EXTRAÇÃO (FIGURA 1)
[00026] A Figura 1 ilustra em termos de blocos funcionais um procedimento, doravante chamado “procedimento de extração” e identificado com a referência 100, dirigido para processar uma imagem de entrada a fim de obter um ótimo conjunto de pontos chaves e gerar um conjunto correspondente de descritores de acordo com uma concretização da presente invenção. Os pontos chaves e o descritores serão então explorados para propósitos de análise de imagem. No seguinte da descrição presente, as expressões genéricas “análise de imagem” e “analisar uma imagem” têm que ser pretendidas incluir todas aquelas operações que proveem comparar uma imagem com pelo menos uma outra imagem. Estas operações podem ser executadas em uma ampla variedade de aplicativos, tal como por exemplo em uma aplicativo de reconhecimento de objeto, como também em uma aplicativo provendo a criação de um único quadro panorâmico a partir de uma pluralidade de quadros diferentes.
[00027] Como será descrito mais tarde, os procedimentos de extração de acordo com uma concretização da presente invenção adicionalmente proveem selecionar um ótimo subconjunto de pontos chaves e comprimir os descritores de tais pontos chaves a uma extensão tal a melhorar grandemente a eficiência de procedimentos subsequentes.
[00028] As etapas do procedimento de extração 100 descrito nesta seção podem ser executadas por unidades de processamento próprias, cujas estrutura e função dependem do campo específico de aplicativo ao qual elas são destinadas. Por exemplo, cada unidade de processamento pode ser uma unidade de hardware projetada especificamente para executar uma ou mais etapas do método. Além disso, as etapas do método podem ser executadas por uma máquina programável (por exemplo, um computador) sob o controle de um conjunto correspondente de instruções. Extração de Pontos chaves (fase 110)
[00029] A primeira fase 110 do procedimento de extração 100 provê receber uma imagem de busca 115 e extrair dela um primeiro conjunto de pontos chaves KP, cada um associado com um par correspondente de coordenadas espaciais C identificando a localização de tal ponto chave KP dentro da imagem de busca 115.
[00030] Esta operação pode ser executada explorando o conhecido algoritmo de extração de ponto chave de Diferença de Gaussianos (DoG); porém, considerações semelhantes se aplicam no caso que algoritmos de extração de ponto chave diferentes são empregados, tal como por exemplo o algoritmo de extração de ponto chave de Determinante dos Elessianos (DoH). Fazendo referência ao algoritmo de extração de ponto chave de DoG, a imagem de busca 115 é convolvida com filtros Gaussianos em uma sequência a escalas diferentes. Então, uma operação de diferença é executada entre pares de imagens Gaussianas borradas adjacentes na sequência. Os pontos chaves KP são então escolhidos como os pontos tendo valores máximos/mínimos de Diferença de Gaussiano (DoG) a múltiplas escalas. Particularmente, cada pixel em uma imagem de DoG é comparado a seus oito vizinhos na mesma escala e a nove pixels vizinhos a cada uma das escalas vizinhas (isto é, as escalas subsequentes e as prévias na sequência). Se o valor de pixel for o máximo ou mínimo entre todos os pixels comparados, esse ponto é considerado um ponto chave de candidato KP.
[00031] A fase 110 também provê que cada ponto chave KP seja nomeado a uma ou mais orientações baseado em direções de gradiente de luminância de imagem local. Por exemplo, um histograma de orientação com uma pluralidade de recipientes é formado, com cada recipiente cobrindo um intervalo de grau correspondente. Cada amostra na janela vizinha adicionada a um recipiente de histograma é ponderada por sua magnitude de gradiente e por uma janela circular ponderada Gaussiana. Os picos no histograma resultante correspondem a orientações dominantes. Uma vez que o histograma esteja cheio, as orientações correspondendo ao pico mais alto e picos locais que estão dentro de 80% dos picos mais altos são nomeadas ao ponto chave KP. No caso que múltiplas orientações foram nomeadas, um ponto chave adicional KP é criado tendo q mesma localização e escala como o ponto chave original para cada orientação adicional.
[00032] Ao término de fase 110, um conjunto de pontos chaves KP é assim gerado, junto com as coordenadas correspondentes C, a escala S à qual o ponto chave é extraído, sua orientação dominante O, e o pico P, isto é, o valor absoluto do DoG correspondendo a tal ponto chave (que é indicativo do contraste disso). Geração de Descritores (fase 120)
[00033] A fase 120 seguinte provê processar a imagem de busca 115 a fim de computar para cada ponto chave KP um descritor correspondente D. No exemplo em questão, os descritores D computados na fase 120 são descritores do tipo de SIFT. Enquanto os pontos chaves KP foram extraídos de tal modo a assegurar invariância à localização de imagem, escala e rotação, os descritores de SIFT D são computados de tal modo a serem altamente distintivos e parcialmente invariantes para iluminação e ponto de vista. Especifícamente, para cada ponto chave KP, um conjunto de 16 sub- histogramas é calculado em uma grade 4x4 que está centrada na localização de ponto chave KP e orientado de acordo com a orientação dominante do ponto chave KP. Cada sub-histograma inclui 8 recipientes, cada uma correspondendo a uma orientação tendo um ângulo n*π/4 (n = 0, 1, 7) com respeito à orientação dominante; a frequência de cada recipiente de um sub- histograma é proporcional ao gradiente de luminância da célula de grade (em seguida chamada sub-região) correspondendo a tal sub-histograma, considerado ao longo da direção identificada por tal recipiente. Os valores de tais histogramas de orientação são arranjados em uma matriz, formando o descritor D do ponto chave KP. Desde que há 4 x 4 = 16 sub-histogramas, cada um com 8 recipientes, o descritor D é uma matriz tendo 128 itens.
[00034] Os conceitos da presente invenção também são aplicáveis se o descritor de SIFT for calculado em uma grade incluindo um número diferente de células, e/ou com um número diferente de recipientes por histograma.
[00035] Além disso, até mesmo se no exemplo em questão referência foi feita a descritores do tipo de SIFT, considerações semelhantes se aplicam no caso que tipos diferentes de descritores são empregados, tais como por exemplo a Característica Robusta Acelerada (SURF) e o Histograma de Gradientes Orientados (HOG), ou possivelmente outros. Além disso, até mesmo se referência foi feita e será feita no seguinte a descritores incluindo dados relativos a gradientes de luminância, considerações semelhantes se aplicam se gradientes de parâmetros diferentes forem considerados. Realmente, como é bem conhecido àqueles qualificados na técnica, a luminância é só uma das propriedades físicas da cor. Assim, até mesmo se a luminância foi averiguada ser a melhor propriedade física (isto é, a mais robusta) a ser considerada para propósitos de análise de imagem, tipos diferentes de descritores também podem ser considerados, por exemplo incluindo dados relativos a gradientes de crominância, gradientes de saturação, ou até mesmo gradientes de cor (que inclui ambos luminância, saturação e crominância).
[00036] Como já mencionado acima, executar operações de análise de imagem envolve a administração de uma quantidade bastante grande de dados: realmente, cada ponto chave KP está associado com uma pluralidade de características locais (doravante identificada globalmente com referência LFkp), incluindo as coordenadas C, a escala S, a orientação dominante O, e o pico P, como também um descritor correspondente D formado por uma matriz de 128 itens. Para este propósito, a fim de reduzir a quantidade global de dados a ser administrada (por exemplo, a ser memorizada e/ou transmitida), o procedimento de extração 100 de acordo com uma concretização da presente invenção provê dois expedientes, isto é: 1) reduzir o número do pontos chaves gerados previamente KP selecionando o pontos chaves mais pertinentes KP (do ponto de vista de comparação de imagem), a fim de obter um ótimo subconjunto SUB de pontos chaves KP, e 2) comprimir corretamente ambas as coordenadas Ceo descritores D.
[00037] Fase 130 do procedimento de extração 100 é dedicada à seleção do ótimo subconjunto SUB, fase 140 é dedicada à compressão dos descritores D, e a fase 150 é dedicada à compressão das coordenadas C. Seleção do ótimo subconjunto de pontos chaves (fase 130)
[00038] De acordo com uma concretização da presente invenção, a seleção do ótimo subconjunto SUB é executada calculando para pelo menos uma característica local LFkp - as coordenadas C, a escala S, a orientação dominante O, o pico P e o descritor D - de cada ponto chave KP da imagem de busca 115 pelo menos uma probabilidade de relevância de característica correspondente FRP, ordenando o pontos chaves KP de acordo com uma probabilidade de relevância de ponto chave KRP baseada nas probabilidades de relevância de característica FRP de suas características locais LFkp, e então selecionando os pontos chaves KP tendo as probabilidades de relevância de ponto chave mais altas KRP.
[00039] De acordo com uma concretização da presente invenção, a probabilidade de relevância de característica FRP de cada característica local LFkp do ponto chave genérico KP é calculada explorando uma distribuição estatística de referência correspondente Rsd, que já foi predeterminada com antecedência depois de ter executado avaliações estatísticas em um banco de dados de imagem de referência.
[00040] As distribuições estatísticas de referência Rsd são feitas de tal modo a refletir o comportamento estatístico das características locais LFkp de pontos chaves KP considerados úteis para propósitos de análise de imagem.
[00041] Por exemplo, no caso de procedimentos de reconhecimento de objeto, o banco de dados de imagem de referência é um banco de dados incluindo uma pluralidade de pares de imagem, com cada par de imagem consistindo em dois quadros descrevendo um mesmo objeto/cena. De acordo com uma concretização da presente invenção, as distribuições estatísticas de referência são geradas do modo seguinte.
[00042] Pontos chaves são primeiramente extraídos de todas as imagens do banco de dados de referência. Então, uma primeira análise estatística é executada em uma ou mais características locais selecionadas de todos os pontos chaves extraídos, de modo a gerar primeiras distribuições estatísticas de tais características locais selecionadas. Cada primeira distribuição estatística de uma característica local é arranjada na forma de um histograma, obtido contando o número de pontos chaves (frequência de pontos chaves) - entre a totalidade de pontos chaves extraídos das imagens do banco de dados de referência - tendo um valor de tal característica local que cai dentro de cada um de uma pluralidade de intervalos de valor de característica locais predefinidos (recipiente). Então, para cada par de imagem, pontos chaves de um quadro são combinados com pontos chaves do outro quadro. As combinações entre tais pontos chaves são processados usando um procedimento de comparação de imagem (tal como qualquer um entre os procedimentos de comparação de imagem conhecidos baseado em combinação de característica de imagem) a fim de identificar qual combinação está correto ('inlier') e qual está incorreto ('outlier'). Uma segunda análise estatística é então executada na mesma característica ou características consideradas previamente a fim de gerar as distribuições estatísticas de referência Rsd a serem usadas para calcular as probabilidades de relevância de característica FRP. Neste momento, a geração das distribuições estatísticas de referência Rsd é executada calculando para cada recipiente uma relação entre o número de pontos chaves pertencendo a 'inliers' e tendo um valor da característica local correspondente que cai dentro de dita recipiente, e o número total de pontos chaves (ambos pertencendo a 'inliers' e ’outliers') tendo um valor da característica local correspondente que cai dentro da mesma recipiente.
[00043] Observou-se que as primeiras distribuições estatísticas e as distribuições estatísticas de referência Rsd são bastante diferentes entre si. Desde que as distribuições estatísticas de referência Rsd são geradas levando em conta os pontos chaves que envolvem uma combinação de característica correto ('inlier'), o requerente achou que tais distribuições estatísticas são boas representantes do comportamento estatístico de pontos chaves (doravante, “pontos chaves pertinentes”) que são pertinentes para propósitos de análise de imagem, e particularmente adequadas para serem empregadas eficientemente em um procedimento de comparação de imagem.
[00044] A Figuras 2A-2F ilustram algumas distribuições estatísticas Rsd de características locais selecionadas correspondentes LFkp de pontos chaves KP de acordo com algumas concretizações exemplares da presente invenção. Em particular, as distribuições estatísticas Rsd das Figuras 2A-2F que foram geradas de imagens de um banco de dados de referência arranjados especificamente para aplicativos de reconhecimento de objeto. Caso um aplicativo de análise de imagem diferente seja considerado, tal como por exemplo a criação de um único quadro panorâmico partindo de uma pluralidade de quadros diferentes, as imagens da referência, e portanto, as distribuições estatísticas resultantes Rsd seriam diferentes.
[00045] A Figura 2A é uma distribuição estatística Rsd relacionada às coordenadas C do pontos chaves KP. Cada recipiente do histograma correspondente representa a distância (em pixel) do ponto chave genérico KP do centro da imagem. No exemplo em questão, a imagem considerada é do tipo de VGA (isto é, tendo uma resolução de 640 x 480), assim o centro corresponde à coordenada (320, 240). De acordo com o histograma ilustrado na Figura 2A, a recipiente tendo a frequência mais alta de pontos chaves KP é a correspondendo ao centro da imagem. Isto significa que quanto mais perto um ponto chave KP está ao centro, mais alta a probabilidade que tal ponto chave KP seja um ponto chave pertinente; a tendência das frequências de histograma diminui monotonicamente quando a distância do centro aumenta. Isto poderia ser explicado facilmente pelo fato que quando um objeto é fotografado, é altamente provável que dito objeto seja enquadrado no centro do quadro. Tem que ser apreciado que neste caso as recipientes do histograma não têm todas as mesmas larguras; isto é devido ao fato que a largura de cada recipiente foi determinada corretamente por um quantizador (escalar e/ou vetorial) de tal modo a computar poucas recipientes, assim evitando o fato de ocorrências de fenômeno de sobre-ajuste. Os conceitos da presente invenção também se aplicam no caso que uma quantização uniforme (escalar e/ou vetorial) é empregada, isto é, com todas as recipientes do histograma tendo uma mesma largura.
[00046] A Figura 2B é uma distribuição estatística Rsd relacionada à orientação dominante O dos pontos chaves KP. Cada recipiente do histograma correspondente representa o ângulo (em radianos) da direção dominante do ponto chave genérico KP com respeito ao horizonte (correspondendo a 0 radiano). De acordo com o histograma ilustrado na Figura 2B, as recipientes tendo as frequências mais altas de pontos chaves KP são as correspondendo às orientações que estão paralelas ou perpendiculares à orientação de horizonte (isto é, correspondendo a π/2, 0, -π/2, -π). Isto significa que quanto mais perto a orientação de um ponto chave KP está a uma de ditas orientações, mais alta a probabilidade que tal ponto chave KP seja um ponto chave pertinente. Isto poderia ser explicado pelo fato que quando um objeto é fotografado, é altamente provável que dito objeto seja enquadrado de modo a se estender principalmente paralelo e/ou perpendicular à linha de horizonte. Neste caso igualmente, a largura das recipientes é determinada por meio de um quantizador.
[00047] A Figura 2C é uma distribuição estatística Rsd relacionada ao pico P dos pontos chaves KP. Cada recipiente do histograma correspondente representa o contraste entre o ponto chave genérico KP e o ponto mais semelhante entre os vizinhos. De acordo com o histograma ilustrado na Figura 2C, a recipiente tendo a frequência mais alta de pontos chaves KP é a correspondendo aos valores de pico mais altos. Isto significa que quanto mais alto o contraste de um ponto chave KP, mais alta a probabilidade que tal ponto chave KP seja um ponto chave pertinente; a tendência das frequências de histograma aumenta monotonicamente quando o contraste aumenta. Isto poderia ser explicado facilmente pelo fato que um ponto de um quadro tendo um contraste alto é facilmente reconhecível e identificável. Neste caso igualmente, a largura das recipientes é determinada por meio de um quantizador.
[00048] A Figura 2D é uma distribuição estatística Rsd relacionada à escala S dos pontos chaves KP. Cada recipiente do histograma correspondente representa uma escala particular S à qual o ponto chave KP pode ser extraído. De acordo com o histograma ilustrado na Figura 2D, a recipiente tendo a frequência mais alta de pontos chaves KP corresponde a uma escala meio-baixa. Neste caso igualmente, a largura das recipientes é determinada por meio de um quantizador.
[00049] A Figura 2E é uma primeira distribuição estatística Rsd relacionada aos descritores D dos pontos chaves KP. Neste caso, o histograma correspondente é tridimensional, com cada recipiente disso correspondendo a valores de intervalo de dois parâmetros do descritor D do ponto chave genérico KP, isto é, a média (eixo x) e a variância (eixo y) do descritor D. Maiores valores de frequência estão indicados por círculos de diâmetro maior. A média e a variância foram consideradas juntas para formar um mesmo histograma, desde que elas estão ligadas uma a outra. De acordo com tal histograma, a recipiente tendo a frequência mais alta de pontos chaves KP, representada por círculos maiores, é a correspondendo à média mais alta e à variância mais baixa. Isto pode ser explicado pelo fato que quanto mais alta a média do descritor D de um ponto chave KP, mais alto o gradiente de luminância correspondendo a tal ponto chave KP, e quanto mais baixa a variância do descritor D de um ponto chave KP, mais baixo o ruído indesejado afetando tal ponto chave KP.
[00050] A Figura 2F é uma segunda distribuição estatística Rsd relacionada aos descritores D dos pontos chaves KP. Neste caso, cada recipiente corresponde a uma distância máxima particular entre o descritor D de um ponto chave KP e os descritores D dos outros pontos chaves KP da mesma imagem. Por exemplo, tal distância máxima pode ser computada baseada na distância Euclideana entre descritores. Outro método conhecido também pode ser contemplado, tal como por exemplo explorar a divergência de Kullback-Leibler simetrizada.
[00051] Retomando à Figura 1, de acordo com uma concretização da presente invenção, a fase 130 do procedimento de extração 100 provê calcular, para cada ponto chave KP extraído na fase 110: - Uma primeira probabilidade de relevância de característica FRP1, obtida da distribuição estatística Rsd relacionada às coordenadas C de dito ponto chave KP. O histograma correspondendo à dita distribuição é inspecionado a fim de identificar a recipiente disso ajustando as coordenadas C de dito ponto chave KP; então, a probabilidade de relevância de característica FRPI é fixada igual à frequência de pontos chaves da recipiente identificado. - Uma segunda probabilidade de relevância de característica FRP2, obtida da distribuição estatística Rsd relacionada à orientação dominante O de dito ponto chave KP. O histograma correspondendo à dita distribuição é inspecionado para identificar a recipiente disso ajustando a orientação dominante O dito de ponto chave KP; então, a probabilidade de relevância de característica FRP2 é fixada igual à frequência de pontos chaves da recipiente identificado. - Uma terceira probabilidade de relevância de característica FRP3, obtida da distribuição estatística Rsd relacionada ao pico P de dito ponto chave KP. O histograma correspondendo à dita distribuição é inspecionado para identificar a recipiente disso ajustando o pico P de dito ponto chave KP; então, a probabilidade de relevância de característica FRP3 é fixada igual à frequência de pontos chaves da recipiente identificado. - Uma quarta probabilidade de relevância de característica FRP4, obtida da distribuição estatística Rsd relacionada à escala S de dito ponto chave KP. O histograma correspondendo à dita distribuição é inspecionado a fim de identificar a recipiente disso ajustando a escala S de dito ponto chave KP; então, a probabilidade de relevância de característica FRP4 é fixada igual à frequência de pontos chaves da recipiente identificado. - Uma quinta probabilidade de relevância de característica FRP5, obtida da distribuição estatística Rsd relacionada à média e à variância do descritor D de dito ponto chave KP. O histograma correspondendo à dita distribuição é inspecionado a fim de identificar a recipiente disso ajustando a média e a variância dos elementos do descritor D de dito ponto chave KP; então, a probabilidade de relevância de característica FRP5 é fixada igual à frequência de pontos chaves da recipiente identificado. - Uma sexta probabilidade de relevância de característica FRP6, obtida da distribuição estatística Rsd relacionada à distância máxima (por exemplo, a distância Euclideana) entre o descritor D de dito ponto chave KP e os descritores D dos outros pontos chaves KP. O histograma correspondendo à dita distribuição é inspecionado a fim de identificar a recipiente disso ajustando tal distância; então, a probabilidade de relevância de característica FRP6 é fixada igual à frequência de pontos chaves da recipiente identificado.
[00052] Portanto, para cada ponto chave KP, uma probabilidade de relevância de ponto chave KRP é obtida por pelo menos um, ou combinando entre eles as probabilidades de relevância de característica FRP das características locais disso. Por exemplo, começando com a suposição que as probabilidades de relevância de característica FRP são independentes entre si, a probabilidade de relevância de ponto chave KRP do ponto chave genérico KP é calculada multiplicando entre si suas probabilidades de relevância de característica correspondentes FRP. Geralmente, quanto mais alto o número de probabilidades de relevância de característica diferentes FRP usadas para calcular a probabilidade de relevância de ponto chave KRP, melhor os resultados alcançáveis empregando tal método. Considerando o exemplo de descritores de SIFT para aplicativos de pesquisa visual, é preferível que as probabilidades de relevância de característica consideradas para calcular a probabilidade de relevância de ponto chave incluam pelo menos aquelas correspondendo à escala, ao pico e à distância do centro.
[00053] A Figura 2G é um quadro exemplar no qual uma pluralidade de pontos chaves é identificada por meio de pontos circulares correspondentes, cada um tendo um diâmetro que é proporcional à probabilidade de relevância KRP do ponto chave.
[00054] Uma vez que as probabilidades de relevância de ponto chave KRP de todos os pontos chaves KP extraídos em fase 110 foram calculadas, ditos pontos chaves KP são ordenados em uma sequência de acordo com uma ordem de probabilidade de relevância de ponto chave KRP decrescente. Então, o ótimo subconjunto SUB é formado tomando um número (baseado na redução desejada na quantidade de dados a ser administrada) de pontos chaves KP dos primeiros da sequência ordenada. Os pontos chaves selecionados KP pertencendo ao subconjunto ótimo SUB resulta ser os pontos chaves mais pertinentes KP (do ponto de vista de comparação de imagem) entre a totalidade de pontos chaves KP extraídos em fase 110. Deste modo, a redução da quantidade global de dados é executada de um modo inteligente e eficiente, levando em conta só os pontos chaves pertinentes KP, e descartando aqueles que são menos úteis.
[00055] É enfatizado que embora a seleção do ótimo subconjunto de pontos chaves de acordo com a concretização da invenção descrita acima proveja calcular cada probabilidade de relevância de característica explorando uma distribuição estatística correspondente Rsd obtida calculando para cada recipiente dísso uma relação entre os 'inliers' de ponto chave tendo um valor da característica local correspondente que cai dentro de dita recipiente, e o número total de pontos chaves tendo um valor da característica local correspondente que cai dentro da mesma recipiente, os conceitos da presente invenção também são aplicáveis em casos diferentes, distribuições estatísticas equivalentes estatisticamente são empregadas, obtidas com métodos, até mesmo manuais. Na descrição seguinte, duas distribuições estatísticas são consideradas equivalentes estatisticamente entre si se elas permitirem obter probabilidades de relevância de característica semelhantes a partir de um mesmo conjunto de pontos chaves. Compressão do descritores (fase 140)
[00056] De acordo com uma concretização da presente invenção, a compressão dos descritores D é executada por quantização de vetor, explorando um número reduzido de livros-código otimizados.
[00057] A Figura 3 A ilustra um descritor exemplar D do tipo de SIFT (um dos descritores D gerados na fase 120 do procedimento de extração 100 da Figura 1 que foi selecionado para fazer parte do subconjunto ótimo SUB) correspondendo a um ponto chave genérico KP. Como já mencionado acima, o descritor D inclui dezesseis sub-histogramas shi (i = 1,2, 16), cada um mostrando como o gradiente de luminância de uma sub-região respectiva da imagem perto do ponto chave KP está distribuído ao longo de oito direções. Especificamente, cada sub-histograma shi está associado com uma sub-região correspondendo a uma de 16 células de uma grade 4x4 que está centrada na localização de ponto chave KP e orientada de acordo com a orientação dominante O do ponto chave KP; cada sub-histograma shi inclui oito recipientes, cada uma correspondendo a uma orientação tendo um ângulo nπ*/4 (n = 0, 1, ... 7) com respeito à orientação dominante O.
[00058] Como ilustrado na Figura 3B, os valores de todos os histogramas de orientação shi de um descritor D são arranjados em uma matriz de descritor correspondente, identificado na Figura com a referência DA. O descritor formado DA inclui dezesseis elementos ai (i - 1,2, ..., 16), cada um armazenando os valores levados por um sub-histograma correspondente shi (i = 1, 2, ..., 16); cada elemento ai inclui em troca oito sub-elementos respectivos, cada um armazenando um valor de frequência correspondendo a uma respectiva das oito recipientes do sub-histograma shi. Assim, cada matriz de descritor DA inclui 16*8 = 128 sub-elementos. Considerando que em um descritor de SIFT D um valor de frequência típico pode variar de 0 a 255, cada sub-elemento da matriz de descritor DA pode ser representado com um byte; portanto, a ocupação de memória da matriz de descritor DA é igual a 128 bytes. Assim, fazendo referência novamente ao procedimento de extração 100 da Figura 1, a quantidade de dados (em bytes) correspondendo a todos os descritores D dos pontos chaves KP pertencendo ao subconjunto ótimo SUB selecionado é igual a 128 multiplicado pelo número de pontos chaves KP do subconjunto ótimo SUB.
[00059] A fim de reduzir esta quantidade de dados, forma as matrizes de descritor DA correspondendo a tais descritores D são comprimidos por quantização de vetor.
[00060] Como é bem conhecido àqueles qualificados na técnica, comprimindo uma matriz de dados formado por n elementos (n-tuplo) explorando quantização de vetor provê quantizar juntamente o conjunto de todos os possíveis valores n-tuplo que a matriz de dados pode assumir em um conjunto reduzido incluindo um número mais baixo de valores n-tuplo (quais valores podem até mesmo diferir dos valores do conjunto a ser quantizado). Desde que o conjunto reduzido inclui um número mais baixo de valores de n- tuplo, requer menos espaço de armazenamento. Os valores de n-tuplo formando o conjunto reduzido também são chamados “palavras-código”. Cada palavra-código está associada com um conjunto correspondente de valores de n-tuplo diferentes que a matriz pode assumir. As relações de associação entre valores de n-tuplo da matriz de dados e palavras-código são determinadas por meio de um livro-código correspondente.
[00061] Fazendo referência em particular aa matriz de descritor DA, que inclui 16 elementos ai formados em troca por oito sub-elementos, cada um tendo valores variando de 0 a 255, a matriz de descritor DA pode levar um número N = 256 “ de valores de 16 tuplos diferentes. Aplicando compressão por quantização de vetor, tais N valores de 16 tuplos diferentes são aproximados com um número NI < N de palavras-código de um livro-código. O livro-código determina relações de associação entre cada palavra-código e um conjunto correspondente de valores de 16 tuplos da matriz de descritor DA. Portanto, cada palavra-código do livro-código é um valor de 16 tuplos que é usado para “aproximar” um conjunto correspondente de valores de 16 tuplos da matriz de descritor DA. A quantização de vetor é uma compressão de dados com perda cuja precisão pode ser medida por um parâmetro chamado distorção. A distorção pode ser calculada por exemplo como a distância Euclideana entre uma palavra-código genérica do livro-código e o conjunto de valores de n-tuplo da matriz que são aproximados por tal palavra- código. Considerações semelhantes se aplicam até mesmo se a distorção for calculada com um método diferente. Em todo caso, falando em termos gerais, quanto mais alto o número NI de palavras-código de um livro-código, mais baixa a distorção da compressão.
[00062] Como é bem conhecido àqueles qualificados na técnica, a geração das palavras-código de um livro-código é executada tipicamente executando operações estatísticas (chamadas operações de treinamento) em um banco de dados de treinamento incluindo uma coleção de um número muito alto de matrizes de treinamento. Fazendo referência em particular aa matriz de descritor DA, o banco de dados de treinamento pode incluir vários milhões de matrizes de descritor de treinamento, em que cada matriz de descritor de treinamento é um dos N = 256 possíveis valores de 16 tuples que a matriz de descritor DA pode assumir.
[00063] De acordo com uma solução ilustrada na Figura 4A, a matriz de descritor inteiro DA é comprimido usando um único livro-código CBK incluindo NI palavras-código de valor de 16 tuplos CWj (j = 1, 2, ... NI). Portanto, com NI palavras-código diferentes CWj, o número mínimo de bits exigido para identificar as palavras-código é igual a log2Nl. Como já mencionado acima, a geração das NI palavras-código diferentes CWj de tal único livro-código CBK é executada executando operações de treinamento em uma pluralidade de matrizes de descritor de treinamento, em que cada matriz de descritor de treinamento é um dos N = 256 possíveis valores de 16 tuplos que a matriz de descritor DA pode assumir.
[00064] A fim de manter a distorção de compressão abaixo de um limiar suficientemente reduzido de modo a não prejudicar o resultado das operações de análise de imagem subsequentes, o número de palavras-código exigido NI pode ficar muito alto. Ter um livro-código formado por um número NI muito alto de palavras-código é desvantajoso sob pontos de vista diferentes. Realmente, o número de matrizes de treinamento a ser usado para gerar as palavras-código ficaria excessivo, e os tempos de processamento ficariam longos demais. Além disso, a fim de executar as operações de compressão explorando um livro-código, as NI palavras-código inteiras formando o posterior tem que ser memorizadas em algum lugar, ocupando uma quantidade não desprezível de espaço de memória. A desvantagem posterior é bastante crítica, desde que o hardware empregado para aplicativos de análise de imagem (por exemplo, Unidades de Processamento Gráfico, GPU) pode ser equipado com memórias não tão espaçosas.
[00065] Fazendo referência à Figura 4B, a fim reduzir o número inteiro de palavras-código CWj a ser administrado sem aumentar a distorção, a matriz de descritor DA pode ser subdividido em uma pluralidade de sub- matrizes SDAk (k = 1, 2, ...), cada um incluindo um número mk respectivo de elementos ai da matriz de descritor DA, e então cada sub-matriz SDAk é comprimido individualmente usando um livro-código respectivo CBKk incluindo N2 palavras-código de valor m tuplo CWj (j = 1, 2,..., N2).
[00066] No exemplo ilustrado na Figura 4B, a matriz de descritor DA está subdividido em quatro sub-matrizes SDAk (k = 1, 2, 3, 4), cada um incluindo mk = 4 elementos ai da matriz de descritor DA: a primeira sub-matriz SDA1 é formada pela sequência de elemento al, a2, a3, a4; a segunda sub-matriz SDA2 é formada pela sequência de elemento a5, a6, a7, a8; a terceira sub-matriz SDA3 é formada pela sequência de elemento a9, alO, al 1, a 12, e a quarta sub-matriz SDA4 é formada pela sequência de elemento al3, 14, al5, 16.
[00067] A compressão de cada sub-matriz SDAk é executada usando um livro-código respectivo CBKy (y = k) incluindo N2 palavras-código de valor 4 tuplos CWj (j = 1, 2, N2). Portanto, com 4*N2 palavras-código diferentes CWj, o número mínimo de bits exigido para identificar todas as palavras-código é igual a 4*log2 N2. Até mesmo se no caso considerado cada sub-matriz SDAk foi comprimido usando um livro-código CBKy incluindo um mesmo número N2 de palavras-código CWj, considerações semelhantes se aplicam no caso que cada sub-matriz SDAk é comprimida usando um número respectivo diferente de palavras-código CWj.
[00068] No caso ilustrado na Figura 4B, a geração das N2 palavras- código diferentes CWj de cada livro-código CBKy é executada executando operações de treinamento em um sub-conjunto respectivo de matrizes de descritor de treinamento. Cada sub-conjunto de matrizes de treinamento de descritor de um livro-código CBKk corresponde a um dos quatro sub- matrizes SDAk, e pode ser obtido considerando de cada matriz de descritor de treinamento usado para gerar o único livro-código CBK da Figura 4A só a porção disso correspondendo à sub-matriz SDAk. Por exemplo, a fim de gerar o livro-código CBK1, só os primeiros quatro elementos al, a2, a3, a4 das matrizes de descritor de treinamento de 16 tuplos usados para gerar o único livro-código CBK da Figura 4A são empregados.
[00069] Comparado ao caso da Figura 4A na qual a matriz de descritor inteiro DA é comprimido usando um único livro-código CBK formado por palavras-código CWj tendo a mesma dimensão do própria matriz de descritor DA (16 elementos), o uso de livros-código CBKy formados por palavras- código CWj tendo uma dimensão (menor) mk de um sub-matriz SDAk disso (por exemplo, mk = 4 elementos) permite obter, com um mesmo número de palavras-código CWj, uma distorção mais baixa.
[00070] Tendo fixado o número total de palavras-código CWj, quanto mais alto o número de sub-matrizes SDAk nos quais a matriz de descritor DA é subdividido, mais baixa a distorção, mas - ao mesmo tempo - mais alto o número mínimo de bits exigido para identificar todas as palavras-código CWj.
[00071] De acordo com uma concretização da presente invenção, a subdivisão da matriz de descritor DA em sub-matriz SDAk para propósitos de compressão é executada levando em conta a ocorrência de relações de correlação entre os elementos ai da matriz de descritor DA.
[00072] Como já descrito com referência às Figuras 3A e 3B, cada elemento ai da matriz de descritor DA armazena os valores levados pelo sub- histograma shi associado com uma sub-região respectiva, qual sub-região corresponde em troca a uma célula da grade 4x4 centrada no ponto chave KP correspondendo a tal matriz de descritor DA.
[00073] De acordo com uma concretização da presente invenção ilustrada na Figura 5, depois de ter executado análise de comportamento estatístico em uma quantidade grande de matrizes de descritor DA (por exemplo explorando as matrizes de descritor de treinamento do banco de dados de treinamento), foi achado que os sub-histogramas shi de um ponto chave genérico KP podem ser arranjados em famílias de correlação CFx (x = 1, 2, 3, 4), com cada família de correlação CFx incluindo um conjunto de sub- histogramas correlatados shi com um comportamento estatístico semelhante, isto é, com uma tendência semelhante das frequências de recipiente. Por exemplo, dois sub-histogramas shi pertencendo a uma mesma família de correlação CFx podem ter um número semelhante de picos de frequência nas mesmas recipientes (ou semelhantes).
[00074] A análise de comportamento estatístico empregada para formar as famílias de correlação CFx mostrou que, tendo fixado o número máximo de palavras-código CWj a ser usado para comprimir a matriz de descritor DA, se o arranjo dos sub-histogramas shi em famílias de correlação CFx for variado (nomeando os sub-histogramas shi a famílias de correlação diferentes CFx), a distorção resultante por conseguinte varia. As famílias de correlação CFx são formadas assim considerando, entre todas as possíveis subdivisões de sub-histogramas shi, a correspondendo à distorção mais baixa.
[00075] Depois de ter executado tal análise de comportamento estatístico, também foi achado que a correlação entre o comportamento estatístico de dois sub-histogramas shi depende de dois parâmetros principais, isto é, a distância das sub-regiões associadas aos sub-histogramas shi do ponto chave KP e a orientação dominante disso.
[00076] Fazendo referência à Figura 5, os dezesseis sub-histogramas shi de um ponto chave KP estão arranjados em quatro famílias de correlação, isto é: - uma primeira família de correlação CF1 incluindo os sub- histogramas shi, sh4, shl3 e shi6; - uma segunda família de correlação CF2 incluindo os sub- histogramas sh2, sh3, shl4 e shl5; - uma terceira família de correlação CF3 incluindo os sub- histogramas sh5, sh8, sh9 e shl2, e - uma quarta família de correlação CF4 incluindo os sub- histogramas shó, sh7, shlO e shll.
[00077] De acordo com uma concretização da presente invenção, as famílias de correlação identificadas acima CFx são vantajosamente exploradas para comprimir a matriz de descritor DA usando um número reduzido de livros-código otimizados CBKy. A subdivisão da matriz de descritor DA em sub-matriz SDAk é executada de tal modo que pelo menos dois sub-matrizes SDAk tenham o mesmo comportamento estatístico global (isto é, considerando todos os elementos disso); deste modo, é possível usar um único livro-código CBKy para comprimir mais que um sub-matriz SDAk. Para este propósito, a subdivisão da matriz de descritor DA é executada de tal modo a obter grupos de sub-matriz SDAk, em que para cada grupo os elementos ai ocupando a mesma posição em todos os sub-matriz SDAk do grupo pertencem a uma mesma família de correlação CFx. Portanto, todos os sub-matrizes SDAk pertencendo a um mesmo grupo podem ser comprimidos vantajosamente usando um mesmo livro-código correspondente CBKy, cujas palavras-código CWj são obtidas considerando, de cada matriz de descritor treinamento usado para gerar o único livro-código CBK da Figura 4A, só os elementos disso pertencendo às famílias de correlação CFx às que os elementos ai dos sub-matrizes SDAk do grupo pertencem.
[00078] De acordo com uma concretização exemplar da presente invenção ilustrada na Figura 6A, a matriz de descritor DA está subdividido em quatro sub-matrizes SDA1-SDA4, que estão arranjados em um único grupo. Portanto, todos os sub-matrizes SDAk são comprimidos usando um mesmo livro-código CBK1. Especifícamente: - a primeira sub-matriz SDA1 é formada pela sequência de elemento al, a2, a6, a5; - a segunda sub-matriz SDA2 é formada pela sequência de elemento a4, a3, a7, a8; - a terceira sub-matriz SDA3 é formada pela sequência de elemento aló, al5, all, al2, e - a quarta sub-matriz SDA4 é formada pela sequência de elemento a!3, al4, alO, a9.
[00079] Neste caso: - os primeiros elementos ai de cada sub-matriz SDAk pertencem à primeira família de correlação CF1; - os segundos elementos ai de cada sub-matriz SDAk pertencem à segunda família de correlação CF2; - os terceiros elementos ai de cada sub-matriz SDAk pertencem à quarta família de correlação CF4, e - os quartos elementos ai de cada sub-matriz SDAk pertencem à terceira família de correlação CF3.
[00080] O livro-código CBK1 para comprimir o sub-matriz genérico SDA1-SDA4 inclui N3 palavras-código CWj, em que cada palavra-código CWj tem o primeiro elemento pertencendo à primeira família de correlação CF1, o segundo elemento pertencendo à segunda família de correlação CF2, o terceiro elemento pertencendo à quarta família de correlação CF4, e o quarto elemento pertencendo à terceira família de correlação CF3.
[00081] Com N3 palavras-código diferentes CWj, o número mínimo de bits exigido para identificar todas as palavras-código é igual a 4*(log2 N3).
[00082] De acordo com outra concretização exemplar da presente invenção ilustrada na Figura 6B, a matriz de descritor DA está subdividido em dois sub-matrizes SDA1, SDA2, que estão arranjados em um único grupo. Portanto, todos os sub-matrizes SDAk são comprimidos usando um mesmo livro-código CBK1. Especificamente: - a primeira sub-matriz SDA1 é formada pela sequência de elemento al, a2, a3, a4, a5, aó, a7, a8, e - a segunda sub-matriz SDA2 é formada pela sequência de elemento al3, al4, al5, aló, a9, alO, al 1, al2.
[00083] Neste caso: - o primeiro e o quarto elementos ai de cada sub-matriz SDAk pertencem à primeira família de correlação CF1; - o segundo e o terceiro elementos ai de cada sub-matriz SDAk pertencem à segunda família de correlação CF2; - o quinto e o oitavo elementos ai de cada sub-matriz SDAk pertencem à terceira família de correlação CF3, e - o sexto e o sétimo elementos ai de cada sub-matriz SDAk pertencem à quarta família de correlação CF4.
[00084] O livro-código CBK1 para comprimir os sub-matrizes genéricos SDA1, SDA2 inclui N4 palavras-código CWj, em que cada palavra-código CWj tem o primeiro e o quarto elementos pertencendo à primeira família de correlação CF1, o segundo e o terceiro elementos pertencendo à segunda família de correlação CF2, o quinto e o oitavo elementos pertencendo à terceira família de correlação CF3, e o sexto e os sétimo elementos pertencendo à terceira família de correlação CF3.
[00085] Com N4 palavras-código diferentes CWj, o número mínimo de bits exigido para identificar todas as palavras-código é igual a 2*(log2 N4).
[00086] De acordo com outra concretização exemplar da presente invenção ilustrada na Figura 6C, a matriz de descritor DA está subdividido em seis sub-matrizes SDA1-SDA6, quatro dos quais (SDA1-SDA4) estão arranjados em um primeiro grupo, e dois dos quais (SDAS-SDA6) estão arranjados em um segundo grupo. Portanto, os sub-matrizes SDA1-SDA4 são comprimidos usando um mesmo primeiro livro-código CBKl, enquanto os sub-matrizes SDA5-SDA6 são comprimidos usando um mesmo segundo livro-código CBK2. Especifícamente; - o primeiro sub-matriz SDA1 é formado pela sequência de elemento a5, al, a2; - o segundo sub-matriz SDA2 é formado pela sequência de elemento a8, a4, a3; - o terceiro sub-matriz SDA3 é formado pela sequência de elemento a9, al3, al4; - o quarto sub-matriz SDA4 é formado pela sequência de elemento al2, aló, al5; - o quinto sub-matriz SDA5 é formado pela sequência de elemento a6, a7, e o sexto sub-matriz SDA6 é formado pela sequência de elemento alO, all.
[00087] Neste caso: - os primeiros elementos ai de cada sub-matriz SDA1- SDA4 do primeiro grupo pertencem à terceira família de correlação CF3; - os segundos elementos ai de cada sub-matriz SDA1-SDA4 do primeiro grupo pertencem à primeira família de correlação CF1; - os terceiros elementos ai de cada sub-matriz SDA1-SDA4 do primeiro grupo pertencem à segunda família de correlação CF2, e - o primeiro e segundo elementos ai de cada sub-matriz SDA5-SDA6 do segundo grupo pertencem à quarta família de correlação CF4.
[00088] O livro-código CBK1 para comprimir o sub-matriz genérico SDA1-SDA4 pertencendo ao primeiro grupo inclui N5 palavras-código CWj, em que cada palavra-código CWj tem o primeiro elemento pertencendo à terceira família de correlação CF3, o segundo elemento pertencendo à primeira família de correlação CF1, e o terceiro elemento pertencendo à segunda família de correlação CF2. O livro-código CBK2 para comprimir a sub-matriz genérico SDA5-SDA6 pertencendo ao segundo grupo inclui N6 palavras-código CWj, em que cada palavra-código CWj tem o primeiro e segundo elementos pertencendo à quarta família de correlação CF4.
[00089] Com N5 + N6 palavras-código diferentes CWj, o número mínimo de bits exigido para identificar todas as palavras-código é igual a 4*(log2 N5) + 2*(log2 N6).
[00090] De acordo com outra concretização exemplar da presente invenção ilustrada na Figura 6D, a matriz de descritor DA está subdividida em oito sub-matrizes SDA1-SDA8, quatro dos quais (SDA1-SDA4) estão arranjados em um primeiro grupo, e quatro dos quais (SDA5-SDA8) estão arranjados em um segundo grupo. Portanto, os sub-matrizes SDA1-SDA4 são comprimidos usando um mesmo primeiro livro-código CBK1, enquanto os sub-matrizes SDA5-SDA8 são comprimidos usando um mesmo segundo livro-código CBK2. Especificamente: - a primeira sub-matriz SDA1 é formada pela sequência de elemento a5, al; - a segunda sub-matriz SDA2 é formada pela sequência de elemento a8, a4; - a terceira sub-matriz SDA3 é formada pela sequência de elemento a9, al3; - a quarta sub-matriz SDA4 é formada pela sequência de elemento a 12, a 16; - a quinta sub-matriz SDA5 é formada pela sequência de elemento a6, a2; - a sexta sub-matriz SDA6 é formada pela sequência de elemento a7, a3; - a sétima sub-matriz SDA7 é formada pela sequência de elemento a 10, a 14, e - a oitava sub-matriz SDA8 é formada pela sequência de elemento al 1, al5.
[00091] Neste caso: - os primeiros elementos ai de cada sub-matriz SDA1- SDA4 do primeiro grupo pertencem à terceira família de correlação CF3; - os segundos elementos ai de cada sub-matriz SDA1- SDA4 do primeiro grupo pertencem à primeira família de correlação CF1; - os primeiros elementos ai de cada sub-matriz SDA5- SDA8 do segundo grupo pertencem à quarta família de correlação CF4, e - os segundos elementos ai de cada sub-matriz SDA5-SDA8 do segundo grupo pertencem à segunda família de correlação CF2.
[00092] O livro-código CBK1 para comprimir o sub-matriz genérico SDA1-SDA4 pertencendo ao primeiro grupo inclui N7 palavras-código CWj, em que cada palavra-código CWj tem o primeiro elemento pertencendo à terceira família de correlação CF3, e o segundo elemento pertencendo à primeira família de correlação CF1. O livro-código CBK2 para comprimir o sub-matriz genérico SDA5-SDA8 pertencendo ao segundo grupo inclui N8 palavras-código CWj, em que cada palavra-código CWj tem os primeiros elementos pertencendo à quarta família de correlação CF4 e os segundos elementos pertencendo à segunda família de correlação CF2.
[00093] Portanto, com N7 + N8 palavras-código diferentes CWj, o número mínimo de bits exigido para identificar todas as palavras-código é igual a 4*(log2 N7) + 4*(log2 N8).
[00094] Naturalmente, os conceitos da presente invenção também são aplicáveis com subdivisões em um número diferente de sub-matrizes e/ou com um número diferente de livros-código. Além disso, até mesmo se na descrição presente referência foi feita à compressão de um descritor de SIF calculado em uma grade incluindo 4x4 células com oito recipientes por histograma, consideração semelhante se aplica se o número de células e/ou o número de recipientes por histograma for diferente, como também descritores de outros tipos são considerados.
[00095] Comparado às soluções conhecidas, com uma mesma distorção de compressão, o uso combinado de subdividir a matriz de descritor DA em sub-matrizes SDAk e empregar um mesmo livro-código CBKy para mais que um sub-matriz SDAk permite reduzir drasticamente o espaço de memória exigido para armazenar os livros-código CBKy usados para comprimir a matriz de descritor DA. Esta é uma grande vantagem, desde que, como já mencionado acima, o hardware empregado para aplicativos de análise de imagem (por exemplo, Unidades de Processamento Gráfico, GPU) pode ser equipado com memórias não tão espaçosas. Outra vantagem dada pelo uso combinado de subdividir a matriz de descritor DA em sub-matrizes SDAk e empregar um mesmo livro-código CBKy para mais que um sub- matriz SDAk consiste em que o procedimento de treinamento para a geração dos livros-código CBKy resulta ser mais rápido.
[00096] As operações de compressão executadas na fase 140 do procedimento de extração 100 (veja Figura 1) em cada descritor recebido D geram como resultado uma matriz de descritor comprimido CDA correspondente, que aproxima o valor levado pela matriz de descritor respectivo DA. Mais especifícamente, para cada livro-código CBKy usado para comprimir a matriz de descritor DA, cada palavra-código CWj de tal livro-código CBKy é identificada por um índice de compressão correspondente Cy; se o livro-código CBKy for formado por um número N de palavras-código diferentes CWj, o índice de compressão Cy é formado por pelo menos log2 N bits. Para uma matriz de descritor DA que foi subdividido em um conjunto de sub-matrizes SDAk, a matriz de descritor comprimido correspondente CDA inclui um índice de compressão Cy para cada sub- matriz SDAk do conjunto, em que cada índice de compressão Cy identifica a palavra-código CWj do livro-código CBKy usado para aproximar dito sub- matriz SDAk. Compressão das coordenadas (fase 150)
[00097] De acordo com uma concretização da presente invenção, a quantidade de dados a ser administrada (por exemplo, ser memorizada e/ou transmitida) para executar operações de análise de imagem é adicionalmente reduzida comprimindo as coordenadas C dos pontos chaves KP pertencendo ao subconjunto ótimo SUB calculado na fase 130 do procedimento de extração 100 (veja Figura 1).
[00098] A Figura 7A ilustra uma distribuição exemplar dos pontos chaves KP do subconjunto ótimo SUB dentro de um espaço bidimensional correspondendo à imagem de busca 115; cada ponto chave KP está associado com um par correspondente de coordenadas espaciais C identificando a localização de tal ponto chave KP dentro da imagem de busca 115.
[00099] Primeiramente, as coordenadas C de todos os pontos chaves KP do subconjunto SUB são quantizadas. Para este propósito, uma grade n x m é sobreposta sobre a imagem de busca 115. No exemplo ilustrado na Figura 7B, a grade tem n = 10 filas e m = 15 colunas.
[000100] Um histograma bidimensional é então gerado contando para cada célula da grade (correspondendo a um recipiente do histograma) o número de pontos chaves KP que se acham dentro disso. Figura 7C é uma representação gráfica exemplar do histograma obtido sobrepondo a grade da Figura 7B sobre o conjunto de pontos chaves KP da Figura 7A. Na representação gráfica da Figura 7C, as células sem pontos chaves KP estão coloridas em preto, enquanto as células incluindo pelo menos um ponto chave KP estão coloridas em cinza. No exemplo em questão (em que as células incluindo o número mais alto de pontos chaves incluem dois pontos chaves), as células incluindo um único ponto chave KP estão coloridas em cinza escuro, enquanto aquelas incluindo dois pontos chaves KP estão coloridas em um cinza mais claro.
[000101] O histograma obtido da contagem de ponto chave tem um grande número de recipientes cuja frequência é igual a zero, isto é, com a célula correspondente que não inclui nenhum ponto chave KP (as células pretas descritas na Figura 7C).
[000102] Os dados representando o histograma podem ser comprimidos vantajosamente levando em conta que as porções disso correspondendo às recipientes de frequência zero só proveem a informação que sua célula correspondente não inclui nenhum ponto chave.
[000103] Para este propósito, as filas e as colunas da grade que são completamente formadas por células que não incluem nenhum ponto chave KP podem ser removidas vantajosamente. Porém, desde que a remoção de tais filas e/ou colunas alteraria para as posições absolutas e relativas dos pontos chaves KP, uma indicação das posições de todas as filas e colunas sem pontos chaves KP (incluindo aqueles correspondendo às filas e/ou colunas a serem removidas) deveria ser registrada.
[000104] Para este propósito, dois matrizes r e c estão definidos do modo seguinte: - a matriz r é uma matriz incluindo um elemento para cada fila da grade, em que o elemento genérico da matriz está fixado a um primeiro valor (por exemplo, 0) se a célula correspondente da grade não incluir nenhum ponto chave KP, e é fixado a um segundo valor (por exemplo, 1) se a célula correspondente da grade incluir pelo menos um ponto chave KP, e - a matriz c é uma matriz incluindo um elemento para cada coluna da grade, em que o elemento genérico da matriz está fixado a um primeiro valor (por exemplo, 0) se a célula correspondente da grade não incluir nenhum ponto chave KP, e é fixado a um segundo valor (por exemplo, 1) se a célula correspondente da grade incluir pelo menos um ponto chave KP.
[000105] Uma vez que as matrizes r e c foram gerados, a próxima etapa provê identificar as filas e/ou as colunas que são formadas completamente por células que não incluem nenhum ponto chave KP são identificadas. Fazendo referência ao exemplo em questão, tais filas e colunas são descritas em preto na Figura 7D.
[000106] As filas e/ou as colunas da grade que são formadas completamente por células que não incluem nenhum ponto chave KP são então removidas, e as porções resultantes da grade são comprimidas a fim de encher os espaços vazios deixados pelas remoções. Assim, na grade resultante (comprimida), chamada apoio de grau 1, todas as filas e todas as colunas incluem pelo menos uma célula incluindo peio menos um ponto chave KP. O histograma sobre o apoio de grau 1 correspondendo ao exemplo em questão é ilustrado na Figura 7E.
[000107] De tal histograma dois pedaços diferentes de informação podem ser extraídos, isto é: 1) as posições das células do apoio de grau 1 incluindo pelo menos um ponto chave KP, e 2) para cada célula do apoio de grau 1 identificada a ponto 1), o número de pontos chaves KP incluídos nisso.
[000108] Vantajosamente, como proposto por S. Tsai, D. Chen, G. Takacs, V. Chandrasekhar, J . P. Singh, e B. Girod em “Location coding for mobile image retrieval”, 'Proc. Int. Mobile Multimedia Conference (MobiMedia)', 2009, a informação correspondendo a ponto 1) pode ser extraída explorando um denominado “mapa de histograma “, enquanto a informação correspondendo a ponto 2) pode ser arranjada em uma denominada “contagem de histograma”.
[000109] O mapa de histograma terminou um mapeamento bidimensional do histograma sobre o apoio de grau 1 que identifica os recipientes disso tendo uma frequência igual a ou mais alta que 1. O mapa de histograma correspondendo ao histograma sobre o apoio de grau 1 da Figura 7E é ilustrado na Figura 7F.
[000110] O mapa de histograma pode ser representado com uma matriz correspondente, cujo elemento genérico é igual a zero se a célula correspondente do apoio de grau 1 não incluir nenhum ponto chave KP, e é igual a um se a célula correspondente do apoio de grau 1 incluir pelo menos um ponto chave KP. A matriz do mapa de histograma ilustrada na Figura 7F é a seguinte:
[000111] De acordo com uma concretização da presente invenção, a informação provida pelo mapa de histograma pode ser vantajosamente comprimida usando uma codificação entrópica otimizada baseada no comportamento estatístico de histogramas de apoio de grau 1 exemplares aprendidos da análise de um grande número de imagens de treinamento.
[000112] De tal análise, foi achado que os locais dos pontos chaves KP dentro da imagem genérica são tais a implicar uma distribuição estatística comum do “1” dentro da matriz do mapa de histograma.
[000113] A codificação entrópica é executada do modo seguinte.
[000114] A matriz do mapa de histograma é varrida (por exemplo, coluna por coluna) para subdividi-la em uma pluralidade de palavras, cada uma tendo um mesmo comprimento x. Baseado na análise estatística executada nas imagens de treinamento, um histograma de palavra é gerado incluindo um recipiente para cada possível valor que o x tuplo da palavra genérica pode levar, com a frequência de cada recipiente indicando a probabilidade que o x tuplo da palavra leva o valor associado com tal recipiente. Brevemente, tal análise estatística foi executada fazendo a suposição que os elementos da matriz do mapa de histograma são independentes entre si. Analisando um número muito alto de imagens de treinamento, pode ser identificado que é a probabilidade que um “1” ocorra na matriz todo n “0”; então, o histograma de palavra é gerado baseado em tal probabilidade.
[000115] A Figura 8A ilustra um exemplo de um histograma de palavra no qual o comprimento x das palavras é igual a seis, e em que cada recipiente está identificada pelo valor decimal do valor de x tuplo correspondente. Como esperado, a frequência mais alta corresponde a x tuplo (0,0,0,0,0,0), desde que há uma probabilidade muito mais alta que a célula genérica do apoio de grau 1 não inclui nenhum ponto chave KP. A probabilidade mais alta seguinte é a correspondendo a um único ponto chave KP para célula (x tuplo (1,0,0,0,0,0), (0,1,0,0,0,0), (0,0,1,0,0,0), (0,0,0,1,0,0), (0,0,0,0,1,0), (0,0,0,0,0,1)), então a correspondendo a dois pontos chaves KP para célula, e assim por diante.
[000116] As palavras são codificadas com uma técnica de codificação entrópica (por exemplo, a técnica de Huffman ou a técnica de codificação Aritmética) usando para cada palavra uma palavra codificada bei (i = 1,2,...) tendo vários bits que depende da probabilidade da recipiente correspondente no histograma de palavra. Quanto mais alta a probabilidade da palavra, menor o número de bits da palavra codificada bei usada para codificar tal palavra.
[000117] A outra informação que pode ser extraída do histograma sobre o apoio de grau 1 considera o número de pontos chaves KP que estão incluídos em cada célula do mapa de histograma incluindo pelo menos um ponto chave KP. Tal informação é arranjada em um histograma correspondente, chamada contagem de histograma. Cada recipiente da contagem de histograma corresponde a uma correspondente entre as células do apoio de grau 1 que inclui pelo menos um ponto chave KP. A contagem de histograma lista para cada recipiente o número de pontos chaves KP incluídos na célula correspondente. O mapa de histograma do exemplo em questão é ilustrado na Figura 8B, em que 11 células incluem um único ponto chave KP cada e duas células incluem dois pontos chaves KP cada. As recipientes do mapa de histograma da Figura 8B estão ordenadas seguindo uma varredura por coluna do apoio de grau 1.
[000118] A informação de contagem de ponto chave provida pela contagem de histograma é codificada em um conjunto de palavras codificadas wj (j = 1, 2, ...) de comprimentos diferentes, com cada palavra codificada wj do conjunto que indica quais recipientes de um conjunto respectivo de recipientes de contagem de histograma correspondem a vários pontos chaves KP maiores que ou igual a um certo valor.
[000119] Mais especifícamente, se o número mais alto de pontos chaves KP contados dentro de cada recipiente for igual a Nmax, tal conjunto de palavras codificadas wj inclui várias palavras codificadas wj igual a Nmax-2. A geração de cada palavra codificada wj é executada executando uma correspondente entre um conjunto de Nmax-2 etapas de procedimento. De acordo com uma concretização da presente invenção, tais etapas de procedimento são descritas doravante.
[000120] Etapa 1 - Uma primeira palavra codificada wl é fixada para incluir um elemento para cada recipiente do mapa de histograma. Portanto, a primeira palavra codificada wl inclui vários elementos iguais ao número de recipientes do mapa de histograma. Cada elemento da primeira palavra codificada wl é fixado a um primeiro valor (por exemplo, “1”) se a recipiente correspondente da contagem de histograma corresponder a um número de pontos chaves KP mais alto que um, caso contrário é fixado a um segundo valor (por exemplo, “0”). Se Nmax for mais alto que 2, uma segunda etapa é executada para gerar uma segunda palavra codificada w2, caso contrário o processo é terminado. No caso posterior, a informação inteira provida pela contagem de histograma resulta ser codificada com a primeira palavra codificada wl somente.
[000121] Etapa j (j > 1) - Uma j-ésima palavra codificada wj é gerada. A j-ésima palavra codificada wj é fixada para incluir um elemento para cada recipiente do mapa de histograma incluindo mais que j pontos chaves KP. Portanto, a j-ésima palavra codificada wj inclui vários elementos iguais a ou mais baixos que a j-1 palavra codificada w(j-l). Cada elemento da j-ésima palavra codificada wj é fixado ao primeiro valor se a recipiente correspondente da contagem de histograma corresponder a vários pontos chaves KP mais alto que j, caso contrário é fixado ao segundo valor. Se Nmax for mais alto que j+1, uma (j+l)-ésima etapa é executada, para gerar uma (j+l)-ésima palavra codificada w(j+l), caso contrário o processo é terminado. No caso posterior, a informação inteira provida pela contagem de histograma é codificada com as palavras codificadas wl - wj.
[000122] As operações de compressão executadas na fase 150 do procedimento de extração 100 (veja Figura 1) permitem obter as coordenadas C dos pontos chaves KP pertencendo ao subconjunto SUB de um conjunto de coordenada comprimida correspondente CC incluindo: - a matriz r e a matriz c; - as palavras codificadas bei, e - as palavras codificadas wj.
[000123] A quantidade de dados requerida para administrar (memorizar e/ou transmitir) o conjunto de coordenada comprimida CC é sensivelmente mais baixa que a quantidade de dados requerida para administrar o conjunto de (descomprimido) coordenadas C. PROCEDIMENTO DE COMBINAÇÃO (Figura 9)
[000124] A Figura 9 ilustra em termos de blocos funcionais um procedimento de análise de imagem de acordo com uma concretização da presente invenção, doravante chamado “procedimento de combinação” e identificado com a referência 900, dirigido para executar a comparação entre duas imagens 11, 12, explorando para cada imagem um subconjunto ótimo respectivo de pontos chaves e os descritores comprimidos correspondentes e coordenadas geradas com o procedimento de extração 100 da Figura 1.
[000125] As etapas do procedimento de combinação 900 podem ser executadas através de unidades de processamento próprias; por exemplo, cada unidade de processamento pode ser uma unidade de hardware especificamente projetada para executar uma ou mais etapas do procedimento. Um possível cenário pode prover para um usuário (lado de cliente) que deseja explorar um serviço de comparação de imagem (lado de servidor) comparar a imagem 11 com a imagem 12. Neste caso, as imagens 11 e 12 podem ser processadas no cliente de acordo com o procedimento de extração 100 da Figura 1 para a geração do subconjunto ótimo de pontos chaves e descritores e coordenadas comprimidos correspondentes; então, o subconjunto ótimo de pontos chaves e descritores comprimidos correspondentes e coordenadas são enviados ao servidor, que executa o procedimento de combinação 900 explorando os dados recebidos e então provê os resultados ao cliente. Neste caso, o procedimento de extração 100 pode ser executado por unidades de processamento localizadas no cliente, por exemplo, por meio do smartphone de um usuário, enquanto o procedimento de combinação 900 pode ser executado por unidades de processamento localizadas no servidor, por exemplo, por meio de uma ou mais unidades de servidor adaptadas para oferecer serviços de comparação de imagem. Outro possível cenário pode prover ao invés que o procedimento de combinação 900 seja executado diretamente no cliente. Cenários misturados também são contemplados, em que o procedimento de combinação 900 é executado no cliente com os descritores e coordenadas comprimidos enviados pelo servidor.
[000126] As coordenadas comprimidas da imagem 11 são identificadas com referência CC1, enquanto os descritores comprimidos da imagem 11 são identificados com referência CDA1. Semelhantemente, as coordenadas comprimidas da imagem 12 são identificadas com referência CC2, enquanto os descritores comprimidos da imagem 12 são identificados com referência CDA2.
[000127] Os descritores comprimidos CD Al da primeira imagem 11 são descomprimidos a fim de recobrar descritores correspondentes (descomprimidos) Dl (fase 902). Semelhantemente, os descritores comprimidos CDA2 da segunda imagem são descomprimidos 12 a fim de recobrar descritores correspondentes (descomprimidos) D2 (fase 904). A descompressão dos descritores pode ser executada por meio de versões invertidas das operações de compressão executadas na fase 140 do procedimento de extração 100. Fazendo referência a descritores do tipo de SIFT, depois das fases 902 e 904, os descritores Dl e D2 são assim representados por matrizes de descritor correspondentes formados por 128 sub-elementos.
[000128] Na fase 906, combinações entre descritores Dl da primeira imagem lie descritores D2 da segunda imagem 12 são formados explorando qualquer um entre os algoritmos de combinação de característica conhecidos na técnica, tal como por exemplo o teste de relação de distância Euclideana.
[000129] Então, na fase 908, operações de verificação geométrica são executadas para averiguar quais combinações entre aqueles formados na fase 906 estão corretos ('inliers') e quais combinações estão incorretos ('outliers'). Como é conhecido àqueles qualificados na técnica, uma operação deste tipo Requer, além dos descritores, as coordenadas de cada ponto chave cujo descritor correspondente foi combinado com o descritor de outro ponto chave. Para este propósito, as coordenadas comprimidas CC1 de imagem 11 e as coordenadas comprimidas CC2 da imagem 12 deveriam ser descomprimidas igualmente, por exemplo por meio de versões invertidas das operações de compressão executadas na fase 150 do procedimento de extração 100. A fase dedicada à descompressão das coordenadas comprimidas CC1 é identificada na Figura 9 com referência 910, enquanto a fase dedicada à descompressão das coordenadas comprimidas CC2 é identificada na Figura 9 com referência 912. Uma vez que os 'inliers' foram identificados, a verificação geométrica pode prover como resultado um parâmetro DOM indicativo do grau de combinação entre as imagens 11 e 12. Por exemplo, se tal parâmetro DOM for mais alto do que um limiar predeterminado, as imagens 11 e 12 são reputadas para descrever um mesmo objeto/cena.
[000130] Adicionalmente, operações de localização (fase 914) podem ser executadas adicionalmente para recobrar as localizações L de tais mesmos objetos/cenas dentro das duas imagens 11, 12.
[000131] Fazendo referência ao cenário de comparação de imagem de cliente-servidor mencionado previamente, desde que o procedimento de combinação 900 está configurado para operar com um número reduzido de pontos chaves (só os pertencendo ao subconjunto SUB gerado por meio do procedimento de extração 100), e desde que os descritores e as coordenadas de tal número reduzido de pontos chaves são recebidos de um modo comprimido, com a solução proposta, a quantidade global de dados a ser enviada do cliente ao servidor é reduzida drasticamente comparada às soluções conhecidas. PROCEDIMENTO DE RECUPERAÇÃO (Figura 10)
[000132] A Figura 10 ilustra em termos de blocos funcionais um procedimento de análise de imagem de acordo com uma concretização da presente invenção, doravante chamado “procedimento de recuperação” e identificado com a referência 1000, em que uma imagem de busca - tal como a imagem de busca 115 da Figura 1 - descrevendo um objeto/cena a ser reconhecida é comparado com uma pluralidade de imagens de modelo - cada uma descrevendo um objeto/cena conhecida respectiva - armazenadas em um banco de dados de modelo, a fim de recobrar as imagens de modelo descrevendo o mesmo objeto/cena descrita na imagem de busca.
[000133] Como o procedimento de combinação 900 da Figura 9, as etapas do procedimento de recuperação 1000 podem ser executadas através de unidades de processamento próprias; por exemplo, cada unidade de processamento pode ser uma unidade de hardware projetada especificamente para executar uma ou mais etapas do procedimento. Um cenário típico pode prover um usuário (lado de cliente) que deseja explorar um serviço de reconhecimento de imagem (lado de servidor) a fim de reconhecer automaticamente um objeto/cena descrita em uma imagem de busca 115. Neste caso, a imagem de busca 115 pode ser processada no cliente de acordo com o procedimento de extração 100 da Figura 1 para a geração do subconjunto ótimo de pontos chaves SUB e os descritores comprimidos correspondentes CDA e coordenadas CC; então, o subconjunto ótimo de pontos chaves e os descritores comprimidos correspondentes e coordenadas são enviados ao servidor, que executa o procedimento de recuperação 1000 explorando os dados recebidos e então provê os resultados ao cliente. A pluralidade de imagens de modelo a ser usada para o reconhecimento do objeto/cena descrita na imagem de busca 115 é armazenada em um banco de dados de modelo 1002, que está localizado no lado de servidor.
[000134] Os descritores comprimidos CDA são descomprimidos a fim de recobrar descritores (descomprimidos) correspondentes DD (fase 1004). A descompressão dos descritores pode ser executada por meio de versões invertidas das operações de compressão executadas na fase 140 do procedimento de extração 100. Novamente, fazendo modelo para descritores do tipo de SIFT, depois de fase 1004, os descritores DD são assim representados por matrizes de descritor correspondentes formados por 128 sub-elementos.
[000135] Desde que um procedimento de reconhecimento de objeto padrão tipicamente Requer a execução de operações de comparação entre a imagem de busca e um número muito alto de imagens de modelo (p°r exemplo, as imagens de modelo incluídas no banco de dados de modelo 1002 podem ser algumas milhões), tal procedimento é ambos consumidor de tempo e memória. Para este propósito, uma solução conhecida provê executar tais operações de comparação em duas fases distintas. Em vez de comparar diretamente os descritores da imagem de busca com os descritores de todas as imagens de modelo, uma comparação rápida, aproximada é feita preliminarmente por entre palavras visuais extraídas da imagem de busca e palavras visuais extraídas das imagens de modelo; então, a comparação (refinada) dos descritores é executada só entre os descritores da imagem de busca e os descritores de um conjunto reduzido de imagens de modelo escolhido baseado na comparação preliminar. Uma palavra visual é uma matriz obtido executando uma quantização de vetor de um descritor; em outras palavras, cada palavra visual é um palavra-código de um livro-código visual. A geração das palavras visuais é executada para cada descritor da imagem de busca e cada descritor das imagens de modelo. Por exemplo, a comparação preliminar é executada contando o número de palavras visuais em comum entre a imagem de busca e cada imagem de modelo. Então, para cada imagem de modelo, um grau de similitude é calculado baseado nas contagens do número de palavras visuais em comum. Considerações semelhantes se aplicam se o grau de similitude for gerado comparando as palavras visuais usando métodos alternativos. Deste modo, a comparação refinada entre descritores pode ser executada vantajosamente só entre a imagem de busca e as imagens de modelo tendo os graus de similitude mais altos (isto é, as tendo os números mais altos de palavras visuais em comum com a imagem de busca). Esta abordagem, que é derivada do campo de análise de texto, também é conhecida como “classificação por meio de Bolsa de Características (BoF)”.
[000136] Fazendo referência novamente à Figura 10, a fim de permitir a execução da classificação por meio de BoF, palavras visuais VD para cada descritor da imagem de busca e palavras visuais VDR para cada descritor de cada imagem modelo têm que ser geradas.
[000137] É destacado que a fim de permitir a comparação entre palavras visuais, ambas as palavras visuais VD e as palavras visuais VDR deveriam ser geradas usando um mesmo livro-código.
[000138] Enquanto as palavras visuais VD da imagem de busca 115 têm que ser geradas toda vez que o procedimento de recuperação 1000 é executado (fase 1006), a fim de reduzir os tempos de operação drasticamente, a geração das palavras visuais VDR das imagens de modelo pode ser executada vantajosamente só uma vez, e então a pluralidade resultante de palavras visuais VDR pode ser armazenada diretamente no banco de dados de modelo 1002; altemativamente, as palavras visuais VDR podem ser atualizadas periodicamente.
[000139] Tendo gerado para cada descritor DD da imagem de busca uma palavra visual correspondente VD, na fase 1008, a classificação por meio de procedimento de BoF é então executada. Deste modo, para cada imagem de modelo, um índice de grau é calculado contando o número de palavras visuais VDR de tal imagem modelo que também são palavras visuais VD da imagem de busca. Tal contagem pode ser executada para usar a classificação conhecida por meio de implementação de BoF também conhecido como Invertedindex. Porém, considerações semelhantes se aplicam no caso que implementações diferentes são aplicadas. Uma vez que todos os índices de grau foram calculados, uma lista é gerada na qual as imagens de modelo do banco de dados são ordenadas de acordo com uma matriz decrescente de índice de grau. Então, um conjunto SR de imagens de modelo tendo os valores de índice de grau mais altos é selecionado para ser sujeito às operações de comparação subsequentes (refinadas).
[000140] É destacado que desde que de acordo com uma concretização da presente invenção o número de descritores de cada imagem é vantajosamente reduzido, correspondendo só ao subconjunto ótimo SUB de pontos chaves que são considerados pertinentes (veja fase 130 do procedimento de extração 100 da Figura 1), a quantidade de dados Requerida para executar a classificação por meio de procedimento de BoF (fase 1008) que tem que ser carregada na memória de funcionamento (por exemplo, em bancos de RAM localizados no lado de servidor) é fortemente reduzida, melhorando drasticamente a velocidade do processo. Além disso, desde que as comparações são feitas levando em conta só os descritores do pontos chaves reputados pertinentes, a precisão da comparação é aumentada, porque o ruído é reduzido. A fim de adicionalmente melhorar a velocidade e a precisão, um subconjunto ótimo incluindo um número reduzido de descritores também é gerado para cada imagem de modelo incluída no banco de dados de modelo 1002.
[000141] Foi achado que o número de pontos chaves formando o subconjunto ótimo SUB influencia fortemente o resultado da classificação por meio de BoF. Realmente, com um mesmo número de imagens consideradas, a probabilidade que o objeto/cena descrita na imagem de busca 115 também seja descrita em pelo menos uma das imagens de modelo pertencendo ao conjunto selecionado SR de imagens de modelo aumenta quando o número de pontos chaves do subconjunto ótimo SUB diminui. Porém, se tal número de pontos chaves do subconjunto ótimo SUB cair abaixo de um limiar inferior, os desempenhos do procedimento diminuem, desde que o número de pontos chaves incluídos no subconjunto SUB fica pequeno demais para representar satisfatoriamente cada imagem.
[000142] Neste momento, uma segunda comparação refinada é executada entre a imagem de busca 115 e o conjunto SR de imagens de modelo (fase 1010). Um dos procedimentos de combinação de característica já conhecidos pode ser empregado para combinar descritores DD da imagem de busca 115 com descritores das imagens de modelo do conjunto SR (sub- fase 1012), por exemplo, calculando distâncias Euclideanas entre os descritores, e então uma verificação geométrica é executada para averiguar quais são 'inliers' e que são 'outliers' (sub-fase 1014). Deste modo, se existir, a imagem de modelo RI do conjunto SR descrevendo um objeto/cena também descrita na imagem de busca 115 é recobrada ao término da fase.
[000143] De acordo com uma concretização da presente invenção, em vez de executar diretamente operações de combinação de característica nos descritores DD da imagem de busca 115 e nos descritores das imagens de modelo do conjunto SR, as operações de combinação de característica são executadas em versões comprimidas disso obtidas subdividindo as matrizes de descritor correspondentes em sub-matrizes e comprimindo cada sub-matriz por meio de um livro-código baseado em quantização de vetor. Para este propósito, os descritores DD da imagem de busca 115 são comprimidos na fase 1016, por exemplo subdividindo as matrizes de descritor correspondentes em quatro sub-matrizes e comprimindo cada um de ditos quatro sub-matrizes com um livro-código respectivo. Semelhantemente para a geração das palavras visuais, o banco de dados de modelo 1002 armazena para cada imagem de modelo correspondendo a versões comprimidas pré-calculadas disso, que foram comprimidas usando os mesmos livros-código usados para comprimir os descritores DD da imagem de busca 115. De acordo com esta concretização, o combinação de característica (sub-fase 1012) pode ser executado de um modo muito rápido e eficiente. Realmente, desde que a combinação de característica é executado no espaço comprimido (ambos os descritores da imagem de busca e das imagens de modelo estão comprimidos), e desde que o número de descritores a ser considerado é reduzido (correspondendo só aos pontos chaves do subconjunto ótimo), é possível carregar diretamente na memória principal também os dados representando as imagens de modelo do banco de dados de modelo. Além disso, desde que a compressão das matrizes de descritor foi executada subdividindo as matrizes de descritor em sub-matrizes, assim reduzindo fortemente o número de palavras-código dos livros-código correspondentes, uma lista incluindo todas as possíveis distâncias Euclideanas entre cada palavra-código de cada livro-código pode ser pré-calculada com antecedência, e carregada na memória principal, adicionalmente aumentando a velocidade de sub-fase 1012. Considerações semelhantes se aplicam se o combinação de característica for executado explorando um algoritmo diferente que não faz uso das distâncias Euclideanas.
[000144] De acordo com uma concretização da presente invenção, a sub-fase 1012 pode ser melhorada adicionalmente comprimindo as sub- matrizes de cada descritor usando um mesmo livro-código, usando uma abordagem semelhante àquela usada na fase 140 do procedimento de extração 100 da Figura 1.
[000145] Desde que a verificação geométrica (sub-fase 1014) requer, além dos descritores, as coordenadas dos pontos chaves cujos descritores correspondentes foram combinados com descritores de outros pontos chaves, as coordenadas comprimidas CC dos pontos chaves da imagem de busca 115 deveriam ser descomprimidas igualmente (fase 1018).
[000146] A descrição prévia apresenta e discute em detalhes várias concretizações da presente invenção; não obstante, várias mudanças às concretizações descritas, como também concretizações de invenção diferentes são possíveis, sem partir da extensão definida pelas reivindicações anexas.
Claims (8)
1. Método para processar uma imagem, compreendendo: - identificar um primeiro grupo de pontos chaves na imagem; - para cada ponto chave do primeiro grupo: a) identificar pelo menos uma característica local de ponto chave correspondente relacionada a dito cada ponto chave; b) para dita pelo menos uma característica local de ponto chave, calcular uma probabilidade de relevância de característica local correspondente; c) calcular uma probabilidade de relevância de ponto chave baseado nas probabilidades de relevância de característica local de dita pelo menos uma característica local; caracterizado pelo fato de que compreende ainda: - selecionar pontos chaves, entre os pontos chaves do primeiro grupo, tendo as probabilidades de relevância de ponto chave mais altas para formar um segundo grupo de pontos chaves, e - explorar os pontos chaves do segundo grupo para analisar a imagem, em que: - a probabilidade de relevância de característica local calculada para uma característica local de um ponto chave é obtida comparando o valor assumido por dita característica local com uma distribuição estatística de referência correspondente de valores de dita característica local.
2. Método de acordo com reivindicação 1, caracterizado pelo fato de que cada dita distribuição estatística de referência correspondente é equivalente estatisticamente a uma distribuição estatística correspondente gerada colecionando, entre uma pluralidade de pontos chaves de referência identificados em uma pluralidade de pares de imagem de referência, os valores de característica locais correspondendo àqueles pontos chaves de referência de cada par de imagem de referência que foi averiguado envolver uma combinação de característica correto entre as imagens de referência de tal par.
3. Método de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado pelo fato de que dita pelo menos uma característica local de ponto chave relacionada a dito cada um ponto chave compreende um pelo menos um entre: - as coordenadas do ponto chave; - a escala à qual o ponto chave foi identificado; - a orientação dominante do ponto chave; - o pico do ponto chave, e - um descritor do ponto chave.
4. Método de acordo com qualquer uma das reivindicações 2 ou 3, quando dependente de reivindicação 2, caracterizado pelo fato de que: cada distribuição estatística de referência está arranjada na forma de um histograma correspondente tendo uma pluralidade de recipientes, cada recipiente correspondendo a uma gama predefinida de valores da característica local correspondente, e a frequência de cada recipiente correspondendo a uma relação entre: a) o número de pontos chaves de referência que foi averiguado envolver uma combinação de característica correta e tendo um valor da característica local correspondente que cai dentro da dita recipiente, e b) o número total de pontos chaves de referência tendo um valor da característica local correspondente que cai dentro de dita recipiente, - calcular a probabilidade de relevância de característica local para uma característica local de um ponto chave compreende: c) inspecionar o histograma correspondendo a tal característica local a fim de identificar a recipiente disso ajustando o valor assumido pela característica local do ponto chave, e d) fixar a probabilidade de relevância de característica local à frequência da recipiente identificado.
5. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que calcular dita uma probabilidade de relevância de ponto chave de um ponto chave do primeiro grupo inclui combinar as probabilidades de relevância de característica locais de cada uma de dita pelo menos uma característica local do ponto chave correspondente.
6. Método de acordo com reivindicação 5, caracterizado pelo fato de que calcular uma probabilidade de relevância de ponto chave de um ponto chave do primeiro grupo inclui multiplicar entre si as probabilidades de relevância de característica locais de cada uma de dita pelo menos uma característica local do ponto chave correspondente.
7. Sistema para processar uma imagem, caracterizado pelo fato de compreender: - uma primeira unidade de processamento configurada para identificar um primeiro grupo de pontos chaves na imagem; - uma segunda unidade de processamento configurada para executar as operações seguintes para cada ponto chave do primeiro grupo: a) identificar pelo menos uma característica local de ponto chave correspondente relacionada a dito cada ponto chave; b) para dita pelo menos uma característica local de ponto chave, calcular uma probabilidade de relevância de característica local correspondente; c) calcular uma probabilidade de relevância de ponto chave baseado nas probabilidades de relevância de característica locais de dita pelo menos uma característica local; - uma terceira unidade de processamento configurada para selecionar pontos chaves, entre os pontos chaves do primeiro grupo, tendo as probabilidades de relevância de ponto chave mais altas para formar um segundo grupo de pontos chaves, e - uma quarta unidade de processamento configurada para explorar os pontos chaves do segundo grupo para analisar a imagem, em que: - a probabilidade de relevância de característica local calculada para uma característica local de um ponto chave é obtida comparando o valor assumido por dita característica local com uma distribuição estatística de referência correspondente de valores de dita característica local.
8. Método para gerar uma distribuição estatística de referência de valores de uma característica local de ponto chave a ser usada no método como definido em qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que compreende: - colecionar, entre uma pluralidade de pontos chaves de referência identificados em uma pluralidade de pares de imagem de referência, os valores de característica locais correspondendo àqueles pontos chaves de referência de cada par de imagem de referência que foi averiguado envolver uma combinação de característica correta entre as imagens de referência de tal par.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT000003A ITMI20120003A1 (it) | 2012-01-02 | 2012-01-02 | Analisi d'immagine |
ITMI2012A000003 | 2012-01-02 | ||
US201261599537P | 2012-02-16 | 2012-02-16 | |
US61/599,537 | 2012-02-16 | ||
PCT/EP2012/076398 WO2013102574A1 (en) | 2012-01-02 | 2012-12-20 | Image analysis |
Publications (3)
Publication Number | Publication Date |
---|---|
BR112014016400A2 BR112014016400A2 (pt) | 2017-06-13 |
BR112014016400A8 BR112014016400A8 (pt) | 2017-07-04 |
BR112014016400B1 true BR112014016400B1 (pt) | 2021-11-16 |
Family
ID=45809455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112014016400-2A BR112014016400B1 (pt) | 2012-01-02 | 2012-12-20 | Método e sistema para processar uma imagem, e, método para gerar uma distribuição estatística de referência de valores de uma característica local de ponto chave |
Country Status (10)
Country | Link |
---|---|
US (2) | US9269020B2 (pt) |
EP (1) | EP2801056B1 (pt) |
JP (1) | JP5845361B2 (pt) |
KR (1) | KR102049078B1 (pt) |
CN (1) | CN104115162B (pt) |
AR (1) | AR089531A1 (pt) |
BR (1) | BR112014016400B1 (pt) |
ES (1) | ES2879937T3 (pt) |
IT (1) | ITMI20120003A1 (pt) |
WO (1) | WO2013102574A1 (pt) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6474210B2 (ja) * | 2014-07-31 | 2019-02-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 大規模画像データベースの高速検索手法 |
US9613273B2 (en) * | 2015-05-19 | 2017-04-04 | Toyota Motor Engineering & Manufacturing North America, Inc. | Apparatus and method for object tracking |
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 |
ES2916828T3 (es) * | 2016-05-30 | 2022-07-06 | The Graffter S L | Localización de objetos planos en imágenes con patrones repetitivos |
US10909369B2 (en) | 2017-07-14 | 2021-02-02 | Mitsubishi Electric Research Laboratories, Inc | Imaging system and method for object detection and localization |
GB201803795D0 (en) * | 2018-03-09 | 2018-04-25 | Prisymid Ltd | Label data processing system |
WO2019205069A1 (en) * | 2018-04-27 | 2019-10-31 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for updating 3d model of building |
CN117275130B (zh) * | 2023-11-17 | 2024-01-26 | 长春金融高等专科学校 | 基于人脸识别的智慧门禁验证系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4613617B2 (ja) * | 2005-01-07 | 2011-01-19 | ソニー株式会社 | 画像処理システム、学習装置および方法、並びにプログラム |
US8358840B2 (en) * | 2007-07-16 | 2013-01-22 | Alexander Bronstein | Methods and systems for representation and matching of video content |
JP2011257963A (ja) * | 2010-06-08 | 2011-12-22 | Canon Inc | 画像処理装置、その処理方法及びプログラム |
US20120051647A1 (en) * | 2010-09-01 | 2012-03-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Icon design and method of icon recognition for human computer interface |
CN102004916B (zh) * | 2010-11-15 | 2013-04-24 | 无锡中星微电子有限公司 | 图像特征提取系统及其方法 |
CN102096827A (zh) * | 2011-01-18 | 2011-06-15 | 东华大学 | 一种基于尺度不变和向量机分类的异形纤维自动识别方法 |
CN102201063B (zh) * | 2011-06-13 | 2013-05-01 | 中国科学院自动化研究所 | 基于纹理图像局部特征的形变虹膜匹配方法 |
-
2012
- 2012-01-02 IT IT000003A patent/ITMI20120003A1/it unknown
- 2012-12-20 EP EP12816273.2A patent/EP2801056B1/en active Active
- 2012-12-20 BR BR112014016400-2A patent/BR112014016400B1/pt active IP Right Grant
- 2012-12-20 CN CN201280069522.6A patent/CN104115162B/zh active Active
- 2012-12-20 JP JP2014550677A patent/JP5845361B2/ja active Active
- 2012-12-20 WO PCT/EP2012/076398 patent/WO2013102574A1/en active Application Filing
- 2012-12-20 ES ES12816273T patent/ES2879937T3/es active Active
- 2012-12-20 KR KR1020147021748A patent/KR102049078B1/ko active IP Right Grant
- 2012-12-20 US US14/370,108 patent/US9269020B2/en active Active
- 2012-12-28 AR ARP120105058A patent/AR089531A1/es active IP Right Grant
-
2016
- 2016-01-08 US US14/991,556 patent/US9373056B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP5845361B2 (ja) | 2016-01-20 |
ITMI20120003A1 (it) | 2013-07-03 |
ES2879937T3 (es) | 2021-11-23 |
EP2801056B1 (en) | 2021-04-14 |
US20150036936A1 (en) | 2015-02-05 |
US20160125261A1 (en) | 2016-05-05 |
US9269020B2 (en) | 2016-02-23 |
CN104115162A (zh) | 2014-10-22 |
JP2015503800A (ja) | 2015-02-02 |
BR112014016400A2 (pt) | 2017-06-13 |
KR102049078B1 (ko) | 2019-11-26 |
CN104115162B (zh) | 2018-05-08 |
AR089531A1 (es) | 2014-08-27 |
US9373056B2 (en) | 2016-06-21 |
WO2013102574A1 (en) | 2013-07-11 |
KR20140110044A (ko) | 2014-09-16 |
BR112014016400A8 (pt) | 2017-07-04 |
EP2801056A1 (en) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9412037B2 (en) | Method and system for image analysis based upon correlation relationships of sub-arrays of a descriptor array | |
BR112014016400B1 (pt) | Método e sistema para processar uma imagem, e, método para gerar uma distribuição estatística de referência de valores de uma característica local de ponto chave | |
Simonyan et al. | Learning local feature descriptors using convex optimisation | |
US9721186B2 (en) | Global signatures for large-scale image recognition | |
Wang et al. | MARCH: Multiscale-arch-height description for mobile retrieval of leaf images | |
KR101971114B1 (ko) | 이미지 분석 방법 및 시스템 | |
US20160259815A1 (en) | Large scale image recognition using global signatures and local feature information | |
Tabia et al. | Compact vectors of locally aggregated tensors for 3D shape retrieval | |
Ahmad et al. | Multi-scale local structure patterns histogram for describing visual contents in social image retrieval systems | |
CN110442749B (zh) | 视频帧处理方法及装置 | |
CN117672891A (zh) | 一种台面芯片平坦化检测方法、装置、设备及存储介质 | |
US20140341436A1 (en) | Classifying materials using texture | |
Xie et al. | Effective and efficient image copy detection based on GPU | |
CN116704403B (zh) | 一种建筑物图像视觉辨别方法、装置、电子设备及介质 | |
Janardhan | Tendency to Study of the Cross Batch Redundancy Detection of Efficient Image Sharing | |
Wang et al. | Pedestrian Detection Over 100 fps with C4 Algorithm | |
CN117456210A (zh) | 向量处理方法、装置、设备及存储介质 | |
Ashwini et al. | Enhancement of Efficient Image Searching by using Advance Hashing Method | |
Sudeep et al. | Improved texture feature based image retrieval using Kekre’s fast codebook generation algorithm | |
Vetro | Industry and Standards |
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] | ||
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 20/12/2012, OBSERVADAS AS CONDICOES LEGAIS. |