Indice

Chi scansiona un documento con lo smartphone si aspetta che il riquadro si adatti immediatamente e in modo pulito. Proprio questo rilevamento dei bordi è, fino ad oggi, un punto debole nel browser — e LDED (Lightweight Document Edge Detection) lo colma.

Contesto

L’elaborazione delle immagini classica riconosce i bordi dei documenti tramite contrasti e linee. Questo funziona in laboratorio, ma non nella realtà: luce variabile, sfondi irregolari e distorsioni prospettiche portano rapidamente tali metodi ai loro limiti.

iOS e Android offrono da tempo modelli ottimizzati a livello di sistema operativo — ma questi non sono generalmente accessibili da un’applicazione web. E i modelli di deep learning disponibili sono troppo grandi o troppo intensivi in termini di calcolo per funzionare in tempo reale in un browser mobile. La via d’uscita comune: l’immagine viene inviata a un server. Così, proprio il documento che si intende proteggere lascia il dispositivo — documento d’identità, fattura, contratto.

Soluzione

LDED è una rete neurale abbastanza piccola da funzionare completamente lato client. Non fornisce solo una maschera, ma direttamente i quattro punti angolari più un valore di confidenza:

Architettura MobileNetV3-Small come backbone, FPN-Lite come neck, Heatmap-Head con Soft-Argmax per le coordinate — circa 2,5 milioni di parametri
Input e output 512 × 512 px in input, quattro punti angolari (x, y) più confidenza in output
Deployment Addestrato in PyTorch 2.x, esportato in ONNX, eseguito nel browser tramite ONNX Runtime Web (WebGPU o WASM)
Dimensione Circa 10 MB in FP32, meno di 5 MB quantizzato INT8
Privacy Interamente l’inferenza sul dispositivo — nessun upload dell’immagine, nessun backend, nessuna latenza dovuta a round-trip con il server

L’addestramento è stato condotto in un curriculum a tre fasi — backbone congelato, fine-tuning, quindi Quantization-Aware Training — su circa 8’100 immagini grezze da DocCorner, MIDV-500/2020 e dal dataset Mendeley-Corner, ampliato a circa 24’300 esempi tramite augmentazione.

Risultato

Sul set di validazione, LDED supera costantemente i valori target impostati:

Metrica Valore Significato
PCK@5 93,0 % Percentuale di angoli che si discostano al massimo del 5% della diagonale dell’immagine
PCK@10 98,2 % Stesso criterio con tolleranza del 10%
IoU 97,4 % Sovrapposizione dell’area del documento rilevata con quella effettiva
NME 0,39 % Distanza media normalizzata dei punti angolari

Per quanto riguarda la velocità, il quadro è più sfumato:

Ambiente di esecuzione Inferenza per immagine
WebGPU, browser desktop ~ 60 ms
WebGPU, iPhone ~ 237 ms
Fallback WASM ~ 500 ms

Il progetto è esplicitamente contrassegnato come «in sviluppo», il percorso WASM rimane il prossimo punto di ottimizzazione.

Scenari di utilizzo tipici:

  • scanner di documenti basati su browser,
  • acquisizione di ricevute e fatture su dispositivi mobili,
  • rilevamento di documenti d’identità e passaporti,
  • integrazione in applicazioni web esistenti senza backend aggiuntivo.

Perché lo condividiamo

LDED è nato come lavoro di progetto CAS nel nostro team. Abbiamo deciso di rendere pubblico il codice, la descrizione dell’architettura, la guida all’addestramento e una demo funzionante nel browser — come contributo alla ricerca e all’insegnamento, non come prodotto finito.

Entrambi possono essere provati direttamente: la Demo nel browser rileva gli angoli dei documenti in tempo reale tramite fotocamera o immagine caricata — l’elaborazione avviene sul vostro dispositivo. Modello, codice di addestramento e documentazione sono disponibili nel Repository su GitHub.

Il progetto si allinea a un approccio che attraversa il nostro lavoro: i dati sensibili devono essere elaborati dove vengono generati. Con ExeoAI perseguiamo lo stesso principio a livello aziendale — l’analisi locale e sovrana di documenti sensibili invece dell’elaborazione in infrastrutture di terze parti. LDED dimostra che l’approccio funziona anche all’altro capo della catena: già durante l’acquisizione, nel browser, sul dispositivo dell’utente.

Al progetto

Altri contributi