Departement Industriële Ingenieurswetenschappen
Master in de industriële wetenschappen: Elektronica-ICT afstudeerrichting Elektronica
Monitoren activiteitsgraad van bijen aan de hand van camerabeelden
Masterproef voorgedragen tot het behalen van de beroepstitel van industrieel ingenieur. Academiejaar 2011-2012
Door:
Wim Hendrickx
Promotor hogeschool:
dr.ir.Toon Goedemé
Promotor bedrijf:
ir. Kris Cuppens ir. Glen Debard
Voorwoord Ter voltooiing van mijn masteropleiding en om de beroepstitel industrieel ingenieur in de elektronica te mogen dragen dient er een eindwerk te worden gemaakt. De keuze van de masterproef is een vrij keuze. Er waren op school een aantal voorstellen aanwezig of we mochten zelf een voorstel indienen om een thesis rond te maken. De thesis die ik heb gekozen was een voorstel, dat gedaan werd door de school. De titel van het eindwerkvoorstel luidde “Monitoren van activiteitsgraad van bijen ahv camerabeelden”. Deze titel sprong mij vrijwel meteen in het oog. Hoewel ik vroeger steeds elektronica en hoogfrequent als optie keuzes heb gemaakt, ben ik tijdens de laatste 2 jaar van mijn opleiding gaan houden van beeldverwerking. Andere aspecten waarom ik deze thesis heb gekozen zijn: het is een uitdaging om met iets vanaf nul te starten en het is een probleem voor ons allemaal. Ik zelf heb wel wat ervaring in de landbouwsector. Ik ben opgegroeid tussen het vee de weides en de akkers daardoor weet ik uit ervaring dat bijen zeer belangrijk en nuttig zijn voor ons. De laatste jaren hoor je steeds meer en meer berichten over het feit dat het niet goed gaat met de honingbij. Het gaat zo ver dat er in het Vlaams parlement wordt over gesproken. De honingbij is een belangrijke schakel in de voedselketen, die zowel van ecologisch als economisch belang is. Ik vond dat deze thesis unieke kansen bood om zelf praktisch iets te realiseren op het terrein zelf. Dat echt gebruikt zal worden en waar het de bedoeling is dat er nog volgprojecten op gemaakt zullen worden. Dit is zowel op gebied van elektronica, als op gebied van biotechnologie. Het gaf en geeft mij het gevoel dat ik via deze thesis zelf toch ook een steentje kan bijdragen in de zoektocht naar een groter probleem dat van belang is voor de ganse samenleving. In de loop van deze thesis zal iets verteld worden over de problematiek van de bijen en waarom onderzoek zo belangrijk is. Het grootste aandeel is voor de technische kant van het verhaal en het voorafgaande onderzoek. Vooraleer ik hiermee verder ga zou ik graag eerst een aantal bijzondere mensen willen bedanken die dit eindwerk mede hebben mogelijk gemaakt. Ik dank hierbij: ir. Kris Cuppens en ir. Glen Debard, mijn bedrijfspromotoren van K.H.Kempen Mobilab die mij op vele vlakken hebben geholpen en ondersteunt. ir. Karel Dekoninck van K.H.Kempen voor zijn deskundige ondersteuning in verband met bijen en het ter beschikking stellen van de middelen. dr.ir. Toon Goedemé, mijn hogeschoolpromotor van wie ik steun en raad mocht ontvangen. Mijn broer Ruben Hendrickx, die mij steeds overal in steunt. Zijn interesse en bezorgdheid stimuleerden mij om door te zetten. Op hem kan ik altijd rekenen. Samen met zijn vriendin Maaike Janssens moet ik hen zeker danken omdat zij de verschillende tellingen hebben gedaan voor de bijen in de echte camerabeelden. Mensen die niet meteen met deze thesis te maken hebben, maar die mij toch geholpen hebben: Mijn ouders zou ik zeker willen bedanken voor het feit dat ze mij de kans gegeven hebben om te studeren. Zonder hun hulp en geduld had ik dit nooit gekund. Alle andere docenten die mij in de loop van mijn opleiding met raad en daad hebben bijgestaan.
Abstract (nederlands) De bijenpopulatie in Vlaanderen, Europa en de rest van de wereld neemt onrustwekkend snel af. Hierdoor trekken imkers, landbouwers en natuurbeschermers steeds harder aan de alarmbel. Hier komt de eis naar voren om via een camerasysteem de activiteitsgraad van bijen te gaan monitoren, wat eveneens het doel is van deze thesis. Deze monitoring is vereist om de oorzaken van de plotse afname te achterhalen. Op deze thesis zullen later nog meer volgprojecten worden gemaakt, zowel in het gebied van biotechnologie als elektronica. Dit camerasysteem biedt de mogelijkheid om in de toekomst de invloed van verschillende parameters zoals temperatuur en lichtinval op de activiteit van de bijen te bepalen. Hierdoor kan het gedrag en de productiviteit van de bijen geoptimaliseerd worden. De telling voor het bepalen van de activiteitsgraad gebeurt door het plaatsen van 2 lijnen en een overgangszone. Om het algoritme te testen is testdata nodig, hiervoor moet eerst een mechanische opstelling ontwikkeld worden. Waarna zelf een dataset wordt opgenomen. Het eerste deel van het algoritme is de bepaling van de achtergrond en de bewegende delen van het beeld. Waar een studie gedaan is naar de optimale parameters voor deze toepassing. Verder in het algoritme wordt er ook gebruik gemaakt van tracking, waar de invloed van de Kalman filter op het algoritme wordt bestudeerd. Hieruit zal dan blijken of de filter al dan niet een positieve bijdrage levert in dit project. Om de activiteitsgraad van bijen te bepalen worden het aantal in en uitgaande bijen gedurende een periode geteld.
Abstract (English) The bee population in Flanders, Europe and the rest of the world is fast disappearing. Therefore beekeepers, farmers and conservationists draw harder on the alarm. This monitoring is required to identify the causes of the sudden decline to find out. On this thesis will follow more projects, in the field of biotechnology and electronics. For the future this camera offers the possibility to determine the influence of various parameters such as temperature and light on the activity of the bees. This allows optimizing the behavior and productivity of the bees. The count for determining the degree of the activity is done by placing two lines and a transition zone. To test the algorithm test data is necessary; therefore mechanical design must be developed. After which a dataset is recorded. The first part of the algorithm is the provision of the background and the moving parts of the image, where a study is done for the optimization of the parameters for this application. Further in the algorithm tracking is used, where the influence of the Kalman filter on the algorithm is being studied. This studie will show whether or not the filter makes a positive contribution in this project. To determine the degree of activity of bees the number of bees in and out is counted during a period of time.
0. Short summary 0.1.Introduction The purpose of this thesis is to design a camera system that is capable to monitoring the degree of activity from bees in a hive. Bees stand for 80% to 85% of the pollination plants. The beekeeping sector in Flanders is, as elsewhere in Europe and the world, under severe pressure from exceptional bee mortality in recent years. Although the exact cause is not yet clear, there is generally believed that a combination of several factors are at the root of the problem[41]. The Commissie voor Landbouw, Visserij en Plattelandsbeleid had an exchange of views with Prof. Frans Jacobs of the University of Ghent on the so-called “vanishing problem” in bee populations (Parl. St. Fl. Parl. 2010-11, No 1182/1). Prof Jacobs has made it clear that the problem is multifactorial: multiple factors interact simultaneously. Yet for him two problems stood out: firstly, the contamination of bee populations with the varroa mite, a harmful parasite, and secondly, the reduced presence of suitable food for the bees, mostly because of reduced biodiversity.These two factors have a significant impact on the vitality of hives. When that vitality comes more under pressure, other factors start to come more forward: • The impact of desease-causing viruses and protozoa that are present on bees; • The careless use of certain agricultural and private use of certain pesticides; • Non-optimal beekeeping practices; • All kinds of pollution. It is therefore important that we are able to monitor the bees. This enables us to: • create a view into changing activity rates and deduce causes; • see the impact of changing environmental parameters, in future studies; • notice problems on time; Which respect into the best possible treatments for bees. Bees are very important to us, also here in Flanders. When the bees would vanish, it would have disastrous economic and environmental problems. In the past, systems were developed to detect the level of activity of bees. These systems also counted the incoming and outgoing bees, not based on a camera system, but on optical sensors. A disadvantage of this system is that it is placed over the entrance of the hive. This can interfere the bee’s activities and also the ventilation of the hive is compromised. By making use of a camera positioned above the fly opening of the hive, this problem is solved. This thesis will show that it is possible to monitor the level of activity of bees around the hive by using a camera and the use of video processing algorithms, by counting the incoming and outgoing bees. The further course of this chapter is as fallows. In section 0.2 a short review of the camera, section 0.3 is about the algorithm, section 0.4 gives a quick preview of the video dataset, 0.5 will lock to the results and 0.6 is the conclusion.
0.2.Camera One of the first things that must happen was the choice of the camera. As the camera is placed in an outside setting, a proper housing should be provided. Different types of cameras and lenses where considered to match the specific requirements of the view, the speed of recording and the resolution. The camera is an IP-camera. The reason for this is a demand of the client, on the location there already was an Ethernet connection that could be used for the camera. This way the camera could be connected to the school network. In order to place the camera on the hive there was a need for a mechanical design. Mechanically there were a few limitations like the weight and the size of the hive and the need of being easy to relocate the camera.
0.3.Algorithm The camera- based bee monitoring system can easily been shown in a block diagram.
Figuur 1: General block diagram
The camera provides the necessary information through an IP connection. Background subtraction is then applied to only maintain the moving parts of the image. The shadows of the bees move too, but they are not needed. After the removal of the shadows, only the bees are preserved. Once this is done, the bees are tracked, in order to determine their direction of movement. In the last step the incoming and outgoing bees are counted.
0.4.Video dataset To our knowledge, no dataset with bee movements is publically available. However to test the algorithms sufficient data is needed. So, it was necessary to use suboptimal data, what has given a better insight into the problem. After that, the use of artificial data was necessary, the artificial data is generated by analyzing the behavior of bees flying on the shelf. For debugging the algorithms different scenarios of behavior where created. In the first analysis of the data, it is not necessary to process the data in real time. Real time processing is difficult because of the high frame rate and it wasn’t a demand of the client.
0.5.Results In the results there are two large different with and without Kalman-filter, the results show that the Kalman filter has a negative influence on the count of the bees. Further the use of different variables for de Background update the threshold and the maximum distance between blobs and different combinations were mated.
0.6.Conclusion Within this thesis different technologies made by different authors where combined to create a working activity monitoring system for bees. Despite the fact we don’t have a 100% correct system, the results are hopeful.
Inhoudsopgave Voorwoord ............................................................................................................... 3 Abstract (nederlands) ................................................................................................ 5 Abstract (English) ..................................................................................................... 6 0.
Short summary................................................................................................ 7
0.1.
Introduction ................................................................................................. 7
0.2.
Camera ....................................................................................................... 8
0.3.
Algorithm ..................................................................................................... 8
0.4.
Video dataset ............................................................................................... 8
0.5.
Results ........................................................................................................ 8
0.6.
Conclusion ................................................................................................... 8
Inhoudsopgave ......................................................................................................... 9 Lijst met gebruikte afkortingen en symbolen .............................................................. 12 Lijst met figuren en tabellen ..................................................................................... 13 1.
2
3
Inleiding ....................................................................................................... 14
1.1
Bijen problemen ......................................................................................... 14
1.2
Masterproef................................................................................................ 15
1.3
Opdrachtgever............................................................................................ 15
1.4
Een tandje BIJ voor de imkerij ...................................................................... 16
1.5
Vaardigheden ............................................................................................. 17
1.6
Verloop van de tekst ................................................................................... 17
Situering & doelstelling....................................................................................... 18 2.1
Situering .................................................................................................... 18
2.2
Doelstellingen............................................................................................. 18
Literatuurstudie ................................................................................................. 20 3.1
Eigenschappen van bijen.............................................................................. 20
3.1.1
Anatomie ............................................................................................. 20
3.1.2
Snelheid .............................................................................................. 21
3.2
Gedrag van bijen op de vliegplank ................................................................ 21
3.3
Activiteitsgraad........................................................................................... 21
3.4
Bestaande systemen (state of the art) ........................................................... 21
3.5
Detectie van bijen ....................................................................................... 23
3.5.1
Template matching ............................................................................... 23
3.5.2
Background subtraction ......................................................................... 23
3.6
Background subtraction algoritmes ............................................................... 24
3.6.1
Niet-recursieve technieken ..................................................................... 24
3.6.2
Recursieve technieken ........................................................................... 26
3.7
Schaduw verwijdering ................................................................................. 27
3.7.1
Eerste manier....................................................................................... 28
3.7.2
Tweede manier ..................................................................................... 31
3.8
3.8.1
Target representation and localization ..................................................... 32
3.8.2
Filtering and data association ................................................................. 33
3.9
4
Besluit ....................................................................................................... 33
3.9.1
Eigenschappen van bijen ....................................................................... 33
3.9.2
Activiteitsgraad .................................................................................... 33
3.9.3
Bestaande systemen ............................................................................. 33
3.9.4
Gedrag van bijen op de vliegplank .......................................................... 33
3.9.5
Detectie van bijen ................................................................................. 33
3.9.6
Background subtraction ......................................................................... 34
3.9.7
Schaduw verwijdering ........................................................................... 34
3.9.8
Tracking .............................................................................................. 34
Camera ............................................................................................................ 35 4.1
Opbouw ..................................................................................................... 35
4.1.1
Camera body........................................................................................ 35
4.1.2
Sensoren ............................................................................................. 36
4.1.3
DSP .................................................................................................... 40
4.2
Eisen en wetenswaardigheden ...................................................................... 40
4.3
Berekeningen ............................................................................................. 41
4.3.1
Frame rate voor de camera .................................................................... 41
4.3.2
Lens berekenen .................................................................................... 42
4.4
5
Tracking .................................................................................................... 32
De uiteindelijke keuze ................................................................................. 42
4.4.1
Camera ............................................................................................... 43
4.4.2
Lens .................................................................................................... 43
4.4.3
Behuizing............................................................................................. 43
4.5
Positionering en montage............................................................................. 43
4.6
Kostprijs .................................................................................................... 45
4.7
Besluit ....................................................................................................... 46
Algoritme ......................................................................................................... 47 5.1
Inleiding .................................................................................................... 47
5.2
Background subtraction ............................................................................... 47
5.3
Shadow remover......................................................................................... 50
5.4
Bee detection ............................................................................................. 53
5.5
Tracking .................................................................................................... 54
5.5.1
Inleiding tot Kalman filter ...................................................................... 54
5.5.2
Algoritme van de discrete Kalman filter ................................................... 55
5.6
Counter ..................................................................................................... 57
5.7
Besluit ....................................................................................................... 57
6
Artificiële beelden .............................................................................................. 58
7
Resultaten ........................................................................................................ 59
8
Algemeen besluit ............................................................................................... 60
9
Bibliografie ....................................................................................................... 62
Lijst met gebruikte afkortingen en symbolen B
Background
BWE
Bewegende elmenten
CCD
Charge Coupled Device
CMOS
Complementary Metal Oxide on Semiconductor
F
Forground
fps
frames per second
KHK
Katholieke Hogeschool Kempen
MOBILAB Multidisciplinair onderzoekslaboratorium voor Biomedische- en Revalidatietechnologie NCC
Normalized Cross Correlation
nl.
Namelijk
ROI
region of intrest
Lijst met figuren en tabellen Figuur 1: General block diagram ................................................................................. 8 Figuur 2: Logo: "Een tandje BIJ voor de imkerij" ......................................................... 16 Figuur 3: "biehal " ................................................................................................... 16 Figuur 4:Honingbij (Apis mellifera) ............................................................................ 20 Figuur 5a: Bijen teller met fototransitoren vooraanzicht Figuur 5b Bijenteller gemonteerd op de bijenkast 22 Figuur 6: Template matching voor de letter K ............................................................. 23 Figuur 7: Een grijswaarde afbeelding met schaduw ..................................................... 27 Figuur 8: Neighbourhood met N=2 ............................................................................ 29 Figuur 9: Opbouw van een schaduw .......................................................................... 31 Figuur 10: Opbouw van een digitale camera ............................................................... 35 Figuur 11:Aperture: 1 is een grote en 2 is een kleine aperture ...................................... 36 Figuur 12: balans tussen shutter en aperture.............................................................. 36 Figuur 13: Werking CCD .......................................................................................... 37 Figuur 14: Sensor grootte ........................................................................................ 37 Figuur 15: CMOS werking......................................................................................... 38 Figuur 16: Eigenschappen en prestaties vergelijking CCD versus CMOS ......................... 39 Figuur 17: CMOS ontwikkelingsproces ....................................................................... 40 Figuur 18: Lens berekening ...................................................................................... 42 Figuur 19: Schroef waar hangslot doorkan ................................................................. 44 Figuur 20: Positionering en montage van de camera.................................................... 44 Figuur 21: Opbouw van het Algoritme........................................................................ 47 Figuur 22: Approximated median filter en background subtraction flowchart ................... 49 Figuur 23: Schaduw verwijdering flowchart ................................................................ 52 Figuur 24: structering element voor erosie ................................................................. 53 Figuur 25: structering element voor dilatie ................................................................. 53 Figuur 26: Lopende discrete Kalman filter cyclus ......................................................... 55 Figuur 27: Werking van de Kalman filter .................................................................... 56 Figuur 28: Artificiële beelden met tracking en telling die aan het lopen is ....................... 58
14
1. Inleiding Dit eerste hoofdstuk geeft een inleiding tot de masterproef. Gestart wordt met sectie 1.1 waar de problematiek van de bijen wordt besproken. Sectie 1.2 handelt over wat er in deze thesis zal onderzocht worden en vanwaar het voorstel komt. In sectie 1.3 wordt wat meer uitleg gegeven over de opdrachtgevers en wat zij juist doen. In sectie 1.4 wordt kort het grotere project besproken waarin deze thesis kadert. De benodigde vaardigheden worden besproken in sectie 1.5
1.1 Bijen problemen Imkers landbouwers en natuurbeschermers trekken steeds harder aan de alarmbel. De bijen populatie in Vlaanderen, Europa en de rest van de wereld staat onder zware druk door de uitzonderlijke bijensterfte van de afgelopen jaren [42]. De meeste mensen kennen wel het verband tussen bloemen en bijtjes, de bijtjes als bestuivers en daarop volgt dan de rest van vruchtvorming en voortplanting. Wanneer de bijen in de problemen komen wil dit ook zeggen dat de planten in de problemen komen. Bijen staan wereldwijd in voor 80% tot 85% van de bestuiving van planten. Naar schatting is wereldwijd ruim één derde van de landbouwgewassen afhankelijk van insecten voor zijn bevruchting en vruchtzetting. Doemscenario’s voor de bijen zouden volgens sommige wetenschappers wel eens kunnen leiden tot hongersnood en diverse andere rampen [41,42]. De bestuiving op landbouwgewassen maakt dat de honingbij in Nederland een economische waarde van één miljard euro per jaar vertegenwoordigt [1]. Er kan dus wel gesteld worden dat wanneer de bijen zouden uitsterven er een grote economische en ecologische ramp zal plaats vinden. De bijen kampen de laatste tijd met verschillende problemen [42]: • • •
Varroa mijt, parasiet die de honingbij letterlijk leegzuigt; Een continu dalend nectaraanbod, Vlaanderen wordt steeds armer aan bloemen; Misbruik van pesticiden; Steeds meer imkers die er de brui aangeven, met merkbare gevolgen voor de honingbrij.
Hoewel er over de precieze oorzaken van de uitzonderlijke bijensterfte van de afgelopen jaren nog geen eenduidigheid is, wordt algemeen aangenomen dat een samenspel van diverse factoren aan de basis ligt van het probleem[41]. De Commissie voor Landbouw, Visserij en Plattelandsbeleid heeft een gedachtewisseling gehouden met prof. Frans Jacobs van de Universiteit Gent over de zogenaamde ‘verdwijnproblematiek’ in de bijenpopulaties (Parl. St. Vl. Parl. 2010-11, nr. 1182/1). Prof. Jacobs heeft gesteld dat de problematiek multifactorieel is: Toch zijn er voor hem twee problemen die eruit springen: enerzijds de besmetting van de bijenpopulaties met de varroamijt, en anderzijds de verminderde aanwezigheid van geschikt voedsel voor de bijen, veelal door een verminderde biodiversiteit. Die twee factoren hebben een zeer significante impact op de vitaliteit van bijenvolken. Wanneer die vitaliteit onder druk komt te staan, beginnen ook andere factoren meer op de voorgrond te treden: • de invloed van ziekteveroorzakende virussen en eencellige die aanwezig zijn op bijen; • het onzorgvuldig agrarisch en particulier gebruik van bepaalde gewasbeschermingsmiddelen; • niet-optimale imkerpraktijken; • allerhande pollutie.
2011-2012
Wim Hendrickx
15 Bijen zijn zeer belangrijk voor ons, ook hier in Vlaanderen. Waarom zijn bijen zo belangrijk? Bestuiving van geteelde voedsel gewassen; Bestuiving van allerlei bloemen en bloesems in het landschap, die bijdragen aan de biodiversiteit; Productie van honing, het gezondst is honing uit eigen streek eten, dit verhoogt de immuniteit van de mens; Bijengif, voor de farmacie; Koningginnebrij stimuleert het natuurlijk afweersysteem en de energie van de mens; Bijenwas om bijvoorbeeld meubels mee te poetsen; Bijen zijn op hun buurt zelf ook voedsel voor andere dieren zoals: spinnen, muizen, vogels ,kikkers, padden,… Gezien het nut van de bijen en de grote onzekerheid die er heerst over de oorzaak van de massale bijen sterfte maakt dat onderzoek naar bijen en de verzorging ervan zeker een verantwoorde keuze is.
1.2 Masterproef Er moet gekeken worden of het mogelijk is om via een camerasysteem de activiteitsgraad van bijen te monitoren over een bepaalde periode. Om de activiteitsgraad te bepalen is het noodzakelijk de in- en uitvliegende bijen te monitoren. Om dit te kunnen doen moet er een geschikt visiesysteem geïnstaleerd worden, met een camera die aan de eisen voldoet. De meest geschikte positie van de camera moet worden nagegaan. Nadien moet er een beeldverwerkingalgoritme worden geïmplementeerd (SIMULINK is voorgesteld) om daar dan de nodige gegevens te kunnen uithalen. Ook moet er gekeken worden of er al systemen bestaan op de markt voor deze toepassing en of deze niet voordeliger zijn. Voor de aanschaf van de camera dient er een korte motivatie worden geschreven en een prijsofferte gemaakt te worden. Deze thesis zal dienen als basis voor allerhande volgprojecten. Zo is het in een later stadium de bedoeling om meer te weten te komen over gedragingen bij invloeden zoals temperatuur en vochtigheid van de kast en het uitzwermen van bijen te detecteren. Door een samenwerking van beeldverwerking en biotechnologie wordt zo gehoopt tot een optimalisatie van de imkerij te komen. Het thesis voorstel komt van K.H. Kempen, waar het past in het project “Een tandje BIJ voor de imkerij”. Waarover in sectie 1.4 meer. De werkplaats is bij MOBILAB, K.H. Kempen in Geel, België.
1.3 Opdrachtgever De opdrachtgever, MOBILAB is een onderzoekslaboratorium binnen de Katholieke Hogeschool Kempen. MOBILAB is de afkorting voor Multidisciplinair onderzoekslaboratorium voor Biomedischeen Revalidatietechnologie. Binnen Mobilab zijn er twee onderzoeksdomeinen Revalidatie & Orthopedische Technologie Biomedische Technologie De kennis die binnen MOBILAB opgebouwd is beeldverwerking kan in deze masterproef aangewend worden in een bredere context, voor het monitoren van bijen. Aan de KHK worden ook nog allerlei andere onderzoeken gedaan die dan kaderen binnen Landbouwonderzoek. De echte opdrachtgever van deze thesis is ing. Karel Dekoninck van
2011-2012
Wim Hendrickx
16 het departement Biowetenschappen en Technologie. Dit eindwerk past in een groter project waar hij aan meewerkt "Een tandje BIJ voor de imkerij". Hier is het de bedoeling om de bijen sector in een positief daglicht te stellen en onderzoek te doen naar bijen. Deze thesis is een basis om later meer onderzoek te gaan doen naar gedragingen van bijen.
1.4 Een tandje BIJ voor de imkerij
Figuur 2: Logo: "Een tandje BIJ voor de imkerij"
Deze thesis wordt geschreven als onderdeel van het project “Een tandje BIJ voor de imkerij”. Dit project is gesubsidieerd door het Europees Landbouwfonds voor Plattelandsontwikkeling. Het is een Leaderproject in "Regio Midden Kempen beweegt" en heeft als promotor de Katholieke Hogeschool Kempen. Samen met het provinciaal praktijkonderzoeks- en voorlichtingscentrum Hooibeekhoeve willen zij via dit project de imkerij in een positief licht stellen. De reden hiervoor is de achteruitgang van de imkerij. Vroeger was imkerij een onderdeel van de activiteiten op de landbouwbedrijven. In de loop van de jaren is dit steeds meer verdwenen en is de imkerij voor een groot deel in de hobbysfeer terecht gekomen [43]. Op de terreinen van de KHK, campus Geel is een “biehal” gebouwd die dienst doet als demostand om de praktijklessen en de demodagen te ondersteunen. De vorm van de biehal verwijst naar de vorm van de zeshoekige cellen waaruit de raten zijn opgebouwd. Het is ook daar dat de opstelling van de camera aan de bijkast geplaatst is.
Figuur 3: "biehal "
Het project voorziet naast het oprichten van de bijenhal ook de aanschaf van demonstratiemateriaal, om geïnteresseerden op een educatieve manier informatie over de bijenteelt te geven. Hier komt dan deze thesis goed tot zijn recht. De opstellingen van dit eindwerk zal later gebruikt worden in opvolgprojecten om de activiteit van de bijen te meten bij het aanpassen van de omstandigheden in de bijenkast. Op deze manier zal er nog meer onderzoek gedaan kunnen worden naar het gedrag van bijen. Met dit eindwerk is er een eerste stap gezet in de richting van het bestuderen van de activiteiten van bijen aan de vliegplank. Wanneer vliegen er veel bijen uit? Wat doen ze? Eens je in staat bent goede beelden te maken kan je uit die beelden allerlei gegevens gaan halen, zoals de grootte, de manier van landen,... De bedoeling is dan ook dat er goede beelden gemaakt kunnen worden en dat we daaruit bepalen wat de activiteitsgraad is van
17 de bijen. Waar dan later mensen uit de biotechnologie andere dingen zullen kunnen uit afleiden, dat dan weer nuttig is voor hun onderzoek.
1.5 Vaardigheden Deze thesis is niet louter elektronica - ICT gericht. Er dienen wat eigenschappen van bijen te worden onderzocht. Dit om te weten hoe de camera het best kan worden gepositioneerd en waar de camera moet aan voldoen. Ook het mechanische aspect voor de constructie aan de bijenkast zelf moet bekeken worden. Deze mag niet te zwaar zijn en moet toch beletten dat iemand de camera kan stelen. Hiervoor dient een mechanisch ontwerp te worden gemaakt. Er zijn dus voldoende vakoverschrijdende aspecten aanwezig die van dit eindwerk een echte uitdaging maken.
1.6 Verloop van de tekst In het volgende hoofdstuk wordt de situering en de doelstellingen van de thesis wat verder uitgewerkt aan de hand van onderzoeksvragen. Waarna in hoofdstuk 3 het resultaat van de literatuurstudie wordt besproken. Om daarna verder te gaan met de keuze van de camera in hoofdstuk 4. In hoofdstuk 5 zal het algoritme worden verklaard. Hoofdstuk 5 handelt over de video-opnames. Waar dan in hoofdstuk 6 een aantal resultaten worden uitgehaald. In het laatste hoofdstuk wordt dan een algemeen besluit getrokken.
2011-2012
Wim Hendrickx
18
2 Situering & doelstelling 2.1 Situering Deze thesis kadert in een groter project “Een tandje BIJ voor de imkerij”, met dit project wil de Katholieke Hogeschool Kempen onderzoek doen naar de massale bijen sterfte van de afgelopen jaren en de imkerij in een positief licht stellen. Hiervoor hebben zij eerder al geïnvesteerd in een “biehal” met een aantal bijenvolkjes. Via de demostand die daar gebouwd is willen ze de studenten en geïnteresseerden wat meer bijbrengen over de imkerij. Dit camerasysteem is een eerste stap in het onderzoek naar de massale bijen sterfte. In eerste instantie zal de activiteit bekeken worden, waarna dan de invloeden van factoren zoals vochtigheid en temperatuur in de kast zullen bekeken worden en wat dit doet met de activiteitsgraad. Nog een ander mogelijk volgproject kan zijn gedragingen identificeren zoals uitzwermen. Kortom dit is de start van een groter project, ter verbetering van de imkerij. Doordat hier gestart moet worden vanaf nul, moet er ook rekening mee worden gehouden dat ook de aanschaf van onderdelen zal moeten gebeuren. Welke ook verantwoord moeten worden. Er moet gekeken worden hoe de camera het best gepositioneerd kan worden. Ook een mechanisch ontwerp voor de bevestiging van de camera mag niet ontbreken. Op het einde van de thesis is het de bedoeling dat er een werkende demo-opstelling gebouwd wordt.
2.2 Doelstellingen De doelstellingen zullen aan de hand van een aantal onderzoeksvragen geformuleerd worden, die in de loop van deze thesis zullen worden opgelost. De onderzoeksvragen zijn zeer belangrijk in de thesis want zij zullen de leidraad vormen voor de uitwerking van het eindwerk. De grote onderzoeksvraag is: “Op welke wijze kan de activiteitsgraad van bijen bepaald worden via een camerasysteem?” Om deze vraag te kunnen oplossen zullen er eerst een aantal deelvragen moeten opgelost worden. Wat zijn de eigenschappen van bijen? Hier wordt de lichaamsbouw van een bij bekeken en eigenschappen zoals vliegsnelheid, wanneer een bij al dan niet uitvliegt,... Wat verstaat men onder de activiteitsgraad van bijen? Dit gaat over wat we eigenlijk willen meten om te weten of er al dan niet activiteit is en hoe we daar een graad van activiteit kunnen op plakken Welke systemen bestaan er al? De markt afzoeken naar gelijkaardige systemen, die kunnen worden gebruikt. Waar moet er bij de camera-keuze rekening mee worden gehouden? Er dient rekening te worden gehouden met de eigenschappen van bijen. De camera wordt buiten bevestigd, daar moet rekening mee worden gehouden. Zijn er al voorzieningen gemaakt op de locatie wat betreft aansluitingen? Welk algoritme kan je gebruiken om de activiteit te gaan meten?
2011-2012
Wim Hendrickx
19 Hier gaan we in de eerste plaats kijken naar bestaande algoritmes die zouden kunnen gebruikt worden. Het is niet de bedoeling om zelf volledig nieuwe algoritmes te gaan ontwerpen. Wanneer op deze vragen een antwoord is gevonden is het de bedoeling dat deze thesis een werkend prototype oplevert dat de activiteitsgraad van bijen kan monitoren aan de hand van een camera systeem. Als er gekeken wordt naar de taken van de thesis dan merken we volgende onderdelen op:
Studie van de bijen Positionering van de camera Bepalen van geschikte camera Mechanisch ontwerp voor de camerabevestiging Literatuurstudie Algoritme uitwerken. Testen Realisatie demo-opstelling
2011-2012
Wim Hendrickx
20
3 Literatuurstudie In dit hoofdstuk wordt het onderwerp gestaafd door literatuuronderzoek. Na het lezen van de literatuurstudie kan er een goed beeld gevormd worden van de voorstudie die nodig was.
3.1 Eigenschappen van bijen De eigenschappen van de bij die belangrijk zijn als er camerabeelden dienen gemaakt te worden zijn vooral de grootte en de snelheid. Deze factoren zijn onderandere belangrijk om de frame rate van de camera te bepalen, wanneer er tracking wordt gebruikt.
Figuur 4:Honingbij (Apis mellifera)
3.1.1
Anatomie
Wanneer er een camera dient geplaatst te worden moeten we een beeld hebben van de afmetingen en de opbouw van het object dat we wensen te gaan filmen. Daarom moet er eest gekeken worden naar de lichaamsbouw van de bij. Er bestaan verschillende soorten bijen die niet allemaal dezelfde eigenschappen hebben[2]. Deze thesis wordt toegepast op de honingbij of zijn wetenschappelijke naam de apis mellifera mellifera. Een groep van honingbijen wordt een volk genoemd. Binnen deze volkeren zijn er verschillende bijtjes [3]. Je merkt dat er een lichte afwijking zit op de anatomie van deze bijen zo kan je ze onderscheiden. Te onthouden uit de anatomie van de honingbij is, dat een bij geen perfecte elips is, hier zal bij het filteren van de beelden rekening mee moeten worden gehouden. Een bij heeft een kop, een borststuk en een achterlijf.De gevonden literatuur spreekt elkaar wat tegen als het gaat over de grootte van de bijen. De ene zegt de lengte van de koningin bedraagt 22mm, darren 20mm en werksters 16mm. De hoogte van een bij is 20mm tot maximaal 25mm [4]. Andere gegevens geven een lichte afwijking op de afmetingen [5], nl de lengte van de honingbij varieert van 11mm tot 18mm en de breedte bedraagt ongeveer 6mm[46]. Dit is geen probleem we hebben deze afmetingen toch, maar nodig als richtwaarde. Aan de hand van onder andere deze waarde wordt de camera gekozen.
2011-2012
Wim Hendrickx
21
3.1.2
Snelheid
Voor de keuze van een camera wordt er best uitgegaan van de hoogst mogelijke snelheid die een bij kan hebben. Aan de hand van die snelheid kunnen we dan de frame rate voor de camera gaan bepalen. Om tracking te gaan toepassen is het goed als de camera een voldoende hoge frame rate heeft. Niet uit de literatuur maar uit eigen ondervinding werd er aanvankelijk gedacht dat een bij wandelt op de vliegplank(dit was mij verteld door Karel Dekoninck ), maar via beeldmateriaal bleek dat deze veronderstelling niet klopte, er zijn bijen die over de vliegplank vliegen tot net aan de vliegopening. Deze bijen dienen ook gedetecteerd te worden. Vandaar de vliegsnelheid als referentie moet worden gebruikt. De vliegsnelheid van de honingbij bedraagt 22,4 km/h[6, 46].
3.2 Gedrag van bijen op de vliegplank Hier is geen direct onderzoek naar gedaan en er zijn dan ook geen resultaten van terug te vinden in de literatuur. Om dit gedrag te analyseren moest er naar bestaande camerabeelden worden gekeken. Deze beelden hebben aangetoond dat bijen niet alleen lopen over de vliegplank zoals aanvankelijk werd gedacht, maar dat ze er ook over vliegen. [10, 11,12] Het gedrag dat we kunnen verwachten zijn bijen die op de vliegplank stil staan, dode bijen die buiten worden gelegd op de vliegplank, bijen die in- en uitvliegen of in- en uitlopen.
3.3 Activiteitsgraad Volgens vanDale is een activiteit: “een werkzaamheid”. Volgens een encyclopedie [44] is de definitie voor de activiteisgraad: “De mate waarin de bevolking op beroepsactieve leeftijd actief is op de arbeidsmarkt, d.w.z. een job heeft of een job zoekt.” [44] Nog een andere verklaring is dan weer: “participatiegraad, de verhouding tussen de beroepsbevolking en de bevolking in de beroepsactieve leeftijd.” [45]. Er zit dus wel wat verschil op, het gaat hier steeds over mensen en bij ons gaat het over bijen. Binnen een bijenvolk zijn er allerlei gebeurtenissen die als een activiteit kunnen beschouwd worden. Volgens Karel Dekoninck van K.H.Kempen een deskundige op het gebied van bijen en de opdrachtgever van dit project, kan de activiteit bijen het best worden waargenomen rond de kast en meer bepaald op de vliegplank. De activiteitsgraad hangt voor een groot deel samen met het verzamelen van voedsel en dit naar de bijenkorf brengen. Een goed middel om de activiteit van bijen te bepalen is dan ook om het in- en uitvlieg gedrag van de bijen te gaan monitoren. De activiteitsgraad wordt dus bepaald door het aantal in- en uitgaande bijen binnen een bepaalde periode. Het is dan ook niet nodig dat de verwerking van de beelden real-time gebeurt.Vanuit de literatuur wordt bevestigd dat deze selling correct is. In het verleden is er al eens een bijen monitoring systeem gemaakt geweest, meer uitleg hierover komt nog. In dit systeem wordt de activiteitsgraad op net dezelfde manier beoordeeld. Ook door het tellen van de inkomende en uitgaande bijen over een bepaalde periode [7].
3.4 Bestaande systemen (state of the art) Hier worden een aantal bestaande systemen besproken, al dan niet met camera en al dan niet bedoeld voor bijen.
2011-2012
Wim Hendrickx
22 Systemen die hetzelfde doen als het geen wij willen doen In het voorgaande punt werd dit systeem al eens aangehaald “A bee counter for monitoring activity and bee behavior” [7]. Dit artikel handelt over een bijen monitoring systeem, dat veel gelijkenissen vertoont met het systeem dat in dit eindwerk behandeld wordt. Er is wel één groot verschil er werd geen gebruik gemaakt van een camerasysteem. Bij de opstelling die hier werd gemaakt was het de bedoeling om de effecten van landbouwchemicaliën op het zoekgedrag van bijen te meten en een schatting te maken van het aantal bijen die sterven buiten de bijenkasten. De bijen teller werd vast gemonteerd aan de ingang van de bijenkorf en telt afzonderlijk het aantal bijen dat in en uit de bijenkorf gaan. De teller is niet zoals bij ons gebaseerd op camerabeelden, maar op lichtgevoelige transitoren. Deze foto-transistoren worden dan geactiveerd door het licht dat geblokkeerd wordt door een bij die binnen wandelt of een bij die buiten wandelt. De constructie is dan zo gemaakt dat er per keer maar 1 bij over de transistor kan wandelen.
Figuur 5a: Bijen teller met fototransitoren vooraanzicht
Figuur 5b Bijenteller gemonteerd op de bijenkast
In figuur Figuur 5a kan je zien dat de bijen niet anders kunnen dan 1 per 1 naar binnen gaan. Dit is iets wat het tellen een stuk vereenvoudigd. In eerste instantie lijkt dit goed genoeg te werken, als je enkel de in- en de uitgaande bijen wenst te gaan tellen. In de figuur 5b) is er een groot nadeel te zien van dit systeem, nl de bijenkorf is nagenoeg volledig afgesloten, waardoor er ook geen andere activiteiten kunnen gebeuren als in en uitvliegen. In de praktijk zijn er echter bijen die gewoon op de vliegplank komen staan om op te warmen, vaak voordat ze uitvliegen. Ook zijn er bijen die komen wapperen op de vliegplank aan de vliegopening en dit is om de warmte uit de bijenkast te drijven. Op deze manier regelen de bijen zelf hun temperatuur bij naar de meest ideale omstandigheden. Dit systeem laat dit echter niet meer toe, wat maakt dat dit geen ideale oplossing is. Het is dus nuttig om opzoek te gaan naar een betere oplossing. Nadelen van dit systeem zijn: • Beperken van het aantal in- en uitgaande bijen; • Sluit de kast af, dus geen ventilatie mogelijkheden; • Het telt de bijen en er zijn geen uitbreidingsmogelijkheden naar de toekomst. Het camerasysteem in deze thesis laat veel meer vrijheden toe naar de toekomst. Met beelden is er meer mogelijk dan alleen maar tellen, er kan onderzoek worden gedaan naar de grootte van de bijen, dit zou een indicator voor de groei en de aanwezigheid van de varroa mijt kunnen zijn. Detectie van bijvoorbeeld de koningin kan gebeuren, de koningin verlaat normaal gezien nooit de korf, tenzij bij uitzwermen. Er zijn veel uitbreidingsmogelijkheden, als dit nuttig moest blijken uit de verschillende onderzoektakken. Deze thesis is zoals eerder al gezegd, de basis. Hierop zullen volg projecten verder op worden gebaseerd. De oorzaak van de bijen massale bijen sterfte is ook nog niet eenduidig, dus meer onderzoek zal uitwijzen welke andere onderzoeken in de toekomst nog nodig zijn. Maar dit waren enkele voorstellen waar meteen aan werd gedacht.
2011-2012
Wim Hendrickx
23 Gelijkaardige systemen op de markt die gebruik maken van een camera Hetzelfde systeem dat gebruikt maakt van een camera is niet op de markt aanwezig. Er is wel een systeem, dat ook nog in ontwikkeling is en niet helemaal hetzelfde doet als waar deze thesis over handelt. Het gaat hier om reuze bijen en niet om honingbijen[9]. Hier wordt gebruik gemaakt van twee camera’s om stereovisie mee te creëren. Er wordt ook niet gekeken naar de activiteitsgraad op de vliegplank, maar naar de bewegingen die de bijen maken, tijdens aanvalsgedrag. Dit systeem staat ook nog niet volledig op punt, er zijn nog een aantal problemen wat betreft de tracking van de bijen. Maar men werkt er nog aan. Dit systeem komt niet in aanmerking voor het probleem dat in deze thesis moet worden opgelost.
3.5 Detectie van bijen Er zijn verschillende mogelijkheden om bijen te gaan detecteren. Er is echter wel één grote moeilijkheid, dat is de bijen los van elkaar zien. De bijen vliegen en kruipen over elkaar en vliegen tegen elkaar. Dit maakt het niet makkelijk om ze van elkaar te onderscheiden.
3.5.1
Template matching
Is een techniek om objecten in afbeeldingen te herkennen[14] [15]. Template matching gaat delen van afbeeldingen met elkaar vergelijken. Een sample image (Template) kan gebruikt worden om verschillende overeenkomstige objecten in één afbeelding te herkennen.
Figuur 6: Template matching voor de letter K
In de afbeelding hierboven wordt de letter K opgegeven als (template). Deze letter wordt dan vergeleken met het target en in het resultaat zien we dan dat er een match is. Template matching is bruikbaar wanneer de standaard afwijking van de template image en the source image klein genoeg is [16]. Deze methode heeft als nadeel dat dode bijen ook nog gedetecteerd worden
3.5.2
Background subtraction
Het input beeld kan je onderverdelen in 2 delen, de bewegende delen en de stilstaande delen. De stilstaande delen vormen de achtergrond en de bewegende delen zijn de
2011-2012
Wim Hendrickx
24 voorgrond. Vermits het gaat om de activiteitsgraad te bepalen zijn de bijen die bewegen belangrijk en mogen al de stilstaande delen worden weg gelaten. Het voordeel is dat ook dode bijen verwijderd zullen worden. Voor de technische uitleg zie het volgende punt.
3.6 Background subtraction algoritmes Hier volgt een overzicht van een aantal background subtraction algoritmen die gebruikt kunnen worden voor de detectie van bewegende voorwerpen. De meeste background subtraction algoritmen laten de bewegende objecten door en laten de stilstaande objecten in de achtergrond verdwijnen. Dit heeft als voordeel dat de dode bijen en de bijen die zich komen opwarmen al uit de detectie weg zijn. Hier zijn immers alleen de actieve bijen nodig. Background subtraction wordt helemaal in het begin van het algoritme toegepaste, op de inkomende beelden. Het enige dat er nog gebeurt voor de Background subtraction is het bijsnijden (crop) van de bronbeelden. Dit doen we om de rekenkracht wat beter te benutten. Om de opbouw van het algoritme te bekijken verwijs ik naar de short summary Figuur 1: General block diagram. Alvorens de achtergrond van de huidige frame van het bronbeeld kan worden afgetrokken, moet het achtergrond beeld nog gemaakt worden. Het achtergrond beeld wordt gemaakt in de achtergrond modelleringfase. Door het grote bellang en het uitgebreide toepassingsgebied van de achtergrond modelleringfase is hier al heel wat onderzoek naar gedaan. Je kan hier dan ook “éénvoudige” straightforward background subtraction methodes voor vinden of meer gesofisticeerde methodes [17] [18]. Er is een grote aantal variaties in algoritmen en de meeste van deze nieuwe methode hebben zijn niet echt praktisch toepasbeer. Ze worden enkel in laboratoria toegepast omdat ze een hoop rekenkracht vergen [19]. Deze laatste methodes zijn veel te zwaar om toe te passen in deze thesis. Daarom schakel ik over naar een aantal methodes die wel zouden toegepast kunnen worden en die ook veel frequenter voorkomen. Achtergrondmodellering kan worden onderverdeeld in 2 grote groepen, de niet-recursieve en de recursieve technieken. Met recursief wordt bedoeld dat de achtergrondmodellering zichzelf aanroept. De achtergrond modellering zal zichzelf dus herhalen. Een proces is recursief als een van de stappen waar het proces uit bestaat vraagt om herhaling van het volledige proces. En zo vervolgens, want binnen een recursief proces herhaalt zich steeds weer hetzelfde proces. In principe komt er nooit een einde aan een recursief proces. Maar er is altijd een momentopname mogelijk van de stand van zaken.
3.6.1
Niet-recursieve technieken
Niet recursieve technieken maken gebruik van een soort van sliding window benadering voor de achtergrond schatting. Het slaat een aantal N vorige videoframes op, en schat vervolgens de achtergrond afbeelding op basis van de temporele variatie van elke pixel in de buffer. Deze technieken zijn zeer adaptief omdat het achtergrond model alleen maar bepaald wordt door de N voorgaande frames. Het model wordt niet beïnvloed door frames van voor deze N gebufferde frames. Er is wel één groot nadeel aan deze techniek, de buffer functie zal een significante hoeveelheid geheugen vragen, zeker wanneer er gebruik gemaakt wordt van grotere buffers [20]. Frame differencing: Dit is een zeer eenvoudig model, je neemt de frame op tijdstip t-1 als het achtergrond model. Dit wil zeggen dat de achtergrond gemodelleerd wordt als de vorige frame. Om de
2011-2012
Wim Hendrickx
25 voorgrond (de bewegende delen) te bekomen, trekken we het achtergrondmodel af van het huidige beeld en daar passen we dan een bepaalde threshold (drempelwaarde) op toe [21].
I t − I t −1 > T
3-1
It is de intensiteit van de huidige frame; It-1 is de intensiteit van de vorige frame; T is de vaste threshold. Dit model is zeer gevoelig aan ruis en geeft niet de meest nauwkeurige resultaten. Een ander nadeel van dit systeem is dat wanneer een object gedurende 1 frame niet beweegt het in de achtergrond verdwijnt. Er zijn ook voordelen aan dit systeem, heeft zeer weinig rekenkracht nodig, neemt weinig geheugen plaats in beslag en het is zeer adaptief. Hierdoor wordt het achtergrond model snel bijgewerkt na een verandering in de achtergrond. Het is een snelle en rekenkundig gezien lichte methode die weinig geheugen vergt, maar omdat de objecten zo snel in de achtergrond verdwijnen is deze niet toepasbaar voor de problematiek in deze thesis. Median filter: De mediaan filter is één van de meest toegepaste achtergrondmodellering technieken die er zijn[22, 23, 24, 25, 26,27]. De background estimation (achtergrond schatting) is gedefinieerd als de mediaan op elke pixel locatie van alle frames in de buffer. De veronderstelling is dat de pixel in de achtergrond blijft in meer dan de helft van de frames in de buffer. Mediaan filtering levert vrij goede resultaten op, terwijl er niet overdreven veel rekenkracht nodig is. Een nadeel van deze techniek is echter wel dat er veel geheugen voor nodig is.
memory = N × framesize
3-2
Memory is het geheugen dat nodig is om de frames op te slaan om de achtergrond te bepalen; N is het aantal frames; Framesize zijn de afmetingen van de frames (hoogte X breedte). Linear predictive filter: Toyama et al. berekent het huidig geschatte achtergrondmodel door een lineair predictive filter toe te passen op de pixels van de frames in de buffer[28]. De filter coëfficiënten geschat, afhankelijk va de sample covarianties op elke frame time (frame tijd), voor real-time toepassingen is deze techniek niet geschikt omwille van zijn moeilijke berekeningen.[20].
2011-2012
Wim Hendrickx
26
3.6.2
Recursieve technieken
In tegenstelling tot de niet-recursieve technieken hebben de recursieve technieken geen buffer met vorige frames in nodig voor achtergrondschattingen. In plaats daarvan updaten ze hun background beelden recursief (herhaaldelijk). Als resultaat hiervan kunnen input frames uit het “verre” verleden invloed hebben op het huidige background model. Het voordeel van recursieve technieken is dat er slechts één frame opgeslagen dient te worden en het beeld zal worden bijgewerkt iedere keer er een nieuwe frame wordt ontvangen. Een nadeel van recursieve technieken is dat wanneer er zich een fout in het achtergrondmodel voordoet, deze gedurende een veel langere tijd blijven hangen, dan bij niet-recursieve technieken. Dit wil zeggen dat recursieve technieken zich minder aanpassen dan de niet-recursieve technieken. Running average: Net zoals bij niet-recursieve technieken is het eerste model het eenvoudigste. Een eenvoudig en snel achtergrond modelleer algoritme zonder hoge geheugen vereisten is de running average [21].
Ai +1 = αFi + (1 − α ) Ai
3-3
Ai is de huidige achtergrond; Hi is de huidige frame; α is de learning rate (leer snelheid), deze heeft een typische waarde van 0,05 [21]. De running average geeft niet de meest accurate resultaten terug, maar afhankelijk van de toepassing en door het bijregelen van α, kan het toch aanvaardbare resultaten opleveren [21]. De running average methode, maakt gebruik van heel simpele berekeningen (3-3Error! Reference source not found.) en dit levert een aantal voordelen op. De belangrijkste voordelen zijn, dat deze methode snel is en niet veel geheugen ruimte vraagt. Een nadeel is zoals eerder al vermeld werd, dat de nauwkeurigheid van de schatting niet erg hoog ligt. Approximated median filtering: Eerder werd de niet-recursieve median filter al eens besproken. Ondanks dat deze vrij goed is, heeft hij toch een recursieve tegen hanger gekregen. Deze methode lijkt er sterk op, maar is recursief, wat zoals eerder al verteld werd een aantal andere voordelen heeft, zeker wat betreft het geheugen gebruik. McFarlane en Schofield stelde in 1995 een recursieve filter voor om de mediaan te schatten. Zij hadden deze methode ontwikkeld om er biggen mee te volgen[29]. Deze techniek wordt ook gebruikt in achtergrond modelering voor traffic monitoring (monitoring van het verkeer) [30]. De werking is vrij eenvoudig. Wanneer een pixel in het huidige frame een grijswaarde heeft die groter is dan deze van de pixel in de geschatte achtergrond, dan wordt de grijswaarde van de pixel in de achtergrond verhoogd met 1. Anderzijds als een pixel in het huidige frame een grijswaarde heeft die kleiner is dan de waarde van de pixel in de achtergrondschatting, wordt de pixel waarde in de achtergrondschatting verlaagd met 1.
2011-2012
Wim Hendrickx
27 De approximated median filter heeft vele voordelen, het is een eenvoudige implementatie, hij geeft goede resultaten met een hoge nauwkeurigheid, die vergeleken kunnen worden met deze van algoritmes met een veel hogere complexiteit. Mede door zijn éénvoud is het ook een robuuste techniek die niet veel geheugen nodig heeft. Een groot nadeel van deze methode is wel dat hij zich traag aanpast aan grote veranderingen in de achtergrond. Het voorgaande is de basis, ondertussen zijn er mensen die dit algoritme verder hebben willen gaan optimaliseren en ze zijn er ook in geslaagd [31].
3.7 Schaduw verwijdering Het verwijderen van schaduwen is een belangrijke taak, zeker wanneer het gaat om beelden die buitengemaakt worden en waar je geen controle hebt over de lichtbron. Schaduw ontstaat wanneer een object licht tegenhoudt. Wanneer er dan naar de achtergrond gekeken wordt, kan er gezegd worden, de schaduw van het object is een donkerdere versie van de achtergrond. Nu, het is niet helemaal fout wat er staat, maar technisch gezien is het niet helemaal correct. Later in dit punt wordt dit technisch wat verduidelijkt, maar nu eerst zeggen waarom schaduwen verwijderd moeten worden. Stilstaande schaduwen zullen geen problemen veroorzaken, omdat deze in de achtergrond zullen verdwijnen. Door background subtraction toepassen zijn we daarvan verlost. Background subtraction geeft alle bewegende elementen door, dit wil zeggen dat de bewegende objecten mee worden gegeven, maar ook de bewegende schaduwen. Om een robuust dynamisch beeldanalyse systeem te creëren, moeten deze bewegende schaduwen overwogen worden. Omdat bewegende schaduwen metingen kunnen gaan beïnvloeden is het van cruciaal belang dat bewegende schaduwen gedetecteerd kunnen worden. Zo kan er dan overgegaan worden tot een nauwkeurige detectie van objecten in de video stream. Want schaduw punten worden vaak ten onrechte gezien als object punten, waardoor er fouten gebeuren in de segmentatie en de tracking, wat dan uiteindelijk zal leiden tot verkeerde meetresultaten [32]. Nu wat meer uitleg over de technische benadering van schaduwen. Het eenvoudigste om schaduw te detecteren is door gebruik te maken van kleuren beelden. Schaduwpixels hebben dezelfde chrominantie (kleursoort) als de overeenkomstige achtergrondpixels, maar met een lagere intensiteit (lichtsterkte) [32]. In deze thesis wordt er niet gewerkt met kleurbeelden, maar met grayscale (grijswaarde) beelden, dus de schaduw detection zal op een andere manier gebeuren. Voor kleurenbeelden bestaan er verschillende methodes en is er veel literatuur te vinden, maar voor grijswaarde beelden ligt dat wel anders. Er worden hier 2 methodes voorgesteld. Voor een keuze te maken tussen deze methodes moet er rekening worden gehouden met complexiteit van het algoritme, het mag het geheel ook niet te zwaar gaan belasten.
Figuur 7: Een grijswaarde afbeelding met schaduw
2011-2012
Wim Hendrickx
28
3.7.1
Eerste manier
De eerste methode is een methode die vrij bekend is en die niet te complex is. Deze methode gaat een eerste schaduw schatting maken door gebruik te maken van Normalized Cross Correlation (NCC), waarna een tweede stap volgt ter verfijning van de detectie. NCC is goed om schaduwen te gaan verwijderen omdat bij een schaduw, de illuminatie verschillend is, maar het patroon en de textuur zijn identiek. Dit kunnen we ook zien in Figuur 7: Een grijswaarde afbeelding met schaduw. Correlatie is de meting van de mate waarin twee variabelen overeenstemmen met elkaar, niet noodzakelijk in actuele waarde maar in algemeen gedrag. De twee variabelen zijn de overeenkomstige pixel waarden in twee beelden, template (sjabloon) en source (bron).
NCC =
(
)(
∑ iN=−01 xi − x ⋅ yi − y
(
)
2
(
)
∑ iN=−01 xi − x ⋅ ∑ iN=−01 yi − y
)
2
3-4
x is het grijsniveau van de template afbeelding x is het gemiddelde grijsniveau in de template afbeelding y is het grijsniveau van het de sectie van het bronbeeld
y is het gemiddelde grijsniveau van het bron beeld. N is het aantal pixels van het sectie beeld
N = template _ image _ size = kolommen ∗ rijen De waarde van NCC ligt tussen -1 en +1, hoe groter de waarde hoe groter het verband tussen de twee afbeeldingen. De methode voor de schaduw detectie is gebaseerd op de veronderstelling dat geschaduwde gebieden in hoge mate gecorreleerd zijn, met hun overeenkomstige gebieden in de achtergrond schatting[33]. Deze methode bestaat uit twee grote fasen. De eerste fase is de berekening van een eerste ruwe schaduw schatting, waarna deze schatting verder verfijnd wordt in de tweede fase. Eeste fase: Schaduw schatting: Er wordt aangenomen dat de schaduw pixel regio’s in het voorgrondbeeld geschaalde “donkerdere” versies zijn van de overeenkomstige pixels in de achtergrondschatting. Het komt er dus op neer om de gelijkheid te gaan meten, dit kan gedaan worden via NCC zoals hier eerder al vermeld werd. Waneer gekeken wordt naar Error! Reference source not found. dan is het duidelijk dat voor de berekening van deze NCC voor elke pixel een aantal tussen stappen nodig zullen zijn. Allereerst moet een (2 N + 1) X (2 N + 1) template of neighbourhood rondom elke pixel in het voorgrond beeld gedefinieerd worden. N is een geheel getal en wordt de neighbourhood (buurt) genoemd. De neighbourhood wordt voorgesteld door Txy, x en y zijn de coördinaten van de pixel en deze vormen het centrum van de template.
2011-2012
Wim Hendrickx
29
Figuur 8: Neighbourhood met N=2
Wanneer dit wordt uitgevoerd wordt een template Txy(n,m)=I(x+n,y+m) bekomen, waar − N ≤ n ≤ N en waar − N ≤ m ≤ N is. Nadat de template gedefinieerd is kan worden overgegaan tot de berekening van de NCC.
NCC ( x , y ) =
ER( x , y ) EB ( x , y ) ⋅ ETxy
3-5
Deze waardes kunnen als volgt worden ingevuld
ER( x, y ) = ∑n=− N ∑m=− N B( x + n, y + m )Txy (n, m) N
N
E B ( x, y ) =
∑
ET ( x , y ) =
∑
N
n =− N
N
n =− N
∑
N
m=− N
∑
N
m=− N
3-6
2
B ( x + n, y + m )
3-7
2
Txy ( n, m)
3-8
In boven staande formules, staat de letter E voor energie, zo is
EB ( x , y ) de energie van de
intensiteit (grijwaarde) van het overeenkomstige gebied (met de template) in de achtergrond voorspelling. ET ( x , y ) is dan weer de energie van de intensiteit (grijswaarde) in het gebied dat gedefinieerd wordt door Txy. Doordat een schaduw pixel in hoge mate zal correleren met de overeenkomstige achtergrond pixel, zal dit resulteren in een hoge NCC waarde. Met hoog wordt bedoelt dicht bij 1. Een tweede voorwaarde is dat voor een pixel F(x,y)die een onderdeel is van de schaduw, de energy ET ( x , y ) van de template die gedefinieerd is door Txy een lagere energie moet hebben dan deze van de overeenkomstige achtergrond
EB ( x , y ) .
2011-2012
Wim Hendrickx
30 Deze twee boven vermelde voorwaarden worden dan als volgt voorgesteld.
NCC( x , y ) ≥ Lncc
3-9
Lncc is de vaste threshold, in het artikel [33] wordt hiervoor een waarde van 0,98 voorgesteld. Natuurlijk kan deze waarde worden aangepast op een experimentele manier om zo betere resultaten te bekomen. Wanneer er lagere waardes worden ingesteld moet er rekening mee worden gehouden dat pixels van bewegende objecten onterecht als schaduws kunnen worden gezien.
ET( x , y ) < EB( x , y )
3-10
Wanneer dan aan de eerste voorwaarde werd voldaan, moet er ook nog worden voldaan aan het feit dat het energie niveau van de intensiteit van een schaduw lager moet liggen dan deze van de achtergrond, zoals eerder al werd verteld. Wat uiteindelijk zeer logisch is. Nu dit in orde is kunnen we schaduwen herkennen, maar het is nogal een ruwe benadering, daarom is enige verfijning wel op zijn plaats, waarover meer in de hierop volgende stap. Tweede fase : Schaduw verfijning: Wanneer alleen de voorgaande stap zou worden toegepast zouden er een aantal pixels van bewegende objecten onterecht als schaduwen worden gezien. Vandaar dat een verfijning absoluut noodzakelijk is. Ook hier werd in het artikel [33] aangedacht en men gaat als volgt te werk. Er wordt verondersteld dat voor een schaduw pixel een 3X3 gebied R rond deze pixel gedefinieerd kan worden waarbij de verhouding
I(x, y ) B( x , y )
nagenoeg constant is. Deze
veronderstelling wordt gecontroleerd door de berekening van de standaarddeviatie van
I(x, y ) B( x , y )
in het gebied.
I( ) std R x , y < Lstd B ( x, y )
3-11
std R is de standaard deviatie in het gebied R; Lstd is een vaste threshold, die meestel op 0,05, dit kan gehaald worden uit het originele artikel [33]. Hier is echter ook nog een tweede voorwaarde waaraan voldaan dient te worden. De verhouding van
I (x, y ) B( x , y )
voor elke pixel onafhankelijk moet kleiner zijn dan 1 en groter of
gelijk zijn aan een vaste threshold waarde. De waarde van deze threshold moet natuurlijk kleiner zijn dan 1. Deze tweede voorwaarde is erom te voorkomen dat donkere objecten met een lage intensiteit onterecht als schaduwen zouden worden gezien.
2011-2012
Wim Hendrickx
31
I (x, y ) <1 Llow ≤ B( ) x, y
3-12
Llow is een vaste threshold en heeft volgens het artikel [33] een waarde van 0,5, deze kan natuurlijk worden aangepast naar gelang de wensen en resultaten in het eigenlijke algoritme, belangrijk hierbij is wel dat deze waarde kleiner blijft dan 1. Anders zal het niet werken. Op het eerste zicht lijkt het een zwaar en log algoritme, zeker omdat er echt met onafhankelijke pixels wordt gewerkt, wat noodzakelijk is voor de verfijning te kunnen uitvoeren. Wat schaduw verwijdering voor grijswaarde beelden betreft is dit zeker geen zwaar algoritme, daarom volgt hier nog een tweede manier die veel complexer is als deze.
3.7.2
Tweede manier
De tweede manier van schaduw detectie is er één die gebaseerd is op edge detection. Deze methode is het resultaat van een verregaand onderzoek naar schaduwen en de bouw ervan [34].Men is in deze studie gaan kijken naar de karakteristieke eigenschappen van de schaduw. Een heel belangrijke eigenschap is te vinden in de opbouw van een schaduw
Figuur 9: Opbouw van een schaduw
In Figuur 9 staat L voor lichtbron, S voor object, P voor penumbra en U voor umbra. Figuur 9 laat de opbouw van de schaduw zien, er zijn 2 delen in deze schaduw bouw te onderscheiden. In het midden staat de umbra met aan weerzijde de penumbra. De umbra ook wel kernschaduw of slagschaduw genoemd, zal hier gewoon de schaduw genoemd worden. Dit is het donkerste , binninste gedeelte van een eigenschaduw. Het is dat gedeelte van de schaduw waar de gehele lichtbron wordt verduisterd[35]. Dit in
32 tegenstelling tot de penumbra of halfschaduw [36] waar nog een gedeelte van de lichtbron zichtbaar is. De penumbra is een zachte overgang van donker (schaduw) naar licht (geen schaduw meer), tot aan de schaduw rand. Dat is waar de schaduw echt stop, dus de penumbra stopt en de schaduw weg is. De intensiteit is daar weer op volle kracht. De penumbra is een zachte overgang, maar de overgang tussen een object en de schaduw verloopt bruusk. Omwille van het feit dat er een plotse overgang gebeurt is het mogelijk om met edge detection te gaan werken. Zo is het mogelijk om een edge te classificeren als schaduw en een andere als moving object edge. Het lijkt eenvoudig op het eerste zich, maar in de praktijk is dit echter niet het geval. Wanneer alleen maar de graad van edge steepness (flanksteilheid) wordt bepaald geeft dit geen goede resultaten [34]. Er zullen nog veel meer extra verwerkingen moeten gebeuren om dit te laten werken, zoals static edge detection, maar dit is niet de enige. Door al deze extra noodzakelijke bewerkingen, wordt deze op het eerste zicht eenvoudige methode al gauw een complexe en rekenkrachtig veel eisende methode. Op deze methode zal dan ook niet meer verder worden ingegaan. Bij aanvang leek ze haalbaar, maar al gauw bleek dit niet het geval te zijn.
3.8 Tracking Tracking: wanneer er gekeken wordt naar videobeelden is dit het vinden van één of meerdere bewegende objecten in de tijd. Voor tracking zijn er verschillende toepassingsgebieden, politiebewaking in straten, verkeerscontrole, medische beeldvorming,… Video tracking kan een tijdrovende bezigheid zijn door de hoeveelheid gegevens die moet verwerkt worden. Ook de complexiteit en de rekenkracht die nodig neemt al gauw toe. Natuurlijk hangt veel af van wat de eisen zijn om een object te kunnen herkennen en welke techniek er wordt toegepast. Het uiteindelijke doel van video - tracking is om doelobjecten in opeenvolgende videoframes te associëren. Deze associatie wordt bemoeilijkt wanneer de voorwerpen snel bewegen in verhouding met de frame rate. Daarom is het belangrijk dat er een camera wordt gebruikt met een voldoende hoge frame rate. Een ander probleem dat zich stelt is wanneer een object verandert van oriëntatie of snelheid in de tijd. Dit zijn allemaal dingen die de complexiteit van de tracking doen toenemen en daarbij de nodige rekenkracht. Want voor deze situaties zullen de meeste video – tracking systemen een bewegingsmodel beschrijven, waarin de mogelijke (meest waarschijnlijke) bewegingen van het object worden beschreven. Voor het uitvoeren van video - tracking is een algoritme nodig dat opeenvolgende videoframes analyseert en de beweging van de doelen tussen de frames kan weergeven. Er zijn in de loop van de jaren verscheidene algoritmes uitgewerkt, met elk hun voor- en nadelen. Het belangrijkste bij de keuze is natuurlijk In visuele tracking systemen zijn er twee grote groepen van tracking systemen: Target representation and localization en Filtering and data association.
3.8.1
Target representation and localization
Dit is meestal een bottom-up proces. Deze methoden hebben een ruim aanbod van verschillende tools voor het identificeren van bewegende objecten. Het succes van het lokaliseren en tracken van de doelobjecten is afhankelijk van de keuze van het algoritme[37]. Een aantal voorbeelden van algoritmes volgens deze methodes zijn: • Blob tracking • Kernel-based tracking(mean-shift tracking) • Contour tracking • Visual feature matching
2011-2012
Wim Hendrickx
33
3.8.2
Filtering and data association
Dit is meestal een top-down proces,waarin informatie van vorige scènes van het object worden opgenomen, de dynamiek van het object in rekening wordt gebracht en de evaluatie van verschillende hypotheses gebeurt. Deze methodes laten het toe om complexe objecten met meer complexe interacties tussen objecten te tracken, zoals het bijhouden van objecten achter opstakels[38]. Daarnaast wordt de complexiteit verhoogt wanneer de camera niet gemonteerd is op een vaste locatie, maar beweegt. Hierdoor heb je een continu veranderende achtergrond wat alles nog wat complexer maakt en meer rekenkracht vraagt. Een aantal voorbeelden van deze methode zijn: • •
Kalman filter[39]. Particle filter
3.9 Besluit In dit hoofdstuk zijn een aantal studies gebeurd vanuit de literatuur:
3.9.1
Eigenschappen van bijen
De bij heeft een lengte die varieert van 11mm-25mm en een breedte van 6mm. De vorm van een bij is geen ellips, maar bestaat uit een kop, een borststuk en een achterlijf. Dit is in deze thesis belangrijk wanneer er erosie en dilatie wordt toegepast. Verder weten we dat de bij een vliegsnelheid heeft van 22,4 km/h. De afmetingen van de bij en de snelheid zijn bepalend voor de frame rate van de camera, die later in dit eindwerk wordt besproken.
3.9.2
Activiteitsgraad
Een maat voor de activiteitsgraad van bijen is het aantal inkomende en uitgaande bijen aan de korf.
3.9.3
Bestaande systemen
Hier worden een aantal systemen besproken die een aantal overeenkomsten vertonen met het systeem dat wij ontwikkelen.
3.9.4
Gedrag van bijen op de vliegplank
Bij gebrek aan goede literatuur hierover, is er beeldmateriaal gebruikt om deze studie uit te voeren.
3.9.5
Detectie van bijen
Uit deze sectie is blijkt dat er twee bruikbare manieren zijn om bijen te detecteren. Template matching en Background subtraction.
2011-2012
Wim Hendrickx
34
3.9.6
Background subtraction
Omdat in deze thesis gebruik gemaakt wordt van Background subtraction is hier wat meer onderzoek naar gedaan. Uit de literatuur blijkt dat er verschillende manieren van background subtraction aanwezig zijn. De algoritmes worden onderverdeeld in 2 grote groepen de niet-recursieve technieken en de recursieve technieken, met voor elke groep hun voordelen en nadelen. Er worden dan ook een aantal van hen wat toegelicht binnen deze groepen met verschillende referenties, met ook hier telkens een aantal voordelen en nadelen.
3.9.7
Schaduw verwijdering
Omdat schaduwen van bijen de metingen zouden kunnen beïnvloeden, is worden in deze sectie 2 manieren van schaduw verwijdering besproken.
3.9.8
Tracking
In visuele tracking systemen zijn er twee grote groepen van tracking systemen: Target representation and localization en Filtering and data association. Er wordt uitleg gegeven over het verschil tussen deze 2 groepen. En per groep worden een paar voorbeeld algoritmes gegeven ter illustratie.
2011-2012
Wim Hendrickx
35
4 Camera Dit hoofdstuk vertelt iets meer over de keuze van de camera. De opbouw van een digitale camera, de soorten sensors, de eisen van de opdrachtgever en de omgeving, de berekeningen die werden gemaakt, positionering,de de uiteindelijke keuze de kostprijs,. Eén van de aller eerste opdrachten was een geschikte camera zoeken om de bijen te kunnen monitoren. Het gaat hier om een digitale camera, analoge camera’s worden dus buiten beschouwing gelaten.
4.1 Opbouw 4.1.1
Camera body
Figuur 10: Opbouw van een digitale camera
Zoals in Figuur 10 te wordt getoond bestaat een is een camera opgebouwd uit 3 grote blokken. De Camera body, de sensor chip en DSP. De camera body bestaat ook nog uit 3 blokken. De eerste blok die we zien is optics, deze blok heeft alles te maken met optiek, waarmee de lenzen en dergelijke wordt bedoeld. Aperture is een volgende blok, de vertaling van aperture is opening, in optiek is aperture een gat of opening langs waardoor het licht zich verplaatst [40]. De aperture bepaald hoe de toegelaten stralen worden uitgelijnd, dat is van groot belang voor de weergave op het beeldvlak.
36
Figuur 11:Aperture: 1 is een grote en 2 is een kleine aperture
De camera shutter is een apparaat waarmee licht wordt doorgelaten voor een bepaalde tijd voor licht te laten invallen op de elektronische sensor. Het is van belang bij het instellen van een camera dat de shutter en aperture instellingen in balans zijn, voor het voorwerp dat je wenst in beeld te brengen. Aperture instellingen worden weergegeven met een f en de schutter door 1/… Hieronder in Figuur 12 zie je een voorbeeld.
Figuur 12: balans tussen shutter en aperture
4.1.2
Sensoren
De camera sensor chip bestaat uit drie delen (Figuur 10), de sensor, de versterking en de analoog naar digitaal omvormer. Voor de sensor zelf zijn er 2 technologieën beschikbaar, de Charge Coupled Device (CCD) en de Complementary Metal Oxide on Semiconductor (CMOS). Dit zijn 2 sensor technologieën om licht om te zetten naar elektronische signalen. CCD: In een CCD sensor wordt elke pixel lading omgezet in spanning, gebufferd en overgebracht door middel van één enkele node als een analoog signaal.
2011-2012
Wim Hendrickx
37
Figuur 13: Werking CCD
Figuur 14: Sensor grootte
Nadelen van CCD zijn: • Interlacing • Blooming • Smearing CMOS: Bij CMOS is de lichtsensor dezelfde als deze van CCD alleen het uitlees principe is anders. In de CMOS sensor is de technologie voor het uitlezen en omzetten van de spanningswaarden geïntegreerd in de sensor. Elke lichtgevoelige diode op een CMOS sensor wordt apart uitgelezen en de waarde wordt direct Bij CMOS wordt er niet doorgeschoven. De sensor wordt ter plaatse verwerkt omgezet in een digitale waarde. CMOS sensoren geven dus direct een digitaal signaal af waardoor er minder elektronica nodig is in de rest van de camera. Bovendien gebruiken CMOS sensoren minder energie dan CCD sensoren. Dit maakt CMOS sensoren onder andere geschikt voor apparaten die niet te groot mogen zijn.
2011-2012
Wim Hendrickx
38
Figuur 15: CMOS werking
CCD versus CMOS: Bij dit punt moet wel vermeld worden dat de sensortechnologie van camera’s voortdurend evolueert. De informatie die hieronder wordt weergegeven komt van teledynedalsa, de figuur hieronder is een letterlijk citaat van hun website [47]. Teledynedalsa is een fabrikant en daarom zit hij ook met de bron, daarom is hij ook het best geplaatst om een vergelijking te maken tussen de beide technologieën, die ook het meest up to date is. Want de evolutie in de ontwikkeling van deze sensoren gaat zo snel, dat het belangrijk is om up to date informatie te hebben.
39
Figuur 16: Eigenschappen en prestaties vergelijking CCD versus CMOS
2011-2012
Wim Hendrickx
40
Figuur 17: CMOS ontwikkelingsproces
4.1.3
DSP
DSP is de afkorting voor digitale signaalprocessor, deze microprocessor is ontworpen voor de bewerking van continue digitale signalen. Binnen deze blok gebeuren allerlei bewerking, zoals het scherp maken van het beeld, gamma correctie en compressie. Omdat in deze thesis voor het eerst beelden werden gemaakt van bijen op de vliegplank is er besloten om te werken met beelden zonder compressie. Dit omwille van een zo goed mogelijke detectie van de bijen.
4.2 Eisen en wetenswaardigheden Voldoende hoge resolutie Liefst een camera die geplaatst kan worden op het onderste niveau van de korf: o Stabieler o Universeel, voor alle volkeren Mag niet te zwaar wegen, stabiliteit van de kast; Moet eenvoudig van kast verwisseld kunnen worden: o Eventueel met een slot tegen diefstal; o Eenvoudig en snel te monteren; o Eventueel klem systeem; o Tussen de niveaus van de korven beugels gaan plaatsen is niet ideaal: Bijen verzegelen die spleten om tocht buiten te houden; Wanneer kasten uit elkaar moeten worden genomen, worden de bijen verstoord.
2011-2012
Wim Hendrickx
41 Ethernet aansluiting is aanwezig op de locatie: o Camera met IP Kijkhoek van de camera dient bepaald te worden: o Breedte is 40cm en de hoogte van de camera kan variëren, Kijkhoek van ongeveer 90°, deze is meer dan ruim genoeg. Er komen naar schatting 10 bijen per seconde op de vliegplank, als er veel activiteit is. Bijen vliegen niet meer uit als er schemering is. Rekening houden met overbelichting o Camera met voldoende dynamische parameters nemen. Camera moet voldoende vocht bestendig zijn. o Nectar die bijen aanbrengen heeft een hoog vochtgehalte Dit kan zorgen voor condens vorming, zo hoge maten zelfs dat er water onderuit de kast drupt o Dauw kan optreden Hiervoor zullen we een camera met een verwarmde lens of verwarmde behuizing moeten voorzien. De bijen zelf zullen nooit aan de camera komen, ze gaan steeds naar hun koningin o Besmeuren van de lens door bijen is dus niet aan de orde
4.3 Berekeningen 4.3.1
Frame rate voor de camera
1km / h = 3,6mm / s
4-1
In de literatuurstudie sectie 3.1.2 staat dat de maximale snelheid van een bij 22,4km/h bedraagt. In sectie 3.1.1 staat dat de grootte van de bij ongeveer 20mm is.
22,4km / h = 6222,222mm / s 3,6 ∗ 10 −3
4-2
Voor een gemakkelijke tracking is het handig dat de objecten elkaar in de tijd overlappen of raken, om later zo min mogelijk fouten te hebben. Daarom wordt de grootte van het object genomen als afstand, zo overlappen ze elkaar nog net.
6222,222 mm / s = 311,111 fps 20 mm
4-3
2011-2012
Wim Hendrickx
42
4.3.2
Lens berekenen
Figuur 18: Lens berekening
Werk afstand:
WD =
WD =
FL ∗ FOV h
4-4
4mm ∗ 400mm = 333,33mm 4,8mm
Beeldhoek:
FOV θ tan = 2 2 ∗ WD
4-5
400 = 61°55'39' ' 2 ∗ 333,33mm
θ = 2 ∗ tan −1
4.4 De uiteindelijke keuze In eerste instantie werd aangenomen dat de bijen wandelde vooraleer ze binnen waren. Dit heeft voor wat vertraging gezorgd. Hier was dan ook een budget voor voorzien van €800, wat perfect haalbaar was als er wordt gewerkt met een frame rate van rond de 30 fps. 8Vooraleer de keuze definitief werd gemaakt bleek dat de bijen veel sneller binnen vliegen dan eerst werd gedacht. Dit heeft tot gevolg dat er een camera nodig was met een hogere frame rate en een hogere kostprijs. Deze keuze moet extra gemotiveerd worden omwille van de hogere prijs.
2011-2012
Wim Hendrickx
43
4.4.1
Camera
Een frame rate van 311,11fps is praktisch niet haalbaar. Bij een verhoging van de frame rate neemt ook het dynamisch bereik van de camera af, want de camera heeft minder tijd om daar op in te spelen. Daarom wordt er een camera gekozen met een frame rate tussen de 75 fps en 100 fps. Voor het dynamisch bereik is het ook belangrijk dat de sensor grootte niet te klein is, een waarde van ½” is wenselijk. Algemeen wordt aangenomen dat het dynamisch bereik vergroot bij een grotere beeldsensor. Wanneer het dynamisch bereik van een camera niet voldoende groot is, kunnen delen die licht zijn (hoge intensiteit) volledig wit worden en donkere delen (lage intensiteit) volledig zwart worden [49]. De camera die wordt gebruikt is een camera van Edmund optics, de Prosilica GC655 GigE Monochrome Camera. Deze camera heeft een frame rate van 90 fps, een CDD sensor met een grote van 1/3”. Er was geen verschil in prijs wat betreft de color of monochrome uitvoering. Er is gekozen voor de monochrome camera omdat deze zorgt voor een beter contrast.
4.4.2
Lens
Voor de lens wordt er gebruik gemaakt van een fixed focal length lens. Deze lenzen worden gedefinieerd door één enkelvoudige hoek voor het gezichtsveld of de vocale lengte. Ze hebben typisch een minimale werkafstand zonder een maximum. Objecten die dichter bij de lens komen, zullen groter lijken, dan objecten die verderaf liggen. Het lichtgewicht, low – profile design wordt vaak gebruikt in robotica en controle applicaties[50]. 2X 4-8mm F1.4 for 1/2 type Megapixel cameras, Vari - focal Manual Iris C-Mount
4.4.3
Behuizing
De fabrikant van de behuizing is Ganz. Het is een verwarmde behuizing en er was de keuze tussen een 12VDC, 24VAC, 230VAC systeem. Er is gekozen voor een behuizing op 230V, zo moet er geen aparte transformator worden geplaatst. Transformatoren zijn vaak de zwakke schakel van systemen na verloop van tijd en kosten geld in aankoop. Verder hebben ze meestal een hoger energieverbruik door hun warmte ontwikkeling, het joule-effect. De verwarming is er om te zorgen dat de camera warm staat en om resistent te zijn tegen condensatie Verder is er ook een zonneschild aanwezig om ervoor te zorgen dat de camera niet oververhit in de zomer. GH-F230 met zonneschild 230V verwarming, kan geopend worden langs beide zijdes. De behuizing is gebouwd uit polycarbonate. De kunststof heeft als eigenschap dat ze nog lichter is als aluminium. Deze behuizing heeft IP66 graad, dat wil zeggen dat er geen stof in kan komen en dat ze bestendig is tegen een krachtige waterstraal.
4.5 Positionering en montage Om de bevestiging licht te maken, wordt de constructie bijvoorkeur uit aluminium vervaardigd. De diefstal beveiliging bestaat eruit dat je een hangslot kan hangen door de schoefdraad van de bevestigingsframe en dat de andere montage schroeven worden vast gezet met permanente loctite [13].
2011-2012
Wim Hendrickx
44
Figuur 19: Schroef waar hangslot doorkan
Aan de hand van het gevonden beeldmateriaal [10, 11, 12] is er besloten om de camera langs boven te plaatsen. De reden hiervoor is dat er verwacht wordt dat dit de beste manier is om de bijen van elkaar te onderscheiden, want ze zullen in mindere mate elkaar overlappen in het beeld en er is een uniform beeld over de vliegplank. Ook heeft deze opstelling als voordeel dat er minder invloed zal zijn van het weer, het zonlicht zal nooit rechtstreeks op de lens kunnen schijnen, wat zou leiden tot onbruikbare beelden.
Figuur 20: Positionering en montage van de camera
Zoals merkbaar is in de figuur hier boven is er een verschil tussen het ontwerp dat werd gemaakt en de uiteindelijke realisatie. Ik was niet op de hoogte van de verandering van het ontwerp tot het er eigenlijk al wat. Het verschil in de praktische uitvoering en het ontwerp is dat de praktische realisatie uit L profielen is opgebouwd. Dit maakt dat vooraan de buis waar de camera wordt door vastgehouden minder hoog voorzien is van een trekkracht, waardoor de camera, bij wind nogal gaat schommelen. Om dit op te lossen is zoals zichtbaar is op de foto een spanband aangebracht.
2011-2012
Wim Hendrickx
45
4.6 Kostprijs Bij aanvang van het project was er een budget voorzien van €800, maar zoals eerder al verteld werd, bleek dat dit budget niet voldoende was een camera naar onze eisen aan te schaffen. Na een toelichting en motivatie te hebben geschreven werd er dan groen licht gegeven om de onderstaande camera toch aan te schaffen.
Camera
Prijs +BTW
Prosilica GC655 GigE Monochrome Camera prijs is bij de fabrikant voor de verzenden (x1,1 ), zetel is in UK voor België Model Number Imaging Device Type of Sensor Sensing Area, H x V (mm) Pixels (H x V) Pixel Size, H x V (μm) Pixel Depth Frame Rate (fps) Video Output Electronic Shutter Mount Synchronization Power Requirement Camera Control Length (mm) Width (mm) Height (mm) Weight (g) RoHS CE Certified Stock No.
€ 1.135,25
GC655 1/2" Progressive Scan CCD Sony ICX414 6.4 x 4.8 659 x 493 9.9 x 9.9 12 bit 90 Gigabit Ethernet IEEE 802.3 10μs to 60s C-Mount with Adustable Back Focus External or Via Software Supplied via 12-pin HIROSE Programmable via IEEE 802.3 Bus 59 46 33 100 Compliant Yes NT63-420
Link om te bestellen: http://www.edmundoptics.com/products/displayproduct.cfm?productID=3068&dc&PageNum=1#products
Voor deze camera heb ik geen Belgische verkoper gevonden. De zetel van Edmund optics voor België is in de UK.
2011-2012
Wim Hendrickx
46
1/4-20 Mounting Plate for Prosilica Cameras prijs is bij de fabrikant voor vezenden(x1,1), zetel is in UK voor België Stock No.
€ 42,75
NT63-432
Link om te bestellen: http://www.edmundoptics.com/products/displayproduct.cfm?productID=3068&dc&PageNum=1#products
12 Pin Hirose Power Supply for Prosilica Cameras, Intl prijs is bij de fabrikant voor vezenden(x1,1), zetel is in UK voor België Stock No.
€ 104,50
NT63-755
Link om te bestellen: http://www.edmundoptics.com/products/displayproduct.cfm?productID=3068&dc&PageNum=1#products
Lens
Prijs +BTW
H2Z0414C-MP € 156,81 2X 4-8mm F1.4 for 1/2 type Megapixel cameras, Vari-focal Manual Iris C-Mount Link om te bestellen: http://www.ccvs.be/index.php/nl/component/hikashop/product/show/name-h2z0414c-mp/cid-10801.html
De fabrikant van de lens is computar en werkt samen met Ganz de fabrikant van de behuizing. Behuizing
Prijs +BTW
GH-F230
€ 83,30
Link om te bestellen: http://www.ccvs.be/index.php/nl/categories/product/show/cid-10790/name-gh-fwu-230/category_pathway777.html
Totaal
€ 1.522,61 dit is de prijs zonder BTW
4.7 Besluit In de loop van dit hoofdstuk werd de algemene opbouw van de camera wat toegelicht en samen met enkele parameters en het verschil tussen CCD en CMOS camera’s. Hier werd up – to - date informatie voor geraadpleegd van een fabrikant zelf. In het volgende stukje ging het over de eisen waaraan de camera moest voldoen. Om daarna verder te gaan met de berekeningen voor de frame rate van de camera en de berekeningen om de lens te bepalen. Dit werd gevolg door de uiteindelijke keuze en de mechanische uitvoering van het project. Hier werd ook verteld waarom er uiteindelijk een spanriem aan te pas kwam. Waarna even de kostprijs van de camera is besproken, deze bedraagt € 1.522,61 +BTW.
2011-2012
Wim Hendrickx
47
5 Algoritme 5.1 Inleiding Na in de literatuurstudie een aantal technieken te hebben onderzocht en de opstelling van de camera te hebben bepaald, is het tijd om de eigen oplossing voor het probleem voor te stellen. In dit hoofdstuk zal er aandacht worden besteedt aan de verschillende stappen van het algoritme die noodzakelijk zijn om tot een werkend activiteitsgraadmeter voor bijen te komen. De onderstaande Figuur 21 geeft een overzicht van de opbouw van het algoritme.
Figuur 21: Opbouw van het Algoritme
Het allereerste dat moet gebeuren is het ophalen van de videodata en deze bijsnijden naar de gewenste ROI (region of intrest). In sectie 5.2 wordt de Background subtraction besproken die wordt toegepast. Waarna de schaduw wordt verwijderd in sectie5.3. vervolgens in sectie 5.4 worden de bijen gedetecteerd. Sectie. 5.5Error! Reference source not found. legt uit hoe de bijen tussen de verschillende frames worden gevolgd. In de laatste stap van het algoritme worden de inkomende en uitgaande bijen dan geteld dit is in sectie5.6. In sectie 5.7wordt er dan een besluit geformuleerd over de gebruikte methodes.
5.2 Background subtraction De eerste stap na het in lezen van de videodata is de bewegende elementen tussen de beelden te onderscheiden van de stilstaande delen. Op deze manier is er al een eerste idee van wat actieve bijen zouden kunnen zijn. Bijen die stilzitten, dragen niet toe tot de activiteitsgraad. Dit wordt gerealiseerd door een techniek genaamd background subtraction (aftrek van de achtergrond), dit is een zeer bekende techniek om bewegende objecten te detecteren. De redenering achter deze methode is niet zo moeilijk te begrijpen. Er wordt een achtergrond schatting gemaakt en de wordt afgetrokken van de huidige binnen komende frame. Dit geeft dan het verschilbeeld tussen 2 frames, en zal dus de voorgrond zijn. Stel dat er alleen maar bewegende bijen zouden zijn samen met het achtergrondbeeld als inkomend beeld en dat er geen andere invloeden zijn. Dan is de geschatte achtergrond de vliegplank en de grond voor de kast, na aftrek van deze achtergrond zullen dan alleen de bijen overblijven, welke we dan de voorgrond kunnen noemen. De achtergrondschatting is echter niet zo eenvoudig om te maken. In de literatuurstudie werden hiervoor een aantal methodes besproken. Bij aanvang van deze thesis werd er gebruik gemaakt van de mediaan filter. De mediaan filtering leverde vrij goede resultaten op, terwijl er niet overdreven veel rekenkracht nodig was. Er was echter wel één groot nadeel dat was dat deze techniek te veel geheugen vroeg om een goede achtergrondschatting te kunnen maken. Dit maakt dat er uiteindelijk een ander algoritme gekozen is voor deze achtergrond schatting. De approximated median filter dit is een recursieve techniek, deze heeft geen buffer met vorige frames in nodig voor achtergrondschattingen. Waardoor er dus veel minder geheugen nodig is. In plaats daarvan worden de background beelden recursief (herhaaldelijk) geüpdate. Als resultaat hiervan kunnen input frames uit het “verre” verleden invloed hebben op het huidige background model. Deze methode verbruikt dus minder geheugen, maar past zich ook minder snel aan dan de mediaan filter. De approximated median filter is ook een filter die veel wordt toegepast en hoewel hij minder nauwkeurig is dan de median-filter is hij voor deze toepassing zeker nauwkeurig genoeg.
2011-2012
Wim Hendrickx
48 Om de nauwkeurigheid te verhogen van deze schatting is er in deze thesis dan ook gebruik gemaakt van verschillende update factoren en is er gekeken naar de invloeden hiervan op het uiteindelijke resultaat. Voorafgaand is er tijdens de literatuurstudie al gesproken over de werking en de voor- en nadelen van de mediaan filter en approximated median filter. Nu bekent is waarom de approximated median filter gebruikt wordt, moet er verteld worden hoe deze wordt toegepast in dit algoritme. De techniek die geïmplementeerd is, werd ontworpen door N. McFarlane and C. Schofield [29]. Deze techniek werd gekozen omwille van het lage geheugen gebruik en de geringe rekenkracht die nodig is. Ondanks de geringe rekenkracht en het maar een benadering is van de de mediaan die wordt berekend, zijn de resultaten zeer bevredigend. Deze techniek laat toe dat het achtergrondmodel vrij snel update, dit kan een voordeel of een nadeel zijn. Het probleem stelt zich wanneer de bijen langzaam binnen gaan of even niet meer bewegen, dan verdwijnen ze in de achtergrond. Om niet te snel in de achtergrond te verdwijnen kan het nuttig zijn om een langere update periode te hebben. Het voordeel van een kortere update periode en dus een snellere update, is dat wanneer men van start gaat bij het algoritme en er zaten in de eerste frame bijen deze sneller eruit zullen verdwijnen, om dus sneller tot een goede achtergrond te komen. Ook wanneer bijen gedurende een lange tijd stilstaan op de vliegplank om bijvoorbeeld op te warmen en ze vertrekken dan plots, dan kunnen er als er te traag geüpdate wordt spookbeelden ontstaan. Dit komt dan omdat de bij nog steeds in de achtergrondschatting zit, maar in de input frame niet meer in hetzelfde gebied zit. Er is dan een verschil tussen het input frame en de geschatte achtergrond frame, dus het algoritme zet die pixel naar de voorgrond. Dit is een verkeerde beslissing omdat er opdat ogenblik geen bij meer op die locatie aanwezig is. Er kan dus gesteld worden, dat hoe trager de update rate is, hoe langer het zal duren vooralleer deze spookbeelden verdwijnen. Deze spookobjecten moeten in de mate van het mogelijke zoveel mogelijk vermeden worde, want in het vervolg van het algoritme kunnen deze zorgen voor een verkeerde tracking en lijden tot foutieve tellingen. Het is dus belangrijk dat het spookobject zo snel mogelijk verdwijnt, daarom moet de update van de achtergrond schatting voldoende snel gebeuren en het is ook daarom dat in deze thesis een aantal testen worden uitgevoerd met een aangepaste update rate. Met het overzicht dat geven wordt in de Figuur 22: Approximated median filter en background subtraction flowchart, zal de werking van het algoritme zelf worden uitgelegd.
2011-2012
Wim Hendrickx
49 Input frame (I)
YES Clk < 0,01s
NO
NO B(x,y) = I(x,y)
I(x,y) > B(x,y)
YES
NO B(x,y) = B(x,y) + 1
I(x,y)
YES
B(x,y) = B(x,y) - 1
B(x,y) = B(x,y)
Updaten achtergrond schatting (B)
NO | I(x,y)-B(x,y)| ≥Threshold
YES
F(x,y) = 1
F(x,y)=0
Voorgrond detectie masker (F)
Figuur 22: Approximated median filter en background subtraction flowchart
Om van start te gaan, kan er gestart worden met een background update vanaf nul te laten opbouwen, dat zal veel frames vragen vooraleer er en bruikbare background aanwezig is. Omdat dit zolang duurt wordt er gebruikgemaakt van de eerste frame als initiële achtergrondschatting., het is daarvoor dat de klok er staat afgebeeld. Wanneer je deze meteen zou willen gebruiken, zou je zeker moeten zijn dat er in het eerste frame geen
2011-2012
Wim Hendrickx
50 bijen aanwezig zijn. Bijen die toch aanwezig zijn tijdens de opname van de eerste frame, zullen volledig opgenomen worden in de achtergrond schatting, wat tot gevolg heeft dat het langer zal duren vooraleer er een bruikbare achtergrond gecreëerd is. De achtergrond schatting (B) wordt na elke frame geüpdatet. Elke pixel van de input frame I(x,y) zal vergeleken worden met de overeenkomstige pixel van de achtergrondschatting B(x,y). Is de grijswaarde van de input pixel groter dan de grijswaarde van de overeenkomstige pixel uit de achtergrondschatting, dan wordt deze verhoogt met één. Wanneer de grijswaarde van de input pixel kleiner is dan de grijswaarde van de overeenkomstige pixel uit de achtergrondschatting, dan wordt de geschatte grijswaarde van het achtergrondbeeld verlaagt met 1. Wanneer de waarde van de input pixel en de overeenkomstige geschatte achtergrond pixel gelijk zijn aan elkaar, dan wordt de waarde van de achtergrond pixel behouden. Dit resulteert in de benaderende mediaan waarde van de pixels. Het is deze waarde die we nodig hebben om de achtergrond schatting te bepalen.
∀( x, y )
Als I(x,y) > B(x,y)
B(x,y) = B(x,y) + 1
Als I(x,y)
B(x,y) = B(x,y) – 1
Als I(x,y)
B(x,y) = B(x,y)
5-1
Eens de achtergrond bepaald is kan deze worden afgetrokken van de input frame om zo de bewegende elementen te onderscheiden. Door licht veranderingen (bijvoorbeeld wolken voor de zon, die plots komen en verdwijnen) of kleinere lichtveranderingen en ruis, is een achtergrond niet constant, zeker wanneer het gaat om beelden die buiten worden gemaakt zijn daar invloeden van te merken. Het verschil tussen de werkelijke achtergrond, het gefilmde inputbeeld en de achtergrondschatting kan lijden tot het foutief toekennen van voorgrond pixels. Omdat deze veranderingen in de achtergrond meestal vrij klein zijn, kunnen deze worden opgevangen door een vaste threshold (drempelwaarde) in te stellen. Deze threshold volgt nadat de absolute waarde van het verschilbeeld tussen de input frame en de geschatte achtergrond gemaakt is. In het algoritme dat in deze thesis wordt toegepast is er bijwijze van test gewerkt met een waarde die 1 bedraagt en een waarde 0,5 in plaats van 1. Dit om de invloed van de snelheid van de achtergrond update na te gaan op het algoritme. Als I(x,y) - B(x,y) ≥Th
F(x,y) = 1
Als I(x,y) - B(x,y)
|
F(x,y) = 0
∀( x, y ) 5-2
F(x,y) = 1, wil zeggen dat het een bewegend opbject is.
5.3 Shadow remover Door de techniek van background subtraction toe te passen, welke werd besproken in het voorgaande deel, hebben we al een goede indicator om bijen te gaan detecteren. Door de background subtraction kunnen de bewegende delen van de niet bewegende delen van het beeld worden onderscheden. Dus de bijen worden eruit gehaald, maar niet alleen de bijen. Bijen hebben ook een schaduw en deze beweegt ook. Deze schaduw heeft een negatieve invloed op de correctheid van de inkomende en uitgaande bijen. Het is dan ook noodzakelijk dat deze schaduw verwijderd wordt om een correcte meting te kunnen uitvoeren. Tijdens de literatuurstudie in sectie 3.7 werden al 2 verschillende methodes van schaduw verwijdering besproken. De schaduw verwijdering die wordt toegepast voor dit algoritme is de eerste methode die werd besproken in sectie 3.7.1. De methode voor deze schaduw detectie is gebaseerd op de veronderstelling dat geschaduwde gebieden in hoge mate gecorreleerd zijn, met hun overeenkomstige gebieden in de achtergrond schatting[33].Deze methode bestaat uit twee grote fasen. De eerste fase is de berekening van een eerste ruwe schaduw schatting, door gebruik te maken van Normalized Cross
2011-2012
Wim Hendrickx
51 Correlation (NCC) NCC is goed om schaduwen te gaan verwijderen omdat bij een schaduw, de illuminatie verschillend is, maar het patroon en de textuur zijn identiek. In de tweede stap volgt dan de verfijning van de detectie. Wanneer alleen de eerste stap zou worden toegepast zouden er een aantal pixels van bewegende objecten onterecht als schaduwen worden gezien. Vandaar dat een verfijning absoluut noodzakelijk is [33]. Deze techniek, had de voorkeur op de andere, omwille dat ze minder complex is dan de andere techniek en minder rekenkracht zou vragen. De schaduw detectie en verwijdering is in dat algoritme maar een klein onderdeel om de telling te optimaliseren en het is niet noodzakelijk dat de schaduwen steeds 100% verwijderd worden. Moest hier nog een klein probleem zijn kan dit later nog steeds worden opgevangen in het algoritme waar beschreven wordt hoe bijen gedetecteerd worden. De schaduw zal na deze verwijdering nooit nog genoeg pixels hebben om als bij te worden gedetecteerd. Al werkt dit algoritme meer dan behoorlijk en worden alle schaduw delen verwijderd door de schaduwverwijdering. De werking van dit algoritme werd in de literatuurstudie al volledig gedaan, daarom geef ik even de instelparameters nog mee waarmee gewerkt wordt. Deze instellingen zijn niet volledig dezelfde als deze uit de literatuur, voor: Lncc wordt in de literatuur een waarde van 0,98 voorgesteld, maar 0,95 bleek na een paar testjes betere waardes naar voor te brengen. De redenering om deze waarde te bepalen is als volgt,doordat een schaduw pixel in hoge mate zal correleren met de overeenkomstige achtergrond pixel, zal dit resulteren in een hoge NCC waarde. Met hoog wordt bedoeld dicht bij 1. De waardes nodig om de verfijning voor te stellen komen wel overeen met deze van de literatuur:
o
I( ) std R x , y < Lstd B ( x, y ) 5-3
std R is de standaard deviatie in het gebied R, er wordt verondersteld dat voor een schaduw pixel een 3X3 gebied R rond de schaduw pixel gedefinieerd kan worden. Lstd is een vaste threshold, die meestal een waarde heeft van 0,05.
o
I (x, y ) <1 Llow ≤ B ( ) x , y 5-4
De verhouding van
I (x, y ) B( x , y )
voor elke pixel onafhankelijk moet kleiner zijn dan 1 en groter of
gelijk zijn aan een vaste threshold waarde. De waarde van deze threshold moet natuurlijk kleiner zijn dan 1. Deze tweede voorwaarde is erom te voorkomen dat donkere objecten met een lage intensiteit onterecht als schaduwen zouden worden gezien. Llow een waarde van 0,5, belangrijk hierbij is wel dat deze waarde kleiner blijft dan 1. Anders zal het niet werken. Het algoritme is hoewel het in de literatuur omschreven wordt als een licht algoritme toch vrij zwaar in deze toepassing. Doordat het pixel per pixel gaat werken remt dit de verwerkingssnelheid van SIMULINK ook sterk af. Maar dat neemt niet weg dat dit het meest geschikte algoritme is. Eens de schaduw verwijdering heeft plaats gahad wordt in de rest van het algoritme, wat betreft de berekenningen en detecties steeds met binaire
2011-2012
Wim Hendrickx
52 beelden gewerkt, voor de weergave wordt er wel al eens het input beeld gekoppeld met de berekende resultaten. Bewegende elementen (BE)
NCC, EB(x,y), ET(x,y)
YES Schaduw masker S(x,y) = 1
NCC ≥ Lncc & ET(xy)<EB(x,y)
NO
Schaduw masker S(x,y) = 0
Eerste schaduw schatting
Berekenen standaard deviatie & I(x,y) / B(x,y)
YES Schaduw masker S(x,y) = 1
stdR < Lstd & Llow ≤ I(x,y) / B(x,y) < 1
NO Schaduw masker S(x,y) = 0
Definitief schaduw masker (S)
Aftrekken van de schaduw
Voorgrondbeeld (F)
Figuur 23: Schaduw verwijdering flowchart
2011-2012
Wim Hendrickx
53
5.4 Bee detection Nu de achtergrond en de schaduwen verwijderd zijn, worden alleen nog de echte bewegende objecten gedetecteerd. Ruis is helaas niet uit te sluiten in een systeem en daarom wordt er na de schaduwverwijdering, de morfologische operaties erosie en dilatatie toegepast [52]. De erosie functie wordt gebruikt om geïsoleerde punten, die onterecht als voorgrond worden beschouwd te verminderen. Een template , een zogenaamd structering element, schuift over het volledige beeld. Bij elke stap wordt deze template met één pixel locatie verschoven. Wanneer het element een gebied overlapt met allemaal enen dat overeenstemt met de dimensie van de template, dan wordt de waarde één gegeven aan de pixel die in de oorsprong van het structering element ligt [52]. Het structering element dat in het algoritme hier word toegepast is op een experimentele wijze tot stand gekomen en dit gaf de beste resultaten.
1
1
1
1
Figuur 24: structering element voor erosie
De dilatie functie structuring element (template) gaat over alle pixels in het beeld, wanneer een pixel in het beeld de waarde 1 heeft op de pixel locatie van de oorsprong van het stuctering element , dan wordt het structuring element toegekend rond die pixel. Het structuring element dat in deze thesis gebruikt wordt is hieronder weergegeven. 1
1
1
1
1
1
1
1
1
Figuur 25: structering element voor dilatie
Erosie en dilatie zijn tegengestelde. Maar wanneer ze achter elkaar worden toegepast, eerst erosie en dan dilatie zoals hier gebeurt dan vormen zij een closing en zorgen ze dat er een onderscheidt is tussen de bijen onderling en dat de onderdelen van de bijen zoals poten en vleugels toch in één aansluitende blob komen te staan. Eens de ruis weg gefilterd is kan er worden overgegaan tot de effectieve detectie van de bijen. De bijen worden gedetecteerd aan de hand van een blobanalyse. Via de blobanalyse blok in SIMULINK kunnen de eigenschappen waaraan blobs moeten voldoen om als blob effectief gedetecteerd te worden, worden meegegeven. In eerste instantie werden deze vrijstrikt genomen, maar dan bleken al gauw niet veel bijen goed gedetecteerd te worden en de marge moest groter genomen worden. Ook de achtergrond van de vliegplank is hiervoor niet ideaal, het is een achtergrond die bestaat uit 2 kleuren, een sterk contrasterende kleur en dan een andere kleur die bijna geen contrast heeft tenopzicht van de bijen. Dus de instellingen werden wat ruimer genomen. De belangrijkste parameters die kunnen worden ingesteld zijn de volgende:
2011-2012
Wim Hendrickx
54 Het maximaal aantal blobs per frame. Hier werd in eerste instantie 25 voorgenomen als waarde, deze was voldoende, maar toen het warmer werd en er meer activiteit aan de bijenkorf kwam bleek dit onvoldoende te zijn en werd deze waarde verhoogt tot 50. Het minimaal aantal pixels dat de waarde één heeft dat nodig is één gebied om gedetecteerd te worden als één blob. Deze waarde ligt op 50 pixels, dit is experimenteel bepaald. Het minimaal aantal pixels dat de waarde één heeft dat nodig is één gebied om gedetecteerd te worden als één blob. Hier zijn 600 pixels toegelaten, dit is ook op een proefondervindelijke manier ondervonden. Deze parameters zijn opgenomen in een mask, dat over het algoritme staat, dit laat toe dat de gebruikers nadien deze parameters nog kunnen bijregelen als dit moest nodig zijn, zonder naar de code te moeten gaan kijken. Uit deze blobanalyse kan allerlei informatie worden gehaalt over de blobs. De informatie die belanrijk is in dit project zijn: BBox: een 4 bij N matrix met de sectiekader (bounding box) coordinaten erin, waar N het aantal blobs zijn. Deze coordinaten worden doorgegeven aan de blobcontrole waarna ze worden doorgegeven aan de tracking. Count: deze parameter geeft het aantal gedetecteerde blobs weer. Ook deze wordt meegeven aan de tracking , deze speelt ook een belangrijke rol spelen in de labeling
5.5 Tracking Nu de bijen door middel van de blobanalyse gedecteerd zijn, waardoor de coordinaten en het aantal blobs bekent zijn is het tijd om deze te gaan tracken. Tijdens de literatuurstudie in sectie 3.8 werd er twee grote van tracking algoritmes voorgesteld, het algoritme dat hier wordt toegepast valt onder de Filtering and data association, het is een top-down proces, waarin informatie van vorige scènes van het het object worden opgenomen, de dynamiek van het object wordt in rekening gebracht en de evalutie van de verschillende hypotheses gebeurt. Deze methode is gekozen omdat deze instaat is om complexe objecten met meer complexe interacties te kunnen tracken. Dit algoritme is ook instaat om de bijen te volgen wanneer ze gedurende een aantal frames uit het beeld moest verdwenen zijn[38]. Om met deze complexere materie overweg te kunnen is er gebruik gemaakt geweest van de kalman filter. Wat er gebeurt is het volgende eerst wordt er getrakted tussen 2 opéénvolgende frames, door gebruik te maken van de dichts bijzijnde blob in de volgende frame (de kleinste mogelijke afstand). Om dan vervolgens dit resultaat aan de Kalman filter te hangen. De kalman filter gaat dan aan de hand van vorige gebeurtenissen een schatting maken over wat er zal plaatst vinden in de volgende frame. Deze schatting wordt terug gekoppeld om zo een ze goed mogelijke tracking te realiseren. Om een zo goed mogelijke schatting te realiseren is het van belang dat er voldoende parameters woorden meegegeven aan de Kalman filter, in het algoritme dat hier wordt toegepast is er gebruik gemaakt van de positie van de bijen, de snelheid en de versnelling.
5.5.1
Inleiding tot Kalman filter
Binnen het grote aanbod van wiskundige instrumenten die kunnen worden gebruikt voor schattingen binnen ruisige metingen is een van de meest bekende en vaak toegepaste instrumenten de Kalman filter. De Kalman filter is vernoemd naar Rudolph E. Kalman, die in 1960 zijn beroemde paper publiceerde waarin hij “Een recursieve oplossing voor de discrete-data lineaire filtering probleem beschrijft” (Kalman 1960). De Kalman filter is in wezen een verzameling van wiskundige vergelijkingen die een “predictor-corrector” type schatter iplementeren, die optimaal is, in die zin dat het de geschatte fout covariantie minimaliseert, waanneer er aan enige veronderstelde voorwaarden wordt voldaan. Een groot voordeel van de Kalman filter is de eenvoud en de stabiliteit van de filter zelf, wat hem makkelijk toepasbaar maakt [51].
2011-2012
Wim Hendrickx
55
5.5.2
Algoritme van de discrete Kalman filter
De Kalman filter schat een proces (verloop) door gebruik te maken van een vorm van feedback controle: de filter schat de verwerkingstoestand op een bepaald tijdstip en verkrijgt dan feedback in de vorm van (ruis) metingen. Dit maakt dat de vergelijkingen voor de Kalman filter in twee groepen kunnen worden verdeeld: time update vergelijkingen, measurment update vergelijkingen. De time update vergelijkingen zijn verantwoordelijk voor het voorwaardes projecteren (in de tijd) van de huidige toestand en de error covariance schattingen (estimates) om de “vorige schatting”voor de volgende stap te verkrijgen. De maesurement update vergelijkingen zijn verantwoordelijk voor de feedback, dit wil zeggen een nieuwe meting opnemen in de vorige schatting om een verbeterde volgende schatting te bekomen. De time update vergelijkingen kunnen ook beschouwd worden als “predictor (voorspel) vergelijkingen”, terwijl de measurment update vergelijkingengezien kunnen worden als “corrector (verbeter) vergelijkingen”. Het uiteindelijke schattingsalgoritme lijkt op dat van een predictor-corrector algoritmevoor het oplossen van numerieke problemen, zoals getoond in de figuur 26 hier onder.
Figuur 26: Lopende discrete Kalman filter cyclus
In figuur 25 wordt de lopende discrete Kalman filter cyclus getoond. De time update projecteert de “huidige toestandsschatting” vooruit in de tijd. De measurement update regelt de geprojecteerde schatting door een werkelijke meting in de tijd. De specifieke vergelijkingen voor deze time en Measurment updates worden als volgt weergegeven: Discrete Kalman filter time update vergelijkingen:
xˆk− = Axˆk −1 + Bu k 5-5
Pk− = APk −1 AT + Q 5-6
De time update in vergelijkingen hierboven de toestand en covariantie schattingen voorwaards projecteren van de tijdstap k-1 naar k. De nxn matrix A brengt de toestand in de vorige tijdstap k-1 in verband met deze van de huidige stap k. De nxl matrix B brengt brengt de bestuur input u ∈ Rl in verband met de toestand x. De process noise covariance wordt weergegeven door Q en de measurement noise covariance R.
2011-2012
Wim Hendrickx
56 Discrete Kalman filter time update vergelijkingen:
K k = Pk− H T ( HPk− H T + R) −1 5-7
(
xˆk = xˆk− + K k z k − Hxˆ k−
) 5-8
Pk = ( I − K k H ) Pk− 5-9
De eerste taak tijdens de measurement update is om de Kalman versterking (gain), K k te berekenen. De volgende stap is om effectief het proces te gaan meten om z k te verkrijgen, om dan een volgende toestandschatting te genereren door het opnemen van de meting zoals in vergelijking 5-8. De finale stap is om een volgende error covariantie schatting te bekomen via vergelijking . 5-9 Na elk paar van time en measurement update, wordthet proces herhaald met de vorige “volgende schatting” die gebruikt wordt voor de projectie of voorspelling van de nieuwe vorige schatting. Dit recursieve gedrag is een zeer aantrekkelijk kenmerk van de Kalman filter, het maakt de praktische implementatie veel uitvoerbeerder dan de implementatie van de Wiener filter (Brown and Hwang 1996) welke ontworpen is om direct op alle data te werken voor elke voorspelling[51]. De Kalman filter daarin tegen condisioneerd de huidige schatting op een recursieve manier op alle voorgaande metingen, dit wordt verduidelijkt in de figuur hieronder.
Figuur 27: Werking van de Kalman filter
2011-2012
Wim Hendrickx
57 De bovenstaande figuur 27 geeft een volledig beeld van de werking van de kalman filter. Deze figuur is een combinatie van het high level beeld figuur 26 en de vergelijkingen5-5, 56, 5-7, 5-8, 5-9
5.6 Counter Dit is de laatste stap van het algoritme, de telling van het aantal inkomende en uitvliegende bijen. De telling kan alleen maar vlot verlopen wanneer de tracking en de labeling goed gebeurt. De labeling is van belang om te weten welke bij er al geteld is en welke niet. De telling is gebaseerd op hysteresisch, voor dit algoritme wil dit zeggen dat er geteld wordt door middel van een onderlijn en een boven lijn. De hysteresch methode is noodzakelijk omdat bijen vaak wat heen en weer vliegen vooraleer ze effectief binnen of buiten zijn. Wanneer er maar één lijn voorzien wordt en bijvoorbeeld de richting van de bijen wordt meegegeven voor de telling leidt dit tot dubbele tellingen. De methode van hysteresch heeft als voordeel dat ze snel kan werken. Om dit te maken is er geen zoektocht gedaan in de literatuur, maar ben ik gewoon zelf zo beginnen te schrijven. Bij dit algoritme is het wel belangrijk dat de bijen zich tussen 2 frames niet in één keer over het gebied tussen de lijnen kunnen verplaatsen. Moest dit toch het geval zijn, dan worden deze niet geteld. In deze implementatie is er ook aandacht besteed aan bijen die moesten verdwijnen uit het beeld wanneer ze in het hystresisch gebied zitten , dan worden ze niet geteld. Bijen kunnen soms verdwijnen uit het beeld of niet meer gedetecteerd worden als ze bijvoorbeeld stil blijven zitten. Goed, want dan zijn ze niet actief en moeten we ze niet hebben. Of bijen kunnen verdwijnen omwille van het feit dat er een andere bij gaat boven vliegen en ze op elkaar binnen komen. Een andere mogelijkheid is wanneer de beelden overbelicht worden, dat baard ook al eens zorgen. De laatste oorzaak voor verdwijning is door slecht contrast met de achtergrond. Het is wenselijk dat deze naar de toekomst toe wat wordt aangepast naar één kleur, die dan wel zorgt voor voldoende contrast. Dit het afstellen van de camera voor wat betreft overbelichting op te vangen vergemakkelijken en de bijen zullen beter te zien zijn. Nu is het zo dat je soms als mens geen bij ziet op het camera beeld, maar wanneer je dan inzoemt zie je ze wel of wanneer de bij dan naar de meer contrasterende kleur gaat zie je ze plots zeer goed. Dit wil zeggen dat het algoritme dus beter werkt dan het menselijke oog.
5.7 Besluit In dit hoofdstuk zijn er verschillende technieken gecombineerd om tot een monitor systeem te komen dat instaat is om de activiteitsgraad van bijen weer te geven doormiddel van het tellen van inkomende en uitgaande bijen. Vooraleer de actieve bijen uit de rest van het beeld konden worden gehaald, was het niet voldoende dat er een onderscheid kon worden gemaakt tussen bewegende delen in het beeld en stilstaande achtergrond delen van het beeld, er was ook nog schaduw verwijdering nodig, erosie en dilatie om goede bij vormen te creëren en de ruis uit de beelden te halen. Via de blobanalyse worden dan de bijen effectief gedetecteerd in de verschillende beelden. Waarna deze blobs (bijen) dan gevolgd worden doorheen de verschillende frames, de tracking wordt bijgeregeld door de Kalman filter. De Kalman filter maakt gebruik van de coördinaten van de blobs, de snelheid waarmee zee zich voortbewegen en de versnelling. De bijen krijgen allemaal een label welke dan toelaat om een telling uit te voeren die gebaseerd is op hysteresch. Deze algoritmen zijn allemaal aanwezig in het systeem voor de activiteitsgraad te monitoren en zijn getest. De resultaten hiervan staan in het hierop volgende hoofstuk . Het besluit is dat alle onderdelen aanwezig zijn om een goede telling te realiseren.
2011-2012
Wim Hendrickx
58
6 Artificiële beelden Doordat er nog geen camera aanwezig was bij de start van de thesis en de bijen al in hun winterslaap zaten toen de camera er was, was het een noodzaak om gebruik te maken van artificiële beelden. Deze beelden hebben voor en nadelen. Een groot voordeel is dat je perfect weet wat er gaat gebeuren en je, je daar kan op voorbereiden in je algoritme. Het laat ook toe een aantal gedragen apart te gaan simuleren, wat het debuggen van de algoritmes wel heeft vergemakkelijkt. Het kan ook zekerheid geven over een verschijnsel dat dat de oorzaak is voor de fout die optreed, dit was bijvoorbeeld bij het verdwijen van bijen het geval. In echte beelden gebeurt er zoveel te samen dat het soms moeilijk is om te weten wat e oorzaak is. Vaak beïnvloeden fouten elkaar dan nog eens en leidt dit tot nog meer verwarring. Deze beelden hebben er bovendien voor gezorgt, dat tijdens de lange te koude periode van dit voorjaar toch wat kon worden doorgewerkt aan het algoritme. Bijen vliegen niet uit als het geen 18° is geweest en dat heeft dit jaar erg lang geduurd. Aan artificiële beelden is ook een groot nadeel, dat ik ook heb mogen ondervinden in de loop van dit jaar. Deze beelden maak je zelf uit veronderstellingen en uit geziene gedragingen, onbewust pas je je daar dan ook aan aan. Wat soms lijdt tot het zoeken naar problemen die zich niet stellen of problemen die je niet weet dat er zijn. Je beïnvloed de code die je gaat schrijven door het denk patroon dat je hebt voor de testbeelden te maken en omgekeerd. Ondanks dit nadeel, zijn deze beelden toch van belang geweest om het algoritme te bouwen. Het algoritme was eigenlijk klaar toen er gefilmd kon worden, maar natuurlijk zijn er vanuit de echte beelden nog onvoorziene problemen naar voor gekomen , zoals de verdwijning van bijen uit het beeld, het verdwijnen van bijen in het hysteresisch gebied. Daar zijn uiteindelijk andere artificiële beelden voor gecreëerd die dat gedrag simuleren om het algoritme te kunnen testen en daarna werd het algoritme terug op echte beelden los gelaten.
Figuur 28: Artificiële beelden met tracking en telling die aan het lopen is
Deze beelden zijn gemaakt uit een de echte achtergrond van de camera beelden die werden opgenomen. Om verschillend gedrag van bijen apart te kunnen analyseren om de code te verbeteren, werden de bijen vervangen door bewegende blobs waarvan ik zelf het pad controlleer.
2011-2012
Wim Hendrickx
59
7 Resultaten De werkelijk resultaten voor de test zijn voor de inkomende bijen 241 en voor de uitkomende bijen 238
Update factor BG threshold BWE afstand blobs IN met Kalman IN zonder Kalman UIT met Kalman UIT zonder Kalman
1 0,02 25 20 208 50 92
1 0,02 50 116 219 221 164
1 0,03 25 161 248 197 10
1 0,03 50 71 254 89 65
0,5 0,02 25 225 8 251 141
0,5 0,02 50 66 20 176 227
0,5 0,03 25 119 234 151 234
0,5 0,03 50 176 250 254 75
Zoals hierboven zichtbaar is er een vergelijking gemaakt tussen de aanwezigheid van de Kalman-filter of zonder Kalman-filter. Verder werden er verschillende waardes genomen voor de update-factor van de achtergrond, de threshold om de bewegende delen te onderscheiden van de stilstaande delen in de achtergrond van de afbeelding en maximale afstand die wordt toegelaten tussen de blobs om nog dezelfde blob te kunnen zijn in de volgende frame. Sommige instellingen wijken sterk af en andere instellingen geven aanvaardbare resultaten. De beste resultaten voor het algoritme worden gehaald zonder gebruik te maken van de Kalman-filter. Als eerste indruk is dit een vreemd resultaat. Toch was dit te verwachten, de Kalman filter is ontworpen voor lineaire tracking te gaan doen, de bijen gedragen zich op deze beelden helemaal niet volgens een lineair patroon. De Kalman zorgt nu zelfs voor een slechtere tracking van de bijen in plaats van een verbeterde. Dit is te verklaren doordat zijn voorspellingen nog meer doen afwijking veroorzaakt in plaats van verbeterd. Dat de waardes van het resultaat iet lage liggen dan de werkelijke waardes is te verklaren, omdat er in het begin van de verwerking een aantal frames gewacht wordt om de background te bepalen. De telling begint maar pas vanaf e een goede achtergrondschatting aanwezig is.
2011-2012
Wim Hendrickx
60
8 Algemeen besluit Bij de start van deze thesis is er onderzoek gedaan naar bijen in het algemeen en de problemen waar ze mee te kampen hebben. Er is gekeken naar verschillende systemen die op de markt aanwezig zijn en of ze al dan niet konden worden toegepast in deze thesis. De aanschaf en de positionering van de camera was ook een vrij groot onderdeel. Om de camera te positioneren aan de bijenkorf is er dan een frame ontworpen. Dit maakt dat de camera nu effectief aan de bijen korf hangt. Voor het ontwerp was het vooral belangrijk dat het camerasysteem licht, makkelijk te verplaatsen en beveilligd was tegen diefstal. Eens de gedragingen van bijen en de camera bekent waren was het tijd voor meer onderzoek naar de verschillende algoritmen. Omwille van de problemen in de camerakeuze en het bestuderen van het gedrag van bijen zelf, was het al winter en vlogen de bijen niet meer. Dit heeft geleid tot het creëren van artificiële beelden bij gebrek aan bruikbare beelden uit de echte wereld. De keuzes voor de algoritmes die gingen worden toegepast moesten worden gemaakt. Buiten een literatuurstudie over de bijen en hun problematiek, is er ook een literatuurstudie gemaakt over de camera en zijn onderdelen, waarna een uitgebreide literatuurstudie volgde over de verschillende algoritmes die mogelijk bruikbaar waren. Tijdens deze studie kwamen er op geregelde tijdstippen de voor- en nadelen aanbod. Zo is er een vergelijking ontstaan tussen verschillende technieken, die dan geleid heeft tot de keuze van het uiteindelijke algoritme. Deze algoritmes zijn daarna toegepast in het programma van deze thesis, waar dan testen mee werden gedaan, zo is de update factor van de background, de threshold van de background en de maximale afstand tussen opéénvolgende over verschillende frames getest geweest en is er gekeken naar de invloed die deze hebben op de telling van de bijen en dus de activiteitsgraad. Bij de resultaten bleek, dat de bijen beter konden worden gevolgd zonder gebruik te maken van de Kalman-filter. De resutaten die worden behaalt liggen dicht op de werkelijke resultaten. Dit is te verklaren door dat er met goede parameters een goede weergave van de bijen kon gehaald worden, dit ondanks de moeilijke achtergrond die aanwezig is. Dit project moest volledig van nul worden gestart, alleen de bijen waren al aanwezig. Het was ook niet louter en alleen beeldverwerking dat bij deze thesis aanbod kwam, maar ook het ontwerp van een mechanische constructie voor de camera, de keuze van de camera zelf en de eigenschappen van bijen. Elk onderdeel vraagt zijn inspanning en tijd om het te realiseren. Het is dan ook gelukt om een prototype te realiseren. Voor real-time monitoren van de activiteitsgraad moeten er nog een verdere studies komen. Tijdens deze thesis is het real-time gebeuren nooit aanbod gekomen, omdat het geen eis was van de opdrachtgever. Mij lijkt dit voor de toekomst een welkome verbetering Er is een werkend prototype naar voorgebracht met een goed algoritme erachter, maar er is zoals in alles altijd ruimte voor verbetering. De resultaten zijn er en het werkt. Maar zoals in de inleiding al verteld is, is dit de start van een reeks projecten. Er is dankzij deze thesis zoals gevraagd werd door de opdrachtgever aangetoond dat bijen gedetecteerd kunnen worden met een camerasysteem en de activiteitsgraad kan gemonsterd worden. De camera zelf kan aan de bijen kast gehangen worden. Er kan dus worden gezegd dat aan de vraag van de opdracht voldaan is. Los van de technische kennis die ik heb opgedaan heb ik ook andere vaardigheden gecreëerd. Ik heb leren papers raadplegen, omgaan met bijen en algemeen interessante wetenswaardigheden over bijen. Ook probleem oplossend denken en opdrachten gelijktijdig uitvoeren, dit was vaak belangrijk omdat je afhankelijk bent van het weer om metingen te doen met bijen als je activiteit wil zien. Voor het bestellen van de camera was het ook belangrijk om leren om te gaan met een opgelegd budget.
2011-2012
Wim Hendrickx
61 Persoonlijk wil ik zeggen dat dit eindwerk leerrijke ervaring was, die mijn algemene ontwikkeling ten goede is gekomen. Deze thesis heeft mij dingen bijgebracht die je in theorielessen of labo’s niet kan leren.
2011-2012
Wim Hendrickx
62
9 Bibliografie [1] http://www.kennislink.nl/publicaties/het-mysterie-van-de-bijensterfte [2] http://www.wildebijen.nl/ [3] http://www.bijenwereld.nl [4] http://www.worldwidebase.com/science [5] http://www.soortenbank.nl [6] http://nl.wikipedia.org/wiki/Vleugel_(insect) [7] A bee counter for monitoring activity and bee behavior, G.A. Buckley, L.G.Davies & D.T.Spindley van de Deparment of Life Sciences and Physical Scieces [8] Real-time Vision-based People Counting System for the Security Door, Jae-Won Kim, Kang-Sun Choi, Byeong-Doo Choi, and Sung-Jea Ko Department of Electronics Engineering, Korea University, Anam-dong, Sungbuk-ku, Seoul, 136-701, Korea [9] Rigid Body Reconstruction for Motion Analysis of Giant Honey Bees using Stereo Vision, Michael Maurer, Matthias R¨uther and Horst Bischof Institute for Computer Graphics and Vision (ICG), Graz University of Technology Gerald Kastberger Institute for Zoology, Karl-Franzens University Graz [10] http://www.youtube.com/watch?v=CzruFjRHSS8 [11] http://www.youtube.com/watch?v=wwfw-Ctc1JE&feature=related [12] http://vimeo.com/28156964 [13] http://www.loctite.nl [14] Rafael C. Gonzalez en Richard E. Woods (2008) Digital image processing. New Jersey, Prentice-Hall [15] http://cmm.ensmp.fr/~beucher/wtshed.html [16] R.O. Duda and P.E.Hart, Pattern Classification and Scene Analysis, New York: Wiley, 1973. [17] X. Chen, Z. He, D. Anderson, et al., “Adaptive silhouette extraction and human tracking in complex and dynamic environments”, Image Processing, IEEE international conference, pp. 561_564, 2006. [18] A. Bagci, Y. Yardimci, and A. Cetin, “Moving object detection using adaptive subband decomposition and fractional lower-order statistics in video sequences”, Signal Processing, vol. 82, no. 12, pp. 1941_1947, 2002. [19] S. Benton, “Background subtraction part 1: Matlab models.” http://www. dspdesignline.com/howto/210000460 - 25/04/09, 2008. [20] S.-C. Cheung and C. Kamath, “Robust techniques for background subtraction in
2011-2012
Wim Hendrickx
63 urban traffic video”, Proceedings of the SPIE, vol. 5308, pp. 881_892, 2004. https://computation.llnl.gov/casc/sapphire/pubs/UCRL-CONF-200706.pdf [21] M. Piccardi, “Background subtraction techniques, a review”, Proc. of IEEE SMC 2004 international Conference on Systems, Man and Cybernetics, 2004 [22]R. Cutler and L. Davis, “View-based detection”, in Proceedings Fourteenth International Conference on Pattern Recognition, 1, pp. 495{500, (Brisbane, Australia), Aug 1998. [23]R. Cucchiara, M. Piccardi, and A. Prati, “Detecting moving objects, ghosts, and shadows in video streams”, IEEE Transactions on Pattern Analysis and Machine Intelligence 25, pp. 1337{1342, Oct 2003. [24]B. Gloyer, H. Aghajan, K.-Y. Siu, and T. Kailath, “Video-based freeway monitoring system using recursive vehicle tracking,” in Proceedings of SPIE, 2421, pp. 173{180, Feb 1995. [25] B. Lo and S. Velastin, “Automatic congestion detection system for underground platforms”, in Proceedings of 2001 International symposium on intelligent multimedia, video, and speech processing, pp. 158{161, (Hong Kong), May 2001. [26] Q. Zhou and J. Aggarwal, “Tracking and classifying moving objects from videos”, in Proceedings of IEEE Workshop on Performance Evaluation of Tracking and Surveillance, 2001. [27] R. Cucchiara, C. Grana, M. Piccardi, et al., “Detecting moving objects, ghosts, and shadows in video streams,_ IEEE transactions on Pattern Analysis and Machine Intelligence, vol. 25, no. 10, pp. 1337_1342, 2003. [28] K. Toyama, J. Krumm, B. Brumitt, and B. Meyers, “Wallower: Principles and practice of background maintenance”,in ICCV (1), pp. 255-261, 1999. [29] N. McFarlane and C. Schofield, “Segmentation and tracking of piglets in images," Machine Vision and Applications 8 no3, pp. 187-193, 1995. [30] P. Remagnino et al., “An integrated traffic and pedestrian model-based vision system," in Proceedings of the Eighth British Machine Vision Conference, pp. 380-389, 1997. [31] S. Battiato, D. Cantone, D. Catalano and G. Cincotti, “An Efficient Algorithm for the Approximate Median Selection Problem”, Universit`a di Catania, Dipartimento di Matematica,, October 28, 2002 [32] A. Prati, I. Mikic, et al., “Comparative evaluation of moving shadow detection algorithms,” in IEEE CVPR workshop on Empirical Evaluation Methods in Computer Vision, Kauai, 2001. [33] J. Jacques, C. Jung, and S. Musse, _Background subtraction and shadow detection in grayscale video sequences,_ Computer Graphics and Image Processing, SIBGRAPI 2005, pp. 189_196, 2005. [34] J. Stauder, R. Mech, and J. Ostermann, “Detection of moving cast shadows for object Segmentation”, IEEE Transactions on Multimedia, vol. 1, no. 1, pp. 65-76, 1999. [35] http://nl.wikipedia.org/wiki/Umbra_(schaduw) [36] http://nl.wikipedia.org/wiki/Penumbra_(optica)
2011-2012
Wim Hendrickx
64 [37]S. Kang, J. Paik, A. Koschan, B. Abidi, and M. A. Abidi (2003). "Real-time video tracking using PTZ cameras". Proc. Of SPIE 5132: 103–111. doi:10.1117/12.514945. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.4242&rep=rep1&type=pdf. [38] Black, James, Tim Ellis, and Paul Rosin (2003). "A Novel Method for Video Tracking Performance Evaluation". Joint IEEE Int. Workshop on Visual Surveillance and Performance Evaluation of Tracking and Surveillance: 125–132. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.10.3365&rep=rep1&type=pdf. [39] M. Arulampalam, S. Maskell, N. Gordon, and T. Clapp (2002). "A Tutorial on Particle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking". IEEE Trans. on Signal Processing 50 (2): 174. doi:10.1109/78.978374. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.117.1144&rep=rep1&type=pdf. [40] http://en.wikipedia.org/wiki/Aperture [41] http://docs.vlaamsparlement.be/docs/stukken/2011-2012/g1340-1.pdf [42] http://www.west-vlaanderen.be/kwaliteit/Leefomgeving/natuur/campagnes/bijen [43] http://www.eentandjebijvoordeimkerij.be/home [44] http://www.encyclo.nl/ [45] http://www.bisonline.be/main/bronnenboek/glossarium.asp [46] Dade, H.A.(1977). “Anatomy and dissection of the honeybee” 2, International bee research station ISBN: 0 900149 98 1 [47] http://www.teledynedalsa.com/corp/markets/ccd_vs_cmos.aspx [48] http://news.discovery.com/animals/bees-flight-landing-aircraft-design.html [49]http://nl.wikipedia.org/wiki/Digitale_camera [50] Edmund Optics and optical instruments catalog 2011 [51] Greg Welch, Gary Bishop (2001) “An Introduction to the Kalman Filter”, University of North Carolina at Chapel Hill, Department of Computer Science, Chapel Hill, NC 275993175 [52]D. V. Landeghem, Introduction to digital image processing. De Nayer Instituut, 2006
2011-2012
Wim Hendrickx