Professional Documents
Culture Documents
Praktikum Robotike 3 Ciklus
Praktikum Robotike 3 Ciklus
Robotski vid
•Robotski su sustavi često
opremljeni vanjskim
osjetilima (senzorima), koji
svojim informacijama
omogućuju robotskom
upravljačkom uređaju da
obavi traženu zadaću kao
što bi je obavio čovjek
•Povezivanje kamere i
robota Æ robotski vid Æ
oblik umjetne inteligencije
2
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
4
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
računalo s digitalizatorom
video slike
6
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
OSNOVNE OPERACIJE ROBOTSKOG VIDA
Kalibriranje kamere* ¤ Kalibrirana video kamera snima
radnu površinu s predmetima i šalje
Editiranje predmeta* sliku računalu
¤ Kalibracija je postupak koji
uspostavlja vezu između stvarnih
Digitalizacija slike
dimenzija i dimenzija u slici.
¤ Digitalizator pretvara analognu sliku
Segmentacija slike u digitalne podatke, koji se pohranjuju
u memoriju računala (mnoge kamere
su već digitalne)
Lociranje predmeta neuspješno
¤ Digitalnu sliku moguće je obrađivati u
uspješno
svrhu prepoznavanja željenih oblika
¤ Proces pronalaženja i pomicanja
Pomaci predmeta
željenih predmeta temelji se na točno
* dostatno izvesti jedanput utvrđenom slijedu operacija (slika).
Prikaz slike
• Dvodimenzionalna slika
• Intenzitet svjetla koji odgovara točki u k-tom retku i j-tom stupcu je srednja
vrijednost intenziteta na tom djeliću slike
Δx Δy
∫ ∫ i[ ( k − 1) Δx + x, ( j − 1) Δy + y]dydx
I a ( k , j) = 0 0
ΔxΔy
• Diskretizacija slike po x i y Æ rezolucija m x n točaka
• Kvantizacija intenziteta na b bita (2b nijansi sivog)
• Rezolucija 1024 x 1024 uz 256 nijansi Æ 1Mb (rade se kompresije slike)
• Mjestimične nagle promjene intenziteta u nekom području slike ujednačenog
intenziteta najčešće predstavljaju šum u slici.
• Izvlačenje korisne informacije iz slike Æ potrebna je obrada slike
• U robotici se primjenjuju isti algoritmi kao i u računalnoj grafici Æ
glavni problem je uvijek brzina izvođenja algoritama za obradu slike
⎢⎣1 1 1⎥⎦ ⎢⎣ 22 23 26 ⎥⎦
• 20 17 50 24 25 Srednja u nizu vrijednosti
21 22 23 26 26 ⎧15,17,18, 21, 22, ⎫
I sr = median ⎨ ⎬ = 22
⎩ 23, 24, 26,50 ⎭
• Rezultat median filtriranja Æ robusnija srednja vrijednost i ova
operacija ne stvara nove vrijednosti intenziteta u slici
11
Uspoređivanje uzoraka
• Zadatak: Utvrditi da li dani predmet pripada određenoj grupi
predmeta (ovi se predmeti stavljaju jedan po jedan pred kameru,
snimaju i pohranjuju u biblioteku predmeta):
jÆ
k 0 4 0
3 0 5
Æ
12
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
m0 n 0
ρ i ( x, y) = ∑ ∑ I( k + x, j + y) − Ti ( k , j) ,1≤i≤N
k =1j=1
• Vidimo da je ρi(x,y) ≥ 0 te ako je uzorak Ti(k,j) nađen onda je
ρi(x,y) = 0. Pronalaskom uzorka utvrđena je i njegova pozicija.
13
14
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
3 0 5
Æ
0 4 0 6 0
0 4 0
1 0 5 0 0
∑∑ I (k + x, j + y)T (k , j )
k =1 j =1
i
σ i ( x, y ) =ˆ
I x , y ⋅ Ti
• Računamo li vrijednosti normirane međukorelacijske funkcije za
primjer 1. dobit ćemo slijedeće vrijednosti:
• σ(0,0) = 0.817, σ(0,1) = 0.000, σ(0,2) = 0.557, σ(1,0) = 0.000, σ(1,1) =
0.999, σ(1,2) = 0.000 Æ σ(1,1) – najbolje poklapanje
• Mane: osjetljivost na rotacije, skaliranja, promjene perspektive i
varijacije uzoraka
16
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
Detekcija rubova
• Ako su stranice objekta u slici glatke, homogene i neprozirne, te ako je
svjetlo uniformno i bez sjena, intenzitet svjetla se naglo mijenja samo
na rubovima Æ gradijent ∇i(x,y) je na tim mjestima vrlo velik.
• Gradijent ∇i(x,y) jednostavna je 1×2 Jacobian matrica parcijalnih
derivacija od i(x, y) po x-u i y-u (uvažiti odnos ρ xy =ˆ Δx / Δy ).
⎡ ∂I (k , j ) ∂I (k , j ) ⎤ yÆ
∇I ( k , j ) = ⎢
⎣ ∂x ∂y ⎥⎦ x I(k-1, j-1) I(k-1, j) I(k-1, j+1)
Æ
∇I ( k , j ) = ∇ I ( k , j ) + ∇ I ( k , j )
1
2 2
2
I(k, j-1) I(k, j) I(k, j+1)
∂I (k , j ) ∂I (k , j )
Približna vrijednost: ∇I (k , j ) ≈ + I(k+1, j-1) I(k+1, j) I(k+1, j+1)
∂x ∂y
Približna vrijednost parcijalne derivacije:
∂I (k , j )
≈ I (k + 1, j ) − I (k − 1, j )
∂x
17
• Nelinearan filter
– ako se koriste kvadrati i korijen (točniji proračun)
– ako se koriste apsolutne vrijednosti (brži proračun)
• Smjer gradijenta: Θ = arctan ∂I (k , j ) / ∂y Θ=0 za okomiti rub koji
∂I (k , j ) / ∂x je tamniji s lijeve strane
20
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
21
22
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
24
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
Analiza likova
• Ako predmeti koje treba ispitati nisu poliedričkog oblika tada
treba drugačiji pristup – rubovi mogu biti neke krivulje
• Opis linija
– Umjesto da pamtimo niz koordinata koje čine liniju, možemo
upamtiti prvu koordinatu i inkrementalne promjene potrebne za
generiranje uzastopnih točaka na krivulji. Ova metoda naziva se
lančano kodiranje
3 2 1
4 p 0 Lančani kod susjednih točaka točke p
5 6 7
25
0000000000000000000
0000000000000000000 Početna točka
0000000001111000000
0000000010000110000
0001111100000001000
0010000001100000100
0001111110011111000
0000000000000000000
0000000000000000000
26
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
27
28
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
m kj = ∑ xky j k ≥ 0, j ≥ 0.
( x ,y )∈R
A = moo
xc = m10 / m00
yc = m01 / m00
29
0000011100 A = moo = 9
xc = m10 / m00 = 4
6 0000000000 yc = m01 / m00 = 5
31
M 1 = μ20 + μ02
M 2 = ( μ20 − μ02 ) + 4 μ112
2
32
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
33
34
Sveučilište u Zagrebu, Fakultet elektrotehnike i računarstva Praktikum robotike
Zavod za automatiku i računalno inženjerstvo Predavanja
35