ITTO20130629A1 - Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus - Google Patents

Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus

Info

Publication number
ITTO20130629A1
ITTO20130629A1 IT000629A ITTO20130629A ITTO20130629A1 IT TO20130629 A1 ITTO20130629 A1 IT TO20130629A1 IT 000629 A IT000629 A IT 000629A IT TO20130629 A ITTO20130629 A IT TO20130629A IT TO20130629 A1 ITTO20130629 A1 IT TO20130629A1
Authority
IT
Italy
Prior art keywords
sub
descriptors
descriptor
group
elements
Prior art date
Application number
IT000629A
Other languages
English (en)
Inventor
Stavros Paschalakis
Original Assignee
Sisvel Technology Srl
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 Sisvel Technology Srl filed Critical Sisvel Technology Srl
Priority to IT000629A priority Critical patent/ITTO20130629A1/it
Priority to TW103124152A priority patent/TWI576770B/zh
Priority to HUE14777780A priority patent/HUE048315T2/hu
Priority to BR112016001479-0A priority patent/BR112016001479B1/pt
Priority to KR1020167004414A priority patent/KR102175697B1/ko
Priority to PL14777780T priority patent/PL3025274T3/pl
Priority to PT147777809T priority patent/PT3025274T/pt
Priority to RU2016105699A priority patent/RU2678668C2/ru
Priority to US14/906,485 priority patent/US9779320B2/en
Priority to EP14777780.9A priority patent/EP3025274B1/en
Priority to JP2016528631A priority patent/JP6514200B2/ja
Priority to EP19209983.6A priority patent/EP3633547A1/en
Priority to CN201910738846.8A priority patent/CN110365979A/zh
Priority to DK14777780.9T priority patent/DK3025274T3/da
Priority to CN201910739034.5A priority patent/CN110298367A/zh
Priority to RU2019101654A priority patent/RU2698765C2/ru
Priority to ES14777780T priority patent/ES2776196T3/es
Priority to CN201480041502.7A priority patent/CN105493106B/zh
Priority to PCT/IB2014/063158 priority patent/WO2015011612A1/en
Priority to ARP140102759A priority patent/AR097052A1/es
Publication of ITTO20130629A1 publication Critical patent/ITTO20130629A1/it
Priority to JP2019075614A priority patent/JP6745939B2/ja
Priority to RU2019125322A priority patent/RU2019125322A/ru

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

Description

“METODO PER CODIFICARE UN DESCRITTORE DI IMMAGINE BASATO SU UN ISTOGRAMMA DI GRADIENTI E RELATIVO APPARATO DI ELABORAZIONE DI IMMAGINI”
DESCRIZIONE
La presente invenzione riguarda un metodo per codificare, transcodificare, decodificare ed elaborare efficientemente descrittori di immagini calcolati in regioni locali intorno a punti chiave di interesse delle immagini, nonché un dispositivo di elaborazione di immagini comprendente mezzi per codificare, transcodificare, decodificare ed elaborare tali descrittori.
Tali descrittori di immagini sono largamente utilizzati in molte applicazioni di visione artificiale, tra cui il riconoscimento di oggetti, il reperimento di immagini in base al contenuto e la registrazione di immagini, per citarne solo alcune.
Gli attuali approcci alla codifica di tali descrittori presentano alcuni inconvenienti.
Ad esempio, gli attuali approcci di codifica danno luogo a descrittori che devono essere interamente analizzati sintatticamente per eseguire la transcodifica, con cui un descrittore di una determinata lunghezza viene convertito in un descrittore avente una diversa lunghezza, oppure per eseguire la decodifica e il confronto di descrittori di diversa lunghezza.
Un altro esempio è dato dal fatto che gli attuali approcci di codifica sono inefficienti in termini di complessità di codifica, in quanto essi ignorano le comunanze e le ridondanze nelle operazioni richieste per produrre descrittori di immagini a lunghezza variabile.
La domanda di brevetto italiana in attesa di pubblicazione no. TO2012A000602, depositata dalla presente Richiedente, descrive la codifica di descrittori di immagini locali, in cui vengono calcolati descrittori di immagini robusti, discriminativi, scalabili e compatti da descrittori di immagini utilizzanti istogrammi di gradienti basati sulla trasformazione di detti istogrammi di gradienti, in cui detta trasformazione cattura informazioni salienti e robuste ivi contenute in termini di forma delle distribuzioni e relazione tra i relativi valori di bin.
In detta domanda di brevetto italiana in attesa di pubblicazione si indicano metodi di codifica di detti descrittori più efficienti rispetto ai metodi dell’arte nota in termini di produzione di bitstream facilmente scalabili.
Tali descrittori sono resi noti nella summenzionata domanda di brevetto italiana in attesa di pubblicazione no. TO2012A000602, che descrive il calcolo di descrittori di immagini robusti, discriminativi, scalabili e compatti da descrittori di immagini utilizzanti istogrammi di gradienti basati sulla trasformazione di detti istogrammi di gradienti, in cui detta trasformazione cattura le informazioni salienti e robuste ivi contenute in termini di forma delle distribuzioni e relazione tra i relativi valori di bin.
Di seguito si descrivono alcuni importanti aspetti del calcolo di descrittori di immagini robusti, discriminativi, scalabili e compatti da descrittori di immagini utilizzanti istogrammi di gradienti, in particolare un descrittore di immagine SIFT, secondo la domanda di brevetto italiana in attesa di pubblicazione no. TO2012A000602.
In breve, con il metodo SIFT si formano descrittori di immagini locali come segue: viene dapprima effettuata una ricerca tra una molteplicità di scale e posizioni dell’immagine per identificare e localizzare punti chiave stabili dell’immagine invarianti rispetto a scala e orientamento; quindi, per ogni punto chiave, si determinano uno o più orientamenti dominanti sulla base di gradienti di immagine locali, consentendo in tal modo il successivo calcolo del descrittore locale rispetto all’orientamento, alla scala e alla posizione assegnate a ciascun punto chiave, ottenendo così invarianza a queste trasformazioni. Si formano quindi come segue descrittori di immagini locali intorno ai punti chiave: innanzitutto si calcolano l’ampiezza del gradiente e informazioni di orientamento in punti campione dell’immagine compresi in una regione intorno al punto chiave; tali campioni vengono poi accumulati in istogrammi di orientamento che riepilogano il contenuto su n�n sottoregioni.
A puro titolo illustrativo, le Figure 1a e 1b mostrano un esempio di un descrittore di punto chiave SIFT, in cui la Figura 1a mostra una suddivisione di una regione locale R in 4�4 sottoregioni SR e la Figura 1b mostra una suddivisione del range di 360<o>degli orientamenti in otto bin per ogni istogramma di orientamento, in cui la lunghezza di ciascuna freccia corrisponde all’ampiezza di quella specifica voce di istogramma. Quindi un descrittore di immagine locale come quello illustrato in Figura 1 avrà 4x4x8 = 128 elementi. Il metodo SIFT è descritto in modo più dettagliato in David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, 60, 2 (2004), pagg. 91-110.
Secondo la domanda di brevetto italiana in attesa di pubblicazione no. TO2012A000602, è possibile calcolare un descrittore di immagine robusto, discriminativo, scalabile e compatto da un descrittore SIFT come segue.
Nella descrizione che segue, H è un intero descrittore SIFT comprendente 16 istogrammi di gradienti h, ciascuno con otto bin h, mentre V è un intero descrittore locale secondo la presente invenzione, comprendente 16 sottodescrittori v, ciascuno con otto elementi v.
Si indichi con H un descrittore di immagine locale SIFT comprendente 16 istogrammi di gradienti h0– h15, come mostrato in Figura 2a, ciascun istogramma comprendendo otto valori di bin h0– h7, come mostrato in Figura 2b. Un descrittore di immagini più robusto, discriminativo, scalabile e compatto può essere calcolato trasformando ogni h0– h15di H e quindi eseguendo una quantizzazione scalare sui valori trasformati risultanti. Più in particolare, ogni h0– h15viene trasformato secondo la Trasformata A o la Trasformata B, come mostrato qui di seguito, in base alle informazioni di utilizzo delle trasformate di Figura 3, ossia la Trasformata A è applicata a h0, h2, h5, h7, h8, h10, h13, h15e la Trasformata B è applicata a h1, h3, h4, h6, h9, h11, h12, h14, generando il descrittore trasformato V con i sottodescrittori v0– v15, corrispondenti rispettivamente a h0– h15e ciascuno comprendendo elementi v0-v7, per un totale di 128 elementi.
Trasformata A (1)
v0= h2– h6
v1= h3– h7
v2= h0– h1
v3= h2– h3
v4= h4– h5
v5= h6– h7
v6= (h0+ h4) – (h2+ h6)
v7= (h0+ h2+ h4+ h6) – (h1+ h3+ h5+ h7)
Trasformata B (2)
v0= h0– h4
v1= h1– h5
v2= h7– h0
v3= h1– h2
v4= h3– h4
v5= h5– h6
v6= (h1+ h5) – (h3+ h7)
v7= (h0+ h1+ h2+ h3) – (h4+ h5+ h6+ h7)
Ciascun elemento è quindi sottoposto a una quantizzazione scalare grossolana, ad esempio una quantizzazione ternaria (a 3 livelli), con le soglie di quantizzazione selezionate in modo tale da ottenere una distribuzione specifica delle probabilità di occorrenza tra i bin di quantizzazione per ciascun elemento. Questa quantizzazione scalare produce il descrittore quantizzato V,< ̃>con sottodescrittori v, ̃0– v, ̃15, ciascuno comprendente elementi v, ̃0-v, ̃7, anche qui per un totale di 128 elementi. Questo descrittore compatto cattura le informazioni più discriminative e robuste contenute negli istogrammi di gradienti originali in termini di forma delle distribuzioni e relazione tra i relativi valori di bin.
Un importante vantaggio del descrittore V, nonché della sua versione quantizzata V,< ̃>, risiede nel fatto che esso è altamente scalabile e che la sua dimensionalità può essere facilmente ridotta, se richiesto da requisiti di memoria di un’applicazione o da caratteristiche di un canale trasmissivo, semplicemente eliminando uno o più dei suoi elementi. Per semplicità, nella descrizione che segue si illustreranno aspetti importanti dell’invenzione in termini di codifica del descrittore pre-quantizzato V con sottodescrittori v0– v15, ciascuno comprendente elementi v0-v7; se non diversamente specificato, resta inteso che la codifica del descrittore quantizzato V,< ̃>procede in modo analogo. Le Figure 4a-4e mostrano alcuni esempi di insiemi di elementi che hanno dimostrato eccellenti caratteristiche di capacità discriminativa e robustezza per cinque lunghezze di descrittore desiderate, dalla lunghezza di descrittore 0 (DL0), ossia la più breve lunghezza di descrittore utilizzante soltanto 20 elementi di descrittore, alla lunghezza di descrittore 4 (DL4), ossia la più lunga lunghezza di descrittore utilizzante tutti i 128 elementi. Più specificamente, la Figura 4a mostra un esempio di insieme di elementi per la lunghezza di descrittore DL0 comprendente 20 elementi, la Figura 4b mostra un esempio di insieme di elementi per la lunghezza di descrittore DL1 comprendente 40 elementi, la Figura 4c mostra un esempio di insieme di elementi per la lunghezza di descrittore DL2 comprendente 64 elementi, la Figura 4d mostra un esempio di insieme di elementi per la lunghezza di descrittore DL3 comprendente 80 elementi, e la Figura 4e mostra un esempio di insieme di elementi per la lunghezza di descrittore DL4 comprendente tutti i 128 elementi. Per ogni lunghezza di descrittore, quindi, ciascun elemento di ciascun sottodescrittore può essere o meno codificato a seconda degli insiemi di utilizzo degli elementi riportati in Figura 4a-4e.
Il fattore principale che determina questa proprietà di scalabilità consiste nel fatto che l’insieme di elementi utilizzati per ogni lunghezza di descrittore deve essere uguale a o un sottoinsieme dell’insieme degli elementi utilizzati per tutte le lunghezze di descrittore superiori, come illustrato nelle Figure 4a-4e. Ciò permette di transcodificare e confrontare descrittori di lunghezza diversa mediante la semplice eliminazione degli elementi in eccesso del descrittore di lunghezza superiore, così da ridurlo allo stesso insieme di elementi del descrittore di lunghezza inferiore.
Un semplice metodo di codifica di questo descrittore prevede di calcolare e codificare gli elementi in un ordine "per sottodescrittore", ossia, in generale, come v0,0, v0,1, ..., v0,7, v1,0, v1,1, ..., v1,7, ..., v15,0, v15,1, ..., v15,7, in cui vi,jdenota l’elemento vjdel sottodescrittore vi. Ciò significa codificare gli elementi v0, v1, ..., v7per l’istogramma trasformato v0, quindi codificare gli elementi v0, v1, ..., v7per l’istogramma trasformato v1, ecc., utilizzando le trasformate appropriate, ad esempio come quelle illustrate in Figura 3, e utilizzando anche gli insiemi di utilizzo degli elementi appropriati per la lunghezza di descrittore desiderata, ad esempio come illustrato in Figura 4, per decidere quali elementi devono essere codificati.
Questa codifica dà luogo, ad esempio per una lunghezza di descrittore DL0, a un descrittore v0,0, v1,0, v2,0, v3,0, v4,0, v5,0, v5,6, v6,0, v6,6, v7,0, v8,0, v9,0, v9,6, v10,0, v10,6, v11,0, v12,0, v13,0, v14,0, v15,0e, per una lunghezza di descrittore DL1, a un descrittore v0,0, v0,1, v1,0, v1,1, v2,0, v2,1, v3,0, v3,1, v4,0, v4,1, v5,0, v5,1, v5,2, v5,6, v6,0, v6,1, v6,2, v6,6, v7,0, v7,1, v8,0, v8,1, v9,0, v9,1, v9,2, v9,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 illustra il funzionamento di un tale semplice codificatore attraverso una sequenza di passi. Nella descrizione seguente, così come nelle successive descrizioni del funzionamento di un codificatore, se non diversamente specificato, tale sequenza di passi presenta passi concettuali che non corrispondono a specifiche implementazioni hardware o software, componenti e istruzioni, ma che sono rappresentativi del funzionamento generale del codificatore. Più specificamente, la Figura 5 illustra il funzionamento di un codificatore per una lunghezza di descrittore DLk, ad esempio corrispondente a una delle lunghezze di descrittore illustrate in Figura 4. Al passo S100 di Figura 5, la codifica del descrittore ha inizio dal primo sottodescrittore, ossia v0. Al passo S110 viene selezionata la trasformata appropriata per il sottodescrittore in fase di elaborazione, ad esempio in base all’utilizzo delle trasformate indicato in Figura 3. Occorre notare che il calcolo qui descritto del descrittore V dal descrittore H secondo le due diverse trasformate è solamente un esempio. Il calcolo del descrittore V dal descrittore H può anche essere eseguito in base a una singola trasformata, ad esempio solo la Trasformata A o solo la Trasformata B, rendendo così non necessario il passo S110, oppure in base a più di due trasformate. Al passo S120, la codifica del sottodescrittore in fase di elaborazione inizia dal primo elemento di sottodescrittore, ossia v0. Quindi, al passo S130, viene verificato l’uso o meno di quel particolare elemento di quel particolare sottodescrittore, ossia v0,0, facendo riferimento alle informazioni di utilizzo degli elementi relative alla lunghezza di descrittore DLk, ad esempio utilizzando uno degli insiemi di utilizzo di Figura 4. Se l’elemento non è in uso, l’elaborazione va al passo S150. Se l’elemento è in uso per la lunghezza di descrittore DLk, al passo S140 avviene la sua codifica. Qui, come nelle successive descrizioni del funzionamento di un codificatore, se non diversamente specificato, il termine "codifica" indica una o più azioni, o combinazione di azioni, che rendono l’elemento v0,0parte del descrittore di immagine locale, dette azioni comprendendo, a titolo di esempio non limitativo, il calcolo secondo la funzione trasformata appropriata tra quelle (1) o (2) precedentemente descritte, la selezione dell’elemento per l’inclusione nel descrittore di immagine locale nel caso in cui tutti gli elementi siano precalcolati senza conoscere quali elementi saranno infine utilizzati nel descrittore, la quantizzazione del valore dell’elemento, la memorizzazione dell’elemento su memoria volatile o non volatile, e la trasmissione dell’elemento su un canale trasmissivo. Dopo il passo S140, oppure se al passo S130 si è determinato che l’elemento non è utilizzato per la lunghezza di descrittore DLk, l’elaborazione procede con il passo S150. Al passo S150, se l’elemento corrente non è l’ultimo elemento del sottodescrittore, l’elaborazione passa all’elemento successivo del sottodescrittore; in caso contrario l’elaborazione procede con il passo S160. Al passo S160, se il sottodescrittore corrente non è l’ultimo sottodescrittore del descrittore di immagine locale, l’elaborazione passa al successivo sottodescrittore del descrittore di immagine locale; in caso contrario, l’elaborazione termina. Appare quindi chiaro che i passi S100, S120, S150 e S160 riguardano l’ordine in cui viene eseguita l’elaborazione, mentre i passi S110, S130 e S140 riguardano l’effettiva codifica del descrittore di immagine locale. Un altro semplice metodo di codifica di questo descrittore prevede il calcolo e la codifica degli elementi in un ordine "per elemento", ossia, in generale, come v0,0, v1,0, ..., v15,0, v0,1, v1,1, ..., v15,1, ..., v0,7, v1,7, ..., v15,7, ossia di codificare l’elemento v0per i sottodescrittori v0, v1,..., v15, quindi codificare l’elemento v1per i sottodescrittori v0, v1,..., v15, ecc., anche in questo caso utilizzando le trasformate appropriate, ad esempio come illustrato in Figura 3, e utilizzando anche gli insiemi di utilizzo degli elementi appropriati per la lunghezza di descrittore desiderata, ad esempio come illustrato in Figura 4, per decidere quali elementi devono essere codificati. Tale codificatore può funzionare in modo analogo al codificatore di Figura 5, con un appropriato riordino dei vari passi. In generale, nessuno dei due metodi sopra descritti presenta vantaggi rispetto all’altro metodo. Ai fini della transcodifica, decodifica ed elaborazione, il decodificatore deve anche conoscere il processo di codifica e gli insiemi di ordinamento e utilizzo degli elementi per poter elaborare e confrontare i descrittori, eventualmente di lunghezza diversa, per gli scopi previsti dalle applicazioni di visione artificiale in questione. Gli insiemi di utilizzo degli elementi devono quindi essere fissati in modo permanente o memorizzati/trasmessi insieme con i descrittori. In tale contesto, questo semplice processo di codifica è svantaggioso.
Più in particolare, una simile codifica ignora l’importanza relativa tra elementi diversi nell’ordine di codifica. Di conseguenza, in termini di transcodifica, con la quale un descrittore di una data lunghezza è convertito in un descrittore di diversa lunghezza, o in termini di decodifica e confronto di descrittori di lunghezza diversa mediante il confronto di elementi corrispondenti tra i due descrittori, una tale codifica necessita di un’analisi sintattica dei descrittori per fornire il risultato desiderato.
Inoltre tale codifica ignora i pattern di ridondanza nell’importanza relativa tra elementi diversi, ed è inutilmente complessa per quanto concerne la decisione in merito alla necessità o meno di codificare elementi specifici.
Scopo della presente invenzione consiste quindi nell’indicare un metodo per codificare un descrittore di immagine basato su un istogramma di gradienti, insieme con un relativo apparato di elaborazione di immagini, che si dimostra più efficiente rispetto ai metodi secondo l’arte nota.
Un altro scopo della presente invenzione consiste nell’indicare un metodo per codificare un descrittore di immagini basato su un istogramma di gradienti, insieme con un relativo apparato di elaborazione di immagini, che si dimostra più flessibile.
Un ulteriore scopo della presente invenzione consiste nell’indicare un metodo per codificare un descrittore di immagini basato su un istogramma di gradienti, insieme con un relativo apparato di elaborazione di immagini, che consente di ottimizzare l’implementazione del codificatore.
Un ulteriore scopo della presente invenzione consiste nell’indicare un metodo per codificare un descrittore di immagini basato su un istogramma di gradienti, insieme con un relativo apparato di elaborazione di immagini, che consente di ottenere descrittori di immagini di qualsiasi lunghezza.
Questi e altri scopi dell’invenzione sono raggiunti attraverso un metodo per codificare un descrittore di immagine basato su un istogramma di gradienti, e un relativo apparato di elaborazione di immagini, come specificato nelle rivendicazioni allegate, che sono parte integrante della presente descrizione.
In breve, si indica un metodo per codificare in modo efficiente descrittori di immagini come quelli sopra descritti, codificandoli in base a un ordine di utilizzo di elementi, ottenendo così descrittori scalabili che possono essere convertiti in lunghezze di descrittore inferiori mediante semplice troncatura dei descrittori anziché mediante analisi sintattica.
La codifica viene eseguita per gruppi di sottodescrittori formati in base a pattern di ridondanza nell’importanza relativa tra i corrispondenti elementi di detti gruppi di sottodescrittori.
Più specificamente, tale raggruppamento viene effettuato raggruppando sottodescrittori i cui elementi corrispondenti hanno un’importanza simile in un ordine di tutti gli elementi del descrittore per quanto concerne la loro importanza relativa in termini di ottenimento di elevate prestazioni di riconoscimento, più in particolare raggruppando sottodescrittori in base alla loro distanza dal centro del descrittore e raggruppando ulteriormente i sottodescrittori in base alla distanza reciproca e/o ordinando ulteriormente i sottodescrittori di un gruppo in base alle rispettive caratteristiche di codifica e/o ordinando ulteriormente i sottodescrittori di un gruppo in base alla distanza reciproca.
Il metodo di codifica secondo l’invenzione è vantaggiosamente più efficace di quelli dell’arte nota in termini di efficienza, complessità computazionale e/o quantità di informazioni necessarie per generare bitstream scalabili.
Ulteriori caratteristiche dell’invenzione sono specificate nelle rivendicazioni allegate, che sono da intendersi parte integrante della presente descrizione. I suddetti scopi risulteranno maggiormente chiari dalla descrizione dettagliata che segue del metodo per codificare un descrittore di immagine basato su un istogramma di gradienti e di un relativo apparato di elaborazione di immagini, con particolare riferimento ai disegni allegati, in cui:
- Figure 1a e 1b mostrano un esempio di un descrittore di punto chiave secondo l’arte nota;
- Figure 2a e 2b presentano istogrammi di gradienti del descrittore di punto chiave di Figura 1 e, rispettivamente, valori di bin relativi a uno di detti istogrammi di gradienti;
- Figura 3 mostra alcuni esempi di trasformate da applicarsi agli istogrammi di gradienti di Figura 2;
- Figure 4a-4e mostrano alcuni esempi di insiemi di elementi per cinque rispettive lunghezze di descrittore desiderate;
- Figura 5 presenta un diagramma di flusso che illustra il funzionamento di un codificatore utilizzante gli insiemi di elementi di Figura 4;
- Figura 6 mostra un ordine di utilizzo degli elementi impiegato da un metodo secondo la presente invenzione;
- Figura 7 illustra il funzionamento di un codificatore utilizzante l’ordine di utilizzo degli elementi di Figura 6;
- Figura 8 mostra i centri di una regione e di una sottoregione di un descrittore di immagine locale;
- Figura 9 mostra un primo raggruppamento di sottodescrittori di un descrittore di immagine locale secondo una prima forma di realizzazione o una quarta forma di realizzazione di un metodo secondo l’invenzione;
- Figure 12 e 14 mostrano un secondo e un terzo esempio, rispettivamente, di raggruppamento di sottodescrittori di un descrittore di immagine locale secondo la prima forma di realizzazione di un metodo secondo l’invenzione; - Figure 10, 13 e 15 mostrano un primo, un secondo e un terzo ordine di utilizzo per gruppo-elemento relativo ai raggruppamenti delle Figure 9, 12, 14 e 17, rispettivamente;
- Figura 11 illustra il funzionamento di un codificatore secondo una prima, una seconda o una quarta forma di realizzazione di un metodo secondo l’invenzione;
- Figura 16 mostra un quarto esempio di raggruppamento secondo una prima forma di realizzazione di un metodo secondo l’invenzione;
- Figura 17 mostra un quinto esempio di raggruppamento di sottodescrittori di un descrittore di immagine locale secondo la seconda e la terza forma di realizzazione di un metodo secondo l’invenzione;
- Figura 18 illustra il funzionamento di un codificatore utilizzante l’ordine di utilizzo degli elementi di Figura 17, secondo la terza forma di realizzazione di un metodo secondo l’invenzione;
- Figura 19 illustra il funzionamento di un codificatore secondo una quarta forma di realizzazione di un metodo secondo l’invenzione;
- Figura 20 mostra un esempio di raggruppamento di sottodescrittori di un descrittore di immagine locale secondo una quinta forma di realizzazione di un metodo secondo l’invenzione;
- Figure 21a-21e mostrano alcuni esempi di insiemi di elementi secondo il raggruppamento di Figura 20;
- Figure 22a-22e mostrano gli insiemi di elementi delle Figure 21a-21e, rispettivamente, convertiti in insiemi di utilizzo per gruppo-elemento;
- Figura 23 illustra il funzionamento di un codificatore per la codifica di un descrittore per ottenere gli insiemi di elementi convertiti delle Figure 22a-22e; - Figura 24 illustra un dispositivo di elaborazione di immagini atto a realizzare il metodo secondo la presente invenzione.
Secondo l’invenzione, anziché codificare in base a insiemi di utilizzo degli elementi per diverse lunghezze di descrittore, un codificatore più efficiente può operare in base a un ordine di utilizzo degli elementi, producendo un descrittore i cui elementi sono ordinati nell’ordine di utilizzo degli elementi e che può essere convertito in lunghezze di descrittore inferiori mediante semplice troncatura del descrittore. Tale ordine di utilizzo degli elementi può assumere la forma di una lista ordinata di 128 elementi, che può essere codificata in 112 byte, ciascuna voce della lista specificando un indice di sottodescrittore e un indice di elemento, come illustrato in Figura 6. Quindi, ad esempio, la Figura 6 mostra una lista di priorità degli elementi, in cui all’elemento v5,0è assegnata la priorità più alta, all’elemento v9,0è assegnata la seconda priorità più alta, ecc. Un tale codificatore utilizzante un ordine di utilizzo degli elementi può allora produrre un descrittore di lunghezza l codificando i primi l elementi nella lista.
La Figura 7 illustra il funzionamento di un simile codificatore utilizzante l’ordine di utilizzo degli elementi di Figura 6. Con il codificatore di Figura 7, la codifica del descrittore inizia dall’elemento avente la massima priorità (Priorità 1) nell’ordine di utilizzo degli elementi, ossia l’elemento v0del sottodescrittore v5. Al passo S200 viene selezionata la trasformata appropriata in base al sottodescrittore a cui questo elemento appartiene, ad esempio secondo l’utilizzo delle trasformate indicato in Figura 3. Occorre notare che il calcolo del descrittore V dal descrittore H secondo le due diverse trasformate come qui descritto è solamente un esempio. In forme di realizzazione diverse, il calcolo del descrittore V dal descrittore H può anche essere eseguito secondo una singola trasformata, ad esempio solo la Trasformata A o solo la Trasformata B, rendendo così non necessario il passo S200, oppure secondo più di due trasformate. La codifica dell’elemento, ossia v5,0, ha quindi luogo al passo S210. In seguito, al passo S220, se non è ancora stato codificato un numero desiderato di l elementi del descrittore, l’elaborazione procede con l’elemento avente la priorità immediatamente successiva nell’ordine di utilizzo degli elementi; in caso contrario, l’elaborazione termina. Il passo S220 riguarda quindi il controllo del numero di elementi da codificare, mentre i passi S200 e S210 riguardano l’effettiva codifica del descrittore di immagine locale.
Il codificatore di Figura 7, che impiega un ordine di utilizzo degli elementi come quello indicato in Figura 6, produce descrittori i cui elementi sono ordinati nell’ordine di utilizzo degli elementi e che possono essere convertiti in lunghezze di descrittore inferiori mediante semplice troncatura del descrittore, ossia eliminando gli ultimi elementi del descrittore, ed è quindi più flessibile del codificatore di Figura 5, che impiega insiemi di utilizzo degli elementi come indicato in Figura 4.
Il numero di elementi l nel descrittore può essere memorizzato/trasmesso insieme con il descrittore, eventualmente a livello di immagine. Per scopi di transcodifica, decodifica ed elaborazione, il decodificatore deve anche conoscere l’ordinamento degli elementi per poter effettuare la corretta elaborazione richiesta dalle applicazioni di visione artificiale in questione. L’ordine di utilizzo degli elementi deve quindi essere fissato in modo permanente o essere memorizzato/trasmesso insieme con i descrittori.
In pratica, tuttavia, l’efficienza del codificatore di Figura 7 può essere migliorata. Questo perché l’ordine di utilizzo degli elementi illustrato in Figura 6 contiene una quantità significativa di ridondanza e risulta in una certa misura poco pratico da generare e utilizzare.
Ciò è dovuto al fatto che l’insieme completo di 128 elementi di V non corrisponde a un singolo descrittore i cui elementi possono essere ordinati secondo una singola lista di priorità, ma a 16 diversi sottodescrittori da 8 elementi, ciascun sottodescrittore essendo estratto da un diverso istogramma di gradienti secondo una trasformata specifica e in modo tale che elementi corrispondenti tra tutti i sottodescrittori catturino la relazione tra i bin con la stessa separazione angolare.
Si è allora determinato che, per ottenere elevate prestazioni di riconoscimento con un insieme limitato di elementi, un descrittore deve trovare un compromesso tra un’uniforme distribuzione degli elementi, ossia selezionare uno o più elementi dal maggior numero possibile di sottodescrittori, e la distanza dal centro del descrittore, ossia dare maggiore priorità ai sottodescrittori con la distanza più breve dal centro del descrittore. Contemporaneamente si è anche determinato che l’importanza di elementi corrispondenti da diversi sottodescrittori è approssimativamente la stessa a parità di distanza dei sottodescrittori dal centro del descrittore, mentre l’importanza di elementi corrispondenti da diversi sottodescrittori aumenta al diminuire della distanza dei sottodescrittori dal centro del descrittore.
In questo contesto, per distanza di un sottodescrittore v dal centro del descrittore si intende la distanza tra il centro della sottoregione corrispondente all’istogramma di gradienti h che determina il sottodescrittore v e il centro della regione che comprende le sottoregioni, come illustrato in Figura 8. Sebbene sia possibile risalire alle dimensioni della regione e delle sottoregioni dell’immagine per calcolare dette distanze, ciò non è necessario perché ciò che interessa è solamente confrontare dette distanze. Quindi dette distanze possono essere calcolate assumendo che ogni lato di ogni sottoregione abbia, ad esempio, una lunghezza unitaria. Inoltre, nella presente descrizione dette distanze sono distanze euclidee, sebbene si possano anche utilizzare altre misure di distanza appropriate.
Di conseguenza si osserva che, ai fini di un’efficiente codifica di un descrittore di immagine, i suoi sottodescrittori possono essere raggruppati in modo tale che venga assegnata un’importanza comune nell’ordine di utilizzo a elementi di descrittore corrispondenti per i sottodescrittori di ciascun gruppo, e che tali elementi vengano codificati congiuntamente.
Prima forma di realizzazione
In una prima forma di realizzazione dell’invenzione, i sottodescrittori sono raggruppati in base alla loro distanza dal centro del descrittore.
Ad esempio, un simile raggruppamento è illustrato in Figura 9, dove ci sono tre gruppi, vale a dire g0= {v0, v3, v12, v15}, contenente i sottodescrittori con la maggiore distanza dal centro del descrittore, g1= {v1, v2, v4, v7, v8, v11, v13, v14}, contente i sottodescrittori con la seconda maggiore distanza dal centro del descrittore, e g2= {v5, v6, v9, v10}, contenente i sottodescrittori con la minore distanza dal centro del descrittore. Entro ciascun gruppo, i sottodescrittori sono ordinati in ordine ascendente di indice di sottodescrittore, sebbene ciò non sia limitativo e possano essere impiegati ordinamenti diversi, come in senso orario partendo dal sottodescrittore più in alto e più a sinistra nel gruppo. Entro ciascun gruppo, a tutti gli elementi corrispondenti dei sottodescrittori del gruppo è assegnata la stessa priorità di codifica.
Sulla base di questo raggruppamento è possibile generare un ordine di utilizzo di tipo gruppo-elemento, che può assumere la forma di una lista ordinata di 24 elementi codificabile in 15 byte, in cui ogni voce della lista specifica un gruppo di sottodescrittore e un indice di elemento, come illustrato in Figura 10. Occorre notare che l’ordine di utilizzo per gruppo-elemento di Figura 10 è soltanto un esempio, e che possono essere generati diversi ordini di utilizzo per gruppoelemento cambiando le priorità delle voci nella lista. L’ordine di utilizzo per gruppo-elemento di Figura 10 è molto più economico dell’ordine di utilizzo degli elementi di Figura 6 in termini di lunghezza e dimensione di codifica. Quindi, ad esempio, la Figura 10 mostra una lista di priorità gruppo-elemento in cui all’elemento v0del gruppo g2è assegnata la priorità più alta, istruendo quindi il codificatore che i primi quattro elementi da codificare sono v5,0, v6,0, v9,0e v10,0, all’elemento v0del gruppo g1è assegnata la seconda priorità più alta, istruendo quindi il codificatore che i successivi elementi da codificare sono v1,0, v2,0, v4,0, v7,0, v8,0, v11,0, v13,0e v14,0, ecc.
La Figura 11 illustra il funzionamento di un simile codificatore utilizzante l’ordine di utilizzo per gruppo-elemento di Figura 10 e configurato per codificare i primi m gruppi di elementi in detto ordine di utilizzo per gruppoelemento. Con il codificatore di Figura 11 la codifica del descrittore inizia dal gruppo di elementi aventi la priorità più alta (Priorità 1) nell’ordine di utilizzo per gruppo-elemento, ossia dall’elemento v0del gruppo g2comprendente i sottodescrittori v5, v6, v9e v10. Al passo S300 la codifica del descrittore inizia dal primo sottodescrittore del gruppo, ossia v5. Al passo S310 viene selezionata la trasformata appropriata per il sottodescrittore, ad esempio secondo l’utilizzo delle trasformate indicato in Figura 3. Occorre notare che il calcolo del descrittore V dal descrittore H secondo le due diverse trasformate come qui descritto è solamente un esempio. In forme di realizzazione diverse, il calcolo del descrittore V dal descrittore H può anche essere eseguito secondo una singola trasformata, ad esempio solo la Trasformata A o solo la Trasformata B, rendendo così non necessario il passo S310, oppure secondo più di due trasformate. La codifica dell’elemento, ossia v5,0, ha quindi luogo al passo S320. Al passo S330, se il sottodescrittore corrente non è l’ultimo sottodescrittore nel gruppo, l’elaborazione procede con il sottodescrittore successivo; in caso contrario, l’elaborazione va al passo S340. In seguito, al passo S340, se non è ancora stato codificato il numero desiderato di m gruppi di elementi, l’elaborazione procede con il gruppo di elementi avente la priorità immediatamente successiva nell’ordine di utilizzo per gruppo-elemento; in caso contrario, l’elaborazione termina. I passi S300, S330 e S340 riguardano quindi l’ordine in cui avviene l’elaborazione e il controllo del numero di gruppi di elementi da codificare, mentre i passi S310 e S320 riguardano l’effettiva codifica del descrittore di immagine locale.
Il numero di gruppi m o il numero corrispondente di elementi l nel descrittore possono essere memorizzati/trasmessi insieme con il descrittore, eventualmente a livello di immagine.
Il fatto che l’ordine di utilizzo per gruppo-elemento di Figura 10 sia più economico dell’ordine di utilizzo degli elementi di Figura 6 si traduce nella realizzazione di un codificatore più efficiente ed economico. Inoltre, come precedentemente descritto, per scopi di transcodifica, decodifica ed elaborazione il decodificatore deve anche conoscere il processo di codifica e l’ordine di utilizzo degli elementi per poter elaborare e confrontare descrittori per gli scopi previsti dalle applicazioni di visione artificiale in questione, il che significa che l’ordine di utilizzo degli elementi deve essere fissato o trasmesso insieme con i descrittori. Applicazioni diverse possono avere l’esigenza di modificare l’ordine di utilizzo degli elementi, eventualmente a livello di immagine o sottoimmagine, ad esempio dando maggiore priorità ai sottodescrittori con la distanza più breve dal centro del descrittore, oppure dando maggiore priorità a una classe specifica di elementi, ad esempio v7anziché v2, allo scopo di ottenere elevate prestazioni di riconoscimento con un insieme limitato di elementi. In tal caso, l’ordine di utilizzo degli elementi dovrà essere memorizzato o trasmesso insieme con i descrittori. Considerando che i descrittori a basso bit-rate hanno tipicamente dimensioni di alcune centinaia di byte, l’ordine di utilizzo per gruppo-elemento di Figura 10 rappresenta un overhead molto inferiore a quello dell’ordine di utilizzo degli elementi di Figura 6. Inoltre, il raggruppamento dei sottodescrittori può essere fissato e reso noto sia al codificatore sia al decodificatore, oppure può essere trasmesso insieme con i descrittori. Ad esempio, per il raggruppamento preso sin qui in considerazione, il numero di gruppi e il formato di composizione di ciascun gruppo possono essere codificati in meno di 10 byte.
Quale altro esempio di una prima forma di realizzazione dell’invenzione, la Figura 12 illustra un diverso raggruppamento comprendente due gruppi, vale a dire g0= {v0, v1, v2, v3, v4, v7, v8, v11, v12, v13, v14, v15}, contenente tutti i sottodescrittori periferici, e g1= {v5, v6, v9, v10}, contenente i sottodescrittori con la distanza più breve dal centro del descrittore, ossia tutti i sottodescrittori centrali. In questo esempio, quindi, il gruppo g0contiene sottodescrittori con distanze variabili dal centro del descrittore, ma in ogni caso più lontani dal centro rispetto ai sottodescrittori del gruppo g0. Entro ciascun gruppo, a tutti gli elementi corrispondenti dei sottodescrittori del gruppo è assegnata la stessa priorità di codifica. Sulla base di questo raggruppamento è possibile generare un ordine di utilizzo per gruppo-elemento che può assumere la forma di una lista ordinata di 16 elementi, codificabile in 8 byte, dove ogni voce della lista specifica un gruppo di sottodescrittori e un indice di elemento, come illustrato in Figura 13. Il codificatore di Figura 11 può quindi essere utilizzato, anche in questo caso, per codificare un descrittore secondo l’ordine di utilizzo per gruppo-elemento di Figura 13. Occorre notare che l’ordine di utilizzo per gruppo-elemento di Figura 13 è soltanto un esempio, e che possono essere generati diversi ordini di utilizzo per gruppo-elemento modificando le priorità delle voci nella lista.
Quale ulteriore esempio di una prima forma di realizzazione dell’invenzione, la Figura 14 illustra un diverso raggruppamento comprendente quattro gruppi, vale a dire g0= {v0, v3, v12, v15}, contenente i sottodescrittori con la maggiore distanza dal centro del descrittore, g1= {v1, v2, v4, v7}, contenente un insieme di quattro sottodescrittori con la seconda maggiore distanza dal centro del descrittore, g2= {v8, v11, v13, v14}, contenente un insieme di quattro diversi sottodescrittori anch’essi con la seconda maggiore distanza dal centro del descrittore, e g3= {v5, v6, v9, v10}, contenente i sottodescrittori con la distanza più breve dal centro del descrittore. In questo esempio, quindi, i sottodescrittori dei gruppi g1e g2si trovano alla stessa distanza dal centro del descrittore. Questo raggruppamento è ottenuto dal raggruppamento di Figura 9 suddividendo il gruppo originale g1in nuovi gruppi g1e g2. Il vantaggio che ne deriva è che si creano gruppi aventi lo stesso numero di sottodescrittori, il che è desiderabile per ottimizzare le implementazioni del decodificatore. Entro ciascun gruppo, a tutti gli elementi corrispondenti dei sottodescrittori del gruppo è assegnata la stessa priorità di codifica. Sulla base di questo raggruppamento è possibile generare un ordine di utilizzo per gruppo-elemento che può assumere la forma di una lista ordinata di 32 elementi, codificabile in 20 byte, dove ogni voce della lista specifica un gruppo di sottodescrittori e un indice di elemento, come illustrato in Figura 15. Il codificatore di Figura 11 può quindi essere utilizzato, anche in questo caso, per codificare un descrittore secondo l’ordine di utilizzo per gruppo-elemento di Figura 15. Occorre notare che l’ordine di utilizzo per gruppo-elemento di Figura 15 è soltanto un esempio, e che possono essere generati diversi ordini di utilizzo per gruppo-elemento modificando le priorità delle voci nella lista.
Naturalmente il raggruppamento in quattro gruppi di Figura 14 non è l’unico possibile. Ad esempio, la Figura 16 mostra un raggruppamento alternativo comprendente i gruppi g0= {v0, v3, v12, v15}, g1= {v1, v2, v13, v14}, g2= {v4, v7, v8, v11} e g3= {v5, v6, v9, v10}. Quindi, in Figura 16 i gruppi g0e g3sono identici a quelli di Figura 14, ma i sottodescrittori di g1e g2sono stati scambiati rispetto a Figura 14, in modo tale che ognuno di questi due gruppi contenga un sottodescrittore proveniente dalla parte superiore sinistra, superiore destra, inferiore sinistra e inferiore destra della griglia di sottodescrittori.
Una differenza tra il codificatore di Figura 7 e il codificatore di Figura 11 consiste nel fatto che, mentre il primo produce descrittori di qualsiasi lunghezza, il secondo permette la codifica di descrittori la cui lunghezza presenta una granularità determinata dai gruppi di sottodescrittori. In pratica quest’ultimo può essere configurato per produrre descrittori di qualsiasi lunghezza, come si dimostrerà più avanti.
Seconda forma di realizzazione
In una seconda forma di realizzazione dell’invenzione, i sottodescrittori vengono raggruppati dapprima in base alla loro distanza dal centro (prima condizione) e in seconda istanza in base alle loro distanze reciproche (seconda condizione).
In questo contesto, la distanza tra i sottodescrittori può anche in questo caso assumere la forma di una distanza euclidea o di qualsiasi altra misura di distanza idonea, come una distanza Manhattan.
La seconda condizione può essere, ad esempio, che un gruppo non deve contenere sottodescrittori la cui distanza reciproca è al di sotto di una soglia predeterminata. La soglia predeterminata può quindi essere impostata per evitare, ad esempio, di raggruppare sottodescrittori confinanti tra loro.
L’obiettivo della condizione secondaria è assicurare che i sottodescrittori di gruppi diversi provengano, ove possibile, da posizioni relativamente distanti nella griglia di sottodescrittori, in modo da aumentare il contenuto informativo dei descrittori di numeri molto ridotti di caratteristiche. Occorre notare che la condizione secondaria può non essere sempre soddisfatta, ad esempio che non possa essere soddisfatta per un gruppo contenente tutti i sottodescrittori centrali v5, v6, v9e v10.
Ad esempio, un simile raggruppamento è illustrato in Figura 17, dove ci sono quattro gruppi, vale a dire g0= {v0, v3, v12, v15}, contenente i sottodescrittori con la maggiore distanza dal centro del descrittore, g1= {v1, v7, v8, v14}, contenente un insieme di quattro sottodescrittori con la seconda maggiore distanza dal centro del descrittore, g2= {v2, v4, v11, v13}, contenente un insieme di quattro diversi sottodescrittori anch’essi con la seconda maggiore distanza dal centro del descrittore, e g3= {v5, v6, v9, v10}, contenente i sottodescrittori con la distanza più breve dal centro del descrittore. In questo esempio, quindi, i sottodescrittori dei gruppi g0, g1e g2soddisfano la condizione di non contenere sottodescrittori confinanti.
Entro ciascun gruppo, a tutti gli elementi corrispondenti dei sottodescrittori del gruppo è assegnata la stessa priorità di codifica. Sulla base di questo raggruppamento è possibile generare un ordine di utilizzo per gruppoelemento come quello illustrato in Figura 15, ed è quindi possibile anche in questo caso utilizzare un codificatore come quello illustrato in Figura 11 per codificare un descrittore secondo l’ordine di utilizzo per gruppo-elemento di Figura 15.
Naturalmente possono essere impiegate condizioni alternative basate sulla distanza dei sottodescrittori all’interno di un gruppo, come la massimizzazione della distanza totale tra i sottodescrittori, ecc.
Terza forma di realizzazione
In una terza forma di realizzazione dell’invenzione, i sottodescrittori sono raggruppati in base alla loro distanza dal centro, e i sottodescrittori di ciascun gruppo sono codificati in una sequenza definita in base a rispettive caratteristiche di codifica, come le loro corrispondenti trasformate.
Ad esempio, considerando il raggruppamento di Figura 17 della seconda forma di realizzazione dell’invenzione congiuntamente con il pattern di schieramento delle trasformate di Figura 3, si può vedere che entro ciascun gruppo vengono trasformati due sottodescrittori secondo la trasformata A e due sottodescrittori secondo la trasformata B. Si può così definire una condizione di sequenza di codifica comune secondo la quale, per ciascun gruppo, la sequenza di utilizzo delle trasformate deve essere "A A B B", ossia una sequenza di codifica secondo cui, per ogni gruppo di sottodescrittori, la trasformata del primo sottodescrittore nel gruppo è la trasformata A, la trasformata del secondo sottodescrittore nel gruppo è anch’essa la trasformata A, la trasformata del terzo sottodescrittore nel gruppo è la trasformata B, e la trasformata del quarto sottodescrittore nel gruppo è anch’essa la trasformata B. Si avranno quindi i gruppi g0= {v0, v15, v3, v12}, contenente i sottodescrittori con la maggiore distanza dal centro del descrittore, g1= {v7, v8, v1, v14}, contenente un insieme di quattro sottodescrittori con la seconda maggiore distanza dal centro del descrittore, g2= {v2, v13, v4, v11}, contenente un insieme di quattro diversi sottodescrittori anch’essi con la seconda maggiore distanza dal centro del descrittore, e g3= {v5, v10, v6, v9}, contenente i sottodescrittori con la distanza più breve dal centro del descrittore. Entro ciascun gruppo, a tutti gli elementi corrispondenti dei sottodescrittori del gruppo è assegnata la stessa priorità di codifica. Inoltre, entro ciascun gruppo, le informazioni di utilizzo delle trasformate per i quattro sottodescrittori nel gruppo sono sempre "A A B B", il che significa che per un’efficiente implementazione del codificatore non è necessario identificare la trasformata applicabile a ciascun sottodescrittore. La Figura 18 illustra il funzionamento di un simile codificatore utilizzante l’ordine di utilizzo per gruppo-elemento di Figura 15 e configurato per codificare i primi m gruppi di elementi in detto ordine di utilizzo per gruppoelemento. Nel codificatore di Figura 18, la codifica del descrittore inizia dal gruppo di elementi aventi la priorità più alta (Priorità 1) nell’ordine di utilizzo per gruppo-elemento, ossia l’elemento v0del gruppo g3, comprendente i sottodescrittori v5, v10, v6e v9. Al passo S400, la codifica del descrittore inizia dal primo sottodescrittore del gruppo, ossia v5. Dato che tutti i gruppi hanno un ordine di utilizzo delle trasformate comune e fisso, l’elaborazione procede con il passo S410, in cui avviene la codifica dell’elemento, ossia v5,0. Al passo S420, se il sottodescrittore corrente non è l’ultimo sottodescrittore nel gruppo, l’elaborazione passa al sottodescrittore successivo; in caso contrario, l’elaborazione procede con il passo S430. Quindi, al passo S430, se non è ancora stato codificato il numero desiderato di m gruppi di elementi, l’elaborazione procede con il gruppo di elementi avente la priorità immediatamente successiva nell’ordine di utilizzo per gruppo-elemento; in caso contrario, l’elaborazione termina. I passi S400, S420 e S430 riguardano quindi l’ordine in cui viene eseguita l’elaborazione e il controllo del numero di gruppi di elementi da codificare, mentre solamente il passo S410 riguarda l’effettiva codifica del descrittore di immagine locale.
Nella descrizione appena effettuata, la condizione della sequenza di codifica comune è definita per le trasformate utilizzate entro ciascun gruppo, ma questa condizione può anche essere definita per altre caratteristiche di codifica, come il tipo e il livello di quantizzazione, o loro combinazioni.
Se necessario, possono naturalmente essere applicate condizioni diverse, in termini di sequenza di codifica, a gruppi diversi di sottodescrittori. Ad esempio, nella prima forma di realizzazione dell’invenzione il raggruppamento secondo Figura 9 dà luogo a tre gruppi, vale a dire g0, contenente i quattro sottodescrittori con la maggiore distanza dal centro del descrittore, g1, contenente gli otto sottodescrittori con la seconda maggiore distanza dal centro del descrittore, e g2, contenente i quattro sottodescrittori con la distanza più breve dal centro del descrittore. In questo caso, in ragione delle diverse dimensioni dei gruppi, si può applicare ai gruppi g0e g2una condizione di sequenza di codifica secondo cui la sequenza di utilizzo delle trasformate deve essere "A A B B" , e applicare al gruppo g1una diversa condizione di sequenza di codifica secondo cui la sequenza di utilizzo delle trasformate deve essere "A A A A B B B B".
Quarta forma di realizzazione
In una quarta forma di realizzazione dell’invenzione, i sottodescrittori sono raggruppati in base alle loro distanze dal centro, e i sottodescrittori di ciascun gruppo sono ordinati in base alle distanze tra loro.
La condizione di ordinamento può essere, ad esempio, che la distanza tra sottodescrittori consecutivi entro un gruppo non deve essere inferiore a una soglia predeterminata. La soglia predeterminata può quindi essere impostata per evitare, ad esempio, che in un gruppo ci siano sottodescrittori confinanti consecutivi.
Una diversa condizione di ordinamento può prevedere, ad esempio, di massimizzare la distanza tra sottodescrittori consecutivi all’interno di un gruppo.
Questo ordinamento è particolarmente utile allorquando si impiegano gruppi di sottodescrittori numerosi, in modo da ridurre le dimensioni dell’ordine di utilizzo gruppo-elemento, e per la codifica parziale dei gruppi, descritta più avanti. Occorre notare che questo tipo di ordinamento può non essere sempre possibile; ad esempio, non è possibile non avere descrittori confinanti consecutivi in un gruppo che contiene tutti i sottodescrittori centrali v5, v6, v9, e v10.
Ad esempio, considerando il raggruppamento illustrato in Figura 9, si può vedere che i sottodescrittori in ciascun gruppo possono essere ordinati in modo tale da massimizzare la distanza tra sottodescrittori consecutivi, partendo dal sottodescrittore con l’indice più basso nel gruppo, ottenendo così i gruppi g0= {v0, v15, v3, v12}, g1= {v1, v14, v2, v13, v7, v8, v11, v4}, e g2= {v5, v10, v6, v9}. Entro ogni gruppo, a tutti gli elementi corrispondenti dei sottodescrittori del gruppo è assegnata la stessa priorità di codifica.
Sulla base di questo raggruppamento e questo ordinamento dei sottodescrittori in ogni gruppo, è possibile generare un ordine di utilizzo per gruppo-elemento come quello illustrato in Figura 10, e anche in questo caso si può utilizzare un codificatore come quello illustrato in Figura 11 per codificare un descrittore secondo l’ordine di utilizzo per gruppo-elemento di Figura 10. In alternativa, può essere impiegato un codificatore come quello illustrato in Figura 19.
Più in particolare, una differenza tra il codificatore di Figura 7 e i codificatori di Figura 11 e Figura 18 consiste nel fatto che, mentre il primo produce descrittori di qualsiasi lunghezza, questi ultimi permettono di codificare descrittori la cui lunghezza presenta una granularità determinata dai gruppi di sottodescrittori. In pratica, tuttavia, ciascuno dei codificatori delle Figure 11 e 18 può essere facilmente configurato per codificare descrittori di qualsiasi lunghezza codificando in modo parziale l’ultimo gruppo di elementi al raggiungimento della lunghezza desiderata del descrittore. In questo contesto, la Figura 19 mostra una tale modifica apportata al codificatore di Figura 11. In sostanza, il codificatore di Figura 19 è ottenuto semplicemente scambiando i passi S330 e S340 del codificatore di Figura 11, consentendo al codificatore di Figura 19 di terminare la codifica di un gruppo non appena sia stato codificato il numero desiderato di elementi. Chiaramente, una modifica analoga è anche applicabile al codificatore di Figura 18.
In questo contesto, l’ordinamento dei sottodescrittori in un gruppo in base alle distanze tra loro è altamente vantaggioso perché determina elementi consecutivi provenienti da posizioni relativamente distanti della griglia di sottodescrittori, il che, in caso di codifica parziale di un gruppo, aumenta il contenuto informativo dei descrittori con un numero ridotto di caratteristiche.
Quinta forma di realizzazione
Le precedenti forme di realizzazione dell’invenzione producono un’efficiente codifica di descrittori di immagini secondo un ordine di utilizzo per gruppoelemento risultante dal raggruppamento di sottodescrittori in gruppi di sottodescrittori in base alle loro distanze dal centro del descrittore e/o alle loro distanze reciproche.
In una forma di realizzazione alternativa dell’invenzione, i sottodescrittori possono essere raggruppati in modo tale che ogni sottodescrittore all’interno di un gruppo abbia un insieme di utilizzo degli elementi identico a quello di tutti gli altri sottodescrittori nel gruppo.
Ad esempio, si consideri il raggruppamento di Figura 20, dove ci sono quattro gruppi, vale a dire g0= {v5, v6, v9, v10}, g1= {v1, v7, v8, v14}, g2= {v2, v4, v11, v13}, e g3= {v0, v3, v12, v15}. Si tratta dello stesso raggruppamento di Figura 17, ma con gli indici di gruppo riassegnati (ossia g0e g3sono stati scambiati), cosicché gruppi con indici minori contengono sottodescrittori con la distanza più breve dal centro del descrittore. Combinando questo raggruppamento con gli insiemi di utilizzo degli elementi di Figura 4a-4e si ottengono gli insiemi di utilizzo per gruppo-elemento delle Figure 21a-21e.
Dato che l’insieme di elementi utilizzato per ogni lunghezza di descrittore deve essere lo stesso o un sottoinsieme dell’insieme di elementi utilizzati per tutte le lunghezze di descrittore superiori, gli insiemi di utilizzo per gruppo-elemento delle Figure 21a-21e possono essere convertiti in insiemi di utilizzo per gruppoelemento incrementali come quelli illustrati nelle Figure 22a-22e, in cui, per ogni lunghezza di descrittore (ad esempio, DL2 di Figura 22c), l’insieme di utilizzo degli elementi corrispondente presenta solo gli elementi aggiuntivi che creano il descrittore di detta lunghezza di descrittore rispetto alla lunghezza di descrittore immediatamente inferiore (ad esempio, DL1 di Figura 22b).
Sulla base degli insiemi di utilizzo per gruppo-elemento incrementali delle Figure 22a-22e, un codificatore può generare descrittori che possono essere convertiti in lunghezze di descrittore inferiori mediante semplice troncatura del descrittore.
La Figura 23 illustra il funzionamento di un simile codificatore per la codifica di un descrittore di lunghezza DLk. Più specificamente, al passo S600 l’elaborazione inizia codificando un descrittore avente la lunghezza di descrittore minima, ossia DL0. Al passo S610 ha inizio la codifica del descrittore DL0 con la codifica del primo gruppo di sottodescrittori, ossia g0, e al passo S620 ha inizio la codifica del primo gruppo di sottodescrittori con la codifica del primo elemento, ossia v0. Al passo S630, se l’elemento v0non è in uso per g0alla lunghezza di descrittore DL0 secondo gli insiemi di utilizzo per gruppoelemento incrementali di Figura 22, l’elaborazione va al passo S680; in caso contrario, l’elaborazione procede con il passo S640. Al passo S640 viene selezionato il primo sottodescrittore del gruppo g0, ossia v5, e al passo S650 viene selezionata la funzione trasformata appropriata, ad esempio secondo Figura 3. Occorre notare che il calcolo del descrittore V dal descrittore H secondo due diverse trasformate come qui descritto è solamente un esempio. In forme di realizzazione diverse, il calcolo del descrittore V dal descrittore H può anche essere eseguito secondo un’unica trasformata, ad esempio solo la Trasformata A o solo la Trasformata B, rendendo così non necessario il passo S650, oppure secondo più di due trasformate. Quindi, al passo 660, avviene la codifica dell’elemento v5,0. Al passo S670, se il sottodescrittore corrente non è l’ultimo sottodescrittore nel gruppo, l’elaborazione passa al sottodescrittore successivo nel gruppo; in caso contrario, l’elaborazione procede con il passo S680. Al passo S680, se l’elemento corrente non è l’ultimo elemento, ossia v7, l’elaborazione passa all’elemento successivo; in caso contrario, l’elaborazione procede con il passo S690. Al passo S690, se il gruppo di sottodescrittori corrente non è l’ultimo gruppo di sottodescrittori, l’elaborazione passa al gruppo di sottodescrittori successivo; in caso contrario, l’elaborazione procede con il passo S695. Al passo S695, se la lunghezza di sottodescrittore corrente non è la lunghezza di sottodescrittore desiderata, l’elaborazione passa alla lunghezza di sottodescrittore successiva, codificando gli elementi aggiuntivi specificati dagli insiemi di utilizzo per gruppo-elemento incrementali. In caso contrario, l’elaborazione termina.
Sebbene si siano qui presentati in modo dettagliato aspetti e forme di realizzazione della presente invenzione per il calcolo di descrittori di immagini robusti, discriminativi, scalabili e compatti da un descrittore di immagine SIFT, l’invenzione è anche applicabile ad altri descrittori di immagini basati su istogrammi di gradienti, come descritto nella domanda di brevetto italiana in attesa di pubblicazione no. TO2012A000602.
A titolo di esempio, la Figura 24 illustra un diagramma di un apparato di elaborazione di immagini atto ad eseguire il metodo secondo la presente invenzione. Più specificamente, l’apparato di elaborazione 1100 riceve un input, che può comprendere dati visivi come dati di immagine o video, descrittori precalcolati basati su istogrammi di gradienti, descrittori compatti pre-calcolati secondo il metodo della presente invenzione, istruzioni di programmazione o comandi dell’utente, dall’apparato di input 1000, che può assumere la forma di un apparato utente di input, un media reader o un ricevitore di segnali trasmessi. L’apparato di elaborazione 1100 comprende i principali blocchi di elaborazione di un’unità di elaborazione centrale 1110 che controlla le operazioni degli altri blocchi di elaborazione, memoria volatile 1120, memoria non volatile 1130, opzionalmente un blocco estrattore di descrittori 1140 configurato per generare descrittori basati su istogrammi di gradienti, un blocco codificatore di descrittori compatti 1150 configurato per eseguire il metodo secondo la presente invenzione, e opzionalmente un blocco elaboratore di descrittori compatti 1160 configurato per elaborare detti descrittori compatti, ad esempio per stabilire o verificare corrispondenze visive. L’apparato di elaborazione 1100 è collegato a un apparato di output 1900, che può assumere la forma di un’unità display, un media writer o un trasmettitore di segnali, che fornisce un output che può comprendere dati visivi annotati, come dati di immagine o video, informazioni di elaborazione, come corrispondenze visive stabilite o verificate, o descrittori compatti secondo il metodo della presente invenzione. Resta inteso che i blocchi e l’architettura di elaborazione presentati in Figura 24 sono puramente concettuali e possono non corrispondere esattamente ad ogni apparato implementante il metodo secondo l’invenzione. Numerose sono le varianti possibili al metodo per codificare un descrittore di immagini basato su un istogramma di gradienti e un relativo apparato di elaborazione di immagini qui descritti a titolo di esempio, senza per questo uscire dai principi di novità insiti nell’idea inventiva, così come è chiaro che nella sua attuazione pratica le forme dei dettagli illustrati potranno essere diverse, e gli stessi potranno essere sostituiti con degli elementi tecnicamente equivalenti.
Dunque è facilmente comprensibile che la presente invenzione non è limitata a un metodo per codificare un descrittore di immagine basato su un istogramma di gradienti e a un relativo apparato di elaborazione di immagini, ma è passibile di varie modificazioni, perfezionamenti, sostituzioni di parti ed elementi equivalenti senza però allontanarsi dall’’idea dell’invenzione, così come è precisato nelle seguenti rivendicazioni.
* * * * * *

Claims (22)

  1. RIVENDICAZIONI 1. Metodo per codificare un descrittore di immagine (H) basato su istogrammi di gradiente (hp) in un descrittore trasformato (V) comprendente sottodescrittori trasformati (vp), in cui ogni istogramma di gradienti (hp) comprende una pluralità di bin di istogramma (hi) e ogni sottodescrittore (vp) comprende un insieme di valori (vj), caratterizzato dal fatto che detti sottodescrittori (vp) sono generati secondo una lista dell’ordine di utilizzo degli elementi che specifica un indice di sottodescrittore (p) di detto insieme di sottodescrittori (vp) e un indice di elemento (j) di detto insieme di valori (vj).
  2. 2. Metodo secondo la rivendicazione 1, in cui detti sottodescrittori (vp) sono raggruppati in gruppi di sottodescrittori in base alla loro distanza da un centro di descrittore di immagine, e in cui, entro ciascun gruppo di sottodescrittori, a tutti i valori corrispondenti (vj) di un gruppo di sottodescrittori è assegnata una stessa priorità di codifica in detta lista dell’ordine di utilizzo degli elementi.
  3. 3. Metodo secondo la rivendicazione 2, in cui detti sottodescrittori (vp) sono raggruppati in un primo gruppo, contenente tutti i sottodescrittori con la distanza più breve dal centro del descrittore di immagine, e un secondo gruppo, contenente tutti i rimanenti sottodescrittori.
  4. 4. Metodo secondo la rivendicazione 2, in cui detti sottodescrittori (vp) sono raggruppati in un primo gruppo, contenente i sottodescrittori con la maggiore distanza dal centro del descrittore, un secondo gruppo, contenente un primo insieme di sottodescrittori con la seconda maggiore distanza dal centro del descrittore, un terzo gruppo, contenente un secondo insieme di sottodescrittori con la seconda maggiore distanza dal centro del descrittore, e un quarto gruppo, contenente i sottodescrittori con la distanza più breve dal centro del descrittore.
  5. 5. Metodo secondo la rivendicazione 4, in cui detti primo, secondo, terzo e quarto gruppo contengono lo stesso numero di sottodescrittori.
  6. 6. Metodo secondo la rivendicazione 1, in cui detti sottodescrittori (vp) sono raggruppati in gruppi di sottodescrittori in base alla loro distanza da un centro del descrittore di immagine e in base alle loro distanze reciproche, e in cui, entro ciascun gruppo di sottodescrittori, a tutti i valori corrispondenti (vj) di un gruppo di sottodescrittori è assegnata una stessa priorità di codifica in detta lista dell’ordine di utilizzo degli elementi.
  7. 7. Metodo secondo la rivendicazione 6, in cui detti sottodescrittori (vp) sono raggruppati in un primo gruppo, contenente i sottodescrittori con la maggiore distanza dal centro del descrittore, un secondo gruppo, contenente un primo insieme di sottodescrittori con la seconda maggiore distanza dal centro del descrittore, un terzo gruppo, contenente un secondo insieme di sottodescrittori con la seconda maggiore distanza dal centro del descrittore, e un quarto gruppo, contenente i sottodescrittori con la distanza più breve dal centro del descrittore.
  8. 8. Metodo secondo la rivendicazione 6, in cui un gruppo di sottodescrittori non contiene sottodescrittori la cui distanza reciproca sia al di sotto di una soglia predeterminata.
  9. 9. Metodo secondo la rivendicazione 6, in cui dette distanze reciproche prevedono la massimizzazione della distanza totale tra i sottodescrittori.
  10. 10. Metodo secondo la rivendicazione 1, in cui detti sottodescrittori (vp) sono raggruppati in gruppi di sottodescrittori in base alla loro distanza da un centro del descrittore di immagine e sono ordinati in base alle loro distanze reciproche, e in cui, entro ciascun gruppo di sottodescrittori, a tutti i valori corrispondenti (vj) di un gruppo di sottodescrittori è assegnata una stessa priorità di codifica in detta lista dell’ordine di utilizzo degli elementi.
  11. 11. Metodo secondo la rivendicazione 10, in cui un gruppo di sottodescrittori non contiene sottodescrittori consecutivi la cui distanza sia al di sotto di una soglia predeterminata.
  12. 12. Metodo secondo la rivendicazione 10, in cui dette distanze reciproche prevedono la massimizzazione della distanza tra sottodescrittori consecutivi.
  13. 13. Metodo secondo la rivendicazione 1, in cui detti sottodescrittori (vp) sono raggruppati in gruppi di sottodescrittori in base alla loro distanza da un centro del descrittore di immagine e i sottodescrittori di ciascun gruppo sono codificati in una sequenza definita in base a rispettive caratteristiche di codifica, e in cui, entro ciascun gruppo di sottodescrittori, a tutti i valori corrispondenti (vj) di un gruppo di sottodescrittori è assegnata una stessa priorità in detta lista dell’ordine di utilizzo degli elementi.
  14. 14. Metodo secondo la rivendicazione 13, in cui dette caratteristiche di codifica sono trasformate corrispondenti.
  15. 15. Metodo secondo la rivendicazione 14, in cui, per ogni gruppo di sottodescrittori, la trasformata di un primo sottodescrittore nel gruppo è un primo tipo di trasformata (A), la trasformata di un secondo sottodescrittore nel gruppo è detto primo tipo di trasformata (A), la trasformata di un terzo sottodescrittore nel gruppo è un secondo tipo di trasformata (B), e la trasformata di un quarto sottodescrittore nel gruppo è detto secondo tipo di trasformata (B).
  16. 16. Metodo secondo la rivendicazione 13, in cui dette caratteristiche di codifica sono tipo e livello di quantizzazione, o loro combinazioni.
  17. 17. Metodo secondo la rivendicazione 2, in cui viene assegnata una priorità più alta a una classe specifica di valori.
  18. 18. Metodo secondo la rivendicazione 2, in cui viene assegnata una priorità più alta ai gruppi di sottodescrittori più vicini al centro del descrittore.
  19. 19. Metodo secondo le rivendicazioni da 2 a 18, in cui detta lista di utilizzo degli elementi è memorizzata o trasmessa insieme al descrittore di immagine.
  20. 20. Metodo per codificare un descrittore di immagine (H) secondo le rivendicazioni da 1 a 19, in cui detto descrittore di immagine è convertito in un descrittore avente una lunghezza ridotta mediante troncatura di uno o più ultimi elementi di detto descrittore.
  21. 21. Metodo per codificare un descrittore di immagine secondo la rivendicazione 1, in cui detto ordine di utilizzo degli elementi assume la forma di una lista ordinata di 16 o 24 o 32 o 128 elementi.
  22. 22. Apparato di elaborazione di immagini comprendente mezzi per la realizzazione del metodo secondo una qualsiasi delle rivendicazioni da 1 a 21. * * * * * *
IT000629A 2013-07-24 2013-07-24 Method for encoding an image descriptor based on a gradient histogram and relative image processing apparatus ITTO20130629A1 (it)

Priority Applications (22)

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
TW103124152A TWI576770B (zh) 2013-07-24 2014-07-14 用於基於一梯度統計圖編碼一影像描述符之方法及相關影像處理裝置
EP19209983.6A EP3633547A1 (en) 2013-07-24 2014-07-16 Image processing apparatus and method for encoding an image descriptor based on a gradient histogram
DK14777780.9T DK3025274T3 (da) 2013-07-24 2014-07-16 Billedbehandlingsapparat og fremgangsmåde til at kode en billeddeskriptor baseret på et gradienthistogram
KR1020167004414A KR102175697B1 (ko) 2013-07-24 2014-07-16 그래디언트 히스토그램에 기초하여 이미지 디스크립터를 인코딩하기 위한 이미지 프로세싱 장치 및 방법
PL14777780T PL3025274T3 (pl) 2013-07-24 2014-07-16 Urządzenie do przetwarzania obrazu i sposób kodowania deskryptora obrazu na podstawie histogramu gradientów
PT147777809T PT3025274T (pt) 2013-07-24 2014-07-16 Aparelho e método de processamento de imagem para codificar um descritor de imagem com base num histograma gradiente
RU2016105699A RU2678668C2 (ru) 2013-07-24 2014-07-16 Устройство обработки изображений и способ кодирования дескриптора изображения на основе гистограмм градиентов
US14/906,485 US9779320B2 (en) 2013-07-24 2014-07-16 Image processing apparatus and method for encoding an image descriptor based on a gradient histogram
EP14777780.9A EP3025274B1 (en) 2013-07-24 2014-07-16 Image processing apparatus and method for encoding an image descriptor based on a gradient histogram
JP2016528631A JP6514200B2 (ja) 2013-07-24 2014-07-16 勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置
HUE14777780A HUE048315T2 (hu) 2013-07-24 2014-07-16 Képfeldolgozó berendezés és eljárás képleíró kódolására gradiens hisztogram alapján
CN201910738846.8A CN110365979A (zh) 2013-07-24 2014-07-16 基于梯度直方图编码图像描述符的图像处理装置和方法
BR112016001479-0A BR112016001479B1 (pt) 2013-07-24 2014-07-16 Aparelho de processamento de imagem e método para codificar um descritor de imagem com base em um histograma de gradiente
CN201910739034.5A CN110298367A (zh) 2013-07-24 2014-07-16 基于梯度直方图编码图像描述符的图像处理装置和方法
RU2019101654A RU2698765C2 (ru) 2013-07-24 2014-07-16 Устройство обработки изображений и способ кодирования дескриптора изображения на основе гистограмм градиентов
ES14777780T 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
CN201480041502.7A CN105493106B (zh) 2013-07-24 2014-07-16 用于基于梯度直方图编码图像描述符的图像处理装置和方法
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
ARP140102759A AR097052A1 (es) 2013-07-24 2014-07-24 Método para codificar un descriptor de imágenes en base a un histograma de gradientes y aparato procesador de imágenes relacionado
JP2019075614A JP6745939B2 (ja) 2013-07-24 2019-04-11 勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置
RU2019125322A RU2019125322A (ru) 2013-07-24 2019-08-09 Устройство обработки изображений и способ кодирования дескриптора изображения на основе гистограмм градиентов

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
ITTO20130629A1 true ITTO20130629A1 (it) 2015-01-25

Family

ID=49226413

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (16)

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

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
US7991715B2 (en) * 2007-12-27 2011-08-02 Arbor Labs, Inc. System and method for image classification
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
US8582802B2 (en) * 2009-10-09 2013-11-12 Edgenet, Inc. Automatic method to generate product attributes based solely on product images
RU2427911C1 (ru) * 2010-02-05 2011-08-27 Фирма "С1 Ко., Лтд." Способ обнаружения лиц на изображении с применением каскада классификаторов
NO2559244T3 (it) * 2010-04-13 2017-12-30
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
EP2782066B1 (en) * 2011-11-18 2019-09-11 NEC Corporation Local feature descriptor extracting apparatus, method for extracting local feature descriptor, and program
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

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHANDRASEKHAR V ET AL: "CHoG: Compressed histogram of gradients A low bit-rate feature descriptor", 2009 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION : CVPR 2009 ; MIAMI [BEACH], FLORIDA, USA, 20 - 25 JUNE 2009, IEEE, PISCATAWAY, NJ, 20 June 2009 (2009-06-20), pages 2504 - 2511, XP031607260, ISBN: 978-1-4244-3992-8 *
MA R ET AL: "MI-SIFT: Mirror and Inversion Invariant Generalization for SIFT Descriptor", CIVR, ACM, US, 5 July 2010 (2010-07-05), pages 228 - 235, XP007918135, ISBN: 978-1-4503-0117-6 *
MANJUNATH B S ET AL: "Color and Texture Descriptors", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 11, no. 6, 1 June 2001 (2001-06-01), XP011014212, ISSN: 1051-8215, DOI: 10.1109/76.927424 *
MEHMET FIRAT VURAL ET AL: "Registration of multispectral satellite images with Orientation-Restricted SIFT", GEOSCIENCE AND REMOTE SENSING SYMPOSIUM,2009 IEEE INTERNATIONAL,IGARSS 2009, IEEE, PISCATAWAY, NJ, USA, 12 July 2009 (2009-07-12), pages III - 243, XP031631200, ISBN: 978-1-4244-3394-0 *
VIJAY CHANDRASEKAR ET AL.: "Survey of SIFT Compression schemes", 31 December 2010 (2010-12-31), XP002719362, Retrieved from the Internet <URL:http://www.stanford.edu/~mamakar/pub_files/VijayICPR-WMMP2010.pdf> [retrieved on 20140128] *

Also Published As

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

Similar Documents

Publication Publication Date Title
Stock et al. And the bit goes down: Revisiting the quantization of neural networks
RU2747445C1 (ru) Устройство обработки данных, способ обработки данных и носитель данных
JP6745939B2 (ja) 勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置
FI92272C (fi) Kuvansiirtojärjestelmän tiivistyskoodausmenetelmä
JP6292454B2 (ja) 勾配ヒストグラムに基づいて画像記述子を変換する方法および関連する画像処理装置
CN102611881B (zh) 参考运动矢量获取方法、模块及编、解码装置
CN115842913A (zh) 通过基于图像内容搜索和分级在视频压缩中对至参考块的链接进行编码
WO2016075274A1 (en) Methods, systems and apparatus for image recognition based on recursively determined exemplar-support vector machines (e-svm) features
US20220188596A1 (en) Data processing device, data processing system, and data processing method
ITTO20120985A1 (it) Procedimenti per la codifica e la decodifica di flussi di frame video digitali, relativi sistemi e prodotti informatici
CN103843346B (zh) 用于对比特流形式的图片进行解码的方法
WO2021061625A1 (en) Quantized inputs for machine learning models
CN114610940A (zh) 基于局部随机敏感自编码器的哈希图像检索方法
WO2020174658A1 (ja) データ処理装置、データ処理システムおよびデータ処理方法
EP2859505A1 (en) Image descriptor for media content
WO2024013109A1 (en) Encoder, decoder and methods for coding a data structure
JP2022134138A (ja) データ処理装置、データ処理システムおよびデータ処理方法
CN116018758A (zh) 用于对整数值序列进行编码和解码的装置,用于对整数值序列进行编码和解码的方法以及用于实现这些方法的计算机程序