Förgrundsdetektering

Förgrundsdetektering är en av huvuduppgifterna inom området datorseende och bildbehandling vars syfte är att upptäcka förändringar i bildsekvenser. Bakgrundssubtraktion är vilken teknik som helst som gör att en bilds förgrund kan extraheras för vidare bearbetning (objektigenkänning etc.).

Många applikationer behöver inte veta allt om rörelsens utveckling i en videosekvens, utan kräver bara information om förändringar i scenen, eftersom en bilds intresseområden är objekt (människor, bilar, text etc.) i förgrunden. Efter stadiet av bildförbehandling (vilket kan inkludera bildnedsättning , efterbearbetning som morfologi etc.) krävs objektlokalisering som kan utnyttja denna teknik.

Förgrundsdetektering separerar förgrund från bakgrund baserat på dessa förändringar som sker i förgrunden. Det är en uppsättning tekniker som vanligtvis analyserar videosekvenser inspelade i realtid med en stationär kamera.

Bakgrundsbild och förgrundsbild.

Beskrivning

Alla detekteringstekniker bygger på att modellera bildens bakgrund, det vill säga ställa in bakgrunden och upptäcka vilka förändringar som sker. Att definiera bakgrunden kan vara mycket svårt när den innehåller former, skuggor och rörliga objekt. Vid definition av bakgrunden antas det att de stationära föremålen kan variera i färg och intensitet över tiden.

Scenarier där dessa tekniker tillämpas tenderar att vara mycket olika. Det kan vara mycket varierande sekvenser, som bilder med mycket olika ljussättning, interiörer, exteriörer, kvalitet och brus. Förutom bearbetning i realtid måste systemen kunna anpassa sig till dessa förändringar.

Ett mycket bra förgrundsdetekteringssystem bör kunna:

  • Utveckla en bakgrundsmodell (uppskattning).
  • Var robust mot ljusförändringar, repetitiva rörelser (löv, vågor, skuggor) och långsiktiga förändringar.

Bakgrundssubtraktion

Bakgrundssubtraktion är ett allmänt använt tillvägagångssätt för att upptäcka rörliga föremål i videor från statiska kameror. Skälet i tillvägagångssättet är att detektera de rörliga objekten från skillnaden mellan den aktuella ramen och en referensram, ofta kallad "bakgrundsbild", eller "bakgrundsmodell". Bakgrundssubtraktion görs oftast om bilden i fråga är en del av en videoström. Bakgrundssubtraktion ger viktiga ledtrådar för många applikationer inom datorseende, till exempel övervakningsspårning eller uppskattning av mänsklig pose . [ citat behövs ]

Bakgrundssubtraktion baseras i allmänhet på en statisk bakgrundshypotes som ofta inte är tillämpbar i verkliga miljöer. Med inomhusscener leder reflektioner eller animerade bilder på skärmar till bakgrundsförändringar. På samma sätt, på grund av vind, regn eller belysningsförändringar orsakade av väder, har statiska bakgrundsmetoder svårt med utomhusscener.

Temporalt medelfilter

Exempel på tidsmässigt medelfilter

Det tidsmässiga medelfiltret är en metod som föreslogs vid Velastin. Detta system uppskattar bakgrundsmodellen från medianen för alla pixlar i ett antal tidigare bilder. Systemet använder en buffert med pixelvärdena för de sista bildrutorna för att uppdatera medianen för varje bild.

För att modellera bakgrunden undersöker systemet alla bilder under en given tidsperiod som kallas träningstid . För närvarande visar vi bara bilder och kommer att hitta medianen, pixel för pixel, för alla plotter i bakgrunden denna gång.

Efter träningsperioden för varje ny bildruta jämförs varje pixelvärde med ingångsvärdet för tidigare beräknade medel. Om ingångspixeln ligger inom ett tröskelvärde anses pixeln matcha bakgrundsmodellen och dess värde inkluderas i pixbuf. Annars, om värdet ligger utanför detta tröskelvärde, klassificeras pixeln som förgrund och ingår inte i bufferten.

Denna metod kan inte anses vara särskilt effektiv eftersom de inte presenterar en rigorös statistisk grund och kräver en buffert som har en hög beräkningskostnad.

Konventionella tillvägagångssätt

En robust bakgrundssubtraktionsalgoritm ska kunna hantera ljusförändringar, repetitiva rörelser från röran och långvariga scenförändringar. Följande analyser använder funktionen av V ( x , y , t ) som en videosekvens där t är tidsdimensionen, x och y är pixelplatsvariablerna. t.ex. V (1,2,3) är pixelintensiteten vid (1,2) pixelplats för bilden vid t = 3 i videosekvensen.

Använder ramskillnad

En rörelsedetekteringsalgoritm börjar med segmenteringsdelen där förgrunden eller rörliga objekt segmenteras från bakgrunden. Det enklaste sättet att implementera detta är att ta en bild som bakgrund och ta bildrutor som erhölls vid tidpunkten t, betecknad med I(t), för att jämföra med bakgrundsbilden betecknad med B. Här med enkla aritmetiska beräkningar kan vi segmentera ut objekt helt enkelt genom att använda bildsubtraktionsteknik för datorseende betydelse för varje pixel i I(t), ta pixelvärdet betecknat med P[I(t)] och subtrahera det med motsvarande pixlar på samma position på bakgrundsbilden betecknad som P[B].

I matematiska ekvationer skrivs det som:

Bakgrunden antas vara ramen vid tidpunkten t . Denna skillnadsbild skulle bara visa viss intensitet för pixelplatserna som har ändrats i de två bildrutorna. Även om vi till synes har tagit bort bakgrunden, kommer detta tillvägagångssätt bara att fungera i fall där alla förgrundspixlar rör sig och alla bakgrundspixlar är statiska. En tröskel "Tröskel" sätts på denna skillnadsbild för att förbättra subtraktionen (se Bildtröskelvärde ) .

Detta betyder att skillnadsbildens pixlars intensiteter är "tröskelvärden" eller filtreras på basis av värdet för Threshold. Noggrannheten i detta tillvägagångssätt beror på rörelsehastigheten i scenen. Snabbare rörelser kan kräva högre trösklar.

Genomsnittligt filter

För att beräkna bilden som endast innehåller bakgrunden, beräknas ett medelvärde av en serie av föregående bilder. För att beräkna bakgrundsbilden vid ögonblicket t ,

där N är antalet föregående bilder tagna för medelvärdesberäkning. Denna medelvärdesberäkning avser medelvärdesbildning av motsvarande pixlar i de givna bilderna. N skulle bero på videohastigheten (antal bilder per sekund i videon) och mängden rörelse i videon. Efter att ha beräknat bakgrunden B ( x , y , t ) kan vi sedan subtrahera den från bilden V ( x , y , t ) vid tiden t = t och tröskelvärda den. Sålunda är förgrunden

där Th är ett tröskelvärde. På liknande sätt kan vi också använda median istället för medelvärde i ovanstående beräkning av B ( x , y , t ).

Användning av globala och tidsoberoende tröskelvärden (samma Th-värde för alla pixlar i bilden) kan begränsa noggrannheten hos ovanstående två tillvägagångssätt.

Löpande Gaussiskt medelvärde

För denna metod, Wren et al. föreslå att en Gaussisk probabilistisk densitetsfunktion (pdf) monteras på de senaste ramarna. För att undvika att pdf-filen anpassas från början vid varje ny bildrutetid , beräknas ett löpande (eller kumulativt on-line) medelvärde.

Pdf för varje pixel kännetecknas av medelvärdet och varians . Följande är ett möjligt initialtillstånd (förutsatt att varje pixel initialt är bakgrund):

där är värdet på pixelns intensitet vid tidpunkten . För att initiera varians kan vi till exempel använda variansen i x och y från ett litet fönster runt varje pixel.

Observera att bakgrunden kan ändras med tiden (t.ex. på grund av belysningsförändringar eller icke-statiska bakgrundsobjekt). För att anpassa sig till den förändringen, vid varje bildruta , måste varje pixels medelvärde och varians uppdateras, enligt följande:

Där bestämmer storleken på det tidsfönster som används för att passa pdf:en (vanligtvis ) och är det euklidiska avståndet mellan medelvärdet och värdet på pixeln.

Gaussisk fördelning för varje pixel.

Vi kan nu klassificera en pixel som bakgrund om dess nuvarande intensitet ligger inom något konfidensintervall för dess distributions medelvärde:

där parametern är en fri tröskel (vanligtvis . Ett större värde för möjliggör mer dynamisk bakgrund, medan ett mindre ökar sannolikheten för en övergång från bakgrund till förgrund på grund av mer subtila förändringar.

I en variant av metoden uppdateras en pixels distribution endast om den klassificeras som bakgrund. Detta för att förhindra att nyligen införda förgrundsobjekt tonas in i bakgrunden. Uppdateringsformeln för medelvärdet ändras i enlighet med detta:

där när betraktas som förgrund och annars. Så när det vill säga när pixeln detekteras som förgrund, förblir medelvärdet detsamma. Som ett resultat kan en pixel, när den väl har blivit förgrund, bara bli bakgrund igen när intensitetsvärdet kommer nära vad det var innan det vände förgrunden. Den här metoden har dock flera problem: Den fungerar bara om alla pixlar från början är bakgrundspixlar (eller förgrundspixlar är kommenterade som sådana). Den klarar inte heller av gradvisa bakgrundsförändringar: Om en pixel kategoriseras som förgrund under en för lång tidsperiod kan bakgrundsintensiteten på den platsen ha ändrats (eftersom belysningen har ändrats etc.). Som ett resultat, när förgrundsobjektet är borta, kanske den nya bakgrundsintensiteten inte känns igen som sådan längre.

Bakgrundsblandningsmodeller

Mixture of Gauss-metoden genom att modellera varje pixel som en blandning av Gaussians och använder en on-line approximation för att uppdatera modellen. I denna teknik antas det att varje pixels intensitetsvärden i videon kan modelleras med en Gaussisk blandningsmodell . En enkel heuristik avgör vilka intensiteter som troligen är bakgrunden. Då kallas de pixlar som inte matchar dessa för förgrundspixlar. Förgrundspixlar grupperas med hjälp av 2D- ansluten komponentanalys .

När som helst t är historiken för en viss pixel (

Denna historia är modellerad av en blandning av K Gaussiska distributioner:

var

För det första kännetecknas varje pixel av sin intensitet i RGB-färgrymden. Då ges sannolikheten att observera den aktuella pixeln av följande formel i det flerdimensionella fallet

Där K är antalet fördelningar, ω är en vikt associerad med den i:te Gauss vid tidpunkten t och µ, Σ är medelvärdet respektive standardavvikelsen för nämnda Gauss.

När parametrarnas initialisering har gjorts kan en första förgrundsdetektering göras och sedan uppdateras parametrarna. Den första B Gauss-fördelningen som överskrider tröskeln T bibehålls för en bakgrundsfördelning

De övriga fördelningarna anses representera en förgrundsfördelning. Sedan, när den nya bildrutan kommer in vid tidpunkterna , görs ett matchningstest av varje pixel. En pixel matchar en Gaussisk fördelning om Mahalanobis-avståndet

där k är ett konstant tröskelvärde lika med . Då kan två fall inträffa:

Fall 1: En matchning hittas med en av k Gausserna. För den matchade komponenten görs uppdateringen enligt följande

Power och Schoonees [3] använde samma algoritm för att segmentera bildens förgrund

Den väsentliga approximationen till av

Fall 2: Ingen matchning hittas med någon av Gausserna. I detta fall ersätts den minst sannolika fördelningen

När väl parameterunderhållet har gjorts kan förgrundsdetektering göras och så vidare. En on-line K-means approximation används för att uppdatera Gausserna. Många förbättringar av denna ursprungliga metod utvecklad av Stauffer och Grimson har föreslagits och en fullständig översikt finns i Bouwmans et al. En standardmetod för adaptiv bakgrundsbildning är att medelvärdet av bilderna över tid skapas, vilket skapar en bakgrundsapproximation som liknar den aktuella statiska scenen utom där rörelse uppstår.

Undersökningar

Flera undersökningar som rör kategorier eller underkategorier av modeller kan hittas enligt följande:

  • MOG bakgrundssubtraktion
  • Subtraktion för bakgrundssubtraktion för subspaceinlärning
  • Statistisk bakgrundssubtraktion
  • Suddig bakgrundssubtraktion
  • RPCA bakgrundssubtraktion (se Robust huvudkomponentanalys för mer information)
  • Dynamisk RPCA för bakgrunds-/förgrundsseparation (se Robust principal komponentanalys för mer information)
  • Nedbrytning i låg rang plus additiv matris för bakgrund/förgrund Separation
  • Djupa neurala nätverkskoncept för bakgrundssubtraktion
  • Traditionella och nya metoder för bakgrundssubtraktion

Ansökningar

För mer information, se

Se även

Jämförelser

Flera jämförelse-/utvärderingsartiklar finns i litteraturen:

Böcker

  • T. Bouwmans, F. Porikli, B. Horferlin, A. Vacavant, Handbook on "Background Modeling and Foreground Detection for Video Surveillance: Traditional and Recent Approaches, Implementations, Benchmarking and Evaluation" , CRC Press, Taylor and Francis Group, juni 2014 . (För mer information: http://www.crcpress.com/product/isbn/9781482205374 )
  • T. Bouwmans, N. Aybat och E. Zahzah. Handbook on Robust Low-Rank and Sparse Matrix Decomposition: Applications in Image and Video Processing , CRC Press, Taylor and Francis Group, maj 2016. (För mer information: http://www.crcpress.com/product/isbn/9781498724623 )

Tidskrifter

Workshops

Tävlingar

externa länkar

Webbplatser

  • Webbplats för bakgrundssubtraktion

Webbplatsen för bakgrundssubtraktion (T. Bouwmans, Univ. La Rochelle, Frankrike) innehåller en omfattande lista över referenser i fältet och länkar till tillgängliga datauppsättningar och programvara.

Datauppsättningar

Bibliotek

  • Bakgrund SubtractorCNT

BackgroundSubtractorCNT-biblioteket implementerar en mycket snabb och högkvalitativ algoritm skriven i C++ baserad på OpenCV. Den är inriktad på hårdvara med låg specifikation men fungerar lika snabbt på moderna Linux och Windows. (För mer information: https://github.com/sagi-z/BackgroundSubtractorCNT ).

  • BGS bibliotek

BGS-biblioteket (A. Sobral, Univ. La Rochelle, Frankrike) tillhandahåller ett C++-ramverk för att utföra bakgrundssubtraktionsalgoritmer. Koden fungerar antingen på Windows eller på Linux. För närvarande erbjuder biblioteket mer än 30 BGS-algoritmer. (För mer information: https://github.com/andrewssobral/bgslibrary )

  • LRS Library – Lågrankade och sparsamma verktyg för bakgrundsmodellering och subtraktion i videor LRSLibrary (A. Sobral, Univ. La Rochelle, Frankrike) tillhandahåller en samling lågrankade och glesa nedbrytningsalgoritmer i MATLAB. Biblioteket är designat för rörelsesegmentering i videor, men det kan också användas eller anpassas för andra datorseendeproblem. För närvarande innehåller LRSLibrary mer än 100 matrisbaserade och tensorbaserade algoritmer. (För mer information: https://github.com/andrewssobral/lrslibrary )
  • OpenCV – OpenCV-biblioteket tillhandahåller ett antal bakgrunds-/förgrundssegmenteringsalgoritmer .