|
|
||
|---|---|---|
| .. | ||
| lab | ||
| README.md | ||
| SemanticSegmentationPytorch.ipynb | ||
| SemanticSegmentationTF.ipynb | ||
README.md
Segmentointi
Olemme aiemmin oppineet objektien tunnistamisesta, jonka avulla voimme paikantaa objektit kuvasta ennustamalla niiden rajauslaatikot. Joissakin tehtÀvissÀ emme kuitenkaan tarvitse pelkÀstÀÀn rajauslaatikoita, vaan myös tarkempaa objektien paikannusta. TÀtÀ tehtÀvÀÀ kutsutaan segmentoinniksi.
Pre-lecture quiz
Segmentointia voidaan pitÀÀ pikseliluokitteluna, jossa jokaiselle kuvan pikselille tÀytyy ennustaa sen luokka (tausta on yksi luokista). Segmentointialgoritmeja on kaksi pÀÀtyyppiÀ:
- Semanttinen segmentointi kertoo vain pikselin luokan, mutta ei erottele saman luokan eri objekteja.
- Instanssisegmentointi jakaa luokat eri instansseihin.
Esimerkiksi instanssisegmentoinnissa nÀmÀ lampaat ovat eri objekteja, mutta semanttisessa segmentoinnissa kaikki lampaat kuuluvat yhteen luokkaan.
Segmentointiin on olemassa erilaisia neuroverkkoarkkitehtuureja, mutta niillÀ kaikilla on sama rakenne. Tavallaan se muistuttaa aiemmin oppimaasi autoenkooderia, mutta alkuperÀisen kuvan purkamisen sijaan tavoitteemme on purkaa maski. Segmentointiverkolla on seuraavat osat:
- Kooderi, joka poimii piirteitÀ syötekuvasta.
- Dekooderi, joka muuntaa nÀmÀ piirteet maskikuvaksi, jonka koko ja kanavien mÀÀrÀ vastaavat luokkien mÀÀrÀÀ.
Kuva tÀstÀ julkaisusta
Erityisesti on mainittava segmentoinnissa kÀytettÀvÀ hÀviöfunktio. Klassisia autoenkoodereita kÀytettÀessÀ meidÀn tÀytyy mitata kahden kuvan samankaltaisuutta, ja tÀhÀn voidaan kÀyttÀÀ keskineliövirhettÀ (MSE). Segmentoinnissa kohdemaskikuvan jokainen pikseli edustaa luokkanumeroa (yksi-kuuma-koodattuna kolmannessa ulottuvuudessa), joten meidÀn tÀytyy kÀyttÀÀ luokitteluun tarkoitettuja hÀviöfunktioita - ristiinentroopiahÀviötÀ, joka on keskiarvoistettu kaikille pikseleille. Jos maski on binÀÀrinen, kÀytetÀÀn binÀÀristÀ ristiinentroopiahÀviötÀ (BCE).
â Yksi-kuuma-koodaus on tapa koodata luokkamerkki vektoriksi, jonka pituus vastaa luokkien mÀÀrÀÀ. Tutustu tĂ€hĂ€n artikkeliin saadaksesi lisĂ€tietoja tĂ€stĂ€ tekniikasta.
Segmentointi lÀÀketieteellisissÀ kuvissa
TÀssÀ oppitunnissa nÀemme segmentoinnin toiminnassa kouluttamalla verkon tunnistamaan ihmisen luomia (tunnetaan myös nimellÀ "moolit") lÀÀketieteellisistÀ kuvista. KÀytÀmme PH2-tietokantaa, joka sisÀltÀÀ dermoskopiakuvia. TÀmÀ tietokanta sisÀltÀÀ 200 kuvaa kolmesta luokasta: tyypillinen luomi, epÀtyypillinen luomi ja melanooma. Kaikilla kuvilla on myös vastaava maski, joka rajaa luomen.
â TĂ€mĂ€ tekniikka sopii erityisen hyvin tĂ€mĂ€n tyyppisiin lÀÀketieteellisiin kuviin, mutta mitĂ€ muita tosielĂ€mĂ€n sovelluksia voisit kuvitella?
Kuva PH2-tietokannasta
Koulutamme mallin segmentoimaan minkÀ tahansa luomen taustastaan.
âïž Harjoitukset: Semanttinen segmentointi
Avaa alla olevat muistikirjat oppiaksesi lisÀÀ erilaisista semanttisen segmentoinnin arkkitehtuureista, harjoitellaksesi niiden kÀyttöÀ ja nÀhdÀksesi ne toiminnassa.
Post-lecture quiz
Yhteenveto
Segmentointi on erittÀin tehokas tekniikka kuvien luokittelussa, joka menee rajausbokseja pidemmÀlle pikselitason luokitteluun. SitÀ kÀytetÀÀn lÀÀketieteellisissÀ kuvissa ja monissa muissa sovelluksissa.
đ Haaste
Kehon segmentointi on vain yksi yleisistÀ tehtÀvistÀ, joita voimme tehdÀ ihmisten kuvilla. Muita tÀrkeitÀ tehtÀviÀ ovat luurangon tunnistus ja asennon tunnistus. Kokeile OpenPose-kirjastoa nÀhdÀksesi, miten asennon tunnistusta voidaan kÀyttÀÀ.
Kertaus ja itseopiskelu
TÀmÀ Wikipedia-artikkeli tarjoaa hyvÀn yleiskatsauksen tÀmÀn tekniikan eri sovelluksista. Opi lisÀÀ itsenÀisesti instanssisegmentoinnin ja panoptisen segmentoinnin alalajeista tÀssÀ tutkimuskentÀssÀ.
TehtÀvÀ
TÀssÀ laboratoriossa kokeile ihmiskehon segmentointia kÀyttÀen Segmentation Full Body MADS Dataset-tietokantaa Kagglesta.
Vastuuvapauslauseke:
TÀmÀ asiakirja on kÀÀnnetty kÀyttÀmÀllÀ tekoÀlypohjaista kÀÀnnöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, ettÀ automaattiset kÀÀnnökset voivat sisÀltÀÀ virheitÀ tai epÀtarkkuuksia. AlkuperÀinen asiakirja sen alkuperÀisellÀ kielellÀ tulisi pitÀÀ ensisijaisena lÀhteenÀ. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskÀÀnnöstÀ. Emme ole vastuussa vÀÀrinkÀsityksistÀ tai virhetulkinnoista, jotka johtuvat tÀmÀn kÀÀnnöksen kÀytöstÀ.