Post on 08-Jan-2020
Tivoli Software
Preprocesiranje slika i Apache Spark
Teo Manojlović
Šimun Karačić
Tivoli Software
SV Group
Osnovana 1995. godine
Klijenti: velike banke, državne institucije i sl.
ICT gold Award 2016.
Prvi IBM Platinum partner u Hrvatskoj
Tivoli Software
SV group big data tim
Streaming obrade, batch obrade, ETL jobovi
Petar Zečević – team leader i autor knjige Spark in Action
Rad s najnovijim big data tehnologijama:
Tivoli Software
Uvod
• Terabajti podataka dnevno
• Milijuni dnevnih posjeta web
stranicama
• Dinamičnost
• Obrada podataka
Tivoli Software
Tivoli Software
Spark
• Cluster computing framework
• Pisan u Scala programskom jeziku
• Podrška za R, Python i Javu
• Brži od Hadoop MapReducea
Tivoli Software
Mogućnosti
Tivoli Software
Spark Rdd
• RDD=Resilient Distributed
Datasets
• Lazy, immutable
• map, join, groupByKey,
reduceByKey ….
Tivoli Software
Spark runtime
Tivoli Software
Spark arhitektura
Tivoli Software
H2O
Tivoli Software
H2O
Tivoli Software
Spark u praktičnoj primjeni
Spark-shell
Spark-submit
Tivoli Software
Spark parametri
Master Num executorsExecutor coresExecutor memoryDriver memoryPackagesJars
Tivoli Software
Jupyter notebook
U pozadini se izvršava spark-shell
Za instalaciju potrebno je imati spark
Instalira se preko Python Pip-a
Apache Toree
Tivoli Software
Obrada slika
Tivoli Software
Digitalna obrada slike(Koji formati postoje?)
Kompresija slike:
Lossy
Loseless
Dva osnovna načina spremanja informacije:
Vektorski
Rasterski
Poznati formati: jpg, png, bmp, tiff ....
Tivoli Software
Kako može biti prikazan pixel
ARGB – alpha, red, green, blue
32 bita
Maksimalna vrijednost – bijela bojaMinimalna vrijednost – crna boja
Tivoli Software
Ostali načini prikaza pixela
CMYK
HSV
Hue – nijansa
Saturation - zasićenost
Value - vidljivost
Tivoli Software
Digitalna obrada slike
Detekcija rubova
Uklanjanje šumova
Morfološka obrada slike
Segmentacija
Skaliranje, spremanje u vektorski format
Tivoli Software
Digitalna obrada slike
Detekcija rubova: Sobel, Canny ...
Odšumljivanje
Tivoli Software
Digitalna obrada slike
Morfološka obrada slike
Segmentacija slike
Tivoli Software
Praktični primjeri
Scala programski jezik
Scrimage – scala library za osnovni image processing
Osnovne klase
Image
Pixel
Tivoli Software
Image
Osnovna klasa gdje se sprema slika
Iz Java OutputStream ili Byte array
Korisne funkcije
def argb: Array[Array[Int]]
def map(f: (Int, Int, Pixel) ⇒ Pixel): Image
def filter(filter: Filter): Image
Tivoli Software
Pixel
Image se sastoji od Pixela
Pixel je ARGB kodiran
Informacije o pojedinim komponentama
Tivoli Software
OpenCV
Više verzija za javu
Osnovne klase
Mat
ImgProc
Izračunvanje kernela za daljnju obradu
Morfologija slike
Edge detection
Tivoli Software
Spark MlLib
Posjeduje osnovne machine learning algoritme
Osnovni podatkovni tipovi:
Vektori
Matrice
26
Tivoli Software
Spark web sučelje
Tivoli Software
Spark/Scala – korisna praksa
Performanse:
Particioniranje podataka
Broadcast malih lookup tablica
Coding style:
Odabir imena varijabli iz kojih se vidi tip podataka (imageRdd ako je Rdd)
Razbijanje velikih lambdi na više redova
Tivoli Software
Sv Group zapošljava
Područja koja radimo:
Big data
Razvoj Java aplikacija
Poslovna inteligencija (ODI – Oracle Data Integrator)
Što nudimo:
Rad s najnovijim tehnologijama
Certificiranje zaposlenika
Sudjelovanja na konferencijama i kontinuirano usavršavanje
Tivoli Software
PITANJA?
30
Tivoli Software
HVALA NA PAŽNJI !
31