ErgoMoCap: Motion Capture e Computer Vision al Servizio della Valutazione del Rischio Ergonomico

Dall'elaborazione delle traiettorie cinematiche 3D ai report automatizzati: come ErgoMoCap trasforma i video in dati quantitativi per la valutazione del rischio in medicina del lavoro.


ERGOMOCAP

Powered by FreeMoCap 💀

Screenshot

Download Sito Documentazione

Introduzione a ErgoMoCap

Nella medicina del lavoro e nell’ergonomia applicata, la valutazione dei rischi posturali e della movimentazione dei carichi si effettua generalmente tramite osservazione visiva (soggetta a variabilità intra e inter operatore) o attraverso laboratori di analisi del movimento basati su sensori indossabili e marcatori fisici (spesso costosi e complessi da configurare).

ErgoMoCap prova a inserirsi a metà tra questi due approcci, automatizzando il calcolo ma dando all’utente la possibilità di correggere e integrare i dati e lasciando all’operatore umano l’ultima parola riguardo la validità dei calcoli.

È un’applicazione desktop local-first, libera e open-source (FOSS) sviluppata in Python con interfaccia grafica in PySide6 (Qt per Python). Il software acquisisce i dataset di tracciamento spaziale 3D generati dall’applicazione FreeMoCap a partire da normali registrazioni video e li utilizza per calcolare gli indici di rischio ergonomico secondo i protocolli validati. In questo modo si elimina la necessità di licenze o hardware proprietari, garantendo al contempo la completa adattabilità del codice a specifiche esigenze pratiche o di ricerca.

Il software è attualmente rilasciato in versione Pre-Alpha (v0.0.1) e sviluppato in modalità ‘Build in Public’. L’obiettivo è raggiungere una versione beta solida, idonea all’uso nella ricerca accademica.

Al momento ErgoMoCap è a tutti gli effetti un “cantiere aperto”, in cui tutti gli Umarell dell’ergonomia possono sia osservare che collaborare al codice o alla validazione metodologica, in base alle proprie competenze specifiche.

Missione e Filosofia Open Source

ErgoMoCap estende le funzionalità del progetto open-source FreeMoCap, di cui condivide la filosofia di base: integrando l’estrazione delle coordinate markerless con moduli specifici per la medicina del lavoro e la valutazione del rischio ergonomico.

📢 Filosofia di FreeMoCap: “La conoscenza è libera. Il lavoro è costoso. Tutto ciò che può essere duplicato all’infinito e senza perdite (codice, documentazione, video, ecc.) dovrebbe essere a disposizione di tutti, gratuitamente. Il lavoro di ingegneri, tecnici e medici competenti che usano questi strumenti va invece compensato.”

In coerenza con questo principio, ErgoMoCap è distribuito sotto licenza AGPL-3.0. L’intero codice sorgente è liberamente modificabile e condivisibile, a patto di mantenere la stessa licenza aperta. In conformità con la Sezione 13 della licenza, l’eventuale erogazione del servizio tramite rete (servizi cloud) obbliga la pubblicazione del codice sorgente modificato sotto la medesima licenza (copyleft).

Pipeline di Elaborazione Dati

Il software elabora le coordinate dei movimenti estratti dai video e le trasforma in una valutazione ergonomica strutturata attraverso quattro fasi:

  1. Registrazione Video e Analisi: Esecuzione della registrazione video e prima elaborazione del tracciamento tramite la suite FreeMoCap.
  2. Acquisizione Dati e Adattamento: Importazione dei dati pre-elaborati da FreeMoCap (suddivisi per frame). Il modulo interno calculators/adapters converte le matrici di coordinate in un formato vettoriale compatibile con i calcolatori. Nella versione attuale (v0.0.1) vengono utilizzati esclusivamente gli angoli articolari.
  3. Calcolo dell’Indice Ergonomico: Elaborazione dei dati fotogramma per fotogramma (frame by frame). I moduli interni eseguono il calcolo puro in Python, misurando gli score posturali per determinare il punteggio secondo i protocolli REBA (corpo intero) o RULA (arti superiori, collo e tronco). Gli unici 2 metodi implementati nella versione v0.0.1 Pre-Alpha.
  4. Visualizzazione e Reportistica: Visualizzazione dei risultati tramite l’interfaccia di PySide6. Generazione ed esportazione automatizzata dei report ergonomici in formato PDF o Word (.docx) grazie all’integrazione con Jinja2 e DocxTemplate (docxtpl).

Stato del Sistema e Sviluppo Futuro

Poiché il software si trova nello stato Pre-Alpha (v0.0.X), modifiche strutturali alle API e all’architettura di base avverranno frequentemente fino al raggiungimento delle prime versioni stabili:

  • v0.1 (Alpha Release): Stabilizzazione dell’architettura software e integrazione delle funzionalità di base per tutti i calcolatori principali (NIOSH, SNOOK, OCRA).
  • v0.2 (Beta Release): Validazione sul campo della precisione di calcolo e della stabilità complessiva. A partire da questa release, il sistema sarà considerato pronto per l’uso operativo nella ricerca accademica sperimentale MA NON nei progetti di ergonomia professionale.

Trattandosi di un codice sperimentale in fase iniziale, il software è altamente instabile e soggetto a bug. Nella release corrente, i controlli dei sottoprocessi dell’interfaccia grafica sono operativi, mentre i calcolatori per REBA e RULA sono ancora in fase di test e rifinitura.

L’obiettivo a lungo termine prevede una “fork” di FreeMoCap per integrare le funzioni essenziali di rilevazione MoCap direttamente all’interno di ErgoMoCap, eliminando la necessità di configurazioni esterne e facilitando l’esperienza dell’utente.

Controllo Qualità e Validazione Tecnica

Il processo di sviluppo include verifiche automatizzate applicate a ogni ciclo di integrazione del codice per garantire la stabilità del software, dei calcoli e la corrispondenza con la letteratura tecnica:

  • Mirror Testing: La struttura della cartella di test rispecchia esattamente quella dei sorgenti. Ogni file di logica matematica ha il suo modulo _test.py corrispondente nella directory /tests per l’esecuzione dei test unitari e di integrazione.
  • Registro di Audit (audit.md): Ogni modulo di calcolo ha una cartella di docuemntazione speculare (docs/calculators/<calculator name>/) che include un file di tracciabilità redatto a mano (audit.md) , che certifica la corrispondenza matematica tra le funzioni Python e le tabelle delle normative ergonomiche di riferimento.
  • Blocchi automatici (Pre-commit): Tramite pre-commit hooks locali, il sistema blocca automaticamente il commit se la copertura dei test o della documentazione scende sotto il 90% o altri step di controllo falliscono.

Guida Rapida all’Uso (Quick Start)

Download e Installazione

⚠️ NOTA: La versione per windows non è firmata per cui alla prima attivazione windows defender ( o l’antivirus in uso ) la indentificherà come un virus, clicca su “More Info / Più Informazioni” e “Run Anyway / Avvia Comunque”

Manuali e guide multimediali:

⚠️ IMPORTANTE: Freemocap richiede anche Blender per completare l’analisi degli angoli articolari

Scarica Blender dal sito ufficiale: Blender Official Website

Come eseguire la prima valutazione ergonomica

Seguire questa procedura guidata per verificare il rischio ergonomico di un task utilizzando il metodo REBA.

⚠️ IMPORTANTE: È necessario disporre dei dati di una sessione FreeMoCap completa precedentemente registrata. Se non si possiede una sessione registrata, cliccare sul pulsante 💀 RUN FREEMOCAP nell’interfaccia principale per avviare il software FreeMoCap e acquisire una nuova sessione. In caso di dubbi sull’utilizzo di FreeMoCap, consultare i manuali ufficiali: Documentazione FreeMoCap.

1. Caricamento dei dati

  1. Aprire l’applicazione.
  2. Cliccare su 📂 SELECT FREEMOCAP ROOT e selezionare la cartella in cui sono archiviate le registrazioni (la cartella principale freemocap_data generata dall’installazione di FreeMoCap o quella attiva in uso).
  3. Utilizzare il menu a tendina Select Recording Session per scegliere la cartella della sessione da analizzare.
  4. Selezionare il file video desiderato dall’elenco Select Video. Il filmato annotato (con il modello scheletrico 3D sovrapposto al lavoratore) appariranno nel pannello di destra.

Screenshot

2. Selezione del metodo valutativo

  1. Espandere il menu a tendina Select Ergonomic Method.
  2. Selezionare il protocollo REBA (oppure RULA se l’analisi è focalizzata esclusivamente sul distretto superiore del corpo).
  3. Cliccare su 🏃 RUN ANALYSIS e attendere che la barra di stato inferiore confermi il completamento dell’operazione.

⚠️ Nota sulle prestazioni: la riproduzione video potrebbe mostrare rallentamenti (stuttering) durante l’elaborazione del calcolo a causa del carico sulla CPU. Si raccomanda di attendere il completamento dell’analisi prima di avviare il playback.

3. Verifica visiva

  1. Cliccare su ▶ PLAY / PAUSE.
  2. Osservare lo scorrimento del video per verificare che lo scheletro 3D sia correttamente sovrapposto e ancorato alla figura del soggetto.
  3. Se lo scheletro mostra instabilità o salti di coordinate, potrebbe essere necessario ricalibrare FreeMoCap, migliorare le condizioni di illuminazione o modificare l’angolazione della telecamera nelle sessioni successive.

4. Consultazione dei risultati ed esportazione

  1. Cliccare su 📊 OPEN REPORT DASHBOARD per aprire la finestra dei risultati.
  2. Analizzare i grafici a torta del rischio per quantificare la percentuale di tempo che il lavoratore ha trascorso nelle zone a rischio elevato (“High Risk”, evidenziate in rosso).
  3. Esportazione dei dati:
    • Cliccare su 📜 EXPORT TO PDF per generare un report documentale non modificabile, pronto per la condivisione.
    • Cliccare su 📄 EXPORT TO DOCX se si necessita di un file Word editabile per l’integrazione manuale di note o relazioni successive.

Report Dashboard Screenshot

💡 Consigli per l’accuratezza dei dati

  • Calibrazione FreeMoCap: Utilizzare lo strumento di calibrazione integrato basato sui tabelloni ChArUco per aumentare la precisione spaziale dei dati raccolti.
  • Campo visivo libero: Assicurarsi che nessun oggetto (scatole, sedie o attrezzature) ostruisca la visuale tra la telecamera e le articolazioni del soggetto (ginocchia, gomiti, spalle). Le occlusioni causano errori nel calcolo dei punteggi.
  • Illuminazione: Ambienti scarsamente illuminati introducono rumore nel tracciamento (tremolio dello scheletro). Utilizzare un’illuminazione diffusa e uniforme.
  • Validazione professionale: I sistemi automatizzati possono generare falsi positivi o negativi. Prima di utilizzare i dati, verificare visivamente i fotogrammi in cui il software segnala un “Rischio Alto”, confrontandoli con il video reale.

Per informazioni dettagliate sulle metodiche di registrazione video, calibrazione ottica e gestione dei dati MoCap, consultare la Documentazione Ufficiale FreeMoCap.


ErgoMoCap © 2026 medlav. Distributed under the AGPL-3.0 License.