|
|
||
|---|---|---|
| .. | ||
| lab | ||
| README.md | ||
| SemanticSegmentationPytorch.ipynb | ||
| SemanticSegmentationTF.ipynb | ||
README.md
Segmentering
Vi har tidligere lært om Objektgenkendelse, som giver os mulighed for at lokalisere objekter i et billede ved at forudsige deres bounding boxes. Men til nogle opgaver har vi ikke kun brug for bounding boxes, men også mere præcis objektlokalisering. Denne opgave kaldes segmentering.
Pre-lecture quiz
Segmentering kan betragtes som pixelklassifikation, hvor vi for hver pixel i billedet skal forudsige dens klasse (baggrund er en af klasserne). Der findes to hovedtyper af segmenteringsalgoritmer:
- Semantisk segmentering angiver kun pixelklassen og skelner ikke mellem forskellige objekter af samme klasse.
- Instance segmentering opdeler klasser i forskellige instanser.
For instance segmentering er disse får forskellige objekter, men for semantisk segmentering repræsenteres alle får af én klasse.
Billede fra denne blogpost
Der findes forskellige neurale arkitekturer til segmentering, men de har alle samme struktur. På en måde minder det om autoencoder, som du tidligere har lært om, men i stedet for at dekonstruere det originale billede er målet at dekonstruere en maske. Derfor har et segmenteringsnetværk følgende dele:
- Encoder udtrækker funktioner fra inputbilledet.
- Decoder transformerer disse funktioner til maske-billedet, med samme størrelse og antal kanaler svarende til antallet af klasser.
Billede fra denne publikation
Vi bør især nævne den tab-funktion, der bruges til segmentering. Når vi bruger klassiske autoencoders, skal vi måle ligheden mellem to billeder, og vi kan bruge mean square error (MSE) til dette. Ved segmentering repræsenterer hver pixel i målmaske-billedet klassens nummer (one-hot-encoded langs den tredje dimension), så vi skal bruge tab-funktioner specifikt til klassifikation - cross-entropy loss, gennemsnitligt over alle pixels. Hvis masken er binær, bruges binary cross-entropy loss (BCE).
✅ One-hot encoding er en metode til at kode en klasseetiket som en vektor med en længde svarende til antallet af klasser. Se denne artikel for mere om denne teknik.
Segmentering inden for Medicinsk Billedbehandling
I denne lektion vil vi se segmentering i praksis ved at træne et netværk til at genkende menneskelige nevi (også kendt som modermærker) på medicinske billeder. Vi vil bruge PH2 Database af dermoskopi-billeder som billedkilde. Dette datasæt indeholder 200 billeder af tre klasser: typisk nevus, atypisk nevus og melanom. Alle billeder indeholder også en tilsvarende maske, der afgrænser nevus.
✅ Denne teknik er særligt velegnet til denne type medicinsk billedbehandling, men hvilke andre anvendelser i den virkelige verden kan du forestille dig?
Billede fra PH2 Database
Vi vil træne en model til at segmentere enhver nevus fra dens baggrund.
✍️ Øvelser: Semantisk Segmentering
Åbn nedenstående notebooks for at lære mere om forskellige semantiske segmenteringsarkitekturer, øve dig i at arbejde med dem og se dem i praksis.
Post-lecture quiz
Konklusion
Segmentering er en meget kraftfuld teknik til billedklassifikation, der går ud over bounding boxes til pixel-niveau klassifikation. Det er en teknik, der bruges inden for medicinsk billedbehandling, blandt andre anvendelser.
🚀 Udfordring
Kropssegmentering er blot en af de almindelige opgaver, vi kan udføre med billeder af mennesker. Andre vigtige opgaver inkluderer skeletdetektion og posedetektion. Prøv OpenPose-biblioteket for at se, hvordan posedetektion kan bruges.
Gennemgang & Selvstudie
Denne wikipedia artikel giver et godt overblik over de forskellige anvendelser af denne teknik. Lær mere på egen hånd om underområderne Instance segmentering og Panoptic segmentering inden for dette felt.
Opgave
I denne lab skal du prøve kropssegmentering ved hjælp af Segmentation Full Body MADS Dataset fra Kaggle.
Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at opnå nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.