{"id":6212,"date":"2023-09-01T12:01:27","date_gmt":"2023-09-01T10:01:27","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=6212"},"modified":"2023-09-01T17:33:06","modified_gmt":"2023-09-01T15:33:06","slug":"riconoscimento-delle-targhe-con-il-machine-learning-su-aws-unanalisi-approfondita-di-una-soluzione-reale","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/riconoscimento-delle-targhe-con-il-machine-learning-su-aws-unanalisi-approfondita-di-una-soluzione-reale\/","title":{"rendered":"Riconoscimento delle Targhe con il Machine Learning su AWS: un\u2019analisi approfondita di una soluzione reale"},"content":{"rendered":"\n
Nel panorama tecnologico in rapida evoluzione di oggi, la convergenza tra intelligenza artificiale e cloud computing ha aperto nuove vie per risolvere sfide reali. Tra queste rientra sicuramente il dominio del Riconoscimento Ottico dei Caratteri (OCR). Superando il semplice riconoscimento del testo, l\u2019evoluzione dell\u2019OCR ha abilitato la capacit\u00e0 di estrarre e decifrare con precisione informazioni diventando un pilastro per l’automazione e l’efficienza operativa.<\/p>\n\n\n\n
Una delle applicazioni pi\u00f9 interessanti dell\u2019OCR degli ultimi anni \u00e8 stata in relazione all\u2019elaborazione della targhe automobilistiche<\/strong>. Per citare qualche esempio, si pensi alle imprese il cui core business ha a che fare con un grande numero di veicoli: in un parcheggio con alto flusso di veicoli in entrata e in uscita, l’integrazione di questa tecnologia abilita l\u2019elaborazione automatica dei pagamenti ed elimina la necessit\u00e0 di transazioni manuali.<\/p>\n\n\n\n Analogamente, per una stazione di servizio sarebbe possibile realizzare un sistema di pagamento automatico del rifornimento e, contemporaneamente, raccogliere statistiche sul traffico e sui potenziali clienti.<\/p>\n\n\n\n Altro caso interessante \u00e8 l\u2019applicazione nel settore pubblico in cui, per esempio, le agenzie di forze dell’ordine possono sfruttare il potere dell’OCR per per identificare rapidamente i veicoli di interesse. Altre applicazioni possono spaziare dalla gestione del traffico, alla raccolta di informazioni sull\u2019affluenza ad eventi, fino al monitoraggio del traffico veicolare presso zone designate. Inoltre, gli urbanisti possono utilizzare questa tecnologia per ottenere preziose informazioni sui modelli di traffico, rendendo la pianificazione urbana pi\u00f9 basata sui dati e reattiva. Anche le autorit\u00e0 responsabili della manutenzione delle strade potrebbero gestire in modo pi\u00f9 efficiente la riscossione dei pedaggi e monitorare l’uso delle autostrade, migliorando la generazione di ricavi e la gestione delle infrastrutture stradali.<\/p>\n\n\n\n Si tratta solo di alcuni esempi, ma le applicazioni sono davvero variegate e possono spaziare fino ad arrivare in ambiti in cui il veicolo non \u00e8 nemmeno il punto focale del servizio, ma diventa solo un modo per riconoscere un utente e migliorare la sua esperienza nei confronti di un brand o un servizio.<\/p>\n\n\n\n Questo articolo vuole essere un diario della nostre ricerche in cui abbiamo affrontato tutte le complessit\u00e0 dell’OCR applicato alle targhe, ovviamente trovando la miglior soluzione in ambiente AWS. Il nostro viaggio ci ha portato a considerare pro e contro di alcuni servizi fino a determinare la soluzione pi\u00f9 efficace per l’estrazione accurata del testo delle targhe automobilistiche all\u2019interno di un caso d\u2019uso reale. Il nostro obiettivo, dunque, \u00e8 fornire non solo la conoscenza dei servizi AWS per l\u2019OCR al fine di permettervi di selezionare il migliore per il vostro specifico caso, ma dare una comprensione completa dei potenziali ostacoli e di come affrontarli.<\/p>\n\n\n\n Siete pronti? Iniziamo!<\/p>\n\n\n\n All’interno dell’ampia gamma di servizi offerti da Amazon Web Services (AWS), \u00e8 disponibile una variet\u00e0 di servizi di Intelligenza Artificiale (AI) e Machine Learning (ML) utili a costruire il nostro sistema di decodifica delle targe. Tra questi, Amazon Textract, Amazon Rekognition e SageMaker giocano un ruolo chiave.<\/p>\n\n\n\n Per il nostro specifico progetto, per\u00f2, la direttiva era chiara: dare priorit\u00e0 all’utilizzo dei servizi gestiti all’interno dell’ecosistema AWS. Di conseguenza, la nostra attenzione si \u00e8 concentrata esclusivamente su Amazon Textract e Amazon Rekognition.<\/p>\n\n\n\n Introduciamo formalmente entrambi questi servizi prima di proseguire nel nostro viaggio.<\/p>\n\n\n\n Amazon Textract<\/strong><\/p>\n\n\n\n Amazon Textract, un componente eccezionale del repertorio di AWS, \u00e8 un sofisticato servizio di ML progettato per estrarre testo e dati da diversi documenti, immagini e moduli. La sua forza principale risiede nella sua capacit\u00e0 di elaborare in modo accurato ed efficiente grandi volumi di informazioni testuali, trasformando contenuti non strutturati in dati strutturati con notevole precisione. Questo servizio dimostra un’eccezionale adattabilit\u00e0, eccellendo in vari scenari come l’elaborazione delle fatture, moduli e tabulati di vario tipo.<\/p>\n\n\n\n Le caratteristiche pi\u00f9 rilevanti includono la sua capacit\u00e0 di distinguere tra diversi tipi di contenuti all’interno dei documenti, come tabelle, moduli e blocchi di testo. Questa granularit\u00e0 di analisi migliora la sua capacit\u00e0 di estrarre informazioni pertinenti in modo efficace. La sua integrazione con i servizi AWS consente il trasferimento dei dati in modo uniforme per ulteriori analisi e applicazioni. Inoltre, l’identificazione di coppie chiave-valore e del loro contesto \u00e8 preziosa, offrendo una visione completa dei dati strutturati.<\/p>\n\n\n\n Amazon Textract emerge subito come una soluzione convincente in grado di ottimizzare significativamente gli obiettivi del nostro progetto.<\/p>\n\n\n\n Amazon Rekognition<\/strong><\/p>\n\n\n\n In prima linea tra le offerte di AI e ML di AWS, Amazon Rekognition \u00e8 un formidabile servizio di analisi di immagini e video progettato per estrarre informazioni da contenuti visivi. La sua potenza risiede nella sua capacit\u00e0 non solo di identificare oggetti, volti e scenari all’interno di immagini e video, ma anche di rilevare e riconoscere il testo presente in questi elementi visivi. Questo lo rende un asset di grande valore nel dominio del Riconoscimento Ottico dei Caratteri (OCR).<\/p>\n\n\n\n Le caratteristiche pi\u00f9 significative di Amazon Rekognition includono le sue avanzate capacit\u00e0 di analisi dei volti, che consentono la rilevazione di diversi aspetti tracui le emozioni e persino del riconoscimento completo di un visto mediante confronto o cercando in un database precaricato per determinarne l\u2019identi\u00e0. Inoltre, la sua abilit\u00e0 nel rilevare il testo va oltre la semplice identificazione, permettendo di catturare dettagli di alta precisione all’interno delle immagini. L’integrazione della funzione di labeling personalizzabile aumenta ulteriormente la sua applicabilit\u00e0 in scenari come la moderazione dei contenuti e la conformit\u00e0 alla sicurezza.<\/p>\n\n\n\n La sua versatilit\u00e0 nel gestire casi d’uso diversificati e la sua integrazione seamless con i servizi AWS ne sostengono il potenziale per contribuire in modo significativo agli obiettivi del nostro progetto.<\/p>\n\n\n\n Con l’introduzione di questi servizi completata, possiamo ora procedere senza indugi con il nostro viaggio.<\/p>\n\n\n\n Indipendentemente dal servizio scelto, diventa essenziale adottare alcuni step di preprocessing. Nel nostro caso, abbiamo optato per sfruttare le capacit\u00e0 di Amazon Rekognition per agevolare diverse fasi preliminari, in particolare l’estrazione del bounding box che racchiude la targa. Tuttavia, il percorso che ci attendeva era tutt’altro che diretto. Le foto provenienti dal campo in situazioni reali sono spesso catturate da angolazioni diverse, in condizioni di illuminazione varie e contengono una vasta gamma di veicoli diversi, con formati di targa profondamente disomogenei. Ci\u00f2 ha comportato sfide tutt’altro che banali. Il tentativo di acquisire con precisione il bounding box della targa si \u00e8 rivelato un’impresa pi\u00f9 ardua del previsto.<\/p>\n\n\n\n La semplice presentazione dell’immagine originale ad alta risoluzione si \u00e8 rivelata insufficiente non permettendoci di identificare la targa in un numero di casi considerato accettabile. Per arrivare ad un risultato soddisfacente, oltre alll’utilizzo di Rekognition abbiamo dovuto impiegare alcune tecniche di preelaborazione delle immagini per migliorare l’accuratezza dell\u2019output.<\/p>\n\n\n\n Ci siamo concentrati, dunque, sulla manipolazione dei colori. Riconoscendo l’importanza della loro rappresentazione ottimale, abbiamo strategicamente convertito le immagini in scala di grigi<\/strong>. Questa scelta strategica ha semplificato le analisi successive e ridotto le possibili interferenze dalle variazioni cromatiche dovute a diverse condizioni di illuminazione.<\/p>\n\n\n\n Successivamente, la nostra attenzione si \u00e8 spostata sull’accentuazione del contrasto, una tecnica fondamentale nell’aumentare la chiarezza degli elementi visivi. Ci siamo quindi addentrati nel campo della posterizzazione<\/strong>, un metodo che ha suddiviso l’immagine in scala di grigi in regioni distinte e visivamente discernibili. In tal modo, abbiamo mirato ad accentuare il confine tra la targa e il suo contesto, agevolando il suo isolamento e riconoscimento.<\/p>\n\n\n\n Portando la ricerca della chiarezza ancora oltre, abbiamo introdotto un processo di dithering<\/strong>.<\/p>\n\n\n\n Questa tecnica prevedeva l’organizzazione dei pixel per simulare sfumature e sfaccettature aggiuntive, colmando efficacemente il divario tra scala di grigi e una rappresentazione pi\u00f9 ricca e dettagliata.<\/p>\n\n\n\n Attraverso questa fusione di tecniche siamo riusciti a ottenere un’immagine raffinata che mantenesse l’essenza dell’originale, minimizzando al contempo l’impatto del rumore visivo.<\/p>\n\n\n\n Abbiamo quindi proceduto a sottoporre un notevole volume di immagini cos\u00ec processate a Rekognition, scoprendo una fenomeno interessante: alcune immagini in cui la targa veniva riconosciuta con successo nel formato originale non producevano risultati accurati una volta elaborate, mentre alcune immagini in cui la targa non era stata rilevata inizialmente, venivano ora riconosciute correttamente.<\/p>\n\n\n\n Tale punto ha richiesto un approfondimento.<\/p>\n\n\n\n Alla luce di un’analisi pi\u00f9 accurata, \u00e8 emersa un’idea: la riduzione del rumore, sebbene apparentemente vantaggiosa, non migliorava in modo coerente la capacit\u00e0 di Rekognition di identificare le targhe<\/strong>. Ci\u00f2 accadeva perch\u00e9 il modello sottostante di Rekognition non \u00e8 esclusivamente tarato per localizzare le targhe. Invece, il modello utilizza criteri diversi per determinare se una targa \u00e8 presente in un frame – criteri che la nostra preelaborazione ha involontariamente modificato, evidenziando solo le lettere ad alto contrasto.<\/p>\n\n\n\n Alla luce di ci\u00f2, abbiamo ricalibrato la nostra strategia come segue:<\/p>\n\n\n\n Sottoposizione a Rekognition dell’Immagine originale: Il primo step \u00e8 presentare l’immagine non modificata ad alta risoluzione a Rekognition per ottenere il bounding box della targa.<\/p>\n\n\n\n Nei casi in cui l’analisi iniziale di Rekognition non riusciva a rilevare una targa, avremmo applicato le fasi di pre elaborazione dettagliate in precedenza. La versione migliorata dell’immagine veniva quindi nuovamente sottoposta a Rekognition per un nuovo tentativo di rilevamento. A questo punto la stragrande maggioranza delle immagini veniva correttamente riconosciuta.<\/p>\n\n\n\n Una volta che Rekognition identificava con successo il bounding box della targa, procedevamo alla fase successiva.<\/p>\n\n\n\n Procediamo a calcolare un bounding box leggermente pi\u00f9 ampio di quello inizialmente identificato da Rekognition. Questa espansione strategica assicura un’incapsulazione completa della targa, garantendo cos\u00ec ampio spazio contestuale per consentire ad altri servizi basati sull’IA di verificare la presenza di una targa. Questo allargamento intenzionale protegge da possibili perdite di informazioni<\/strong> mantenendo un quadro visivo equilibrato.<\/p>\n\n\n\n Procediamo quindi al ritaglio dell’immagine e all’applicazione delle procedure di pre elaborazione descritte in precedenza, a meno che l’immagine non abbia subito un trattamento precedente.<\/p>\n\n\n\n Il risultato del ritaglio dell’immagine presenta una composizione convincente: una targa al centro, caratterizzata da un rumore visivo minimo e da un contrasto accentuato, ed \u00e8 pronta per essere inviata al servizio OCR scelto.<\/p>\n\n\n\nOCR on AWS<\/h2>\n\n\n\n
Step 1: Preprocessing dell\u2019immagine<\/h2>\n\n\n\n
Step 2: Estrazione del testo dalle targhe<\/h2>\n\n\n\n