Kató Zoltán: Ipari Képfeldolgozás
6. Modell illesztés, alakzatok Kató Zoltán Képfeldolgozás és Számítógépes Grafika tanszék SZTE (http://www.inf.u-szeged.hu/~kato/teaching/)
Kató Zoltán: Ipari Képfeldolgozás
2
ROBOSZTUS EGYENES ILLESZTÉS
3
Egyenes illesztés • Adott a síkban egy P1, P2,…, PN ponthalmaz • Illesszünk rájuk egy egyenest úgy, hogy
A pontok egyenestől vett négyzetes távolságának összege minimális (geometriai hiba) Az egyenest az egyenletével reprezentáljuk:
Kató Zoltán: Ipari Képfeldolgozás
c nx x ny y 0, nx2 ny2 1 – (nx,ny) az egyenes normálvektora (egységvektor) – Ha egy P pont nincs az egyenesen, akkor |r| a pont távolsága az egyenestől:
c nx x n y y r
Túlhatározott egyenletrendszer megoldása (legkisebb négyzetes probléma): 1 x1 y1 r1 – Minimalizáljuk: N
r ri 2 i 1
c 1 x y2 r2 2 2 2 n és n n x x y 1 n y rN 1 x y N N x A
r
4
Megoldás • N nagy A sok sorból áll
Kató Zoltán: Ipari Képfeldolgozás
A QR felbontásával (Q ortogonális, R felső trianguláris) egy kisebb egyenletrendszert kaphatunk Mivel a normát az ortogonális transzformáció nem változtatja (hiszen csak elforgatás: ||QTr||=||r||), az alábbi egyenletrendszert kapjuk:
R11 R12 R13 0 R R 22 23 c 0 0 R33 T T 2 2 A QR Q Ax n Q r és n n x x y 1 0 0 0 n y 0 0 0
5
Megoldás • Mivel a nemlineáris mellékfeltétel csak 2 ismeretlent tartalmaz, az alábbi feladatot kell megoldani:
R22 R23 nx 2 2 0 és n n x y 1 0 R n 33 y Kató Zoltán: Ipari Képfeldolgozás
Ez egy klasszikus LSE probléma: ||Bx||=min, és||x||=1. – – – –
A minimum értéke B legkisebb szinguláris értéke A megoldás pedig az ennek megfelelő szinguláris vektor (nx,ny) B SVD felbontásából kapható meg c pedig ezek után az eredeti egyenletekbe való behelyettesítéssel adódik
6
Kilógó adatok problémája (Outliers) • Az LSE módszer feltételezi, hogy az adatpontjaink egy Gauss hiba erejéig jól illeszkednek a modellre
Vagyis a pont koordináták nagyjából egy egyenesre esnek egy korlátos szórással.
Kató Zoltán: Ipari Képfeldolgozás
• Mit tehetünk, ha az adatpontokra nem teljesül ez a feltétel? • Kilógó adatok (outliers) — az adatpontok nem ugyanahhoz a modellhez (egyeneshez) tartoznak: a becslésünk hibás lesz
Line fitting using regression is biased by outliers
from Hartley & Zisserman
7
Robosztus becslés: RANSAC • A becslést tekintsük egy két-lépéses eljárásnak:
Osztályozzuk az adatpontjainkat kilógókra és illeszkedőkre Illesszük a modellt az illeszkedőkre.
Kató Zoltán: Ipari Képfeldolgozás
1. Vegyünk egy véletlen minimális mintát az adatpontokból, amire a modell illeszthető (a minta) 2. Az illesztett modelltől t távolságra levő ponthalmaz a konszenzus halmaz, melynek mérete a modell támogatottsága. 3. Ismételjük az eljárást N mintára a legnagyobb támogatottságú modell lesz a robosztus illesztés
Ettől t távolságon kívül lévő pontok a kilógók A végső modellt az illeszkedő ponthalmazra határozzuk meg
Two samples and their supports for line-fitting
from Hartley & Zisserman
8
RANSAC:
t és N meghatározása
• t : általában empirikusan határozzuk meg • N: határozzuk meg úgy, hogy p valószínúséggel
Kató Zoltán: Ipari Képfeldolgozás
legalább egy minta tiszta illeszkedő (s pontot tartalmazó) adatpontokból álljon:
annak a valószínűsége, hogy egy pont kilógó • Tipikusan p = 0.99 ahol
9
RANSAC: példa (p
Proportion of outliers
Sample size
Kató Zoltán: Ipari Képfeldolgozás
= 0.99)
s
5%
10%
20%
25%
30%
40%
50%
2 3 4 5 6 7 8
2 3 3 4 4 4 5
3 4 5 6 7 8 9
5 7 9 12 16 20 26
6 9 13 17 24 33 44
7 11 17 26 37 54 78
11 19 34 57 97 163 272
17 35 72 146 293 588 1177
10
Példa: robosztus egyenes illesztés • n = 12 pont • Minimális minta mérete s = 2 • 2 kilógó pont = 1/6 = 20% • Tehát N = 5 99% valószínűséggel már ad legalább egy mintát, ami nem tartalmaz kilógó pontokat.
Kató Zoltán: Ipari Képfeldolgozás
Ezzel szemben az összes lehetséges pontpár végigpróbálgatása esetet jelentene.
from Hartley & Zisserman
N = 66
11
N adaptív meghatározása • Ha ismeretlen, akkor az alábbi módon 1. 2.
Kató Zoltán: Ipari Képfeldolgozás
3.
4.
5.
meghatározhatjuk: Legyen N=1 és =0.5 (legrosszabb eset)
Minden egyen mintára számoljuk meg az illeszkedő adatpontokat Frissítsük a kilógó adatok arányát, ha kisebb mint az előző: =1-(number of inliers) / (total number of points)
N értékét a formula alapján Ha az eddigi minták száma meghaladja N értékét stop Állítsuk be
12
RANSAC és LSE • RANSAC kiszűri a kilógó adatokat, és a végén egy olyan
becslést ad, amely a legnagyobb támogatottságú minimális adathalmazra épül • Ezt javíthatjuk, ha az így megtalált összes illeszkedő pontra egy LSE illesztést végzünk. • Így azonban megváltozhat az illeszkedő pontok halmaza is Kató Zoltán: Ipari Képfeldolgozás
Érdemes tehát alternálva kiszűrni a kilógó adatokat majd LSE illesztéssel meghatározni a többi pontra illeszkedő modellt.
from Hartley & Zisserman
Kató Zoltán: Ipari Képfeldolgozás
13
ALAKZATOK ÉS MINTÁK DETEKTÁLÁSA
14
Hough transzformáció • Éldetektálás során csak élpontok halmazát kapjuk. • Hogyan kereshetünk magasabb rendű struktúrákat,
Kató Zoltán: Ipari Képfeldolgozás
alakzatokat az élpontok halmazában?
• A Hough-transzformáció során a képen általában az
f (x,y;a1,a2,…,an)=0 a1,a2,…,an paraméterekkel explicit alakban megadható görbéket keressük • A Hough transzformáció alkalmazása célravezető, ha
ismert alakú (és méretű) objektumokat keresünk a képen. Akkor is, ha azok részben takartak vagy zajosak.
15
Egyenesek detektálása • Ekkor az input tér egy (xi,yi) pontjának az
r=xi·cosφ+yi·sinφ
0 2 0 r rmax
Kató Zoltán: Ipari Képfeldolgozás
szinuszoid görbe felel meg a Hough-térben. • Az egy egyenesbe eső pontokhoz tartozó szinuszoid görbék egy pontban metszik egymást. input képtér
Hough-tér
16
Hogyan találjuk meg az egyeneseket? • Egy (él)pont a képtérben
megfelel egy szinusz görbének a Hough térben
Két pontnak két görbe felel meg
Kató Zoltán: Ipari Képfeldolgozás
• Két (vagy több) ilyen görbe metszéspontja által reprezentált egyenesre ekkor kettő (vagy több) szavazat esett.
Az így kapott egyenes valamennyi rá szavazó ponton átmegy a képtérben.
• A Hough tér küszöbölésével megkapjuk a képtér egyeneseit
17
Kató Zoltán: Ipari Képfeldolgozás
Hough transzformáció algoritmusa Create f and r for all possible lines Create an array A indexed by f and r for each point (x,y) for each angle f r = x*cos(f)+ y*sin(f) A[f,r] = A[f,r]+1 end end where A > Threshold return the corresponding line parameters
18
Példa egyenesek detektálására • A képen 5 egyenes található (4 oldal + 1 átló)
Kató Zoltán: Ipari Képfeldolgozás
f
r
Kató Zoltán: Ipari Képfeldolgozás
19
20
Körvonal detektálása • Általános körök esetén az (a,b,r) Hough-tér 3dimenziós lesz: ax2+by2=r2 → f (x,y,a,b,r)=ax2+by2-r2=0
Kató Zoltán: Ipari Képfeldolgozás
Amennyiben pl. adott (konstans) r-sugarú kört keresünk, akkor a paraméter-tér 2-dimenziósra csökken – a gyakorlatban ez használatos
21
Kató Zoltán: Ipari Képfeldolgozás
Körvonal detektálása
él-kép, amin ismert sugarú kört keresünk
2D Hough-tér, ahol minden élpontnak egy, a potenciális középpontokat tartalmazó kör felel meg
22
Kató Zoltán: Ipari Képfeldolgozás
Körvonal detektálása
él-kép
maximumhely(ek) a Houghtérben → a detektált kör(ök) középpontja(i)
23
Kató Zoltán: Ipari Képfeldolgozás
Példa körvonal detektálására
(a) eredeti kép (b) él-kép (c) 2D paraméter tér (adott sugarú köröket keresünk) (d) detektált körök az eredeti képen
24
Minták keresése képeken • Az illesztési módszerekkel ismert tárgyakat, minták előfordulásait keressük a képen.
Kató Zoltán: Ipari Képfeldolgozás
minta
legjobb illeszkedés pozíciója
25
Normalizált kereszt-korreláció (2D) • A legegyszerűbb a normalizált kereszt-korreláció alapján illeszteni
Kató Zoltán: Ipari Képfeldolgozás
Az illesztési minta MxN méretű A kép minden pontjára kiszámoljuk a mintával vett keresztkorreláció értékét az alábbi képlet alapján x és y a minta illetve a kép viszgált pixeleit jelölik M 1 N 1
rxy (d , e)
( x
ij
i 0 j 0
M 1 N 1
( x i 0 j 0
ij
x ) ( yi d , j e y )
x ) 2
M 1 N 1
( y i 0 j 0
ij
y )
2
26
Illesztési algoritmus 1. Számítsuk ki a mintának megfelelő
Kató Zoltán: Ipari Képfeldolgozás
illeszkedési kritériumot minden helyre (esetleg több méretre és irányra is) a képen. 2. Egy küszöbérték feletti lokális maximumhelyek megadják a minta előfordulási helyeit a képen.
az illesztési minta és a kép a kereszt-korreláció
27
input kép
Kató Zoltán: Ipari Képfeldolgozás
illesztési minta
kereszt-korreláció kép, (fehér: magas korreláció, fekete: alacsony korreláció)
28
Kató Zoltán: Ipari Képfeldolgozás
Alternatív illesztési kritériumok
1 C1 (u , v) 1 max (i , j )V f (i u , j v) h(i, j ) 1 C2 (u , v) 1 (i , j )V f (i u , j v) h(i, j ) 1 C3 (u , v) 2 1 (i , j )V ( f (i u , j v) h(i, j )) ahol f a feldolgozandó kép, h a keresendő minta és V a képpontok halmaza,
29
Hierarchikus illesztés • A képpiramisok itt is jól használhatóak:
A piramis struktúrával csökkenthető a műveleti komplexitás.
• Először egy durvább mintát illesztünk egy durvább
Kató Zoltán: Ipari Képfeldolgozás
képen (kevesebb művelet).
• Utána már csak azokat az illesztéseket vizsgáljuk finomabb felbontásban, amelyek kritériuma meghaladt egy bizonyos küszöböt.
Kató Zoltán: Ipari Képfeldolgozás
30
EGYSZERŰ ALAKZATJELLEMZŐK
31
Kató Zoltán: Ipari Képfeldolgozás
Befoglalóló téglalap
„álló” befoglaló téglalap
minimális befoglaló téglalap
32
Rektangularitás (téglalap-szerűség)
Kató Zoltán: Ipari Képfeldolgozás
az alakzat területének és a minimális befoglaló téglalap területének a hányadosa
téglalap-szerű
nem téglalap-szerű
33
Kató Zoltán: Ipari Képfeldolgozás
Fő- és melléktengely
főtengely: az alakzaton belül haladó leghosszabb egyenes szakasz
melléktengely: az alakzaton belüli, a főtengelyre merőleges leghosszabb egyenes szakasz
34
Excentricitás
Kató Zoltán: Ipari Képfeldolgozás
a fő- és a melléktengely hosszaránya: d1/d2
d1 d2
35
Főtengely szöge (az alakzat iránya)
Kató Zoltán: Ipari Képfeldolgozás
a főtengely és az x-tengely által bezárt szög
x
36
Átmérő
Diam( S ) max{ d ( p, q) }, Kató Zoltán: Ipari Képfeldolgozás
p , qS
ahol : - S : alakzat, - S : alakzat határa, - d : távolság.
37
Kompaktság kompaktság = (kerület)2 / terület
Kató Zoltán: Ipari Képfeldolgozás
pl. kör: 4π ≈ 12.6 négyzet: 16
erősen kompakt
gyengén kompakt
38
Cirkularitás (körszerűség)
Kató Zoltán: Ipari Képfeldolgozás
cirkularitás = 1 / kompaktság = terület / (kerület)2
maximális a körre: 1/(4π) ≈ 0.08.
39
Momentumok
Kató Zoltán: Ipari Képfeldolgozás
Az I kép (p+q)-adrendű (képi) momentumai (p,q=0,1,2,…):
Az S bináris alakzat (p+q)-adrendű (geometriai) momentumai:
40
Súlypont
Kató Zoltán: Ipari Képfeldolgozás
bináris tömegközéppont
tömegközéppont többszintű képen
41
Centrális momentumok
Kató Zoltán: Ipari Képfeldolgozás
Az I kép (p+q)-adrendű centrális (képi) momentuma:
Az S bináris alakzat (p+q)-edrendű centrális (geometriai) momentuma:
Normalizált centrális momentumok:
42
Kató Zoltán: Ipari Képfeldolgozás
Excentricitás
0 és 1 közötti érték.
Kató Zoltán: Ipari Képfeldolgozás
43
Főtengely szöge
Kató Zoltán: Ipari Képfeldolgozás
44
Affin invariáns momentumok
45
Felhasznált anyagok • Palágyi Kálmán: Digitális Képfeldolgozás /pub/Digitalis_kepfeldolgozas
Kató Zoltán: Ipari Képfeldolgozás
• További források az egyes diákon megjelölve