Mihkel Heidelberg Karl Tarbe - Arvutiteaduse instituut...Karl Tarbe Image segmentation Image...

Preview:

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

Recommended