Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Image segmentation
Mihkel HeidelbergKarl Tarbe
Image segmentation
Image segmentation
ThresholdingWatershed Region splitting and mergingMotion segmentationMuud meetodid
Thresholding
LihtneIntuitiivneÜ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) - globalf(x,y) ja p(x,y) - localkasutades 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 osadeks2. 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 SegmentationIdeaalne juht
Watershed Segmentationnatuke reaalsem variant.
Watershed Segmentation
Selleks, et watershedi kasutada tehakse kas palju eeltöötlust:SilutakseVõetakse gradientMääratakse markerid, või eemaldatakse ebaolulised miinimumidTeisendatakse nii, et valitud markerid jääksid ainukesteks miinimumideks
Saab ka pärast watershedi tegemist tulemust parandada saadud segmente kombineerides ja ühendades
Watershed Segmentationhttp://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 kaadreidMiinus: 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 ruumi2. 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 transformhttp://cmm.ensmp.fr/~beucher/wtshed.htmlHough-transformhttp://www.local-guru.net/blog/2010/01/19/line-detection-with-hough-transform