akka stream for image processing

59
Akka Stream For Image processing

Upload: fabian-gutierrez

Post on 21-Mar-2017

361 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Akka Stream for image processing

Akka StreamFor Image processing

Page 2: Akka Stream for image processing

Fabian GUTIERREZfabGutierrfagossa

Who we are?

Diana ORTEGAdicaormudicaormu

Page 3: Akka Stream for image processing

Agenda

● Context● Images, motion detection● Streams, back pressure and all that stuff● Image processing in a reactive pipeline

Page 4: Akka Stream for image processing

Context

Page 5: Akka Stream for image processing
Page 6: Akka Stream for image processing
Page 7: Akka Stream for image processing

Consume StreamedImages

Detection Motion

Identify obstacle with Tensor flow

Stream result

Page 8: Akka Stream for image processing

DetectionMotion

Show Image

CaptureImage

Page 9: Akka Stream for image processing
Page 10: Akka Stream for image processing
Page 11: Akka Stream for image processing
Page 12: Akka Stream for image processing
Page 13: Akka Stream for image processing
Page 14: Akka Stream for image processing
Page 15: Akka Stream for image processing
Page 16: Akka Stream for image processing
Page 17: Akka Stream for image processing

Python

Page 18: Akka Stream for image processing
Page 19: Akka Stream for image processing

Images and image processing

Page 20: Akka Stream for image processing
Page 21: Akka Stream for image processing
Page 22: Akka Stream for image processing

Motion Detection

Page 23: Akka Stream for image processing

Motion detection

Page 24: Akka Stream for image processing
Page 25: Akka Stream for image processing
Page 26: Akka Stream for image processing

Streams, back pressure and all that stuff

Page 27: Akka Stream for image processing
Page 28: Akka Stream for image processing
Page 29: Akka Stream for image processing

Pub

lishe

r

Sub

scrib

er

Back-pressured

Page 30: Akka Stream for image processing

Pub

lishe

r

Sub

scrib

er

Back-pressured

100

op/s

ec

1 op

/sec

Page 31: Akka Stream for image processing

Pub

lishe

r

Sub

scrib

er

Back-pressured

100

op/s

ec

1 op

/sec

.

.

.

Page 32: Akka Stream for image processing

Fast :)

Slow :’(

Pub

lishe

r

Sub

scrib

er

Back-pressured

Page 33: Akka Stream for image processing

100

op/s

ec

1 op

/sec

Request(3)

Page 34: Akka Stream for image processing

Back-pressured stream processing

Page 35: Akka Stream for image processing
Page 36: Akka Stream for image processing

monix

Streams

Page 37: Akka Stream for image processing
Page 38: Akka Stream for image processing
Page 39: Akka Stream for image processing

Image processing with pipelines

Page 40: Akka Stream for image processing
Page 41: Akka Stream for image processing

CaptureImage

MotionDetection

Show image

Page 42: Akka Stream for image processing

CaptureImage

MotionDetection

Show image

Page 43: Akka Stream for image processing

Motion detection

smooth

diff threshold

smooth

Page 44: Akka Stream for image processing

CameraSource

MotionDetection

ScreenSink?

Something

Page 45: Akka Stream for image processing

LocalCameraSource

Show ImageSink

RemoteHttp

Source

MotionDetection

CouchbaseSink

S3 KafkaSink

Page 46: Akka Stream for image processing
Page 47: Akka Stream for image processing

4 3 2 1Source Sink

4 3

2

1

Source Sink

Grouped

Page 48: Akka Stream for image processing

Scala implementation

Initialisation

Source

Grouped elements call flow

Sink

Page 49: Akka Stream for image processing

Java implementation

Initialisation

Source

Grouped elements call flow

Sink

Page 50: Akka Stream for image processing

Source scala

Page 51: Akka Stream for image processing

Source java

Page 52: Akka Stream for image processing

Flow scala

Flow creation

Operationsimages

Operationsimages

Flow creation

Operationsimages

Operationsimages

Page 53: Akka Stream for image processing

Flow java

Flow creation

Operationsimages

Operationsimages

Page 54: Akka Stream for image processing

Sink

Page 55: Akka Stream for image processing
Page 56: Akka Stream for image processing

Rx

.Observable

.prototype

.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

Page 57: Akka Stream for image processing

github.com/akka/alpakka

Page 58: Akka Stream for image processing

https://github.com/fagossa/camera_stream

Page 59: Akka Stream for image processing

https://github.com/fagossa/camera_stream

fabGutierr

dicaormu

blog.xebia.fr

Contact