Computer vision industriale

Dieci anni di visione artificiale applicata, prima in ricerca e poi in azienda: ispezione di componenti, tracking di persone e veicoli su più camere, anonimizzazione video per la privacy, analisi del movimento umano. Conosco le camere industriali (FLIR, Basler, Allied Vision), i trigger hardware e la sincronizzazione, e porto i modelli su GPU o su hardware embedded.

Problemi tipici

  • Difetti rari e imprevedibili: pochi esempi etichettati, serve un approccio non supervisionato.
  • Contare e tracciare persone o mezzi su più camere con planimetrie e zone.
  • Video con volti e corpi da anonimizzare prima di archiviarli o analizzarli.
  • Un modello che gira in laboratorio ma non su una camera a 60 fps o su un dispositivo embedded.
  • Acquisizione multi-camera da sincronizzare al millisecondo.

Cosa consegno

  • Setup di acquisizione: scelta camera e ottica, trigger, sincronizzazione PTP, calibrazione.
  • Modelli di detection, segmentazione, tracking e pose, addestrati sui vostri dati, con tool di annotazione se servono.
  • Anomaly detection con autoencoder e loss percettive per l'ispezione visiva.
  • Pipeline real-time da RTSP o file, con anonimizzazione e re-encoding.
  • Ottimizzazione per edge: quantizzazione INT8, TFLite, ONNX, microcontrollori.
  • Integrazione con MES, broker IoT (FIWARE) e dashboard.

Come lavoro su questo

Comincio dai dati: acquisizione, qualità delle immagini, annotazione. Un baseline semplice prima di un modello grande. Misuro sui vostri video, non sui benchmark, e consegno una pipeline che gira dove serve, non solo in notebook.

Lavori in questo ambito

Manifattura · progetto europeo H2020 · 2022-2023

Sicurezza in reparto con visione artificiale

Problema
Rilevare cadute, ingressi in aree vietate e distanze tra operatori dalle telecamere esistenti, senza esporre l'identità delle persone.
Cosa ho fatto
Sull'edge: segmentazione, stima della posa, tracking, classificatore di caduta, anonimizzazione in-frame e omografia verso la planimetria. In cloud: microservizio FastAPI event-driven che trasforma gli eventi FIWARE in tre regole di sicurezza, dashboard Streamlit per il responsabile, deploy GitOps sul cluster del progetto con ArgoCD e Istio.
  • PyTorch
  • YOLACT
  • FIWARE / NGSI-LD
  • FastAPI
  • Streamlit
  • ArgoCD / Istio

Fitness equipment · R&D · 2022-2024

Anonimizzazione video automatica per la privacy

Problema
Ore di riprese di persone che usano attrezzi da palestra, da anonimizzare in modo affidabile prima di archiviarle o usarle per addestrare modelli.
Cosa ho fatto
Servizio in produzione per sedici mesi che sorveglia una cartella e processa ogni nuovo video con un ensemble di quattro modelli (due detector di volti e teste, di cui uno addestrato in proprio, due stimatori di posa), fonde i risultati e sfoca le regioni, ri-codifica con ffmpeg conservando l'audio, con dashboard di monitoraggio. Seconda pipeline real-time da RTSP con rotazione oraria dei file e deploy Docker multi-GPU.
  • PyTorch
  • YOLOv7
  • Keypoint R-CNN
  • OpenCV
  • ffmpeg
  • RTSP
  • Docker

Retail e spazi di lavoro · 2018-2024

Tracking multi-camera di persone con mappatura su planimetria

Problema
Seguire le persone tra più telecamere in negozi e ambienti di lavoro, unire le tracce in un'unica traiettoria sulla pianta e stimare dati aggregati, senza infrastruttura dedicata.
Cosa ho fatto
Pipeline RTSP per camera con detector e DeepSORT, omografie calibrate verso il piano 2D, fusione delle tracce tra camere per coordinate e aspetto, re-identificazione con embedding appresi. Architettura multiprocesso (acquisizione, detection, tracking). Rig di acquisizione a quattro camere Basler sincronizzate PTP sotto i 15 ms con posizionamento UWB; integrazione di camere FLIR e Allied Vision con trigger hardware.
  • DeepSORT
  • YOLOv3 / CenterNet
  • OpenCV
  • RTSP
  • Basler / FLIR / Allied
  • PTP
  • UWB

Fitness · digital coaching · 2023

Riconoscimento esercizi e conteggio ripetizioni da pose 3D

Problema
Da una sequenza di pose 3D catturata durante un esercizio, capire quale esercizio è e contare le ripetizioni, esponendo gli angoli articolari per l'analisi della forma.
Cosa ho fatto
Transformer su finestre di 32 frame con teste multi-task: classificazione dell'esercizio, heatmap per i picchi delle ripetizioni con conteggio via rilevamento dei picchi, regressione di dodici angoli articolari (gomito, spalla, anca, ginocchio) da uno scheletro a 23 giunti. Cinque architetture confrontate, libreria geometrica separata, tool di annotazione per le ripetizioni.
  • PyTorch
  • Transformer
  • Fit3D
  • SciPy
  • Biomeccanica

Infrastruttura ferroviaria · ricerca · 2019-2020

Ispezione ferroviaria con anomaly detection non supervisionata

Problema
Trovare difetti su ruote e componenti da immagini termiche e RGB quando gli esempi di difetto sono rari e imprevedibili.
Cosa ho fatto
Autoencoder convoluzionale addestrato solo su immagini normali, loss composita SSIM, percettiva e gradiente, varianti a immagine intera e a ritagli, sweep di soglia e clustering degli errori di ricostruzione, ottimizzazione per hardware embedded. Tool di annotazione a dodici classi e pipeline dataset. Pubblicato a ICPR 2020 e AI4RAILS 2020.
  • PyTorch
  • Autoencoder
  • SSIM
  • Termico
  • PyQt5
  • ICPR 2020

Componentistica industriale · edge · 2021-2022

Anomaly detection su componenti e modelli su edge

Problema
Ispezionare componenti prodotti in serie e far girare i modelli su hardware piccolo, da una CPU industriale a un microcontrollore.
Cosa ho fatto
Autoencoder con backbone selezionabile e loss SSIM per l'ispezione visiva, con quantizzazione INT8 post-training. Detector leggero esportato in TFLite con verifica di parità tra modello float e quantizzato. Benchmark di 33 modelli quantizzati su un microcontrollore RISC-V ultra-low-power, con cicli e MAC per ciclo misurati.
  • PyTorch
  • TFLite
  • Quantizzazione
  • MobileNet
  • GAP8
  • Edge

Grande distribuzione e mobilità urbana · 2021-2023

Conteggi e flussi da video: casse retail e traffico

Problema
Contare oggetti sul nastro di una cassa in tempo reale e stimare flussi di veicoli e pedoni da riprese GoPro, senza infrastruttura cloud.
Cosa ho fatto
Per le casse: pipeline RTSP con visione classica (sottrazione dello sfondo, morfologia), eventi con voting temporale, calibrazione a omografia e harness di valutazione precision, recall e F1 su molti video, con target 60 fps. Per il traffico: applicazione desktop con YOLOX e SORT, conteggio per attraversamento di linea, riclassificazione dei veicoli con k-means, installer per l'utente finale.
  • OpenCV
  • YOLOX
  • SORT
  • RTSP
  • DearPyGui
  • k-means

Radici nella ricerca

Manifattura e beni culturali · ricerca · 2016-2018

Matching 2D-3D per la realtà aumentata

Problema
Riconoscere un componente industriale o un dettaglio architettonico da una foto e sovrapporre informazioni, senza marker.
Cosa ho fatto
Per un catalogo industriale in AR: server che segmenta il componente con GrabCut e dense-CRF e lo registra al template con omografia da feature, ArUco o punti manuali. Per la tesi magistrale: registrazione in tempo reale di una foto contro un modello 3D da structure-from-motion, con confronto di backend di ricerca dei vicini fino a un kernel CUDA, e app Android nativa con streaming video. Pubblicato ad AVR 2016.
  • OpenCV
  • SIFT
  • Structure-from-Motion
  • GrabCut
  • CUDA
  • Android

Domande frequenti

In quali settori hai lavorato?

Manifattura e componentistica, agricoltura di precisione, retail, fitness e digital coaching, diagnostica e medtech, ferrovie, ristorazione collettiva, ricerca universitaria. Il metodo è lo stesso: dati, metrica, prototipo, produzione.

Lavori da remoto o in sede?

Entrambi. Ho sede a Modena e lavoro da remoto con clienti in tutta Italia; per acquisizione dati, installazioni di camere e sessioni con il team vengo in sede, soprattutto in Emilia-Romagna e Nord Italia.

Quanto tempo serve per un prototipo?

Un PoC misurabile richiede in genere da due a sei settimane, a seconda dei dati disponibili. La produzione dipende dall'integrazione: da uno a tre mesi per un servizio con API, test e deploy.