Riquadri di elaborazione e delimitazione delle immagini per OCR

Nodo di origine: 1638268

La tecnologia è in continua evoluzione, e anche noi. Con l'emergere dell'intelligenza artificiale e dell'apprendimento automatico, l'attenzione si è spostata sull'automazione. Detto questo, vengono introdotte varie discipline informatiche per studiare ed esplorare le applicazioni di queste tendenze emergenti.

Un esempio è elaborazione delle immagini. In un linguaggio semplice, si riferisce all'esplorazione di immagini per trarre informazioni significative. Sebbene siano disponibili diverse tecniche per raggiungere questo obiettivo, la più comunemente utilizzata è: scatole di delimitazione.

Questo blog approfondisce vari aspetti dei riquadri di delimitazione. Include ciò che sono, come funzionano nell'elaborazione delle immagini, i parametri che le definiscono, le convenzioni che le specificano, i casi d'uso comuni, le precauzioni e le migliori pratiche e altro ancora.

Tuffiamoci dentro

L'elaborazione delle immagini si riferisce all'esecuzione di determinate operazioni su un'immagine per migliorarla o per estrarre informazioni preziose dalle caratteristiche o dagli attributi ad essa associati. Oggi, l'elaborazione delle immagini è un'area di ricerca primaria negli studi di ingegneria e tecnologia informatica.

L'elaborazione dell'immagine può essere eseguita utilizzando due metodi: elaborazione dell'immagine analogica e elaborazione dell'immagine digitale.

L'elaborazione di immagini analogiche comporta l'utilizzo di copie cartacee di stampe e fotografie per analizzare e manipolare le immagini. Gli analisti di immagini utilizzano vari metodi per interpretare queste copie di immagini ed estrarre risultati significativi.

L'elaborazione di immagini digitali utilizza immagini digitali e le interpreta utilizzando i computer. È una sottocategoria dell'elaborazione del segnale digitale e utilizza algoritmi per elaborare le immagini digitali. Offre vantaggi rispetto all'elaborazione di immagini analogiche, come algoritmi per prevenire il rumore e la distorsione durante l'elaborazione.

L'elaborazione di immagini digitali ha diverse applicazioni nei settori della medicina, della produzione, dell'e-commerce e altro ancora.


Riquadri di delimitazione nell'elaborazione delle immagini

All'inizio, il rettangolo di selezione è un rettangolo immaginario che include un oggetto e un insieme di punti dati. Nel contesto dell'elaborazione digitale delle immagini, il riquadro di delimitazione indica le coordinate del bordo sugli assi X e Y che racchiudono un'immagine. Sono usati per identificare un bersaglio e servono come riferimento per il rilevamento di oggetti e generano una casella di collisione per l'oggetto.

Cosa sono le scatole di delimitazione?

I riquadri di delimitazione sono gli elementi chiave e uno dei principali strumenti di elaborazione delle immagini per i progetti di annotazione video. In sostanza, un riquadro di delimitazione è un rettangolo immaginario che delinea l'oggetto in un'immagine come parte di un requisito del progetto di apprendimento automatico. L'immaginaria cornice rettangolare racchiude l'oggetto nell'immagine.

I riquadri di delimitazione specificano la posizione dell'oggetto, la sua classe e la confidenza che indica il grado di probabilità che l'oggetto sia effettivamente presente nel riquadro di delimitazione.

La visione artificiale offre applicazioni straordinarie, dalle auto a guida autonoma al riconoscimento facciale e altro ancora. E questo, a sua volta, è reso possibile dall'elaborazione delle immagini.

Quindi, l'elaborazione delle immagini è semplice come disegnare rettangoli o motivi attorno agli oggetti? No. Detto questo, cosa fanno i riquadri di delimitazione?

Capiamo.

Come funzionano i riquadri di delimitazione nell'elaborazione delle immagini?

Come accennato, il riquadro di delimitazione è un rettangolo immaginario che funge da punto di riferimento per il rilevamento dell'oggetto e sviluppa un riquadro di collisione per l'oggetto.

Quindi, in che modo aiuta gli annotatori di dati? Bene, i professionisti usano l'idea dei riquadri di delimitazione per disegnare rettangoli immaginari sulle immagini. Creano i contorni degli oggetti in questione all'interno di ogni immagine e ne definiscono le coordinate X e Y. Ciò semplifica il lavoro degli algoritmi di apprendimento automatico, aiutandoli a trovare percorsi di collisione e simili, risparmiando così risorse di calcolo.

Ad esempio, nell'immagine sottostante, ogni veicolo è un oggetto chiave la cui posizione e posizione sono essenziali per addestrare i modelli di machine learning. Gli annotatori di dati utilizzano la tecnica dei riquadri di delimitazione per disegnare i rettangoli attorno a ciascuno di questi oggetti, in questo caso i veicoli.

Fonte: keymaker

Quindi, utilizzano le coordinate per comprendere la posizione e la posizione di ciascun oggetto, utile per addestrare i modelli di machine learning. Un singolo riquadro di delimitazione non fornisce un buon tasso di previsione. Per il rilevamento avanzato degli oggetti, è necessario utilizzare più riquadri di delimitazione in combinazione con metodi di aumento dei dati.

I riquadri di delimitazione sono tecniche di annotazione delle immagini altamente efficienti e robuste che riducono notevolmente i costi.

Parametri che definiscono un riquadro di delimitazione

I parametri si basano sulle convenzioni utilizzate per specificare il riquadro di delimitazione. I parametri chiave utilizzati includono:

  • Classe: indica l'oggetto all'interno del rettangolo di selezione, ad esempio automobili, case, edifici, ecc.
  • (X1, Y1): si riferisce alle coordinate X e Y dell'angolo superiore sinistro del rettangolo.
  • (X2, Y2): si riferisce alle coordinate X e Y dell'angolo inferiore destro del rettangolo.
  • (Xc, Yc): si riferisce alle coordinate X e Y del centro del riquadro di delimitazione.
  • Larghezza: indica la larghezza del riquadro di delimitazione.
  • Altezza: indica l'altezza del riquadro di delimitazione.
  • Fiducia: rappresenta la possibilità che l'oggetto sia nella scatola. Supponiamo che la fiducia sia 0.9. Ciò significa che c'è una probabilità del 90% che l'oggetto sia effettivamente presente all'interno della scatola.

Convenzioni che specificano un riquadro di delimitazione

Quando si specifica un riquadro di delimitazione, di solito, devono essere incluse due convenzioni principali. Questi sono:

  • Le coordinate X e Y dei punti in alto a sinistra e in basso a destra del rettangolo.
  • Le coordinate X e Y del centro del rettangolo di selezione, insieme alla sua larghezza e altezza.

Illustriamo questo con l'esempio di un'auto.

un. Rispetto alla prima convenzione, il riquadro di delimitazione è specificato secondo le coordinate dei punti in alto a sinistra e in basso a destra.

Fonte: AnalisiVidhya

b. Per quanto riguarda la seconda convenzione, il riquadro di delimitazione è descritto in base alle coordinate del centro, alla larghezza e all'altezza.

Fonte: AnalisiVidhya

A seconda del caso d'uso, è possibile convertire tra i diversi tipi di convenzione.

  • Xc = (X1 + X2)/2
  • Yc = (Y1 + Y2)/2
  • Larghezza = (X2 – X1)
  • Altezza = (Y2 – Y1)

Spiegazione dei riquadri di delimitazione con il codice di programmazione

Vediamo un altro esempio sulla posizione o posizione di un oggetto con frammenti di codice.

Fonte: d2i

Carichiamo l'immagine da utilizzare per questa illustrazione. L'immagine ha un cane a sinistra e un gatto a destra. Ci sono due oggetti: un cane e un gatto nell'immagine.

Fonte: d2i

Fonte: d2i

Prendiamo xey come coordinate per gli angoli in alto a sinistra e in basso a destra del rettangolo di selezione. Diciamo (x1,y1) e (x2,y2). Allo stesso modo, consideriamo le coordinate dell'asse (x,y) – per il centro del riquadro di delimitazione, insieme alla sua larghezza e altezza.

Successivamente, definiamo due funzioni per convertire queste forme: box_corner_to_center converte la rappresentazione dei due angoli nella rappresentazione center-height-width e box_center_to_corner lo fa viceversa.

Le caselle degli argomenti di input devono essere un tensore di forma bidimensionale (n,4), dove n è il numero di caselle di delimitazione.

Fonte: d2i

Quindi, definiamo i riquadri di delimitazione del cane e del gatto sull'immagine in base ai dati delle coordinate.

Fonte: d2i

Per verificare la correttezza delle due funzioni di conversione dei riquadri di delimitazione, possiamo convertire due volte.

Fonte: d2i

Fonte: d2i

Successivamente, possiamo disegnare i riquadri di delimitazione degli oggetti sull'immagine per verificare se sono accurati. Prima di ciò, definiamo una funzione bbox_t_rect che rappresenta il riquadro di delimitazione nel formato pertinente del pacchetto matplotlib.

Fonte: d2i

Ora, dopo aver aggiunto i riquadri di delimitazione degli oggetti cane e gatto all'immagine, vediamo che il contorno principale di questi oggetti è all'interno dei due riquadri.

Fonte: d2i

Fonte: d2i


Vuoi automatizzare le attività manuali ripetitive? Controlla il nostro software di elaborazione dei documenti basato sul flusso di lavoro Nanonets. Estrai dati da fatture, carte d'identità o qualsiasi documento con il pilota automatico!


Casi d'uso comuni di riquadri di delimitazione

Localizzazione di oggetti di veicoli a guida autonoma

I box di delimitazione sono parte integrante dell'addestramento di veicoli a guida autonoma o autonomi per identificare oggetti sulla strada come edifici, segnali stradali, eventuali ostacoli e altro ancora. Aiutano ad annotare eventuali ostacoli e consentono ai robot di guidare il veicolo in sicurezza e prevenire incidenti, anche in caso di congestione.

Immagini di robotica

Le tecniche di annotazione delle immagini come i riquadri di delimitazione sono ampiamente utilizzate per contrassegnare i punti di vista di robot e droni. Questi veicoli autonomi aiutano a classificare gli oggetti sulla terra utilizzando le fotografie ottenute da questo metodo di annotazione.

Tagging delle immagini per eCommerce e Retail

Le annotazioni del riquadro di delimitazione aiutano a migliorare la visualizzazione del prodotto, che è un grande vantaggio nell'e-commerce e nella vendita al dettaglio. I modelli addestrati su oggetti simili possono annotare oggetti come abbigliamento di moda, accessori, mobili, cosmetici, ecc., in modo più preciso se etichettati correttamente. Di seguito sono elencate alcune delle sfide affrontate dalle annotazioni dei riquadri di delimitazione nella vendita al dettaglio:

  • Risultati di ricerca errati

Se la ricerca è l'unico modo in cui i clienti possono imbattersi nel sito di eCommerce, i dati del catalogo errati possono comportare risultati di ricerca imprecisi, non indirizzando così il traffico dei clienti verso il sito.

  • Catene di approvvigionamento non organizzate

Per coloro che desiderano espandere la propria attività di vendita al dettaglio in modo che milioni di prodotti possano essere spediti ogni anno, diventa indispensabile avere i dati offline e online sincronizzati.

  • Digitalizzazione continua

È fondamentale digitalizzare e contrassegnare tutti i prodotti in modo sistematico e tempestivo per garantire che i clienti non perdano nuove opportunità. Inoltre, i tag devono essere nel contesto, a cui aderire diventa difficile man mano che l'attività di vendita al dettaglio si espande e vengono aggiunti più prodotti.

Rileva la perdita dell'auto per i reclami assicurativi

La tecnica dei box di delimitazione aiuta a tenere traccia di auto, biciclette o altri veicoli danneggiati in un incidente. I modelli di apprendimento automatico utilizzano queste immagini dai riquadri di delimitazione per comprendere la posizione e l'intensità delle perdite. Questo aiuta a prevedere il costo delle perdite subite, in base al quale i clienti possono presentare la loro stima prima di avviare una causa.

Fonte: Superannotare

Rilevamento di oggetti interni

Le scatole di delimitazione aiutano i computer a rilevare oggetti interni come letti, divani, scrivanie, armadietti o elettrodomestici. Ciò consente ai computer di avere un'idea dello spazio e dei tipi di oggetti presenti, con le loro dimensioni e posizione. Questo, a sua volta, aiuta i modelli di apprendimento automatico a identificare questi elementi in una situazione di vita reale.

I riquadri di delimitazione sono ampiamente utilizzati nelle fotografie come strumento di apprendimento profondo per comprendere e interpretare vari tipi di oggetti.

Identificazione di malattie e crescita delle piante in agricoltura

La diagnosi precoce delle malattie delle piante aiuta gli agricoltori a prevenire gravi perdite. Con l'emergere dell'agricoltura intelligente, la sfida sta nella formazione dei dati per insegnare modelli di apprendimento automatico per rilevare le malattie delle piante. Le scatole di delimitazione sono un fattore importante che fornisce la visione necessaria alle macchine.

Industria manifatturiera

Il rilevamento e l'identificazione di oggetti nelle industrie è un aspetto essenziale della produzione. Con i robot e i computer abilitati all'intelligenza artificiale, il ruolo dell'intervento manuale è ridotto. Detto questo, i riquadri di delimitazione svolgono un ruolo cruciale aiutando ad addestrare i modelli di apprendimento automatico per individuare e rilevare i componenti industriali. Inoltre, processi come il controllo qualità, lo smistamento e le operazioni sulla catena di montaggio, che fanno tutti parte della gestione della qualità, richiedono il rilevamento degli oggetti.

Medical Imaging

I riquadri di delimitazione trovano applicazione anche nel settore sanitario, ad esempio nell'imaging medico. La tecnica dell'imaging medico si occupa di rilevare oggetti anatomici come il cuore e richiede un'analisi rapida e accurata. I riquadri di delimitazione possono essere utilizzati per addestrare i modelli di apprendimento automatico, che saranno quindi in grado di rilevare il cuore o altri organi in modo rapido e preciso.

CCTV automatizzate

Le telecamere a circuito chiuso automatizzate sono obbligatorie nella maggior parte degli stabilimenti residenziali, commerciali e di altro tipo. Spesso è necessaria una memoria elevata per mantenere a lungo i filmati CCTV acquisiti. Con le tecniche di rilevamento degli oggetti come i riquadri di delimitazione, è possibile garantire che il filmato venga registrato solo quando vengono identificati determinati oggetti. I riquadri di delimitazione possono addestrare i modelli di apprendimento automatico, che rileveranno solo quegli oggetti e, in quell'istante, il filmato può essere catturato. Ciò contribuirebbe anche a ridurre al minimo la quantità di spazio di archiviazione richiesta per le telecamere a circuito chiuso e ridurre i costi.

Riconoscimento e rilevamento facciale

Il riconoscimento facciale offre molteplici applicazioni, ad esempio nella sorveglianza biometrica. Inoltre, varie agenzie come banche, aeroporti, negozi al dettaglio, stadi e altre istituzioni utilizzano il riconoscimento facciale per prevenire crimini e violenze. Detto questo, il rilevamento facciale è un elemento importante della visione artificiale che coinvolge l'elaborazione delle immagini. E anche in questo caso, i riquadri di delimitazione possono essere utilizzati come strumento efficace per il riconoscimento dei caratteri.


Vuoi utilizzare l'automazione dei processi robotici? Dai un'occhiata al software di elaborazione dei documenti basato sul flusso di lavoro Nanonets. Nessun codice. Nessuna piattaforma complicata.


Riquadri di delimitazione per il riconoscimento dei caratteri

Il rilevamento degli oggetti comprende: la classificazione delle immagini e la localizzazione degli oggetti. Ciò significa che un computer per rilevare un oggetto deve sapere qual è l'oggetto in questione e dove si trova. La classificazione dell'immagine assegna un'etichetta di classe a un'immagine. La localizzazione dell'oggetto è correlata al disegno del rettangolo di selezione attorno all'oggetto in questione in un'immagine.

Il processo prevede un annotatore che disegna i riquadri di delimitazione attorno agli oggetti e li etichetta. Questo aiuta ad addestrare l'algoritmo e gli permette di capire che aspetto ha l'oggetto. Come primo passaggio per il rilevamento degli oggetti, il set di dati dell'immagine deve disporre di etichette.

Per etichettare un'immagine, procedi nel seguente modo:

  • Scegli il set di dati che desideri addestrare e testare. Creane una cartella.
  • Prendiamo l'esempio di un progetto di rilevamento dei volti come: BTS, Avenger, ecc.
  • Crea i dati del nome della cartella.
  • In Google Drive, crea una cartella con il nome FaceDetection.
  • Nella cartella FaceDetection, crea una cartella dell'immagine.
  • Nella cartella dell'immagine, crea le cartelle dell'immagine di prova, dell'XML di prova, dell'immagine di addestramento e dell'XML di addestramento.

Fonte:industriale

Ora, nella cartella delle immagini del treno, scarica e carica 10-15 immagini di BTS e Avengers in formato JPEG. Allo stesso modo, nella cartella dell'immagine di prova, fai lo stesso per 5-6 immagini. Si consiglia di avere più immagini nel set di dati per risultati accurati.

Fonte: industriale

Fonte: industriale

Quindi, genera un file XML per ciascuna immagine dell'immagine di prova e le cartelle delle immagini del treno

Scarica e fai clic su Windows v_1.8.0. Fare clic sul file .exe da GitHub e premere Esegui.

Quindi, fai clic sulla directory aperta per selezionare la cartella dell'immagine. Vedrai l'immagine che deve essere etichettata. Per etichettare, premere W sulla tastiera e fare clic con il pulsante destro del mouse e trascinare il cursore per disegnare il riquadro attorno all'oggetto. Dagli un nome e fai clic su OK.

Fonte: industriale

Quindi, salva l'immagine per generare il file XML dell'immagine nella cartella delle immagini, come mostrato di seguito.

Fonte: industriale

Apri il file XML per vedere le coordinate.

Fonte: industriale

Ripetere la procedura per tutte le immagini per generare i file XML e cercare le coordinate.


Se lavori con fatture e ricevute o ti preoccupi della verifica dell'identità, dai un'occhiata a Nanonets OCR in linea or Estrattore di testo PDF per estrarre testo da documenti PDF gratuito. Fare clic di seguito per saperne di più Soluzione di automazione aziendale Nanonets.


Vari formati di annotazione utilizzati nei riquadri di delimitazione

In sostanza, un rettangolo di selezione ha 4 punti negli assi (x,y) che rappresentano gli angoli:

In alto a sinistra: (x_min, y_min)

In alto a destra: (x_max, y_min)

In basso a sinistra:(x_min, y_max)

In basso a destra: (x_max, y_max)

Le coordinate del riquadro di delimitazione sono calcolate rispetto all'angolo in alto a sinistra dell'immagine.

Esistono diversi formati di annotazione del riquadro di delimitazione, ognuno dei quali utilizza la propria rappresentazione delle coordinate del riquadro di delimitazione.

un. albume

Usano quattro valori per rappresentare il riquadro di delimitazione – [x_min, y_min, x_max, y_max] – che vengono normalizzati dividendo le coordinate in pixel per l'asse x per la larghezza e l'asse y per l'altezza dell'immagine.

Supponiamo che le coordinate del riquadro di delimitazione siano: x1 = 678, y1 = 24; x2 = 543, y2= 213.

Lascia che larghezza = 870, Altezza = 789

Quindi, [678/870, 24/789, 543/870, 213/789] = [ 0.779310, 0.030418 ,0.624137, 0.269961]

Albumentations utilizza e interpreta questi valori internamente con riquadri di delimitazione e li migliora.

B. COCO

Questo è un formato utilizzato dal set di dati COCO Common Objects in Context. Nel formato COCO, un rettangolo di selezione è rappresentato da quattro valori: (x_min, y_min, larghezza, altezza). Essenzialmente, si riferiscono all'angolo in alto a sinistra e alla larghezza e all'altezza del riquadro di delimitazione.

C. YOLO

In questo formato, viene presentato un riquadro di delimitazione con quattro valori :(x_center, y_center, larghezza, altezza). Qui, x_center e y_center denotano le coordinate xey normalizzate del centro del riquadro di delimitazione. Per normalizzare, la coordinata x del centro in base alla larghezza dell'immagine e la coordinata y del centro in base all'altezza dell'immagine. Vengono normalizzati anche i valori di larghezza e altezza.

D. PASCAL

Nel formato Pascal, il rettangolo di selezione è rappresentato dalle coordinate in alto a sinistra e in basso a destra. Quindi, i valori codificati in pixel sono: [x_min, y_min, x_max, y_max]. Qui, [x_min, y_min] è quello dell'angolo in alto a sinistra, mentre [x_max, y_max] indica l'angolo in basso a destra del riquadro di delimitazione.


Vuoi automatizzare le attività manuali ripetitive? Risparmia tempo, fatica e denaro migliorando l'efficienza!


Precauzioni e buone pratiche nell'uso dei riquadri di delimitazione

Si consigliano alcune precauzioni e procedure consigliate per un uso ottimale dei riquadri di delimitazione nell'elaborazione delle immagini. Loro includono:

Variazioni delle dimensioni della scatola

L'utilizzo di tutti i riquadri di delimitazione della stessa dimensione non produrrà risultati accurati. Allenare i tuoi modelli su scatole di delimitazione delle stesse dimensioni peggiorerebbe le prestazioni del modello. Ad esempio, se lo stesso oggetto appare di dimensioni inferiori, il modello potrebbe non rilevarlo. Nel caso di oggetti che appaiono più grandi del previsto, potrebbe occupare un numero maggiore di pixel e non fornire la posizione e la posizione precisa dell'oggetto. Il punto cruciale è tenere a mente la variazione delle dimensioni e del volume dell'oggetto per ottenere i risultati desiderati.

Tenuta perfetta per i pixel

La tenuta è un fattore cruciale. Ciò significa che i bordi del rettangolo di selezione devono essere il più vicino possibile all'oggetto in questione per ottenere risultati accurati. Lacune coerenti possono influire sull'accuratezza nel determinare l'area di sovrapposizione tra la previsione del modello e l'oggetto reale, creando così problemi.

Elementi diagonali inseriti in scatole di delimitazione

Il problema riscontrato con gli oggetti posizionati in diagonale all'interno di un riquadro di delimitazione è che occupano molto meno spazio all'interno del riquadro rispetto allo sfondo. Tuttavia, se esposto più a lungo, il modello può presumere che l'obiettivo sia lo sfondo poiché consuma più spazio. Pertanto, come best practice, si consiglia di utilizzare i poligoni e la segmentazione delle istanze per gli oggetti diagonali. Tuttavia, è possibile insegnare ai modelli con un riquadro di delimitazione con una buona quantità di dati di addestramento.

Riduci la sovrapposizione delle caselle

È sempre sicuro evitare sovrapposizioni di annotazioni in tutti gli scenari. A volte, questo potrebbe causare così tanto disordine che solo alcune caselle sovrapposte potrebbero essere finalmente visibili. Gli oggetti che hanno una sovrapposizione di etichettatura con altre entità producono risultati relativamente peggiori. Il modello non riuscirà a distinguere tra l'oggetto di destinazione e altri elementi a causa dell'eccessiva sovrapposizione. In questi casi, i poligoni possono essere utilizzati per una maggiore precisione.

Conclusione

L'elaborazione delle immagini è un regno emergente della tecnologia che offre un'ampia portata. Detto questo, i riquadri di delimitazione costituiscono la tecnica di elaborazione delle immagini più comunemente applicata.

Per riassumere, i riquadri di delimitazione sono un metodo di annotazione delle immagini per addestrare modelli di apprendimento automatico basati sull'intelligenza artificiale. Viene utilizzato per il rilevamento di oggetti e il riconoscimento del bersaglio in un'ampia gamma di applicazioni, inclusi robot, droni, veicoli autonomi, telecamere di sorveglianza e altri dispositivi di visione artificiale.

Risorse suggerite:

https://www.kdnuggets.com/2022/07/bounding-box-deep-learning-future-video-annotation.html#:~:text=A%20bounding%20box%20is%20a,location%2C%20size%2C%20and%20orientation.

https://www.v7labs.com/blog/bounding-box-annotation

https://towardsdatascience.com/image-data-labelling-and-annotation-everything-you-need-to-know-86ede6c684b1


nanonet OCR online e API OCR hanno molti interessanti casi d'uso tche potrebbe ottimizzare le prestazioni della tua azienda, risparmiare sui costi e aumentare la crescita. Scoprire come i casi d'uso di Nanonets possono essere applicati al tuo prodotto.


Timestamp:

Di più da AI e apprendimento automatico