Odhad polohy Slunıcka´ˇ -- srovnanı´ ´ metod Implementace metod

Transkript

Odhad polohy Slunıcka´ˇ -- srovnanı´ ´ metod Implementace metod
Odhad polohy Slunıcka
´ˇ -- srovnanı
´ ´ metod
Pokusil jsem se vzajemne
´
ˇ porovnat vysledky
´
metod, odhadujıcıch
´ ´ z obrazu Slunce polohu x, y a
polomer
ˇ r slunecnıho
ˇ ´ kotouce
ˇ . Predmetem
ˇ
ˇ
srovnanı
´ ´ byly metody:
•
Mirkova metoda -- prahovanı
´ ´ obrazu a vypocet
´ ˇ teziste
ˇˇ ˇ ˇ a plochy (dale
´ thr )
•
Cannyho hranový detektor a nasledna
´
´ robustnı́ regrese kruznicı
ˇ ´ (dale
´ can)
Vyhodou
´
thr je mensı
ˇ´ vypocetnı
´ ˇ ´ narocnost
´ ˇ
, vyhodou
´
can je, ˇze vychazı
´ ´ z gradientu, tedy mırı
´ˇ´
prımo
ˇ´
na okraj kotouce
ˇ tak, jak je definovan
´ . Obě metody potrebujı
ˇ
´ jednu Pysvejcovu
ˇ
konstantu, thr vyzaduje
ˇ
volbu (relativnıho
´ ) prahu, can vyzaduje
ˇ
rovnez
ˇˇ prah
´ pro oddelenı
ˇ ´ prılis
ˇ´ ˇ slabych
´ hran.
Cılem
´
srovnanı
´ ´ bylo jednak zjistit, jak velké budou nahodilé zmeny
ˇ x, y, r v ˇcase (”sum
ˇ ”) a tak
posoudit, která z metod je lepsı
ˇ´, ale predevsım
ˇ
ˇ´ srovnat vysledky
´
vuci
˚ˇ sobě a tak odhadnout, s
jakou chybou metody pracujı́, vzhledem k tomu, ˇze obě vychazejı
´ ´ z odlisnych
ˇ ´ principů.
Implementace metod
thr Prah
´ je urcen
ˇ jako ϑ = Imin + c(Imax − Imin), kde c = 0.25, Imax je nejvyssı
ˇˇ´ intenzita nalezená v obraze a Imin je odhadovaný bod protnutı́ pp. rozdelenı
ˇ ´ temneho
´ proudu a uzitecneho
ˇ ˇ ´
obrazu. Strednı
ˇ ´ hodnota temneho
´ proudu je odhadnuta z medianu
´ I µ, spocıtaneho
ˇ´ ´ z 8 hornıch
´ a
8 dolnıch
´ pixelovych
´ ˇ´
radku
˚ obrazu. Temný proud pd(I) má v nasem
ˇ
prıpade
ˇ´ ˇ spıse
´ˇ normalnı
´ ´ než
Poissonovské rozdelenı
ˇ ´, kromě toho je stejnosmerne
ˇ ˇ posunut elektronikou kamery a digitalizacnı
ˇ ´
karty. Proto jej aproximujeme normalnım
´ ´ rozdelenım
ˇ ´ N (Iµ , σ 2), σ 2 odhadnut z ˇ´
casti histogramu, lezıcı
ˇ´ ´ vlevo od I µ. Za bod Imin je povazovana
ˇ ´ ta intenzita vpravo od Iµ, kde hodnota histogramu h(I) > 2 pd(I).
p
Pocıtane
ˇ´ ´ x, y je tezistem
ˇ ˇ ˇ oprahovaneho
´ obrazu, r = S/π .
can Obraz je rozmlzen
ˇ 2D Gaussianem
´
(σ = 1.4, aproximace jadrem
´
5 × 5 pixelů), poté jsou z
3 × 3 okolı́ pocıtany
ˇ´ ´ odhady gradientu ve smerech
ˇ
x , y Sobelovym
´ operatorem
´
. Z techto
ˇ
slozek
ˇ
je vypocten
ˇ
smer
ˇ a absolutnı́ velikost gradientu a Cannyho metodou jsou pak nalezeny ty pixely,
které jsou lokalnımi
´ ´ maximy vuci
˚ˇ lokalnımu
´ ´
8-smeru
ˇ , z nich jsou potom na zaklade
´
ˇ dvojıho
´ prahovanı
´ ´ vybrany
´ pixely, povazovane
ˇ
´ za silné hrany. Zvolil jsem prahy ϑ1 = 0, ϑ2 = 120, podrobnosti viz cvCanny z knihovny openCV.
Souradnice
ˇ
x p , y p pixelů jsou pak vstupem pro robustnı́ regresi kruznicı
ˇ ´, pouzita
ˇ
funkce MATp
P 2
2
2
LABu nlinfit, Robust=on, kriterium J = k ek , ek = (x pk − x) + (y pk − y) − r.
Namerene
ˇˇ ´ vysledky
´
Obě metody byly pouzity
ˇ na zpracovanı
´ ´ 1057 snımku
´ ˚ 720 × 576px @25 fps, zaznam
´
č. 2010-0823.033. Jednalo se o zaznam
´
dennıho
´ pohybu Slunce se zaspinenym
ˇ ˇ ´ CCD ˇcipem formatu
´ 1/3”,
vysoký ˇsum kamery (maximalnı
´ ´ doba expozice, asi 1/50 s, jas snızen
´ˇ Mirkovou clonou, ucelem
´ˇ
bylo saturovat AGC kamery, aby nedoslo
ˇ k prebuzenı
ˇ
´ obrazu). Kamera (neznackova
ˇ ´ ‘‘bıla
´ ´”)
nemá ˇctvercove´ pixely, pomer
ˇ stran byl z dat od oka odhadnut na 1.07:1 (sirsı
ˇ ˇ´ ve smeru
ˇ x ).
Obr. 1 ukazuje vyrez
´ˇ z prvnıho
´ snımku
´
, dale
´ jeho prahovanı
´ ´ a odhad x, y, r metodou thr jako
zelenou kruznici
ˇ
, vpravo potom modul gradientu z metody can, nalezené pixely silnych
´ hran
1
(cervene
ˇ
ˇ) a prolozenou
ˇ
kruznici
ˇ
(modre
ˇ ). (Kruznice
ˇ
byly transformovany
´ do nectvercovych
ˇ
´ pixelovych
´ souradnic
ˇ
, v grafu se jedná tedy o elipsy.)
Obrazek
´
1.
Pohyb x, y z metody thr v ˇcase ukazuje Obr. 2. Zmereny
ˇˇ ´ dennı́ pohyb Slunce jsem prolozil
ˇ
linearnım
´ ´ trendem v ˇcase x ≈ kx t + qx, y ≈ k yt + q y, pro thr i can zvlast
´ˇˇ. Po odectenı
ˇ ´ trendu
ˇ rAC jsem zıskal
´
odecˇ
zustavajı
˚ ´ ´ nahodilé poryvy xAC, yAC. Nahodilé poryvy v odhadu polomeru
tenım
´ aritmetickeho
´ prumeru
˚
r (má byt
´ kratkodobe
´
ˇ konstantnı́).
280
xthr,ythr
270
260
250
y [px]
240
230
220
210
200
190
420
430
440
450
460
470
x [px]
480
490
500
510
Obrazek
´
2.
Obr. 3 ukazuje nahodilé slozky
ˇ xAC, yAC, rAC pro thr i can a navıc
´ jeste
ˇ ˇ absolutnı́ rozdıl
´ xthr −
xcan atd., tedy samotnych
´ velicin
ˇ bez ohledu na trend.
2
1.5
1.5
xthr
xcanAC
AC
xthr-xcan
1
0.8
ythr
ycanAC
AC
ythr-ycan
1
0.4
0.2
∆r [px]
0.5
∆y [px]
∆x [px]
0.5
0
0
-1.5
0
-0.2
-0.5
-0.4
-0.5
-1
rthr
rcan
AC
rthr-rcan
0.6
-0.6
0
5
10
15
20 25
t [s]
1.5
30
35
0
5
10
15
20 25
t [s]
1.5
xthr
xcanAC
AC
xthr-xcan
1
-1
40
30
35
40
0
5
10
15
20 25
t [s]
1.5
ythr
ycanAC
AC
ythr-ycan
1
-0.8
30
35
40
rthr
rcanAC
AC
rthr-rcan
1
0
0.5
∆r [px]
0.5
∆y [px]
∆x [px]
0.5
0
0
-0.5
-0.5
-1
-1.5
8
9
10
11
t [s]
12
13
14
-1
-0.5
8
9
10
11
t [s]
12
13
14
-1
8
9
10
11
t [s]
12
13
14
Obrazek
´
3.
RMS odchylka polohy stredu
ˇ
Slunce vuci
˚ˇ trendu σxy =
q
´ ´ pro obě metody
σx2AC + σ 2yAC vychazı
podobně, σxythr = 0.5018 px, σxycan = 0.5058 px. RMS vzajemneho
´
´ rozdılu
´ polohy bez ohledu na
q
2
2
trend, σcan:thr = (xthr − xcan) + (ythr − ycan) = 0.1741px. Strednı
ˇ ´ hodnota ∆r = rthr − rcan = −
0.2191px.
Rozbor
Predne
ˇ ˇ predpokladam
ˇ
´ ´ , ˇze teoretická mez presnosti
ˇ
, která platı́ pro jakoukoli metodu,
pracujıcı
´´s
√
celymi
´ pixely, je daná kvantizacnım
ˇ ´ ˇsumem pixelů a mela
ˇ by byt
´ ˇ´
radoveˇ ∼ 1 px/ 2πr , uvazuji
ˇ -li
zakon
´
ˇ´ˇ
sırenı´ chyb a velikost obvodu kotouce
ˇ , který jako jediný nese informaci (tento pocit by
bylo dobré jeste
ˇ ˇ overit
ˇ ). V nasem
ˇ
prıpade
ˇ´ ˇ r ≈ 184 px je pak σlim ≈ 0.03 px. Pod tuto presnost
ˇ
tedy nemá cenu snazit
ˇ se dostat (vyjma vyjimecnych
´
ˇ ´ prıpadu
ˇ´ ˚, kdy by byl kotouč např. presne
ˇ ˇ
soumerne
ˇ ˇ umısten
´ ˇ na pixelové mrızi
ˇ´ˇ a chyba by byla nulová).
Z vysledku
´
˚ jsou videt
ˇ nasledujıcı
´
´ ´ skutecnosti
ˇ
:
1. RMS nahodilé slozky
ˇ je σ ≈ 0.5 px, o podpixelové presnosti
ˇ
tedy zatım
´ nemuze
˚ˇ byt
´ ˇrecˇ,
leda ve smyslu pomalejsıho
ˇ´ trendu
2. nahodilá slozka
ˇ x, y vychazı
´ ´ v obou metodach
´ temer
´ ˇˇ uplne
´ ˇ shodná
3. naproti tomu absolutnı́ rozdıl
´ v poloze mezi obema
ˇ
metodami je ˇ´
radoveˇ vetsı
ˇ ˇ´, RMS ∼
0.17px, ovsem
ˇ
porad
ˇ´ mensı
ˇ´, než je RMS nahodilé slozky
ˇ jako takové
4. thr zrejme
ˇ
ˇ podhodnocuje velikost polomeru
ˇ o ∆r
Zaver
´ ˇ
Milym
´ prekvapenım
ˇ
´ je (2). Zdá se, ˇze obě neprılis
ˇ´ ˇ podobné metody merı
ˇˇ´ velmi podobné
vysledky
´
. Vıtana
´ ´ je skutecnost
ˇ
, ˇze dostatecnych
ˇ ´ vysledku
´
˚ zrejme
ˇ ˇ dosahneme
´
pomocı́ thr a nebudeme se muset zaobırat
´
vypocetne
´ ˇ ˇ narocnou
´ ˇ
can. Zajımave
´
´ je ovsem
ˇ
to, ˇze obě metody vykazujı́
nestejné trendy, odrazejıcı
´ˇ ´ ´ se v σcan:thr. Bylo by dobré zjistit prıcinu
ˇ´ˇ
-- mohla by to byt
´ pod
prah
´ zasahujıcı
´ ´ necistota
ˇ
u thr (viz Obr. 1), popř. odlisnost
ˇ
, daná robustnı́ regresı́ kruznice
ˇ
.
Pokud je tato odlisnost
ˇ
ve prospech
ˇ robustnı́ regrese, bylo by ucelne
´ˇ ´ spojit algoritmus thr s
regresı́ mısto
´
teziste
ˇˇ ˇ ˇ. (Regrese je pomerne
ˇ ˇ levná, neboť zachazı
´ ´ už jen s body na okraji kotouce
ˇ .)
3
Dale
´ neprekvapı
ˇ
´, ˇze thr nedava
´ ´ dobrý odhad polomeru
ˇ . To bude snad mozne
ˇ ´ dostatecne
ˇ ˇ presne
ˇ ˇ
0
kompenzovat pevnou kalibracı́ typu rthr
= krrthr + qr.
Nakonec by bylo dobré zjistit, kde jsou hlavnı́ prıciny
ˇ´ˇ
nahodilych
´ fluktuacı́. Vzhledem k (2) se
dá ocekavat
ˇ ´ , ˇze hlavnı́ podıl
´ bude mıt
´ asi seeing, posouvajıcı
´ ´ slunecnı
ˇ ´ kotouč, i když i ˇsum
kamery prekracoval
ˇ
ˇ
mıru
´ obvyklou.
Marek Peca, 30. srpna 2010
4