IFT6145 - Vision tridimensionelle
Hiver 2006

TP 1: Calibration - Partie 1

Soit le modèle de caméra suivant (en géométrie projective):

(({{u}, {v}, {w}}))= M(({{X}, {Y}, {Z}, {1}}))
	où M est une matrice 3  x4

En utilisant (1) un modèle de caméra affine, (2) un modèle perspective obtenu par la methode directe, et (3) un modèle perspective obtenu par la methode indirecte,
calculez M à partir des quatre ensembles de points donnés plus bas. Les points p1,p2,p3,p4 sont les points 2D et les points q1,q2,q3,q4 sont les points 3D correspondants.

(A). Illustrez les modèles de caméra obtenus en 3D à l'aide de la fonction "sceneCamera" vue dans le tp0.nb. Pour chaque ensemble de données, présentez les 3 caméras obtenues ensemble pour qu´on puisse comparer les résultats.

(B). Pour chaque méthode (1,2,3) et chaque ensemble de points (1,2,3,4), calculez l´erreur de reprojection. On définit cette erreur comme la somme des différences au carrées des points 2d originaux et des points 3d projetes par le model obtenu. Donc, si vous avez obtenu un modèle M, l´erreur est :    somme(i=1..N) (p_i - M.q_i)^2
Presentez les les erreurs dans un tableau.

(C) Expliquez brièvement les différences (si il y en a) entre les résultats obtenus pour les trois methodes de calibration et aussi entre les 4 ensembles de points.

Les images sont toujours de taille 256x256.
Le centre de l'image est toujours (128,128).
La distance focale peut varier.
Pour la méthode perspective indirecte, calculez le centre meme si il est déjà connu. Vous pourrez vérifier si la valeur est bonne ou non.

Les points de la caméra 1 ne contiennent aucun bruit.
Les points images des caméras 2 et 3 contiennent du bruit (a vous de voir combien...)
Les points images de la caméra 4 contiennent du bruit et une surprise.

Conseil: Pour calculer la décomposition en valeurs singulières (SVD), Mathematica vous offre la fonction "SingularValueDecomposition[""m""]"" ".

Suggestion: Pour la camera 4, utilisez un sous-ensemble des points plutot que l'ensemble des points pour resoudre... Cela vous aidera a identifier la "surprise".

Caméra 1

p1=(({{131.90707064195198`, 190.48645094750907`, 1}, {114.33659825291609`, 51.27177869341958`, 1}, {186.29315800809798`, 229.44995929956087`, 1}, {67.98885573628748`, 216.5167748975487`, 1}, {53.02858554900094`, 147.31320100252486`, 1}, {190.55999073033263`, 167.69526196257848`, 1}, {34.676054841555626`, 233.49247125380305`, 1}, {210.21712231211023`, 90.52837062473073`, 1}, {125.8940366360347`, 19.730671364601143`, 1}, {128.54806038553514`, 74.62225794261512`, 1}, {106.42726008001331`, 154.09810108597426`, 1}, {15.099450865081398`, 144.91048518246458`, 1}}));

q1=(({{0.9490906278505403`, 14.75683131630561`, 23.004514841371403`}, {-0.16930892053433347`, 2.027019633783802`, 18.603089629191384`}, {6.133222771487293`, 16.800088781033292`, 20.890174938184494`}, {-4.483126913173245`, 16.5223640108292`, 20.298883409093207`}, {-6.233866141459572`, 10.489785575384753`, 21.67397425820277`}, {6.368636168101097`, 12.447512128744515`, 24.396759324137896`}, {-7.10644453035767`, 17.730121485881593`, 19.013224563040602`}, {5.996145348835886`, 4.071914853741064`, 16.78356915746504`}, {-0.8108986795977566`, -0.9901762667964037`, 27.215464685367795`}, {0.9659966298856185`, 3.444396272587043`, 17.7245768955761`}, {-0.4303488160966013`, 9.079356073847812`, 17.772097151804637`}, {-7.720229856610744`, 9.187967376501868`, 18.257598170578067`}}));

Caméra 2

p2=(({{20.067285809970315`, 240.61219117108604`, 1}, {58.95252231286865`, 120.25438703339675`, 1}, {230.54348742057365`, 25.22870973018678`, 1}, {87.55791025769834`, 200.1480443169241`, 1}, {198.45923255720635`, 136.82748303518247`, 1}, {64.86310202919935`, 250.40003791685936`, 1}, {69.25830492857403`, 44.52295394091079`, 1}, {157.01247766757663`, 76.40160246842649`, 1}, {144.2553826437164`, 170.82310952194436`, 1}, {172.57741335532862`, 24.59292271104525`, 1}, {1.3903259949653233`, 147.80230305151449`, 1}, {26.383968988483627`, 57.14188472492566`, 1}}));

q2=(({{2.774866407874107`, -0.25366100092204524`, 20.38858755275559`}, {1.6358416279371042`, -5.554633948912503`, 18.729806694060187`}, {5.318590517060371`, -10.517779944980992`, 12.401914340149991`}, {6.2723224016136765`, -4.567431073535784`, 23.843631806747723`}, {9.84180150484482`, -10.027716210967917`, 19.540207567052764`}, {6.34996296167948`, -1.7268206991758355`, 24.88950128960689`}, {-0.014847502471303925`, -6.490731768166034`, 14.687920205859067`}, {5.101224833412132`, -10.41658812156926`, 17.61958728958969`}, {8.162012647205513`, -7.109322174227325`, 21.782056638940393`}, {5.012113926955199`, -14.953908496144182`, 18.25642733964214`}, {0.19539991203765078`, -4.042589364548093`, 21.08332353404571`}, {-1.1574836007420888`, -6.548748323709702`, 17.11631708473247`}}));

Caméra 3

p3=(({{132.37813328371715`, 30.797066067273587`, 1}, {6.3821541994136535`, 20.14764667108865`, 1}, {37.19746650766655`, 202.92149998963023`, 1}, {172.06652981880669`, 80.2342807487089`, 1}, {6.2782758800606935`, 114.54044854510519`, 1}, {211.79375168633834`, 218.74509498389574`, 1}, {129.3300082628668`, 187.63438687448345`, 1}, {252.0757882891398`, 212.8274689984429`, 1}, {101.10265311159036`, 223.4315540360907`, 1}, {75.33526921079125`, 83.36787376940542`, 1}, {101.72911061707424`, 130.87454615276255`, 1}, {150.35637837395487`, 19.458958178962497`, 1}, {7.659731260119468`, 32.258069995917154`, 1}, {51.23488824293213`, 50.96497702665687`, 1}, {38.66793945915826`, 115.59893837830451`, 1}, {119.25355267521353`, 79.47247026211846`, 1}, {222.9471763286268`, 150.19841489522676`, 1}, {212.72607417904334`, 143.77870796750585`, 1}, {91.45088090048095`, 81.59174803502071`, 1}, {179.00334611183584`, 66.24059196378774`, 1}, {116.73839853298027`, 140.33266431043415`, 1}, {23.026440925541525`, 69.60922341968899`, 1}, {125.50387945462464`, 164.5541138101511`, 1}, {158.97774910864632`, 47.90308279527465`, 1}, {31.905059054498317`, 10.46380530926609`, 1}}));

q3=(({{1.942241782193215`, 1.334822618882161`, 17.63176796472066`}, {-1.5561047407734443`, -4.516607627915318`, 15.21600700157872`}, {-10.479662716244533`, 2.7197228048427333`, 16.358953880970603`}, {0.842247237320844`, 5.2978467514520196`, 15.726299533021106`}, {-6.868161374994119`, -2.094660981470887`, 15.986547227150274`}, {-4.454604171105313`, 11.751747548234073`, 16.139770740873157`}, {-6.835213645149713`, 7.218625413829428`, 18.19067493240219`}, {-3.904894633387414`, 15.928552875517525`, 21.41451626681407`}, {-8.002134594492498`, 6.413726086738229`, 14.268902377317115`}, {-2.701521656252844`, 0.11262646461950136`, 17.835202103422866`}, {-3.466235938168374`, 3.3604384328942363`, 14.946058695801161`}, {2.86285283798566`, 2.477771078961805`, 14.078186656675635`}, {-1.6210034535192954`, -2.5081735066693644`, 12.594918449178053`}, {-2.089611200515151`, -2.896739169415783`, 18.932539029098272`}, {-5.532601769509983`, -0.6230527950237211`, 16.15312656489809`}, {-0.5980406195909015`, 2.478823581028181`, 15.47767807294847`}, {-0.31176783282916554`, 9.238296562324727`, 14.060605678360094`}, {-1.4333071725123476`, 9.782019101322705`, 20.191921120010523`}, {-1.7929502619815314`, 1.1816193336612646`, 15.38982821317534`}, {1.484908295920906`, 4.959430219293819`, 18.427071406239886`}, {-3.550283623578043`, 4.604097580843084`, 14.961747610142789`}, {-4.306767542185313`, -3.2800649621632822`, 18.074992782744435`}, {-3.7654478509710945`, 5.491924299985144`, 12.933906888495628`}, {1.9141357654373785`, 3.6852970963784886`, 13.340093631490907`}, {-0.7919715384004152`, -4.735573400091458`, 17.921221032792776`}}));

Caméra 4

p4=(({{145.82111358537426`, 164.17731949493844`, 1}, {9.765983627741184`, 163.7201330911609`, 1}, {246.20737080458142`, 128.0370470548153`, 1}, {129.6091617650831`, 79.49970561390143`, 1}, {53.48317211984188`, 74.72441979372178`, 1}, {245.6026128354505`, 244.30570627090134`, 1}, {157.4085602793491`, 186.54804874802332`, 1}, {243.50335109338957`, 82.66083279072825`, 1}, {221.2386083628579`, 77.2139902026007`, 1}, {22.091934181753768`, 61.97536765900365`, 1}, {204.5872276914883`, 8.50321181993833`, 1}, {8.743017640178197`, 77.31161660998615`, 1}, {203.770557822132`, 12.726023561353607`, 1}, {182.63252481805912`, 213.51716064466459`, 1}, {209.6289286836813`, 253.87023018447513`, 1}, {130.88395112763996`, 126.23045699752453`, 1}, {131.03463378322314`, 55.31889165176227`, 1}, {202.34678569976384`, 76.89149900777595`, 1}, {246.90985153261101`, 192.2853597946086`, 1}, {13.811777390900131`, 124.63491731046528`, 1}, {124.43399304966592`, 0.4386538710310204`, 1}, {90.57729619207149`, 163.48463207526967`, 1}, {59.15326629245528`, 100.1626103373065`, 1}, {2.998225531414815`, 178.27850476306537`, 1}, {183.55105484874625`, 212.99041180595663`, 1}}));

q4=(({{12.226283276781658`, 12.508858338302552`, 16.83063284843239`}, {3.49636637461473`, 18.699013341441102`, 17.15915909981031`}, {11.893554945944205`, -1.0681534518407747`, 20.045196384846424`}, {7.310097059528585`, 7.287523243227869`, 15.954154009449894`}, {2.6339566263220515`, 10.366034916390246`, 17.89354104566902`}, {17.47440529524714`, 10.564979520850562`, 9.563315048722098`}, {14.06598454977639`, 13.097130292077031`, 15.60004485703256`}, {14.454899218426`, 2.742616196825547`, 17.442605556360594`}, {11.725975359555841`, 3.76388518140708`, 14.520355276472158`}, {-0.46534966139405937`, 12.446319910564927`, 22.43855845664378`}, {10.576233273990653`, -0.5796333175796708`, 24.30836451668314`}, {5.70743412541103`, 10.651590374730109`, 12.904870777445229`}, {10.088232426270192`, -0.015772306494042584`, 22.444291458996688`}, {15.899727810155944`, 12.994829947724506`, 13.541856077885948`}, {19.21268316228483`, 14.083547959502532`, 12.400154058232928`}, {9.470190119014166`, 10.34449119627605`, 16.156993974505642`}, {7.47137196576882`, 6.1764676124030995`, 23.322141196992185`}, {13.086447826654547`, 4.296250442025658`, 21.038695302702163`}, {18.439050718875876`, 8.833528445226511`, 13.303162291982655`}, {2.078966331457985`, 14.499098784128243`, 15.91043677415862`}, {4.192391153363952`, 3.675607998758154`, 16.614692177812383`}, {7.706469701749018`, 12.28428389427817`, 12.074227862966977`}, {3.822769458867581`, 12.420387470530697`, 18.843930913156516`}, {3.9471405437759524`, 17.61609977422356`, 13.862703674043875`}, {16.558246087538105`, 13.047865061077347`, 14.253313774664656`}}));