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