ES2776196T3 - Aparato de procesamiento de imágenes y método para codificar un descriptor de imágenes basándose en un histograma de gradiente - Google Patents

Aparato de procesamiento de imágenes y método para codificar un descriptor de imágenes basándose en un histograma de gradiente Download PDF

Info

Publication number
ES2776196T3
ES2776196T3 ES14777780T ES14777780T ES2776196T3 ES 2776196 T3 ES2776196 T3 ES 2776196T3 ES 14777780 T ES14777780 T ES 14777780T ES 14777780 T ES14777780 T ES 14777780T ES 2776196 T3 ES2776196 T3 ES 2776196T3
Authority
ES
Spain
Prior art keywords
sub
descriptor
descriptors
group
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14777780T
Other languages
English (en)
Inventor
Stavros Paschalakis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Luck Global Ltd
Original Assignee
New Luck Global Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Luck Global Ltd filed Critical New Luck Global Ltd
Application granted granted Critical
Publication of ES2776196T3 publication Critical patent/ES2776196T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Método para codificar un descriptor de imágenes (H) basándose en histogramas de gradiente (hp) que comprenden cada uno una pluralidad de compartimentos de histograma (hi) y que se calculan en una subregión correspondiente (SR) de una región local (R) alrededor de un punto clave de interés de imagen, usando un descriptor transformado (V) que comprende subdescriptores transformados (vp) para cada subregión (SR) que se calculan como una transformación del histograma de gradiente (hp) de subregión correspondiente (SR), en el que cada subdescriptor (vp) comprende un conjunto de valores (vj) individualizado cada uno por un índice de elemento (j), caracterizado porque dicho método comprende: - determinar una pluralidad de grupos (gx), comprendiendo cada uno un conjunto de subdescriptores transformados (vp), determinándose el conjunto usando la distancia entre el centro de la subimagen correspondiente (SR) de cada subdescriptor transformado (vp) y el centro de dicha región local (R), estando cada grupo (gx) individualizado por un índice de grupo (x); - usar una lista de utilización de elementos para indicar la secuencia para codificar los valores (vj) de los elementos de subdescriptores transformados (vp), especificando la lista de utilización de elementos una secuencia ordenada de entradas de lista, definiendo cada entrada un par de índices que incluyen dicho índice de grupo (x), que indica un conjunto de subdescriptores transformados, y dicho índice de elemento (j), y la secuencia truncada en una longitud DLn que define un descriptor que tiene una longitud de DLn elementos que es un subconjunto de un descriptor que tiene una longitud de DLp elementos con DLn < DLp, definido por la secuencia de entradas truncada en una longitud DLp mayor que DLn; - codificar los valores (vj) del descriptor transformado (V) según el orden de la lista de utilización de elementos, comprendiendo la secuencia codificada una secuencia de descriptores transformados de diferentes longitudes (DLO, DL1, DL2, DL3, DL4).

Description

DESCRIPCIÓN
Aparato de procesamiento de imágenes y método para codificar un descriptor de imágenes basándose en un histograma de gradiente
Descripción
La presente invención se refiere a un método para codificar, transcodificar, decodificar y procesar eficazmente descriptores de imágenes calculados en regiones locales en torno a puntos clave de interés de imágenes y a un dispositivo de procesamiento de imágenes que comprende medios para codificar, transcodificar, decodificar y procesar tales descriptores.
Tales descriptores de imágenes han encontrado una amplia aplicabilidad en muchas aplicaciones de visión por ordenador, incluyendo reconocimiento de objetos, recuperación de imágenes basándose en contenido y registro de imágenes, por nombrar algunos.
Los enfoques existentes para la codificación de tales descriptores presentan determinados inconvenientes.
Por ejemplo, los enfoques de codificación existentes dan como resultado descriptores que requieren el análisis de todos los descriptores para realizar transcodificación, por lo que un descriptor de una longitud de descriptor dada se convierte en un descriptor de una longitud de descriptor diferente, o para realizar decodificación y comparación de descriptores de diferentes longitudes.
Un ejemplo adicional se facilita en Mehmet Firat VURAL et al. en “Registration of Multispectral Satellite Images with Orientation-Restricted SIFT” publicado en el simposio internacional de geociencias y teledetección 2009 del IEEE, IGARSS 2009, IEEE, PISCATAWAY, NJ, EE.UU., (2009-07-2012), donde se describe el algoritmo SIFT de orientación restringida (OR-SIFT). OR-SIFT es una versión modificada del popular algoritmo SIFT; sin embargo, sólo reduce a la mitad la longitud de los descriptores SIFT, por lo que no logra una buena escalabilidad de codificación de un descriptor de imágenes basándose en el algoritmo SIFT.
Como otro ejemplo, los enfoques de codificación existentes son ineficaces en lo que se refiere a la complejidad de codificación porque ignoran las coincidencias y redundancias en las operaciones que se requieren para producir descriptores de imágenes de longitud variable.
La solicitud de patente italiana n.° T02012A000602 (publicada como documento WO 2014/009198 A1) presentada por el propio solicitante describe la codificación de descriptores de imágenes locales, mediante lo cual descriptores de imágenes robustos, discriminativos, escalables y compactos se calculan a partir de descriptores de imágenes que emplean histogramas de gradientes basándose en la transformación de dichos histogramas de gradientes, donde dicha transformación captura información relevante y robusta contenida en ellos en cuanto a la forma de las distribuciones y la relación entre sus valores de compartimento.
En dicha solicitud de patente italiana se divulgan métodos de codificación de dichos descriptores que son más eficaces que los métodos de la técnica anterior en lo que se refiere a producir flujos de bits fácilmente escalables. Tales descriptores se divulgan en la solicitud de patente italiana aún no publicada mencionada anteriormente n.° TO2012A000602 que divulga el cálculo de descriptores de imágenes robustos, discriminativos, escalables y compactos a partir de descriptores de imágenes que emplean histogramas de gradientes basándose en la transformación de dichos histogramas de gradientes, donde dicha transformación captura la información relevante y robusta contenida en ellos en cuanto a la forma de las distribuciones y la relación entre sus valores de compartimento.
A continuación en el presente documento se describen aspectos importantes del cálculo de descriptores de imágenes robustos, discriminativos, escalables y compactos a partir de descriptores de imágenes que emplean histogramas de gradientes, en particular un descriptor de imágenes SIFT, según la solicitud de patente italiana aún no publicada n.° T02012A000602.
Brevemente, con el método SIFT, se forman descriptores de imágenes locales de la siguiente manera: en primer lugar, se realiza una búsqueda en múltiples escalas y ubicaciones de imágenes para identificar y localizar puntos clave de imágenes estables que sin invariantes en escala y orientación; entonces, para cada punto clave, se determinan una o más orientaciones dominantes basándose en gradientes de imágenes locales, lo que permite que el cálculo del descriptor local posterior se realice en relación con la orientación, escala y ubicación asignadas de cada punto clave, logrando de ese modo la invariancia para estas transformaciones. Entonces, se forman descriptores de imágenes locales en torno a puntos clave de la siguiente manera: en primer lugar, se calculan la magnitud del gradiente y la información de orientación en los puntos de muestra de imágenes en una región en torno al punto clave; entonces, estas muestras se acumulan en histogramas de orientación que resumen el contenido a lo largo de n*n subregiones.
A modo de ilustración únicamente, se muestra un ejemplo de un descriptor de puntos clave SIFT en las figuras 1a y 1b, donde la figura 1a muestra una subdivisión de una región local R en 4x4 subregiones SR y la figura 1b muestra una subdivisión del rango de 360° de orientaciones en ocho compartimentos para cada histograma de orientación, correspondiendo la longitud de cada flecha a la magnitud de esa entrada de histograma. Por tanto, un descriptor de imágenes local tal como se ilustra en la figura 1 tiene 4x4x8 = 128 elementos. Pueden encontrarse más detalles de la técnica SIFT en David G. Lowe, “Distinctive image features from scale-invariant keypoints”, International Journal of Computer Vision, 60, 2 (2004), págs. 91-110.
Según la solicitud de patente italiana aún no publicada n.° T02012A000602, puede calcularse un descriptor de imágenes robusto, discriminativo, escalable y compacto a partir de un descriptor SIFT de la siguiente manera.
En la siguiente descripción, H es un descriptor SIFT completo que comprende 16 histogramas de gradientes h cada uno con ocho compartimentos h, mientras que V es un descriptor local completo según la presente invención que comprende 16 subdescriptores v cada uno con ocho elementos v.
Supóngase que H indica un descriptor de imágenes local SIFT que comprende 16 histogramas de gradientes fe -h15, tal como se muestra en la figura 2a, comprendiendo cada histograma ocho valores de compartimento h0 - hi, tal como se muestra en la figura 2b. Puede calcularse un descriptor de imágenes más robusto, discriminativo, escalable y compacto transformando cada uno de h0 - h15 de H y luego realizando cuantificación escalar en los valores transformados resultantes. Más específicamente, cada uno de h0 - h15 se transforma según la transformada A o la transformada B, tal como se muestra a continuación, según la información de utilización de transformadas de la figura 3, es decir, la transformada A se aplica a h0 , h2 , h5 , hi, hs, h™, h13, h15y la transformada B se aplica a h1, h3, h4 , h6, hg, hn, h12, h14, dando el descriptor transformado V con subdescriptores v0 - v15, correspondientes a h0 - h15 respectivamente, y comprendiendo cada uno elementos V0-V7, dando un total de 128 elementos.
T ransformada A (1)
vo = h 2 - h
vi - lis - fl7
V2 = ho - hi
vi = fe - hs
m = h4 - h¡
V5 = h-6 - fe
V6 = (ho + hi) - (fe + he)
V7 = (ho + }i2 + lu he) - ( fe hs + hs + f e )
Transformada B (2)
vo = ho - hi
vi = hi - hs
vi = fe - ho
vi = hi - f e
m = lis - lu
vs = fe - he
ve = (fe fe) - (hs fe)
V7 = (ho + fe fe hs) - (lu hs + he + fe)
Entonces, cada elemento se somete a cuantificación escalar aproximada, por ejemplo, cuantificación ternaria (3 niveles), con los umbrales de cuantificación seleccionados para lograr una distribución de probabilidad de aparición específica entre los compartimentos de cuantificación para cada elemento. Esta cuantificación escalar produce el descriptor cuantificado V,~ con los subdescriptores v,~0 - v,~15, comprendiendo cada uno los elementos v,~o-v,~7, de nuevo con un total de 128 elementos. Este descriptor compacto captura la información más discriminativa y robusta contenida en los histogramas de gradientes originales, en cuanto a la forma de las distribuciones y la relación entre sus valores de compartimento.
Una ventaja clave del descriptor V, así como de su versión cuantificada V,~, es que es altamente escalable, y su dimensionalidad puede reducirse fácilmente si lo requieren los requisitos de almacenamiento de una aplicación o las características de un canal de transmisión eliminando simplemente uno o más de sus elementos. Por motivos de simplicidad, en la descripción que sigue se describirán aspectos importantes de la invención en lo que se refiere a codificación del descriptor previamente cuantificado V con subdescriptores v0 - v15, comprendiendo cada uno elementos V0-V7 y, a menos que se indique lo contrario, debe entenderse que la codificación del descriptor cuantificado V,~ se desarrolla de manera similar.
Las figuras 4a-4e muestran conjuntos de elementos a modo de ejemplo que se ha encontrado que producen excelente poder discriminativo y robustez para cinco longitudes de descriptor objetivo, desde la longitud de descriptor 0 (DL0), la longitud de descriptor más corta utilizando sólo 20 elementos de descriptor, hasta la longitud de descriptor 4 (DL4), la longitud de descriptor más larga utilizando los 128 elementos. Más específicamente, la figura 4a muestra un conjunto de elementos a modo de ejemplo para la longitud de descriptor DL0 que comprende 20 elementos, la figura 4b muestra un conjunto de elementos a modo de ejemplo para la longitud de descriptor DL1 que comprende 40 elementos, la figura 4c muestra un conjunto de elementos a modo de ejemplo para la longitud de descriptor DL2 que comprende 64 elementos, la figura 4d muestra un conjunto de elementos a modo de ejemplo para la longitud de descriptor DL3 que comprende 80 elementos, y la figura 4e muestra un conjunto de elementos a modo de ejemplo para la longitud de descriptor DL4 que comprende los 128 elementos. Por tanto, para cada longitud de descriptor, cada elemento de cada subdescriptor se codificará o no según los conjuntos de utilización de elementos de la figura 4a-4e.
Es clave para esta propiedad de escalabilidad que el conjunto de elementos utilizados para cada longitud de descriptor debe ser igual que o un subconjunto del conjunto de elementos utilizados para todas las longitudes de descriptor más altas, tal como se ilustra en las figuras 4a-4e. Esto permite la transcodificación y la comparación de descriptores de diferentes longitudes mediante la simple eliminación de elementos en exceso del descriptor con la longitud de descriptor más alta, de modo que se reduce al mismo conjunto de elementos que el descriptor con la longitud de descriptor más baja.
Un método de codificación directo de este descriptor comprende calcular y codificar los elementos en un orden “por subdescriptor”, es decir, en el caso general como vo,o, V0,1, ..., voj, vi,0, vi,1, ..., V17 , ..., V15,0 , ^ 5,1, ..., V15,7 dónde v¡j indica el elemento vj del subdescriptor v¡. Esto significa elementos de codificación V0, V1, ..., V7 para el subdescriptor transformado v0, luego elementos de codificación V0, V1, ..., V7 para el subdescriptor transformado v1, etc., usando las transformadas apropiadas, por ejemplo, tal como se ilustra en la figura 3, y también usando los conjuntos de utilización de elementos apropiados para la longitud de descriptor deseada, por ejemplo, tal como se ilustra en la figura 4, para decidir qué elementos deben codificarse.
Esta codificación resulta, por ejemplo para una longitud de descriptor DL0, en un descriptor V0,0 , V1,0, V2,0 , V3,0, V4,0 , V5,0 , V5,6 , va,0, va,a, V70 , va,0, vg,0, vg,6, V10,0, V10,6, vn,0, V12,0, V13,0, V14,0, V15,0 y para una longitud de descriptor DL1 en un descriptor V0,0, V0,1, V1,0, V1,1, V2, 0, V2,1, V3 0, V3, 1, V4, 0, V4, 1, V5 0, V51 , V5 2, V5 6, V6,0, V6,1, V6,2, V6,6, V7,0, V7, 1, V8,0, V8,1, Vg,0, Vg,1, V9 2, vg,6, V10,0, V10,1, V10,2, V10,6, V11,0, v11,1, V12,0, V12,1, V13,0, V13,1, V14,0, V14,1, V15,0, V15,1.
La figura 5 ilustra el funcionamiento de un codificador tan directo como una secuencia de etapas. En la siguiente descripción, así como en descripciones posteriores del funcionamiento de un codificador, a menos que se especifique lo contrario, una secuencia de etapas de este tipo corresponde a etapas que son conceptuales y no corresponden a hardware específico de implementaciones de software, componentes e instrucciones, pero son representativas del funcionamiento general del codificador. Más específicamente, la figura 5 ilustra el funcionamiento de un codificador para una longitud de descriptor DL^, por ejemplo correspondiente a una de las longitudes de descriptor ilustradas en la figura 4. En la etapa S100 de la figura 5, la codificación del descriptor comienza en el primer subdescriptor, es decir v0. En la etapa S110, se selecciona la transformada apropiada para el subdescriptor que está procesándose, por ejemplo, según la utilización de transformadas de la figura 3. Cabe señalar que el cálculo del descriptor V a partir del descriptor H según dos transformadas diferentes tal como se describe en este caso es sólo un ejemplo. El cálculo del descriptor V a partir del descriptor H también puede realizarse según una sola transformada, por ejemplo, sólo la transformada A o sólo la transformada B, haciendo innecesaria la etapa S110, o según más de dos transformadas. En la etapa S120, la codificación del subdescriptor que está procesándose comienza en el primer elemento del subdescriptor, es decir, vo. Entonces, en la etapa S130, se comprueba el uso o no del elemento particular del subdescriptor particular, es decir v 0,0, frente a la información de utilización del elemento para la longitud de descriptor DL^, por ejemplo, usando uno de los conjuntos de utilización de la figura 4. Si el elemento no está en uso, el procesamiento avanza entonces a la etapa S150. Si el elemento está en uso para la longitud de descriptor DL^, entonces tiene lugar su codificación en la etapa S140. En este caso, así como en las descripciones posteriores del funcionamiento de un codificador, a menos que se especifique lo contrario, la palabra “codificación” significa una o más acciones, o combinación de las mismas, que hacen del elemento V00 parte del descriptor de imágenes local, incluyendo dichas acciones, a modo de ejemplo y sin limitación, el cálculo según la función de transformada apropiada de (1) o (2) indicadas anteriormente, la selección del elemento para su inclusión en el descriptor de imágenes local en el caso de que todos los elementos se calculen previamente sin saber qué elementos se usarán finalmente en el descriptor, la cuantificación del valor del elemento, el almacenamiento del elemento en la memoria volátil o no volátil y la transmisión del elemento a lo largo de un canal de transmisión. Después de la etapa S140, o si se decidió que el elemento no está en uso para la longitud de descriptor DL^ en la etapa S130, el procesamiento avanza a la etapa S150. En la etapa S150, si el elemento actual no es el último elemento del subdescriptor, el procesamiento avanza al siguiente elemento del subdescriptor; en caso contrario, el procesamiento avanza a la etapa S160. En la etapa S160, si el subdescriptor actual no es el último subdescriptor del descriptor de imágenes local, el procesamiento avanza al siguiente subdescriptor del descriptor de imágenes local, en caso contrario el procesamiento finaliza. Por tanto, está claro que las etapas S100, S120, S150 y S160 se refieren al orden en que se realiza el procesamiento, mientras que las etapas S110, S130 y S140 se refieren a la codificación real del descriptor de imágenes local.
Otro método de codificación directo de este descriptor comprende calcular y codificar los elementos en un orden “por elemento”, es decir, en el caso general como vo, 0, V1,ü, ..., V15,0, V0,1, v-i , 1 , ..., v i5 , 1 , ..., vo 7, V1,7,..., V15,7 es decir, elemento de codificación vo para los subdescriptores vo, V1,..., V15 , luego el elemento de codificación V1 para los subdescriptores vo, V1 ,..., V15 , etc., nuevamente usando las transformadas apropiadas, por ejemplo, tal como se ilustra en la figura 3, y también usando los conjuntos de utilización de elementos apropiados para la longitud de descriptor deseada, por ejemplo, tal como se ilustra en la figura 4, para decidir qué elementos deben codificarse. Un codificador de este tipo puede funcionar de manera análoga al codificador de la figura 5, con la reordenación apropiada de las etapas. En general, ninguno de los dos métodos mencionados anteriormente ofrece una ventaja con respecto al otro método. Para los fines de transcodificación, decodificación y procesamiento, el decodificador también debe conocer el proceso de codificación y los conjuntos de ordenación y utilización de elementos para poder procesar y comparar descriptores, posiblemente de diferentes longitudes, para los fines de las aplicaciones de visión por ordenador relacionadas. Por tanto, los conjuntos de utilización de elementos o bien deben fijarse de manera permanente o bien almacenarse/transmitirse junto con los descriptores. En este contexto, el proceso de codificación directo es desventajoso.
Más específicamente, una codificación de este tipo ignora la importancia relativa entre diferentes elementos en el orden de codificación. En consecuencia, en lo que se refiere a la transcodificación, mediante la cual un descriptor de una longitud de descriptor dada se convierte en un descriptor de una longitud de descriptor diferente, o en lo que se refiere a la decodificación y comparación de descriptores de diferentes longitudes comparando elementos correspondientes entre los dos descriptores, tal codificación necesita análisis de los descriptores para lograr el resultado deseado.
Además, tal codificación ignora los patrones de redundancia en la importancia relativa entre diferentes elementos y es innecesariamente compleja en lo que respecta a decidir si deben codificarse o no elementos específicos.
Por tanto un objeto de la presente invención es divulgar un método para codificar un descriptor de imágenes basándose en un histograma de gradientes, y un aparato de procesamiento de imágenes relativo, que sea más eficaz con respecto a los métodos de la técnica anterior.
Un objeto adicional de la presente invención es divulgar un método para codificar un descriptor de imágenes basándose en un histograma de gradientes, y un aparato de procesamiento de imágenes relativo, que sea más flexible.
Un objeto adicional de la presente invención es divulgar un método para codificar un descriptor de imágenes basándose en un histograma de gradientes, y un aparato de procesamiento de imágenes relativo, que permita lograr una implementación de codificador optimizada.
Un objeto adicional de la presente invención es divulgar un método para codificar un descriptor de imágenes basándose en un histograma de gradientes, y un aparato de procesamiento de imágenes relativo, que permita obtener descriptores de imágenes de cualquier longitud.
Estos y otros objetos de la invención se logran a través de un método para codificar un descriptor de imágenes basándose en un histograma de gradientes, y un aparato de procesamiento de imágenes relativo, tal como se reivindica en las reivindicaciones adjuntas, que constituyen una parte integral de la presente descripción.
Brevemente, se divulga un método para codificar eficazmente descriptores de imágenes tales como los descritos anteriormente codificándolos según un orden de utilización de elementos, lo que da como resultado descriptores escalables que pueden convertirse en longitudes de descriptor más bajas mediante el simple truncamiento del descriptor en lugar de análisis.
La codificación se lleva a cabo según grupos de subdescriptores, formados según los patrones de redundancia en la importancia relativa entre los elementos correspondientes de dichos grupos de subdescriptores.
Más específicamente, dicha agrupación se realiza agrupando subdescriptores cuyos elementos correspondientes tienen una importancia similar en una ordenación de todos los elementos del descriptor según su importancia relativa en lo que se refiere a lograr un alto rendimiento de reconocimiento, más específicamente agrupando subdescriptores según su distancia desde el centro del descriptor y, adicionalmente, agrupando subdescriptores según la distancia entre ellos y/u ordenando los subdescriptores de un grupo según las características de codificación correspondientes y/u adicionalmente ordenando los subdescriptores de un grupo según la distancia entre ellos.
El método de codificación según la invención es ventajosamente más eficaz que los de la técnica anterior en lo que se refiere a eficacia, complejidad computacional y/o la cantidad de información necesaria para generar flujos de bits escalables.
Características adicionales de la invención se exponen en las reivindicaciones adjuntas, que pretenden ser una parte integral de la presente descripción.
Los objetos anteriores resultarán más evidentes a partir de la siguiente descripción detallada del método para codificar un descriptor de imágenes basándose en un histograma de gradientes, y un aparato de procesamiento de imágenes relativo, con referencia particular a los dibujos adjuntos, en los que:
- las figuras 1a y 1b muestran un ejemplo de un descriptor de puntos clave de la técnica anterior;
- las figuras 2a y 2b muestran histogramas de gradientes del descriptor de puntos clave de la figura 1 y valores de compartimento relacionados con uno de dichos histogramas de gradientes, respectivamente;
- la figura 3 muestra transformadas a modo de ejemplo que van a aplicarse a los histogramas de gradientes de la figura 2;
- las figuras 4a-4e muestran conjuntos de elementos a modo de ejemplo para cinco longitudes de descriptor objetivo respectivas;
- la figura 5 representa un diagrama de flujo que ilustra el funcionamiento de un codificador que usa los conjuntos de elementos de la figura 4;
- la figura 6 muestra un orden de utilización de elementos usado por un método según la presente invención;
- la figura 7 ilustra el funcionamiento de un codificador que usa el orden de utilización de elementos de la figura 6; - la figura 8 muestra los centros de una región y de una subregión de un descriptor de imágenes local;
- la figura 9 muestra una primera agrupación de subdescriptores de un descriptor de imágenes local según una primera realización o una cuarta realización de un método según la invención;
- las figuras 12 y 14 muestran las agrupaciones a modo de ejemplo segunda y tercera, respectivamente, de subdescriptores de un descriptor de imágenes local según la primera realización de un método según la invención; - las figuras 10, 13 y 15 muestran órdenes de utilización de elementos de los grupos primero, segundo y tercero en relación con las agrupaciones de la figuras 9, 12, 14 y 17, respectivamente;
- la figura 11 ilustra el funcionamiento de un codificador según una primera, una segunda o una cuarta realización de un método según la invención;
- la figura 16 muestra una cuarta agrupación a modo de ejemplo según una primera realización de un método según la invención;
- la figura 17 muestra una quinta agrupación a modo de ejemplo de subdescriptores de un descriptor de imágenes local según la segunda y la tercera realización de un método según la invención;
- la figura 18 ilustra el funcionamiento de un codificador que usa el orden de utilización de elementos de la figura 17, según la tercera realización de un método según la invención;
- la figura 19 ilustra el funcionamiento de un codificador según una cuarta realización de un método según la invención;
- la figura 20 muestra una agrupación a modo de ejemplo de subdescriptores de un descriptor de imágenes local según una quinta realización de un método según la invención;
- las figuras 21a-21e muestran conjuntos de elementos a modo de ejemplo según la agrupación de la figura 20; - las figuras 22a-22e muestran los conjuntos de elementos de la figuras 21a-21e, respectivamente, cuando se convierten en conjuntos de utilización de elementos de grupo;
- la figura 23 ilustra el funcionamiento de un codificador para la codificación de un descriptor para proporcionar los conjuntos de elementos convertidos de la figuras 22a-22e;
- la figura 24 ilustra un dispositivo de procesamiento de imágenes adecuado para llevar a cabo el método según la presente invención.
Según la invención, en lugar de codificar según los conjuntos de utilización de elementos para diferentes longitudes de descriptor, un codificador más eficaz puede funcionar según un orden de utilización de elementos, produciendo un descriptor cuyos elementos se ordenan según el orden de utilización de elementos y que pueden convertirse en longitudes de descriptor más bajas mediante el simple truncamiento del descriptor. Tal orden de utilización de elementos puede adoptar la forma de una lista ordenada de 128 elementos, que puede codificarse en 112 bytes, especificando cada entrada de lista un índice de subdescriptor y un índice de elemento, tal como se ilustra en la figura 6. Por tanto, por ejemplo, la figura 6 muestra una lista de prioridad de elementos mediante la cual al elemento V5,0 se le da la prioridad más alta, al elemento vg,o se le da la segunda prioridad más alta, etc. Por tanto, un codificador de orden de utilización de elementos de este tipo puede producir un descriptor de longitud l codificando los l elementos superiores en la lista.
La figura 7 ilustra el funcionamiento de un codificador de este tipo que usa el orden de utilización de elementos de la figura 6. Con el codificador de la figura 7, la codificación del descriptor comienza con el elemento con la máxima prioridad (prioridad 1) en el orden de utilización de elementos, es decir, el elemento vo del subdescriptor v5. En la etapa S200, se selecciona la transformada apropiada según el subdescriptor al que pertenece este elemento, por ejemplo, según la utilización de transformadas de la figura 3. Cabe señalar que el cálculo del descriptor V a partir del descriptor H según dos transformadas diferentes tal como se describe en este caso es sólo un ejemplo. En diferentes realizaciones, el cálculo del descriptor V a partir del descriptor H también puede realizarse según una sola transformada, por ejemplo, sólo la transformada A o sólo la transformada B, haciendo innecesaria la etapa S200, o según más de dos transformadas. Entonces, tiene lugar la codificación del elemento, es decir V5,o, en la etapa S210. Luego, en la etapa S220, si un número deseado de l elementos del descriptor aún no se han codificado, el procesamiento avanza al elemento con la siguiente prioridad más alta en el orden de utilización de elementos; en caso contrario, el procesamiento finaliza. Por tanto, la etapa S220 se refiere al control de cuántos elementos codificar, mientras que las etapas S200 y S210 se refieren a la codificación real del descriptor de imágenes local. Por tanto, el codificador de la figura 7, usando un orden de utilización de elementos tal como en la figura 6, produce descriptores cuyos elementos se ordenan según el orden de utilización de elementos y que pueden convertirse en longitudes de descriptor más bajas mediante el simple truncamiento del descriptor, es decir, eliminando los últimos elementos del descriptor, y es más flexible que el codificador de la figura 5, que usa conjuntos de utilización de elementos como en la figura 4.
La cantidad de elementos l en el descriptor puede almacenarse/transmitirse junto con el descriptor, posiblemente a nivel de imagen. Para los fines de transcodificación, decodificación y procesamiento, el decodificador también debe conocer el orden de los elementos para poder procesar para los fines de las aplicaciones de visión por ordenador relacionadas. Por tanto, el orden de utilización de elementos o bien debe fijarse de manera permanente o bien almacenarse/transmitirse junto con los descriptores.
En la práctica, sin embargo, la eficacia del codificador de la figura 7 puede mejorarse. Esto se debe a que el orden de utilización de elementos ilustrado en la figura 6 contiene una cantidad significativa de redundancia y, en cierta medida, no resulta práctico de generar y usar.
La razón de esto es que el conjunto completo de 128 elementos de V no corresponde a un solo descriptor cuyos elementos pueden ordenarse según una lista de prioridad única, sino a 16 subdescriptores de 8 elementos diferentes, extraído cada subdescriptor de un histograma de gradientes diferente según una transformada específica y de modo que los elementos correspondientes entre todos los subdescriptores capturen la relación entre compartimentos con la misma separación angular.
Por tanto, se ha encontrado que, en lo que se refiere a lograr un alto rendimiento de reconocimiento con un conjunto de elementos limitado, un descriptor necesita encontrar un equilibrio entre una distribución de elementos uniforme, es decir, seleccionando el/los elemento(s) de tantos subdescriptores como sea posible, y la distancia desde el centro del descriptor, es decir, dando mayor prioridad a los subdescriptores que están más cerca del centro del descriptor. Al mismo tiempo, también se ha encontrado que la importancia de elementos correspondientes de diferentes subdescriptores es aproximadamente la misma cuando la distancia de los subdescriptores al centro del descriptor es la misma, mientras que la importancia de elementos correspondientes de diferentes subdescriptores aumenta cuando disminuye la distancia de los subdescriptores al centro del descriptor.
En este contexto, la distancia de un subdescriptor v al centro del descriptor se refiere a la distancia entre el centro de la subregión que corresponde al histograma de gradientes h que da lugar al subdescriptor v y el centro de la región que comprende las subregiones, tal como se ilustra en la figura 8. Aunque es posible referirse nuevamente a las dimensiones de la región y las subregiones de la imagen para calcular dichas distancias, no es necesario ya que sólo interesa comparar dichas distancias. Por tanto, dichas distancias pueden calcularse suponiendo que cada lado de cada subregión tiene, por ejemplo, una longitud unitaria. Además, en esta descripción, dichas distancias son distancias euclidianas, aunque también pueden usarse otras medidas de distancia adecuadas.
En consecuencia, se observa que, para los fines de la codificación eficaz de un descriptor de imágenes, sus subdescriptores pueden agruparse de modo que a elementos de descriptor correspondientes para los subdescriptores de cada grupo se les asigne una importancia común en el orden de utilización y se codifiquen conjuntamente.
Primera realización
En una primera realización de la invención, los subdescriptores se agrupan según su distancia desde el centro del descriptor.
Por ejemplo, uno de tales agrupamientos se ilustra en la figura 9, donde hay tres grupos, concretamente g0 = {v0, v3, v12, v15}, que contiene los subdescriptores con la mayor distancia al centro del descriptor, g1 = {vi , v2, v4 , v7 , v8, v i i , v i3, v-m }, que contiene los subdescriptores con la segunda mayor distancia al centro del descriptor, y g2 = {V5, va, vg, v io}, que contiene los subdescriptores con la menor distancia al centro del descriptor. Dentro de cada grupo, los subdescriptores se ordenan en orden de índice de subdescriptor ascendente, aunque esto no es restrictivo y pueden usarse otros órdenes, tal como en sentido horario, comenzando por el subdescriptor más a la izquierda superior del grupo. Dentro de cada grupo, a todos los elementos correspondientes de los subdescriptores del grupo se les asigna la misma prioridad de codificación.
Basándose en esta agrupación, puede generarse un orden de utilización de elementos de grupo, que puede adoptar la forma de una lista ordenada de 24 elementos, que puede codificarse en 15 bytes, especificando cada entrada de lista un grupo de subdescriptores y un índice de elemento, tal como se ilustra en la figura 10. Cabe señalar que el orden de utilización de elementos de grupo de la figura 10 es simplemente un ejemplo, y pueden generarse diferentes órdenes de utilización de elementos de grupo cambiando las prioridades de las entradas en la lista. Por tanto, el orden de utilización de elementos de grupo de la figura 10 es mucho más económico que el orden de utilización de elementos de la figura 6, en lo que se refiere a la longitud y el tamaño de codificación. Por tanto, por ejemplo, la figura 10 muestra una lista de prioridades de elementos de grupo mediante la cual al elemento vo del grupo g2 se le da la prioridad más alta, indicando al codificador que los primeros cuatro elementos para codificar son V5,0, va,0, vg,0y V100, al elemento vo del grupo gi se le da la segunda prioridad más alta, indicando al codificador que los siguientes ocho elementos para codificar son vi , 0, V2,0, V4,0, V7,0, v& 0, v -1,0, vi3 ,0 y v -4,0, etc.
La figura 11 ilustra el funcionamiento de un codificador de este tipo que usa el orden de utilización de elementos de grupo de la figura 10 y configurado para codificar los m grupos superiores de elementos en dicho orden de utilización de elementos de grupo. Con el codificador de la figura 11, la codificación del descriptor comienza con el grupo de elementos con la máxima prioridad (prioridad 1) en el orden de utilización de elementos de grupo, es decir, el elemento V0 del grupo g2 que comprende los subdescriptores v5, va, vg, y v i0. En la etapa S300, la codificación del descriptor comienza en el primer subdescriptor del grupo, es decir, v5. En la etapa S310, se selecciona la transformada apropiada para el subdescriptor, por ejemplo, según la utilización de transformadas de la figura 3. Cabe señalar que el cálculo del descriptor V a partir del descriptor H según dos transformadas diferentes tal como se describe en este caso es sólo un ejemplo. En diferentes realizaciones, el cálculo del descriptor V a partir del descriptor H también puede realizarse según una sola transformada, por ejemplo sólo la transformada A o sólo la transformada B, haciendo innecesaria la etapa S310, o según más de dos transformadas. Entonces, tiene lugar la codificación del elemento, es decir v 5,0, en la etapa S320. En la etapa S330, si el subdescriptor actual no es el último subdescriptor en el grupo, el procesamiento avanza al siguiente subdescriptor, en caso contrario el procesamiento avanza a la etapa S340. Entonces, en la etapa S340, si aún no se ha codificado el número deseado de m grupos de elementos, el procesamiento avanza al grupo de elementos con la siguiente prioridad más alta en el orden de utilización de elementos de grupo, en caso contrario el procesamiento finaliza. Por tanto, las etapas S300, S330 y S340 se refieren al orden en que se realiza el procesamiento y al control de cuántos grupos de elementos codificar, mientras que las etapas S310 y S320 se refieren a la codificación real del descriptor de imágenes local.
El número de grupos m o el número correspondiente de elementos en el descriptor puede almacenarse/transmitirse junto con el descriptor, posiblemente a nivel de imagen.
El hecho de que el orden de utilización de elementos de grupo de la figura 10 sea más económico que el orden de utilización de elementos de la figura 6 da como resultado un codificador más eficaz y económico. Además, tal como se observó anteriormente, para los fines de transcodificación, decodificación y procesamiento, el decodificador también debe conocer el proceso de codificación y el orden de utilización de elementos para poder procesar y comparar descriptores para los fines de las aplicaciones de visión por ordenador relacionadas, lo que significa que el orden de utilización de elementos o bien debe fijarse o bien transmitirse junto con los descriptores. Es posible que diferentes aplicaciones necesiten cambiar el orden de utilización de elementos, posiblemente a nivel de imagen o subimagen, por ejemplo, dando mayor prioridad a los subdescriptores más próximos al centro del descriptor, o dando mayor prioridad a una clase específica de elemento, por ejemplo V7 en contraposición a V2, para lograr un alto rendimiento de reconocimiento con un conjunto de elementos limitado. En este caso, el orden de utilización de elementos debe almacenarse o transmitirse junto con los descriptores. Teniendo en cuenta que los descriptores de baja tasa de bits normalmente tienen un tamaño de pocos cientos de bytes, el orden de utilización de elementos de grupo de la figura 10 representa una sobrecarga mucho menor que el orden de utilización de elementos de la figura 6. Además, la agrupación de subdescriptores puede ser fija y conocida tanto por el codificador como por el decodificador, o pueden transmitirse junto con los descriptores. Por ejemplo, para la agrupación considerada hasta ahora, el número de grupos y el tamaño de la composición de cada grupo pueden codificarse en menos de 10 bytes. Como otro ejemplo según una primera realización de la invención, se ilustra una agrupación diferente en la figura 12, donde hay dos grupos, concretamente g0 = {v0, v i , v2 , v3, v4 , v7 , v8, v i i , v i 2 , v i3 , vi4, v15}, que contiene todos los subdescriptores periféricos, y gi = {v5, va, vg, v i0 }, que contiene los subdescriptores con la menor distancia al centro del descriptor, es decir, todos los subdescriptores centrales. Por tanto, con este ejemplo, el grupo gi contiene subdescriptores de diversas distancias al centro del descriptor, pero siempre más lejos del centro que los subdescriptores del grupo g0. Dentro de cada grupo, a todos los elementos correspondientes de los subdescriptores del grupo se les asigna la misma prioridad de codificación. Basándose en esta agrupación, puede generarse un orden de utilización de elementos de grupo, que puede adoptar la forma de una lista ordenada de 16 elementos, que puede codificarse en 8 bytes, especificando cada entrada de lista un grupo de subdescriptores y un índice de elemento, tal como se ilustra en la figura 13. El codificador de la figura 11 puede usarse entonces de nuevo para codificar un descriptor según el orden de utilización de elementos de grupo de la figura 13. Cabe señalar que el orden de utilización de elementos de grupo de la figura 13 es simplemente un ejemplo, y pueden generarse diferentes órdenes de utilización de elementos de grupo cambiando las prioridades de las entradas en la lista.
Como otro ejemplo según una primera realización de la invención, se ilustra una agrupación diferente en la figura 14, donde hay cuatro grupos, concretamente g0 = {v0, v3, v i 2 , v i5 }, que contiene los subdescriptores con la mayor distancia al centro del descriptor, gi = {vi , v2, v4, v7}, que contiene un conjunto de cuatro subdescriptores con la segunda mayor distancia al centro del descriptor, g2 = {v8 , v i i , v i3 , v i4 }, que contiene un conjunto de cuatro subdescriptores diferentes de nuevo con la segunda mayor distancia al centro del descriptor, y g3 = {v5, va, vg, v i0 }, que contiene los subdescriptores con la menor distancia al centro del descriptor. Por tanto, con este ejemplo, los subdescriptores de los grupos gi y g2 están a la misma distancia del centro del descriptor. Esta agrupación se obtiene a partir de la agrupación de la figura 9 subdividiendo el grupo original gi en los nuevos grupos gi y g2. La ventaja de esto es que da como resultado grupos con el mismo número de subdescriptores, lo que es deseable en implementaciones de codificador optimizadas. Dentro de cada grupo, a todos los elementos correspondientes de los subdescriptores del grupo se les asigna la misma prioridad de codificación. Basándose en esta agrupación, puede generarse un orden de utilización de elementos de grupo, que puede adoptar la forma de una lista ordenada de 32 elementos, que puede codificarse en 20 bytes, especificando cada entrada de lista un grupo de subdescriptores y un índice de elemento, tal como se ilustra en la figura 15. El codificador de la figura 11 puede usarse entonces de nuevo para codificar un descriptor según el orden de utilización de elementos de grupo de la figura 15. Cabe señalar que el orden de utilización de elementos de grupo de la figura 15 es simplemente un ejemplo, y pueden generarse diferentes órdenes de utilización de elementos de grupo cambiando las prioridades de las entradas en la lista.
Claramente, la agrupación de la figura 14 en cuatro grupos no es única. Por ejemplo, en la figura 16 se muestra una agrupación alternativa, que contiene los grupos g0 = {v0, v3 ,vi 2 , v i5 }, gi = {vi , v2 , vi3 , v i4 }, g2 = {v4, v7, v8, v i i }, y g3 = {v5 , va, vg, v i0 }. Por tanto, en la figura 16, los grupos g0 y g3 son idénticos a los de la figura 14, pero los subdescriptores de g1 y g2 se han intercambiado en comparación con la figura 14 de modo que cada uno de esos dos grupos contiene un subdescriptor de la parte superior izquierda, la parte superior derecha, la parte inferior izquierda y la parte inferior derecha de la cuadrícula de subdescriptores.
Una diferencia entre el codificador de la figura 7 y el codificador de la figura 11 es que, a diferencia del primero que produce descriptores de cualquier longitud, el segundo permite la codificación de descriptores cuya longitud tiene una granularidad decidida por los grupos de subdescriptores. En la práctica, el segundo puede estar configurado para producir descriptores de cualquier longitud, tal como se demostrará más adelante.
Segunda realización
En una segunda realización de la invención, los subdescriptores se agrupan en primer lugar según su distancia desde el centro (primera condición) y en segundo lugar según sus distancias recíprocas (segundo condición).
En este contexto, la distancia entre subdescriptores puede adoptar de nuevo la forma de una distancia euclidiana u otras medidas de distancia adecuadas, tales como la distancia de Manhattan.
La segunda condición puede ser, por ejemplo, que un grupo no contenga subdescriptores cuya distancia entre sí esté por debajo de un umbral predeterminado. Por tanto, puede establecerse el umbral predeterminado para evitar, por ejemplo, la agrupación de subdescriptores vecinos.
El objetivo de la condición secundaria es garantizar que los subdescriptores de los diferentes grupos, siempre que sea posible, se extraigan de posiciones relativamente distantes de la cuadrícula de subdescriptores, aumentando de ese modo el contenido de información de los descriptores de muy pocos números de características. Cabe señalar que la condición secundaria no siempre se satisface, por ejemplo no es posible satisfacerla para un grupo que contiene todos los subdescriptores centrales V5, va, vg y v io .
Por ejemplo, una agrupación de este tipo se ilustra en la figura 17, donde hay cuatro grupos, concretamente g0 = {v0, v3, v12, v15}, que contiene los subdescriptores con la mayor distancia al centro del descriptor, g1 = {v i, v7 , v8 , v14}, que contiene un conjunto de cuatro subdescriptores con la segunda mayor distancia al centro del descriptor, g2 = {V2, V4, v i i , V13}, que contiene un conjunto de cuatro subdescriptores diferentes de nuevo con la segunda mayor distancia al centro del descriptor, y g3 = {v5, va, vg, vio }, que contiene los subdescriptores con la menor distancia al centro del descriptor. Por tanto, con este ejemplo, los subdescriptores de los grupos go, gi y g2 satisfacen la condición de que no contienen subdescriptores vecinos. Dentro de cada grupo, a todos los elementos correspondientes de los subdescriptores del grupo se les asigna la misma prioridad de codificación. Basándose en esta agrupación, puede generarse un orden de utilización de elementos de grupo tal como el ilustrado en la figura 15, y puede usarse entonces de nuevo un codificador tal como el ilustrado en la figura 11 para codificar un descriptor según el orden de utilización de elementos de grupo de la figura 15.
Claramente, también pueden emplearse condiciones alternativas basándose en la distancia de subdescriptores dentro de un grupo, tal como maximizando la distancia total entre subdescriptores, etc.
Tercera realización
En una tercera realización de la invención, los subdescriptores se agrupan según su distancia desde el centro y los subdescriptores de cada grupo se codifican en una secuencia definida según sus características de codificación correspondientes, tal como sus transformadas correspondientes.
Por ejemplo, considerando la agrupación de la figura 17 de la segunda realización de la invención conjuntamente con el patrón de despliegue de transformadas de la figura 3, puede observarse que, dentro de cada grupo, se transforman dos subdescriptores según la transformada A y se transforman dos subdescriptores según la transformada B. Por tanto, es posible establecer una condición de secuencia de codificación común en que, para cada grupo, la secuencia de utilización de transformadas debe ser “A A B B”, es decir, una secuencia de codificación mediante la cual, para cada grupo de subdescriptores, la transformada del primer subdescriptor en el grupo es la transformada A, la transformada del segundo subdescriptor en el grupo también es la transformada A, la transformada del tercer subdescriptor en el grupo es la transformada B, y la transformada del cuarto subdescriptor en el grupo también es la transformada B. Por tanto, hay grupos go = {vo, v15 , v3, v12}, que contiene los subdescriptores con la mayor distancia al centro del descriptor, g1 = {v7 , v8, v1 , v14}, que contiene un conjunto de cuatro subdescriptores con la segunda mayor distancia al centro del descriptor, g2 = {v2 , v13, v4, vn }, que contiene un conjunto de cuatro subdescriptores diferentes de nuevo con la segunda mayor distancia al centro del descriptor, y g3 = {v5, v1o, va, vg}, que contiene los subdescriptores con la menor distancia al centro del descriptor. Dentro de cada grupo, a todos los elementos correspondientes de los subdescriptores del grupo se les asigna la misma prioridad de codificación. Además, dentro de cada grupo, la información de utilización de transformada para los cuatro subdescriptores en el grupo siempre es “A A B B”, lo que significa que una implementación de codificador eficaz no necesita identificar la transformada aplicable de cada subdescriptor.
La figura 18 ilustra el funcionamiento de un codificador de este tipo que usa el orden de utilización de elementos de grupo de la figura 15 y que está configurado para codificar los m grupos de elementos superiores en dicho orden de utilización de elementos de grupo. Con el codificador de la figura 18, la codificación del descriptor comienza con el grupo de elementos con la máxima prioridad (prioridad 1) en el orden de utilización de elementos de grupo, es decir el elemento vo del grupo g3 que comprende los subdescriptores v5, v1o, va y vg. En la etapa S4oo, la codificación del descriptor comienza en el primer subdescriptor del grupo, es decir v5. Dado que todos los grupos tienen un orden de utilización de transformada común y fijo, el procesamiento avanza a la etapa S41o donde tiene lugar la codificación del elemento, es decir V5,o. En la etapa S42o, si el subdescriptor actual no es el último subdescriptor en el grupo, el procesamiento avanza al siguiente subdescriptor, en caso contrario el procesamiento avanza a la etapa S43o. Entonces, en la etapa S43o, si aún no se ha codificado el número deseado de m grupos de elementos, el procesamiento avanza al grupo de elementos con la siguiente prioridad más alta en el orden de utilización de elementos de grupo, en caso contrario el procesamiento finaliza. Por tanto, las etapas S4oo, S42o y S43o se refieren al orden en que se realiza el procesamiento y al control de cuántos grupos de elementos codificar, mientras que sólo la etapa S41o se refiere a la codificación real del descriptor de imágenes local.
En la descripción anterior, la condición de secuencia de codificación común se define en las transformadas que se utilizan dentro de cada grupo, pero esta condición también puede definirse en otras características de codificación, tales como el tipo y nivel de cuantificación, o combinaciones de los mismos.
Claramente, si se requiere, pueden aplicarse diferentes condiciones de secuencia de codificación a diferentes grupos de subdescriptores. Por ejemplo, en la primera realización de la invención, la agrupación según la figura 9 da como resultado tres grupos, concretamente go, que contiene los cuatro subdescriptores con la mayor distancia al centro del descriptor, g1 , que contiene los ocho subdescriptores con la segunda mayor distancia al centro del descriptor, y g2 , que contiene los cuatro subdescriptores con la menor distancia al centro del descriptor. En este caso, debido al diferente tamaño del grupo, puede aplicarse a los grupos go y g2 una condición de secuencia de
1 o
codificación de que la secuencia de utilización de transformada debe ser “A A B B”, y puede aplicarse al grupo gi una condición de secuencia de codificación diferente de que la secuencia de utilización de transformada debe ser “A
A A A B B B B”.
Cuarta realización
En una cuarta realización de la invención, los subdescriptores se agrupan según su distancia desde el centro y los subdescriptores de cada grupo se ordenan según su distancias entre ellos.
La condición de ordenación puede ser, por ejemplo, que la distancia entre subdescriptores consecutivos dentro de un grupo no debe estar por debajo de un umbral predeterminado. Por tanto, puede establecerse el umbral predeterminado para evitar, por ejemplo, subdescriptores vecinos consecutivos dentro de un grupo.
Una condición de orden diferente puede ser, por ejemplo, que la distancia entre subdescriptores consecutivos dentro de un grupo se maximice.
Esta ordenación es particularmente útil cuando se emplean grandes grupos de subdescriptores, para reducir el tamaño del orden de utilización de elementos de grupo y la codificación de grupo parcial, tal como se explica a continuación. Cabe señalar que este tipo de ordenación no siempre es posible, por ejemplo no es posible no tener descriptores vecinos consecutivos para un grupo que contiene todos los subdescriptores centrales v5, va, vg y v™.
Por ejemplo, considerando la agrupación ilustrada en la figura 9, puede observarse que los subdescriptores dentro de cada grupo pueden ordenarse para maximizar la distancia entre subdescriptores consecutivos, comenzando desde el subdescriptor con el índice más bajo dentro del grupo, dando como resultado los grupos go = {vo, v i5 , v 3, v i2 }, gi = {vi , v i4 , v2, v i3, v7, v8, v i i , v4} y g2 = {v5, v io , va, vg}. Dentro de cada grupo, a todos los elementos correspondientes de los subdescriptores del grupo se les asigna la misma prioridad de codificación.
Basándose en esta agrupación y ordenación de subdescriptores dentro de cada grupo, puede generarse un orden de utilización de elementos de grupo tal como el ilustrado en la figura 10, y puede usarse entonces de nuevo un codificador tal como el ilustrado en la figura 11 para codificar un descriptor según el orden de utilización de elementos de grupo de la figura 10. Alternativamente, puede emplearse un codificador tal como el ilustrado en la figura 19.
Más específicamente, una diferencia entre el codificador de la figura 7 y los codificadores de la figura 11 y la figura
18 es que, a diferencia del primero que produce descriptores de cualquier longitud, el segundo permite la codificación de descriptores cuya longitud tiene una granularidad decidida por los grupos de subdescriptores. En la práctica, sin embargo, cada uno de los codificadores de las figuras 11 y 18 puede configurarse fácilmente para codificar descriptores de cualquier longitud mediante la codificación parcial del último grupo de elementos cuando se ha alcanzado la longitud de descriptor deseada. En este contexto, la figura 19 muestra una modificación de este tipo del codificador de la figura 11. En esencia, el codificador de la figura 19 se obtiene intercambiando simplemente las etapas S330 y S340 del codificador de la figura 11, permitiendo que el codificador de la figura 19 termine la codificación de un grupo en cuando se ha codificado el número deseado de elementos. Claramente, también puede aplicarse una modificación análoga al codificador de la figura 18.
En este contexto, la ordenación de los subdescriptores dentro de un grupo según las distancias entre ellos es sumamente ventajosa puesto que da como resultado elementos consecutivos que se extraen de posiciones relativamente distantes de la cuadrícula de subdescriptores que, en el caso de la codificación parcial de un grupo, aumenta el contenido de información de los descriptores con escaso número de características.
Quinta realización
Las realizaciones anteriores de la invención demuestran una codificación eficaz de descriptores de imágenes según un orden de utilización de elementos de grupo que resulta de la agrupación de subdescriptores en grupos de subdescriptores basándose en sus distancias desde el centro del descriptor y/o sus distancias entre sí.
En una realización alternativa de la invención, los subdescriptores pueden agruparse de modo que cada subdescriptor dentro de un grupo tenga un conjunto de utilización de elementos idéntico al resto de los subdescriptores dentro de un grupo.
Por ejemplo, considérese la agrupación de la figura 20, donde hay cuatro grupos, concretamente go = {v5, va, v9, v1o}, g1 = {v1, v7, v8, v14}, g2 = {v2, v4, vn , v13} y g3 = {vo, v 3, v12, v15}. Esta es la misma agrupación q con los índices de grupo reasignados (es decir, go y g3 se han intercambiado) de modo que los grupos con índices más bajos contengan subdescriptores que estén más cerca del centro del descriptor. La combinación de esta agrupación con los conjuntos de utilización de elementos de las figuras 4a a 4e conduce a los conjuntos de utilización de elementos de grupo de las figuras 21a a 21e.
Puesto que el conjunto de elementos utilizados para cada longitud de descriptor debe ser igual que o un subconjunto del conjunto de elementos utilizados para todas las longitudes de descriptor más altas, los conjuntos de utilización de elementos de grupo de las figuras 2 1 a a 2 1 e pueden convertirse en conjuntos de utilización incrementales de elementos de grupo tal como se ilustra en las figuras 2 2 a a 2 2 e donde, para cada longitud de descriptor (por ejemplo DL2 de la figura 22c), el conjunto de utilización de elementos correspondiente muestra sólo los elementos adicionales que constituyen el descriptor de dicha longitud de descriptor, en comparación con la longitud de descriptor inmediatamente inferior (por ejemplo DL1 de la figura 22b).
Basándose en los conjuntos de utilización incrementales de elementos de grupo de las figuras 22a a 22e, un codificador puede generar descriptores que pueden convertirse en longitudes de descriptor más bajas mediante el simple truncamiento del descriptor.
La figura 23 ilustra el funcionamiento de un codificador de este tipo para la codificación de un descriptor de longitud DLk. Más específicamente, en la etapa S600, el procesamiento comienza codificando un descriptor de la longitud de descriptor más baja, es decir, DL0. En la etapa S610, la codificación del descriptor DL0 comienza con la codificación del primer grupo de subdescriptores, es decir, g0, y en la etapa S620 la codificación del primer grupo de subdescriptores comienza con la codificación del primer elemento, es decir vu En la etapa S630, si el elemento V0 no está en uso para g0 en la longitud de descriptor DL0 según los conjuntos de utilización incrementales de elementos de grupo de la figura 22, el procesamiento avanza a la etapa S680, en caso contrario el procesamiento avanza a la etapa S640. En la etapa S640, se selecciona el primer subdescriptor del grupo g0 , es decir v5, y en la etapa S650 se selecciona la función de transformada apropiada, por ejemplo, según la figura 3. Cabe señalar que el cálculo del descriptor V a partir del descriptor H según dos transformadas diferentes tal como se describe en este caso es sólo un ejemplo. En diferentes realizaciones, el cálculo del descriptor V a partir del descriptor H también puede realizarse según una sola transformada, por ejemplo sólo la transformada A o sólo la transformada B, haciendo innecesaria la etapa S650, o según más de dos transformadas. Entonces, tiene lugar la codificación del elemento ^5,0 en la etapa 660. En la etapa S670, si el subdescriptor actual no es el último subdescriptor en el grupo, el procesamiento avanza al siguiente subdescriptor en el grupo; en caso contrario, el procesamiento avanza a la etapa S680. En la etapa S680, si el elemento actual no es el último elemento, es decir V7, el procesamiento avanza al siguiente elemento, en caso contrario el procesamiento avanza a la etapa S690. En la etapa S690, si el grupo de subdescriptores actual no es el último grupo de subdescriptores, el procesamiento avanza al siguiente grupo de subdescriptores, en caso contrario, el procesamiento avanza a la etapa S695. En la etapa S695, si la longitud de subdescriptor actual no es la longitud de subdescriptor objetivo, el procesamiento avanza a la siguiente longitud de subdescriptor, codificando los elementos adicionales especificados por los conjuntos de utilización incrementales de elementos de grupo. En caso contrario, el procesamiento finaliza.
Aunque los aspectos y las realizaciones de la presente invención se presentan en detalle para el cálculo de descriptores de imágenes robustos, discriminativos, escalables y compactos a partir de un descriptor de imágenes SIFT, la invención es aplicable a otros descriptores de imágenes basándose en histogramas de gradientes, tal como se describe en la solicitud de patente italiana aún no publicada n. TO2012A000602.
A modo de ejemplo únicamente, la figura 24 ilustra un aparato de procesamiento de imágenes conceptual para llevar a cabo el método según la presente invención. Más específicamente, el aparato 110 de procesamiento recibe entrada, que puede comprender datos visuales, tales como datos de imagen o vídeo, descriptores calculados previamente basándose en histogramas de gradientes, descriptores compactos calculados previamente según el método de la presente invención, instrucciones de programación o entrada del usuario, desde el aparato 1 00 0 de entrada, que puede adoptar la forma de un aparato de entrada de usuario, un lector de medios o un receptor de señales transmitidas. El aparato 110 de procesamiento comprende los bloques de procesamiento principales de una unidad 11 1 0 de procesamiento central que controla las operaciones de los otros bloques de procesamiento, una memoria 1120 volátil, una memoria 1130 no volátil, opcionalmente un bloque 1140 extractor de descriptor configurado para generar descriptores basándose en histogramas de gradientes, un bloque 1150 codificador de descriptor compacto configurado para llevar a cabo el método según la presente invención, y opcionalmente un bloque 1160 de procesador de descriptor compacto configurado para procesar dichos descriptores compactos, por ejemplo para establecer o verificar correspondencias visuales. El aparato 110 de procesamiento está conectado al aparato 1900 de salida, que puede adoptar la forma de una unidad de presentación visual, un escritor de medios o un transmisor de señales, que proporciona una salida que puede comprender datos visuales anotados, tales como datos de imagen o vídeo, información de procesamiento tal como correspondencias visuales establecidas o verificadas, o descriptores compactos según el método de la presente invención. Debe entenderse que los bloques de procesamiento y la arquitectura mostrados en la figura 24 son sólo conceptuales y pueden no corresponder exactamente a cada aparato que implementa el método según la invención.
El método para codificar un descriptor de imágenes basándose en un histograma de gradientes y un aparato de procesamiento de imágenes relativo descritos en el presente documento a modo de ejemplo pueden someterse a muchas variaciones posibles sin apartarse del espíritu de novedad de la idea inventiva; también está claro que en la implementación práctica de la invención, los detalles ilustrados pueden tener diferentes formas o pueden reemplazarse por otros elementos técnicamente equivalentes.
Por tanto, puede entenderse fácilmente que la presente invención no se limita a un método para codificar un descriptor de imágenes basándose en un histograma de gradientes y a un aparato de procesamiento de imágenes relativo, sino que pueden someterse a muchas modificaciones, mejoras o reemplazos de partes y elementos equivalentes sin apartarse de la idea inventiva, tal como se especifica claramente en las siguientes reivindicaciones.

Claims (16)

  1. REIVINDICACIONES
    i. Método para codificar un descriptor de imágenes (H) basándose en histogramas de gradiente (hp) que comprenden cada uno una pluralidad de compartimentos de histograma (hi) y que se calculan en una subregión correspondiente (SR) de una región local (R) alrededor de un punto clave de interés de imagen, usando un descriptor transformado (V) que comprende subdescriptores transformados (vp) para cada subregión (SR) que se calculan como una transformación del histograma de gradiente (hp) de subregión correspondiente (SR), en el que cada subdescriptor (vp) comprende un conjunto de valores (vj) individualizado cada uno por un índice de elemento (j), caracterizado porque dicho método comprende: - determinar una pluralidad de grupos (gx), comprendiendo cada uno un conjunto de subdescriptores transformados (vp), determinándose el conjunto usando la distancia entre el centro de la subimagen correspondiente (SR) de cada subdescriptor transformado (vp) y el centro de dicha región local (R), estando cada grupo (gx) individualizado por un índice de grupo (x);
    - usar una lista de utilización de elementos para indicar la secuencia para codificar los valores (vj ) de los elementos de subdescriptores transformados (vp), especificando la lista de utilización de elementos una secuencia ordenada de entradas de lista, definiendo cada entrada un par de índices que incluyen dicho índice de grupo (x), que indica un conjunto de subdescriptores transformados, y dicho índice de elemento j), y la secuencia truncada en una longitud DLn que define un descriptor que tiene una longitud de DLn elementos que es un subconjunto de un descriptor que tiene una longitud de DLp elementos con DLn < DLp, definido por la secuencia de entradas truncada en una longitud DLp mayor que DLn;
    - codificar los valores (v¡) del descriptor transformado (V) según el orden de la lista de utilización de elementos, comprendiendo la secuencia codificada una secuencia de descriptores transformados de diferentes longitudes (DLO, DL1, DL2, DL3, DL4).
  2. 2. Método según la reivindicación 1, en el que dentro de cada grupo de subdescriptores (gx), a todos los valores correspondientes (v¡) de un grupo de subdescriptores (gx) se les asigna una misma prioridad de codificación en dicha lista de utilización de elementos.
  3. 3. Método según la reivindicación 1, en el que dichos subdescriptores (vp) se agrupan en un primer grupo (gü) que contiene los subdescriptores correspondientes a subregiones con la mayor distancia central desde el centro de dicha región local (R), un segundo grupo (gi ) que contiene un primer conjunto de subdescriptores correspondientes a subregiones con la segunda mayor distancia central al centro de dicha región local (R), un tercer grupo (g2) que contiene un segundo conjunto de subdescriptores correspondientes a subregiones con la segunda mayor distancia central al centro de dicha región local (R), y un cuarto grupo (g3) que contiene los subdescriptores correspondientes a subregiones con la menor distancia central al centro de dicha región local (R).
  4. 4. Método según la reivindicación 3, en el que dichos grupos primero, segundo, tercero y cuarto (g0, gi , g2, g3) contiene el mismo número de subdescriptores.
  5. 5. Método según la reivindicación 1, en el que dichos subdescriptores (vp) se agrupan adicionalmente según las distancias centrales recíprocas de sus subregiones correspondientes y en el que, dentro de cada grupo de subdescriptores (gx), a todos los valores correspondientes (v¡) de un grupo de subdescriptores (gx) se les asigna una misma prioridad de codificación en dicha lista de utilización de elementos.
  6. 6. Método según la reivindicación 5, en el que dichos subdescriptores (vp) se agrupan en un primer grupo (g^ que contiene los subdescriptores correspondientes a subregiones con la mayor distancia central desde el centro de dicha región local (R), un segundo grupo (g-i ) que contiene un primer conjunto de subdescriptores correspondientes a subregiones con la segunda mayor distancia central al centro de dicha región local (R), un tercer grupo (g2) que contiene un segundo conjunto de subdescriptores correspondientes a subregiones con la segunda mayor distancia central al centro de dicha región local (R), y un cuarto grupo (g3) que contiene los subdescriptores correspondientes a subregiones con la menor distancia central al centro de dicha región local (R).
  7. 7. Método según la reivindicación 1, en el que dichos subdescriptores (vp) se ordenan según las distancias centrales recíprocas de sus subregiones correspondientes y en el que dentro de cada grupo de subdescriptores (gx), a todos los valores correspondientes (vj) de un grupo de subdescriptores se les asigna una misma prioridad de codificación en dicha lista de utilización de elementos.
  8. 8. Método según la reivindicación 1, en el que los subdescriptores de cada grupo se codifican en una secuencia definida según sus características de codificación correspondientes y en el que, dentro de cada grupo de subdescriptores, a todos los valores correspondientes (v¡) de un grupo de subdescriptores se les asigna una misma prioridad de codificación en dicha lista de utilización de elementos.
  9. 9. Método según la reivindicación 8, en el que dichas características de codificación son transformadas correspondientes.
  10. 10. Método según la reivindicación 9, en el que para cada grupo de subdescriptores, la transformada de un primer subdescriptor en el grupo es un primer tipo de transformada (A), la transformada de un segundo subdescriptor en el grupo es dicho primer tipo de transformada (A), la transformada de un tercer subdescriptor en el grupo es un segundo tipo de transformada (B) y la transformada de un cuarto subdescriptor en el grupo es dicho segundo tipo de transformada (B).
  11. 11. Método según la reivindicación 8, en el que dichas características de codificación son el tipo y el nivel de cuantificación, o combinaciones de los mismos.
  12. Método según la reivindicación 1, en el que se da mayor prioridad a una clase específica de valores.
  13. Método según la reivindicación 1, en el que se da mayor prioridad a los grupos de subdescriptores más próximos al centro del descriptor.
  14. Método según la reivindicación 1, en el que el número de grupos (m) o el número correspondiente de elementos en el descriptor se almacena o se transmite junto con el descriptor, a nivel de imagen.
  15. 15. Método para codificar un descriptor de imágenes (H) según las reivindicaciones 1 a 14, en el que dicho descriptor de imágenes se convierte en un descriptor que tiene una longitud reducida mediante truncamiento de uno o más de los últimos elementos de dicho descriptor.
  16. 16. Método para codificar un descriptor de imágenes según la reivindicación 1, en el que dicho descriptor transformado (V) adopta la forma de una secuencia de 20 ó 40 ó 64 u 80 ó 128 elementos.
    Aparato de procesamiento de imágenes que comprende medios para llevar a cabo el método según una cualquiera de las reivindicaciones 1 a 16.
ES14777780T 2013-07-24 2014-07-16 Aparato de procesamiento de imágenes y método para codificar un descriptor de imágenes basándose en un histograma de gradiente Active ES2776196T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT000629A ITTO20130629A1 (it) 2013-07-24 2013-07-24 Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus
PCT/IB2014/063158 WO2015011612A1 (en) 2013-07-24 2014-07-16 Image processing apparatus and method for encoding an image descriptor based on a gradient histogram

Publications (1)

Publication Number Publication Date
ES2776196T3 true ES2776196T3 (es) 2020-07-29

Family

ID=49226413

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14777780T Active ES2776196T3 (es) 2013-07-24 2014-07-16 Aparato de procesamiento de imágenes y método para codificar un descriptor de imágenes basándose en un histograma de gradiente

Country Status (16)

Country Link
US (1) US9779320B2 (es)
EP (2) EP3633547A1 (es)
JP (2) JP6514200B2 (es)
KR (1) KR102175697B1 (es)
CN (3) CN110365979A (es)
AR (1) AR097052A1 (es)
BR (1) BR112016001479B1 (es)
DK (1) DK3025274T3 (es)
ES (1) ES2776196T3 (es)
HU (1) HUE048315T2 (es)
IT (1) ITTO20130629A1 (es)
PL (1) PL3025274T3 (es)
PT (1) PT3025274T (es)
RU (3) RU2678668C2 (es)
TW (1) TWI576770B (es)
WO (1) WO2015011612A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITTO20130629A1 (it) * 2013-07-24 2015-01-25 Sisvel Technology Srl Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus
US10360721B2 (en) 2016-05-26 2019-07-23 Mediatek Inc. Method and apparatus for signaling region of interests
KR102466214B1 (ko) * 2020-05-08 2022-11-10 한국기술교육대학교 산학협력단 부품의 3차원 모델 분류 방법, 이를 위한 컴퓨터 프로그램 및 장치
CN111931794B (zh) * 2020-09-16 2021-03-09 中山大学深圳研究院 一种基于草图的图像匹配方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865295B2 (en) * 2001-05-11 2005-03-08 Koninklijke Philips Electronics N.V. Palette-based histogram matching with recursive histogram vector generation
GB2418555A (en) * 2004-09-23 2006-03-29 Mitsubishi Electric Inf Tech Representing an image using descriptors based on colour information
WO2009085336A1 (en) * 2007-12-27 2009-07-09 Inc. Arbor Labs System and method for advertisement delivery optimization
US8054170B1 (en) * 2008-09-30 2011-11-08 Adobe Systems Incorporated Characterizing and representing images
US20120265768A1 (en) * 2008-10-08 2012-10-18 Mitsubishi Electric Corporation Encoding and decoding method and apparatus for multimedia signatures
WO2010055399A1 (en) * 2008-11-12 2010-05-20 Nokia Corporation Method and apparatus for representing and identifying feature descriptors utilizing a compressed histogram of gradients
WO2011044497A2 (en) * 2009-10-09 2011-04-14 Edgenet, Inc. Automatic method to generate product attributes based solely on product images
RU2427911C1 (ru) * 2010-02-05 2011-08-27 Фирма "С1 Ко., Лтд." Способ обнаружения лиц на изображении с применением каскада классификаторов
HUE051391T2 (hu) * 2010-04-13 2021-03-01 Ge Video Compression Llc Szignifikancia térképek és transzformációs együttható blokkok kódolása
CN101894261B (zh) * 2010-06-29 2012-05-02 武汉大学 一种多对比度模式直方图纹理描述子提取方法
US8428397B1 (en) * 2010-08-26 2013-04-23 Adobe Systems Incorporated Systems and methods for large scale, high-dimensional searches
TW201222288A (en) * 2010-11-22 2012-06-01 Inst Information Industry Image retrieving system and method and computer program product thereof
JP6044547B2 (ja) * 2011-11-18 2016-12-14 日本電気株式会社 局所特徴量抽出装置、局所特徴量抽出方法、及びプログラム
US8593452B2 (en) * 2011-12-20 2013-11-26 Apple Inc. Face feature vector construction
EP2801055B1 (en) * 2012-01-02 2016-04-20 Telecom Italia S.p.A. Method and system for image analysis
US9442959B2 (en) * 2012-06-28 2016-09-13 Adobe Systems Incorporated Image search refinement using facets
ITTO20120602A1 (it) 2012-07-09 2014-01-10 Sisvel Technology Srl Method for transforming an image descriptor based on a gradient histogram and relative image processing apparatus.
ITTO20130629A1 (it) * 2013-07-24 2015-01-25 Sisvel Technology Srl Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus

Also Published As

Publication number Publication date
RU2698765C2 (ru) 2019-08-29
DK3025274T3 (da) 2020-02-24
CN105493106A (zh) 2016-04-13
CN110365979A (zh) 2019-10-22
RU2678668C2 (ru) 2019-01-30
BR112016001479A2 (es) 2017-07-25
JP6745939B2 (ja) 2020-08-26
JP6514200B2 (ja) 2019-05-15
EP3025274B1 (en) 2020-01-08
US9779320B2 (en) 2017-10-03
PT3025274T (pt) 2020-02-21
TWI576770B (zh) 2017-04-01
RU2019125322A (ru) 2021-02-09
ITTO20130629A1 (it) 2015-01-25
EP3025274A1 (en) 2016-06-01
RU2019101654A (ru) 2019-03-11
RU2016105699A (ru) 2017-08-29
EP3633547A1 (en) 2020-04-08
US20160162749A1 (en) 2016-06-09
HUE048315T2 (hu) 2020-07-28
WO2015011612A1 (en) 2015-01-29
JP2019135667A (ja) 2019-08-15
CN110298367A (zh) 2019-10-01
CN105493106B (zh) 2019-09-10
RU2016105699A3 (es) 2018-06-15
KR102175697B1 (ko) 2020-11-09
JP2016525752A (ja) 2016-08-25
KR20160034990A (ko) 2016-03-30
TW201514865A (zh) 2015-04-16
BR112016001479B1 (pt) 2022-07-19
RU2019101654A3 (es) 2019-07-17
PL3025274T3 (pl) 2020-06-15
AR097052A1 (es) 2016-02-17

Similar Documents

Publication Publication Date Title
ES2776196T3 (es) Aparato de procesamiento de imágenes y método para codificar un descriptor de imágenes basándose en un histograma de gradiente
Stock et al. And the bit goes down: Revisiting the quantization of neural networks
US9847791B2 (en) System and method for compressing data using asymmetric numeral systems with probability distributions
JP6044547B2 (ja) 局所特徴量抽出装置、局所特徴量抽出方法、及びプログラム
JP6292454B2 (ja) 勾配ヒストグラムに基づいて画像記述子を変換する方法および関連する画像処理装置
US20150261990A1 (en) Method and apparatus for compressing dna data based on binary image
KR100984234B1 (ko) 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어
EP3115908A1 (en) Method and apparatus for multimedia content indexing and retrieval based on product quantization
CN115842913A (zh) 通过基于图像内容搜索和分级在视频压缩中对至参考块的链接进行编码
BR112020000415A2 (pt) método para compactar; método para descompactar; conjunto de dados compactados correspondente a um conjunto de dados não compactados; dispositivo para compactar e dispositivo para descompactar
US20130082850A1 (en) Data encoding apparatus, data decoding apparatus and methods thereof
RU2015156692A (ru) Способ и система базы данных для индексирования ссылок на документы базы данных
JP6195365B2 (ja) ベクトル符号化プログラム、装置及び方法
WO2022219158A1 (en) Decoder, encoder, controller, method and computer program for updating neural network parameters using node information
CN110915140B (zh) 用于编码和解码数据结构的质量值的方法
Chen et al. Pruning tree-structured vector quantizer towards low bit rate mobile visual search
Chao et al. Image compression with a vector speck algorithm
Wang et al. PQ-WGLOH: A bit-rate scalable local feature descriptor