• No results found

Undersökning av lämpliga sensorer till ett övervakningssystem för farliga zoner

N/A
N/A
Protected

Academic year: 2021

Share "Undersökning av lämpliga sensorer till ett övervakningssystem för farliga zoner"

Copied!
46
0
0

Loading.... (view fulltext now)

Full text

(1)

Examensarbete

Civilingenjör i Datateknik

Undersökning av lämpliga sensorer till ett

övervakningssystem för farliga zoner

Examenarbete 15hp

2019-09-20

(2)
(3)

Abstract

This report presents surveys of various techniques to identify people in a pre-determined area. RCWL-0516 radar module and camera monitoring were met-hods that were investigated and tested. A distance measurement test was done on RCWL-0516, once through different materials and another with sensitivity manipulation of the module. At the same time, we tested various image analy-sis methods in connection with camera surveillance. In the result, we concluded that video surveillance with image analysis, for example You-Only-Look-Once-algoritmen (YOLO), was a good solution to the problem presented while the radar module was not as suitable.

KEYWORDS: RCWL-0156, Human Detection, Image Analysis, YOLO, Risk Zones

(4)
(5)

Sammanfattning

I denna rapport presenteras unders¨okningar av olika tekniker f¨or att identi-fiera personer i ett f¨orbest¨amt omr˚ade. RCWL-0516 radarmodul och kame-ra¨overvakning var metoder som unders¨oktes och testades. Distansm¨atningstest gjordes p˚a RCWL-0516, genom olika material och med k¨anslighetsmanipulering av modulen. Samtidigt s˚a testades olika bildanalysmetoder i samband med ka-mera¨overvakning. I resultatet kom vi fram till att video¨overvakning med bilda-nalys, till exempel You-Only-Look-Once-algoritmen (YOLO), var en bra l¨osning p˚a det presenterade problemet medan radarmodulen inte var lika l¨ampad. Nyckelord: RCWL-0156, Identifiering Av M¨anniskor, Bildanalys, YOLO, Risk-zon

(6)

orord

Vi skulle vilja tacka f¨oretaget vi gjorde detta arbete i samarbete med och ¨aven ett stort tack till v˚ar handledare Hans-Erik Eldermark fr˚an H¨ogskolan i Halm-stad f¨or all st¨od vi fick av honom.

Halmstad, 26/08/2019 ———————————– Fre. Arv. Sam. Aou.

(7)

Inneh˚

all

1 Inledning 1 1.1 Syfte . . . 1 1.2 Fr˚agest¨allningar . . . 2 1.3 Kravspecifikation . . . 2 2 Bakgrund 3 2.1 Problemst¨allning . . . 3 2.2 Overvakningstekniker¨ . . . 4 2.2.1 Dopplereffekt . . . 5 2.2.2 Infrar¨od . . . 5 2.2.3 Lidar . . . 6 2.2.4 Kameror . . . 6 2.3 Bildanalys . . . 7

2.3.1 Bakgrund-Subtraktion (Background Subtraction) . . . 7

2.3.2 Kantdetektion (Edge detection) . . . 7

2.3.3 Objektidentifiering (Object recognition) . . . 9

2.3.4 Haar Cascade . . . 12

3 Metoder 13 3.1 Sammanfattning . . . 13

3.2 Material . . . 13

3.3 Koppling och Experimentering . . . 14

3.3.1 Koppling . . . 14

3.3.2 RCWL-0516 Distansm¨atning . . . 15

3.3.3 RCWL-0516 Distansreglering . . . 16

3.4 Bildanalys . . . 18

3.4.1 Programmeringsspr˚ak . . . 18

3.4.2 Bakgrund-Subtraktion (Background Subtraction) . . . 18

3.4.3 Objektidentifiering (Object Recognition) . . . 19

3.4.4 Edge Detection . . . 19

3.4.5 Haar Cascade . . . 20

3.5 Skicka Styrsignal Till Externt System . . . 21

4 Resultat 23 4.1 RCWL-0516 . . . 23

4.2 VMA314 PIR . . . 25

4.3 Infrar¨od . . . 25

4.4 Bildanalys . . . 26

4.5 Utv¨ardering av Tekniker . . . 28

5 Slutsats 29 6 Diskussion 31 Referenser 32 7 Bilaga 35 7.1 RCWL-0516 Schematics . . . 35

7.2 Koden till Haar Cascade och Edge Detection . . . 36

7.3 Koden till Background Subtraction . . . 37

7.4 Koden f¨or Bluetooth Styrsignalen . . . 38

(8)

1

Inledning

Det har experimenterats med radar sedan 1886 vilket ledde till skapandet av RA-DARn (Radio Detection And Range) ˚ar 1935. Radar ¨ar ett ¨overvakningssystem som anv¨ander radio signaler och kan uppt¨acka str¨acka, vinkel och hastighet p˚a ett objekt. Idag s˚a anv¨ands det av milit¨aren, men ocks˚a i olika system f¨or att uppt¨acka objekt t.ex i automatiska d¨orrar eller f¨or att uppt¨acka turbulens i moln.

I detta projektet s˚a unders¨oks svagheterna samt m¨ojligheterna med RCWL-0516 dopplerradar i samband med s¨akerhets¨overvakning av arbetsplatser. And-ra ¨overvakningsmetoder och tekniker kommer ocks˚a unders¨okas f¨or att hitta den b¨asta m¨ojliga sensorkombinationen f¨or problemet. Olyckor p˚a arbetsplat-ser ¨ar inte ovanliga, 2018 var det 50 personer som miste livet som f¨oljd av en arbetsplatsolycka[1]. Vid f¨orflyttning av gods ¨ar det viktigt att inget g˚ar fel, men om en olycka skulle intr¨affa s˚a skall operat¨oren inte vara i en s˚adan position att hen uts¨atts f¨or risken att skadas. F¨or tillf¨allet finns inget system som varnar om f¨oraren befinner sig i en riskzon utan det ¨ar helt upp till denne att bed¨oma sin position som s¨aker.

1.1

Syfte

Syftet ¨ar att, ˚at ett f¨oretag som av konkurrenssk¨al inte vill synas, unders¨oka tek-niker f¨or att anv¨anda till ett persons¨akerhetssystem f¨or lastning av tungt gods. I f¨orsta hand kommer radarmodulen RCWL-0156 testas d˚a f¨oretaget ¨onskade detta.

(9)

1.2

Fr˚

agest¨

allningar

• Kan man reglera avst˚andet f¨or detektering dynamsikt p˚a RCWL-0516 modulen?

• Kan RCWL-0516 modulen urskilja personer fr˚an andra f¨orem˚al? • Vad f¨or sensorer kr¨avs f¨or att man ska kunna identifiera en m¨anniska? • Vad f¨or st¨orningar ¨ar de olika sensorerna k¨ansliga f¨or?

1.3

Kravspecifikation

• Systemet skall kunna identifiera en person i ett visst omr˚ade

• RCWL-0516 modulen ska inte st¨ora/st¨oras av andra utrustningar och skall vara kompatibla med frekvenserna: 2.4 GHz, 433 MHz, 434 MHz, 869MHz. • Signalerna skall vara p˚alitliga och repeterbara.

• Felmarginal p˚a ±50cm.

(10)

2

Bakgrund

¨

Overvakningssystem finns n¨astan ¨overallt f¨or att till exempel bevaka tillg˚angar (s˚a som hus eller lager). Sensorerna i dessa system uppt¨acker v¨armestr˚alning, r¨orelser eller tar in r¨orliga bilder via en optisk- eller termisk kamera. I ett vanligt hemlarm bevakas ytor med sensorer som uppt¨acker v¨arme, s˚a kallade PIR (Pas-siv Infrar¨oda)-sensorer. I hemmet eller p˚a ett lager kan man ha kompletterande kameror som s¨atts ig˚ang efter r¨orelser uppt¨ackts, dessa bilder skickas vidare och bed¨oms om det skall skickas v¨aktare eller dylikt. System f¨or att skydda personer fr˚an skador i arbetet finns, som till exempel tv˚ahandsgrepp f¨or att operat¨oren inte ska kunna vara i det farliga omr˚adet medan maskinen k¨ors, detta f¨orhindrar dock inte att andra personer ¨an operat¨oren befinner sig d¨ar. S˚a f¨or att skyd-da andra personer och operat¨oren vid en f¨orflyttning av tungt gods s˚a ville f¨oretaget hitta en l¨osning d¨ar ett system med hj¨alp av t.ex en radar uppt¨acker om personer befinner sig inom ett omr˚ade d¨ar hen uts¨atts f¨or en skadorisk om lasten av n˚agon anledning skulle lossna. Systemet skulle i det fallet skicka en styrsignal till systemet som styr kranarna och tillf¨alligt stoppa dessa tills dess att personen ¨ar utanf¨or omr˚adet.

2.1

Problemst¨

allning

Figur 1: Riskzon runt lastbil Med hj¨alp av ett s¨akerhetssystem

som stoppar maskinerna och varnar med en styrsignal, som skickas till ett externt system i situationer d¨ar operat¨oren uts¨atts f¨or skaderisker, se figur 1, hade antalet tillbud kun-nat minskas. ¨Ar en radarsensor ett bra alternativ i ett s˚adant system? Uppgiften ¨ar att unders¨oka en spe-cifik doppler-radar modul, RCWL-0516, f¨or att se hur l¨amplig den ¨ar att detektera personer i ett visst f¨alt, om

den har de egenskaper som efterfr˚agas och om det i s˚a fall g˚ar att anv¨anda denna teknik i ett s¨akerhetssystem.

RCWL-0516 ¨ar till sitt lilla pris en attraktiv modul, det g˚ar dock inte att hitta ett officiellt datablad f¨or modulen, f¨orutom det p˚a kinesiska. Detta har lett till att det finns en del entusiaster [2][3] som tagit sig tid att unders¨oka potentialen i den och skrivit ned en del information som anv¨ants som k¨alla till experimenten i rapporten.

Systemet kan komma att beh¨ova fler ¨an bara en typ av sensor f¨or att ¨oka tillf¨orlitligheten och precisionen av detektion. En m¨ojlig metod ¨ar att anv¨anda en termokamera eller en infrar¨od sensor (PIR). Det finns exempel p˚a hur man kan, med en termokamera, urskilja siluetten av en m¨anniska med hj¨alp av till exempel background subtraction”[4].

(11)

2.2

Overvakningstekniker

¨

Att anv¨anda sig av en modul ¨ar inte tillr¨ackligt f¨or att ha ett p˚alitligt s¨akerhetssystem. P˚a grund av det s˚a m˚aste andra metoder och tekniker unders¨okas f¨or att hitta den mest l¨ampliga sensorkombination.

F¨or varje sensor s˚a existerar f¨ordelar och nackdelar. Meningen med att kombi-nera sensorerna ¨ar att anv¨anda varje sensorsf¨ordel f¨or att tillverka ett effektivt s¨akerhetssystem som i sin tur har h¨ogre p˚alitlighet. Datakombinering kan h¨anda i fyra olika niv˚aer[5]:

• Signalniv˚a kombinering, d¨ar signalerna fr˚an olika sensorer ¨ar kombine-rade i en ny f¨orb¨attrad signal.

• Pixelniv˚a kombinering ¨ar genomf¨ort p˚a n antal bilder d¨ar dem kom-bineras en pixel i taget. Resultatet ¨ar en bild som ¨ar l¨attare att bearbeta under bildanalysfasen.

• Funktionsniv˚a kombinering, d¨ar olika viktiga funktioner fr˚an olika bi-omertriksa system ¨ar kombinerat med m˚alet att f¨orb¨attra noggrannhet p˚a igenk¨anning.

• Beslutniv˚a kombinering kombinerar information fr˚an mer abstrakta resultat fr˚an olika algoritmer f¨or att skapa ett slutligt beslut.

(12)

2.2.1 Dopplereffekt

Dopplereffekten ¨ar en f¨or¨andring i ljud-, ljus- eller v˚agfrekvens som uppst˚ar n¨ar en k¨alla r¨or sig mot eller ifr˚an ett m˚al [6]. Dopplereffekten g˚ar att dela in i tv˚a olika delar, Akustisk Dopplereffekt [7][8][9] och Relativistisk Doppleref-fekt.

N¨ar k¨allan eller mottagaren r¨or sig i f¨orh˚allande till ett medium som vatten eller luft ¨ar det den Akustiska Dopplereffekt som ¨ar aktuell. I ett l¨age d¨ar en observat¨or o r¨or sig mot eller ifr˚an en k¨alla, radarn r, i hastigheten Vo s˚a ¨ar frekvensen fo som observat¨oren uppfattar

fo= fr( Vc± Vo

Vc )

d¨ar fr ¨ar frekvensen som k¨allan skickar ut och Vc ¨ar ljudets hastighet, och d˚a blir dopplershiftet f : f = fo( Vc Vc∓ Vr ) ≡ f = fr( Vc± Vo Vc )( Vc Vc∓ Vr ) = fr( Vc± Vo Vc∓ Vr )

• Om observat¨oren flyttar sig mot k¨allan ¨ar V0positivt. • Om observat¨oren flyttar sig ifr˚an k¨allan ¨ar V0 negativt. • Om k¨allan flyttar sig ifr˚an observat¨oren ¨ar Vr positivt. • Om k¨allan flyttar sig ifr˚an observat¨oren ¨ar Vr positivt. 2.2.2 Infrar¨od

De m¨anskliga ¨ogonen kan se ljus som ligger inom v˚agl¨angderna 380-740 nm. Infrar¨ott ljus har en v˚agl¨angd som ¨ar st¨orre ¨an 740 nm och ¨ar upp till 1 mm. Infrar¨oda str˚alningar produceras n¨ar atomer och molekyler ¨ar i r¨orelse. Varje objekt som har en temperatur som ligger ¨over absoluta nollpunkten str˚alar i infrar¨ott. H¨ogre temperaturer p˚a ett objekt leder till att atomerna r¨or sig snabbare som i sin tur leder till kortare v˚agl¨angder p˚a ljuset.

Infrar¨oda sensorer ¨ar uppdelade i tv˚a kategorier, Aktiv IR och Passiv IR. Aktiv IR ¨ar en typ av sensor som s¨ander ut en infrar¨od str˚ale och m¨ater tiden det tar f¨or det reflekterade ljuset att komma tillbaka. Denna typ av sensor kan m¨ata distans. Passiv IR ¨ar en typ av sensor som endast m¨ater infrar¨ott ljus som den erh˚aller.

(13)

2.2.3 Lidar

Lidar st˚ar f¨or ”Light detection and ranging” och fungerar som en radar med laserljus. Laserstr˚alar skickas ut, studsar tillbaka och avst˚andet kan r¨aknas ut genom att m¨ata hur l˚ang tid det tar, se ekvation 1, d¨ar s st˚ar f¨or str¨acka (me-ter) till objektet, c st˚ar f¨or ljusets hastighet (meter/sekund) och t st˚ar f¨or tid (sekunder) det tar f¨or laserstr˚alen att komma tillbaka.

s = (c ∗ t)

2 (1)

Tekniken fungerar ¨aven p˚a gaser d˚a olika gaser reflekterar visst ljus och anv¨ands bland annat f¨or att m¨ata utsl¨app fr˚an vulkaner samt ¨overvakning av stra-tosf¨ariska ozonskiktet men ¨aven i bilar f¨or att uppt¨acka g˚angtrafikanter. F¨or att urskilja g˚angtrafikanter kan till exempel de karakt¨aristiska k¨annetecken samt vil-ka ljusv˚agor som reflekteras av en m¨anniska anv¨andas[10]. I en rapport fr˚an 2013 beskrivs det om hur man kan anv¨anda en flash-lidar i ett ¨overvakningssystem i vilket man ocks˚a uppt¨acker m¨anskliga drag p˚a ett objekt. I rapporten redovisas algoritmer f¨or att urskilja m¨anniskor med hj¨alp av data fr˚an radarn [11]. 2.2.4 Kameror

Kameror i ¨overvakningssystem ¨ar inte ovanliga. ¨Overvakningssystem som anv¨ander kameror med automatisk detektion av m¨anniskor ¨ar sv˚ara att hitta, de flesta larmar p˚a grund av r¨orelse i en viss yta. Fotoner tas in genom kameralinsen och l¨ases av en CMOS eller en CCD som omvandlar fotonerna till en digital sig-nal. I kombination med bildanalys, kan man identifiera m¨anniskor i en bild med tekniker som kantdetektion(edge detection), bakgrundsubtraktion (background subtraction) och objektidentifiering (object recogition). I ett arbete fr˚an 2007 [12] redovisas hur m¨anniskor uppt¨acks i en bild fr˚an en infrar¨od kamera med hj¨alp av algoritmer utformade att uppt¨acka g˚angtrafikanter.

(14)

2.3

Bildanalys

2.3.1 Bakgrund-Subtraktion (Background Subtraction)

Bakgrund-Subtraktion ¨ar en bildanalysmetod som j¨amf¨or olika bildrutor av sam-ma scen f¨or att uppt¨acka r¨orelse med hj¨alp av en statisk kamera. F¨or att meto-den ska fungera p˚a det mest optimala s¨attet, s˚a kr¨avs det att en av bildrutorna inte har r¨orlese i sig. Metoden subtraherar tv˚a olika bildrutor d¨ar resultatet ¨

ar r¨orelsen. I verkligheten s˚a ¨ar det sv˚arare att konstant f˚a en bildruta utan r¨orelse. F¨or att l¨osa det s˚a finns det olika metoder och algoritmer som ¨ar till att f˚a fram den b¨asta m¨ojliga j¨amf¨orelsen. Enligt Massimo Piccardis [13] al-goritmj¨amf¨orelse s˚a har ”Running Gaussian average”-algoritmen en acceptabel noggrannhet och har en l˚ag minnesanv¨andning. OpenCV har olika metoder f¨or bildanalys, bland dessa finns bakgrundssubtraktion. Metoderna inneh˚aller olika algoritmer som ”Guassian Mixture-based Background/Foreground Segmenta-tion Algorithm” som har h¨og precision med medel i minnes anv¨andning med en mellan hastighet, och en kombination av ” Statistical Background Image Esti-mation” med Per-pixel Bayesian Segmentation”[14] som ¨ar l¨atta att komma ˚at.

2.3.2 Kantdetektion (Edge detection)

Kantdetektion (Edge detection) ¨ar en teknik f¨or att skapa siluetter av objekt genom att hitta skillnaden i ljus, detta kan g¨oras med olika matematiska meto-der. F¨or att eliminera st¨orningar i en bild anv¨ands oftast gaussian filter f¨or att sedan r¨akna ut gradienten p˚a bilden f¨or att f˚a ut kanterna. Formel f¨or Gaussian filter i en 2D bild ¨ar f¨oljande:

G(x, y) = 1 2πσ2e

(x2+ y2 2σ2 ) D¨ar σ st˚ar f¨or standardavvikelsen.

Gradienten i en bild skrivs som:

∆f = [δf δx,

δf δy]

Tekniken anv¨ands i f¨orstadiet i bildanalys och har som uppgift att g¨ora bilden enklare s˚a att man sedan kan urskilja de delar i bilden som ¨ar intressanta, till exempel en person. Det finns befintliga algoritmer f¨or kantdetektion s˚a som can-ny, prewitt och roberts. Roberts och prewitt ¨ar metoder som liknar varandra i det m˚an att de b˚ada anv¨ander filtreringsmatriser (convolution masks) f¨or att sedan best¨amma gradienten. Roberts anv¨ander tv˚a stycken 2x2 matriser, figur 2b, medan prewitt anv¨ander 3x3, figur 2a. Dessa filter appliceras p˚a en hel bild genom att f¨orst multipliceras med en 3x3 matris f¨or att sedan flyttas pixelvis i x-led och y-led, som kan ses i figur 3. Canny skiljer sig fr˚an de tv˚a andra, den anv¨ander sig visserligen av en filtreringsmatris och ber¨akning av gradienten i de

(15)

f¨orsta stegen f¨or att sedan med hj¨alp av magnituden och riktningen av gradi-enten skapa skarpa och svaga kanter med en metod som kallas ”Non maximum suppression”. Efter detta s˚a fylls svaga kanter, som definieras av ett gr¨ansv¨arde, i om de gr¨ansar till en stark kant annars tas de bort [15]. I ett arbete om hur man kan f¨olja handr¨orelse i bilder fr˚an en ¨overvakningskamera har de anv¨ant kantdetektionsmetoden canny f¨or att f¨orfina siluetten av en person [16].

(a) Prewitt Filtreringsmatris (b) Roberts Filtreringsmatris

Figur 2: Filtreringsmatriser som anv¨ands i kantdetektionsmetoderna Prewitt och Roberts.

Figur 3: Visualisering p˚a hur prewitt’s filtreringsmatris fungerar. Den r¨oda 3x3 matrisen multipliceras med prewitt’s filtreringsmatris f¨or att r¨akna fram v¨ardet p˚a cellen med r¨od ram i resultatmatrisen. D¨ar negativa nummer blir svart, positiva blir vit och 0 blir gr˚a. I detta exempel ¨ar allts˚a inmatningsbilden en bild d¨ar halva sidan ¨ar gr˚a och andra halvan ¨ar vit. Resultatet blir en bild som ¨

ar gr˚a p˚a sidorna och vit i mitten. Denna vita del motsvarar kanten mellan gr˚a och vit i inmatningsbilden.

(16)

2.3.3 Objektidentifiering (Object recognition)

Tekniken objektidentifiering (Object recognition) ¨ar att en dator tr¨anas p˚a att identifiera objekt av en speciell karakt¨ar, till exempel m¨anniska, hund, cirklar med mera. F¨or att datorn ska kunna best¨amma vad det ¨ar f¨or ett objekt beh¨over den f¨orst tr¨anas p˚a f¨orbest¨amda objekt. Det finns exempel p˚a hur detta anv¨ands i system f¨or att uppt¨acka m¨anniskor [17]. R-CNN (Region Convolutional Neural Networks), fast-CNN (fast Region Convolutional Neural Network) och YOLO (You Only Look Once) ¨ar exempel p˚a metoder f¨or objektidentifiering. R-CNN skapades f¨or att, med hj¨alp av en selektiv s¨okalgoritm, begr¨ansa antalet regioner d¨ar objekt identifierats till omkring tv˚a tusen, till skillnad fr˚an ¨aldre metoder som var obegr¨ansade. Sedan skickas dessa regioner in i ett l¨ankat neuralt n¨atverk (Convolutional Neural Network) som klassfierar objekten efter de olika egenska-per de har. Detta ¨ar en l˚angsam metod som tar ungef¨ar 47 sekunder per bild [18]. Skaparen till R-CNN vidareutvecklade sin metod f¨or att den skulle bli snabbare, detta ledde till att fast-R-CNN skapades. Denna metoden ¨ar snabba-re eftersom ist¨allet f¨or tv˚atusen regioner matas in s˚a ¨ar det ist¨allet hela bilden som skickas till det l¨ankade neurala n¨atverket som best¨ammer omr˚aden d¨ar det finns objekt. Efter det s˚a klassificeras objekten i omr˚adena p˚a samma s¨att som i R-CNN. Denna metoden ¨ar betydligt snabbare ¨an sin f¨oreg˚angare och hanterar en bild p˚a cirka 2 sekunder. Men i detta arbete valdes en ¨annu snabbare metod, YOLO, f¨or att kunna bevaka en ”farlig zon” i realtid, allts˚a kunna hantera mer ¨

an 30 bilder per sekund.

YOLO ¨ar en metod som b¨orjade utvecklas 2015-2016 av Joseph Redmon, San-tosh Divvala, Ross Girshick och Ali Farhadi [19]. Deras m˚al var att ¨oka has-tigheten f¨or objektidentifiering samtidigt som ett h¨ogt medelv¨arde f¨or precision (mean average precison, (mAP)) skulle bibeh˚allas.

F¨or att r¨akna ut mAP, ekvation 2, beh¨ovs f¨orst AP (Average precision, genom-snittlig presicion) r¨aknas ut, ekvation 3. Detta r¨aknas ut med hj¨alp av precision, ekvation 5, som ¨ar ett m˚att p˚a hur bra datorn ¨ar p˚a att gissa r¨att klass, och ˚aterkallelse (recall), ekvation 4, som ¨ar ett m˚att p˚a hur k¨anslig datorn ¨ar. Dessa tv˚a m˚atten ber¨aknas med hur bra datorn har presterat n¨ar den ”hittat” objekt. Sann Positiv betyder att datorn har lyckats klassificera ett objekt r¨att, Sann Negativ betyder att datorn inte identifierat ett objekt fel, med Falsk Positiv menas att datorn har klassificerat ett objekt fel och Falsk Negativ ¨ar att datorn misslyckats att identifiera ett objekt i bilden.

(17)

Dessa i sin tur r¨aknar man ut genom att r¨akna IoU(Intersection over union) vilket betyder ¨overlappning av omr˚aden. Detta g¨ors enkelt genom att dividera arean av ¨overlappningen med den totala arean av omr˚adena, figur 4, sedan beh¨ovs ett gr¨ansv¨arde p˚a IoU f¨or att best¨amma om det ¨ar en Sann positiv eller Falsk Positiv. Gr¨ansv¨ardet av Sann Positiv ¨ar oftast IoU≥0.5, allts˚a att den gemensamma arean ¨ar mer ¨an h¨alften av den totala arean av de tv˚a omr˚aden och v¨ardet p˚a Falsk positiv definieras som IoU< 0.5.

Figur 4: Ber¨akning p˚a ¨overlappning av f¨orutsp˚att objekt och bekr¨aftade objektet

mAP (M ean Average P recision) = 1 N N X i=1 APi (2) AP (Average P recision) = Z 1 0 p(r)dr (3) ˚ Aterkallelse(Recall)(r) = SP SP + F N (4) P recision(p) = SP SP + F P (5)

SP = Sann P ositiv F P = F alsk P ositiv SN = Sann N egativ F N = F alsk N egativ

(18)

Till skillnad fr˚an de regionbaserade(R-CNN) objektdetektionsmetoderna s˚a best¨ammer inte YOLO intressanta omr˚aden f¨ore den klassificerar ett objekt. YOLO funkar p˚a f¨oljande vis:

• Bilden delas upp i ett rutn¨at som ¨ar SxS stort.

• Den f¨orutsp˚ar B antal rektanglar per cell med en konfidenspo¨ang. Konfi-denspo¨angen r¨aknas ut med f¨oljande formel:

Konf idens = Sannolikhet(objekt) ∗ IOU (Se ovan, f igur 4) (6) d¨ar Sannolikhet(objekt) ¨ar sannolikheten att objektet den analyserar ¨ar samma som programmets gissning.

• Varje f¨orutsp˚add rektangel inneh˚aller x och y koordinaterna f¨or mitten p˚a rektangeln samt bredd, h¨ojd och konfidenspo¨angen f¨or vilket objekt algoritmen f¨orutsp˚ar.

• Den utf¨or ett ber¨aknat val av en grupp p˚a C antal klasser som programmet ¨

ar upptr¨anad p˚a.

• Resultatet blir en S x S x (B*5+C) matris som best¨ammer vad det ¨ar f¨or objekt och var det ¨ar positionerat.

Figur 5: Hur YOLO fungerar, Bildk¨alla: [19]

Skaparna till YOLO visar i sin rapport [19] att YO-LO uppn˚ar en mAP (mean average precision) p˚a 63, 4% samtidigt som den klarar 45 FPS (frames per second). De-ras andra version, Fast YO-LO, har en mAp p˚a 52, 7% med 155 FPS. De visar att deras metod, YOLO, ¨ar ¨

overl¨agsen n¨ar det g¨aller att identifiera ett objekt i real-tid j¨amf¨ort med andra me-toder. ¨Aven om YOLO inte har h¨ogst mAP av metoder-na som den j¨amf¨ors med s˚a klarar inte de metoder som har h¨oga mAP av kravet p˚a att klara g¨ora det i realtid(≥ 30 FPS). Olika versioner av R-CNN har en mAP p˚a 53, 5 − 73, 2% men med max 18 FPS.

Rapporten ”Object Detection in sports videos” [20] redovisar att YOLO preste-rar mycket bra och har en precision p˚a ¨over 90%, n¨astan likv¨ardigt som metoden Mask R-CNN, vilket ¨ar f¨orst˚aeligt d˚a dessa metoderna ¨ar v¨aldigt lika.

(19)

Figur 6: J¨amf¨orelse av metoder, v¨arden fr˚an [21] I ett arbete av Chengtao

Cai, Boyu Wang och Xin Li-ang [21] s˚a unders¨oktes vil-ken bildanalysmetod som pas-sar bra f¨or ett larmsystem i hemmet. Systemet skulle kun-na identifiera en person i real-tid, l˚ag uppl¨osning och d˚aligt ljus vilket skulle kunna va-ra j¨amf¨orbart med milj¨on f¨or ¨

overvakningssystemet i detta arbete. De utf¨orde experiment och j¨amf¨orde de tre metoder-na: YOLO, Fast R-CNN och template matching. I deras

re-sultat, figur 6, redovisas att Fast R-CNN hade en mycket bra noggranhet i iden-tifiering av personer men att metoden inte n˚ar upp till identifiering i realtid d˚a den endast kom upp i 20 fps (frames per second (bilder per sekund)). Meto-den template matching d¨aremot klarade hela 90 fps men var betydligt s¨amre i identifiering av objekt, speciellt i m¨ork milj¨o, och hade bara en noggranhet p˚a 50%. S˚a med en noggranhet p˚a 85% och en hastighet p˚a cirka 45 FPS s˚a valdes YOLO till metoden f¨or deras ¨overvakningssystem.

2.3.4 Haar Cascade

Figur 7: Haar Cascade Rektanglar Haar Cascade ¨ar en djupinl¨arningsmetod

utvecklad av Paul Vigeniola och Michael Jones [22] f¨or ansiktsi-genk¨anning. Djupinl¨arning ¨ar en artificiellintelligens-teknik som ¨ar ska-pad f¨or att imitera hj¨arnan p˚a att l¨ara sig k¨anna igen olika objekt genom att tills¨atta programmet till olika bilder och villkor. Haar Cascade ¨ar v¨aldigt effektiv p˚a bildbehandling och ¨ar ut-vecklad ˚ar 2004 men anv¨ands fort-farande i dagens teknologi. Metoden b¨orjar med att omvandla bilden till en gr˚askalabild och sedan g¨or om den till n˚agot som kallas integrerad bild. Pixlarna i bilden kallas f¨or

integrera-de pixlar och integrera-deras position (x : y) ¨ar summan av alla pixelintensiteter ¨over och till v¨anster om den, detta leder till en snabbare ber¨akning med anv¨andning av rektangelfunktioner (Kantfunktion, Radfunktion, Fyra Rektangelfunktion) se figur 7.

(20)

3

Metoder

3.1

Sammanfattning

I detta kapitel visas experimenten med RCWL-0516, kapitel 3.2 och 3.3, samt hur passiv infrar¨od (PIR) sensor, kapitel 4.2 och bildanalys, kapitel 3.4 fungerar.

3.2

Material

Radarn ska anv¨andas f¨or s¨akerhet och f¨or denna anledningen s˚a skulle den testas i olika scenarier och d˚a m˚aste resultat kunna ˚aterskapas varje g˚ang med lite till ingen fel marginaler.

Huvudmaterialet som kr¨avs ¨ar f¨oljande:

• 0516 Radar: En mini dopplerradarsensor, med ett inbyggt RCWL-9196 chipp.

• Arduino Uno: Ett mikrokontrollerkort kr¨avs f¨or att underl¨atta analysen och testerna av radarn. Valet av mikrokontrollerkortet spelar inte n˚agon stor roll s˚a l¨ange den kan leverera en sp¨anning p˚a 5V.

• LED Lampa.

• Arduino IDE mjukvara: Arduinos egna mjukvara, underl¨attar program-mering av mikrokontrollerkortet.

Sidomaterial f¨or testningen som kr¨avs ¨ar f¨oljande: • Plastl˚ada

• Tr¨al˚ada • L¨askburk • Batteri

• Aluminiumfolie

• L¨odpenna och L¨odtenn

• M¨atinstrument: Oscilloskop(I testerna anv¨andes InfiniiVision DSOX2002A och Siglent SDS1102CML), Tumstock

(21)

3.3

Koppling och Experimentering

3.3.1 Koppling

RCWL-0516 ¨ar en radarmodul som best˚ar av 5 pins:

Pin Function

3v3 3.3V regulated output. Max 100mA (?)

GND Ground

OUT Trigger: high (3.3V) if motion detected. 0V normally.

VIN 4 - 28V supply voltage

CDS LDR 10-20k RL, U LDR >0.7V = On [2]

Radarn har fler funktioner som man kan komma ˚at genom att l¨oda en kabel p˚a modulen. Unders¨okning av databladet visade att RCWL-9196 chippet hade tv˚a analoga outputs, Pin-12 och Pin-16 se bilaga 7.1 [2], som anv¨andes f¨or att kontrollera digitala signalen. Kabell¨odning beh¨ovs p˚a respektive pin f¨or att komma ˚at informationen fr˚an outputen.

Figur 8: Koppling

Kopplingen av radarn och LED var f¨oljande, se figur 8:

• 5V fr˚an Arduinon till radarns VIN Pin, r¨oda kabeln.

• GND Pin fr˚an adruinon till ra-darns GND Pin, bl˚aa kabeln. • Pin 2 p˚a Arduinon till radarns

OUT Pin, gr˚aa kabeln.

• LED lampan till Pin 8 en 100Ω resistor och till GND Pin.

(22)

3.3.2 RCWL-0516 Distansm¨atning ¨

Onskem˚alet fr˚an f¨oretaget var att radarmodulen skall klara av att detektera personer p˚a en distans upp till cirka 7 meter och att den ska vara konsistent i resultatet.

Utf¨orande: RCWL-0516 kopplas tillsammans med en LED p˚a en kopplingsplat-ta till en arduino UNO, se avsnitt 3.3.1. Pin 12 p˚a RCWL-9196 och den digitala outputen fr˚an RCWL-0516 kopplas till ett oscilloskop f¨or kontroll av resultat. Ett enkelt testprogram programmerades som t¨ander LED n¨ar radarns digitala output blir h¨og, vilket inneb¨ar att r¨orelse har blivit observerad. Distansen f¨or detektion noteras och testet upprepas f¨or att sedan kunna ta ett medelv¨arde f¨or l¨angden. Se resultatet av m¨atningarna i figur 15 och 16 avsnitt 4.1.

Eftersom radarmodulen beh¨over ett skyddsh¨olje i slutprodukten s˚a beh¨ovs det testas hur olika material p˚averkar detektionsf¨orm˚agan, se figur 9, och vilket som blir l¨ampligast att anv¨anda vid konstruktionen av produkten. K¨ansligheten p˚a radarn m¨attes d˚a den var i en 20mm tjock tr¨al˚ada, i en 2mm tjock plastl˚ada, samt i en aluminium burk och slutligen framf¨or en konkavformade aluminium-folie f¨or att rikta str˚alningen i ett f¨ors¨ok att ¨oka detektionsf¨orm˚agan.

(a) Modulen ¨ar i en l¨askburk som ¨ar ¨oppen p˚a ena sidan och t¨akt med aluminium folie p˚a den andra

(b) Modulen ¨ar i en tr¨al˚ada med tjocklek av 20mm

(c) Modulen ¨ar i en plastl˚ada med tjocklek av 2mm

Figur 9: I figuren har man satt RCWL-0516 modulen i olika material f¨or att m¨ata hur distansen f¨or¨andras i de olika medium.

(23)

3.3.3 RCWL-0516 Distansreglering

I dokumentation av radarn[2] finns det f¨orklarat att man kan l¨agga till en 1MΩ resistor p˚a R-GN p˚a modulens baksida, f¨or att minska detektionsl¨angden fr˚an 7 meter till 5 meter. Detta leder dock till permanent modifiering av modulen och blir inte dynamiskt. Ett mer effektivt s¨att att begr¨ansa distansen ¨ar att g¨ora det med mjukvara. Som Roger Clark[3] n¨amner i sin slutsats vid unders¨okning av modulen, borde det fungera att best¨amma sj¨alv, med hj¨alp av outputen fr˚an Pin 12 p˚a RCWL-9196, vid vilka v¨arden det ska signalera f¨or detektion. Notera att detta inte ¨andrar den digitala outputen fr˚an radarmodulen.

Utf¨orande:

Fysisktmotst˚and: Ett motst˚and p˚a 1MΩ l¨oddes fast p˚a R-GN p˚a modulens baksida, d¨arefter utf¨ordes ett likadant test som utf¨ordes i distansm¨atning utan begr¨ansning, se kapitel 3.3.2. D¨arefter j¨amf¨ordes dessa resultat.

Mjukvara: En kabel kopplas mellan Pin 12 fr˚an RCWL-9196 till en analog port p˚a arduino. D¨arefter l¨ases detta v¨arde av och om det ¨ar utanf¨or ¨onskat intervall s˚a skickas en signal om detektion (lampan t¨ands). Intervallet ¨andras och distansen noteras vid detektion.

Figur 10: Simulerad data f¨or utsignalen fr˚an pin 12 och ungef¨arligt avst˚and f¨or detektion vid de olika gr¨ansv¨ardena.

Med hj¨alp av oscilloskopet uppt¨acktes att utsignalen fr˚an Pin 12 p˚a RCWL-9196 kun-de ligga mellan cirka 1.0 och 2.4V utan att mo-dulen ¨andrade den digita-la utsignalen till h¨og. Utan r¨orelser i n¨arheten av modu-len l˚ag utsignalen p˚a cirka 1.7V, vilket blir steadystate-v¨ardet med ett gr¨ansv¨arde p˚a ± 700 mV, se figur 10.

(24)

K¨ansligheten som testades var 1,4V(Det f¨orinst¨allda i modulen), 1V, 0,8V och 0,7V. Detta ¨andrades manuellt i koden, se figur 11. Med de nya k¨anslighetsgr¨anserna utf¨ordes det nya distansm¨atningar. Det testades n¨ar man gick mot modulen, n¨ar man gjorde stora r¨orelse framf¨or modulen och n¨ar man stod still sen gick bak˚at ifr˚an modulen. Testet utf¨ordes fem g˚anger per storlek p˚a gr¨ansv¨ardet och sedan togs medelv¨ardet fram, se figur 15 och 16 i avsnitt 4.1.

Koden f¨or att testa k¨anslighetsgr¨anserna

setup(){

float steady = 1.7;

float thresh;

float lowerL;

float upperL;

thresh = 1.4; //Default = 1.4, korrigeras efterhand i testningen

lowerL = steady - thresh/2; upperL = steady + thresh/2; }

loop(){

if(pin12 >= upperL || pin12 <= lowerL){ digitalWrite(LED, HIGH); delay(3000); } else{ digitalWrite(LED,LOW); } }

Figur 11: Kod som t¨ander en lampa om utsignalen fr˚an pin 12 ligger utanf¨or gr¨ansv¨ardena. Variabeln thresh ¨andrades manuellt i testningen.

(25)

3.4

Bildanalys

3.4.1 Programmeringsspr˚ak

Som programmeringsspr˚ak f¨or att testa bakgrund-subtraktion valdes Python, detta f¨or att biblioteket OpenCV verkade l¨attanv¨ant i kombination med det. 3.4.2 Bakgrund-Subtraktion (Background Subtraction)

Med anv¨andning av Gaussian Mixture-Based Background/Foreground Segmen-tation algoritmen, som har h¨og precision med mellan minnes anv¨andning och hastighet, s˚a skrev man en kod som tar in en bild/video som en input:

Koden f¨or Bakgrund-Subtraktion import cv2 import numpy as np cap = cv2.VideoCapture(0) backS = cv2.createBackgroundSubtractorMOG2() kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3)) while True:

re, frame = cap.read() result = backS.apply(frame)

cv2.morphologyEX(result, cv2.MORPH_OPEN, kernel) cv2.imshow(’Frame’, frame)

cv2.imshow(’FG Mask’, result) exit = cv2.waitKey(30) & 0xff

if k == 27:

break

cap.release()

cv2.destroyAllWindows()

• createBackgroundSubtractorMOG2() [23] ¨ar en metod som skapar en in-stans av klassen BackgroundSubtractorMOG2. Den till˚ater anv¨andningen av Gaussian Mixture-Based Background/Foreground Segmentation[13] som algoritm.

• getStructuringElement(int shape, Size ksize) [24] ¨ar en metod som best¨ammer formen och storleken av pixlarna i resultatet.

• apply(InputArray src) utf¨or bakgrund-subtraktion p˚a input bilden med anv¨andning av Gaussian Mixture-Based Background/Foreground Segmen-tation algoritmen.

(26)

• morphologyEX(InputArray src, int op, InputArray kernel) [25] g¨or en mor-fologisk operation op p˚a input bilden src, till exempel utvigning (Dilation) som ¨okar ljusstyrkan p˚a ljusa pixlar och s¨anker ljusstyrkan p˚a de m¨orka medan Erosion ¨okar ljusstyrkan p˚a de m¨orka pixlar och s¨anker ljusstyr-kan p˚a de ljusa. OPEN och CLOSE ¨ar en kombination av Dilation och Erosion d¨ar OPEN utf¨or Erosion f¨orst f¨oljd av Dilation och CLOSE ¨ar Dilation f¨oljd av Erosion.

3.4.3 Objektidentifiering (Object Recognition)

Metoden som valdes f¨or unders¨okning av objektidentifiering var YOLO, ”you only look once”, som ¨ar en snabb och tr¨affs¨aker igenk¨anningsmetod [19]. Denna metoden implementerades i python med hj¨alp av biblioteket OpenCV. F¨or att anv¨anda YOLO s˚a beh¨ovs ett artificiellt neuron¨at (neural network) tr¨anas upp s˚a det k¨anner igen objekt. I detta arbete har det tr¨anats med en f¨ardig konfigu-ration [26] och vikter [27] som ¨ar fr˚an skaparen till YOLO och ¨ar open-source. Om ett objekt blir igenk¨and av programmet, med en s¨akerhet p˚a ¨over 50%, bil-das en rektangel med en text vid det f¨or identifiera vad f¨or objekt det ¨ar, se figur 22a. Eftersom systemet endast skall k¨anna igen personer s˚a utesl¨ots alla andra objekt i algoritmen. F¨or att simulera problemet som skulle l¨osas sattes ett visst omr˚ade i kamerans synf¨alt till ”farligt omr˚ade” och om en person identifieras inom detta omr˚ade blir dess rektangel r¨od annars blir den gr¨on, se figur 22b. Detta kan j¨amf¨oras med ett arbete[28] fr˚an 2017 d¨ar f¨orfattarna vidarutvecklade YOLO s˚a att den skulle bli snabbare och mer effektiv p˚a att urskilja personer f¨or att r¨akna de som passerat ett markerat omr˚ade.

3.4.4 Edge Detection

F¨or denna metoden OpenCV ”Canny Algoritmen” f¨or anv¨andning. Metoden ¨

ar Canny(InputArray image, double threshold1, double threshold2) d¨ar image ¨

ar bilden man vill modifiera och threshold 1 och 2 best¨ammer k¨ansligheten av algoritmen.

(27)

3.4.5 Haar Cascade

Med hj¨alp av datan samlad under djupinl¨arningsprocessen l¨agger programmet de olika rektangelfunktioner p˚a gr˚askalabilden och subtraherar summan av pix-larna av den svarta sidan med den vita sidan.

Figur 12: Den f¨orsta och den andra funktionen som valts var kantfunktion och radfunktion. Den f¨orsta funktionen m¨ater skillnaden i intensitet mellan ¨

ogonregion och en region ¨over de ¨ovre kinderna. Funktionen utnyttjar obser-vationen att ¨ogonregionen ¨ar ofta m¨orkare ¨an kinderna. Den andra funktionen j¨amf¨or intensiteterna i ¨ogonregionerna till intensiteten ¨over hela n¨asrygg. F¨or Haar Cascade beh¨ovdes det olika klassifierare (classifiers) som man kan hit-tade p˚a GitHub [29] f¨or de olika edge features. En bild tas in som en input och omvandlas till en gr˚askala med cvtColor(InputArray img, COLOR BGR2GRAY) d¨ar img ¨ar bilden f¨or att underl¨atta f¨or algoritmen. Algoritmen senare j¨amf¨or de olika pixlarna p˚a bilden och kollar om vilkoren till ”Edge Features”¨ar upp-fylda, om alla rektangelfunktionerna passera, figur 7, d˚a vet man att ett ansikte hittades. I figur 20 p˚a avsnitt 4.4 s˚a ser man ett test p˚a Edge Detection och Haar Cascade.

(28)

3.5

Skicka Styrsignal Till Externt System

F¨or att skicka en styrsignal vid detektion med objektidentifiering anv¨andes en bluetooth-anslutning fr˚an datorn till en bluetoothmodul (HC-06), kopplad till en arduino, p˚a en kopplingsplatta med en lampa som indikator f¨or detektion. Arduinon har str¨omf¨ors¨orjning fr˚an en powerbank. I avsnitt 7.4 kan man se hur koden f¨or anslutning till modulen samt kommunikationen till arduinon ser ut.

(29)
(30)

4

Resultat

4.1

RCWL-0516

Testerna av RCWL-0516 modulen i olika material visade att r¨ackvidden p˚averkades mycket negativt i en tr¨al˚ada. Vid testning med aluminiumburken och en para-bol gjord av aluminiumfolie ¨okade r¨ackvidden framf¨or n˚agot men inte avsev¨art. Enligt information [2] om modulen s˚a har RCWL-0516 360◦detektionsf¨alt och det ¨ar d¨arf¨or detektions f¨orm˚agan p˚a alla sidor testas. Modulen har 4 sidor som anv¨andes under testningen, se figur 14:

(a) Framsida (b) Baksida (c) Sidor

Figur 14: Sidorna som testas Modulen RCWL-0516

Enligt resultatet nedan, figur 15 och 16, uppt¨acks att modulen har en ”stark” sida, framsida och baksida p˚a modulen, och en ”svag” sida, sidorna p˚a

modulen.

Figur 15: Resultat av f¨ors¨oket att ut¨oka distansen f¨or detektion genom att rikta radiov˚agorna med hj¨alp av aluminiumf¨orem˚al.

(31)

Figur 16: Resultatet f¨or distansm¨atningen genom plast och tr¨a.

N¨ar man ¨andrar k¨ansligheten p˚a modulen, graf 17 i kapitel 3.3.3, ser man att detektionsl¨angden inte ¨andras avsev¨art n¨ar man ¨andrar gr¨ansv¨ardet mellan 1,4 och 1 volt. Sedan, mellan 1 och 0,8 volt blir en liten ¨okning och 7 meter uppn˚as vid st˚aende r¨orelser och n¨ar en person g˚ar fr˚an ett stillast˚aende tillst˚and till att g¨ora r¨orelser. N¨ar gr¨ansv¨ardet (thresholden) s¨anks till 0,7 volt g˚ar det inte l¨angre vara i n¨arheten av modulen utan att utsignalen fr˚an Pin 12 ¨ar utanf¨or gr¨ansv¨ardena och det signalerar f¨or detektion. Detta ¨ar ¨aven anledningen till att v¨ardet f¨or ”Fr˚an stillast˚aende till r¨orelser” saknas f¨or detta gr¨ansv¨ardet, det saknades utrymme till att g¨ora testet.

Figur 17: Resultatet f¨or distansm¨atningen med ¨andrad k¨anslighet

(32)

4.2

VMA314 PIR

(a) VMA314 Sensor (b) VMA314 Baksida

Figur 18: PIR sensor

Samma tester utf¨ordes p˚a PIR sensorn resultat som RCWL-0516. PIR sensorn har en 120◦detektions omr˚ade som str¨acker sig upp till 7 meter. Sensorn skickar ut en signal n¨ar ett r¨orelse detekteras och kan uppt¨acka b˚ade m¨anniskor och objekt, men den ¨ar mindre k¨ansligt mot objekt. P˚a modulen s˚a sitter tv˚a po-tentiometer som styr f¨ordr¨ojningen p˚a hur l˚ang tid signalen ¨ar h¨og och en som styr r¨orlsek¨ansligheten se figur 18.

4.3

Infrar¨

od

Med anv¨andning av bilderna fr˚an en termisk IR kamera, figur 19b, i kombination med bildanalys som till exempel Haar-Cascade s˚a kan man k¨anna igen m¨anniskor med h¨og precision. Datan kan ge fel resultat n¨ar en person st˚ar i n¨arheten av en spegel eller en v¨agg, d˚a kommer sensorn k¨anna tv˚a personer ist¨allet f¨or en p˚a grund av reflektion [30].

(a) Bild med en CMOS mo-bilkamera

(b) Bild med en IR-kamera

Figur 19: Med hj¨alp av en IR kamera s˚a kan man m¨ata h¨oga och l˚aga tempera-turer och anv¨anda den datan f¨or att f˚a reda p˚a om det ¨ar en m¨anniska. F¨argerna ¨

(33)

4.4

Bildanalys

Vid testning att identifiera personer med Haar-cascade i avsnitt 3.4.5 kunde personers ansikte och ¨ogon detekteras, men med de klassifierare som anv¨andes f¨or ¨ogon och ansikte i detta arbete detekteras ofta fel. F¨ors¨ok att detekte-ra ¨overkropp lyckades inte. Canny algoritmen f¨or edge detection eliminerar st¨orningar och skapar silhuetter av objekt i bilden som sedan med hj¨alp av objektdetektering kan klassificeras, se figur 20.

Figur 20: f.h: Omodifierad bild, bild med applicerat canny-filter, ¨ogon- och an-siktsingek¨anning med Haar-cascade

Med bakgrund-subtraktion, figur 21, kan man uppt¨acka r¨orelse men det kr¨aver bildanalys f¨or att identifiera om r¨orelsen tillh¨or en m¨anniska.

Figur 21: Ett bakgrund-subtraktionstest d¨ar Fredrik flyttar sig in i bilden.

(34)

Resultatet fr˚an testerna av objektidentifiering visade att det ¨ar m¨ojligt att iden-tifiera ett objekt i en bild med hj¨alp av bildanalysmetoden YOLO22a. Det g˚ar ¨

aven att f˚a ut personens position i bilden och p˚a s˚a vis best¨amma om hen be-finner sig i ett ”farligt omr˚ade” 22b. Vid en unders¨okning, se stycke 3.4.3, av vad andra personer anv¨ander f¨or tekniker vid objektidentifiering s˚a kunde det konstateras att YOLO var en mycket effektiv metod vid ¨overvakning i realtid.

(a) Objektidentifiering (b) Simulering av ”farlig zon”.

(35)

4.5

Utv¨

ardering av Tekniker

Efter unders¨okningen s˚a uppt¨acktes att RCWL-0516 har en bra r¨ackvidd, ¨ar billig och har en bra genomtr¨angning, men den misslyckas med att identifiera m¨anniskor med objekt som g¨or den oanv¨andbar. D¨arf¨or fick andra sensorer, termiskkamera eller LIDAR, unders¨okas f¨or att se om de kan uppfylla kraven som st¨alldes. Om man vill ha h¨ogre precision ¨ar bildanalys en dyrare men en b¨attre l¨osning. Sensorerna ska j¨amf¨oras med varandra f¨or att v¨alja vilken som ¨

ar l¨ampligast f¨or uppfylla kravet p˚a att ¨overvaka en arbetsplats.

F¨or att g¨ora det s˚a skapade man ett betygssystem som baserar sig p˚a behovet av de olika funktioner per modul. Graderingen r¨aknades med hj¨alp av denna funktionen Sensorbetyg= n X i=1 xiai d¨ar x ¨ar vikten och a ¨ar betyget.

Funktionerna som ska betygs¨attas f¨or sensorn ¨ar:

• R¨ackvidden p˚a sensorn ¨ar hur l˚angt detektionsavst˚andet ¨ar.

• Dynamisk R¨ackvidd ¨ar ifall det g˚ar att ¨andra detektionsavst˚andet i realtid.

• Genomtr¨angning ¨ar hur bra sensorn kan detektera genom olika material. • Urskilja F¨orem˚al ¨ar hur bra sensorn kan urskilja mellan m¨anniskor och

objekt.

• Kostnad ¨ar hur billig sensorn ¨ar (H¨ogre v¨arde = Billigare).

• Precision ¨ar hur l¨att sensorsignalen kan p˚averkas av omgivningen (H¨ogre v¨arde = H¨ogre Precision).

Tabell 1: Resultat p˚a Utv¨arderingsmatris:

Som vi ser i tabell 1 s˚a ¨ar b˚ade LIDAR och en Optiskkamera med bildanalys bra kandidater f¨or l¨osa problemet med att uppt¨acka en person i en farlig zon. Vikten g˚ar att ¨andra fritt beroende p˚a vilken funktion man vill prioritera mest.

(36)

5

Slutsats

Efter unders¨okningar av olika metoder och experimentering med RCWL-0516 modulen och VMA314 PIR sensor drogs det slutsatsen att det inte g˚ar att l¨osa ¨

overvakningsproblemet med endast enkla sensorer. ¨

Aven om man kunde reglerar avst˚andet dynamiskt p˚a RCWL-0516 modulen, avsnitt 4.1, l¨ampar den sig inte som en givare p˚a en s˚adan plats d¨ar det kan f¨orekomma andra r¨orliga objekt men skulle kunna vara ett alternativ om det ¨ar s˚a om det endast r¨or sig personer vid ett omr˚ade och man kan filtrera de vib-rationer som st¨or modulen. I f¨ors¨oken att ut¨oka detektionsl¨angden med hj¨alp av metall, i form av aluminiumburk och en parabol gjord av aluminiumfolie, s˚a drogs slutsatsen att distansen ¨okade n˚agot men inte avsev¨art, vilket g˚ar att utl¨asa fr˚an figur 15. Fr˚an resultaten i figur 16 var slutsatsen att detek-tionsf¨orm˚agan begr¨ansades n˚agot men ej avsev¨art av plast men ganska mycket av tr¨a. Eftersom RCWL-0516 modulen utesl¨ots fr˚an valen av anv¨andbara sen-sorer f¨or m¨anniskoigenk¨anning, s˚a utf¨ordes det inga frekvensst¨orningstester p˚a den. RCWL-0516 har inget CE-certifikat, d¨arf¨or kan det vara sv˚art att f˚a ett system godk¨ant d˚a man ej vet om n¨asta batch av modulen klarar ett nytt CE-test. VMA314 PIR sensor gav samma resultat som RCWL-0516 modulen men med mindre k¨anslighet mot objekt under en viss temperatur, och med bara ett 120◦synf¨alt.

F¨or att uppt¨acka m¨anniskor p˚a ett p˚alitligt s¨att s˚a ¨ar en kombination av en CMOS kamera med n˚agon form av bildanalys rekommenderad enligt 4.5. Med anv¨andning av objektidentifierings-metoden YOLO s˚a kan man med h¨og pre-cision identifiera en m¨anniska i ett f¨orbest¨amt omr˚ade. YOLO ¨ar en prestanda kr¨avande metod och det ¨ar d¨af¨or en kombination med bakgrund-subtraktion eller en termisk-kamera ett bra val. Metodernas uppgift ¨ar att identifiera r¨orelse i omr˚adet, och skicka en signal till YOLO att b¨orja k¨ora, det vill s¨aga att YOLO k¨ors bara n¨ar man beh¨over att identifiera typen av r¨orelsen. Bilderna som tas av CMOS kameran kommer inte lagras, datan i bilden kommer endast anv¨andas under identifieringsprocessen och sedan tas bort fr˚an minnet.

(37)
(38)

6

Diskussion

Vidare i ¨amnet beh¨ovs det unders¨okas hur man skulle kombinera olika sensorer f¨or att t¨acka alla de farliga zonerna p˚a ett p˚alitligt s¨att. Kameror med bildanalys ¨

ar ett bra s¨att men det finns risker att ¨overvakningen kan bli blockerad av olika objekt eller st¨ord av v¨ader och kan d¨arf¨or beh¨ova kompletteras. Om systemet skall anv¨andas i milj¨oer med begr¨ansat ljus s˚a kan problem uppst˚a med vanlig kamera och d˚a skulle en termisk kamera med bildanalys passat b¨attre. Som [30] och [31] visar g˚ar det utm¨arkt att identifiera en person ur en bild fr˚an en termisk kamera med hj¨alp av Haar-Cascade metoden. I ett arbete fr˚an 2005 [32] s˚a redovisas dock ett system som kan, i svagt ljus, uppt¨acka personer i en best¨amd zon med vanlig optisk kamera. Detta g¨ors med backgroundsubtraction och sedan kan personer uppt¨ackas med hj¨alp av klassifiering. Det kan ocks˚a diskuteras om i fall bildanalys anv¨ands som metod om andra objekt ocks˚a ska detekteras, som till exempel gaffeltruckar med f¨orare d¨ar m¨anniskor ocks˚a s¨atts i fara om de befinner sig i det riskfyllda omr˚adet under lastning. I detta arbetet drog slutsatsen att radarmodulen RCWL-0516 inte var s¨arskilt l¨ampad f¨or problemet med detektion av m¨anniskor i ett farligt omr˚ade. Detta betyder n¨odv¨andigt vis inte att radar b¨or slopas helt som metod f¨or det finns andra sorters radar som skulle passa b¨attre, t.ex en Ultra Wideband(UWB) som f¨orfattarna till [33] testat och med framg˚ang f˚att att identifiera en person och position utifr˚an radarsignaler. ¨Aven radar av typen LiDAR i system f¨or bilar ¨ar k¨ant f¨or att effektivt detektera m¨anniskor [10].

(39)

Referenser

[1] Arbetsmilj¨overket, “Statistik om d¨odsolyckor i arbetet.” https://www.av.se/arbetsmiljoarbete-och-inspektioner/

arbetsmiljostatistik-officiell-arbetsskadestatstik/ statistik-om-dodsolyckor-i-arbetet/. Accessed: 2019-03-09.

[2] J. Desbonnet, “Rcwl-0516 information.” https://github.com/ jdesbonnet/RCWL-0516. Accessed: 2019-03-09.

[3] R. Clark, “Rcwl-0516 analysis.” https://www.rogerclark.net/ investigating-a-rcwl-9196-rcwl-0516-radar-motion-detector-modules/. Accessed: 2019-03-09.

[4] V. Davis, J.W. & Sharma, “Robust detection of people in thermal image-ry.,” Proceedings of the 17th International Conference on Pattern Recogni-tion, vol. 4, pp. 713–716 Vol.4, Aug 2004.

[5] Y. H. Jiang Dong *, Dafang Zhuang and J. Fu, “Advances in multi-sensor data fusion: Algorithms and applications,” Sensors, vol. 9, pp. 7771–7784, 2009.

[6] Nationalencyklopedin, “Dopplereffekten.” Nationalencyklopedin, dopplereffekten./uppslagsverk/encyklopedi/enkel/

dopplereffekten. Accessed: 2019-03-09.

[7] Brilliant, “Doppler effect.” https://brilliant.org/wiki/ doppler-effect/?fbclid=IwAR2fiT1yuqqX2I7O4C4UI9OVUlbiPL7rp_ -Kdu0Yq0n4L5PRAzQDF3Iit30. Accessed: 2019-07-18.

[8] K. Academy, “Doppler effect: reflection off a mo-ving object.” https://www.khanacademy.org/science/ physics/mechanical-waves-and-sound/doppler-effect/v/

doppler-effect-reflection-off-a-moving-object. Accessed: 2019-07-18.

[9] LibreTexts, “The doppler effect.” https://phys.libretexts.org/ Bookshelves/University_Physics/Book%3A_University_Physics_ (OpenStax)/Map%3A_University_Physics_I_-_Mechanics%2C_Sound% 2C_Oscillations%2C_and_Waves_(OpenStax)/17%3A_Sound/17.7%3A_ The_Doppler_Effect. Accessed: 2019-07-18.

[10] A. W. T. N. Kiyosumi Kidono, Takeo Miyasaka and J. Miura, “Pedestri-an recognition using high-definition lidar,” 2011 IEEE Intelligent Vehicles Symposium (IV), pp. 405–410, June 2011.

[11] B. Lohani, S. Chacko, S. Ghosh, and S. Sasidharan, “Surveillance system based on flash lidar,” Indian Cartographer, vol. 32, pp. 77–81, Dec 2013.

(40)

[12] Jianchao Zeng, A. Sayedelahl, M. F. Chouikha, E. T. Gilmore, and P. D. Frazier, “Human detection in non-urban environment using infrared ima-ges,” in 2007 6th International Conference on Information, Communica-tions Signal Processing, pp. 1–4, Dec 2007.

[13] M. Piccardi, “Background subtraction techniques: a review,” Computer Vi-sion Group, Faculty of Information Technology University of Technology, vol. 4, pp. 3099–3104, Oct 2004.

[14] A. K. R. Alexander Mordvintsev, “Background subraction - opencv.” https://opencv-python-tutroals.readthedocs.io/en/latest/py_ tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html. Accessed: 2019-06-08.

[15] I. S. Satbir Kaur, “Comparison between edge detection techniques,” In-ternational Journal of Computer Applications, vol. 145, pp. 15–18, June 2016.

[16] W. Kong, A. Hussain, M. H. M. Saad, and N. M. Tahir, “Hand detection from silhouette for video surveillance application,” in 2012 IEEE 8th Inter-national Colloquium on Signal Processing and its Applications, pp. 514–518, March 2012.

[17] M. Li, Z. Zhang, K. Huang, and T. Tan, “Rapid and robust human de-tection and tracking based on omega-shape features,” 2009 16th IEEE In-ternational Conference on Image Processing (ICIP), pp. 2545–2548, Nov 2009.

[18] R. Gandhi, “Object detection methods

ex-plained.” https://towardsdatascience.com/

r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e. Accessed: 2019-09-17.

[19] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You only look once: Unified, real-time object detection,” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 779–788, June 2016.

[20] M. Buri´c, M. Pobar, and M. Ivaˇsi´c-Kos, “Object detection in sports vi-deos,” 2018 41st International Convention on Information and Communi-cation Technology, Electronics and Microelectronics (MIPRO), pp. 1034– 1039, May 2018.

[21] C. Cai, B. Wang, and X. Liang, “A new family monitoring alarm system based on improved yolo network,” 2018 Chinese Control And Decision Con-ference (CCDC), pp. 4269–4274, June 2018.

[22] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” Conference On Computer Vision And Pattern Recog-nition, vol. 1, pp. 511–518, Dec 2001.

(41)

[23] openCV, “Motion analysis.” https://docs.opencv.org/master/de/de1/ group__video__motion.html#ga2beb2dee7a073809ccec60f145b6b29c. Accessed: 2019-09-16.

[24] openCV, “Image filtering.” https://docs.opencv. org/master/d4/d86/group__imgproc__filter.html#

gac342a1bb6eabf6f55c803b09268e36dc. Accessed: 2019-09-16.

[25] openCV, “Morphological transformations.” https://docs.opencv.org/ trunk/d9/d61/tutorial_py_morphological_ops.html. Accessed: 2019-09-16.

[26] J. Redmon, “Yolo config.” https://raw.githubusercontent.com/ pjreddie/darknet/master/cfg/yolov3.cfg. Accessed: 2019-06-08. [27] J. Redmon, “Yolo weights.” https://pjreddie.com/media/files/

yolov3.weights. Accessed: 2019-06-08.

[28] P. Ren, W. Fang, and S. Djahel, “A novel yolo-based real-time people counting approach,” 2017 International Smart Cities Conference (ISC2), pp. 1–2, Sep. 2017.

[29] S. Hameed, “Haar cascade classifiers.” https://github.com/opencv/ opencv/tree/master/data/haarcascades. Accessed: 2019-04-26.

[30] F. Christian Herdianto Setjo, Balza Achmad, “Thermal image human de-tection using haar-cascade classifier,” Proceedings of the 17th International Conference on Pattern Recognition, pp. 1–6, Aug 2017.

[31] W. Wang, J. Zhang, and C. Shen, “Improved human detection and classifi-cation in thermal images,” 2010 IEEE International Conference on Image Processing, pp. 2313–2316, Sep. 2010.

[32] Jianpeng Zhou and Jack Hoang, “Real time robust human detection and tracking system,” 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05) - Workshops, pp. 149–149, Sep. 2005.

[33] A. G. Yarovoy, J. Matuzas, B. Levitas, and L. P. Ligthart, “Uwb radar for human being detection,” European Radar Conference, 2005. EURAD 2005., pp. 85–88, Oct 2005.

(42)

7

Bilaga

Avsnitt 3.3.1

(43)

7.2

Koden till Haar Cascade och Edge Detection

Avsnitt 3.4.4 och 3.4.5 import numpy as np import cv2 face_cascade = cv2.CascadeClassifier(’haarcascade_frontalface_default.xml’) eye_cascade = cv2.CascadeClassifier(’haarcascade_eye.xml’) cap = cv2.VideoCapture(0)

while 1:

ret, img = cap.read()

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5)

for (x,y,w,h) in faces:

cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) roi_gray = gray[y:y+h, x:x+w]

roi_color = img[y:y+h, x:x+w]

eyes = eye_cascade.detectMultiScale(roi_gray)

for (ex,ey,ew,eh) in eyes:

cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2) _, frame = cap.read()

hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) lower_red = np.array([30,150,50])

upper_red = np.array([255,255,180])

mask = cv2.inRange(hsv, lower_red, upper_red) res = cv2.bitwise_and(frame,frame, mask= mask) edges = cv2.Canny(frame,100,150)

cv2.imshow(’Original’,frame) cv2.imshow(’Edges’,edges) cv2.imshow(’img’,img)

k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows() 36

(44)

7.3

Koden till Background Subtraction

Avsnitt 3.4.2 import numpy as np import cv2 cap = cv2.VideoCapture(0) kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5)) fgbg = cv2.createBackgroundSubtractorMOG2() while(1):

ret, frame = cap.read() fgmask = fgbg.apply(frame)

fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel) cv2.imshow(’frame’,fgmask)

cv2.imshow(’Yo’,frame) k = cv2.waitKey(30) & 0xff

if k == 27:

break

cap.release()

(45)

7.4

Koden f¨

or Bluetooth Styrsignalen

Avsnitt 3.5

//Pythonkod till datorn

nearby_devices = bluetooth.discover_devices(lookup_names = True, duration=5)

bd_addr = 0

for addr, name in nearby_devices:

if name == "HC-06": print("HC-06 found") bd_addr = addr break sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM) sock.connect(bd_addr, 1) print("HC-06 connected") (...) if personInDanger > 0: sock.send("a") else: sock.send("b")

//Kod till arduino i arduino IDE

if(Serial.available() > 0){ inChar = Serial.read(); if(inChar==’a’){ digitalWrite(LED, HIGH); } if(inChar== ’b’){ digitalWrite(LED, LOW); } }

Figur 23: Kod f¨or bluetooth p˚a datorn och arduino

(46)

Besöksadress: Kristian IV:s väg 3 Postadress: Box 823, 301 18 Halmstad Telefon: 035-16 71 00

Samir Aoun

Fredrik Arvidsson

References

Related documents

I Fortran 90 ¨ar det inte n¨ odv¨andigt att anv¨anda en DO-variabel, emedan det ocks˚ a finns ett annat s¨att att konstruera en DO-slinga, d¨ar en ny sats, EXIT, anv¨ands f¨ or

Men det kan ocks˚ a vara intressant l¨asning f¨or den som redan k¨anner till Stirlingtalen fr˚ an kombinatoriken, d˚ a detta ¨ar ett v¨aldigt annorlunda s¨att att introducera dem

Detta g¨aller alla tal vars dyadiska utveckling ¨ar ¨andlig; man beh¨over inte kasta fler kast ¨an vad som anges av den position d¨ar sista ettan finns i utvecklingen.. Det betyder

Det ¨ar denna typ av f¨ordelningskonvergens som dyker upp i Centrala Gr¨ans- v¨ardessatsen2. Karakt¨aristiska funktioner kan ocks˚ a anv¨andas f¨or att

Man kan ibland l¨ asa att h¨ alften av alla som drunknat till sj¨ oss har druckit alkohol. L˚ at oss anta att det

Detta f¨ oljer ocks˚ a av konvergens- satsen, eftersom den s¨ ager att man d¨ ar har konvergens mot medelv¨ ardet av v¨ anster- och h¨ ogergr¨ ansv¨ ardena f¨ or den ut-

¨ar en kompakt m¨angd och funktionen f ¨ar kontinuerlig p˚a denna, s˚a d¨arf¨or kan vi p˚a f¨orhand veta att f har ett minsta v¨arde p˚a denna m¨angd, vilket d˚a ocks˚a,

FENWAY Karaktär West Fenway Hela området upplevs vid ett första besök som i gränslandet mellan tättbebyggt och baksida, men avslöjar efter hand hög besöksvolym och bra flöden,