Anal ´yza sign´alu a obrazu v praxi II
KI/ASO
RNDr. Zbyˇsek Posel, Ph.D.
Ust´ı nad Labem 2020 ´
Kurz: Anal´yza sign´alu a obrazu v praxi II Obor: Aplikovan´a informatika
Kl´ıˇcov´a slova:
Anotace: Pˇredmˇet navazuje a rozˇsiˇruje znalosti ´uvodn´ıho pˇredmˇetu Anal´yza sign´alu a obrazu v praxi I s d˚urazem na klasifikaˇcn´ı algoritmy zaloˇzen´e na metod´ach uˇcen´ı bez uˇcitele (jako jsou K-means, DBSCAN a teselaˇcn´ı algoritmy) a s uˇcitelem, kde je pozornost zamˇeˇrena zejm´ena na kon- voluˇcn´ı neuronov´e s´ıtˇe. Aplikace tˇechto metod je zamˇeˇrena do oblasti medic´ınsk´ych dat.
Jazykov´a korektura nebyla provedena, za jazykovou str´anku odpov´ıd´a autor.
© Katedra informatiky, PˇrF, UJEP v ´Ust´ı nad Labem, 2020
Autor: RNDr. Zbyˇsek posel, Ph.D.
Obsah
Uvodn´ı slovo´ 4
1 Uvod´ 6
2 Klasifikace ud´alost´ı ve fyziologick´em sign´alu 9
3 Rozpozn´an´ı a klasifikace objekt ˚u-I 12
4 Rozpozn´an´ı a klasifikace objekt ˚u-II 15
5 Rozpozn´an´ı a klasifikace objekt ˚u-III 18
6 Zpracov´an´ı biologick ´ych dat 21
Uvodn´ı slovo ´
Opora k pˇredmˇetuAnal´yza sign´alu a obrazu v praxi II je tematicky rozdˇelena do dvou ˇc´ast´ı.
V prvn´ı ˇc´asti, kter´a pˇredstavuje menˇsinu, jsou probr´any jednotliv´e pˇr´ıstupy pro klasifikaci fyziologick´eho sign´alu, kter´e tak rozˇsiˇruj´ı a doplˇnuj´ı znalosti o zpracov´an´ı sign´alu z´ıskan´e v pˇredmˇetuAnal´yza sign´alu a obrazu v praxi I. Jedn´a se zejm´ena o klasifikaci sign´alu pomoc´ı metod vyuˇz´ıvaj´ıc´ıch uˇcen´ı bez uˇcitele (shlukov´a anal´yza, PCA aj.) a uˇcen´ı s uˇcitelem, kde je pozornost zamˇeˇrena jednak na rekurentn´ı s´ıtˇe (zejm´ena LSTM) a na konvoluˇcn´ı s´ıtˇe.
Ve zb´yvaj´ıc´ı ˇc´asti opory je pozornost upˇrena na klasifikaci obrazov´ych (2D) dat. Nejprve jsou demonstrov´any sp´ıˇse klasick´e metody zaloˇzen´e na triangulaci a teselaci, d´ale r˚uzn´e varianty shlukov´e anal´yzy vˇcetnˇe zohlednˇen´ı hustoty objekt˚u na ploˇse, aˇz po sloˇzitˇejˇs´ı pˇr´ıstupy, kter´e se realizuj´ı pomoc´ı framework˚u a zejm´ena na specializovan´em hardwaru (rezidu´aln´ı a kon- voluˇcn´ı s´ıtˇe). Posledn´ı ˇc´ast opory je zamˇeˇrena na vyuˇzit´ı nabyt´ych znalost´ı pˇri segmentaci bunˇek ze sn´ımk˚u poˇr´ızen´ych r˚uzn´ymi mikroskopy (napˇr. fluorescenˇcn´ı nebo optick´y). Vˇsechny v´yˇse zm´ınˇen´e kapitoly jsou doplnˇeny o implementace v jazyku Python, kter´e lze prostudovat po pˇrihl´aˇsen´ı do e-learningov´eho syst´emu MOODLE.
Pˇr´ıklad semin´arn´ı pr´ace
V pr˚ubˇehu kurzu bude zad´ana jedna semin´arn´ı pr´ace, na kter´e budou moci student praco- vat v r´amci speci´alnˇe vyˇclenˇen´ych semin´aˇre a vyuˇz´ıvat lok´aln´ı v´ypoˇcetn´ı zdroje (lok´aln´ı HPC klastr), alternativnˇe tak´e pˇr´ıstup na rozs´ahlejˇs´ı v´ypoˇcetn´ı infrastrukturu. V r´amci plnˇen´ı se- min´arn´ıch prac´ı je moˇzn´e vytvoˇrit skupiny (nejv´yˇse po 3 lidech), a odevzdat jednu pr´aci za skupinu na konci semestru. Rozdˇelen´ım do skupin jsou procviˇcov´any dovednosti zamˇeˇren´e na pr´aci v t´ymu, sd´ılen´ı znalost´ı, v´ystup˚u aj. Pr´ace bude tematicky rozdˇelena do dvou ˇc´ast´ı, kdy v prvn´ı ˇc´asti bude student vyuˇz´ıvat zejm´ena vestavˇen´e n´astroje jazyka Python a ˇc´asteˇcnˇe i frameworky pro klasifikaci fyziologick´ych sign´al˚u. Druh´a ˇc´ast pr´ace je zamˇeˇrena tema- ticky zamˇeˇrena na segmentaci sn´ımk˚u bunˇek poˇr´ızen´ych mikroskopy a intenzivn´ı vyuˇzit´ı fra- mework˚u a jejich moˇznosti vyuˇz´ıt pro v´ypoˇcet HPC infrastrukturu nebo napˇr´ıklad grafick´y akceler´ator.
Jednotliv´a zad´an´ı se budou odv´ıjet bud’ od prob´ıhaj´ıc´ı spolupr´ace s extern´ımi subjekty, ty- picky jde o Krajskou zdravotn´ı, a.s. nebo bude zad´an´ı motivov´ano aktu´aln´ımi trendy v oblasti zpracov´an´ı medic´ınsk´ych dat. Jako pˇr´ıklad lze uv´est ˇc´asti zad´an´ı r˚uzn´ych hackaton˚u nebo tzv
”challenges“.
1 Uvod ´
C´ILE KAPITOLY
C´ılem t´eto ´uvodn´ı kapitoly je poskytnout pˇrehled klasifikaˇcn´ıch metod, kter´e se vyuˇz´ıvaj´ı pˇri zpracov´an´ı sign´alu a obrazu. Metody jsou rozdˇeleny na z´akladˇe principu uˇcen´ı na ty bez uˇcitele (shlukov´a anal´yza, (H)DBSCAN, teselaˇcn´ı algoritmy) a s uˇcitelem (zejm´ena rekurentn´ı a kon- voluˇcn´ı neuronov´e s´ıtˇe). V n´avaznosti na tyto algoritmy budou pˇredstaveny i souˇcasn´e v´yzvy v oblasti klasifikace dat a s t´ım spojen´e veˇrejnˇe dostupn´e datab´aze sign´al˚u a obrazov´ych dat.
V t´eto kapitole se dozv´ıte
• jak´e jsou souˇcasn´e trendy ve vyuˇzit´ı klasifikaˇcn´ıch metod pro zpracov´an´ı sign´alu a ob- razu,
• jak´e jsou nejv´ıce pouˇz´ıvan´e metody a zda existuj´ı jejich implementace v jazyku Python,
• jak´e jsou souˇcasn´e v´yzvy v oblasti zpracov´an´ı sign´alu a obrazu,
• kde lze z´ıskat veˇrejnˇe dostupn´a data pro testov´an´ı navrˇzen´ych algoritm˚u.
KL´I ˇ COVA SLOVA
klasifikace dat, uˇcen´ı s uˇcitelem, uˇcen´ı bez uˇcitele, dataset N´apl ˇn l´atky je pops´ana v n´asleduj´ıc´ıch zdroj´ıch
• Pˇrehled klasifikaˇcn´ıch metod pro anal´yzu sign´alu lze nal´ezt napˇr´ıklad zde [1] nebo zde [2].
• Pˇrehled klasifikaˇcn´ıch metod pro anal´yzu obrazu lze nal´ezt napˇr´ıklad zde [3], zde [4]
nebo zde [5].
Implementace jednoduch´ych klasifikaˇcn´ıch algoritm˚u na vybran´e sign´aly a obrazov´a data lze d´ale nal´ezt v syst´emu MOODLE.
SHRNUT´I
Po prostudov´an´ı byste mˇeli m´ıt n´asleduj´ıc´ı dovednosti a znalosti.
• M´ıt pˇrehled o klasifikaˇcn´ıch metod´ach pro zpracov´an´ı sign´alu.
• M´ıt pˇrehled o klasifikaˇcn´ıch metod´ach pro zpracov´an´ı obrazu.
• M´ıt pˇrehled o souˇcasn´ych v´yzv´ach v oblasti zpracov´an´ı sign´alu a obrazu.
• Umˇet z´ıskat datasety z veˇrejnˇe dostupn´ych datab´az´ı a naˇc´ıst je do prostˇred´ıPythonu.
• Aplikovat jednoduch´e klasifikaˇcn´ı metody (typicky shlukov´a anal´yza) na z´ıskan´a data.
OT ´ AZKY
1. Proˇc se klasifikaˇcn´ı metody vyuˇz´ıvaj´ı pˇri zpracov´an´ı sign´alu?
2. Proˇc se klasifikaˇcn´ı metody vyuˇz´ıvaj´ı pˇri zpracov´an´ı obrazu?
3. Jak´e zn´ate veˇrejnˇe dostupn´e datab´aze sign´al˚u a obrazov´ych dat?
4. Jak´e zn´ate bal´ıky jazykaPythonu, kter´e obsahuj´ı v´yˇse zm´ınˇen´e metody?
OT ´ AZKY K ZAMY ˇSLEN´I
1. Jak se vyuˇz´ıvaj´ı masivnˇe paraleln´ı syst´emy pˇri zpracov´an´ı sign´alu a obrazu?
UKOLY ´
1. Z veˇrejnˇe dostupn´e datab´aze st´ahnˇete datasety obsahuj´ıc´ı sign´al nebo obrazov´a data do prostˇred´ıPythonu.
2. Na datasety aplikujte jednoduch´e klasifikaˇcn´ı algoritmy vyuˇz´ıvaj´ıc´ı uˇcen´ı bez uˇcitele.
3. Ukaˇzte vliv jednotliv´ych parametr˚u algoritm˚u na v´ysledek.
4. V pˇr´ıpadˇe vˇetˇs´ıho objemu dat zohlednˇete moˇznost paralelizace Vaˇs´ı ´ulohy.
M´ISTO PRO VA ˇSE POZN ´ AMKY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Klasifikace ud´alost´ı ve fyziologick´em sign´alu
C´ILE KAPITOLY
C´ılem t´eto kapitoly je rozˇs´ıˇrit znalosti z pˇredmˇetuAnal´yza sign´alu a obrazu v praxi I t´ykaj´ıc´ı se zpracov´an´ı fyziologick´eho sign´alu a to o klasifikaˇcn´ı metody bez uˇcitele a s uˇcitelem. V pˇr´ıpadˇe prvn´ı skupiny budou nejdˇr´ıve pˇredstaveny pˇr´ıstupy zaloˇzen´e na shlukov´e anal´yze (K- Means, c-Means, harmonick´a varianta metody), PCA metodˇe nebo na metodˇe zohledˇnuj´ıc´ı tzv.
matici rozd´ılnosti. V pˇr´ıpadˇe metod s uˇcitelem je pozornost zamˇeˇrena zejm´ena na konvoluˇcn´ı a rekurentn´ı neuronov´e s´ıtˇe (zejm´ena Long short-term memory s´ıtˇe).
V t´eto kapitole se dozv´ıte:
• jak´e klasifikaˇcn´ı metody (s uˇcitelem i bez uˇcitele) se vyuˇz´ıvaj´ı pro zpracov´an´ı fyziolo- gick´eho sign´alu,
• jak´e jsou principy klasifikaˇcn´ıch metod bez uˇcitele,
• jak´e jsou principy klasifikaˇcn´ıch metod s uˇcitelem,
• jak jsou v´yˇse zm´ınˇen´e metody implementov´any v jazykuPython,
• jak se v´yˇse uveden´e metody aplikuj´ı na re´aln´e fyziologick´e sign´aly.
KL´I ˇ COVA SLOVA
shlukov´a anal´yza, klastr, PCA, RNN, CNN, LSTM
N´apl ˇn l´atky je pops´ana v n´asleduj´ıc´ıch zdroj´ıch
• Pˇrehled klasifikaˇcn´ıch metod bez uˇcitele vyuˇz´ıvaj´ıc´ıch i shlukovou anal´yzu lze nal´ezt napˇr´ıklad zde [6].
• Pˇrehled klasifikaˇcn´ıch metod vyuˇz´ıvaj´ıc´ıch zpˇetnou vazbu od uˇcitele lze nal´ezt napˇr´ıklad zde [7].
• Principy rekurentn´ıch a konvoluˇcn´ıch neuronov´ych s´ıt´ı lze nal´ezt napˇr´ıklad zde [8] a zde [9].
• Implementace neuronov´ych s´ıt´ı pomoc´ı farmeworku Keras lze nal´ezt napˇr´ıklad zde [10]
nebo pomoc´ı frameworku TensorFlow zde [11].
• Pˇr´ıklady aplikaci klasifikaˇcn´ıch metod na fyziologick´e sign´aly lze nal´ezt zde [2] nebo zde [12].
Implementace klasifikaˇcn´ıch metod bez uˇcitele a vyuˇz´ıvaj´ıc´ı zpˇetnou vazbu od uˇcitele na zpracov´an´ı fyziologick´ych sign´al˚u m˚uˇzete d´ale nal´ezt v syst´emu MOODLE.
SHRNUT´I
Po prostudov´an´ı byste mˇeli m´ıt n´asleduj´ıc´ı dovednosti a znalosti:
• Umˇet popsat rozd´ıl mezi klasifikaˇcn´ımi metodami bez uˇcitele a s uˇcitelem.
• Umˇet popsat princip klasifikaˇcn´ıch metod bez uˇcitele a jejich vyuˇzit´ı pro zpracov´an´ı fyziologick´ych sign´al˚u.
• Umˇet popsat princip klasifikaˇcn´ıch metod s uˇcitelem a jejich vyuˇzit´ı pro zpracov´an´ı fy- ziologick´ych sign´al˚u.
• M´ıt povˇedom´ı o implementaci tˇechto metod v nˇekter´em z framework˚u pro datovou anal´yzu zaloˇzen´em na jazykuPython(Keras, TensorFlow).
OT ´ AZKY
1. Na jak´e typy ´uloh se vyuˇz´ıvaj´ı algoritmy bez uˇcitele a s uˇcitelem?
2. Jak´y je rozd´ıl mezi rekurentn´ı a konvoluˇcn´ı s´ıt´ı?
3. Jak´e fyziologick´e sign´aly se klasifikaˇcn´ımi algoritmy nejv´ıce zpracov´avaj´ı a kter´e ud´alosti se nejv´ıce detekuj´ı?
4. Jak ˇcasovˇe n´aroˇcn´e je klasifikovat 30 minutov´y z´aznam EKG?
OT ´ AZKY K ZAMY ˇSLEN´I
1. Co je tensor processor unit (TPU) a jak je moˇzn´e tuto jednotku vyuˇz´ıt pro zpracov´an´ı sign´al˚u?
2. Jak´e jsou datab´aze sign´al˚u, kter´e lze vyuˇz´ıt pro ovˇeˇren´ı Vaˇseho algoritmu?
UKOLY ´
1. Z veˇrejnˇe dostupn´e datab´aze z´ıskejte fyziologick´y sign´al a postupnˇe aplikujte klasi- fikaˇcn´ı metody bez uˇcitele.
2. Pomoc´ı jednoho z framework˚u (Theano, TensorFlow nebo Keras) proved’te klasifikaci sign´alu pomoc´ı rekurentn´ı nebo konvoluˇcn´ı neuronov´e s´ıtˇe.
3. Algoritmy porovnejte a diskutujte.
M´ISTO PRO VA ˇSE POZN ´ AMKY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Rozpozn´an´ı a klasifikace objekt ˚ u-I
C´ILE KAPITOLY
C´ılem t´eto kapitoly je podat pˇrehled metod pro rozpozn´an´ı a klasifikaci obrazov´ych dat a to pomoc´ı technik zaloˇzen´ych na 2D teselaci. Jde zejm´ena o pˇredstaven´ı r˚uzn´ych technik teselace, interpretace Voron´eho diagramu a klasifikace obrazov´ych dat na z´akladˇe vlastnost´ı Voron´eho bunˇek.
V t´eto kapitole se dozv´ıte:
• jak´y je princip teselace a triangulace,
• jak´e informace n´am mohou tyto pˇr´ıstupy poskytnout pro klasifikaci syst´emu,
• jak jsou tyto techniky implementov´any v jazykuPython,
• jak´e charakteristiky lze z v´ysledn´eho dl´aˇzdˇen´ı z´ıskat.
KL´I ˇ COVA SLOVA
Delaunayho triangulace, Voron´eho teselace, dl´aˇzdˇen´ı, hrana, Thiessenovy polygony, konvexn´ı ob´alka
N´apl ˇn l´atky je pops´ana v n´asleduj´ıc´ıch zdroj´ıch
• Pˇrehled teselaˇcn´ıch technik lze nal´ezt napˇr´ıklad zde [13].
• Implementace Delaunayovy triangulace a Voron´eho teselace v jazyku Python lze
nal´ezt napˇr´ıklad zde [14].
• Aplikace Delaunayovy triangulace a Voron´eho teselace lze nal´ezt na pˇr´ıklad zde [15].
SHRNUT´I
Po prostudov´an´ı byste mˇeli m´ıt n´asleduj´ıc´ı dovednosti a znalosti:
• Umˇet popsat princip triangulace a teselace a definovat polygon.
• M´ıt povˇedom´ı o konstrukci polygon˚u a o jejich vlastnostech.
• Umˇet prov´est triangulaci a teselaci pomoc´ı knihovny SciPy jazykaPython.
• Umˇet klasifikovat stav vybran´ych syst´em˚u pomoc´ı vlastnost´ı jednotliv´ych polygon˚u.
OT ´ AZKY
1. Jak´y je rozd´ıl mezi traingulac´ı a teselac´ı?
2. Jak´e vlastnosti nejˇcastˇeji sledujeme u zkonstruovan´ych polygon˚u?
3. Jak´e jsou nejˇcastˇejˇs´ı aplikace triangulace a teselace?
OT ´ AZKY K ZAMY ˇSLEN´I
1. V jak´ych pˇr´ıpadech by klasifikace syst´emu pomoc´ı traingulace nebo teselace nebyla
´uspˇeˇsn´a?
UKOLY ´
1. Nagenerujte soustavu bod˚u na plochu, kter´e vykazuj´ı jednak pravideln´e vzory nebo jsou zcela n´ahodn´e.
2. Proved’te traingulaci a teselaci a porovnejte v´ysledky a z´ıskan´e informace.
3. Vizualizujte vlastnosti polygon˚u.
M´ISTO PRO VA ˇSE POZN ´ AMKY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Rozpozn´an´ı a klasifikace objekt ˚ u-II
C´ILE KAPITOLY
C´ılem t´eto kapitoly je rozˇs´ıˇrit detekci a klasifikaci objekt˚u z pˇredchoz´ı ˇc´asti o metody vyuˇz´ıvaj´ıc´ı uˇcen´ı bez uˇcitele, zejm´ena o metody shlukov´e anal´yzy, nejbliˇzˇs´ı sousedy a metody zaloˇzen´e na hustotˇe bod˚u ((H)DBSCAN aj.). D´ale budou v t´eto kapitole pˇredstaveny metody klasifikuj´ıc´ı objekty pomoc´ı residu´aln´ıch a konvoluˇcn´ıch neuronov´ych s´ıt´ı.
V t´eto kapitole se dozv´ıte:
• jak´e jsou metody klasifikace jednoduch´ych objekt˚u pomoc´ı shlukov´e anal´yzy, nej- bliˇzˇs´ıch soused˚u a metod zaloˇzen´ych na hustotˇe objekt˚u,
• jak´e typy neuronov´ych s´ıt´ı se pro tento typ ´ulohy pouˇz´ıv´a,
• jak jsou v´yˇse zm´ınˇen´e metody implementov´any v jazykuPython,
• jak´e v´ystupy v´yˇse zm´ınˇen´ych metod lze pro klasifikaci objekt˚u pouˇz´ıt.
KL´I ˇ COVA SLOVA
Shlukov´a anal´yza, nejbliˇzˇs´ı soused´e, DBSCAN, HDBSCAN, residu´aln´ı s´ıt, konvoluˇcn´ı s´ıt’
N´apl ˇn l´atky je pops´ana v n´asleduj´ıc´ıch zdroj´ıch
• Princip metody shlukov´e anal´yzy je pops´an napˇr´ıklad zde [16].
• Princip metody shlukov´e anal´yzy zaloˇzen´e na hustotˇe objekt˚u je pops´an napˇr´ıklad zde [17].
• Implementace vybran´ych metod shlukov´e anal´yzy v jazyku Python lze nal´ezt
napˇr´ıklad zde [18].
• Princip konvoluˇcn´ıch a residu´aln´ıch neuronov´ych s´ıt´ı lze nal´ezt zde [9] a zde [19].
• Implementace konvoluˇcn´ıch a residu´aln´ıch s´ıt´ı v jazykuPythonpomoc´ı frameworku Keras lze nal´ezt zde [10].
Implementace vybran´ych metod shlukov´e anal´yzy a konvoluˇcn´ıch nebo residu´aln´ıch neuro- nov´ych s´ıt´ı lze d´ale nal´ezt v syst´emu MOODLE.
SHRNUT´I
Po prostudov´an´ı byste mˇeli m´ıt n´asleduj´ıc´ı dovednosti a znalosti:
• M´ıt pˇrehled o metod´ach klasifikace pomoc´ı shlukov´e anal´yzy, metody nejbliˇzˇs´ıch sou- sed˚u nebo pomoc´ı shlukov´e anal´yzy zohledˇnuj´ıc´ı hustotu objekt˚u.
• M´ıt povˇedom´ı o principu fungov´an´ı konvoluˇcn´ıch a residu´aln´ıch s´ıt´ı.
• M´ıt pˇrehled o implementac´ıch v´yˇse zm´ınˇen´ych metod v prostˇred´ı jazykaPython.
• Umˇet implementovat v´yˇse zm´ınˇen´e s´ıtˇe pomoc´ı nˇekter´eho z dostupn´ych framework˚u.
OT ´ AZKY
1. Vyjmenujte nˇekter´e aplikace, kdy je pˇri shlukov´an´ı nutn´e zohlednit hustotu objekt˚u?
2. Dok´aˇzete popsat jak spolu souvis´ı v´ystupy z klasifikaˇcn´ı metody zaloˇzen´e na nejbliˇzˇs´ıch sousedech a napˇr´ıklad Voron´eho diagram?
3. Jak´e typy objekt˚u je v´yhodnˇejˇs´ı detekovat pomoc´ı shlukov´e anal´yzy a jak´e pomoc´ı neu- ronov´ych s´ıt´ı?
OT ´ AZKY K ZAMY ˇSLEN´I
1. Jak bude detekci objekt˚u ovlivˇnovat kvalita sn´ımku?
2. Jak´e metody zn´ate pro vylepˇsen´ı kvality sn´ımku pˇred samotnou detekc´ı a klasifikac´ı?
UKOLY ´
1. Libovoln´y sn´ımek s objekty (n´ahodnˇe nagenerovan´e nebo napˇr. sn´ımky bunˇek) upravte pomoc´ı prahov´an´ı a binarizace do formy sn´ımku ˇcern´a a b´ıl´a.
2. Pomoc´ı shlukov´e anal´yzy detekujte jednotliv´e objekty. Diskutujte ´uspˇeˇsnost detekce v z´avislosti na velikosti a ˇcetnosti objekt˚u na sn´ımku.
3. Pomoc´ı konvoluˇcn´ı s´ıtˇe proved’te detekci objekt˚u na stejn´ych sn´ımc´ıch a v´ysledky po- rovnejte.
M´ISTO PRO VA ˇSE POZN ´ AMKY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Rozpozn´an´ı a klasifikace objekt ˚ u-III
C´ILE KAPITOLY
C´ılem t´eto kapitoly je poskytnout pˇrehled framework˚u pro detekci a klasifikaci objekt˚u a jejich napojen´ı na vyuˇzit´ı v´ypoˇcetn´ıch prostˇredk˚u vˇetˇs´ıch datov´ych center. Pˇrehled fra- mework˚u bude z´uˇzen na ty nejv´ıce pouˇz´ıvan´e a typicky jde o frameworky Caffe, TensorFlow nebo Theano, kter´e poskytuj´ı moˇznost ˇsk´alovat v´ypoˇcet v z´avislosti na mnoˇzstv´ı dostupn´ych v´ypoˇcetn´ıch prostˇredk˚u.
V t´eto kapitole se dozv´ıte:
• jak se tvoˇr´ı model pomoc´ı frameworku,
• jak´e metody nebo s´ıtˇe jsou v r˚uzn´ych frameworc´ıch jiˇz uloˇzeny nebo pˇredtr´enov´any, pˇr´ıpadnˇe, jak lze natr´enovanou s´ıt’ uloˇzit,
• jak lze alokovat v´ypoˇcetn´ı prostˇredky a prov´est pˇrepracov´an´ı dat,
• jak se jednotliv´e ´ulohy ˇsk´aluj´ı v z´avislosti na mnoˇzstv´ı dostupn´ych prostˇredk˚u,
• jak takov´yto v´ypoˇcet kontrolovat na HPC klastru.
KL´I ˇ COVA SLOVA
framework, Theano, Caffe, TensorFlow, Amazon AWS, HPC, NVIDIA, TensorRT
N´apl ˇn l´atky t´eto kapitoly je pops´ana v n´asleduj´ıc´ıch zdroj´ıch.
• Popis jednotliv´ych framework˚u a alokace v´ypoˇcetn´ıch zdroj˚u lze nal´ezt napˇr´ıklad zde [10], zde [11] nebo zde [20].
• Popis implementace Caffe do platformy NVIDIA lze nal´ezt zde [21].
• Alokace v´ypoˇcetn´ıch zdroj˚u v r´amci sdruˇzen´ı Metacentrum lze nal´ezt zde [22]. N´avod na z´ısk´an´ı pˇr´ıstupu a v´ypoˇcetn´ıho ˇcasu na lok´aln´ım klastru lze z´ıskat aˇz na hodinˇe.
• N´avod, jak z´ıskat ˇcas na jin´ych svˇetov´ych v´ypoˇcetn´ıch centrech lze nal´ezt napˇr´ıklad zde [23].
Pˇr´ıklady spouˇstˇec´ıch skript˚u nutn´ych pro proveden´ı ´ulohy na lok´aln´ım klastru a pˇr´ıklady vyuˇzit´ı framework˚u pro klasifikaci objekt˚u v datech vˇetˇs´ıho objemu lze d´ale nal´ezt v syst´emu MOODLE.
SHRNUT´I
Po prostudov´an´ı byste mˇeli m´ıt n´asleduj´ıc´ı dovednosti a znalosti:
• Umˇet pˇripravit vybran´y framework pro vyuˇzit´ı r˚uzn´ych v´ypoˇcetn´ıch prostˇredk˚u, vˇcetnˇe grafick´ych akceler´ator˚u.
• Umˇet pracovat s vˇetˇs´ımi modely v r´amci HPC infrastruktury nebo v r´amci cloudov´eho ˇreˇsen´ı.
OT ´ AZKY
1. Co je nutn´e udˇelat, aby bylo moˇzn´e vyuˇz´ıt grafick´y akceler´ator pro ˇreˇsen´ı Vaˇs´ı ´ulohy?
2. Jak´y je rozd´ıl mezi frameworky vyuˇz´ıvaj´ıc´ımi cloudov´e ˇreˇsen´ı a ˇcistˇe lok´aln´ı HPC ˇreˇsen´ı?
3. Jak prob´ıh´a pˇriˇrazen´ı prostˇredk˚u na HPC klastru a jak´e z´asady je nutn´e dodrˇzovat?
OT ´ AZKY K ZAMY ˇSLEN´I
1. Jak´e ´ulohy se hod´ı pro ˇreˇsen´ı na HPC nebo cloudov´e infrastruktuˇre a kter´e naopak ne?
UKOLY ´
1. V´ami vybran´y framework pˇripravte pro vyuˇzit´ı grafick´eho akceler´atoru a optimalizujte pr´aci s daty.
2. Vyberte si ´ulohu s variabiln´ım mnoˇzstv´ım dat (napˇr. poˇcet sn´ımk˚u).
3. ´Ulohu zaˇrad’te do frontov´eho syst´emu na HPC klastru a proved’te v´ypoˇcet.
4. Proved’te ˇsk´alov´an´ı Vaˇs´ı ´ulohy v z´avislosti na mnoˇzstv´ı pˇridˇelen´ych prostˇredk˚u a na mnoˇzstv´ı dat, kter´a zpracov´av´ate.
M´ISTO PRO VA ˇSE POZN ´ AMKY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Zpracov´an´ı biologick ´ych dat
C´ILE KAPITOLY
C´ılem t´eto kapitoly je poskytnout pˇrehled metod pro klasifikaci biologick´ych dat, napˇr´ıklad sn´ımk˚u bunˇek v r˚uzn´ych spektrech vˇcetnˇe viditeln´eho, a to vˇcetnˇe nutn´eho pˇredzpracov´an´ı dat. Metody t´eto ˇc´asti budou zamˇeˇreny nejprve na samotnou segmentaci dat a pot´e na jejich klasifikaci.
V t´eto kapitole se dozv´ıte:
• jak lze poˇc´ıtaˇcovˇe zpracov´avat sn´ımky bunˇek v r˚uzn´ych spektrech, vˇcetnˇe viditeln´eho,
• jak prob´ıh´a n´asledn´a klasifikace bunˇek a z´ısk´av´an´ı dalˇs´ıch informac´ı ze sn´ımk˚u.
KL´I ˇ COVA SLOVA
segmenatce bunˇek, watershed algoritmus, konvoluˇcn´ı s´ıtˇe, tvarov´e faktory, Mahotas
N´apl ˇn l´atky je pops´ana v n´asleduj´ıc´ıch zdroj´ıch
• Princip segmentace bunˇek pomoc´ı Watershed algoritmu lze nal´ezt napˇr´ıklad zde [24]
nebo zde [25].
• Porovn´an´ı metod pro klasifikaci krevn´ıch bunˇek lze nal´ezt napˇr´ıklad zde [5] nebo zde [26].
• Popis vyuˇzit´ı konvoluˇcn´ıch s´ıt´ı pro klasifikaci shluk˚u bunˇek lze nal´ezt napˇr´ıklad zde [27].
• Zdroj sn´ımk˚u bunˇek lze nal´ezt napˇr´ıklad zde [28].
• Popis frameworku CLARA od firmy NVIDIA pro segmentaci bunˇek lze nal´ezt napˇr´ıklad zde [29].
• Implementace n´astroj˚u pro segmentaci bunˇek v jazyku Python lze nal´ezt napˇr´ıklad zde [30] nebo zde [4].
• Popis frameworku CLARA od firmy NVIDIA pro segmentaci bunˇek lze nal´ezt napˇr´ıklad zde [29].
Pˇr´ıklady segmentace bunˇek z fluorescenˇcn´ıho nebo optick´eho mikroskopu lze d´ale nal´ezt v syst´emu MOODLE.
SHRNUT´I
Po prostudov´an´ı byste mˇeli m´ıt n´asleduj´ıc´ı dovednosti a znalosti:
• M´ıt pˇrehled o metod´ach segmentace a klasifikace biologick´ych dat, zejm´ena bunˇek.
• Zn´at zdroje dat (sn´ımk˚u) pro testov´an´ı metod segmentace.
• Vyuˇz´ıt pro segmentaci jeden z moˇzn´ych framework˚u, kter´e byly prob´ır´any.
OT ´ AZKY
1. Jak´e artefakty se vyskytuj´ı ve sn´ımc´ıch bunˇek v z´avislosti na spektru, a jak se odstraˇnuj´ı?
2. Jak´e metody segmentace se vyuˇz´ıvaj´ı a na ˇcem jsou zaloˇzen´e?
3. Jak´e jsou dostupn´e zdroje sn´ımk˚u, kter´e lze napˇr´ıklad pro testov´an´ı nebo uˇcen´ı algoritm˚u vyuˇz´ıt?
OT ´ AZKY K ZAMY ˇSLEN´I
1. Jak´e artefakty lze jen stˇeˇz´ı odstranit a jak by nemˇely vypadat sn´ımky urˇcen´e pro seg- mentaci?
UKOLY ´
1. Z veˇrejnˇe dostupn´eho repozit´aˇre st´ahnˇete sn´ımky bunˇek v r˚uzn´ych spektrech (napˇr´ıklad fluorescenˇcn´ı data nebo data z optick´eho mikroskopu).
2. Postupnˇe aplikujte vybran´e metody segmentace tak, jak jsou pops´any v uveden´ych zdroj´ıch a porovnejte jejich spolehlivost a n´aroˇcnost implementace.
M´ISTO PRO VA ˇSE POZN ´ AMKY
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Literatura
[1] RANGAYYAN, Rangaraj M.Biomedical signal analysis. IEEE Press, 2015. ISBN 978-0-470- 0-91139-6.
[2] ed. CERUTTI, Sergio; MARCHESI, Carlo.Advanced Methods of Biomedical Signal Proces- sing. IEEE Press, 2011. ISBN 978-0-470-42214-4.
[3] scikitimage-image processing in python [online]. The scikit-image development team:
©2020 [cit. 19.03.2020], Dostupn´e z: https://scikit-image.org/.
[4] OpenCV [online], OpenCV team: ©2020 [cit. 19.03.2020], Dostupn´e z: https://opencv.org/
[5] HEDGE, Roopa B. et al. Comparison of traditional image processing and deep learning approaches for classification of whiteblood cells in peripheral blood smear images.Bio- cybernetics and Biomedical Engineering. 2019,39(2), 382-392. ISSN 0208-5216.
[6] ed. CELEBI, Emre M.; Aydin, Kemal. Unsupervised Learning Algorithms. Springer, 2016.
ISBN 978-3-319-24209-5.
[7] LITTLE, Max A. Machine Learning for Signal Processing; Data Science, Algorithms and Computational Statistics. Oxford University Press, 2019. ISBN 978-0-19-871493-4.
[8] ed. ROGERSON, Jeremy.Theory, Concepts and Methods of Recurrent Neural Networks and Soft Computing. ML Books International, 2019. ISBN 978-1632404930.
[9] Zemouri, Ryad et al. Deep Learning in the Biomedical Applications: Recent and Future Status.Applied Sciences. 2019,9(8), 1526-1566. ISSN 2076-3417.
[10] Keras: Simple Flexible. Powerfull [online]. Keras developers. ©2020 [cit. 19.03.2020], Do- stupn´e z: https://keras.io/
[11] TensorFlow: An end-to-end open source machine learning platform [online]. TensorFlow developers. ©2020 [cit. 19.03.2020], Dostupn´e z: https://www.tensorflow.org/
[12] GACEK, Adam; PEDRYCZ, Witold. ECG Signal Processing, Classification and Interpre-
tation. Springer, 2012. ISBN 978-0-85729-867-6.
[13] OKABE, Atsuyuki; BOOTS, Barry; SUGIHARA, Kokichi; CHIU, Sung Nok.Spatial tesse-
lations: Concepts and Applications of Voronoi Diagrams. John Wiley and Sons, 2000. ISBN 0-471-98635-6.
[14] SciPy [online]. SciPy developers: ©2020 [cit. 19.03.2020], Dostupn´e z:
https://www.scipy.org/
[15] AURENHAMMER, Franz; KLEIN, Rolf; LEE, Der-Tsai. Voronoi Diagrams and Delaunay
Triangulations. World Scientific, 2013. ISBN 978-9814447638.
[16] MELOUN, Milan; MILITK´Y, Jiˇr´ı. Kompendium statistick´eho zpracov´an´ı dat. Academia, 2006. ISBN 80-200-1396-2.
[17] ESTER, Martin et al. A density-based algorithm for discovering clusters in large spa- tial databases with noise.KDD’96: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining. 1996, 226-231.
[18] scikit learn [online]. The scikit learn development team: ©2020 [cit. 19.03.2020], Dostupn´e z: https://scikit-learn.org/stable/modules/clustering.html.
[19] HE, Kaiming et al. Deep Residual Learning for Image Recognition.2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2016, DOI: 10.1109/CVPR.2016.90.
[20] Caffe [online]. The Caffe development team: ©2020 [cit. 19.03.2020], Dostupn´e z:
https://caffe.berkeleyvision.org/.
[21] Caffe2 Deep Learning Framework [online]. NVIDIA Corporation ©2020 [cit. 19.03.2020], Dostupn´e z: https://developer.nvidia.com/caffe2.
[22] MetaCentrum VO - virtu´aln´ı organizace pro celou akademickou obec [online]. CESNET
©2020 [cit. 19.03.2020], Dostupn´e z: https://metavo.metacentrum.cz/.
[23] Amazon AWS [online]. Amazon Web Service ©2020 [cit. 19.03.2020], Dostupn´e z:
https://aws.amazon.com/.
[24] KORNILOV, Anton S. et al. An Overview of Watershed Algorithm Implementations in Open Source Libraries.Journal of Imaging. 2018,4(10), 123-138. ISSN 2313-433X.
[25] BARNES, Richard et al. Priority-Flood: An Optimal Depression-Filling and Watershed- LabelingAlgorithm for Digital Elevation Models.Computers & Geosciences. 2014,62, 117- 127. ISSN 0098-3004.
[26] VICAR et al. Cell segmentation methods forlabel-free contrast microscopy: review and- comprehensive comparison.BMC Bioinformatics. 2019,20(360), 1-25, ISSN 1471-2105.
[27] OEI, Ronald W. et al. Convolutional neural network for cell classification using microscope images of intracellular actin networks. PLOS ONE. 2019, 14 (3), 1-13, ISSN 1932-6203.
[28] THE HUMAM PROTEIN ATLAS [online]. THE HUMAM PROTEIN ATLAS ©2020 [cit.
19.03.2020], Dostupn´e z: https://www.proteinatlas.org/.
[29] NVIDIA Clara Imaging [online]. NVIDIA Corporation ©2020 [cit. 19.03.2020], Dostupn´e z: https://developer.nvidia.com/clara-medical-imaging.
[30] Mahotas: Computer Vision in Python [online], Luis Pedro Coelho: ©2008-2016 [cit.
19.03.2020], Dostupn´e z: https://mahotas.readthedocs.io/en/latest/