Marts 2003

3D-Computer Vision

Exercises

Exercise 2: Shape from shading

Den i lærebogen beskrevne metode til Shape-from-Shading (afsnit CV-9.4) skal implementeres og afprøves. Programmeringssproget kan vælges frit. Rapporten skal kort (2-3 sider) beskrive metoden og skal redegøre for eksperimenterne i noget større detalje (5-10 sider).

Metoden skal fortrinsvis afprøves på syntetiske billeder, men skal også anvendes på mindst et rigtigt billede, der er velegnet i den forstand at det ikke afgørende bryder forudsætningerne for metodens anvendelse. Brug fx. et nærbillede af et ansigt med lukkede øjne, uden skæg, hat eller briller etc. De syntetiske billeder skal konstrueres ud fra en 3D-flade Z(x,y) = Z0 + f(x,y). Fladenormalen N = (fx, fy, -1) er derfor kendt i alle pixels. Fladen antages at have konstant albedo k= 255, og Lambert-reflektion R = kNL. Lyskilden antages udendelig fjern, punktformig og med højdevinkel rho og azimutvinkel tau, dvs L = L(tau, rho). Der skal benyttes 2 flader:

Æggebakke: f1(x,y) = cos(w*x)*cos(w*y)
Halvkugle : f2(x,y) = Re[sqrt(R^2 - a*(x^2 + y^2))]

hvor i selv må bestemme parametrene w, R, og a passende. Givet valg af disse parametre er mængden af syntetiske billeder parametriseret af (f1/f2, rho, tau). I produktionen af de syntetiske billeder kan i benytte ortografisk projektion. Der skal syntetiseres billeder for begge flader, for mindst 3 forskellige valg af såvel rho som tau. I rapporten skal der vedlægges et passende udvalg af kommenterede billeder, men i behøver ikke vedlægge alle genererede billeder. Tilsvarende skal vedlægges et udvalg af kommenterede rekonstruktioner Z(x,y).

Et element af shape-from-shading-algoritmen er anvendelse af de partielle afledede af reflektionsfunktionen R = kNL. Disse kan opskrives analytisk, men vil være perametriseret af rho og tau. En metode til at estimere disse ud fra et billede er beskrevet i lærerbogens afsnit 9.3.

Uddata fra algoritmen er et formbillede Z(x,y) = Z1 + g(x,y), samt billeder af de første to komponenter gx(x,y) og gy(x,y) af fladenormalen Ng. Det kan antages at Z1 er lig den kendte værdi Z0 brugt i syntesen af inddatabilledet. For hver rekonstruktion skal kvaliteten af denne vurderes subjektivt samt ved objektive mål for fejlen. Der skal benyttes 2 fejlmål. Lad:

e1(x,y) = |f(x,y) - g(x,y)| og
e2(x,y) = vinklen mellen den kendte og målte fladenormal i (x,y), dvs.
lig |acos(N*Ng/[sqrt(N*N)*sqrt(Ng*Ng)])|.

For hvert af de to mål skal der redegøres for deres maksimale og gennemsnitlige værdi. Optil en tabel med indgang for hver billede og angivelse af parametre for billedsyntesen og resultaterne (de 4 fejlmål). Tabellen bør også redegøre for evt. estimerede værdier af rho og tau. Tabellen bør kommenteres grundigt. Yderligere karakteriseringer af fejlene (fx. histogrammer) kan være nyttige (men er ikke krævet).

Yderlige bør der fortages eksperimenter med forskelligt valg af regulariseringsparemeteren lambda, samt med antal iterationer af shape-from-shading algoritmen. De ambitiøse kan udvide opgaven med en diskussion af hvorledes antagelsen om konstant albedo mv. kan testes og evt. udnyttes i afgrænsning af det billedområde hvori analysen kan anvendes. Vink: Segmenter billedet i områder med glat intensitetsvariation.