Image segmentation Mihkel Heidelberg Karl Tarbe
Image segmentation
Image segmentation Thresholding Watershed Region splitting and merging Motion segmentation Muud meetodid
Thresholding Lihtne Intuitiivne Üks kesksemaid tööriistu Üldistatuna võib vaadelda nagu kontrolli funktsiooni: vastu, kus thresholdiga segmenteeritud pildi saame
Thresholding Vastavalt sellest mis argumente me tegelikult kasutame saame jagada erinevateks meetoditeks ainult f(x,y) - global f(x,y) ja p(x,y) - local kasutades ka ka x ja y - dynamic, adaptive.
Basic Binary Thresholding
Optimal Global and Adaptive Thresholding Naiivne algoritm: Vea minimeerimine eeldades Gaussi jaotust: Kui standardhälbed on võrdsed siis lihtsutub: Servade kasutamine parema histogrammi saamiseks.
Basic Adaptive Thresholding Pikslit võrreldakse tema ümbruse keskmistatud väärtusega. Aitab näiteks siis kui pildi valgustus ja toon sujuvalt muutuvad, aga meid huvitavad objektid ja taust on lokaalselt alati selgesti eristatavad.
More Adaptive Thresholding Saab ka teha palju huvitavamaid asju, kui p(x,y) panna kirjeldama muid ümbruskonna omadusi. Kombinatsioon eelnevast töötlusest ja tavalisest Adaptive thresholdist.
Multispectral thresholding Kombineeritakse mitme kanali info. Vaadatame värviruumi mitmedimensionaalselt ja lõikame sealt vajalikud osad välja. Malli demo
Region growing Võtame mingid alguspunktid. Defineerime mingi tingimuse, millele vastates on regioon sama. Siis hakkame vaikselt nendest alguspunktidest regioone kasvatama. Niikaua kasvatame, kuni regioon vastab ikka veel sellele tingimusele, mille me alguses defineerisime.
Region splitting and merging Olgu meil mingi tingimus, mida pilt peab rahuldama, et teda saaks thresholdida. Olgu see näiteks P(Ri), kus Ri on pildi mingi regioon. 1. Kui P(R) ei ole tõene, siis jagada pilt väiksemateks osadeks 2. Kui rohkem jagada ei ole vaja, siis ühendada need osad, mis on lähestikku ja mis koos vastavad tingimusele P(). 3. Kui rohkem ühendada ei saa, siis ongi pilt regioonideks jagatud.
Watershed Segmentation Koondab enda alla ka hulk sarnaseid meetmeid. Kõige lihtsam: Vaatame ühekanalist pilti kui kõrguskaarti
Watershed Segmentation Ideaalne juht
Watershed Segmentation natuke reaalsem variant.
Watershed Segmentation Selleks, et watershedi kasutada tehakse kas palju eeltöötlust: Silutakse Võetakse gradient Määratakse markerid, või eemaldatakse ebaolulised miinimumid Teisendatakse nii, et valitud markerid jääksid ainukesteks miinimumideks Saab ka pärast watershedi tegemist tulemust parandada saadud segmente kombineerides ja ühendades
Watershed Segmentation http://cmm.ensmp.fr/~beucher/wtshed.html
Opencv watershed Kasutab ainult 3 kanalist pilti. Peab ette andma markerid.
Motion segmentation
Motion segmentation Liikumine tähendab, et meil tuleb võrrelda vähemalt kahte kaadrit. Kõige kergem viis selleks on võrrelda pikslite väärtusi. Nii saame erinevuste pildi defineerida järgmiselt: f(x,y)= ft-1(x,y) -ft(x,y), kus f(x,y) on erinevuste pilt ja ft-1(x,y) ja ft(x,y) on erinevatel ajahetkedel võetud kaadrid. Selle omadused?
Motion segmentation Parem lahendus on koguda erinevused kokku K kaadri pealt: Tähistame vanima pildi R(x,y) ja kaadrid f(x,y,k): Siis saab defineerida järgnevad kolm ADI (Accumulated Difference Image) järgmiselt:
Motion segmentation Võib ka teistmoodi teha: OpenCV-s on selline funktsioon, mis salvestab samuti liikumise ajalugu. Eelis: ei pea hoidma meeles kogu ajaloo jagu kaadreid Miinus: ei ole meeles eelmised kaadrid
Motion segmentation Sama konseptsiooni võib rakendada ka keerulisematele asjadele ( ääred, nurgad, jooned ). Lisaks avaldub mingi asi sagedusdomeenis.
Hough transformatsioon Algselt tehtud sirgete leidmiseks. Kuid hiljem on seda üldistatud. Üldine idee: 1. Viia läbi transformatsioon parameetrite ruumi 2. Koguda kokku (akkumuleerida) erinevate punktide jaoks parameetrid. 3. Leida parameetrite ruumist sobivad kohad (tavaliselt lokaalne maksimum) 4. Teisendada tulemus parameetrite ruumist tagasi pildiruumi
Hough lines Sirgjoon: y=kx+b Pildiruumis on: x ja y => parameetrite ruumis: k ja b Iga punkti kohta, tehakse parameetrite ruumi üks joon, kus on esindatud kõik seda punkti läbida võivad sirged. (Parameetrite ruumi lisatakse kaar) Kaarte ristumiskohad vastavad punktidele, milliste parameetritega sirged meil pildil on.
Hough lines
Hough circles Ringi saab parameetrite ruumis kujutada kolme omaduse abil: keskpunkti koordinaadid ja raadius. Tekib kolmemõõtmeline parameetrite ruum. Presidendi demo
Täname kuulamast Küsimusi?
Lingid: Opencv http://opencv.willowgarage.com/wiki/ Watershed transform http://cmm.ensmp.fr/~beucher/wtshed.html Hough-transform http://www.local-guru.net/blog/2010/01/19/line-detection-withhough-transform