Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Vaizdų segmentavimas
Linas Petkevičius7 @dxlino � @linas-p
Giliojo mokymosi metodai (Deep learning)VU MIF II, 2019 pavasaris
2019-04-30
1 / 25
Šiandienos eiga
• Segmentavimo uždaviniai• Penkiaminutinė užduotėlė• Laboratorinių darbų užduotys
2 / 25
Priminimas• Lokalizacija + klasifikavimas• Objektų aptikimas• Segmentavimas• Momentinis segmentavimas
1
1https://towardsdatascience.com/detection-and-segmentation-through-convnets-47aa42de27ea3 / 25
Vaizdų segmentavimo sąvokaIstoriškai segmentavimas suprantamas kaip vaizdo padalijimas įsritis:
Žmogaus susegmentuoti vaizdai: šaltinis Svetlana Lazebnik
4 / 25
K-vidurkių klasterizavimasPasirinkus fiksuotą skaičių k, visi duomenys priskiriami vienam išartimiausių centrų.
2
2https://bigdata-madesimple.com/possibly-the-simplest-way-to-explain-k-means-algorithm/5 / 25
K-vidurkių klasterizavimas: pavyzdys
Taikant K-vidurkių klasterizavimą rasti tris centrus geriausiainusakančius pikselių grupes. Ieškosime centrų ci minimizuodamiKvadratų sumą (Sum of Square):
SSD =∑
i∈klasteriai
∑x∈klasterisi
(x− ci)2
6 / 25
K-vidurkių algoritmas
1. Inicializuojame centrus c1, ..., cK . Dažnai parenkameatsitiktinai.
2. Kiekvieną tašką priskiriame atskiram artimiausiam centrui.3. Atnaujiname centrus imdami vidurį visų taškų esančių tame
klasteryje.4. Kartojame 2-3 procedūrą, kol centrai nebesikeičia arba
ivykdomas atitinkamas skaičius iteracijų.
3
3https://brilliant.org/wiki/k-means-clustering/7 / 25
Uždaviniai su giliaisiai modeliais
Kiekvieną pikselį priskiriame klasifikuojame į klases:
4
4https://towardsdatascience.com/understanding-semantic-segmentation-with-unet-6be4f42d4b478 / 25
Formulavimas: pikselis -> klasės
5
5https://www.jeremyjordan.me/semantic-segmentation/ 9 / 25
Formulavimas: Tikslo funkcijosDažniausiai taikome kryžminę entropiją (cross entropy) kiekvienampikseliui:
6
6https://www.jeremyjordan.me/semantic-segmentation/ 10 / 25
Tikslo funkcijos
L = 1−Dice = 1− 2 |A�B||A|2 + |B|2
7
7https://www.jeremyjordan.me/semantic-segmentation/11 / 25
FCNSS (2015)
• KNT tipo modelis• Prognozavimas papikseliui
8
8Long, Jonathan, Evan Shelhamer, and Trevor Darrell. "Fully convolutional networks for semanticsegmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
12 / 25
Atspaudimas
9
9CS231n kursas13 / 25
Atspaudimas
10
10CS231n kursas14 / 25
Atspaudimas
11
11CS231n kursas15 / 25
Atspaudimas: pavyzdys
Tarkime turime:
X4×4 ∗K3×3 =
4 5 8 71 8 8 83 6 6 46 5 7 8
∗1 4 1
1 4 33 3 1
=(
122 148126 143
)= A2×2
Išskaidykime K specifiškai į K, bei vektorizuokime X į X:
K =
1 4 1 0 1 4 3 0 3 3 1 0 0 0 0 00 1 4 1 0 1 4 3 0 3 3 1 0 0 0 00 0 0 0 1 4 1 0 1 4 3 0 3 3 1 00 0 0 0 0 1 4 1 0 1 4 3 0 3 3 1
X = (4, 5, 8, 7, 1, 8, 8, 8, 3, 6, 6, 4, 6, 5, 7, 8)T
K4×16X16×1 = (122, 148, 126, 134)T = A4×1
16 / 25
Atspaudimas: pavyzdys
Tarkime norime rekonstruoti vaizdą, turime mažą paveikslėlį B, jįvektorizuojame B, taigi turėdami konvoliucinio branduolio svoriusK padidiname paveikslėlį Y
KT16×4B4×1 = Y16×1 = Y4×4
17 / 25
U-Net (2015)• Auto-enkoderio tipo modelis• Daugiasluoksnis prognozavimas• Mokinimas grupėmis (patches)
12
12http://www.deeplearning.net/tutorial/unet.html18 / 25
Seg-Net (2017)
• Auto-enkoderio tipo modelis• Praskėstos (dilated) konvoliucijos• Max-up pooling
13
13Badrinarayanan, Vijay, Alex Kendall, and Roberto Cipolla. "Segnet: A deep convolutional encoder-decoderarchitecture for image segmentation." IEEE transactions on pattern analysis and machine intelligence 39.12 (2017):2481-2495.
19 / 25
Momentinis segmentavimas
Aptikimas + Segmentavimas
14
14CS231n kursas20 / 25
Mask R-CNN (2017)
15
15https://medium.freecodecamp.org/mask-r-cnn-explained-7f82bec890e321 / 25
Momentinis segmentavimas
Aptikimas + Segmentavimas
16
16CS231n kursas22 / 25
Momentinis segmentavimasTikslo funkcija:
L = Lklasifikavimas + Llokalizacija + Lkauke
17
17https://medium.com/@jonathan_hui/image-segmentation-with-mask-r-cnn-ebe6d79327223 / 25
Mask R-CNN (2017)
• Nepriklausanti nuo pav. dydžio• Sričių generatorius• Regionių lygiavimas (RoIAlign)• Multi-task network head:
• Srities klasifikatorius• Srities regresija• Srities identifikavimas (mask)• Pagrindinių taškų identifikavimas
18
18https://codesign.live/2018/07/11/mask-r-cnn-mask-r-cnn-for-object-detection-and-instance-segmentation-on-keras-and-tensorflow/
24 / 25
Kitas susitikimas:
Goodfellow: 10 skyrius: Rekurentiniai modeliai
25 / 25