Raspberry Pi-based video filtration system A novel approach to - - PowerPoint PPT Presentation

raspberry pi based video filtration system
SMART_READER_LITE
LIVE PREVIEW

Raspberry Pi-based video filtration system A novel approach to - - PowerPoint PPT Presentation

Raspberry Pi-based video filtration system A novel approach to reversible PII anonymization in videostreams using commodity hardware C.H.J Kuipers & S. Scholtes February 6, 2018 Research Project 1 Master of System and Network Engineering


slide-1
SLIDE 1

Raspberry Pi-based video filtration system

A novel approach to reversible PII anonymization in videostreams using commodity hardware

C.H.J Kuipers & S. Scholtes February 6, 2018

Research Project 1 Master of System and Network Engineering Institute of Informatics University of Amsterdam

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

Research question

How can commodity hardware be used to filter PII from video streams?

  • 1. What types of PII?
  • 2. What anonymization techniques?
  • 3. Tailoring to commodity hardware?

1

slide-4
SLIDE 4

Research question

How can commodity hardware be used to filter PII from video streams?

  • 1. What types of PII?
  • 2. What anonymization techniques?
  • 3. Tailoring to commodity hardware?

1

slide-5
SLIDE 5

Research question

How can commodity hardware be used to filter PII from video streams?

  • 1. What types of PII?
  • 2. What anonymization techniques?
  • 3. Tailoring to commodity hardware?

1

slide-6
SLIDE 6

Research question

How can commodity hardware be used to filter PII from video streams?

  • 1. What types of PII?
  • 2. What anonymization techniques?
  • 3. Tailoring to commodity hardware?

1

slide-7
SLIDE 7

Process

Video input Detection Filtration Video output

Figure 1: Video processing overview

2

slide-8
SLIDE 8

Personally Identifiable Information

slide-9
SLIDE 9

Definition

Any information related to a natural person, that can be used to directly or indirectly identify the person1.

1“Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April

2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)”. In: Official Journal of the European Union L119 (May 2016), pp. 1–88. url: http://eur-lex.europa.eu/legal- content/EN/TXT/?uri=OJ:L:2016:119:TOC.

3

slide-10
SLIDE 10

Filtration

slide-11
SLIDE 11

Filtration

Video input Detection Filtration Video output

Figure 2: The filtration process

4

slide-12
SLIDE 12

Filtration

Reversibility of the filtration process

  • Contextual

Image manipulation

  • Container

Encryption in transit & at rest

5

slide-13
SLIDE 13

Filtration

Reversibility of the filtration process

  • Contextual

Image manipulation

  • Container

Encryption in transit & at rest

5

slide-14
SLIDE 14

Filtration - anonymization techniques

Reversible methods:

  • Pixelrelocation
  • Warping
  • Chaos Cryptography

One-way methods:

  • Masking
  • Blurring (a.k.a. Normalized Blurring)

6

slide-15
SLIDE 15

Filtration - anonymization techniques

Reversible methods:

  • Pixelrelocation
  • Warping
  • Chaos Cryptography

One-way methods:

  • Masking
  • Blurring (a.k.a. Normalized Blurring)

6

slide-16
SLIDE 16

Filtration - techniques

Figure 3: Blur

7

slide-17
SLIDE 17

Filtration - techniques

Reversible methods:

  • Pixelrelocation
  • Warping
  • Chaos Cryptography

One-way methods:

  • Masking
  • Blurring (a.k.a. Normalized Blurring)
  • Gaussian blurring

8

slide-18
SLIDE 18

Filtration - techniques

Figure 4: Gaussian blur

9

slide-19
SLIDE 19

Proof of Concept

slide-20
SLIDE 20

Proof of Concept

Figure 5: Overview

10

slide-21
SLIDE 21

Proof of Concept

Components used for the Proof of Concept Hardware:

  • IP Camera
  • Interception device
  • Router

Software:

  • Ubuntu 16.0.4.3 LTS
  • Stretch 9.3
  • Python 3.5.1-3
  • OpenCV 3.3.0
  • Caffenet Caffemodel

11

slide-22
SLIDE 22

Proof of Concept

Components used for the Proof of Concept Hardware:

  • IP Camera
  • Interception device
  • Router

Software:

  • Ubuntu 16.0.4.3 LTS
  • Stretch 9.3
  • Python 3.5.1-3
  • OpenCV 3.3.0
  • Caffenet Caffemodel

11

slide-23
SLIDE 23

Proof of Concept

Test overview

  • Baseline

12

slide-24
SLIDE 24

Proof of Concept

Test overview

  • Baseline

12

slide-25
SLIDE 25

Proof of Concept

Figure 6: Baseline

13

slide-26
SLIDE 26

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes

14

slide-27
SLIDE 27

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes

14

slide-28
SLIDE 28

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes

14

slide-29
SLIDE 29

Proof of Concept

Figure 7: Draw boxes

15

slide-30
SLIDE 30

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels

16

slide-31
SLIDE 31

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels

16

slide-32
SLIDE 32

Proof of Concept

Figure 8: Label detections

17

slide-33
SLIDE 33

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring

18

slide-34
SLIDE 34

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring

18

slide-35
SLIDE 35

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring

18

slide-36
SLIDE 36

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring

18

slide-37
SLIDE 37

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring

18

slide-38
SLIDE 38

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring

18

slide-39
SLIDE 39

Proof of Concept

Figure 9: Blurring detections

19

slide-40
SLIDE 40

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring

20

slide-41
SLIDE 41

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring

20

slide-42
SLIDE 42

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring

20

slide-43
SLIDE 43

Proof of Concept

Figure 10: Gaussian blurring

21

slide-44
SLIDE 44

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring
  • Gaussian blurring + padding
  • Masking

22

slide-45
SLIDE 45

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring
  • Gaussian blurring + padding
  • Masking

22

slide-46
SLIDE 46

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring
  • Gaussian blurring + padding
  • Masking

22

slide-47
SLIDE 47

Proof of Concept

Figure 11: Masking detections

23

slide-48
SLIDE 48

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring
  • Gaussian blurring + padding
  • Masking
  • Masking + padding

24

slide-49
SLIDE 49

Proof of Concept

Test overview

  • Baseline
  • Detection
  • Draw boxes
  • Labels
  • Save anonymized stream
  • Save original stream
  • Encrypt original stream
  • Re-stream anonymized stream
  • Blurring
  • Blurring + padding
  • Gaussian blurring
  • Gaussian blurring + padding
  • Masking
  • Masking + padding

24

slide-50
SLIDE 50

Proof of Concept

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Baseline Detection Drawing boxes Labeling Save anonymized stream Save original stream AES Encrypting original stream Re-stream Blur Blur + padding

  • Gaussian blur

Gaussian blur + padding

  • Masking

Masking + padding

  • Table 1: Shows how the different tests are constructed

25

slide-51
SLIDE 51

FPS overview

Dell desktop Raspberry Pi 3 Atom Server Atom Laptop

Test 1 120.1 9.2 7.9 3.46 Test 2 118.4 9.1 7.8 3.42 Test 3 117 9.1 7.8 3.45 Test 4 115.1 8.8 7.6 3.42 Test 5 101.1 7.3 6.2 3.06 Test 6 82.5 6.4 5.3 2.91 Test 7 85.8 6.4 5.3 2.92 Test 8 85.3 6.4 5.3 2.96 Test 9 76.6 6.0 5.4 2.87 Test 10 78.6 6.2 5.3 2.82 Test 11 57.9 4.1 4.78 2.5 Test 12 53.6 3.8 4.79 2.58 Test 13 82.0 6.3 5.4 2.88 Test 14 82.0 6.3 5.3 2.91

Table 2: Shows the relation between the baseline measurement and the performance hit in frames per seconds

26

slide-52
SLIDE 52

Results Dell Desktop

1 2 3 4 5 6 7 8 9 10 11 12 13 14 40 60 80 100 120 Test number Framerate (FPS)

27

slide-53
SLIDE 53

Results Raspberry Pi 3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 5 6 7 8 9 10 Test number Framerate (FPS)

28

slide-54
SLIDE 54

Results Intel Atom Server

1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 5 6 7 8 Test number Framerate (FPS)

29

slide-55
SLIDE 55

Results Intel Atom laptop

1 2 3 4 5 6 7 8 9 10 11 12 13 14 2.4 2.6 2.8 3 3.2 3.4 3.6 Test number Framerate (FPS)

30

slide-56
SLIDE 56

FPS overview (percentage)

Dell desktop Raspberry Pi 3 Atom Server Atom Laptop

Test 1 100% 100% 100% 100% Test 2 98.58% 98.91% 98.73% 98.84% Test 3 97.42% 98.91% 98.73% 99.71% Test 4 95.84% 95.65% 96.20% 98.84% Test 5 84.18% 79.35% 78.48% 88.44% Test 6 68.70% 69.56% 67.09% 84.10% Test 7 71.44% 69.56% 67.09% 84.39% Test 8 71.02% 69.56% 67.09% 85.55% Test 9 63.78% 65.22% 68.35% 82.95% Test 10 65.44% 67.39% 67.09% 81.50% Test 11 48.21% 44.56% 60.50% 72.25% Test 12 44.63% 41.30% 60.63% 74.57% Test 13 68.28% 68.48% 68.35% 83.24% Test 14 68.28% 68.48% 67.09% 84.10%

Table 3: Shows the relation between the baseline measurement and the performance hit relative to the baseline measurement in percentages

31

slide-57
SLIDE 57

Conclusion & Discussion

slide-58
SLIDE 58

Conclusion

How can commodity hardware be used to filter PII from video streams?

32

slide-59
SLIDE 59

Discussion

  • Effectiveness anonymization techniques
  • Edge detection
  • False positives
  • False negatives
  • Raspberry Pi stability
  • Hardware temperatures

33

slide-60
SLIDE 60

Future Work

  • Encryption
  • Codecs
  • Automation
  • Distributing & clustering
  • Anonymization techniques
  • Overclocking the Pi

34

slide-61
SLIDE 61

Questions?

34

slide-62
SLIDE 62

Additional slides

slide-63
SLIDE 63

Raspberry Pi setup

Figure 12: Raspberry Pi cooling issues

35

slide-64
SLIDE 64

Raspberry Pi setup

Figure 13: Netbook and Raspberry Pi

36

slide-65
SLIDE 65

DNN Accuracy

Snapshot of iteration 310.000:2 Best performance at iteration 313.000 Values at iteration 313.000:

  • Validation accuracy: 57,412%
  • Loss: 1,82328

Our snapshot:

  • Top-1 accuracy: 57,4%
  • Top-5 accuracy: 80,4%

2Source: Jeff Donahue @jeffdonahue

37