Spatio-temporele objectdetectie in schaalbare videostromen

Maat: px
Weergave met pagina beginnen:

Download "Spatio-temporele objectdetectie in schaalbare videostromen"

Transcriptie

1 Spatio-temporele objectdetectie in schaalbare videostromen Lander Verhack Promotor: prof. dr. ir. Rik Van de Walle Begeleider: Sarah De Bruyne Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen Vakgroep Secretariaat van de Raad van Bestuur Voorzitter: Kristof De Moor Faculteit Ingenieurswetenschappen Academiejaar

2 DANKWOORD Deze masterproef was onmogelijk tot stand gekomen zonder de hulp van enkele mensen die ik hier zou willen bedanken. Allereerst wil ik mijn begeleiders Sarah De Bruyne en Chris Poppe bedanken voor hun inzet. Dankzij hun constructieve feedback en inzicht werd deze masterproef een project waar ik trots op kan zijn. Verder wil ik mijn promotor Rik Van de Walle bedanken voor het aanbieden van deze kans en voor het aanwakkeren van mijn interesse voor videocompressie. Ik wens mijn zus Friedel te bedanken om mij met al mijn taalkundige problemen te helpen. Verder wil ik mijn vader bedanken voor alle kansen die ik heb gekregen om mezelf te ontwikkelen in de afgelopen jaren. Al deze personen aangevuld met mijn broer en mijn allerliefste vriendin hebben mij gedurende het hele jaar gemotiveerd gehouden. Dankzij hun steun werd deze taak een boeiende reis.

3 Toelating tot bruikleen ii TOELATING TOT BRUIKLEEN De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van de scriptie te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze scriptie. Lander Verhack, juni 2009

4 Overzicht iii SPATIO-TEMPORELE OBJECTDETECTIE IN SCHAALBARE VIDEOSTROMEN door Lander Verhack Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen Begeleiders: Sarah De Bruyne en Chris Poppe Promotor: prof. dr. ir. Rik Van de Walle Vakgroep Secretariaat van de Raad van Bestuur Academiejaar Faculteit Ingenieurswetenschappen Voorzitter: Kristof De Moor SAMENVATTING In deze masterproef gaan we op zoek naar een efficiënte methode om bewegende objecten te detecteren binnen SVC. We bestuderen eerst bestaande algoritmen in H.264/AVC waaruit we bruikbare componenten destilleren. Daarna wordt er een algoritme voorgesteld waarin deze componenten ingepast, aangepast en uitgebreid worden. De prestatie van dit algoritme wordt getest aan de hand van een reeks computersimulaties. Hierin passen we steeds de belangrijkste parameters aan en onderzoeken we hun invloed. TREFWOORDEN SVC, objectdetectie, bewegingsdetectie, videobewaking, gecomprimeerd domein

5 Spatiotemporal objectdetection in scalable video Lander Verhack Supervisor(s): Rik Van de Walle, Sarah De Bruyne, Chris Poppe Abstract This article explains how moving objects can be found in the compressed domain within scalable video. The explained algorithm tries to exploit characteristics of SVC in order to make the detection as efficient as possible. This algorithm has been tested by simulations. Keywords SVC, object detection, motion detection, video surveillance, compressed domain I. GENERAL INTRODUCTION VIDEO surveillance has never been as popular as it is today. MPEG-2[1] is currently the most used standard for video compression in this area. The new SVC standard[2] enables us to use better compression and a more flexible way for video coding. It is clear that we could benefit from object detection in order to partially automate surveillance. This abstract presents an algorithm which allows us to detect moving objects within SVC. We exploit the standard s main characteristics in order to increase the efficiency of the detection. We must also take the flexible behavior into account. Computer simulations tested out the algorithm and results were compared to the ideal detection. II. INTRODUCTION TO SVC AND OBJECT DETECTION IN THE COMPRESSED DOMAIN A. SVC Scalable video is a way of dealing with the variety of devices and networks with different capabilities. A scalable video is a video that is adaptable. This means that it consists of different layers and discards some of these layers according to the capability of the network and end device. The lowest layer with the smallest format is called the base layer. The layers on top of this one are called enhancement layers. SVC is the scalable extension of the block based standard H.264/AVC[2]. SVC supports three kinds of layers: temporal layers, spatial layers and quality layers. Working with temporal layers allows us to adapt the number of frames per second. Consider the following example: In the base layer we place a video with 6 frames per second. In the following two layers this number is doubled each time. According to the capability of the end device or the network capacity, a video with 6, 12 or 24 frames per second can be received. Spatial layers allow us to customize the resolution of the video. Here the base layer typically consists of a video with a small resolution. We can add layers with larger resolutions so that the same soccer game can be displayed on both a cell phone and a wide screen TV. Instead of changing the number of frames per second or the resolution, we can change the quality of the video. The base layer consists of a low quality video, which can be improved by adding enhancement layers with better quality. We can combine these three types of scalability. This results in a very flexible video which has to be stored or transmitted only once and still satisfies many uses. Block based refers to the fact that frames are divided into small blocks, and the displacement of these blocks over different frames is estimated by motion vectors. That leaves us with only adding the differences, the residual date, to obtain the following frame. B. Object Detection in the compressed domain In the compressed domain we cannot use pixel data because the detection must happen before or without the video being completely decoded. To detect moving objects we have to use other sources of information. In SVC we can use the following indicators: motion vectors, residual data and block size. When an object is moving it will typically produce large motion vectors. Meanwhile the shape might change somewhat over different frames. As a consequence the residual data will probably not be close to zero. Furthermore, in the absence of other objects the encoder will typically use large blocks as the background remains unchangeable. When an object is present, the blocks will be smaller so each block can have a different motion vector. III. ALGORITHM The overview of the algorithm is shown in Fig. 1. Suppose we have to find objects in an SVC video using combined scalability. We have to use the spatial base layer and the maximal enhancement layer as input for the algorithm. Remember that this enhancement layer is variable in numbers of layers. It could even be the base layer itself. Fig. 1 OVERVIEW OF THE PROPOSED ALGORITHM FOR OBJECT DETECTION IN SVC. First we apply a pre-processing step in order to get the most out of our indicators. This includes filtering and scaling the mo-

6 tion vectors. Next we search the base layer for objects, this is done solely on comparison of the size of the motion vector with a predefined threshold. However, this is a only a rough approximation. We want to investigate it more thoroughly. To do this we must use the enhancement layer. We use an upsampling of the obtained approximation as a starting point for further investigation. We go around the edges of the starting point en check whether each block is correctly classified. We do this by taking all the indicators (motion vectors, residual data and block size) into account. If a block was not correctly classified, we investigate his environment being the eight adjoining blocks. This proceeds until no more incorrectly classified blocks are found. The algorithm stated above only works well if the number of frames in the base layer is equal to the number of frames in the enhancement layer. If we want to detect objects in a frame in the enhancement layer and there is no corresponding frame to be found in the base layer we have to use a different method. This is done by projecting the objects found in an earlier frame according to its motion vectors. After this step we can further investigate the blocks as before. IV. RESULTS AND EVALUATION The proposed algorithm is evaluated by computer simulations on four different videos. Fig. 2 and Fig. 3 show an example output for IndoorGTTest 2. The upsampled rough approximation from the base layer is displayed in Fig. 2. The final result is shown in Fig. 3. In each simulation we adapted an important variable. These are: the type of filter we can use, the number of frames in the base layer and the resolution of the base layer in comparison with the enhancement layer and the degree of compression. The filter we apply, may have a great impact on the performance of the algorithm. Especially when the appearing objects are small and slow moving. Here the use of information extracted from different frames can have quite an increase in precision. We create a starting point with projection when we do not have a corresponding frame in the base layer. But can projection create a better starting point? The answer accordingly to the simulations is no. Not only is it usually less accurate, it also takes longer to make. When choosing a smaller resolution for the base layer it takes less time to create a starting point. This is something we must take into consideration. Simulations have shown that this is a possibility for some videos. But when objects are small and slow moving we must not attempt this. The result is that many objects are not found in the base layer and thus not investigated in the enhancement layer. We could expect that a decrease in compression can lead to better detection. This however is usually not true. By compressing a video we obtain a kind of filter at pixel level. By reducing the compression, we also reduce this effect which results in more noise. This noise throws off the indicators making them less accurate and less capable of detecting a moving object. Fig. 2 INTERMEDIATE RESULT AFTER ROUGH APPROXIMATION IN THE BASE LAYER IN INDOORGTTEST 2 FRAME 142. Fig. 3 FINAL RESULT AFTER EDGE INVESTIGATION IN THE ENHANCEMENT LAYER IN INDOORGTTEST 2 FRAME 142. come reality one day. There is, however, still a lot of work to do. Next to a realistic hardware implementation, this algorithm must be further optimized. The algorithm can be seen as a framework where each part can be optimized or,if necessary, replaced. REFERENCES [1] Sarginson, P.A. MPEG-2:Overview of the systems layer., BBC R&D. 1996, pp [2] Thomas Wiegand, Gary J. Sullivan, Gisla Bjontegaard, Ajay Luthra Overview of the H.264/AVC Video Codec Standard., IEEE transactions on cicuits and systems for video technology. Juli 2003, Vol. 13, 7, pp V. CONCLUSION The algorithm as presented here opens new paths for the use of SVC. Video Surveillance based on this standard might be-

7 Inhoudsopgave vi INHOUDSOPGAVE Dankwoord... i Toelating tot bruikleen... ii Overzicht... iii Samenvatting... iii Trefwoorden... iii Extended abstract... iv Inhoudsopgave... vi Gebruikte afkortingen... viii 1. Inleiding Introductie H.264/AVC en SVC H.264/AVC SVC Objectdetectie Indicatoren in H.264/AVC Indicatoren in SVC Technieken voor objectdetectie Algoritme Overzicht Input Voorverwerking Basislaag Verbeteringslaag Efficiëntie Resultaten Videostromen Werkwijze... 46

8 Inhoudsopgave vii 4.3. Invloed van de filters Voorspelling via basislaag versus voorspelling via projectie Invloed van de resolutie in de basislaag Invloed van de kwaliteit Conclusie en uitbreidingsmogelijkheden Algemene conclusie Beperkingen en potentiële uitbreidingen Bijlage A Bibliografie Lijst van figuren Lijst van tabellen Lijst van grafieken... 92

9 Gebruikte afkortingen viii GEBRUIKTE AFKORTINGEN CIF MPEG AVC SVC ISO IEC VCEG ITU-T JVT NAL NALU HD-DVD DVB IP ISMA VCL SEI DCT DC CAVLC CABAC FMO GOP BL SNR CGS MGS FGS IDR MRF MAP QP Common Intermediate Format Motion Picture Expert Group Advanced Video Coding Scalable Video Coding International Organization for Standardization International Electrotechnical Commission Video Coding Experts Group International Telecommunication Union Joint Video Team Network Abstraction Layer Network Abstraction Layer Unit High Definition Digital Video Disc Digital Video Broadcast Internet Protocol Internet Streaming Media Alliance Video Codec Layer Supplemental Enhancement Information Discrete Cosine Transform Direct Current Context-Adaptive Variable-Length Coding Context-Adaptive Binary Arithmetic Coding Flexible Macroblock Ordering Group Of Pictures Base Layer Signal to Noise Ratio Coarse Grain Scaling Medium Grain Scaling Fine Grain Scaling Instantaneous Decoding Refresh Markov Random Field Maximum A Posteriori Quantization Parameter

10 1. Inleiding 1 1. INLEIDING Videobewaking bestaat reeds een halve eeuw en is nog nooit zo populair geweest. Vooral in de afgelopen 10 jaar is het gebruik van videobewaking door de overheden en bedrijven sterk toegenomen. In het Verenigd Koninkrijk alleen al zijn er ongeveer 4,2 miljoen camera s [1]. Dit komt ongeveer neer op 1 camera per 14 Britten. In die tijd is de technologie rond videobewaking enorm geëvolueerd. Een klassiek beveiligingssysteem bestaat uit verschillende videocamera s die rechtstreeks verbonden zijn met een bewakingscentrum. De camera s nemen beelden op die vervolgens ongecomprimeerd worden doorgezonden naar het bewakingscentrum. Hier worden de beelden op een aantal monitors gevisualiseerd. Tegenwoordig wenst men wel vaker dat alle communicatie van een bedrijf over één multifunctioneel netwerk verloopt. Men wenst dus geen extra netwerk op te zetten enkel voor videobewaking. Een mogelijk probleem dat hierbij kan opduiken is dat het netwerkwerk te zwaar belast zou worden door het verzenden van ongecomprimeerde data. Voor slechts één video op CIF-formaat(352x288 pixels) vereist het dataverkeer een bandbreedte van de orde van enkele megabyte per seconde. Het versturen van een tiental videostromen op deze manier vereist al een heel capacitief en bijgevolg duur netwerk. Om bovenstaand probleem op te lossen, kunnen we gebruikmaken van compressie. Het comprimeren van data houdt in dat de digitale representatie na compressie minder bits in beslag neemt dan de originele representatie. Hierin onderscheiden we twee types: exact omkeerbaar en niet-exact omkeerbaar(engels: lossless en lossy). Voor video gebruikt men meestal niet-exact omkeerbare compressie. We verliezen dus informatie. Een goed compressiealgoritme voor video induceert een sterke reductie van het aantal bits in combinatie met een beperkt verlies aan beeldkwaliteit. Het meest gebruikte compressiealgoritme voor toepassingen in de bewakingssector is MPEG-2 [2]. Deze compressiestandaard slaagt erin om video s een grootteorde te verkleinen. Ondertussen zijn er al efficiëntere compressiemethoden ontwikkeld zoals H.264/AVC [3]. De compressie van deze standaard is zo sterk dat het versturen van 100 H.264/AVC video s efficiënter is dan het versturen van één ongecomprimeerde video over hetzelfde netwerk. Ondertussen bestaan er al beveiligingscamera s die deze standaard ondersteunen. In hoofdstuk verdiepen we ons verder in H.264/AVC. We kunnen het netwerkverkeer ook verminderen door gebruik te maken van schaalbare videostromen. Schaalbare videostromen laten toe om uit één representatie verschillende videostromen te extraheren. De beelden uit dergelijke stromen kunnen verschillen in resolutie,

11 1. Inleiding 2 het aantal beelden per seconde, en de kwaliteit van het beeld. Hoe dit exact gebeurt komt aan bod in hoofdstuk De reductie in netwerkverkeer wordt dan bekomen door verschillende videostromen op verschillend formaat door te zenden. Zo kan bijvoorbeeld een bewakingsagent selecteren welke video s hij op maximaal formaat wil zien en welke niet. Huidige beveiligingssystemen bestaan uit tientallen camera s verbonden met een centraal verwerkingspunt. Figuur 1 toont een modern bewakingssysteem voor de Maryland Transit Rail Lines [4]. De hoeveelheid camera s van grote bedrijven in combinatie met een centrale verwerkingseenheid zorgt nog voor een ander probleem. Voor een bewakingsagent is de te verwerken hoeveelheid enorm en vergt het een zeer groot concentratievermogen. Enige elektronische assistentie is hier een noodzaak. Hierbij denken we vooral aan automatische objectdetectie. Op deze manier kan de bewakingsagent gewaarschuwd worden wanneer er een bewegend object gedetecteerd wordt, en de zaak nader bekijken. Methoden in het ongecomprimeerd domein voor objectdetectie gaan op pixelniveau de video analyseren. Dit vereist echter dat de video steeds volledig gedecodeerd wordt vooraleer men aan de analyse kan beginnen. Figuur 1: Videobewaing op de Maryland Transit Lines Om het proces te versnellen zijn er methoden ontwikkeld om in het gecodeerd domein de analyse uit te voeren. Aangezien hiervoor geen of slechts weinig decoderen voor nodig is, is dit

12 1. Inleiding 3 veel efficiënter en dus minder belastend voor de verwerkingseenheid. Voor een elektronische verwerkingseenheid blijft dit echter een grote hoeveelheid data. Analyse van video s is dan ook over het algemeen een intensief proces. Vaak komt het er voor een bedrijf op neer om een afweging te maken tussen de hoeveelheid camera s en het formaat van de verzonden video. In hoofdstuk 2.2 bekijken we enkele reeds bestaande technieken die toegepast worden in objectdetectie. In deze masterproef gaan we op zoek naar een methode om efficiënt objecten te detecteren in schaalbare videostromen. We spreken van spatio-temporele objectdetectie omdat we zowel in de ruimte(spatio) als in de tijd(tempus) bewegende objecten willen onderscheiden van de rest van het beeld. We verwijzen soms ook naar objecten als zijnde voorgrondobjecten We gebruiken de meest recente videostandaard namelijk SVC [3]. We overlopen twee mogelijke toepassingen. Voorbeeldapplicatie 1 Bedrijf A beschikt over een modern communicatienetwerk dat zowel gebruikt wordt voor videobewaking als voor interne communicatie. De beschikbare bandbreedte voor videobewaking is dus beperkt en variabel. We veronderstellen wel altijd een minimale bandbreedte ter beschikking te hebben. Het bedrijf beschikt over 14 videocamera s en gebruikt SVC als compressiestandaard. In de centrale verwerkingsplaats vindt men een sterke verwerkingseenheid gekoppeld aan een groot scherm. De visualisatie van de videostromen wordt voorgesteld in Figuur 2 en is als volgt: Figuur 2: Visualisatie van de voorbeeldapplicatie. Videostroom 3 werd geselecteerd en wordt in een hoger formaat weergegeven in het centrale venster.

13 1. Inleiding 4 Op het scherm zien we 14 kleine schermen op QCIF formaat ( pixels) met 15 beelden per seconde. Op het centrale scherm zien we één van de videostromen in 4CIF formaat(704x576 pixels) met 30 beelden per seconde. Welke videostroom wordt afgespeeld in het centrale scherm kan op twee manieren bepaald worden. Volgens de eerste methode kan de bewakingsagent kan op ieder moment manueel een camera selecteren. Een tweede methode bestaat uit automatische detectie. We analyseren de video s op klein formaat en controleren of er bewegende objecten aanwezig zijn. We visualiseren dan de videostroom met de meeste beweging in het centrale scherm. Op basis van de videostroom in verhoogd formaat verfijnen we de objectdetectie. Bewegende objecten worden omlijnd met een rood kader, zowel in het centrale scherm als in de kleinere schermen. Op deze manier heeft de bewakingsagent een overzicht over alle aanwezige activiteit. Het gebruik van videostromen met verschillend formaat zorgt ervoor dat geen onnodige data moet worden verzonden over het netwerk. De totale hoeveelheid data is minder dan die van twee videostromen op maximaal formaat. De verwerking van die kleinere videostromen is ook minder belastend voor de verwerkingseenheid. Met behulp van objectdetectie in SVC kan deze applicatie realiteit worden. Voorbeeldapplicatie 2 Bedrijf B wenst een vergaande analyse door te voeren op een reeks videostromen. Als eerste stap in de analyse gaat men na of er bewegende objecten aanwezig zijn. In verdere stappen analyseert men deze objecten. Er wordt gebruik gemaakt van SVC als compressiestandaard. Men bestudeert eerst de beelden in de basislaag. Pas wanneer men daar bewegende objecten vindt gaat men de detectie verfijnen met behulp van de verbeteringslagen. Alle verdere analyse gebeurt enkel in de gebieden waar men in de eerste stap objecten heeft gedetecteerd. Door gebruik te maken van SVC is bedrijf B in staat op een efficiëntere manier zijn analyse uit te voeren. Telkens wanneer er geen bewegende objecten zijn gevonden in de basislaag kunnen de overige stappen overgeslagen worden. Door de verfijnde objectdetectie op te nemen in een latere stap, kan deze dus ook geëlimineerd worden. De verdere indeling van deze masterproef is als volgt: Hoofdstuk 2 geeft een introductie tot enkele belangrijke concepten in verband met moderne videocompressie en objectdetectie. Daarna, in hoofdstuk 3 stellen we een methode voor om op een efficiënte manier aan objectdetectie te doen in SVC. Vervolgens beschouwen we enkele resultaten van deze methode onder verschillende omstandigheden in hoofdstuk 4. We sluiten af met een algemene conclusie in hoofdstuk 5.

14 2. Introductie 5 2. INTRODUCTIE 2.1. H.264/AVC EN SVC H.264/AVC De standaard H.264/AVC is een recente blokgebaseerde videocompressiestandaard [3]. Het is het resultaat van een samenwerking tussen ISO/IEC MPEG(Moving Pictures Expert Group) en de onderzoeksgroep VCEG(Video Coding Experts Group) van ITU-T. De samenwerking verliep onder de nieuwe naam JVT(Joint Video Team). Aan dit feit is het ook te wijten dat de standaard een dubbele naam draagt. H.264/AVC is de nieuwste versie in de H.26x serie van ITU-T. Bij MPEG is de standaard onderdeel van MPEG-4 onder de naam MPEG-4 Part 10. H.264/AVC werd ontwikkeld vanuit twee standpunten. Enerzijds moest de coderingsefficiëntie ten opzichte van vorige standaarden sterk verbeteren. Anderzijds moest de standaard netwerkvriendelijker worden; dit zowel voor videoconversaties, als voor uitzendapplicaties (televisie, internet-streaming). Uiteindelijk kwam JVT in 2003 met een eerste versie naar buiten. De standaard haalde 30 tot 50 procent betere compressie in vergelijking met vorige standaarden. Om H.264/AVC netwerkvriendelijk te maken werd het NAL (Network Abstraction Layer) concept ingevoerd. Zoals het de gewoonte is bij MPEG werd enkel maar de vorm van de gecodeerde bitstroom en de decoder gespecificeerd. De encoder wordt dus niet gespecificeerd. Dit laat ruimte voor concurrentie. H.264/AVC heeft onder meer toepassingen in volgende domeinen: Blu-ray en HD-DVD includeerden H.264/AVC als verplicht te ondersteunen videocodec. Sony gebruikt dit formaat voor hun Memory Stick Video-formaat. DVB (Digital Video Broadcast) keurde H.264/AVC goed voor televisie-uitzendingen. Het wordt gebruikt in Spanje, Hong Kong, Brazillië, Nieuw Zeeland, Verschillende grote namen in Direct broadcast satelliet TV ondersteunen het gebruik van H.264/AVC(DirecTv en Dish Network in de Verenigde Staten, Euro1080 in Europa, BIG TV in India, ) Bij TV over IP is H.264/AVC verplicht te ondersteunen bij verschillende leveranciers(tgp in Australië, Bell Aliant in Canada, Deutsche Telekom in Duitsland)

15 2. Introductie 6 ISMA(Internet Streaming Media Alliance) gebruikt H.264/AVC in hun specificaties voor ISMA 2.0. Basisconcepten Network Abstraction Layer Alle gecodeerde informatie wordt in pakketten geplaatst die NAL-eenheden(NALU of NALeenheid) heten. Er bestaan twee soorten NAL-eenheden: VCL(Video Codec Layer, zie verder) NAL-eenheden en niet-vcl NAL-eenheden. De VCL NAL-eenheden bevatten de gecomprimeerde videostroom. Niet-VCL NAL-eenheden bevatten bijkomende informatie. De belangrijkste hieronder zijn parametersets die kunnen voorkomen in twee verschillende soorten: De eerste soort bevat parameters voor een hele sequentie, de andere bevat parameters voor een beeld. Een ander soort bijkomende informatie zijn de SEI(Supplemental Enhancement Information) boodschappen. Deze zijn niet strikt nodig om de videosequentie te decoderen. Ze kunnen informatie bevatten om de decoder te assisteren, of om een ander proces te begeleiden(bijvoorbeeld bitstroommanipulatie). NAL-eenheden die samen juist één beeld decoderen worden toegangseenheden genoemd. Deze toegangseenheden worden verder gegroepeerd in een videosequentie. Deze kan volledig onafhankelijk gedecodeerd worden. Een videosequentie start altijd met een IDR(Instantanious Decoding Refresh) toegangseenheid. Video Coding Layer VCL NAL-eenheden bevatten een gecodeerde representatie van de videobeelden. De manier van coderen is vrij gelijkaardig aan die van MPEG-2 en H.263. Het is een blokgebaseerd systeem dat gebruikmaakt van voorspelling, transformatie, kwantisatie en entropiecodering. Het grote verschil met vorige standaarden is de grote flexibiliteit in voorspellingsmogelijkheden. Een belangrijk concept in dit licht is slices. Een slice is een onderdeel van een beeld. Het bestaat uit een groep macroblokken. Dit zijn blokken van 16 bij 16 pixels, en waren bij vorige standaarden de basiseenheid voor voorspelling. Bij H.264/AVC kunnen de macroblokken eventueel nog verder onderverdeeld zijn. Elke slice kan op een verschillende manier gecodeerd worden. De belangrijkste types zijn I-, P- en B-slices.

16 2. Introductie 7 Voorspelling Om de hoeveelheid data te beperken gaan we macroblokken voorspellen en dan enkel het verschil tussen deze voorspelling en de echte waarden bijhouden. We noemen dit verschil in waarden het residu. We onderscheiden twee manieren om de data te voorspellen: Ofwel wordt er enkel maar gebruik gemaakt van informatie uit het huidig beeld (Intravoorspelling) ofwel wordt er gebruik gemaakt van informatie uit andere beelden om de voorspelling te realiseren(intervoorspelling). Voor intravoorspelling van de lumacomponent kan er gebruik gemaakt worden van verschillende blokgroottes: 4x4, 8x8 en 16x16. De waarde van het huidig blok wordt voorspeld aan de hand van blokken uit de omgeving. De voorspelde waarde wordt dan afgetrokken van de echte waarde van het blok en dit verschil wordt gecodeerd. Welke blokken precies gebruikt worden hangt af van de voorspellingsmethode. Voor 4x4-blokken zijn er 9 voorspellingsmethoden, voor 16x16 slechts 4. Bij intervoorspelling maakt men gebruik van informatie van reeds gecodeerde beelden. De pixels van een macroblok worden voorspeld aan de hand van een pixelgebied in een ander beeld van dezelfde grootte. Het ander beeld wordt het referentiebeeld genoemd, het pixelgebied wordt het referentieblok genoemd(dit komt niet noodzakelijk overeen met een macroblok uit het referentiebeeld). Om het gebied aan te duiden maakt men gebruik van een bewegingsvector. Deze vector bevat het verschil in positie van het huidig macroblok ten opzichte van het referentieblok in het referentiebeeld. Het verschil tussen het huidig macroblok en het referentieblok wordt gecodeerd samen met de bewegingsvector. De encoder zal de methode kiezen die de beste voorspelling doet. Zo wordt het verschil tussen het voorspelde beeld en het echte beeld minimaal. Dit is in het voordeel van een efficiënte entropiecodering. Bij intervoorspelling maakt men gebruik van nog meer verschillende blokgroottes zoals aangegeven in [5]. Elk 16x16-macroblok kan onderverdeeld worden in twee 16x8 of 8x16- blokken, of in vier 8x8-blokken. Een 8x8-blok kan op zijn beurt weer opgesplitst worden in twee 8x4- of 4x8-blokken of vier 4x4-blokken.

17 2. Introductie 8 Figuur 3: De verschillende blokgroottes: bovenaan zien we de verschillende mogelijke indelingen van macroblokken, onderaan zien we de mogelijkheden voor subverdeling in 8x8-blokken Voor P-slices wordt er per macroblok 1 bewegingsvector en 1 referentie-index bijgehouden. De referentie-index duidt het referentiebeeld aan. Voor B-slices worden er per blok maximaal 2 bewegingsvectoren en 2 referentie-indexen bijgehouden. De voorspelling kan dan gebeuren aan de hand van de eerste bewegingsvector en referentie-index(lijst 0), aan de hand van de tweede bewegingsvector en referentie-index(lijst 1) of aan de hand van een gewogen gemiddelde van beide lijsten. Verder zijn er nog bijzondere voorspellingstypes zoals de direct mode voor B- slices en de skip mode voor P- en B-slices. Bij deze voorspellingsmethoden wordt bepaalde informatie over de bewegingsvectoren en de referentie-index niet gecodeerd maar afgeleid uit reeds gecodeerde informatie. Voor de intervoorspelling in H.264/AVC kan er gebruik gemaakt worden van subpixelprecisie. Hier worden de pixelgebieden waarnaar bewegingsvectoren verwijzen niet beperkt tot de pixels zelf. Via interpolatietechnieken kan er gebruik gemaakt worden van halve tot kwart subpixelprecisie. Omdat het aantal kandidaat-pixelgebieden op deze manier vergroot, is de kans groter dat een goede voorspelling wordt gedaan. Voor een exacte beschrijving van de subpixelberekening wordt er verwezen naar [5]. Het opslaan van de bewegingsvectoren kan efficiënter gebeuren door deze ook te gaan voorspellen. De voorspelling lijkt op de voorspellingsmechanismen van intravoorspelling. Enkel het verschil tussen de voorspelde waarde van de bewegingsvector en de effectieve bewegingsvector i.e., het bewegingsvectorresidu, moet opgeslagen worden. Beschouw drie blokken uit de omgeving van het huidige macroblok: links, boven en rechtsboven het blok. De voorspelde waarde is dan de mediaan van de bewegingsvectoren van deze drie blokken. Wegens de variabele grootte van de macroblokken kunnen er soms meerder blokken zich links en boven bevinden. In beide gevallen kiest men dan het blok dat dichtst bij de linkerbovenhoek ligt.

18 2. Introductie 9 Transformatie, kwantisatie en entropiecodering H.264/AVC is een niet-exact omkeerbare codeermethode en dus verliezen we een deel van onze informatie. Om toch zoveel mogelijk informatie te bewaren maken we gebruik van transformatie, kwantisatie en entropiecodering. Kwantisatie is het proces waarbij continue waarden afgebeeld worden op een aantal discrete waarden. Deze discrete waarden kunnen dan met minder bits voorgesteld worden. De afstand tussen twee opeenvolgende discrete waarden wordt de kwantisatiestap genoemd. Deze moet niet noodzakelijk gelijk zijn tussen alle opeenvolgende discrete waarden. H.264/AVC gebruikt een uniforme kwantisatietechniek, waarbij de kwantisatiestap kan ingesteld worden aan de hand van een parameter. Deze parameter kan 52 verschillende waarden aannemen en is zodanig opgebouwd dat een verhoging van deze parameter met 6 resulteert in een verdubbeling van de kwantisatiestap. Dit is de enige stap in het coderingsproces waar er informatieverlies mee gepaard gaat. Om zo weinig mogelijk nuttige informatie te verliezen tijdens de kwantisatie passen we eerst een transformatie toe. Deze verzamelt zoveel mogelijk nuttige informatie in zo weinig mogelijk bits. De transformatie dient zodanig te gebeuren dat de minder nuttige informatiebits diegene zijn die verloren gaan tijdens de kwantisatie. In H.264/AVC kan een dergelijke transformatie toegepast worden op zowel 4x4- als 8x8-blokken voor de lumacomponent. De transformatie die toegepast wordt lijkt zeer sterk op de klassieke DCT-transformatie [6]. Maar maakt enkel gebruik van gehele getallen zodat perfecte reconstructie mogelijk is(bij DCT kunnen er altijd afrondingsfouten ontstaan). Voor de chromacomponenten wordt de transformatie eerst toegepast op 4x4-blokken, daarna volgt een Hadamardtransformatie [3] op de DC-coëfficiënten. Na de transformatie en de kwantisatie passen we nog entropiecodering toe. Dit is een verliesloze datacompressiemethode. Deze wordt gebruikt om de informatie nog verder te compacteren zonder gebruik te maken van specifieke karakteristieken van de data. In H.264/AVC kan men kiezen tussen twee types entropiecodering: CAVLC en CABAC [3]. Beide zijn contextgevoelige adaptieve coderingen. CAVLC maakt gebruik van variabele-lengte-codering, terwijl CABAC een aritmetische coderingstechniek gebruikt. Over het algemeen presteert CABAC iets beter. Omdat deze concepten van minder belang zijn in het kader van spatio-temporele objectdetectie, wordt er hier niet verder op ingegaan. Voor een gedetailleerde bespreking van deze en andere concepten,zoals FMO en veldvoorspelling, van H.264/AVC verwijs ik naar [5].

19 2. Introductie SVC De standaard De nood aan schaalbare videostromen komt voort uit een grote verscheidenheid aan eindgebruikers. Deze eindgebruikers hebben uiteenlopende eigenschappen op het vlak van beeldformaat en rekencapaciteit. Ook ontstaan er steeds meer toepassingen die videostromen over netwerken versturen. De variabele capaciteit en de verscheidenheid van netwerken maken het verzenden van videostromen vaak moeilijk. Om te kunnen omgaan met deze eigenschappen van eindgebruikers en netwerken stelde MPEG het gebruik van schaalbare videostromen voor. Op deze manier moet men een videostroom slechts eenmaal coderen op maximaal formaat. Aangepaste versies kunnen afgeleid worden uit die ene videostroom. Dit is een veel efficiëntere manier dan per verschillend type eindgebruiker de videostroom te coderen op een aangepast formaat. Het aanpassen van de schaalbare videostroom kan gebeuren bij de bron, in een netwerkknoop of bij de eindgebruiker zodanig dat de videostroom zonder probleem kan verzonden, gedecodeerd en bekeken worden. Dat de videostroom in elke knoop van het netwerk kan aangepast worden is in het belang van verschillende toepassingen zoals videobroadcasting. In 2003 verzamelde MPEG voorstellen voor een nieuwe schaalbare videostandaard. De respons hierop waren 14 voorstellen waarvan 12 gebaseerd op wavelets. De andere 2 waren uitbreidingen op H.264/AVC. Uiteindelijk werd er gekozen voor een blokgebaseerde aanpak. MPEG en VCEG beslisten in 2005 om SVC [3] samen te standaardiseren. SVC is een uitbreiding op H.264/AVC en hergebruikt de meeste innovatieve componenten. Enkel voor de schaalbaarheid werden nieuwe componenten toegevoegd. Dit project werd voltooid in De schaalbaarheid in SVC wordt gerealiseerd door het gebruik van lagen. De basislaag bevat de kleinste spatiale en temporele resolutie en de laagste kwaliteit van beeld. Hierop worden verbeteringslagen aangebracht. De basislaag van een SVC-videostroom is volledig opgebouwd volgens de specificaties van H.264/AVC. Concrete toepassingen van SVC zijn: streaming, videovergaderingen, videobewaking, broadcasting en opslag. Soorten schaalbaarheid We onderscheiden 3 soorten schaalbaarheid: temporele, spatiale en kwaliteitsschaalbaarheid. Temporele schaalbaarheid Bij temporele schaalbaarheid delen we de videostroom volgens de tijd op. In plaats van alle beelden te verzenden, zenden we slechts een deel van het aantal beelden naar gelang de wens van de eindgebruiker of het netwerknetwerk. Het aantal beelden per seconde wordt dus

20 2. Introductie 11 geschaald. Hiervoor werkt SVC met een hiërarchische structuur. Elke laag wordt opgebouwd zodat een interbeeld( dit is een beeld dat voorspeld wordt aan de hand van intervoorspelling) voorspeld wordt enkel door beelden uit dezelfde laag of een onderliggende laag. De basislaag wordt typisch IPPP gecodeerd. In verbeteringslagen wordt er hoofdzakelijk gebruik gemaakt van B-beelden die tussen de basislaagbeelden komen. Een netwerk of eindgebruiker kan beslissen bepaalde lagen niet te gebruiken, zo bekomt men minder beelden per seconde. Alle beelden tussen twee basislaagbeelden samen met het laatst komende basislaagbeeld noemt men een GOP(Group Of Pictures). Figuur 4: Voorbeelden temporele lagen. (a) codering met hiërarchische B-beelden, (b) codering met hiërarchische B-beelden in niet-enkelvoudige structuur, (c) codering met hiërarchische structuur zonder encoder-decoder vertraging. De nummers onder de beelden geven aan in welke volgorde de beelden gecodeerd worden. De verschillende temporele lagen worden aangeduid met T gevolgd door het nummer van de laag, waarbij 0 voor de basislaag staat en geïncrementeerd wordt met 1 voor elke bovenliggende laag. In Figuur 4: Voorbeelden temporele lagen. (a) codering met hiërarchische B-beelden, (b) codering met hiërarchische B-beelden in niet-enkelvoudige structuur, (c) codering met hiërarchische structuur zonder encoder-decoder vertraging. zie je enkele voorbeelden van temporele lagen. De rode blokjes stellen I-beelden voor op de eerste temporele laag(t0). De P- beelden op dezelfde laag zijn aangeduid in het blauw. De B-beelden uit de bovenliggende lagen T1 en T2 worden respectievelijk aangeduid met oranje en groen. De nummers onder de beelden geven aan in welke volgorde de beelden gecodeerd worden. (a) toont de typische hiërarchische structuur. (b) toont een variant hierop. Vervolgens vertoont (c) dezelfde hiërarchische structuur als die van (a), maar wordt er enkel voorspeld uit beelden die in het verleden liggen.

21 2. Introductie 12 Temporele schaalbaarheid was al voorzien in H.264/AVC, toch voegt SVC een extra veld toe in de NAL-hoofding die meedeelt tot welke temporele laag T de NAL-eenheid behoort. Deze vorm van coderen heeft geen negatieve impact op de coderingsefficiëntie [7]. Spatiale schaalbaarheid Spatiale schaalbaarheid wordt gerealiseerd door de videostroom in te delen volgens beeldresolutie. De basislaag bestaat uit beelden met een kleinere resolutie die volledig onafhankelijk van grotere resoluties worden gecodeerd. De verbeteringslagen stemmen overeen met grotere resoluties van dezelfde beelden. Er is bijna geen beperking op de verhouding tussen de resoluties van een spatiale laag en de onderliggende laag. De enige voorwaarde is dat de resolutie van een hogere laag steeds groter of gelijk aan de resolutie van een onderliggende laag moet zijn. Verder kan een hogere laag stukken beeld toevoegen die buiten de randen van het onderliggend beeld liggen. Figuur 5: Voorbeeld van spatiale schaalbaarheid. De zwarte pijlen stellen voorspellingen over verschillende lagen voor. De bogen stellen voorspellingen in dezelfde laag voor. De rode beelden zijn I-beelden, blauw staat voor P-beelden en oranje staat voor B-beelden. Voor beelden uit verbeteringslagen zijn er twee goede voorspellers. Enerzijds kan een beeld goed voorspeld worden aan de hand van een geschaalde versie van het bijhorende blok uit de onderliggende laag. Het is belangrijk om de beelden gealigneerd te verzenden. Dit wil zeggen dat informatie uit verschillende spatiale lagen gelijktijdig beschikbaar wordt gesteld voor de decoder indien die informatie betrekking heeft op hetzelfde beeld. Een andere voorspeller is een ander beeld uit dezelfde spatiale laag. Figuur 5: Voorbeeld van spatiale schaalbaarheid. De zwarte pijlen stellen voorspellingen over verschillende lagen voor. De bogen stellen voorspellingen in dezelfde laag voor. De rode beelden zijn I-beelden, blauw staat voor P-beelden en oranje staat voor B-beelden. geeft een voorbeeld van spatiale schaalbaarheid, alle mogelijk

22 2. Introductie 13 paden van voorspelling zijn aangeduid met een pijl of een boog. Welke de beste voorspeller is hangt af van de situatie. Er zijn drie mechanismen die toelaten optimaal gebruik te maken van de beschikbare informatie. Inter-layer motion prediction: De bewegingsvectoren en referentie-indexen van de onderliggende laag dienen als voorspellers voor de verbeteringslaag. De referentieindexen worden gekopieerd en de bewegingsvectoren worden geschaald volgens de verhouding van de resoluties. Een NAL-eenheid van de verbeteringslaag bevat dus residu s van bewegingsvectoren en residu s van de transformatiecoëfficiënten. BLskip(Base Layer Skip) blokken zijn blokken waarvoor enkel een residu voor de transformatiecoëfficiënten wordt verzonden; Dit is een nieuw type blok ingevoerd in SVC. Inter-layer motion prediction is enkel geldig voor inter-gecodeerde beelden. Zie inter-layer intra prediction om te weten hoe intra-gecodeerde beelden worden voorspeld. Inter-layer intra prediction: Het overeenkomstig beeld van de onderliggende laag wordt volledig gedecodeerd, een geschaalde versie van dit beeld dient als voorspelling. Bij dit type voorspelling wordt enkel een residueel signaal van de transformatiecoëfficiënten verzonden. Omdat de basislaag hiervoor volledig gedecodeerd moet zijn hiervoor, wordt dit type voorspelling meestal beperkt tot intragecodeerde beelden. Intra-gecodeerde beelden bezitten op zich al geen bewegingsvectoren. Inter-layer residual prediction: Het residu van transformatiecoëfficiënten in de onderliggende laag wordt geschaald volgens de verhouding van de resoluties. Dit vormt een voorspelling van het residu voor het huidige macroblok. Enkel het verschil met dit voorspeld residu wordt dan gecodeerd en opgeslagen. SVC voegt een extra veld toe in de NAL-hoofding dat meedeelt tot welke spatiale laag D de NALeenheid behoort. Spatiale schaalbaarheid introduceren in een bepaalde videostroom heeft meestal een slechtere coderingsefficiëntie tot gevolg [7] [8]. Het is natuurlijk nog altijd veel voordeliger om spatiale schaalbaarheid toe te passen dan om verschillende gecodeerde videostromen met verschillende resolutie op te slaan. Kwaliteitsschaalbaarheid Kwaliteitsschaalbaarheid (of SNR-schaalbaarheid) wordt gerealiseerd door beelden in verschillende beeldkwaliteit beschikbaar te maken. In de basislaag worden beelden gecodeerd die laag zijn van kwaliteit. De verbeteringslaag heeft dezelfde resolutie en voegt verfijning toe. Er zijn twee manieren om kwaliteitsschaalbaarheid te realiseren: CGS(Coarse Grian Scaling) en

23 2. Introductie 14 MGS(Medium Grain Scaling). FGS(Fine Grain Scaling) waarvan sprake is in de kladversie van 2006 van H.264/AVC werd afgevoerd. Coarse Grain Scaling: CGS kan volledig gerealiseerd worden door middel van spatiale schaalbaarheid. De basislaag en de verbeteringslaag hebben hierbij dezelfde resolutie. De schalingsoperaties kunnen hier dus achterwege gelaten worden. Macroblokken in de verbeteringslaag worden gekwantificeerd met een kleinere kwantisatiestap en bevatten bijgevolg meer detailinformatie. Medium Grain Scaling: MGS is een variant op CGS. Waar CGS enkel op bepaalde punten (IDR switching points) kan overschakelen van laag, kan dit bij MGS bij iedere toegangseenheid. Verder is er nog het sleutel-beeld concept. Dit laat toe een evenwicht te zoeken tussen coderingsefficiëntie en de mate waarin de voorspellingslus bij de decoder kan afwijken van de voorspellingslus bij de encoder. Deze afwijking is mogelijk omdat MGS detailpakketten zonder meer kunnen verwijderd worden uit de bitstroom. Op de sleutelbeelden worden de lussen terug gesynchroniseerd. Veel sleutelbeelden gebruiken zorgt wel voor een slechtere coderingsefficiëntie [7] [8] In de NAL-hoofding wordt een veld Q opgenomen om de decoder te informeren op welke kwaliteitslaag de NAL-eenheid betrekking heeft in het geval van MGS (Bij CGS is Q=0 en wordt D verhoogd, aangezien het om een nieuwe spatiale laag gaat). Toepassen van kwaliteitsschaalbaarheid heeft over het algemeen een negatieve impact op de codeerprestatie. De negatieve impact is des te groter wanneer er weinig verschil is tussen de verschillende lagen. Gecombineerde schaalbaarheid Een SVC-bitstroom kan een van voorgaande types schaalbaarheid gebruiken. Het is echter ook mogelijk de verschillende types te combineren. Aangezien kwaliteit- en spatiale schaalbaarheid een negatieve impact op de coderingsefficiëntie hebben moet men een afweging maken tussen de coderingsefficiëntie en de graad van schaalbaarheid. Laten we een voorbeeld beschouwen waarbij alle vormen van schaalbaarheid gecombineerd worden. Temporele schaalbaarheid wordt gerealiseerd op basis van toegangseenheden die behoren tot een bepaalde temporele laag T. Zo n toegangseenheid stelt alle informatie voor van de bitstroom op een bepaald ogenblik. Als we een toegangseenheid van naderbij bekijken ontdekken we de verschillende spatiale en kwaliteitslagen.

24 2. Introductie 15 Figuur 6: Voorbeeld van gecombineerde schaalbaarheid. Deze bevat drie spatiale lagen met telkens een aantal kwaliteitslagen. De waarden van D en Q stellen respectievelijk de hoogte van de spatiale laag en de hoogte van de kwaliteitslaag voor. Op Figuur 6 zie je de verschillende spatiale lagen. Elk van deze lagen kan opnieuw ingedeeld worden in kwaliteitslagen. Veranderen van spatiale laag kan enkel in bepaalde toegangseenheden, IDR NAL-eenheden genaamd. Deze beperking geldt niet voor de verschillende kwaliteitslagen binnen een spatiale laag. Enkelvoudige lus decoder Vorige schaalbare standaarden waren niet bijzonder populair. Dit komt omdat onderliggende lagen eerst volledig gedecodeerd moesten worden vooraleer een verbeteringslaag kon toegepast worden. Dit resulteerde in een hoge verwerkingstijd en nood aan een grote buffer. SVC bracht op dit vlak een enorme verbetering aan. Het is enkel nodig om de beelden op het hoogste beschikbaar niveau te decoderen. Hierbij is wel informatie nodig van onderliggende lagen, maar die hoeven niet helemaal gedecodeerd te worden. Inter-layer intra prediction is hier een uitzondering op. Hier is het wel nodig om een beeld vanaf de basislaag volledig te decoderen zodat het beeld herschaald kan worden. Voor een meer uitgebreide bespreking van SVC verwijs ik naar [7]. Verschillende concepten zoals de verschillende types profielen zijn hier niet besproken omdat ze niet relevant zijn in het kader van spatio-temporele objectdetectie.

25 2. Introductie OBJECTDETECTIE In plaats van enkele bestaande algoritmen te bespreken, bespreken we hier de meest gebruikte technieken om objecten te detecteren. Bestaande algoritmes combineren een deelverzameling van de onderstaande technieken. We bespreken eerst welke elementen kunnen duiden op de aanwezigheid van objecten in H.264/AVC die gebruikt worden in gerelateerd werk. Daarna onderzoeken we hoe we deze indicatoren kunnen gebruiken in SVC INDICATOREN IN H.264/AVC Bewegingsvectoren De belangrijkste indicatoren zijn de bewegingsvectoren. Beschouw twee opeenvolgende beelden uit een videosequentie waarin een object beweegt. Om in een macroblok van het tweede beeld een efficiënte voorspelling te verkrijgen is het belangrijk een gelijkaardig gebied te vinden in het eerste beeld. Een macroblok waarin een object aanwezig is, zal dus waarschijnlijk voorspeld worden aan de hand van het pixelgebied in het eerste beeld dat overeenkomt met datzelfde object. Op deze manier geeft een bewegingsvector een goede benadering voor de beweging van dat object. Hoe groter de bewegingsvector, hoe sneller het object beweegt. Jammer genoeg is een bewegingsvector voor deze doeleinden niet altijd accuraat. Objecten kunnen veranderen van vorm en kleur. Er kunnen ook andere gelijkaardige gebieden aanwezig zijn. [9] [10] [11] gebruiken bewegingsvectoren als indicator voor objecten. [11] gebruikt de bewegingsvectoren ook om verschillende bewegende objecten van elkaar te onderscheiden. Bewegingsvectoren worden opgebouwd aan de hand van een voorspelde waarde opgeteld bij een residu. De vraag of deze residu s op zich niet voldoende informatie bevatten dringt zich op. Het antwoord is nee. Een goede voorspeller verwijdert namelijk zoveel mogelijk correlatie tussen naburige bewegingsvectoren. Hoewel de voorspeller voor bewegingsvectoren niet echt geavanceerd is, bevatten de residu s zelden genoeg correlatie om een goede segmentatie op uit te voeren. [12] gaat hier dieper op in. Transformatiecoëfficiënten Een object kan veel meer bewegingen maken dan enkel naar boven, onder, links en rechts gaan. Objecten kunnen inkrimpen, zwellen, draaien, Hierdoor zijn blokken overeenkomstig met bewegende objecten veel moeilijker voorspelbaar dan een statische achtergrond. Een slechte voorspelling resulteert in een groter residu. Vaak gebruikt men in algoritmen enkel de DCcomponent als benadering van het residu. Ji en Park [13] stelden een aanpak voor op basis van DCT-coëfficiënten. In [14] gebruikt men zowel bewegingsvectoren als transformatiecoëfficiënten.

26 2. Introductie 17 Blokgrootte Bij het coderen van een videostroom is het de bedoeling de bitrate zo laag mogelijk te houden. De encoder moet een afweging maken tussen een minder goede voorspelling bij indeling in grote blokken, en dus een groter residu, en een veelheid aan bewegingsvectoren bij indeling in kleine blokken. Gebieden met grote blokken zijn meestal vrij homogene, traag in de tijd veranderende gebieden. Dit kan een criterium zijn voor een kandidaat achtergrond. Bij snel bewegende objecten zal de kost van de extra bewegingsvectoren opwegen tegen een potentieel groot residu. Hier zal de encoder waarschijnlijk meer gebruikmaken van kleine blokgroottes INDICATOREN IN SVC In hebben we de belangrijkste indicatoren vermeld voor de aanwezigheid van objecten in H.264/AVC. Hier onderzoeken we de invloed van verschillende soorten schaalbaarheid op deze indicatoren. Dit moet ons een idee geven over de bruikbaarheid van deze indicatoren in SVC. Temporele schaalbaarheid Het effect van de temporele laag beperkt zich voornamelijk tot welk type macroblok er gebruikt wordt. In laag 0 worden er typisch enkel I- en P-beelden gebruikt. Hogere lagen gebruiken meestal B-beelden. We bespreken deze verschillende types. I-blokken I-blokken zijn volledig intragecodeerd. Hierdoor zijn er geen bewegingsvectoren aanwezig. Ook de grootte van de transformatiecoëfficiënten verliest vaak zijn waarde. Het nut van transformatiecoëfficiënten ligt in het feit dat wanneer een blok slecht voorspeld wordt vanuit een ander beeld, dat blok vaak wijst op de aanwezigheid van objecten. Een slecht voorspeld blok heeft een groter residu. Wegens gebrek aan een temporele voorspelling duidt een groot residu bij I-blokken eerder op het feit dat het blok niet egaal is. Aangezien een achtergrond ook complex kan zijn leert dit ons weinig bij. Hetzelfde geldt voor de blokgrootte. 16x16-blokken wijzen op een egaal gebied, 4x4-blokken wijzen eerder op een complex gebied. I-blokken op zich kunnen ons dus niets leren over aanwezigheid van objecten. We zullen informatie uit andere beelden gebruiken om dit probleem op te lossen. I-blokken komen meestal voor in I-beelden, maar kunnen ook aanwezig zijn in P- of B-beelden. Het feit dat een I-blok voorkomt in een P- of B-beeld kan ons echter wel informatie opleveren. Het kan zijn dat de encoder kiest voor een I-blok omdat er geen goede voorspelling kan gevonden worden voor het blok in andere beelden. Dan wijst dit inderdaad op een object. Een andere reden is dat een perfect egaal vlak bijzonder voordelig kan voorspeld worden via

27 2. Introductie 18 intravoorspelling, en de encoder op deze manier de kost van bewegingsvectoren uitspaart. Over het algemeen is de aanwezigheid van een I-blok in een P- of B-beeld een vrij goede indicator voor de aanwezigheid van een object. P- en B-blokken P- en B-blokken beschikken wel over relevante bewegingsvectoren, blokgroottes en transformatiecoëfficiënten. B-blokken kunnen over twee bewegingsvectoren beschikken. We zullen moeten een keuze maken uit een van deze vectoren of ze combineren tot één vector. B- beelden worden typisch beter voorspeld dan P-blokken aangezien de afstand tot de referentiebeelden kleiner is. Transformatiecoëfficiënten zullen ons dus minder informatie opleveren in B-blokken dan in P-blokken. B-blokken zullen ook minder vaak kleine blokgroottes gebruiken. Indien een kleine blokgrootte gebruikt wordt bij B-blokken wijst dit heel waarschijnlijk op een object. Een grote blokgrootte vertelt ons echter niets over de afwezigheid van een object. Dit effect zet zich voort: Een B-blok op temporele laag t+1 zal over het algemeen beter voorspeld worden dan een B-blok op laag t en zal met minder waarschijnlijkheid een kleine blokgrootte hebben. Spatiale schaalbaarheid Men kan zich de vraag stellen of het zinvol is de bewegingsvectoren te analyseren op een verbeteringslaag. De bewegingsvectoren op basislaag geven namelijk dezelfde beweging aan. We bekijken dit hier meer in detail voor de drie methoden voor spatiale schaalbaarheid. Inter-layer motion prediction Een blok van de verbeteringslaag bevat een residuele waarde van een bewegingsvector. Deze waarde moet opgeteld worden bij de bijhorende, geschaalde bewegingsvector van het cobasisblok. De schaalfactor hangt af van het verschil in resolutie tussen het verbeteringsbeeld en het basisbeeld. Wanneer de resolutie bijvoorbeeld dubbel zo groot is in het verbeteringsbeeld dan is deze factor gelijk aan twee. Dit levert ons nuttige informatie op. De berekende bewegingsvector zal een stuk nauwkeuriger zijn. BL-skip blokken bevatten echter geen bijkomende informatie over bewegingsvectoren en lijken dus geen bron van extra informatie. Het is echter wel zo dat BL-skip blokken typisch gebruikt worden wanneer de opgeschaalde bewegingsvectoren al zorgden voor een goede voorspelling. Inter-layer residual prediction Bij deze techniek wordt enkel het verschil tussen de voorspelde residuele waarde en de echte residuele waarde verzonden. Tijdens het analyseren van SVC-stromen hebben we gemerkt dat deze techniek voornamelijk wordt gebruikt wanneer de bewegingsvectoren van de basislaag en

28 2. Introductie 19 de verbeteringslaag sterk op elkaar lijken. We winnen geen extra informatie over de bewegingsvectoren, maar we weten wel dat de reeds beschikbare informatie al vrij accuraat moet zijn. Inter-layer intra prediction Bij dit type voorspelling wordt enkel een residueel signaal van de transformatiecoëfficiënten verzonden. Omdat de basislaag volledig gedecodeerd moet zijn hiervoor, wordt dit type voorspelling meestal beperkt tot I-beelden. I-beelden bezitten op zich al geen bewegingsvectoren. Inter-layer intra prediction kan ons dus geen informatie leveren over de beweging van objecten Over het algemeen kunnen we dus stellen dat het nuttig is de bewegingsvectoren te analyseren in de verbeteringslaag. Deze levert meer informatie op dan de bewegingsvectoren van de basislaag. Bij spatiale schaalbaarheid komt er een speciale blokmodus bij die erop wijst dat de voorspelling gebeurt aan de hand van de onderliggende laag en niet van een ander beeld in de verbeteringslaag. Voor een statische achtergrond is een voorspelling uit een onderliggende laag zelden beter dan uit een ander beeld uit dezelfde laag. Wanneer de voorspelling gebeurt vanuit een onderliggende laag kan dit wijzen op de aanwezigheid van een object. Kwaliteitsschaalbaarheid Aangezien CGS een speciale vorm is van spatiale schaalbaarheid kunnen we hiervoor verwijzen naar bovenstaande uitleg. Bij MGS komt er enkel extra informatie over de transformatiecoëfficiënten bij. Een verbeteringslaag bij MGS brengt meer coëfficiënten mee, zodat het residu kan verfijnd worden. Over het algemeen gebruiken algoritmes voor objectdetectie enkel de DC-coëfficiënten. Aangezien deze al aanwezig zijn in de basislaag heeft MGS weinig invloed TECHNIEKEN VOOR OBJECTDETECTIE Met technieken voor objectdetectie bedoelen we individuele stappen in een bepaald algoritme. De algoritmes voor objectdetectie gebruiken typisch gelijkaardige stappen. We overlopen hier de meest gebruikte. Normaliseren H.264/AVC en SVC maken gebruik van macroblokken die op verschillende manieren kunnen ingedeeld worden(zoals besproken in hoofdstuk 2.1). Elk van deze subblokken heeft zijn eigen

29 2. Introductie 20 bewegingsvector gekoppeld aan een bepaald beeld. Aan welk beeld de bewegingsvector juist gekoppeld is wordt meegegeven aan de hand van een referentiebeeldindex. Deze referentiebeelden kunnen zowel in het verleden als in de toekomst liggen en de onderlinge afstand tussen een beeld en zijn referentiebeeld kan variëren. Dit zorgt ervoor dat we met veel variabelen rekening moeten houden. Om tot een meer uniform bewegingsvectorveld te komen kunnen we volgende operaties toepassen. We splitsen elk blok in 4x4-blokken en wijzen elk van deze subblokken dezelfde bewegingsector toe als het originele blok. Voor 4x4-blokken verandert er dus niets. Voor een 16x8-blok worden er dus 8 nieuwe blokken aangemaakt, elk met dezelfde bewegingsvector. Hierbij verliezen we wel potentiële informatie wat de blokgrootte betreft. We herschalen de bewegingsvector volgens de temporele afstand tussen het huidig beeld en het referentiebeeld via een deling. Als het referentiebeeld in de toekomst ligt dan komt er een minteken voor de herschalingsfactor. Ligt het referentiebeeld in het verleden, dan is de herschalingsfactor strikt positief, dit wordt geïllustreerd in Figuur 7. Figuur 7: Temporele afstand. Onderaan staan de bijhorende schalingsfactoren waarover de bewegingsvectoren moeten gedeeld worden. De herschaling is gebaseerd op de veronderstelling dat het object een min of meer constante snelheid aanhoudt tussen het huidig beeld en het referentiebeeld zodat x = v. t. Hierbij stelt x de afgelegde afstand voor, v de constante snelheid en t het verschil in tijd. De grootte van de bewegingsvector is dan evenredig met v. Spatiale filter We maken een onderscheid tussen spatiale en temporele filters. We spreken van spatiale filters indien de filter geen gebruik maakt van informatie uit andere beelden, wanneer dit wel het geval is spreken we over temporele filters.

30 2. Introductie 21 Bewegingsvectoren zijn een enorm hulpmiddel bij het detecteren van beweging van objecten. Helaas stellen ze niet altijd de echte beweging van een object voor. Bewegingsvectoren worden opgesteld door de encoder in functie van een zo efficiënt mogelijke voorspelling van de pixelwaarden. Dit gebeurt niet in functie van de feitelijke beweging. Om dit te verbeteren maken we gebruik van filters. De filters hieronder vermeld zijn algemeen maar worden hier besproken in het licht van bewegingsvectoren. Bewegingsvectoren die niet overeenstemmen met de feitelijke beweging zullen we onechte bewegingsvectoren noemen, naar analogie met [12]. De overeenkomstige blokken zullen we onechte bewegingsblokken noemen. Onechte bewegingsvectoren ontstaan door middel van een toevallige overeenkomst tussen het huidige blok en een blok in het referentiebeeld. Dit komt bijvoorbeeld voor wanneer een stuk achtergrond terug zichtbaar wordt na het verdwijnen van een voorgrondobject. Meestal vertonen deze uitschieters weinig correlatie met omringende bewegingsvectoren waardoor ze eenvoudig weggefilterd kunnen worden. Eerst bespreken we enkele types ruis, en daarna enkele bruikbare filters. Ruis Ruis is een afwijking op een waarde zoals die oorspronkelijk bedoeld was. In ons geval is dit een afwijking van de bewegingsvector ten opzichte van de echte beweging. We onderscheiden twee fundamenteel verschillende types ruis. Gaussiaanse Ruis Bij Gaussiaanse ruis bestaat de waarde van de bewegingsvector uit de som van twee delen. Het eerste deel bestaat uit de gewenste waarde(gewenst voor bewegingsdetectie, niet voor optimale compressie). Het tweede deel noemt men dan de fout. De fout is hierbij Gaussiaans verdeeld met gemiddelde waarde µ en standaardafwijking σ. De waarde µ is meestal 0. In dit geval zorgt een grotere σ gemiddeld gezien voor een grotere afwijking. Dit resulteert meestal in een groot aantal kleine fouten, wat een vervuild effect geeft. Dit type ruis lijkt op het type ruis dat men verkrijgt bij bewegingsvectoren wegens de beperking op nauwkeurigheid (kwart-pixel nauwkeurigheid is wel al een sterke vooruitgang in vergelijking met vorige standaarden). Impulsruis Bij impulsruis wijkt slechts hier en daar een waarde af van de gewenste waarde. Wanneer die echter afwijkt, heeft die een opmerkelijk hogere of lagere waarde dan zijn omgeving. Dit type ruis komt voor bij de onechte bewegingsvectoren.

31 2. Introductie 22 Gaussiaanse ruis verwijderen heeft een voordeel wat correcte segmentatie betreft(zie verder). De nadruk ligt echter op impulsruis verwijderen zodat onechte bewegingsvectoren geëlimineerd worden. Hieronder bespreken we enkele types filters. Filters Mediaanfilter Een mediaanfilter werkt met een r x r invoervenster. De te filteren waarde is de centrale waarde en wordt vervangen door de mediaan van alle waarden in het venster. Op deze manier wordt impulsruis vrij goed verwijderd. Het vectorveld dat achterblijft, verliest wel detailinformatie waardoor het waziger wordt. Dit kan een probleem vormen voor randdetectie. [10] en [11] gebruiken een 3x3 mediaanfilter om onechte bewegingsvectoren te elimineren, dit als voorbereiding op een segmentatieproces. In [12] wordt gebruik gemaakt van een aangepaste versie van de mediaanfilter die de grootte van de macroblokken in rekening brengt. Gemiddelde-waardefilter Een gemiddelde-waardefilter werkt met een r x r matrix, waarin alle gewichten gelijk zijn aan 1/r². M.a.w. elke waarde wordt vervangen door het gemiddelde van de omringende waarden en zichzelf. Deze filter is goed in staat om Gaussiaanse ruis te verwijderen maar kan impulsruis onvoldoende elimineren. Onechte bewegingsvectoren vormen hier dus een probleem. Deze filter is dus enkel bruikbaar in combinatie met een andere filter die wel impulsruis volledig kan verwijderen. Meerstaps mediaanfilter De meerstaps mediaanfilter is bijzonder nuttig om impulsruis te verwijderen. 4 maal wordt er een eendimensionale mediaanfilter toegepast op de te filteren waarde; eenmaal horizontaal, eenmaal vertikaal en beide diagonalen. Van de 4 geproduceerde waarden neemt men het maximum en het minimum. De eindwaarde is gelijk aan de mediaan van het maximum, het minimum en de originele waarde. Deze filter is zeer nuttig om onechte bewegingsvectoren te verwijderen. Hij is echter iets te agressief en zorgt ervoor dat naburige bewegingsvectoren te veel dezelfde waarde aannemen, zodat randen detecteren moeilijk wordt en er valse gebieden gesegmenteerd kunnen worden. Uit [15] blijkt overigens dat de uitvoeringstijd van deze filter 2 tot 4 maal zo groot is als die van de gewone mediaanfilter. Getrimde gemiddelde-waardefilter Deze filter is een variant op de gemiddelde-waardefilter. In plaats van de gemiddelde waarde over alle waarden te nemen, verwijderen we eerst de grootste en kleinste waarden. Laten we

32 2. Introductie 23 eerst de r² waarden ordenen (met r x r de dimensie van de filter) in een lijst volgens grootte. We verwijderen de k kleinste en k grootste waarden uit de lijst. Nu nemen we het gemiddelde over de resterende waarden. Hierbij is k een parameter die geoptimaliseerd kan worden Het grote voordeel van deze filter is dat hij zowel Gaussiaanse als impulsruis kan verwijderen. En dus naar alle waarschijnlijkheid zeer toepasbaar is op bewegingsvectoren. Zowel de mediaanfilter als de gemiddelde-waardefilter zijn extreme gevallen van deze filter: De parameter k is gelijk aan (r²-1)/2 bij de mediaanfilter (r moet hier oneven zijn). Bij de gemidelde-waarde filter is k=0. Beste-buurfilter De beste-buurfilter is zeer gelijkaardig aan de vorige filter. Hier worden de waarden echter niet gerangschikt volgens grootte, maar volgens gelijkaardigheid aan de centrale bewegingvector(vandaar de naam beste-buur). Opnieuw worden de 2k slechtste buren dan verwijderd. De reden waarom deze filter interessant is, is omdat deze filter beter om kan gaan met randen en hoeken dan de getrimde gemiddelde-waardefilter. De extreme waarden worden door dit type filter niet volledig verwijderd, maar ze worden wel nog steeds goed onderdrukt. Verder zijn er nog goede filters die gebruik maken van vage logica en verzamelingenleer. Deze zijn echter niet bruikbaar wegens een te grote uitvoeringstijd. Vaak presteren bovenstaande simpele filters niet eens slechter. Een volledige bespreking is terug te vinden in [15]. In [9] wordt er gebruik gemaakt van een classificatie van de bewegingsvectoren om ruis te verwijderen. De bewegingsvectoren worden ingedeeld in 4 klassen: Voorgrond-, achtergrond-, rand- en ruisbewegingsvector. Temporele filter Het doel van de temporele filter is tweeledig. Enerzijds dient het om ruizige waarden te verwijderen, supplementair aan de spatiale filter. Anderzijds dient het om de richting van de beweging van het object nader te bepalen. Dit kan door verschillende (genormaliseerde) bewegingsvectoren van verschillende beelden te combineren die behoren tot hetzelfde object. Een object kan verschillende posities innemen in verschillende beelden. Hiermee moet rekening gehouden worden wanneer men informatie over het object in verschillende beelden wil aggregeren. [10] gebruikt een projectiemethode die een bewegingsvectorenveld achterwaarts projecteert op het vorige beeld. Dit wordt geïllustreerd in Figuur 8:

33 2. Introductie 24 Figuur 8: Voorbeeld van temporele projectie. De grijze vector wordt bepaald aan de hand van projecties van bewegingsvectoren uit voorgaande beelden. Het blauwe en rode blok worden geprojecteerd volgens hun bewegingsvector. Daarna bepalen we de grijze vector uit een gewogen gemiddelde van deze twee vectoren, waarbij de gewichten bepaald zijn door te kijken hoeveel het geprojecteerde blok overlapt met het huidige blok. De bewegingsvector toegewezen aan een blok is het resultaat van een gewogen uitmiddeling van alle bewegingsvectoren van geprojecteerde blokken die overlappen met dit blok. [11] beschrijft een meer geavanceerde methode voor projectie. De bewegingsvector wordt berekend door de som van de geprojecteerde bewegingsvectoren geschaald volgens het overlappend gebied. Indien het totaal overlappend gebied groter is dan de helft van het blok is deze schaalfactor gelijk aan de grootte van het overlappend gebied met dit geprojecteerd blok gedeeld door het totaal overlappend gebied. Indien het totaal overlappend gebied kleiner is dan de helft is de schaalfactor gelijk aan het overlappend gebied met dit geprojecteerd blok gedeeld door de oppervlakte van het blok. Bewegingsvectoren kunnen op deze wijze iteratief achterwaarts geprojecteerd worden. Het is wel aan te raden om een schaalfactor te gebruiken wanneer je verschillende geprojecteerde bewegingsvectoren optelt. De schaalfactor wordt kleiner naarmate het temporele verschil tussen de beelden groter wordt. Dit is nodig omdat de projectie zeker niet perfect is en slechter wordt naarmate er meer iteraties doorlopen worden. Bijvoorbeeld kan je de huidige bewegingsvector optellen met de geprojecteerde bewegingsvector van het volgende beeld en met de helft van de geprojecteerde bewegingsvector van twee beelden verderop. De temporele filter kan dan toegepast worden op het originele beeld en een of meerdere projectiebeelden. Globale bewegingscompensatie Met globale beweging wordt de beweging van het hele beeld bedoeld. Dit komt meestal door een beweging van de camera. Dit omvat bewegingen als inzoomen, zijwaarts bewegen, draaien, Verschillende algoritmes, zoals het algoritme voorgesteld in [9], zijn enkel bruikbaar op een statische achtergrond. Voor videostromen met bewegende achtergrond kan dit opgelost worden door eerst een schatting te maken van de globale beweging en die dan ongedaan te maken. De analyse van de bewegingsvector kan dan gebeuren op basis van het verschil van de totale

34 2. Introductie 25 beweging en de globale beweging. Aangezien bewegende objecten de globale beweging niet volgen zullen de vectorresidu s typisch groter zijn dan die van de achtergrond. [11] gaat de beweging schatten aan de hand van een transformatie op de bewegingsvectoren. De juiste parameters voor de transformatie worden bepaald door het minimaliseren van een fout. Deze fout is het verschil tussen het vectorveld waarvan men de globale beweging probeert te schatten en het vectorveld bekomen door toepassing van de transformatie op een veld waar alle vectoren grootte nul hebben. Segmentatie Segmentatie is het proces waarbij een veld ingedeeld wordt in meerdere aaneengesloten gebieden waarbij de elementen van dit gebied soortgelijk zijn. Soortgelijk zijn wordt vastgesteld aan de hand van verschillende criteria. Voor (genormaliseerde) bewegingsvectoren zijn de grootte en de richting van de vector de belangrijkste criteria. Verder wordt geëist dat de gebieden geconnecteerd en maximaal zijn. Met maximaal bedoelen we dat het niet mogelijk is een element toe te voegen het gebied zonder een van de criteria te schenden. We vermelden hier enkele algoritmes. Groeiend-gebied algoritme Op het veld worden bepaalde blokken als zaad benoemd, dit zijn dan voorlopige gebieden die exact één blok groot zijn. Dit kan op verschillende wijzen gebeuren zoals willekeurige benoeming, manuele benoeming als input, of elk blok benoemen. Vanuit deze zaden kan een gebied beginnen groeien. Elk van de gebieden vergelijkt zichzelf met blokken/gebieden uit de omgeving op basis van bepaalde criteria. Indien er genoeg gelijkenissen zijn dan wordt het gebied met het nieuwe blok/gebied samengevoegd. De waarden van de criteria voor het uitgebreide gebied moeten dan opnieuw berekend worden. Dit gedrag wordt voortgezet tot alle blokken definitief ingedeeld zijn in een bepaald gebied. We kunnen het groeiend-gebied concept ook omdraaien, Quad tree split-and-merge is hier een voorbeeld van. Hier starten we met het hele veld en splitsen we steeds meer op. Clustering Clustering is vrij gelijkaardig aan het groeiend-gebied algoritme. Het grote verschil is dat wanneer bij het groeiend-gebied algoritme een blok eenmaal toegewezen is aan een gebied, dit niet meer verandert. Bij clustering worden blokken in verschillende iteraties aan het best passende gebied toegewezen.

35 2. Introductie 26 Classificatie In de literatuur zijn er verschillende algoritmes te vinden die gebruik maken van een classificatiemethode om een veld in gebieden op te delen. De classificatie gebeurt meestal op basis van een drempelwaarde die al dan niet overschreden wordt. Meer geavanceerde algoritmes passen de drempelwaarde aan naar gelang de eigenschappen van bepaalde delen van het veld. Vaak dient classificatie als eerste schatting en worden verfijningen toegepast. In [9] wordt er gebruik gemaakt van de bewegingsvectorgrootte om de blokken in te delen in voorgrond-, achtergrond-, rand- en ruisblokken. De absolute waarde van de bewegingsvectorgrootte samen met de vergelijking met bewegingsvectorgroottes van naburige blokken zijn de classificatiecriteria. Hierna wordt een MRF(Markov Random Field) classificatie toegepast. Deze classificatie maakt gebruik van een MAP(Maximum A Posteriori) criterium. Men past de reeds gebeurde classificatie aan zodat elk blok zijn meest waarschijnlijke klasse(voorgrond of achtergrond) krijgt. Hiervoor worden drie aanwijzigen gebruikt, namelijk de gelijkheid van de bewegingsvectoren van naburige blokken, de temporele consistentie en de blokgrootte. Er bestaan nog een hoop andere segmentatiemethoden. We vermelden hier nog even de belangrijkste: Watershed Transformation, Scale-space-segmentatie, neurale-netwerksegmentatie,... Omdat deze methoden minder geschikt zijn voor segmentatie op bewegingsvectoren gaan we er hier niet dieper op in. Randdetectie Er bestaan verschillende algoritmes die erin slagen randen van objecten te detecteren. We bespreken de belangrijkste. Sobel operator De sobel operator gaat bij elke bewegingsvector na hoe vloeiend de overgang gebeurt naar bewegingsvectoren in zijn omgeving. De operator maakt hiervoor gebruik van discrete partiële afgeleiden. Indien de partiële afgeleide een grote waarde heeft wijst dit op een snelle verandering van de grootte en/of de richting van de bewegingsvector ten opzichte van zijn omgeving. Canny operator De Canny operator is ontstaan uit een compromis tussen volgende componenten: goede detectie, goede lokalisatie(de randen bevinden zich op de juiste plaats en niet zomaar in de buurt ervan)

36 2. Introductie 27 en een duidelijke boordvorming(boorden zijn dun en als het veld één rand bevat dan mag er maar één gedetecteerd worden). Het algoritme bestaat uit volgende vier stappen: 1. Pas een Gaussiaanse filter toe als lage-doorlaat filter op het veld. 2. De partiële afgeleiden worden geschat gebruik makende van een operator die gelijkaardig is aan de Sobel operator. 3. Voor alle bewegingsvectoren in het veld die mogelijks een rand zijn wordt de aanliggende bewegingsvector in de sterkst dalende richting beschouwd. Men beschouwt ook de aanliggende bewegingsvector in de sterkst stijgende richting. Heeft een van deze een grotere randsterkte dan wordt de huidige bewegingsvector geklasseerd als zijnde nietrandbewegingsvector. 4. Bij de laatste stap worden twee drempelwaarden toegepast: ε 1 en ε 2. Bewegingsvectoren waarvan de randsterkte kleiner is dan ε 1 worden beschouwd als niet-randbewegingsvectoren. Bewegingsvectoren waarvan de randsterkte groter is dan ε 2 worden beschouwd als rand-bewegingsvectoren. Waarden die een randsterkte hebben tussen ε 1 en ε 2 worden geklasseerd als randwaarde indien die bewegingsvector omringd is door voldoende rand-bewegingsvectoren. Bij randdetectie ontstaan er enkele problemen. Zo zijn randen vaak te breed en zijn er soms gaten (ook wel lekken genoemd) in de rand van een object. Er bestaan wel technieken om randen te verdunnen en gaten te dichten, maar deze zijn vaak niet erg efficiënt en het resultaat is niet altijd bevredigend. Randdetectie wordt daarom vooral toegepast als hulptechniek bij segmentatie. [10] maakt een veld met de grootte van de bewegingsvectoren aan en past hierop de Canny operator toe. Dit dient als een masker voor een groeiend-gebiedsegmentatie. Objecten volgen In sommige toepassingen kan het handig zijn onderscheid te maken tussen de verschillende objecten op de voorgrond en deze te volgen over verschillende beelden. [11] maakt gebruik van overeenkomsten tussen de segmenten van het huidig beeld en de voorwaartse projecties van objecten van voorgaande beelden. Bij een sterke overeenkomst is de kans groot dat het nieuwe segment overeenkomt met het object uit voorgaande beelden. In het algoritme wordt er een matrix opgesteld die de overeenkomsten tussen al de segmenten met al de voorgaande objecten weergeeft. Uit deze matrix kan men dan afleiden wat er gebeurt met het object. Op deze manier kunnen we veel meer waarnemen dan enkel een veranderde positie van een object. Gebeurtenissen zoals verdwijnen of verschijnen van een object, het samenvoegen van meerdere objecten, het opsplitsen in meerdere objecten kunnen ook afgeleid

37 2. Introductie 28 worden. Als bijvoorbeeld voor het object geen goede overeenkomst kan gevonden worden met een huidig segment, dan is dit object waarschijnlijk verdwenen. Indien twee objecten beide sterk correleren met een huidig segment dan zijn ze waarschijnlijk samengevoegd. Een ander concept dat bruikbaar is samen met objecten volgen, is scènedetectie. Dit is een methode die aangeeft wanneer een videosequentie overgaat naar een volgend shot. Objecten proberen te volgen over verschillende scènes heeft geen zin. De rekentijd die geïnvesteerd wordt in objecten volgen kan dus uitgespaard worden door een goede scènedetectie. In [16] wordt een algoritme voorgesteld dat op efficiënte wijze scènes detecteert.

38 3. Algoritme ALGORITME In dit hoofdstuk introduceren we een algoritme voor detectie van bewegende objecten in SVC. Aangezien de nadruk vooral ligt op bewaking, veronderstellen we een statische achtergrond. Voor videostromen met bewegende achtergrond kan dit algoritme uitgebreid worden met globale bewegingscompensatie, zoals uitgelegd in hoofdstuk Vooraleer in te gaan op de details van het algoritme bekijken we eerst de invloed van schaalbaarheid op de indicatoren OVERZICHT Denk even terug aan de voorbeeldapplicatie van Hoofdstuk 1. Objectdetectie gebeurde daar op twee niveaus, namelijk op de basislaag en een verbeteringslaag. Omdat er veel video s op basislaag moeten geanalyseerd worden wensen we een snelle detectiemethode. Het is vooral belangrijk te weten dat er beweging is en waar die ongeveer plaatsvindt. Indien we één van de video s selecteren krijgen we de video in een groter formaat, hier wensen we een meer accurate detectie. Dit reflecteert zich in het algoritme, zoals zichtbaar in Figuur 9. De werkwijze is als volgt: We gebruiken de basislaag en de verbeteringslaag als input. We passen een vorm van voorverwerking toe. Dit omvat onder andere normalisatie en filtering van de bewegingsvectoren. We passen een simpel algoritme toe op de basislaag die objecten detecteert. Aangezien de basislaag volledig H.264/AVC-compatibel is, kunnen we bestaande algoritmes toepassen hiervoor. We geven echter de voorkeur aan een eigen algoritme. Nadat de objecten in de basislaag gedetecteerd zijn, doen we een opschalingssoperatie van het beeld in de basislaag zodanig dat de resolutie overeenkomt met die uit de verbeteringslaag. Dit gebruiken we als startpunt voor detectie in de verbeteringslaag. Het kan gebeuren dat er geen overeenkomstig co-beeld te vinden is in de basislaag wegens een verschil in het aantal temporele lagen met de verbeteringslaag. We hebben nood aan een ander startpunt. Dit kunnen we bekomen door projectie vanuit een ander beeld uit de verbeteringlaag die al volledig onderzocht is geweest. In de verbeteringslaag onderzoeken we enkel de randen van de reeds gedetecteerde objecten. Het gaat hier dus enkel nog om een verfijning.

39 3. Algoritme 30 Figuur 9: Overzicht algoritme. De blauwe en de rode lijnen stellen de respectievelijk trajecten voor die de basislaag en de verbeteringslaag doorlopen. We bekijken elk van deze stappen in detail INPUT Basislaag Om H.264/AVC-compatibel te zijn moet de input voor de basislaag de laagste kwaliteitslaag binnen de laagste spatiale laag zijn. We hebben wel enige vrijheid voor temporele lagen. We gebruiken liefst een zo hoog mogelijke temporele laag. Op deze manier kunnen we de objectdetectie op niveau van de verbeteringslaag beter ondersteunen. Verbeteringslaag In feite zijn er geen beperkingen voor de verbeteringslaag. We kunnen gelijk welke spatiale laag kiezen, gelijk welke kwaliteitslaag en gelijk welke temporele laag. We veronderstellen echter dat de verbeteringslaag minstens evenveel temporele lagen bevat als de basislaag. Het is mogelijk om dezelfde spatiale laag te kiezen als van de basislaag indien we enkel de kwaliteit en/of het aantal beelden per seconde wensen te verbeteren. De opschalingsstap wordt hier dan triviaal.

40 3. Algoritme VOORVERWERKING De voorverwerking van een videostroom bestaat uit vier stappen. Ze worden afgebeeld in Figuur 10. Extractie van gegevens Bewegingsvector selecteren Normalisatie Filtering Figuur 10: De vier stappen in voorverwerking. Extractie van gegevens Het is natuurlijk de bedoeling zo weinig mogelijk te decoderen voor het toepassen van het algoritme. We decoderen enkel de bewegingsvectoren en de DC-coëfficiënten. Dit betekent dat we inverse entropiecodering en inverse kwantisatie moeten toepassen. Verder moeten we de residu s van de bewegingsvectoren bij de voorspelde waarden optellen. Hetzelfde geldt voor de DC-coëfficiënt. Vanaf dit moment kunnen we beginnen met de toepassing van het algoritme. Op deze manier kunnen we de objectdetectie in parallel uitvoeren met de verdere decodering van de video. Dit laatste is echter geen noodzaak. Het is mogelijk dat we enkel willen weten of er bewegende objecten zijn zonder dat we de videostroom willen zien. Bewegingsvector selecteren Voor een vlotte verwerking wensen we dat we kunnen werken op een uniforme manier. B- blokken kunnen echter beschikken over twee bewegingsvectoren, waar P-blokken er slechts één hebben. We wensen slechts met één bewegingsvector te werken. We kunnen dit realiseren op verschillende manieren. Altijd de eerste vector kiezen(lijst 0). Altijd de tweede vector kiezen(lijst 1). Het gemiddelde tussen de twee vectoren kiezen. Een gewogen gemiddelde tussen de twee vectoren waarbij het gewicht bepaald is door het gewicht bij de voorspelling. Voor het algoritme hebben we gekozen voor de laatste optie. Neem bijvoorbeeld een blok dat voorspeld wordt door een gewogen gemiddelde van een pixelgebied in het vorig beeld en een pixelgebied in het volgend beeld. De respectieve gewichten van de gebieden zijn 0,3 en 0,7.

41 3. Algoritme 32 Aangezien het gewicht gelinkt aan het volgende beeld groter is, lijkt dat pixelgebied sterker op het te voorspellen blok. De bijhorende bewegingsvector is dus waarschijnlijk meer representatief voor de beweging van het object. Normalisatie Om blokken op een uniforme manier te kunnen verwerken passen we normalisatie toe zoals besproken in Op deze manier bekomen we een veld van 4x4-blokken elk met hun eigen bewegingsvector. De bewegingsvectoren zijn geschaald volgens de temporele afstand. Op deze manier kunnen we bewegingsvectoren van verschillende beelden vergelijken. In het vervolg van dit hoofdstuk zullen we het altijd hebben over 4x4-blokken. Indien we een ander type blok bedoelen zal dit specifiek vermeld staan. Filtering In hoofdstuk hebben we een reeks filters gezien. We kunnen deze filters nu toepassen op de bewegingsvectoren van de blokken. Voor het algoritme hebben we vier opties geselecteerd. We vermelden ze met hun voordelen. Geen filter: geen tijdsverlies Mediaanfilter (3x3): heel snel, verwijdert impulsruis. Temporele mediaanfilter (3x3x3 of 3x3x2): gebruikt ook informatie uit andere beelden, verwijdert impulsruis. Temporele beste-buurfilter.(3x3x3 of 3x3x2): gebruikt ook informatie uit andere beelden, onderdrukt impulsruis, kan beter omgaan met randen. De temporele mediaanfilter werkt als een gewone mediaanfilter maar neemt de mediaan uit 18 of 27 waarden in plaats van 9 waarden. Hiervan komen 9 waarden uit het huidige beeld en telkens 9 waarden uit de referentiebeelden van de bewegingsvector. Voor P-beelden zijn dit dus 18 waarden. Voor B-beelden zijn dit meestal 27 waarden. Aangezien een object zich niet noodzakelijk op dezelfde plaats hoeft te bevinden in de verschillende beelden moeten we hier rekening mee houden. Stel we passen de filter toe op een blok in het huidig beeld. Dan kunnen we zijn bewegingsvector gebruiken als benadering voor de beweging die het object maakt over de verschillende beelden heen. In de referentiebeelden verschuiven we het invoervenster over deze afstand. Figuur 11 illustreert het geval voor B-beelden.

42 3. Algoritme 33 Figuur 11: Temporele filter gebruikmakend van projectie. De oranje blokken worden gebruikt als input voor de filtering van de centrale waarde in het huidige beeld. De temporele beste-buurfilter is zeer gelijkaardig aan de temporele mediaanfilter. De filter elimineert de slechtste buren op vijf na en neemt dan hun gemiddelde. Slechte buren zijn buren met een bewegingsvector die niet lijkt op de huidige bewegingsvector. We gebruiken hiervoor de euclidische afstand. Het lijkt misschien vreemd om zich te beperken tot referentiebeelden bij gebruik van temporele filters. Niets weerhoudt ons om ook andere beelden te gebruiken om extra informatie te winnen. Dit is echter enkel maar het geval wanneer we er zeker van zijn dat die andere beelden ook effectief aanwezig zijn. Een verbeteringslaag kan in iedere knoop van het netwerk tegengehouden worden, bijvoorbeeld bij tijdelijke overbelasting. We wensen dat het algoritme ook onder deze omstandigheden kan blijven werken. Van de referentiebeelden kan men wel zeker zijn dat deze aanwezig zijn, anders zou het onmogelijk zijn om het beeld te decoderen BASISLAAG In de basislaag wensen we een snelle methode te gebruiken om objecten te vinden. De nadruk ligt op het al dan niet aanwezig zijn van objecten en hun bijhorende locatie. Het is minder belangrijk om de objecten mooi af te lijnen op dit niveau. We maken onderscheid tussen I- beelden enerzijds en P- en B-beelden anderzijds. De beelden worden in dezelfde volgorde verwerkt als ze gedecodeerd worden. P- en B-beelden Na de toegepaste normalisatie en filtering veronderstellen we dat onechte grote bewegingsvectoren grotendeels verwijderd zijn uit het beeld. We kiezen een drempelwaarde α. Alle blokken met bewegingsvector(x i, y i ) waarvan x i ² + y i ² groter is dan α markeren we als een object. α wordt best verschillend gekozen voor verschillende videostromen en kan best experimenteel vastgesteld worden. We kiezen α meestal vrij laag(orde 0-10) want het is

43 3. Algoritme 34 belangrijk geen objecten over het hoofd te zien. Indien een object niet aangeduid wordt in de basislaag zal het niet onderzocht worden in de verbeteringslaag. Hier geldt zeker beter te veel dan te weinig! We nemen het kwadraat van de modulus omdat we op deze manier een dure vierkantsworteloperatie uitsparen. In P- en B-beelden kunnen er ook I-macroblokken voorkomen. Zoals eerder vermeld wijst dit met een behoorlijke probabiliteit op de aanwezigheid van een object. We markeren heel het macroblok als object, zodanig dat dit zeker nader wordt onderzocht in de verbeteringslaag. I- beelden Een I-beeld in de basislaag stemt overeen met een I-beeld in de verbeteringslaag. Aangezien het I-beeld in de verbeteringslaag geen informatie bevat om de aanwezigheid van objecten nader te onderzoeken passen we daar een andere methode toe. Dit gebeurt aan de hand van projectie uit andere beelden in de verbeteringslaag. Strikt genomen is het dus niet nodig om objecten te detecteren in de basislaag bij I-beelden. Soms echter willen we de basislaag ook als output of onderzoeken we enkel de basislaag. Dan passen we hier ook projectie toe. We stellen hier de projectiemethode voor. Figuur 12 toont de werkwijze. In het P- of B-macroblok zijn de objecten reeds gedetecteerd. Voor elk blok dat aangeduid is in het P- of B-macroblok doen we het volgende. We verplaatsen het blok over een afstand evenredig met zijn bewegingsvector. We moeten wel rekening houden met het feit dat de vectoren reeds genormaliseerd zijn. We moeten deze grootte dus nog vermenigvuldigen met de temporele afstand. Het verplaatste blok zal over het algemeen met verschillende blokken overlappen. We duiden al deze blokken aan in het I-macroblok als object. Het geprojecteerde object zal dus iets groter zijn dan het originele object. Voor I-beelden komt het erop neer dat de projectie gebeurt uit het vorige beeld uit dezelfde laag. Indien die laag enkel bestaat uit I-beelden kijken we naar een bovenliggende laag en kiezen we daar het meest dichtbijliggende beeld(temporeel gezien). Indien er in dat geval ook geen beeld beschikbaar is dan is het onmogelijk om objecten te detecteren op deze manier omdat de stroom enkel I-beelden bevat.

44 3. Algoritme 35 Figuur 12: Voorbeeld van projectie. Het oranje blok in het P- of B-macroblok wordt geprojecteerd volgens zijn bewegingsvector naar het I-macroblok. Deze projectie overlapt met verschillende blokken in het I-macroblok. De grijze blokken zullen als object worden gemarkeerd VERBETERINGSLAAG De bewerkingen in de verbeteringslaag bestaan uit verschillende stappen. We maken opnieuw een onderscheid tussen I-beelden enerzijds en P- en B-beelden anderzijds. De stappen voor P- en B-beelden zijn als volgt. We zoeken een startpunt. Dit is een beeld waarbij de objecten reeds benaderd bepaald zijn. We zoeken de randen van de objecten. De gevonden randblokken worden nader onderzocht. Indien een nieuw blok gemarkeerd wordt als object of wanneer zijn markering wordt ingetrokken, wordt zijn omgeving ook opnieuw onderzocht. Deze stap wordt iteratief herhaald tot er geen markeringen meer wijzigen. We bekijken elk van deze stappen in detail: Startpunt Om tot een startpunt te komen voor de detectie zijn er twee methoden. Indien er een co-beeld aanwezig is in de basislaag zoeken we daar eerst naar objecten(zie 3.2.4). Daarna schalen we de resolutie op tot de gepaste grootte. In deze masterproef beperken we ons tot het geval waarbij de resolutie van de verbeteringslaag een veelvoud is van de resolutie op basislaag. Dit laat een eenvoudig opschalen toe. Indien dit niet het geval is moet er gebruik gemaakt worden van filters voor opschaling.

45 3. Algoritme 36 Indien het co-beeld niet aanwezig is, kunnen we projectie toepassen. Een beeld dat geen cobeeld heeft in de basislaag is typisch een beeld in een hogere temporele laag. Dit zijn over het algemeen B- beelden. We kunnen nu per referentiebeeld een projectie uitvoeren en de unie nemen. Op deze manier zijn we vrij zeker dat geen object gemist wordt. Randen Onder een rand van een object verstaan we alle blokken die in hun omgeving een blok hebben die anders gemarkeerd is. Met de omgeving van een blok bedoelen we 8 blokken die aan het huidig blok grenzen. Indien het blok zich aan de rand van het beeld bevindt, is zijn omgeving beperkt tot die blokken die niet naast het beeld vallen. Figuur 13 toont de omgeving van een blok. Figuur 14 toont de rand van een klein object. We verzamelen de randblokken en plaatsen ze in een lijst S. Nader onderzoek In de verbeteringslaag ligt de nadruk van de detectie wel op een precieze aflijning van objecten. Daarom gebruiken we ook alle drie de indicatoren namelijk de bewegingsvectoren, de transformatiecoëfficiënten en de blokgrootte. Voor de transformatiecoëfficienten beperken we ons tot de DC-coëfficiënt. We werken met een puntensysteem. Hierbij krijgt een blok een score op 100. Indien de score van het blok groter is dan een drempelwaarde δ wordt hij aangeduid als object. Bij een lage waarde voor δ zullen er meer valse positieven optreden. Bij een hoge δ zullen er weinig valse positieven voorkomen, maar is het risico groter dat bepaalde blokken onterecht als achtergrond worden ingedeeld groter. De waarde van δ moet ingesteld worden afhankelijk van de toepassing die men voor ogen heeft. We houden in gedachte dat er in P- en B-beelden ook I-blokken kunnen voorkomen. Voor deze blokken hebben we een andere werkwijze. We hebben al eerder vermeld dat indicatoren bij P- en B-beelden zich verschillend gedragen. Bij zowel P- als B-beelden zijn bewegingsvectoren de beste indicatoren. Voor P-beelden zijn zowel de DC-coëfficiënten als de blokgrootte matige indicatoren. Elk van deze indicatoren hebben last van valse positieven. Bij B-beelden is de situatie anders. Hier zijn de blokgroottes heel goede indicatoren. Hoe hoger de temporele laag hoe kleiner het aantal valse positieven. Het is wel zo dat zeker niet alle blokken van objecten een kleine blokgrootte hebben. DC-coëfficienten zijn typisch kleiner voor B-beelden aangezien deze meestal beter voorspeld worden. Deze kleinere DC-coëfficiënten kunnen we minder goed onderscheiden van de aanwezige ruis. We opteren om aan de indicatoren in P-en B-beelden verschillende gewichten te geven. De verschillende gewichten worden voorgesteld in Tabel 1.

46 3. Algoritme 37 Figuur 13: Omgeving van een blok. Het grijze gebied is de omgeving van het oranje blok. Figuur 14: Rand van een object. Het object is aangeduid in het oranje, de rand is aangeduid met de letter R

47 3. Algoritme 38 P-beelden B-beelden W_MV W_DC W_BS Tabel 1: Gewichten voor verschillende indicatoren bij verschillende macrobloktypes. In het vervolg van dit hoofdstuk zullen we altijd verwijzen naar deze gewichten via hun verkorte naam. Deze zijn respectievelijk W_MV, W_DC en W_BS voor de gewichten van de bewegingsvectoren, de DC-coëfficiënt en de blokgrootte. Voor elk van de indicatoren krijgen de blokken een aantal punten. Deze punten worden bepaald door het gewicht van de indicator te vermenigvuldigen met een factor. Deze factor ligt altijd in het interval 0 tot en met 1. We bespreken hoe de verschillende factoren worden berekend. Bewegingsvectoren We werken met drie verschillende drempelwaarden: β0, β1 en β2, waarbij β0 strikt kleiner is dan β1 dat op zijn beurt strikt kleiner is dan β2. Op deze manier kunnen we meer gediversifieerd punten geven. We stellen het kwadraat van de modulus van de bewegingsvector voor door X. Tabel 2 geeft de factoren weer. Uit analyse van SVC-videostromen blijken drie drempelwaarden voldoende te zijn. Indien men een fijnere indeling wenst kan men het aantal drempelwaarden verhogen, of zelfs overstappen naar een continue functie. factor X < β0 0 β0 X < β1 0.5 β1 X < β2 0.7 β2 X 1 Tabel 2: Factoren voor de bewegingsvectoren bij verschillende groottes van X. Voor waarden van δ die niet heel erg klein of heel erg groot zijn, zijn de factoren zodanig gekozen dat een grote waarde voor X op zich al voldoende is voor een markering als object. Bij een matige grootte zijn de andere indicatoren doorslaggevend. Bij een zeer kleine bewegingsvector is er bijna geen kans dat het blok ingedeeld wordt bij de objecten. Speciale aandacht gaat hier naar macroblokken die voorspeld worden vanuit de basislaag. Deze blokken bezitten geen bewegingsvectoren. Om dit probleem het hoofd te bieden maken we gebruik van de bewegingsvectoren uit de basislaag. Uiteraard moeten we deze bewegingsvectoren nog schalen volgens het verschil in resolutie.

48 3. Algoritme 39 DC-coëfficiënten Voor DC-coëfficiënten gaan we helemaal anders te werk. We beschouwen zowel de DCcoëfficiënt van de lumacomponent als de DC-coëfficiënten van de chromacomponenten. Bij blokken geassocieerd met objecten verwacht men grotere waarden voor de DC-coëfficiënten. We merken echter dat bij dergelijke blokken de kans toch niet bijzonder groot is dat de DCcoëfficienten groter zijn dan nul. Het is echter wel waarschijnlijk dat in de directe omgeving van het blok grote DC waarden te vinden zijn. We gebruiken twee drempelwaarden: γ0 en γ1, waarbij γ0 strikt kleiner is dan γ1. We houden ook een waarde C bij. Voor elk blok onderzoeken we zijn omgeving(zoals gedefinieerd in Figuur 13). Voor elk blok in die omgeving, het blok inclusief nemen we volgend stappen: Controleer of één van de drie DC-coëfficienten groter is dan γ1, indien dit het geval is, incrementeren we C tweemaal. Indien geen enkele DC-coëfficient groter is dan γ1 controleren we of we een DCcoëfficient kunnen vinden die groter is dan γ0. Indien dit het geval is incrementeren we C eenmaal. De factor wordt toegewezen volgens de grootte van de waarde C. Tabel 3 geeft weer hoe dit gebeurt. factor C = < C < C < C 1 Tabel 3: factoren voor DC-coëfficiënten bij verschillende groottes van C. De waarden zijn zodanig gekozen dat twee grote waarden en één matige waarde voldoende zijn voor een maximale factor. Wanneer slechts één matige waarde kon gevonden worden is de factor nog altijd groter dan nul. Blokgrootte Voor de blokgroottes onderscheiden we twaalf verschillende modi overeenkomstig met de standaard, deze worden weergegeven in Tabel 4. Speciale aandacht gaat naar de modus INTRA_BL die wijst op een voorspelling vanuit de basislaag(base Layer) en de INTRA-modi die wijzen op een I-blok. I-blokken behandelen we op een andere manier en worden in de volgende

49 3. Algoritme 40 paragraaf besproken. De factoren in Tabel 4 werden bepaald uit analyse van SVC-stromen. Via statistische analyse kunnen we ook op empirische wijze dergelijke factoren opstellen. factor 16x16 Skip 0 16x x x x8 Skip 0.1 8x x x x4 1 INTRA_BL 0.5 of 0.7 INTRA 16x16 INTRA 4x4 n.v.t. n.v.t. Tabel 4: Factoren volgens verschillende blokmodi. De skipblokken krijgen de laagste factoren. Skipblokken komen typisch voor wanneer het blok (16x16 of 8x8) er exact hetzelfde uitziet als het gerefereerde pixelgebied uit het referentiebeeld. Verder krijgen de blokken steeds grotere factoren naarmate de blokgrootte afneemt. Dat de encoder een voorspelling gebruikt vanuit het co-beeld in de basislaag en niet vanuit een beeld in de verbeteringslaag wijst vaak op een object. Het gebruik van de modus INTRA_BL wijst dus eventueel op de aanwezigheid van een object. Bij deze modus krijgen P-beelden een andere factor dan B-beelden respectievelijk 0,5 en 0,7. In P-beelden is het zo dat de voorspelling meestal een grotere temporele afstand moet overbruggen. Hier is het dus meer waarschijnlijk dat er geen goede voorspelling kon gevonden worden in het referentiebeeld. Bij B-beelden is de temporele afstand kleiner. Als er hier een voorspelling gebeurt vanuit de basislaag wijst dit dus op een snel veranderd gebied. Dit effect is dus des te groter bij een hogere temporele laag. De hierboven vermelde invloed van de temporele afstand is niet enkel van toepassing voor het geval van de INTRA_BL modus. Ook voor kleine blokgroottes is dit het geval. Hoe hoger de temporele laag, hoe sterker deze indicatoren worden. Daarom voegen we bij B-beelden een extra factor toe. Deze is gelijk aan 1+T/10. Hier is T het nummer van de temporele laag. De factor 1/10 blijkt goed te werken wanneer er slechts drie temporele lagen zijn. Wanneer er meer lagen zouden zijn moet men ook rekening houden met het totaal aantal lagen.

50 3. Algoritme 41 I-blokken Wanneer we tijdens een nader onderzoek stoten op een blok afkomstig uit een I-macroblok moeten we een andere methode toepassen. We gebruiken hier de projectiemethode zoals voorgesteld in We stellen een projectiebeeld op. Daarna kopiëren we hieruit de markeringen van het overeenkomstige macroblok in het I-macroblok van het huidig beeld. We houden het projectiebeeld bij voor het geval we nog meer I-macroblokken moeten onderzoeken. Voor P-beelden projecteren we vanuit het referentiebeeld. Voor B-beelden nemen we de unie van projecties uit de twee referentiebeelden. Een punt van kritiek kan hier zijn dat de projectie, en zeker de unie van twee projecties, te veel blokken zouden markeren. Dit is echter gemakkelijk te verwerpen. We gebruiken enkel die blokken uit de projectie waarvoor het huidig blok intragecodeerd is. Dat er hier veel gedetecteerd wordt, is zeker geen probleem. Aangezien een blok intragecodeerd is, is er een sterke indicatie dat er bewegende objecten aanwezig zijn. We hebben het algoritme voor P- en B-beelden besproken. Voor I-beelden hebben we geen indicatoren. We zijn dus verplicht ons te baseren op informatie uit andere beelden. We gaan op dezelfde manier te werk als op de basislaag. We projecteren vanuit het vorige beeld op de laagste temporele laag. Indien die enkel bestaat uit I-beelden grijpen we naar een hogere laag. Indien die hogere laag niet aanwezig is, is het onmogelijk om met dit algoritme objecten te detecteren in I-beelden EFFICIËNTIE Objectdetectie met bovenstaand algoritme zou moeten sneller werken dan wanneer men meteen elk blok op de verbeteringslaag zou onderzoeken. Laten we een theoretische benadering doen van de te verwachten tijdswinst. We beperken ons hier tot het geval van P- en B-beelden waarvan het co-beeld in de basislaag aanwezig is. We onderzoeken beeld 21 uit de videostroom IndoorGTTest_2. Figuur 15 toont het startpunt bekomen uit opschaling van de gedetecteerde blokken in de basislaag. Figuur 16 geeft het uiteindelijke resultaat weer. Voor de berekeningen moeten we rekening houden met volgende zaken. We veronderstellen dat het onderzoeken van een blok op verbeteringslaag ongeveer een periode 4t in beslag neemt. Een blok onderzoeken op basislaag neemt ongeveer een periode t in beslag. Hierbij is t een tijdsconstante die afhangt van de implementatie en de hardwareconfiguratie.

51 3. Algoritme 42 Een startpunt bekomen via opschaling is evenredig met het aantal nodige bloktoegangen in de verbeteringslaag. Enkel om een blok te markeren is er een bloktoegang nodig. Dit neemt ongeveer een periode t in beslag. De resolutie van het basisbeeld is 160x120 pixels. De resolutie van het verbeteringsbeeld is 320x240 pixels. Figuur 15: Beeld 21(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de basislaag na opschaling. Figuur 16: Beeld 21(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag. De tijd nodig om elk blok individueel te onderzoeken in de verbeteringslaag, zonder enige kennis vanuit het basisbeeld is: t = 19200t 4 We berekenen de tijd nodig door ons algoritme om objecten te detecteren. De basislaag volledig onderzoeken gebeurt in een tijd: t = 1200t In de basislaag worden er 112 blokken gedetecteerd. Na opschaling komt dit overeen met 448 blokken in de verbeteringslaag. De tijd nodig om een startpunt te bekomen is dus 448t. In de verbeteringslaag bestaat de rand in eerste instantie uit 232 blokken. Deze zijn gestockeerd in een lijst S. Tijdens het onderzoeken van deze blokken worden er in totaal nog 84 blokken toegevoegd aan de lijst. In totaal werden er dus 316 blokken onderzocht in de verbeteringslaag. De totale tijd bedraagt dus 1200t + 448t t = 2912t. Dit is slechts 15,17% van de tijd nodig om heel het verbeteringsbeeld te onderzoeken!

52 3. Algoritme 43 De cijfers hierboven zijn bekomen door toepassing van een simulatie op IndoorGTTest_2 met toepassing van een mediaanfilter en δ gelijk aan 50. In de simulatie bedroeg de rand gemiddeld gezien per beeld 151 blokken en daar kwamen gemiddeld 147 blokken bij tijdens het nader onderzoek. In de basislaag werd er gemiddeld 64 blokken per beeld gedetecteerd. Dit komt neer op een gemiddelde zoektijd van 2648t. Dit is 13,79% van de tijd nodig om heel het verbeteringsbeeld te doorzoeken. Enkele kritische bedenkingen hieromtrent zijn: Ten eerste hangt de totale zoektijd af van het aantal en de grootte van de objecten. Wanneer er geen objecten aanwezig zijn is er enkel de kost om de basislaag te onderzoeken. Anderzijds zal een videostroom met heel veel kleine objecten bijna geen tijdswinst maken. De zoektijd zal echter zelden groter zijn dan de zoektijd om heel het verbeteringsbeeld te onderzoeken. Het grote probleem hier is dat een variabele rekentijd altijd problematisch is voor soft-realtimeapplicaties. Ten tweede wordt de voorverwerking wel toegepast op heel de verbeteringslaag. De tijdsspanne voor voorverwerking is van dezelfde orde als het onderzoek op de verbeteringslaag. Niets weerhoudt ons echter om enkel voorverwerking toe te passen in de gebieden waar het nodig is. De resultaten in hoofdstuk 1 hebben geen betrekking op tijdsaspecten. Een reden hiervoor is dat de gebruikte software voor SVC zelf nog niet realtime is.

53 4. Resultaten RESULTATEN 4.1. VIDEOSTROMEN Voor de analyse van het algoritme zullen we gebruikmaken van vier videostromen. Uit elke videostroom hebben we 300 beelden geselecteerd. De fragmenten werden zodanig gekozen dat enkele typische gedragingen van objecten zich voordeden. Dit zijn het verschijnen, verdwijnen, versnellen, vertragen, samenvoegen en opsplitsen van objecten. Tabel 5 lijst de videostromen op samen met hun belangrijkste eigenschappen en een korte beschrijving. Tenzij anders vermeld worden de videostromen altijd op de volgende manier gecodeerd: De resolutie van de basislaag is de helft (zowel in de breedte als in de lengte) van de resolutie van de verbeteringslaag. Beide lagen zijn gecodeerd volgens het patroon: IBBBPBBBPBBBPBBB. De GOP-grootte is 4 en om de 16 beelden is er een I-beeld. De kwantisatieparameter is 32. De zoekmethode in de encoder is FastSearch met SearchRange op 32. Interlaagvoorspelling is adaptief. De encoder kan dus zelf beslissen wanneer hij voorspelling vanuit de basislaag gebruikt. Er zijn dus twee spatiale lagen en drie temporele lagen. Er zijn geen kwaliteitslagen opgenomen wegens gebrek aan invloed op het algoritme(zie 3.1). We gebruiken verschillende drempelwaarden voor de verschillende videostromen. Deze waarden werden experimenteel bepaald door analyse van de videostromen(over de hele sequentie, niet enkel de 300 geselecteerde beelden). Zoals je kan zien in Tabel 6 zijn de waarden voor β0, β1 en β2 sterk afhankelijk van het type videostroom. In IndoorGTTest_2 en Speedwa1 komen de objecten dicht in de buurt van de camera. Door hun snelle beweging hebben hun bewegingsvectoren een grotere modulus. De ontstane ruis bij de bewegingsvectoren is echter ook veel groter, vandaar de grote drempelwaarden. We kunnen volgende trend waarnemen in de waarde voor βi: β i+1 2,5 β i De aanwezigheid van de vierkantswortels is te zoeken bij het feit dat we het kwadraat van de modulus van de bewegingsvector, en niet de modulus zelf, toetsen aan de drempelwaarden.

54 4. Resultaten 45 resolutie bps beelden omschrijving De video is een opname in een binnenruimte. Een persoon loopt van rechtsonder naar linksmidden en IndoorGTTest_2 320x PetsD1TeC1 384x speedwa1 352x ETRI_od_A 352x verdwijnt uit beeld. Een andere persoon volgt hetzelfde traject. De eerste persoon keert terug. Voor, na en tussen de drie acties in zijn er verschillende beelden zonder activiteit. Deze sequentie speelt zich buiten af. Gedurende heel het videofragment rijdt er een auto van linksmidden naar rechtsonder. Na een paar seconden komen drie personen rechtsonder in beeld. Wat later verschijnt ook een persoon vanuit de linkerkant. De personen blijven allen zichtbaar voor de rest van de sequentie. Dit videofragment toont de activiteit op een autosnelweg. In de eerste helft van de sequentie is er veel verkeer. Naar het einde toe is er steeds minder verkeer. Ten allen tijde is er minstens één auto in beeld. Deze sequentie toont wandelaars in een park. Twee personen A en B komen traag aangewandeld vanuit de linkerkant. Een derde persoon C komt tevoorschijn vanuit de rechterkant. Op dit moment staan A en B even stil. A begint terug te wandelen terwijl B blijft wachten op C. A verdwijnt aan de rechterkant van het scherm. Tabel 5: De vier onderzochte videostromen met enkele relevante eigenschappen. De afkorting bps staat voor beelden per seconde, de kolom beelden bevat de beeldnummers van de 300 geselecteerde beelden.

55 4. Resultaten 46 α β0 β1 β2 γ0 γ1 IndoorGTTest_ PetsD1TeC speedwa ETRI_od_A Tabel 6: Parameterwaarden voor de verschillende videostromen De videostromen analyseren we aan de hand van steekproeven. Om de negen beelden vergelijken we het bekomen resultaat met een referentiebeeld. Op het referentiebeeld zijn de objecten manueel gemarkeerd. De GOPgrootte is 4. Wanneer we negen beelden opschuiven, schuiven we dus twee GOPs op en nog één beeld. Op deze manier zijn er in onze steekproef in verhouding evenveel beelden van het type I, P en B als in de originele video WERKWIJZE We vergelijken de beelden van een sequentie altijd op twee manieren. Enerzijds objectief via metingen en anderzijds via visuele inspectie. Voor de objectieve metingen maken we gebruik van beelden waarin de bewegende objecten manueel zijn aangeduid. We vergelijken het outputbeeld van het algoritme met deze beelden en delen de blokken in volgens vier categorieën: de ware positieven, de valse positieven, de ware negatieven en de valse negatieven. Hun definities zijn als volgt: Een ware positieve is een blok dat zowel in het manueel opgesteld beeld, als in het outputbeeld van het algoritme gemarkeerd is als object. Dit blok werd dus terecht door het algoritme gemarkeerd. Een valse positieve is een blok dat in het outputbeeld van het algoritme gemarkeerd is, maar niet in het manueel opgestelde beeld. De markering is dus onterecht. Een ware negatieve is een blok dat zowel in het manueel opgesteld beeld, als in het outputbeeld niet gemarkeerd werd. Een valse negatieve is een blok dat gemarkeerd is in het manueel opgesteld beeld, maar niet in het outputbeeld. Het algoritme heeft dit blok onterecht niet gemarkeerd. Als de objectieve maatstaven gebruiken we recall en precision. Recall geeft de verhouding van het aantal correct gedetecteerde blokken op het aantal blokken die effectief samenvallen met bewegende objecten. Precision geeft het aantal correct gedetecteerde blokken op het totaal aantal gedetecteerde blokken. In functie van voorgaande categorieën komt dit overeen met:

56 4. Resultaten 47 Recall = Precision = ware positieven ware positieven + valse negatieven ware positieven ware positieven + valse positieven Over het algemeen zal recall toenemen naarmate de drempel δ afneemt. Precision zal echter toenemen bij toenemende waarde van δ. Voor de ene toepassingen is recall de belangrijkste eigenschap, een andere kan meer waarde hechten aan precision. Wanneer we terugdenken aan voorbeeldapplicatie 2 uit hoofdstuk 1 zal recall typisch belangrijker zijn. Indien een object in de eerste stap niet gedetecteerd wordt, zal er geen verdere verwerking gebeuren. Bij voorbeeldapplicatie 1 zal precision typisch belangrijker zijn. Wanneer er te veel vals alarm zou geslagen worden, let men na verloop van tijd niet meer op het alarm(denk aan het testen van een brandalarm). We zullen δ verschillende waarden laten aannemen. Een aanvullende visuele inspectie hierop is belangrijk. We willen weten of de vormen van de objecten ongeveer juist zijn en waar de valse positieven zich bevinden. Valse positieven die zich in de buurt van bewegende objecten bevinden zijn minder hinderlijk dan deze die zich ver weg van objecten bevinden of deze die voorkomen zonder aanwezigheid van objecten. Deze laatste geven aanleiding tot fenomenen als een vals alarm en moeten dus zoveel mogelijk vermeden worden. In de volgende secties onderzoeken we de invloed van enkele belangrijke variabelen van het algoritme. Deze variabelen zijn: De filter toegepast op de bewegingsvectoren. De methode om een startpunt te maken, dit kan zijn via de basislaag of via projectie uit de verbeteringslaag. De resolutie van de basislaag. De beeldkwaliteit van de video.

57 4. Resultaten INVLOED VAN DE FILTERS We bekijken de invloed van het type filter tijdens de voorverwerking op de prestatie van het algoritme. De invloed van de filters manifesteert zich op twee vlakken: De herkenning van objecten in de basislaag en de aflijning van de objecten in de verbeteringslaag. We maken gebruik van twee videostromen: IndoorGTTest_2 en PetsD1TeC1. IndoorGTTest_2 is een videostroom met grote en vrij snel bewegende objecten. In PetsD1TeC1 bewegen de objecten een stuk trager en zijn ze veel kleiner. Tenzij expliciet vermeld, kiezen we δ gelijk aan 50. We onderzoeken de invloed van de vier soorten filters zoals voorgesteld in sectie 3.3. Geen filter Tabel 7 toont de resultaten voor IndoorGTTest_2 op basislaag. Tabel 8 toont de resultaten voor PetsD1TeC1 op basislaag. De resultaten zijn samengevat volgens de verschillende types beelden. B(1) en B(2) staan hierbij respectievelijk voor B-beelden op temporele laag 1 en B-beelden op temporele laag 2. B is de aggregatie van B(1) en B(2). Voor I-beelden is er geen detectie gebeurd op basislaag, want een startpunt wordt gegenereerd door middel van projectie in de verbeteringslaag. Hierdoor bekomen we telkens 0% voor zowel recall als precision. Bij P- beelden halen we de grootste recall, maar een mindere precision. Bij B-beelden is de recall nog steeds vrij hoog, maar minder dan bij de P-beelden. De precision ligt echter wel een stuk hoger. Ook visueel stellen we dit vast; bij IndoorGTTest_2 wordt bijvoorbeeld de reflectie op de vuilnisbak, of de schaduw op de muur meer gedetecteerd bij P-beelden dan bij B-beelden, dit wordt geïllustreerd aan de hand van Figuur 17 en Figuur 19. Een groter verschil in temporele afstand tussen het huidige beeld en het referentiebeeld zorgt voor een groter verschil in deze schaduw en reflectie waardoor deze makkelijker gedetecteerd worden. In beide videostromen worden over het algemeen alle objecten gevonden. Enkel bij PetsD1TeC1 worden soms de drie personen rechtsonder niet gedetecteerd. In de P-beelden worden er ook soms gebieden onterecht als objecten ingedeeld. De nadruk van de basislaag ligt hoe dan ook op alle objecten vinden, wat hier vrij goed lukt zonder enige vorm van filter. Tabel 9 en Tabel 10 tonen de resultaten voor de verbeteringslagen. Over het algemeen is de precision er enorm op vooruit gegaan. Dit komt door ook rekening te houden met de andere indicatoren voor de verfijning. De recall daarentegen gaat er op achteruit. Zeker bij PetsD1TeC1 is dit sterk het geval. Indien we een grotere recall wensen, moeten we de drempel δ verlagen. De projectie voor I-beelden blijkt goed te werken bij PetsD1TeC1, waar dit minder het geval is bij IndoorGTTest_2. Een mogelijk verklaring is als volgt: IndoorGTTest_2 heeft over het algemeen vrij grote bewegingsvectoren, waarbij de grootte vrij variabel is. Door dit verschil in grootte

58 4. Resultaten 49 worden de blokken, die gedetecteerd waren in het referentiebeeld, verspreid geprojecteerd in het I-beeld. Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,00% 0,00% P ,61% 25,26% B(1) ,69% 51,37% B(2) ,85% 58,94% B ,94% 57,10% Totaal ,82% 42,55% Tabel 7: Resultaten voor de opgeschaalde basislaag zonder filter voor IndoorGTTest_2, samengevat volgens type beeld. Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,00% 0,00% P ,66% 31,16% B(1) ,26% 31,83% B(2) ,27% 29,78% B ,42% 30,62% Totaal ,93% 30,76% Tabel 8: Resultaten voor de opgeschaalde basislaag zonder filter voor PetsD1TeC1, samengevat volgens type beeld. Bij PetsD1TeC1 is dit minder het geval aangezien alle bewegingsvectoren klein en dus (absoluut gezien) gelijkaardiger zijn. We verwachten dat filtering hier verbetering zal toebrengen. Opnieuw ligt de precision van de B-beelden hoger dan die van P-beelden. Bij PetsD1TeC1 valt op dat de recall bij B-beelden bijzonder laag is. Opnieuw moeten we het antwoord zoeken bij de kleine temporele afstand tussen het beeld en het referentiebeeld. Die zorgt ervoor dat de voorspelling van de blokken beter zijn in B-beelden, en dus minder indicatie achterlaten voor objectdetectie. Vooral de DC-coëfficiënten zijn hier zelden een goede indicator. Bij visuele controle zien we dat het er voor IndoorGTTest_2 vrij goed uitziet. De vorm van het object is herkenbaar en slechts weinig zaken worden onterecht als object bestempeld. Figuur 20 geeft een voorbeeld van een typisch B-beeld en Figuur 18 toont een voorbeeld van een P-beeld. De detectie in Figuur 18 is duidelijk minder goed van kwaliteit dan de detectie in Figuur 20. We merken echter op dat de foutief gedetecteerde gebieden in Figuur 17 niet langer voorkomen in Figuur 18. Bij PetsD1TeC1 echter zien we dat de positie van de objecten wel vaak correct is,

59 4. Resultaten 50 maar dat de objecten slechts voor een deel gedetecteerd worden. In Figuur 22 zien we dat de drie personen rechts maar voor een heel klein stuk gedetecteerd worden. Ook de wagen wordt maar voor de helft gedetecteerd. Voor een videostroom als IndoorGTTest_2 waar de objecten vrij groot zijn en aan een redelijke snelheid bewegen, lijkt het niet nodig een filter te gebruiken. Wanneer de video echter meer last heeft van ruis en wanneer de objecten traag bewegen en klein zijn, presteert het algoritme duidelijk minder goed. We verwachten dat filters hier een deel van de oplossing vormen. Dit wordt in de volgende paragraaf besproken. Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,93% 14,43% P ,14% 59,03% B(1) ,08% 72,26% B(2) ,89% 76,39% B ,29% 75,45% Totaal ,39% 67,34% Tabel 9: Resultaten voor de verbeteringslaag zonder filter voor IndoorGTTest_2, samengevat volgens type beeld, met δ gelijk aan 50. Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,29% 37,25% P ,58% 61,46% B(1) ,97% 74,24% B(2) ,73% 74,71% B ,14% 74,47% Totaal ,79% 63,87% Tabel 10: Resultaten voor de verbeteringslaag zonder filter voor PetsD1TeC1, samengevat volgens type beeld, met δ gelijk aan 50.

60 4. Resultaten 51 Figuur 17: Beeld 140(type P) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de basislaag zonder toepassing van filter. Figuur 18: Beeld 140(type P) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken uit de verbeteringslaag zonder toepassing van filter. Figuur 19: Beeld 142(type B1) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de basislaag zonder toepassing van filter. Figuur 20: Beeld 142(type B1) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken uit de verbeteringslaag zonder toepassing van filter. Figuur 21: Beeld 150(type B1) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken in de basislaag zonder toepassing van filter. Figuur 22: Beeld 150(type B1) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken uit de verbeteringslaag zonder toepassing van filter.

61 4. Resultaten 52 Mediaanfilter Tabel 11 en Tabel 12 tonen de resultaten voor de basislaag van beide videostromen met toepassing van een mediaanfilter op de bewegingsvectoren. We vergelijken met Tabel 7 en Tabel 8: Bij IndoorGTTest_2 zien we een stijging van de precision. De daling in recall is echter van dezelfde orde. Dit heeft hetzelfde effect als een lichte verhoging van δ. Voor PetsD1TeC1 zien we echter een grotere toename van precision gepaard met een kleine afname van recall. De filter heeft hier duidelijk een positief effect. Dit is ook visueel verifieerbaar: in Figuur 23 en Figuur 24 zie je dat er minder valse positieven zijn aan de randen van de objecten wanneer een mediaanfilter toegepast wordt. Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,00% 0,00% P ,24% 27,62% B(1) ,02% 57,44% B(2) ,71% 61,90% B ,20% 60,89% Totaal ,74% 46,40% Tabel 11: Resultaten voor de opgeschaalde basislaag met mediaanfilter voor IndoorGTTest_2, samengevat volgens type beeld. Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,00% 0,00% P ,95% 35,85% B(1) ,81% 33,12% B(2) ,19% 32,04% B ,27% 32,48% Totaal ,48% 33,32% Tabel 12: Resultaten voor de opgeschaalde basislaag met mediaanfilter voor PetsD1TeC1, samengevat volgens type beeld. De resultaten van de verbeteringslaag worden getoond in Tabel 13 en Tabel 14. Dezelfde trend is duidelijk aanwezig in zowel de verbeteringslaag als in de basislaag. In beide gevallen zien we echter een grotere toename in precision dan een afname in recall. De filter levert dus in deze laag een betere prestatie. Bij IndoorGTTest_2 zien we vooral een sterke vooruitgang van de I- beelden. Dit komt omdat de gefilterde bewegingsvectoren meer op elkaar lijken en het object als één geheel projecteren. Wanneer we het resultaat visueel inspecteren zien we dat de blokken minder verspreid zijn dan toen er geen filter werd toegepast. Figuur 26 en Figuur 28 geven hier

62 4. Resultaten 53 een voorbeeld van. De verspreiding is het duidelijkst rond het hoofd van de wandelende persoon. In Figuur 26 liggen de meest linkse en de meest rechtse blokken op deze hoogte verder uit elkaar dan bij Figuur 28. Figuur 25 en Figuur 27 tonen de P-beelden waaruit geprojecteerd werd. De filter heeft naast zijn invloed op de detectie in het beeld zelf dus ook een invloed op andere beelden die nood hebben aan projectie. Dit effect stelt zich ook voor PetsD1TeC1 maar in mindere mate. Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,14% 20,00% P ,25% 60,61% B(1) ,36% 74,88% B(2) ,84% 77,76% B ,09% 77,12% Totaal ,44% 69,31% Tabel 13: Resultaten voor de verbeteringslaag met mediaanfilter voor IndoorGTTest_2, samengevat volgens type beeld. Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,54% 40,74% P ,92% 65,91% B(1) ,88% 77,71% B(2) ,29% 78,35% B ,81% 78,03% Totaal ,33% 67,70% Tabel 14: Resultaten voor de verbeteringslaag met mediaanfilter voor PetsD1TeC1, samengevat volgens type beeld. Het gebruik van een mediaanfilter biedt duidelijke voordelen. Wanneer men de beelden visueel inspecteert ziet men dat de vorm sterker lijkt op het object dan wanneer men geen filter gebruikt. Figuur 29 en Figuur 30 tonen dit verschil voor een B-beeld. Het enige nadeel is een kleine terugval van de recall.

63 4. Resultaten 54 Figuur 23: Beeld 150(type B1) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken in de basislaag zonder toepassing van filter. Figuur 24: Beeld 150(type B1) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken uit de basislaag met toepassing van een mediaanfilter. Figuur 25: Beeld 60(type P) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag zonder toepassing van een filter. Figuur 26: Beeld 64(type I) van IndoorGTTest_2. De groene blokken zijn de blokken die gedetecteerd werden aan de hand van projectie zonder toepassing van een filter. Figuur 27: Beeld 60(type P) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag met toepassing van een mediaanfilter. Figuur 28: Beeld 64(type I) van IndoorGTTest_2. De groene blokken zijn de blokken die gedetecteerd werden aan de hand van projectie met toepassing van een mediaanfilter.

64 4. Resultaten 55 Figuur 29: Beeld 255(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag zonder toepassing van filter. Figuur 30: Beeld 255(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken uit de verbeteringslaag met toepassing van een mediaanfilter. Figuur 31: Beeld 156(type P) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag met toepassing van een temporele mediaanfilter. Figuur 32: Beeld 159(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag met toepassing van een mediaanfilter. Figuur 33: Beeld 160(type I) van PetsD1TeC1. De groene blokken zijn de blokken die gedetecteerd werden aan de hand van projectie met toepassing van een temporele mediaanfilter.

65 4. Resultaten 56 Temporele mediaanfilter De resultaten voor de temporele mediaanfilter voor de basislaag worden weergegeven in Tabel 15 en Tabel 16. De temporele mediaanfilter gebruikt informatie uit andere beelden om objecten te detecteren. Aangezien we meer informatie gebruiken verwachten we een hogere precision. Voor PetsD1TeC1 zien we inderdaad een sterke stijging van de precision. Dit gaat echter gepaard met een afname in recall. Toch is de winst opmerkelijk. Bij IndoorGTTest_2 zijn de resultaten veel minder positief. Een afname van zowel recall als precision is het effect van de toepassing van de filter. Over het algemeen is de afname in recall te verklaren door het agressief omspringen van de filter met randen. Het slechte resultaat van IndoorGTTest_2 heeft echter een andere oorsprong. Voor de temporele mediaanfilter gebruiken we de huidige, ongefilterde waarde van het blok als schatting voor de verplaatsing van het object. Zoals we al eerder zagen bij de projectie van beelden leiden grote bewegingsvectoren tot verspreiding. De ongefilterde bewegingsvector is vaak onvoldoende accuraat waardoor de filter niet de juiste blokken gebruikt. Een oplossing kan zijn om eerst een ander type filter, zoals een gemiddelde waardefilter, toe te passen. Deze verwijdert gaussiaanse ruis en gaat dus de verspreiding tegen. Dit eist natuurlijk weer extra rekentijd. Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,00% 0,00% P ,69% 23,51% B(1) ,21% 25,86% B(2) ,62% 39,27% B ,93% 34,73% Totaal ,33% 30,22% Tabel 15: Resultaten voor de opgeschaalde basislaag met temporele mediaanfilter voor IndoorGTTest_2, samengevat volgens type Ware positieven Valse positieven beeld. Ware negatieven Valse Negatieven Recall Precision I ,00% 0,00% P ,58% 36,37% B(1) ,34% 40,66% B(2) ,15% 42,82% B ,27% 41,98% Totaal ,64% 40,37% Tabel 16: Resultaten voor de opgeschaalde basislaag met temporele mediaanfilter voor PetsD1TeC1, samengevat volgens type beeld.

66 4. Resultaten 57 Tabel 17 en Tabel 18 tonen ons de resultaten voor de verbeteringslagen. Ook hier zien we dat precision er sterk op vooruit gaat maar dat er tegelijkertijd veel ingeboet moet worden aan recall. We zien tevens dat de projecties goede resultaten opleveren. Het is misschien verwonderlijk dat de recall bij I-beelden hoger ligt dan bij andere types in zowel IndoorGTTest_2 als PetsD1TeC1. Dit komt omdat de projectie de objecten wat vergroot. Aangezien de objecten meestal te veel kwijt zijn van hun randen door toepassing van de filter, is dit dus een positieve zaak. Dit wordt geïllustreerd in Figuur 31, Figuur 32 en Figuur 33. Beeld 160 wordt geprojecteerd uit beeld 156. Wanneer we beeld 160 vergelijken met het beeld 159, zien we dat de detectie een stuk beter is. Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,86% 32,64% P ,70% 64,24% B(1) ,69% 85,65% B(2) ,94% 86,73% B ,01% 86,52% Totaal ,86% 75,00% Tabel 17: Resultaten voor de verbeteringslaag met temporele mediaanfilter voor IndoorGTTest_2, samengevat volgens type beeld Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,50% 52,71% P ,77% 68,16% B(1) ,95% 80,49% B(2) ,61% 81,99% B ,50% 81,26% Totaal ,68% 73,00% Tabel 18: Resultaten voor de verbeteringslaag met temporele mediaanfilter voor PetsD1TeC1, samengevat volgens type beeld Over het algemeen kunnen we in de bekomen resultaten waarnemen dat de blokken die foutief gemarkeerd zijn, zich nooit ver van objecten bevinden. Dit is niet het geval wanneer er geen filter wordt toegepast. De temporele mediaanfilter versterkt de precision enorm, maar dit is gelinkt aan een (te) hoge kost wat recall betreft.

67 4. Resultaten 58 Beste-buurfilter Tabel 19 en Tabel 20 geven de bekomen resultaten voor de beste-buurfilter voor de basislaag weer. Het is meteen duidelijk dat een beste-buurfilter voor een zeer hoge recall zorgt op basislaag. De precision is echter vrij slecht. Dit komt omdat er erg veel wordt gedetecteerd. Visuele inspectie leert ons dat naast de objecten ook een dikke rand wordt gedetecteerd. Een ander effect is dat wanneer er een gebied onterecht gemarkeerd wordt, ditzelfde gebied vaak in een volgend beeld ook onterecht gedetecteerd wordt. Een voorbeeld hiervan wordt getoond in Figuur 34. In de basislaag beschouwen we geen andere indicatoren om na te gaan of de gemarkeerde gebieden wel degelijk objecten zijn, waardoor de precision laag is. Het nadeel van dit hoge aantal valse positieven leidt tot vertraging van het algoritme aangezien al deze blokken moeten onderzocht worden op het niveau van de verbeteringslaag. Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,00% 0,00% P ,31% 13,32% B(1) ,06% 6,30% B(2) ,00% 9,29% B ,37% 8,41% Totaal ,93% 9,34% Tabel 19: Resultaten voor de basislaag met beste-buurfilter voor IndoorGTTest_2, samengevat volgens type beeld Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,00% 0,00% P ,33% 14,85% B(1) ,74% 11,18% B(2) ,80% 9,94% B ,37% 10,32% Totaal ,10% 11,14% Tabel 20: Resultaten voor de basislaag met beste-buurfilter voor PetsD1TeC1, samengevat volgens type beeld Tabel 21 en Tabel 22 geven ons de resultaten in de verbeteringslaag. De bekomen resultaten zijn vrij gelijkaardig aan die van de mediaanfilter. Figuur 36, Figuur 37, Figuur 38 en Figuur 39 geven een overzicht van de besproken filters toegepast op hetzelfde beeld. Als we deze beelden visueel inspecteren zien we echter dat de vormen meer herkenbaar zijn bij mediaanfilter. Bij de bestebuurfilter zijn de objecten hoekiger, bij de mediaanfilter wordt de contour van het object beter

68 4. Resultaten 59 gevolgd. De recall van de beste-buurfilter is in vergelijking met de temporele mediaanfilter een stuk beter. Dit komt omdat de beste-buurfilter minder agressief tekeer gaat bij randen. Voor de precision geldt het omgekeerde verhaal. We kunnen dit echter nuanceren door te vermelden dat de valse positieven zich grotendeels dicht in de buurt van objecten bevinden. Dit is in mindere mate ook van toepassing ten opzichte van de mediaanfilter. Ware positieven Valse positieven Ware negatieven Valse Negatieven Recall Precision I ,05% 17,21% P ,53% 58,51% B(1) ,23% 73,18% B(2) ,70% 76,72% B ,18% 75,92% Totaal ,16% 67,57% Tabel 21: Resultaten voor de verbeteringslaag met beste-buurfilter voor IndoorGTTest_2, samengevat volgens type beeld Ware Valse Ware Valse positieven positieven negatieven Negatieven Recall Precision I ,33% 40,42% P ,53% 62,32% B(1) ,24% 73,35% B(2) ,39% 72,27% B ,72% 72,77% Totaal ,07% 64,26% Tabel 22: Resultaten voor de verbeteringslaag met beste-buurfilter voor PetsD1TeC1, samengevat volgens type beeld We kunnen besluiten dat de beste-buurfilter zich goed gedraagt op het niveau van de verbeteringslaag. In de basislaag zien we echter dat er teveel valse positieven optreden. We merken echter dat deze valse positieven vaak een kleinere bewegingsvector hebben. Een verhoging van α kan hier dus een oplossing bieden. Een andere optie kan zijn om een mediaanfilter te gebruiken in de basislaag gecombineerd met een beste-buurfilter voor de verbeteringslaag.

69 4. Resultaten 60 Figuur 34: Beeld 150(type B1) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken in de basislaag met toepassing van een beste-buurfilter. Figuur 35: Beeld 150(type B1) van PetsD1TeC1. De groene blokken zijn de gedetecteerde blokken uit de verbeteringslaag met toepassing van een beste-buurfilter. Figuur 36: Beeld 243(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag zonder toepassing van een filter. Figuur 37: Beeld 243(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag met toepassing van een mediaanfilter. Figuur 38: Beeld 243(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag zonder toepassing van een temporele mediaanfilter. Figuur 39: Beeld 243(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de verbeteringslaag met toepassing van een beste-buurfilter.

70 4. Resultaten 61 Verschillende δ Verschillende toepassingen hechten een verschillend belang aan recall en precision. Voor de ene toepassing is het kritisch om een hoge precision te verkrijgen. Voor andere toepassingen is vooral een hoge recall van belang. We vergelijken de prestaties van de verschillende filters bij gebruik van verschillende waarden voor δ. Grafiek 1 en Grafiek 3 laten ons toe de recall van de verschillende filters te vergelijken over verschillende waarden van δ. We zien dat in beide gevallen de temporele mediaanfilter heel wat minder scoort dan de andere drie filters. Bij toepassingen waar recall kritisch is, zal men best geen gebruik maken van de temporele mediaanfilter. Het beste resultaat wordt gegeven door de beste-buurfilter, maar die wordt op de voet gevolgd door de mediaanfilter en geen filter. Voor toepassingen waarbij de tijd een belangrijk aspect is, kan men dus overwegen om geen filter toe te passen. Grafiek 2 en Grafiek 4 laten toe de precision van de verschillende filters te vergelijken. We zien meteen een groot verschil in de functies. In het onderzocht bereik van δ is dit bij IndoorGTTest_2 een niet-dalende functie, terwijl bij PetsD1TeC1 de grafiek vanaf een bepaald moment terug begint te dalen. Het blijkt dus dat de ruis uiteindelijk de overhand neemt bij PetsD1TeC1. De filters zijn dus hier niet in staat het zwakke signaal te redden. Een andere reden is dat er slechts weinig blokken gedetecteerd worden waardoor de populatie niet groot genoeg meer is om accurate waarnemingen te doen. Verder zien we dat de temporele mediaan filter duidelijk de hoogste precision heeft. Verder scoort het gebruik van een mediaanfilter altijd net iets hoger dan wanneer er geen filter wordt gebruikt en zijn de mediaan- en de beste-buurfilter duidelijk aan elkaar gewaagd. Wanneer precision in een applicatie de kritische factor is, gebruikt men dus best een temporele mediaanfilter. Om het beste van twee werelden te combineren moeten we een verstandige keuze maken voor zowel de filter als voor de waarde van δ. Over het algemeen daalt de grafiek van recall vrij lineair bij toenemende δ. De grafiek van precision voor PetsD1TeC1 toont een duidelijke piek rond de waarde 60 voor δ. Grafiek 2 vertoont een buigpunt rond de waarde 50 voor δ. Hogere waarden kiezen voor δ levert hier maar weinig op. We kunnen dus stellen dat we δ best niet hoger kiezen dan 60. Voor IndoorGTTest_2 lijkt 50 de ideale waarde, voor PetsD1TeC1 is 40 een betere waarde. We maken best gebruik van de beste-buurfilter ofwel de mediaanfilter. Tenzij expliciet anders vermeld zullen we voor de rest van het hoofdstuk gebruik maken van de beste-buurfilter. Wanneer we slechts één waarde voor δ onderzoeken zal dit voor PetsD1TeC1 de waarde 40 zijn, voor IndoorGTTest_2 kiezen we δ = 50. Voor de andere twee videostromen kiezen we ook de waarde 50 voor δ.

71 4. Resultaten 62 Recall 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% δ geen mediaan temporele mediaan beste buur Grafiek 1: Recall voor verschillende waarden van δ, bij verschillende filters voor IndoorGTTest_2 Precision 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% δ geen mediaan temporele mediaan beste buur Grafiek 2: Precision voor verschillende waarden van δ, bij verschillende filters voor IndoorGTTest_2

72 4. Resultaten ,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% δ Recall geen mediaan temporele mediaan beste buur Grafiek 3: Recall voor verschillende waarden van δ, bij verschillende filters voor PetsD1TeC1 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% δ Precision geen mediaan temporele mediaan beste buur Grafiek 4: Precision voor verschillende waarden van δ, bij verschillende filters voor PetsD1TeC1

73 4. Resultaten VOORSPELLING VIA BASISLAAG VERSUS VOORSPELLING VIA PROJECTIE In zagen we hoe een encoder gebruik kan maken van zowel informatie uit het co-beeld in de basislaag als informatie uit andere beelden in de verbeteringslaag om een voorspeling te doen van het huidig beeld. Om tot een startpunt te komen voor objectdetectie in de verbeteringslaag kunnen we ook deze twee bronnen benutten. Hier onderzoeken we welke van deze twee informatiebronnen de beste prestatie geeft in functie van objectdetectie. We gebruiken twee verschillende videostromen voor dit luik: IndoorGTTest_2 geeft personen weer die wandelen. Deze objecten zijn vrij dynamisch in die zin dat ze van vorm veranderen. In Speedwa1 zijn vooral niet-vervormende objecten zichtbaar, namelijk rijdende auto s. Deze veranderen niet van vorm op een krimpend effect na. Verder maken we gebruik van een mediaanfilter in de voorverwerking. We kiezen deze filter zodat de lokale informatie gescheiden blijft van de informatie uit andere beelden. We gaan als volgt te werk: We passen het algoritme tweemaal toe. Eenmaal met een basislaag die evenveel temporele lagen bevat als de verbeteringslaag, en eenmaal met een basislaag waarvan de hoogste temporele laag(t2) verwijderd is. Voor B-beelden van laag T2 in de verbeteringslaag passen we dus projectie toe. Dit wordt geïllustreerd in Figuur 40 waarbij de zwarte lijnen aanduiden welke beelden er gebruikt worden om tot een startpunt te komen. Figuur 40: Startpunt bekomen via basislaag versus startpunt bekomen via projectie in verbeteringslaag. De kleurencode is als volgt: Rood=I-beeld, blauw=p-beeld, oranje=b-beeld op laag T1, groen=b-beeld op laag T2. De zwarte pijlen duiden aan uit welke beelden informatie gebruikt wordt om tot een startpunt te komen. Bij (a) is dit enkel uit de basislaag, bij (b) is dit voor beelden uit laag T2 aan de hand van projectie.

74 4. Resultaten ,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Recall Recall verbeteringslaag Recall basislaag Grafiek 5: Recall van de startpunten voor verbeteringslaag verkregen via opschaling van de basislaag of projectie in de verbeteringslaag voor de sequentie Speedwa1. 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Precision Precision verbeteringslaag Precision basislaag Grafiek 6: Precision van de startpunten voor verbeteringslaag verkregen via opschaling van de basislaag of projectie in de verbeteringslaag voor de sequentie Speedwa1.

75 4. Resultaten ,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Recall Recall verbeteringslaag Recall basislaag Grafiek 7: Recall van de startpunten voor verbeteringslaag verkregen via opschaling van de basislaag of projectie in de verbeteringslaag voor de sequentie IndoorGTTest_2. 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Precision Precision verbeteringslaag Precision basislaag Grafiek 8: Precision van de startpunten voor verbeteringslaag verkregen via opschaling van de basislaag of projectie in de verbeteringslaag voor de sequentie IndoorGTTest_2.

76 4. Resultaten 67 Grafiek 5, Grafiek 6, Grafiek 7 en Grafiek 8 tonen de bekomen resultaten van de startpunten in vergelijking met de ideale objectdetectie in de verbeteringslaag voor verschillende δ. Startpunten bekomen via de basislaag zijn onafhankelijk van δ, zij hangen enkel af van α. De startpunten bekomen via projecties uit de verbeteringslaag zijn duidelijk wel afhankelijk van δ. We herkennen de algemene trend van een afnemende recall en een stijgende precision voor toenemende δ. Deze trend is afkomstig uit de objectdetectie van de beelden waaruit geprojecteerd wordt. Uit Grafiek 7 en Grafiek 8 kunnen we aflezen dat een startpunt bekomen via de basislaag op elk vlak beter scoort voor de sequentie IndoorGTTest_2. Voor Speedwa1 zien we dat de verschillende startpunten meer aan elkaar gewaagd zijn. Een mogelijke verklaring is dat de objecten in Speedwa1 niet veel van vorm veranderen en aan een bijna uniforme snelheid voortbewegen. Hierdoor zijn ze beter voorspelbaar via projectie. Maar ook hier zien we dat de basislaag steeds goed presteert. Een ander motief voor gebruik van de basislaag is de potentiële tijdswinst. Laten we hiervoor een theoretische benadering opstellen voor een sequentie waarvan de basislaag een resolutie heeft van 176x144 en de verbeteringslaag een resolutie van 352x288. We maken volgende veronderstellingen: Het opschalen van een beeld duurt in het slechtste geval ongeveer even lang als het projecteren vanuit één beeld. Deze tijd is evenredig met het aantal toegangen tot een blok in de verbeteringslaag. Het aantal toegangen is één per blok en we noemen de toegangstijd t. Onderzoek op de basislaag vergt één toegang tot elk blok op deze laag. We berekenen de totale tijd om een startpunt te bekomen via opschaling van de basislaag: De totale tijd voor onderzoek op de basislaag is: t = 1584t 4 De tijd nodig voor opschaling in het slechtste geval is: t = 6336t 4 De totale tijd bedraagt dan: 1584t t = 7920t

77 4. Resultaten 68 Laten we nu de totale tijd berekenen om de nodige projecties uit te voeren. We herinneren eraan dat we B-beelden beschouwen. Een dergelijk beeld beschikt over het algemeen over twee referentiebeelden en we nemen de unie van beide projecties. De totale tijd bedraagt hier: t = 12672t 4 Dit is 1,6 maal de tijd om een startpunt te bekomen via de basislaag. We kunnen dus besluiten dat we best gebruik kunnen maken van de basislaag om tot een startpunt te komen. Wanneer we de beelden van de verbeteringslaag met elkaar vergelijken merken we zeer weinig verschil in wat uiteindelijk gedetecteerd wordt. Dit wordt geïllustreerd in Tabel 23:. Recall via Precision via Recall via Precision via basislaag basislaag projectie projectie δ = 20 95,33% 70,15% 95,33% 69,35% δ = 40 93,37% 76,43% 93,18% 76,28% δ = 50 80,84% 77,76% 80,70% 77,73% δ = 60 69,49% 80,96% 67,78% 80,61% δ = 80 10,77% 86,92% 10,10% 87,60% Tabel 23: Verschil in precision en recall voor objectdetectie in de verbeteringslaag van IndoorGTTest_2 waarbij de startpunten bekomen zijn door middel van opschaling van de basislaag of door projectie uit andere beelden in de verbeteringslaag. Het verschil is dus enkel zichtbaar op het niveau van de basislaag en in de rekentijd.

78 4. Resultaten INVLOED VAN DE RESOLUTIE IN DE BASISLAAG Hoe kleiner de resolutie van de basislaag, hoe minder men moet onderzoeken om tot een startpunt te komen. Een reductie van de resolutie kan dus resulteren in tijdswinst. Maar hoe kleiner de resolutie, hoe kleiner de objecten en hoe kleiner de bewegingsvectoren. M.a.w. hoe moeilijker het wordt om objecten te detecteren. In dit luik onderzoeken we welke impact de resolutie van de basislaag heeft op de prestatie van het algoritme. We gebruiken twee videostromen voor deze analyse: IndoorGGTest_2 en ETRI_od_A. Deze laatste bevat traag bewegende personen en vrij veel ruis, hier verwachten we dus moeilijkheden wanneer we zullen werken met kleine resoluties. We encoderen de videostromen met drie spatiale lagen. De resolutie van de basislaag is nu een kwart(lengte/4 x breedte/4) van de oorspronkelijke resolutie, andere eigenschappen zijn zoals beschreven in sectie 4.1. Voor IndoorGTTest_2 komt dit dus neer op een resolutie van de basislaag van amper 80x60 pixels. We nemen de basislaag en de maximale verbeteringslaag als input voor het algoritme en passen het algoritme toe. De middelste laag wordt dus niet in rekening gebracht. We vergelijken de prestatie hiervan met de prestatie van het algoritme wanneer de videostromen slechts twee lagen hebben(basislaag heeft resolutie lengte/2 x breedte/2). We passen telkens ook twee verschillende filters toe: de mediaanfilter en de bestebuurfilter. Tabel 24 en Tabel 25 tonen de resultaten voor IndoorGTTest_2. We merken voor zowel recall als precision een achteruitgang ten opzichte van de grotere resolutie, voor beide filters. De achteruitgang van precision is vrij klein. De achteruitgang van recall is een stuk groter, maar nog steeds worden de meeste blokken gebonden aan objecten gevonden. Wanneer we de resultaten visueel inspecteren zien we dat de mindere prestatie bijna volledig een gevolg is van de opschaling. Dit wordt geïllustreerd in Figuur 41 en Figuur 42. Door de grotere opschalingsfactor verliest een object meer zijn vorm. Over het algemeen lijkt bij IndoorGTTest_2 het verschil van de resoluties van de basislaag weinig invloed te hebben.

79 4. Resultaten 70 De resultaten voor ETRI_od_A worden getoond in Tabel 26 en Tabel 27. Voor de precision zien we ongeveer hetzelfde verhaal als voor IndoorGTTest_2. Voor recall merken we echter een groot verschil: Wanneer we de kolommen met de mediaanfilter vergelijken, zien we dat de recall heel wat afneemt bij de encodering in drie spatiale lagen. Vooral bij B(2)-beelden is het verschil opmerkelijk. Wanneer we de videostroom visueel inspecteren, merken we dat er in veel van deze B(2)-beelden helemaal geen objecten gevonden worden. Hoe kleiner de temporele afstand, hoe beter de voorspelling en hoe kleiner de bewegingsvectoren. Bij traagbewegende objecten is dit nefast voor objectdetectie. De bewegingsvectoren zijn zodanig klein dat ze meteen weggefilterd worden door de mediaanfilter. Vergelijking van de laatste twee kolommen toont aan dat gebruik maken van een temporele filter hier een oplossing kan bieden. 2 lagen 3 lagen 2 lagen 3 lagen mediaan mediaan beste-buur beste-buur P 87,24% 77,87% 98,31% 92,52% B(1) 83,02% 58,26% 92,06% 77,57% B(2) 93,71% 84,99% 99,00% 94,71% B 91,20% 78,72% 97,37% 90,69% Totaal 86,74% 75,53% 93,93% 87,74% Tabel 24: Recall van de opgeschaalde basislaag voor de sequentie IndoorGTTest_2 samengevat volgens type beeld. Bovenaan staat steeds vermeld welke soort filter er gebruikt werd en de verhouding van de spatiale lagen. 2 lagen mediaan 3 lagen mediaan 2 lagen beste-buur 3 lagen beste-buur P 27,62% 28,88% 13,32% 12,34% B(1) 57,44% 58,44% 6,30% 5,28% B(2) 61,90% 55,44% 9,29% 8,98% B 60,89% 55,94% 8,41% 7,87% Totaal 46,40% 44,79% 9,34% 8,73% Tabel 25: Precision van de opgeschaalde basislaag voor de sequentie IndoorGTTest_2 samengevat volgens type beeld. Bovenaan staat steeds vermeld welke soort filter er gebruikt werd en de verhouding van de spatiale lagen.

80 4. Resultaten 71 2 lagen mediaan 3 lagen mediaan 2 lagen beste-buur 3 lagen beste-buur P 89,89% 63,81% 97,23% 93,28% B(1) 82,13% 56,21% 97,00% 94,14% B(2) 65,17% 16,75% 96,78% 90,40% B 70,69% 29,59% 96,85% 91,62% Totaal 70,93% 35,31% 91,62% 86,95% Tabel 26: Recall van de opgeschaalde basislaag voor de sequentie ETRI_od_A samengevat volgens type beeld. Bovenaan staat steeds vermeld welke soort filter er gebruikt werd en de verhouding van de spatiale lagen. 2 lagen 3 lagen 2 lagen 3 lagen mediaan mediaan beste-buur beste-buur P 27,15% 30,31% 11,99% 11,28% B(1) 36,63% 24,13% 13,88% 9,79% B(2) 27,05% 18,37% 9,81% 7,84% B 30,02% 21,55% 10,85% 8,40% Totaal 29,18% 24,27% 11,09% 8,92% Tabel 27: Precision van de opgeschaalde basislaag voor de sequentie ETRI_od_A samengevat volgens type beeld. Bovenaan staat steeds vermeld welke soort filter er gebruikt werd en de verhouding van de spatiale lagen. Het lijkt erop dat we kunnen gebruikmaken van vrij kleine resoluties in de basislaag, zelfs in het geval van traag bewegende objecten. We moeten dit echter met een korrel zout nemen. De bestebuurfilter die hier gebruikt wordt detecteert typisch zeer veel in de basislaag. Wanneer we dit onderzoeken in de verbeteringslaag moeten we dus nog heel veel blokken nader onderzoeken. Naar tijdswinst toe is het zeker efficiënter om voor ETRI_od_A een grotere resolutie in de basislaag te gebruiken en dan een spatiale filter toe te passen. Tenslotte kunnen we vergelijken wat de impact hiervan is op detectie in de verbeteringslaag. Grafiek 9 en Grafiek 10 tonen de recall en precision voor IndoorGTTest_2. Zoals verwacht liggen alle resultaten zeer dicht bij elkaar. Grafiek 11en Grafiek 12 tonen de recall en precision voor ERTI_od_A. Hier merken we inderdaad een terugval van de recall wanneer we gebruikmaken van de mediaanfilter. Bij visuele controle merken we dat gedetecteerde objecten er ongeveer even goed uitzien als bij het gebruik van twee lagen. Het grote verschil is dat er vaak objecten helemaal niet gedetecteerd worden. Figuur 43, Figuur 44, Figuur 45 en Figuur 46 tonen dit aan. De groep gedetecteerde blokken geassocieerd met de rechtse persoon zien er in beide gevallen zeer gelijkaardig uit in de verbeteringslaag terwijl de vorm toch veel verschilt in de basislaag.

81 4. Resultaten 72 Figuur 41: Beeld 21(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de basislaag met resolutie 160x120 met toepassing van een mediaanfilter. Figuur 42: Beeld 21(type B2) van IndoorGTTest_2. De groene blokken zijn de gedetecteerde blokken in de basislaag met resolutie 80x60 met toepassing van een mediaanfilter. Figuur 43: Beeld 178(type B1) van ETRI_od_A. De groene blokken zijn de gedetecteerde blokken in de basislaag met resolutie 88x60 met toepassing van een mediaanfilter. Figuur 44: Beeld 178(type B1) van ETRI_od_A. De groene blokken zijn de blokken die gedetecteerd werden aan in de verbeteringslaag met toepassing van een mediaanfilter. Figuur 45: Beeld 178(type B1) van ETRI_od_A. De groene blokken zijn de gedetecteerde blokken in de basislaag met resolutie 176x120 met toepassing van een mediaanfilter. Figuur 46: Beeld 178(type B1) van ETRI_od_A. De groene blokken zijn de blokken die gedetecteerd werden aan in de verbeteringslaag met toepassing van een mediaanfilter..

82 4. Resultaten ,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Recall 2lagen mediaan 2lagen beste-buur 3lagen mediaan 3lagen beste-buur Grafiek 9: Recall in de verbeteringslaag voor IndoorGTTest_2 voor verschillende resoluties van basislaag met toepassing van een mediaanfilter of een beste-buurfilter. 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Precision 2lagen mediaan 2lagen beste-buur 3lagen mediaan 3lagen beste-buur Grafiek 10: Precision in de verbeteringslaag voor IndoorGTTest_2 voor verschillende resoluties van basislaag met toepassing van een mediaanfilter of een beste-buurfilter.

83 4. Resultaten ,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Recall 2lagen mediaan 2lagen beste-buur 3lagen mediaan 3lagen beste-buur Grafiek 11: Recall in de verbeteringslaag voor ETRI_od_A voor verschillende resoluties van basislaag met toepassing van een mediaanfilter of een beste-buurfilter. 100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% Astitel Precision 2lagen mediaan 2lagen beste-buur 3lagen mediaan 3lagen beste-buur Grafiek 12: Precision in de verbeteringslaag voor ETRI_od_A voor verschillende resoluties van basislaag met toepassing van een mediaanfilter of een beste-buurfilter.

84 4. Resultaten INVLOED VAN DE KWALITEIT We onderzoeken de invloed van de beeldkwaliteit op de werking van het algoritme. We kunnen de kwaliteit van een beeldsequentie aanpassen op twee manieren. De belangrijkste methode is zonder twijfel het aanpassen van de kwantisatieparameter. We zullen dit in het vervolg afkorten tot QP(engels: Quantization Parameter). In zagen we de werking van kwantisatie. Hoe hoger QP, hoe hoger de compressie en hoe meer verlies aan detailinformatie. In het voorgaande hebben we altijd encodering toegepast met QP gelijk aan 32. We zullen hier onderzoeken wat de invloed is indien we QP gelijk aan 20 gebruiken. Een andere methode is het verbeteren van de voorspelling. Hoe beter de voorspelling hoe kleiner het residu, en dus ook hoe kleiner het informatieverlies bij kwantisatie. We proberen de voorspelling te verbeteren door toepassing van een andere methode om de bewegingsvectoren te bepalen. Hiervoor werd steeds de Fast Search-methode gebruikt om bewegingsvectoren te zoeken. Deze methode is slechts een heuristiek om in logaritmische tijd een goede bewegingsvector te vinden. Dit betekent dat de gevonden bewegingsvector niet noodzakelijk overeenstemt met het globaal optimum. We kunnen gebruikmaken van de Block Searchmethode die op exhaustieve wijze op zoek gaat naar de globaal optimale bewegingsvector. Deze methode heeft als grote nadeel dat de zoektijd evenredig is aan de grootte van het zoekgebied. Voor dit luik maken we enkel gebruik van de Indoor_GTTest-sequentie. We encoderen deze op vier verschillende manieren, namelijk in de combinaties van de zoekmethoden Fast Search en Block Search met QP 32 en 20. Voor de analyse passen we telkens tweemaal het algoritme toe met verschillende filters: eenmaal met de mediaanfilter en eenmaal met de beste-buurfilter. De resultaten worden gevisualiseerd in Grafiek 13, Grafiek 14, Grafiek 15 en Grafiek 16. De prestatie bij toepassing van Block Search is zeer gelijkaardig met de prestatie bij toepassing van Fast Search. Wanneer we de gebruikte bewegingsvectoren analyseren merken we inderdaad dat de vectoren wel verschillend zijn, maar heel vaak dezelfde eigenschappen vertonen. Noch de grootte noch de richting van de vectoren verschilt significant. Ook de blokgrootte en de DCcoëfficienten van de bijhorende blokken verschillen amper. Het is dan ook logisch dat het algoritme vergelijkbare resultaten geeft. Wanneer we de resultaten van het algoritme vergelijken bij gebruik van QP gelijk aan 20 met gebruik van QP gelijk aan 32 zien we veel grotere verschillen. We merken dat de recall ongeveer gelijk blijft, maar dat de precision er enorm op achteruit gaat. M.a.w. het aantal valse positieven neemt enorm toe. We onderzoeken alle indicatoren:

85 4. Resultaten 76 DC-coëfficiënten: Bij de videostroom met QP gelijk aan 32 zien we dat er bijna geen nietnulwaarden aanwezig zijn, waar er geen object aanwezig is. Waar er wel een object aanwezig is zien we zowel niet-nulwaarden als nulwaarden. Vandaar het gebruik van de methode die uitgelegd staat in 3.5. Als we de videostroom met QP gelijk aan 20 bekijken, zien we veel meer niet-nulwaarden in het beeld, zowel waar er een object aanwezig is, als waar er geen object aanwezig is. De densiteit en de grootte van de DC-coëfficiënten is wel hoger waar er objecten zijn. De methode die gebruikt wordt voor DC-coëfficiënten is te gevoelig hiervoor wat aanleiding geeft tot valse positieven. Blokgrootte: Bij een videostroom met QP gelijk aan 32 merken we dat kleine blokken bijna enkel voorkwamen wanneer er een object aanwezig was. Bij QP gelijk aan 20 zien we echter dat kleine blokken veel frequenter gebruikt worden. Het is wel zo dat bij aanwezigheid van een object er wel meer kleine blokgroottes gebruikt worden dan bij afwezigheid. Maar het verschil in frequentie is veel kleiner en onze methode voor blokgroottes is niet meer in staat het onderscheid te maken tussen bewegende objecten en de achtergrond. Bewegingsvectoren: Bij een beeld in een videostroom waarvan QP gelijk is aan 32 komen blokken met grote bewegingsvectoren overeen met objecten. In hetzelfde beeld in de videostroom waarvan QP gelijk is aan 20, hebben ook die blokken gelijkaardige bewegingsvectoren. Maar hier merken we ook dat er veel blokken zijn met grote bewegingsvectoren die niet geassocieerd zijn met een object. Deze bewegingsvectoren zijn meestal een stuk kleiner dan de echte bewegingsvectoren, maar zijn vaak toch groter dan β0. Het lijkt tegenstrijdig dat een verlaging van de kwantisatiestap resulteert in een vermindering van de prestatie van het algoritme. Vooral de DC-coëfficienten en de blokgroottes zijn bronnen van valse positieven. Wanneer we de gedecodeerde video s visueel met elkaar vergelijken wordt het duidelijk hoe dit komt. De video met QP gelijk aan 20 vertoont veel meer ruis(op pixelniveau) dan die met QP gelijk aan 32. Figuur 47 en Figuur 48 tonen dit verschil. Door de grotere kwantisatiestap bij QP gelijk aan 32 wordt er veel meer ruis (=detailinformatie) geëlimineerd. Dit kan beschouwd worden als een soort filter op pixelniveau. QP gelijkstellen aan 20 verhoogde dus niet de beeldkwaliteit omdat de opnamekwaliteit niet voldoende hoog was, enkel de kwaliteit van de ruis ging erop vooruit. Door de grotere hoeveelheid ruis verschilt elk beeld van het vorige, zelfs al zijn er geen bewegende objecten, dit verklaart de grotere DCcoëfficienten, de kleinere blokken en de grotere bewegingsvectoren. We verwachten dat er een bepaald optimum is voor QP. Bij een te grote waarde van QP wordt de video namelijk zodanig sterk gecomprimeerd dat de indicatoren te veel afgezwakt worden om nog objectdetectie toe te

86 4. Resultaten 77 laten. Of de optimale waarde voor QP mogelijks groter is dan 32 werd hier niet onderzocht. We vermoeden dat de optimale waarde van QP dicht bij 32 ligt wegens de vrij goede resultaten die we hiervoor bekomen. Figuur 47: Ruis bij IndoorGTTest_2 met QP gelijk aan 20. Dit beeld is het resultaat door beeld 4 van beeld 3 af te trekken en alle niet-nul punten aan te duiden in het wit. Figuur 48: Ruis bij IndoorGTTest_2 met QP gelijk aan 32. Dit beeld is het resultaat door beeld 4 van beeld 3 af te trekken en alle niet-nul punten aan te duiden in het wit. Uit dit luik kunnen we het volgende besluiten: De prestatie van het algoritme voor objectdetectie is duidelijk geen belangrijke factor wanneer men moet kiezen tussen Block Search en Fast Search. Een belangrijkere factor is de grote rekentijd die Block Search eist. Voor real-timesystemen kan men dus gerust kiezen voor Fast Search zonder dat de prestatie van de objectdetectie noemenswaardig erop achteruit gaat. Een lage kwantisatiestap invoeren wanneer de opnamekwaliteit niet goed is heeft geen enkele zin. Het werkt zelfs contraproductief. Het is waarschijnlijk wel mogelijk om de prestatie te verhogen door eerst de beeldkwaliteit te verhogen en dan een lagere kwantisatiestap te kiezen. Voor gedetailleerde resultaten verwijs ik naar Bijlage A. Hierin zijn de resultaten tot op het niveau van één enkel beeld beschikbaar en voor alle onderzochte waarden van δ.

Video. Multimedia Rein van den Boomgaard Universiteit van Amsterdam

Video. Multimedia Rein van den Boomgaard Universiteit van Amsterdam Video Multimedia Rein van den Boomgaard Universiteit van Amsterdam 1 data explosion 1200 lines x 1600 pixels per line RGB, 24 bit (3 bytes) per color pixel Total uncompressed (raw) size is 5.8 Mbyte 36

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Classification of triangles

Classification of triangles Classification of triangles A triangle is a geometrical shape that is formed when 3 non-collinear points are joined. The joining line segments are the sides of the triangle. The angles in between the sides

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

dens het encoderen. Een hoge QP duidt op grove quantisatie van residuele data en leidt bijgevolg tot een lagere kwaliteit. Door de ruwere benadering

dens het encoderen. Een hoge QP duidt op grove quantisatie van residuele data en leidt bijgevolg tot een lagere kwaliteit. Door de ruwere benadering Samenvatting De beschikbaarheid en verspreiding van video kent de laatste jaren een steile groei. Waar nog geen vijftien jaar geleden de bandbreedte van netwerken ontoereikend was om streaming video (aan

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten.

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. The Effect of Difference in Peer and Parent Social Influences on Adolescent Alcohol Use. Nadine

Nadere informatie

04/11/2013. Sluitersnelheid: 1/50 sec = 0.02 sec. Frameduur= 2 x sluitersnelheid= 2/50 = 1/25 = 0.04 sec. Framerate= 1/0.

04/11/2013. Sluitersnelheid: 1/50 sec = 0.02 sec. Frameduur= 2 x sluitersnelheid= 2/50 = 1/25 = 0.04 sec. Framerate= 1/0. Onderwerpen: Scherpstelling - Focusering Sluitersnelheid en framerate Sluitersnelheid en belichting Driedimensionale Arthrokinematische Mobilisatie Cursus Klinische Video/Foto-Analyse Avond 3: Scherpte

Nadere informatie

Handleiding Zuludesk Parent

Handleiding Zuludesk Parent Handleiding Zuludesk Parent Handleiding Zuludesk Parent Met Zuludesk Parent kunt u buiten schooltijden de ipad van uw kind beheren. Hieronder vind u een korte handleiding met de mogelijkheden. Gebruik

Nadere informatie

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren (1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs (2) Ons gezelschap is er om kunsteducatie te verbeteren (3) Ons gezelschap helpt gemeenschappen te vormen en te binden (4) De producties

Nadere informatie

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

After that, the digits are written after each other: first the row numbers, followed by the column numbers. Bifid cipher The bifid cipher is one of the classical cipher techniques that can also easily be executed by hand. The technique was invented around 1901 by amateur cryptographer Felix Delastelle. The cipher

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

Ontpopping. ORGACOM Thuis in het Museum

Ontpopping. ORGACOM Thuis in het Museum Ontpopping Veel deelnemende bezoekers zijn dit jaar nog maar één keer in het Van Abbemuseum geweest. De vragenlijst van deze mensen hangt Orgacom in een honingraatpatroon. Bezoekers die vaker komen worden

Nadere informatie

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet. Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen

Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Detectie van bewegende objecten in videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Sammy Lievens Promotor: prof. dr. ir. Rik Van de Walle Begeleiders: Chris Poppe, Sarah De Bruyne

Nadere informatie

Academisch schrijven Inleiding

Academisch schrijven Inleiding - In this essay/paper/thesis I shall examine/investigate/evaluate/analyze Algemene inleiding van het werkstuk In this essay/paper/thesis I shall examine/investigate/evaluate/analyze To answer this question,

Nadere informatie

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon Zelfwaardering en Angst bij Kinderen: Zijn Globale en Contingente Zelfwaardering Aanvullende Voorspellers van Angst bovenop Extraversie, Neuroticisme en Gedragsinhibitie? Self-Esteem and Fear or Anxiety

Nadere informatie

Travel Survey Questionnaires

Travel Survey Questionnaires Travel Survey Questionnaires Prot of Rotterdam and TU Delft, 16 June, 2009 Introduction To improve the accessibility to the Rotterdam Port and the efficiency of the public transport systems at the Rotterdam

Nadere informatie

Gebruik van het LOGO in geautomatiseerde verkiezingen

Gebruik van het LOGO in geautomatiseerde verkiezingen BIJLAGE 1 S.A. STERIA Benelux N.V. Gebruik van het LOGO in geautomatiseerde verkiezingen Technische bepalingen voor de weergave van het logo op de schermen. Versie 1.2 Guy JASPERS Revisions Revision Description

Nadere informatie

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and Lichamelijke factoren als voorspeller voor psychisch en lichamelijk herstel bij anorexia nervosa Physical factors as predictors of psychological and physical recovery of anorexia nervosa Liesbeth Libbers

Nadere informatie

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.

Nadere informatie

Een eerste belangrijk deel in dit proefschrift behandelt het automatisch detecteren van shotovergangen in H.264/AVC-gecodeerde videostromen.

Een eerste belangrijk deel in dit proefschrift behandelt het automatisch detecteren van shotovergangen in H.264/AVC-gecodeerde videostromen. Samenvatting De laatste decennia zijn we getuige geweest van een snel stijgende verspreiding en beschikbaarheid van mediabronnen. Deze toename kan hoofdzakelijk toegeschreven worden aan de groei van het

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours. TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination 2DL04 Friday 16 november 2007, 14.00-17.00 hours. De uitwerkingen van de opgaven dienen duidelijk geformuleerd en overzichtelijk

Nadere informatie

Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen

Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Analyse van videosequenties, gecomprimeerd met H.264/AVC, voor videobewakingssystemen Johannes De Smedt Promotor: prof. dr. ir. Rik Van de Walle Begeleiders: Chris Poppe, Sarah De Bruyne Scriptie ingediend

Nadere informatie

Four-card problem. Input

Four-card problem. Input Four-card problem The four-card problem (also known as the Wason selection task) is a logic puzzle devised by Peter Cathcart Wason in 1966. It is one of the most famous tasks in the study of deductive

Nadere informatie

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten Difference in Perception about Parenting between Parents and Adolescents and Alcohol Use of Adolescents

Nadere informatie

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain. Domino tiles Dominoes is a game played with rectangular domino 'tiles'. Today the tiles are often made of plastic or wood, but in the past, they were made of real stone or ivory. They have a rectangle

Nadere informatie

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij ENGLISH VERSION SEE PAGE 3 Tentamen Lineaire Optimalisering, 0 januari 0, tijdsduur 3 uur. Het gebruik van een eenvoudige rekenmachine is toegestaan. Geef bij elk antwoord een duidelijke toelichting. Als

Nadere informatie

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Inhoudsopgave 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What is an

Nadere informatie

Basic operations Implementation options

Basic operations Implementation options Priority Queues Heaps Heapsort Student questions EditorTrees WA 6 File Compression Graphs Hashing Anything else Written Assignments 7 and 8 have been updated for this term. Each of them is smaller than

Nadere informatie

Engels op Niveau A2 Workshops Woordkennis 1

Engels op Niveau A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Workshops Woordkennis 1 A2 Woordkennis 1 Bestuderen Hoe leer je 2000 woorden? Als je een nieuwe taal wilt spreken en schrijven, heb je vooral veel nieuwe woorden nodig. Je

Nadere informatie

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Bullying among Students with Autism Spectrum Disorders in Secondary

Nadere informatie

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X Handleiding/Manual Hoe te verbinden met (NDIRO): Apple OS X How to connect to (NDIRO): Apple OS X Inhoudsopgave / Table of Contents 1 Verbinden met het gebruik van Apple OS X (Nederlands)... 3 2 Connect

Nadere informatie

Eye Feature Detection Towards Automatic Strabismus Screening

Eye Feature Detection Towards Automatic Strabismus Screening Eye Feature Detection Towards Automatic Strabismus Screening Ken Allen, Khanh Nguyen Gettysburg College What is strabismus? Eye defect that causes eyes to look in two different directions If left untreated,

Nadere informatie

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives Students will recognize the values of numerals 1 to 10. Students will use objects to solve addition problems with sums from 1 to 10. Materials Needed Large number cards

Nadere informatie

Non Diffuse Point Based Global Illumination

Non Diffuse Point Based Global Illumination Non Diffuse Point Based Global Illumination Karsten Daemen Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr.

Nadere informatie

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14)

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14) Quality requirements concerning the packaging of oak lumber of (09.09.14) Content: 1. Requirements on sticks 2. Requirements on placing sticks 3. Requirements on construction pallets 4. Stick length and

Nadere informatie

Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen

Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen Ontwikkeling van een tool voor de analyse van schaalbaar gecodeerde videostromen Sebastiaan Van Leuven Begeleider: Koen De Wolf Promotor: prof. dr. ir. Rik Van de Walle lic. Koen De Wolf Scriptie ingediend

Nadere informatie

Chromosomal crossover

Chromosomal crossover Chromosomal crossover As one of the last steps of genetic recombination two homologous chromosomes can exchange genetic material during meiosis in a process that is referred to as synapsis. Because of

Nadere informatie

Group work to study a new subject.

Group work to study a new subject. CONTEXT SUBJECT AGE LEVEL AND COUNTRY FEATURE OF GROUP STUDENTS NUMBER MATERIALS AND TOOLS KIND OF GAME DURATION Order of operations 12 13 years 1 ste year of secundary school (technical class) Belgium

Nadere informatie

B1 Woordkennis: Spelling

B1 Woordkennis: Spelling B1 Woordkennis: Spelling Bestuderen Inleiding Op B1 niveau gaan we wat meer aandacht schenken aan spelling. Je mag niet meer zoveel fouten maken als op A1 en A2 niveau. We bespreken een aantal belangrijke

Nadere informatie

Academisch schrijven Inleiding

Academisch schrijven Inleiding - In dit essay/werkstuk/deze scriptie zal ik nagaan/onderzoeken/evalueren/analyseren Algemene inleiding van het werkstuk In this essay/paper/thesis I shall examine/investigate/evaluate/analyze Om deze

Nadere informatie

Adam Marciniec, Grzegorz Budzik Zaborniak

Adam Marciniec, Grzegorz Budzik Zaborniak Journal of KONES Powertrain and Transport, Vol. 21, No. 3 2014 THE DETERMINATION OF ACCURACY OF THE DEMONSTRATOR OF AERONAUTIC BEVEL GEARBOX, ACCOMPLISHED BY SELECTED RAPID PROTOTYPING TECHNIQUES USING

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R Risico s van Technologisch Succes in digitale transformatie 2e Risk Event 2019 11 april 2019 The S T R A T E G I C A D V I S O R Ymanagement school of the autonomous University of Antwerp 2 Prof. dr. Hans

Nadere informatie

Illustrator Tutorial - How to Create a Watch

Illustrator Tutorial - How to Create a Watch Illustrator Tutorial - How to Create a Watch «Andrew Bannecker - Simple, True and Tender Vector Movie Posters by GABZ» Categories: Tutorials Have you ever seen print advertising of some watch brand before?

Nadere informatie

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g S e v e n P h o t o s f o r O A S E K r i j n d e K o n i n g Even with the most fundamental of truths, we can have big questions. And especially truths that at first sight are concrete, tangible and proven

Nadere informatie

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten.

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten. FAAC DRIVER Driver install procedure for FAAC boards Installatieprocedure voor driver voor FAAC-kaarten www.record-toegangstechniek.nl 1 When a FAAC board (E124 or E145) is connected to the USB port, it

Nadere informatie

Esther Lee-Varisco Matt Zhang

Esther Lee-Varisco Matt Zhang Esther Lee-Varisco Matt Zhang Want to build a wine cellar Surface temperature varies daily, seasonally, and geologically Need reasonable depth to build the cellar for lessened temperature variations Building

Nadere informatie

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM Read Online and Download Ebook ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM DOWNLOAD EBOOK : ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK STAFLEU

Nadere informatie

Denken en Doen Doen of Denken Het verband tussen seksueel risicovol gedrag en de impulsieve en reflectieve cognitie.

Denken en Doen Doen of Denken Het verband tussen seksueel risicovol gedrag en de impulsieve en reflectieve cognitie. 0 Denken en Doen Doen of Denken Het verband tussen seksueel risicovol gedrag en de impulsieve en reflectieve cognitie. Denken en Doen Doen of Denken Het verband tussen seksueel risicovol gedrag en de impulsieve

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

MyDHL+ ProView activeren in MyDHL+ MyDHL+ ProView activeren in MyDHL+ ProView activeren in MyDHL+ In MyDHL+ is het mogelijk om van uw zendingen, die op uw accountnummer zijn aangemaakt, de status te zien. Daarnaast is het ook mogelijk om

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

Shipment Centre EU Quick Print Client handleiding [NL]

Shipment Centre EU Quick Print Client handleiding [NL] Shipment Centre EU Quick Print Client handleiding [NL] Please scroll down for English. Met de Quick Print Client kunt u printers in Shipment Centre EU configureren. De Quick Print Client kan alleen op

Nadere informatie

OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL

OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL GB - NL GB PARTS & FUNCTIONS 1. 7. ---- 3. ---- 4. ---------- 6. 5. 2. ---- 1. Outdoor IP camera unit 2. Antenna 3. Mounting bracket 4. Network connection 5.

Nadere informatie

My Inspiration I got my inspiration from a lamp that I already had made 2 years ago. The lamp is the you can see on the right.

My Inspiration I got my inspiration from a lamp that I already had made 2 years ago. The lamp is the you can see on the right. Mijn Inspiratie Ik kreeg het idee om een variant te maken van een lamp die ik al eerder had gemaakt. Bij de lamp die in de onderstaande foto s is afgebeeld kun je het licht dimmen door de lamellen open

Nadere informatie

Firewall van de Speedtouch 789wl volledig uitschakelen?

Firewall van de Speedtouch 789wl volledig uitschakelen? Firewall van de Speedtouch 789wl volledig uitschakelen? De firewall van de Speedtouch 789 (wl) kan niet volledig uitgeschakeld worden via de Web interface: De firewall blijft namelijk op stateful staan

Nadere informatie

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op! Benodigdheden:!!

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op!  Benodigdheden:!! WildPeacockOmslagdoek VertalingdoorEerlijkeWol. Hetgarenvoorditpatroonisteverkrijgenopwww.eerlijkewol.nl Benodigdheden: 4strengenWildPeacockRecycledSilkYarn rondbreinaaldnr8(jekuntnatuurlijkookgewonebreinaaldengebruiken,maar

Nadere informatie

Calculator spelling. Assignment

Calculator spelling. Assignment Calculator spelling A 7-segmentdisplay is used to represent digits (and sometimes also letters). If a screen is held upside down by coincide, the digits may look like letters from the alphabet. This finding

Nadere informatie

Reading comprehension: The Tropical Rainforest

Reading comprehension: The Tropical Rainforest Auteur Laatst gewijzigd Licentie Webadres Patricia Termeer 05 februari 2016 CC Naamsvermelding 3.0 Nederland licentie https://maken.wikiwijs.nl/71971 Dit lesmateriaal is gemaakt met Wikiwijs van Kennisnet.

Nadere informatie

liniled Cast Joint liniled Gietmof liniled Castjoint

liniled Cast Joint liniled Gietmof liniled Castjoint liniled Cast Joint liniled Gietmof liniled is een hoogwaardige, flexibele LED strip. Deze flexibiliteit zorgt voor een zeer brede toepasbaarheid. liniled kan zowel binnen als buiten in functionele en decoratieve

Nadere informatie

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

EM7680 Firmware Update by OTA

EM7680 Firmware Update by OTA EM7680 Firmware Update by OTA 2 NEDERLANDS/ENGLISH EM7680 Firmware update by OTA Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 3 4.0 (NL) Overige

Nadere informatie

Risk & Requirements Based Testing

Risk & Requirements Based Testing Risk & Requirements Based Testing Tycho Schmidt PreSales Consultant, HP 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Agenda Introductie

Nadere informatie

AVCHD. AVCHD Workshop. 2012 Hans Dorland

AVCHD. AVCHD Workshop. 2012 Hans Dorland AVCHD AVCHD Workshop Inzicht Wie monteert* met DV? Wie monteert* met HDV? Wie monteert met AVCHD? *en overweegt montage met AVCHD? Overzicht digitale video 1995 DV 2005 HDV 2012 AVCHD Wat is HD video?

Nadere informatie

Functioneren van een Kind met Autisme. M.I. Willems. Open Universiteit

Functioneren van een Kind met Autisme. M.I. Willems. Open Universiteit Onderzoek naar het Effect van de Aanwezigheid van een Hond op het Alledaags Functioneren van een Kind met Autisme M.I. Willems Open Universiteit Naam student: Marijke Willems Postcode en Woonplaats: 6691

Nadere informatie

Fysieke Activiteit bij 50-plussers. The Relationship between Self-efficacy, Intrinsic Motivation and. Physical Activity among Adults Aged over 50

Fysieke Activiteit bij 50-plussers. The Relationship between Self-efficacy, Intrinsic Motivation and. Physical Activity among Adults Aged over 50 De relatie tussen eigen-effectiviteit 1 De Relatie tussen Eigen-effectiviteit, Intrinsieke Motivatie en Fysieke Activiteit bij 50-plussers The Relationship between Self-efficacy, Intrinsic Motivation and

Nadere informatie

Algorithms for Max-Flow

Algorithms for Max-Flow Algorithms for Max-Flow Consider a network with given upper bounds for the capacities of the arcs, and one entry and one exit node. The max-flow problem consists in finding a maximal flow through the network

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 Het trapoppervlak is een afwikkelbaar oppervlak met oneindig veel singuliere punten. Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak met

Nadere informatie

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te.

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te. De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te Stoppen The Influence of the Innovation Characteristics on the Intention of

Nadere informatie

How to install and use dictionaries on the ICARUS Illumina HD (E652BK)

How to install and use dictionaries on the ICARUS Illumina HD (E652BK) (for Dutch go to page 4) How to install and use dictionaries on the ICARUS Illumina HD (E652BK) The Illumina HD offers dictionary support for StarDict dictionaries.this is a (free) open source dictionary

Nadere informatie

Handleiding Installatie ADS

Handleiding Installatie ADS Handleiding Installatie ADS Versie: 1.0 Versiedatum: 19-03-2014 Inleiding Deze handleiding helpt u met de installatie van Advantage Database Server. Zorg ervoor dat u bij de aanvang van de installatie

Nadere informatie

Impact en disseminatie. Saskia Verhagen Franka vd Wijdeven

Impact en disseminatie. Saskia Verhagen Franka vd Wijdeven Impact en disseminatie Saskia Verhagen Franka vd Wijdeven Wie is wie? Voorstel rondje Wat hoop je te leren? Heb je iets te delen? Wat zegt de Programma Gids? WHAT DO IMPACT AND SUSTAINABILITY MEAN? Impact

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 7 februari 2011 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame. 8+ 60 MIN. 2-5 Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame. HELICOPTER SPEL VOORBEREIDING: Doe alles precies hetzelfde als bij

Nadere informatie

Workflow en screenshots Status4Sure

Workflow en screenshots Status4Sure Workflow en screenshots Status4Sure Inleiding Het Status4Sure systeem is een ICT oplossing waarmee de transportopdrachten papierloos door het gehele proces gaan. De status kan gevolgd worden door de logistieke

Nadere informatie

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO Handleiding/Manual Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO Inhoudsopgave / Table of Contents 1 Verbinden met het gebruik van

Nadere informatie

EM7680 Firmware Update by Micro SD card

EM7680 Firmware Update by Micro SD card EM7680 Firmware Update by Micro SD card 2 NEDERLANDS/ENGLISH EM7680 Firmware update by Micro SD card Table of contents 1.0 (NL) Introductie... 2 2.0 (NL) Firmware installeren... 2 3.0 (NL) Opmerking...

Nadere informatie

Studie en implementatie van mechanismen voor foutonderdrukking in H.264/AVC

Studie en implementatie van mechanismen voor foutonderdrukking in H.264/AVC Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout Studie en implementatie van mechanismen voor foutonderdrukking in H.264/AVC door

Nadere informatie

MyDHL+ Uw accountnummer(s) delen

MyDHL+ Uw accountnummer(s) delen MyDHL+ Uw accountnummer(s) delen met anderen Uw accountnummer(s) delen met anderen in MyDHL+ In MyDHL+ is het mogelijk om uw accountnummer(s) te delen met anderen om op uw accountnummer een zending te

Nadere informatie

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten?

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten? Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten? Does Gentle Teaching have Effect on Skills of Caregivers and Companionship and Anxiety

Nadere informatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een Vaste Relatie The Association between Daily Stress, Emotional Intimacy and Affect with Partners in a Commited

Nadere informatie

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS COGNITIEVE DISSONANTIE EN ROKERS Gezondheidsgedrag als compensatie voor de schadelijke gevolgen van roken COGNITIVE DISSONANCE AND SMOKERS Health behaviour as compensation for the harmful effects of smoking

Nadere informatie

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Examen ET1205-D1 Elektronische Circuits deel 1, 5 April 2011, 9-12 uur Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Indien, bij het multiple choice

Nadere informatie

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1 Quick start guide Powerbank MI 16.000 Mah Follow Fast 2016 - All rights reserved. Page 1 ENGLISH The Mi 16000 Power Bank is a very good backup option for those on the move. It can keep you going for days

Nadere informatie

Summary 124

Summary 124 Summary Summary 124 Summary Summary Corporate social responsibility and current legislation encourage the employment of people with disabilities in inclusive organizations. However, people with disabilities

Nadere informatie

EM7680 Firmware Auto-Update for Kodi 17.2

EM7680 Firmware Auto-Update for Kodi 17.2 EM7680 Firmware Auto-Update for Kodi 17.2 2 NEDERLANDS/ENGLISH EM7680 Firmware Auto-update for Kodi 17.2 Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Opmerking...

Nadere informatie

CHROMA STANDAARDREEKS

CHROMA STANDAARDREEKS CHROMA STANDAARDREEKS Chroma-onderzoeken Een chroma geeft een beeld over de kwaliteit van bijvoorbeeld een bodem of compost. Een chroma bestaat uit 4 zones. Uit elke zone is een bepaald kwaliteitsaspect

Nadere informatie

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education DUTCH 055/02 Paper 2 Reading MARK SCHEME Maximum Mark: 45 Published This mark scheme is published

Nadere informatie

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen tussen Leeftijdsgroepen Differences in the Use of Memory Strategies and Learning Styles between Age Groups Rik Hazeu Eerste begeleider:

Nadere informatie

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1 Today s class Digital Logic Friday, October 19, 2007 Computer Architecture I - Class 8 1 Digital circuits Two logical values Binary 0 (signal between 0 and 1 volt) Binary 1 (signal between 2 and 5 volts)

Nadere informatie

28/10/2012. Onderwerpen: Scherpstelling - Focusering Sluitersnelheid en framerate. Sluitersnelheid en belichting

28/10/2012. Onderwerpen: Scherpstelling - Focusering Sluitersnelheid en framerate. Sluitersnelheid en belichting 8/0/0 Onderwerpen: Sluitersnelheid en framerate Sluitersnelheid en belichting Driedimensionale Arthrokinematische Mobilisatie Cursus Klinische Video/Foto-Analyse Avond 3: Scherpte en Scherptediepte www.damcursus.nl

Nadere informatie

Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2

Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2 167 Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2 Task clarity 1. I understand exactly what the task is 2. I understand exactly what is required of

Nadere informatie

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of: Document properties Most word processors show some properties of the text in a document, such as the number of words or the number of letters in that document. Write a program that can determine some of

Nadere informatie

Emotioneel Belastend Werk, Vitaliteit en de Mogelijkheid tot Leren: The Manager as a Resource.

Emotioneel Belastend Werk, Vitaliteit en de Mogelijkheid tot Leren: The Manager as a Resource. Open Universiteit Klinische psychologie Masterthesis Emotioneel Belastend Werk, Vitaliteit en de Mogelijkheid tot Leren: De Leidinggevende als hulpbron. Emotional Job Demands, Vitality and Opportunities

Nadere informatie

Bin packing and scheduling

Bin packing and scheduling Sanders/van Stee: Approximations- und Online-Algorithmen 1 Bin packing and scheduling Overview Bin packing: problem definition Simple 2-approximation (Next Fit) Better than 3/2 is not possible Asymptotic

Nadere informatie

Referentie Handleiding

Referentie Handleiding Version 1.1.5 Referentie Handleiding DiscretePhoton H.264 encoder DiscretePhoton www.discretephoton.com Referentie Handleiding Over DiscretePhoton H.264-encoder DiscretePhoton H.264 encoder Windows versie

Nadere informatie