{"id":1203,"date":"2014-09-04T12:27:02","date_gmt":"2014-09-04T10:27:02","guid":{"rendered":"http:\/\/www.aitech-solutions.eu\/?p=1203"},"modified":"2016-12-15T10:13:57","modified_gmt":"2016-12-15T09:13:57","slug":"come-tarare-la-sensibilita-di-un-algoritmo-di-motion-detection","status":"publish","type":"post","link":"https:\/\/www.aitech.vision\/it\/2014\/09\/04\/come-tarare-la-sensibilita-di-un-algoritmo-di-motion-detection\/","title":{"rendered":"Come tarare la sensibilit\u00e0 di un algoritmo di motion detection"},"content":{"rendered":"<p><!--:it-->Il motion detection \u00e8 una funzionalit\u00e0 disponibile nativamente sulla stragrande maggioranza di telecamere, encoder, NVR, VMS attualmente in commercio e ha lo scopo di segnalare se \u00e8 intervenuta una variazione significativa della scena presumibilmente dovuta ad un evento di interesse.<br \/>\nIn questa pillola ci occuperemo della problematica relativa alla taratura degli algoritmi di motion detection. Per far questo sar\u00e0 opportuno innanzitutto ricordarne il meccanismo di funzionamento, al fine di comprendere il significato dei parametri di base da configurare; quindi ci soffermeremo su alcuni semplici criteri per ottenere una taratura soddisfacente rispetto agli obiettivi che si intendono conseguire. <!--:--><!--more--><!--:it-->Nel seguito faremo riferimento ad un insieme di parametri minimale utilizzato dalla maggior parte dei sistemi di motion detection. Tale insieme \u00e8 costituito da sensibilit\u00e0, dimensione degli oggetti e aree di rilevamento. E\u2019 tuttavia opportuno evidenziare che in taluni casi i produttori di dispositivi di videosorveglianza corredano i loro prodotti della funzione di motion detection con un insieme di parametri personalizzati al fine di garantire una maggiore flessibilit\u00e0 di configurazione (a volte anche per motivare o \u201cblindare\u201d la fornitura dei propri prodotti). D\u2019altro canto sono presenti sul mercato anche dispositivi, tipicamente di fascia bassa, che mettono a disposizione un motion detection semplificato, in cui \u00e8 presente solo un sottoinsieme dei parametri precedentemente specificati.<\/p>\n<p><strong>Sensibilit\u00e0<\/strong>: gli algoritmi di motion detection eseguono la differenza tra i pixel omologhi del fotogramma corrente e del fotogramma precedente; con riferimento ad un generico pixel dell\u2019immagine, nel caso in cui tale differenza sia superiore ad un valore minimo di soglia, si segnala il pixel in questione come oggetto di una variazione significativa (motion -&gt; SI), altrimenti si dice che il pixel non \u00e8 variato (motion -&gt; NO). La sensibilit\u00e0 dell\u2019algoritmo di motion detection \u00e8 determinata dalla scelta del valore della suddetta soglia: maggiore \u00e8 la soglia, minore \u00e8 la sensibilit\u00e0. Da un punto di vista pratico, impostando un valore elevato della sensibilit\u00e0 l\u2019algoritmo di motion detection tende a segnalare pi\u00f9 frequentemente la presenza di variazioni sui singoli pixel aumentando la probabilit\u00e0 di avere delle segnalazioni di eventi che si traduce in un minore rischio di perdere qualche evento significativo, ma maggiore rischio di avere dei falsi allarmi (si dice che il tal caso il motion detection ha un comportamento pi\u00f9 \u201cspregiudicato\u201d); viceversa con una valore pi\u00f9 basso della sensibilit\u00e0 l\u2019algoritmo di motion detection indica variazioni significative sui singoli pixel con minore frequenza di fatto riducendo la probabilit\u00e0 di avere delle segnalazioni di allarmi con conseguenti riduzione dei falsi allarmi e aumento delle mancate rilevazioni di eventi significativi (si dice che il tal caso il motion detection ha un comportamento pi\u00f9 \u201ccauto\u201d).<\/p>\n<p><strong>Dimensione degli oggetti<\/strong>: questo parametro rappresenta il numero minimo di pixel che deve cambiare per poter dire che la variazione sia significativa. Spesso tale parametro \u00e8 rappresentato come frazione (o percentuale) della dimensione dell\u2019area di rilevamento. Il parametro di dimensione degli oggetti \u00e8 solitamente usato per discriminare tra le variazioni dovute a piccoli oggetti in movimento (ad esempio un animale domestico che si muove nell\u2019ambiente, un uccello in volo nell\u2019area di vista della telecamera, \u2026) a cui normalmente non siamo interessati e le variazioni nella scena introdotte invece da oggetti di dimensioni paragonabili a quelle di una persona, per le quali ovviamente ci si attende che il sistema generi una segnalazione di allarme. Anche in questo caso la scelta del valore della soglia sulla dimensione degli oggetti consente di impostare il comportamento del sistema verso uno pi\u00f9 cauto, allorquando si selezioni una soglia pi\u00f9 alta in quanto in tal caso solo oggetti molto grandi potranno causare la generazione di un allarme, ed uno pi\u00f9 spregiudicato usando una soglia pi\u00f9 bassa nel qual caso anche oggetti piccoli possono dar luogo alla generazione di un evento di motion detection.<\/p>\n<p><strong>Area di rilevamento<\/strong>: in genere i software per il motion detection disponibili sui sistemi di videosorveglianza consentono di impostare una o pi\u00f9 aree in cui effettuare il rilevamento dei cambiamenti della scena. Questa funzionalit\u00e0 \u00e8 molto importante in quanto consente di limitare l\u2019analisi solo a delle aree con la possibilit\u00e0 di escluderne altre non rilevanti. Inoltre in genere \u00e8 possibile effettuare una taratura del motion detection specifica per ogni area; questa caratteristica risulta molto importante in quanto consente di impostare differenti comportamenti del motion detection (pi\u00f9 cauti o spregiudicati) per ogni singola area operando sul parametro della sensibilit\u00e0 e\/o sul parametro relativo alla dimensione degli oggetti. Ad esempio, in un contesto di sorveglianza all\u2019interno dell\u2019abitazione, si immagini la sala, l\u2019utente potr\u00e0 impostare un\u2019area di rilevazione sulla porta di ingresso impostando una alta sensibilit\u00e0 e bassa dimensione degli oggetti in modo da garantire un comportamento pi\u00f9 spregiudicato in quanto la porta costituisce un\u2019area molto critica essendo il punto d\u2019accesso all\u2019abitazione; inoltre nel caso si volesse impostare un\u2019altra area che copra la parte restante della sala, si potranno utilizzare per essa parametri che garantiscano un comportamento pi\u00f9 cauto onde evitare che ad esempio ogni movimento del gatto possa essere registrato come un allarme.<\/p>\n<p><strong>Errori di rilevazione<\/strong>: dopo questa breve introduzione al principio di funzionamento ed ai parametri principali dell\u2019algoritmo di motion detection, individuiamo alcune linee guida per la sua configurazione sul campo. Idealmente ci si aspetta che il motion si attivi esclusivamente in quei casi in cui accade un evento di interesse senza quindi generare falsi allarmi, anche detti falsi positivi, (generazione di un allarme senza che sia accaduto nulla di rilevante) o falsi negativi (sta accadendo qualcosa ed il sistema non segnala alcun allarme). Purtroppo nei casi reali questi due requisiti sono difficilmente conciliabili; di fatto qualsiasi sforzo di configurazione teso a ridurre i falsi allarmi comporta intrinsecamente e quindi inesorabilmente un aumento dei falsi negativi, e viceversa.<br \/>\nLa attivit\u00e0 di configurazione del motion detection \u00e8 tesa ad individuare il giusto compromesso tra le due opposte esigenze tenendo conto dell\u2019impatto pratico delle due tipologie di errori. E\u2019 evidente che il secondo tipo di errore (falso negativo) \u00e8 molto pi\u00f9 grave del primo. Il falso negativo determina la mancata segnalazione e registrazione dell\u2019evento, quindi la impossibilit\u00e0 di verificare ex-post quanto sia realmente successo. I falsi allarmi sono molto meno gravi in quanto essi determinano la registrazione di un evento irrilevante comportando uno spreco di spazio per la memorizzazione e di tempo per l\u2019operatore che effettua la verifica visuale. D\u2019altro canto i falsi allarmi sebbene meno gravi delle mancate rilevazioni, nascondono una pericolosa insidia che \u00e8 ben sintetizzata nella morale della favola attribuita ad Esopo \u201cAl lupo! Al lupo!\u201d, per cui \u201cchi d\u00e0 sempre falsi allarmi, non \u00e8 pi\u00f9 creduto neanche quando dice la verit\u00e0\u201d (<a href=\"da http:\/\/it.wikipedia.org\/wiki\/Al_lupo!_Al_lupo!\">da http:\/\/it.wikipedia.org\/wiki\/Al_lupo!_Al_lupo!<\/a>): \u00e8 confermato dai fatti che l\u2019operatore di sorveglianza sommerso di falsi allarmi tende a non verificare pi\u00f9 le segnalazioni fornite dal sistema riducendo sensibilmente l\u2019utilit\u00e0 del sistema.<\/p>\n<p><strong>Configurazione del motion detection<\/strong>: veniamo a questo punto alla fase in cui dobbiamo impostare il motion detection. La taratura dovr\u00e0 consentire di trovare la migliore configurazione dei parametri in grado di azzerare i falsi negativi e minimizzare quanto pi\u00f9 possibile i falsi positivi.<br \/>\nLa prima operazione consiste nella definizione delle aree di rilevazione. Il primo suggerimento \u00e8 di impostare le aree sulle sole zone in cui interessa rilevare un evento cercando di evitare regioni in cui vi possano essere variazioni frequenti ma non interessanti. Ad esempio se si intende ricevere una segnalazione di allarme quando qualcuno sosta di fronte alla porta di casa, sar\u00e0 meglio evitare di estendere la regione di interesse anche alla porta del vicino o dell\u2019ascensore. Un esempio \u00e8 mostrato in figura 1. Tale considerazione, sebbene possa apparire scontata, \u00e8 spesso trascurata con la conseguente generazione di numerosi ed falsi allarmi.<br \/>\nA questo punto per ogni area d\u2019interesse \u00e8 necessario impostare i parametri che si riferiscono alla sensibilit\u00e0 e alla dimensione degli oggetti. Il suggerimento \u00e8 di configurare separatamente i due parametri provvedendo prima a impostare il valore della sensibilit\u00e0. Ricordiamo che una bassa sensibilit\u00e0 pu\u00f2 essere motivo di mancate rilevazioni, viceversa un\u2019elevata sensibilit\u00e0 pu\u00f2 causare falsi allarmi. In genere i valori di default forniti dai vari software risultano validi nella maggior parte dei casi, tuttavia se ci\u00f2 non dovesse essere vero si pu\u00f2 procedere come segue: si imposta inizialmente al minimo la sensibilit\u00e0 per poi innalzarla progressivamente fin quando, in assenza di variazioni nella scena, il sistema non segnali variazioni sui pixel. Ovviamente \u00e8 necessario verificare anche che al passaggio di una persona il sistema rilevi una significativa variazione sui pixel.<br \/>\nInfine, come ultimo passo, si procede a impostare il parametro relativo alla dimensione dell\u2019oggetto. Normalmente un buon valore si assesta intorno al 50% della dimensione minima dell\u2019oggetto pi\u00f9 piccolo per il quale si vuole generare l\u2019allarme. Ad esempio se si vuole monitorare un ambiente per segnalare la presenza di una persona sar\u00e0 sufficiente impostare la soglia sulla dimensione dell\u2019oggetto intorno alla met\u00e0 del massimo valore registrato al passaggio di una persona di corporatura medio-piccola. Una tale scelta consentir\u00e0 di evitare falsi negativi, ma allo stesso tempo di limitare i falsi positivi dovuti al movimento di oggetti piccoli (quali animali domestici). Durante tale fase bisogna porre attenzione al fatto che, a causa della prospettiva, lo stesso oggetto apparire tanto pi\u00f9 piccolo quanto pi\u00f9 \u00e8 distante dalla telecamera. Per questa ragione \u00e8 opportuno tarare la soglia sulla dimensione considerando l\u2019oggetto alla massima distanza dalla telecamera (sempre restando all\u2019interno dell\u2019area) e se necessario suddividendo l\u2019area di rilevazione in pi\u00f9 aree riferite a distanze differenti per ognuna delle quali sar\u00e0 necessario fare la taratura completa descritta nei passi precedenti.<\/p>\n<p><strong>Conclusioni<\/strong>: \u00e8 opportuno evidenziare che fare una buona taratura dell\u2019algoritmo di motion detection \u00e8 un passaggio cruciale per poter ottimizzare l\u2019impiego delle risorse di storage consentendo la registrazione solo al verificarsi di cambiamenti nella scena inquadrata potenzialmente significativi. E\u2019 altres\u00ec da ribadire che il motion detection per l\u2019elevato numero di falsi allarmi generati il pi\u00f9 delle volte nonostante sia stata fatta una buona taratura non consente di utilizzare la telecamera come un reale sensore anti-intrusione. Per tale scopo sono necessari dei veri algoritmi di analisi video intelligente, come AI-Intrusion, in grado di operare non sulle variazioni del singolo pixel, ma interpretando aggregati di pixel come oggetti che intervengono nella scena inquadrata e, quindi, riconoscendo quando effettivamente la variazione \u00e8 associata alla presenza di un intruso distinguendolo dal banale movimento di un cespuglio o di una tenda, dal passaggio di un animale domestico, ecc.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-1208\" alt=\"Immagine1\" src=\"http:\/\/aitech.vision\/wp-content\/uploads\/2014\/09\/Immagine1-1.png\" width=\"303\" height=\"230\" \/> <img loading=\"lazy\" class=\"size-full wp-image-1209 alignnone\" alt=\"Immagine2\" src=\"http:\/\/aitech.vision\/wp-content\/uploads\/2014\/09\/Immagine2-1.png\" width=\"302\" height=\"230\" \/><\/p>\n<p>Figura 1: La telecamera inquadra la porta su un pianerottolo. In questo scenario si \u00e8 interessati al rilevamento di persone che sostino dinanzi alla porta, mentre non si vuole ricevere un allarme nel caso in cui le persone escono dall\u2019ascensore per accedere alle altre abitazioni sul piano. Nell\u2019immagine a sinistra si vede un\u2019area di rilevamento impostata in maniera errata in quanto generer\u00e0 un allarme ogni qualvolta una persona aprir\u00e0 la porta dell\u2019ascensore; nella immagine a destra invece la regione \u00e8 specificata correttamente.<!--:--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il motion detection \u00e8 una funzionalit\u00e0 disponibile nativamente sulla stragrande maggioranza di telecamere, encoder, NVR, VMS attualmente in commercio e ha lo scopo di segnalare se \u00e8 intervenuta una variazione significativa della scena presumibilmente dovuta ad un evento di interesse. In questa pillola ci occuperemo della problematica relativa alla taratura degli algoritmi di motion detection&#8230;.<\/p>\n","protected":false},"author":3,"featured_media":6491,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[50],"tags":[49,161],"_links":{"self":[{"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/posts\/1203"}],"collection":[{"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/comments?post=1203"}],"version-history":[{"count":1,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/posts\/1203\/revisions"}],"predecessor-version":[{"id":6493,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/posts\/1203\/revisions\/6493"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/media\/6491"}],"wp:attachment":[{"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/media?parent=1203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/categories?post=1203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aitech.vision\/it\/wp-json\/wp\/v2\/tags?post=1203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}