DevGiov.
Active··2 min read

LibraryScanner

Applicazione mobile intelligente per la scansione automatica di librerie, isolamento delle costine ed estrazione testi con inferenza AI 100% on-device.

MobileAI / MLComputer Vision

Stack

React NativeExpoTypeScriptONNX Runtime React Nativellama.cpp React NativePythonBlender (bpy)
#React Native#Computer Vision#LLM#OCR#ONNX runtime#Blender#Finetuning#Dataset generation

Panoramica

LibraryScanner è un'applicazione mobile sviluppata per semplificare e velocizzare la scansione di intere librerie, consentendo di generare automaticamente un inventario completo di tutti i libri posseduti. L'applicazione facilita la ricerca di volumi specifici (ad esempio tra librerie distribuite in diverse stanze o scansionando al volo la libreria di un amico per verificare se si possiede già un determinato titolo).

Tutte le pipeline di inferenza AI e la persistenza dei dati avvengono interamente on-device, garantendo un'esperienza offline veloce, affidabile e con totale rispetto della privacy dell'utente.

Interfaccia & Segmentazione On-Device

LibraryScanner - Instance Segmentation dei dorsi dei libri in tempo reale

Instance Segmentation on-device

Architettura & Modelli On-Device

  • Mobile Framework: Interfaccia moderna e reattiva a 60fps sviluppata in React Native con Expo e gestione camera ad alte prestazioni.
  • Riconoscimento Scaffalature e Isolamento Costine: Modello di Computer Vision dedicato, sottoposto a fine-tuning specifico per identificare la struttura delle mensole e segmentare singolarmente le costine dei libri (instance segmentation). Il modello viene eseguito ad altissima velocità tramite ONNX Runtime React Native.
  • Generazione Dataset Sintetici in Blender: Per addestrare e perfezionare il modello di segmentazione su geometrie complesse, angolazioni e riflessi realistici, è stata sviluppata una pipeline automatizzata in Python con Blender (bpy) per generare migliaia di scene 3D procedurali con relative maschere e bounding box.
  • Estrazione Testo con LLM Multimodale (OCR): Per la lettura accurata dei titoli, autori ed editori posizionati verticalmente o con font grafici articolati sulle costine, viene impiegato un LLM multimodale compatto quantizzato, ottimizzato per l'OCR ed eseguito localmente tramite llama-cpp-react-native.

Stato del Progetto

Il backbone architetturale e i motori di inferenza on-device sono pienamente operativi. L'app è attualmente in fase di testing su Apple TestFlight in preparazione per il primo rilascio pubblico.