[SCRÂTÂT] [FOSȘIT] [CLIC] BERTHOLD HORN: Mai încercați această demonstrație folosind o conexiune HDMI directă. Și să vedem ce se întâmplă. Nu se poate reda graficul. OK, așa că mai întâi să revenim aici sus. Fă doar... Deci asta am mai văzut. Și acum hai să încercăm... OK, e puțin amar. Deci, aceasta este o cameră web care privește în jos la tastatură. Și când îl țin nemișcat, poți vedea că A, B și C sunt aproape de zero. Sunt mici pe partea dreaptă acolo. Și timpul de contact, în dreapta jos, este un număr mare care uneori negativ, alteori pozitiv. Și acum, dacă îl îndepărtez de tastatură, ar trebui să devină verde pe C. A treia este componenta C-- 1 în timp de contact. Pe măsură ce mă apropii de tastatură, ar trebui să devină roșie, adică pericol. Deci există asta. Și, desigur, este independent de textură. Așa că pot face același lucru pe orice suprafață. Dacă încerc să-l mut doar în x , atunci prima bară ar fi mare. Și asta e oarecum adevărat. Nu l- am orientat exact corect. Dar dacă o mișc în această direcție, a doua bară... este B. OK, așa că funcționează puțin mai bine decât era data trecută. Începeți cu o corecție. Cineva data trecută a subliniat o eră a semnelor. Așa că am avut acea discuție despre diferite moduri de a gândi despre timpul de contact, dintre care unul era despre ceea ce discutam și altul era rata de schimbare a dimensiunii. Și din perspectiva proiecției, am avut această ecuație. Și atunci ne încrucișăm înmulțit. Și am prins asta. Și... scuze, egali. Și apoi am luat derivatul pentru a obține... pentru că acesta este un produs și aceasta este o constantă. Așa că obținem 0. Atunci... și deci există un semn minus acolo. Și asta are sens pentru că atunci când dzdt-ul este pozitiv, lucrurile se îndepărtează. Și în acest caz, imaginea acelor lucruri se micșorează-- dsdt negativ. În regulă. Suntem ocupați să vorbim despre proiecția în perspectivă și despre cum o putem folosi în diferite moduri. Și, în special, eram ocupați să vorbim despre punctele de fugă. Deci, din nou, pentru a explica care sunt acestea... deci iată sistemul nostru de imagistică. Există un plan imagine. Și există un centru de proiecție. Și în lume, avem un mănunchi de raze paralele -- vectori care umplu spațiul. Toate sunt paralele. Și una dintre ele este specială pentru că trece prin centrul proiecției. Deci, din toate aceste raze paralele... și, desigur, în mare parte din construcția umană, avem linii paralele. Se întâmplă să fie un mod destul de eficient de a face lucrurile. Și dacă nu încerci să fii foarte artistic și să construiești acest centru de date, vei avea o mulțime de linii paralele. Deci acestea ar putea fi margini ale clădirilor, colțuri, margini ale ferestrelor. Oricum, una dintre ele este specială prin faptul că trece prin centrul proiecției. Și lovește planul imaginii într-un anumit punct. Și putem folosi acel punct ca reprezentativ. Acesta este un mod în care putem vorbi despre ce set de linii paralele vorbim. Și asta se numește punctul de fuga. Și motivul este că, în primul rând, pentru această linie anume, te uiți direct la acea linie. Și vezi doar un punct. Și cum rămâne cu celelalte rânduri? Ei bine, dacă mergi suficient de departe pe oricare dintre aceste linii paralele, proiecția lor în imagine se va apropia din ce în ce mai mult de proiecția acestei linii. De ce? Ei bine, pentru că există o scădere a măririi de la distanță în lume la distanță în imagine. Cu cât mergem mai departe, avem-- f peste z. Și deci dacă Z devine foarte mare, atunci mărirea devine foarte mică. Și astfel orice diferență între acestea este reflectată în imagine printr-o distanță din ce în ce mai mică. Deci aceste alte raze sunt de fapt și imagini, aceste alte linii - ca linii. Și acele linii trebuie să treacă prin punctul de fuga. Deci, pe măsură ce mă deplasez spre exterior, cred că am săgețile inversate în cele două cazuri. Dar pe măsură ce merg spre exterior pe aceste linii, mă apropii din ce în ce mai mult în imagine de acel punct de fuga . Deci asta este ideea unui punct de fugă. Și putem exploata asta pentru că ne permite să determinăm relații între sistemele de coordonate. Și ne permite să calibram camera. Deci acestea sunt două lucruri pe care le vom discuta pe scurt astăzi. Și am început ieri. Deci, mai întâi, să vorbim despre problema de calibrare a camerei. Deci iată planul meu imagine. Aici este centrul proiecției. Și acum să presupunem că trăim într-o lume a obiectelor dreptunghiulare. Și astfel, fiecare obiect dreptunghiular are seturi de linii paralele - trei seturi de linii paralele - cred că patru din fiecare dintre ele. Și astfel ei definesc un sistem de coordonate. Ei definesc trei direcții. Și pot alege linii paralele care trec prin centrul proiecției. Deci eu... OK, aici este un obiect. Și are linii paralele, așa. Și aleg, din familia de linii paralele din acel grup, una care trece prin centrul predicției. Și deci să numim acea direcție x. Deci, acesta este un sistem de coordonate, care este doar translația paralelă a sistemului de coordonate pe obiect. Acestea sunt... deci, pentru moment, ignorăm traducerea. Doar aveam să ne facem griji pentru orientare. Așa că apoi îi proiectez pe cei trei în planul imaginii, așa cum am făcut acolo. Și, ei bine, în cazul meu, unele dintre ele-- unele dintre ele pot ieși din format. Și adesea, punctele de dispariție nu sunt în partea din imagine pe care o simți de fapt. Dar asta nu contează. Ne interesează doar poziția lor în planul imaginii. Deci, să presupunem că... Nu știu, le putem numi a, b și c. Sau le putem numi r2 și r3. Deci, dacă am poza mea a cubului, așa cum am făcut-o data trecută, pot defini trei puncte de fugă doar extinzând acele linii paralele. Acum, cât de exact îi cunoaștem? Ei bine, asta e altă poveste. Va trebui să știm cât de exact putem determina liniile. Dar să presupunem pentru moment că avem aceste trei puncte de fugă. Așa că ne putem imagina mica diagramă de aici a unui obiect dreptunghiular și foarte distorsionată pentru că, de fapt, în practică, acele puncte de fuga vor tinde să fie mai departe. Dacă le desenez atât de închise, voi primi o mulțime de, citat fără ghilimele, „distorsiuni de perspectivă”. Desigur, termenul de distorsiune este oarecum ciudat pentru că, practic, asta face proiectarea în perspectivă. Nu este ca efectul distorsiunii radiale dintr-o imagine, care este o proprietate nedorită care deformează planul imaginii. OK, ce facem cu asta? Ei bine, un lucru pe care îl putem face cu asta este să încercăm să ne dăm seama unde este centrul proiecției. Deci acolo mergeam ultima dată. Deci avem un sistem de coordonate care se află în planul de imagine, în dispozitivul de imagine. Și încercăm să găsim relația dintre sistemul de coordonate din obiect și sistemul de coordonate din planul imaginii. Și apoi încercăm să aflăm unde este centrul proiecției. Deci câțiva termeni - deci un lucru este punctul care este perpendicular sub centrul de proiecție. Așa că desenăm perpendiculara din centrul proiecției aici în jos. Și asta se numește punctul principal. Și așa cum am indicat, ați dori ca asta să fie în centrul matricei. Dar nu va fi foarte precis. Și pentru a face o muncă precisă, trebuie să știi exact unde se află. Deci sunt două numere-- rând și coloană în planul imaginii. Și apoi al treilea număr este înălțimea centrului de proiecție de mai sus. Și noi numim asta f. Și asta pentru a ne aminti că în sistemul de lentile, aceasta este distanța focală. Este de obicei puțin mai mare decât distanța focală. Oricum, deci există trei grade de libertate. Sunt trei numere de care avem nevoie. Și o modalitate de a gândi la asta în mod compact este că încercăm să aflăm unde este acel punct. Și asta ar putea fi o sarcină dificilă de făcut prin dezasamblarea fizică a camerei. Pentru început, într-o cameră de telefon mobil, acele distanțe sunt foarte mici. Deci ar trebui să le măsurați foarte precis. Și probabil că nu va mai fi la fel după ce reasamblați camera. Deci, cum facem asta? Ei bine, dacă conectăm proiecția centrală la punctele de fugă din planul imaginii, avem trei vectori, care sunt practic acești trei vectori de aici. Ei bine, încearcă să desenezi așa poate. Și, prin urmare, sunt în unghi drept unul față de celălalt. Și de unde vine asta? Ei bine, presupunerea noastră este că este un obiect dreptunghiular. Dacă ar fi un alt obiect și am ști care sunt unghiurile, am putea folosi și asta. Ar fi puțin mai puțin convenabil. Dar acum știm că căutăm un punct aici sus, astfel încât dacă stai acolo și privești în jos în planul imaginii, direcțiile către aceste puncte de fuga vor fi în unghi drept unul față de celălalt. Deci asta e sarcina. Ne deplasăm în acest spațiu pentru a găsi acel loc. Și deci să începem în 2D. Am menționat deja această ultimă dată, că unghiul format de diametrul unui cerc din punctele de pe circumferința lui este unghiul drept. Deci, invers, locul tuturor locurilor în care ai putea fi din care acestea vor fi în unghi drept unul față de celălalt este un cerc. Această diagramă va apărea mai târziu, când vorbim despre fotogrammetrie și ambiguitate în imagistica terenului de suprafață, deoarece dacă aveți două repere și apar în unghi drept unul față de celălalt, ați putea crede că asta vă va spune unde vă aflați în avion. . Dar de fapt, nu, pentru că ai putea fi oriunde în acest cerc și i-ai vedea în unghi drept unul față de celălalt. OK, deci asta e versiunea 2D. Și versiunea 3D, desigur, este doar să rotiți asta în jurul axei sale. Și primești o sferă. Deci constrângerea asupra poziției centrului de proiecție este doar că se află pe o sferă. Deci ce sferă? Ei bine, pentru început, se află pe sfera în care R1 este un capăt al diametrului și R2 este celălalt capăt al diametrului. Așa că îmi pot imagina că desenăm o sferă cu r1 și r2 ca diametru. Și așa merge deasupra și sub planul imaginii. Și centrul proiecției trebuie să se afle pe asta. Acum, desigur, asta nu este suficient pentru a ne spune unde este. Deci avem o a doua sferă. Conectăm, să zicem, r2 la r3. Și acesta este diametrul unei a doua sfere. Și intersectăm acele două sfere. Deci, care este intersecția a două sfere? Este un inel. Deci acum avem un inel. Asta înseamnă că nu am rezolvat cu adevărat problema pentru că mai avem un număr infinit de posibilități. Deci folosim un al treilea. Folosim o sferă cu diametrul acolo r3 și r1. Și acum le intersectăm. Și rămânem cu câte soluții? Două. Dreapta. OK, și deci au rămas două ambiguități în două sensuri. Și în acest caz simplu, pur și simplu, atunci când suntem aici sus, obținem aceeași condiție de unghi drept decât dacă suntem o imagine în oglindă sub planul imaginii. Ei bine, în cazul nostru, știm că există o constrângere fizică, și anume că centrul de proiecție trebuie să fie deasupra senzorului de imagine, astfel încât să fie fotografiat, astfel încât a doua soluție să poată fi eliminată. OK, așa că vreau să vorbim puțin despre unele dintre acestea, totul este foarte simplu și de bază. Dar este bine să ne amintim de aceste lucruri. Deci vom începe să vorbim despre ecuații liniare. Și ori de câte ori putem, încercăm să reducem lucrurile la ecuații liniare pentru că știm cum să le rezolvăm. Și din punct de vedere geometric, ce sunt acestea? Ei bine, sunt linii drepte. Și la ce ecuații corespund asta? Ei bine, există acest castan bătrân, care are niște probleme reale. Dar acesta este o modalitate de a scrie ecuația pentru o linie dreaptă. Apoi putem spune doar, ei bine, este o ecuație liniară ca asta. Și în acest caz, deci aici avem doi parametri, m și c. Și ce este asta? Asta ne spune că familia liniilor drepte este o familie cu doi parametri. Dacă ne uităm la asta, există trei parametri. Cum poate fi asta? Ei bine, pentru că putem face o scalare. Atât de adevărat, sunt trei numere. Dar, de fapt, dacă împărțiți prin oricare dintre ele, obțineți aceeași linie și sunteți coborât la 2 grade de libertate. Deci este o lume de 2 grade de libertate. Și apoi putem merge... probabil să înțelegem greșit semnele, dar... să ne asigurăm că le aduc corect. Sin theta x minus. OK, deci ce este asta? Ei bine, acesta este un alt mod de a parametriza o linie dreaptă, pe care o vom folosi destul de mult. Și puteți verifica că pentru sine theta este egal cu 0, acesta este că y este egal cu rho. Deci theta este egal cu 0 este acea linie. Și pentru theta este egal cu pi peste 2, obținem x este minus rho. Deci asta e această linie... și așa mai departe. Și doi parametri - deci aici avem că lumea liniilor este parametrizată prin theta și rho în loc de aici, unde este parametrizată în termeni de m și c. Și de ce este util? Ei bine, lucrul de acolo este că dacă linia ta se întâmplă să fie paralelă cu axa y, atunci m este infinit. Deci există o singularitate, pe care o evităm în această reprezentare. Oricum, linii drepte în 2D-- ecuația liniară este în x și y. Dar acum avem de-a face cu 3D. Deci hai să vorbim despre asta. Și acum vorbim despre avioane. Și, desigur, planuri reprezentate și prin ecuații liniare, cu excepția acum în trei necunoscute. Și un motiv pentru care am introdus această notație este pentru că putem generaliza asta la 3D. OK, deci putem scrie ecuația planului așa. Deci, este un liniar - Adică, dacă extind acest produs punctual aici, obțin ecuația liniară în x, y și z. Și este convenabil să-l scrii așa. Dar dacă aș vrea, pot scrie că a, b, c, d. Deci asta face să pară că au 4 grade de libertate. Dar, desigur, nu sunt din cauza aceluiași lucru de amploare. Dacă înmulțesc a, b, c și d cu 2, am același plan. Deci, de fapt, sunt trei grade de libertate. Și pot vedea că din această reprezentare, deoarece n este un vector - deci trei numere. Dar este un vector unitar. Deci există o constrângere. Deci există doar două grade de libertate. Și apoi am rho. Deci 2 plus 1 este 3. Deci familia de planuri din lumea 3D este tridimensională, ceea ce este o dualitate interesantă deoarece înseamnă că există o mapare între planuri și puncte în 3D, la fel cum există o mapare între linii și puncte într-un carcasă 2D. Deci pot fie să complot theta rho, fie mc. A, și apropo, dacă îmi place acea reprezentare, atunci puteți vedea acum asemănarea în cazul în care, în cazul 2D, acest vector aici are o componentă x care crește cu x-- oh, devine negativ mai mare pe măsură ce teta crește. Deci acesta este termenul minus sine theta. Și componenta y este mare când theta este 0 și apoi devine mai mică. Și aceasta este componenta cosinus. Deci, veți vedea că această ecuație este aceeași cu n punctul r este rho sau ceva de genul. Și, desigur, aceasta este aceeași ecuație pe care o avem acolo, doar în 3D. OK, deci totul este destul de evident. Acum, revenim la problema noastră de calibrare a camerei. Deci, o modalitate de a aborda acest lucru este să ne gândim la aceasta ca la intersecția a trei sfere. Și să vorbim puțin despre asta. Așa că am menționat data trecută această problemă a multilaterării, care apare în robotică, unde, de exemplu, avem distanțele până la o serie de puncte de acces Wi-Fi. Și să presupunem că avem trei. Și ai crede că asta ar trebui să- ți permită să calculezi unde te afli. Și o face. Deci, să rezolvăm mai întâi problema. Deci încercăm să intersectăm trei sfere. Deci, cum putem vorbi despre o sferă? Deci iată o sferă. I-a sferă. Vom avea trei dintre ele. Deci, în loc să scriu trei ecuații, voi scrie asta. Și doar că mărimea acelei diferențe de vector este raza acelei sfere. Și așa vom obține trei ecuații ca aceasta și vom încerca să le combinăm. Acum, dacă vreau să scriu asta, pot doar să scriu asta deoarece definiția acelei mărimi este doar rădăcina pătrată a produsului scalar al acelor doi vectori. OK, atunci pot înmulți asta pentru a obține acea ecuație. Și astfel, pentru fiecare sferă, voi obține o ecuație de ordinul doi ca aceasta. Și am menționat data trecută că, prin urmare, prin teorema lui Bezout, putem avea până la opt soluții, cu excepția cazului în care ecuațiile au o structură specială. Ei bine, putem exploata asta luând în considerare o a doua sferă - aceeași ecuație, doar i în loc de i. Și scăzându-le, putem scăpa de acel termen enervant de ordinul doi. Și astfel ajungem la o ecuație liniară. Și asta este întotdeauna de preferat. Deci obținem 2r punct rj minus ri. Atunci trebuie să spun ce este asta. Deci ri pătrat este... OK, deci aceste lucruri din partea dreaptă sunt doar constante. Sunt distanțele care sunt măsurate și distanța de la originea celor două puncte de referință ale centrelor acelor sfere. Și ceea ce este important este că în partea stângă, am r punct ceva. Ei bine, aceasta este o ecuație liniară în componentele lui r. Și de fiecare dată când pot reduce patraticile la liniare, sunt fericit. Deci OK, acum l-am primit pentru o pereche de sfere. Dar de fapt avem mai multe. Deci putem repeta acest exercițiu pentru celelalte combinații. Deci, când le-am pus pe toate împreună... OK, și atunci am toți acești termeni constanti, nu? Pentru că transpunerea spune că am luat un vector coloană și l-am transformat într-un vector rând. Deci primul rând al matricei este această diferență, r2 minus r1. Și înmulțirea acestei matrice cu acest vector înseamnă a lua produsul punctual al acestei diferențe și a acelui vector. Deci asta corespunde cu ceea ce am aici. Ei bine, există un factor de 2. Am uitat un factor de 2. Fă asta. OK, și apoi, în mod similar, al doilea rând, am luat un vector coloană, l-am transformat într-un vector rând. Și astfel, al doilea termen din rezultatul înmulțirii acestei matrice cu acest vector este de a lua produsul scalar al acestui vector cu acel vector. Deci aceasta este aceeași ecuație doar cu i și j schimbate. Și fac asta a treia oară. Și înțeleg asta. Și urât, am trei ecuații liniare și trei necunoscute. Ce ar putea fi mai bun? Bine, sunt unii oameni care scutură din cap. Deci de ce este minunat dacă este adevărat? Ei bine, pentru că știu să rezolv ecuații liniare. Și există un singur răspuns... și cetera, și cetera. Dar stai, am spus că există două răspunsuri. Deci ceva nu este în regulă. Deci, ce este în neregulă cu asta? De ce va eșua asta? Atunci când ecuațiile liniare nu au o soluție unică? Când există redundanță, când rândurile din matrice nu sunt independente, când matricea este singulară când determinantul este 0 - toate modurile diferite de a spune același lucru. Acum, cum pot fi sigur că asta este problema? Ei bine, dacă adun doar aceste trei rânduri, ce primesc? Am primit zero. Deci cele trei rânduri nu sunt într-adevăr independente liniar. Al treilea rând nu- mi spune nimic nou pentru că l-aș fi putut obține din primele două doar dacă adun sau scad. Dacă îl iau pe acesta și îl scad , îl primesc pe acesta. Și la fel și cu partea dreaptă. Deci totul este consistent. Deci, da, această afirmație este adevărată, dar nu îmi oferă o soluție, deoarece aceasta este o matrice singulară. Așa că trebuie să verificăm întotdeauna că nu numai că avem suficiente ecuații și necunoscute, dar și că putem rezolva problema. Da? Dreapta. OK, deci afirmația lui a fost că credem că ar trebui să existe două soluții. Dar dacă matricea este singulară, există de fapt un număr infinit de soluții pe care le pot construi de-a lungul unei linii, orice număr de soluții îmi plac. Deci ce s-a întâmplat? Ce se întâmplă? Ei bine, ceea ce am făcut a fost că am manipulat ecuațiile. Și mai avem câteva ecuații. Dar am aruncat ecuațiile originale. Și asta poate fi sau nu legitim. În acest caz, am pierdut-- ceva care satisface aceste trei ecuații nu satisface neapărat aceste trei ecuații de ordinul doi. Deci, satisfacerea acestei ecuații nu garantează că avem de fapt o soluție. Deci acesta este un alt lucru, o altă poveste avertisment. Și veți vedea asta uneori în ziare. Grozav, manipulăm ecuațiile. Obținem niște ecuații pe care le putem rezolva. Și apoi, oh, de fapt, nu primim doar soluțiile pe care ar trebui să le obținem. Dar primim alte lucruri. Și astfel, în acest caz, este perfect legitim să derivăm aceste ecuații. Dar atunci nu puteți arunca ecuațiile originale. Și în special, în acest caz, putem folosi două dintre ele. Dar trebuie să păstrăm una dintre cele pătratice. Așa că putem păstra, de exemplu, primele două ecuații acolo și o păstrăm pe a treia dintre acestea. Și asta este perfect legitim. Acum, avem două ecuații liniare, una pătratică și fiind teorema lui Bezout, am obține de 1 ori 1 ori 2 soluții maxime, adică 2. Și asta se potrivește cu ceea ce ne așteptăm. OK, deci hai să ne ocupăm de asta într-un alt mod. Deci ceea ce avem sunt constrângeri ca aceasta. Și le putem scrie așa cum am făcut acolo și apoi le putem scădea. Și ceea ce vom ajunge este... și putem obține încă două ecuații ca aceasta. Dar să ne oprim și să ne uităm la asta pentru o secundă. Ce a fost asta? R2. OK, deci tot ce am făcut aici este că i-am scăzut pe acești doi și am reorganizat puțin termenii. Deci ce îmi spune asta? Ei bine, acel produs fiind egal cu 0 înseamnă că cei doi vectori sunt perpendiculari. Deci, acesta este un lucru important, că r minus r2 este perpendicular pe r3 minus r1. Un alt lucru pe care îl putem observa este că avionul trece prin r2. Deci, în primul rând, aceasta este o ecuație liniară. Deci, după discuția noastră de acolo, reprezintă un plan în 3D și trece prin r2 pentru că dacă r este egal cu r2, acesta este 0. Și astfel încât aceasta satisface această ecuație. Bine, deci avem două proprietăți importante. Și acum, dacă ne întoarcem la punctele noastre de dispariție în planul imaginii-- o voi desena din nou, așa că-- r1. Deci ceea ce se spune este că această ecuație particulară este un plan care este perpendicular pe r3 minus r1 - deci r3 minus r1. Acesta este vectorul. Deci acest plan are aceasta ca o perpendiculară normală. Și astfel, pentru început, vă spune că acel plan este perpendicular pe planul imaginii. Deci soluțiile sunt pe acel plan care este perpendicular pe planul imaginii. Dar care dintre aceste avioane este? Pentru că doar spunând că aceasta este perpendiculara normală pe plan, am putea avea o mulțime de avioane. Ei bine, asta e a doua afirmație. Trece prin r2. Așa că mergem înainte și înapoi între algebră și geometrie pentru că toate acestea le poți face doar algebric. Dar nu prea înțelegi prea mult. Și este mult mai distractiv să- l privești geometric. Acum, desigur, am ales această combinație specială. Aș putea alege alte două combinații. Deci ce primesc de la acestea? Ei bine, unul dintre ei îmi va da un plan care este perpendicular pe r3 minus r2 și trece prin r1. Deci asta este. Și apoi există un al treilea, care va fi un plan perpendicular pe r1 minus r2 și care va trece prin r3. Și așa, ta-da, am o soluție. Deci cum se numește asta, apropo? Triangulaţie. BINE. Ei bine, deci cu triunghiuri, există o mulțime de puncte speciale care au nume. Și nu știu. Sunt cel puțin șase. Sunt sigur că oamenii au venit cu altele. De exemplu, există centrul extern, care este centrul unui cerc circumscris. Apoi există incentrul, care este centrul unui cerc înscris. Apoi există centrul de gravitate, care este media celor trei seturi de coordonate. Și acesta este ortocentrul. Nu știu. Mai sunt câteva intersecții de bisectoare și orice altceva. Oricum, acesta este cel pe care îl dorim. Și este ușor de obținut prin rezolvarea ecuațiilor liniare. Deci am terminat parțial. Nu am terminat, pentru că acum știm unde se află în planul imaginii. Deci acesta este punctul principal, cel despre care vorbeam că perpendiculara pe care am aruncat-o din centrul de proiecție în planul imaginii. Acolo este. Ce ne mai lipsește? Ei bine, ne lipsește f. Deci știm că soluția este de-a lungul unei linii care iese perpendicular din planul imaginii. De ce? Ei bine, pentru că intersectăm aceste planuri care sunt fiecare individual perpendicular pe planul imaginii. Deci vor produce o linie. Și apropo, desigur, nu am nevoie de toate cele trei avioane. Trebuie doar să intersectez două. Da, OK. Să începem cu r. Deci centrul necunoscut de proiecție este aici. Și aceasta este perpendiculara pe care am coborât de la r în planul imaginii. Și ecuațiile pe care le rezolv sunt aceste ecuații. Și lucrul pe care îl exploatez este că toate acestea au o componentă 0, a z. De ce este asta? Ei bine, pentru că în ceea ce privește sistemul de coordonate pe care îl folosesc, care este rând și coloană în imagine, înălțimea este 0 în planul imaginii. Centrul de proiecție este aici la un z diferit de zero. Dar aceste puncte sunt de fapt în planul imaginii, care are înălțimea 0 în raport cu planul imaginii. Deci niciunul dintre acești vectori nu are o a treia componentă. Și astfel, toate aceste ecuații de aici, mă pot gândi la, într-adevăr, ca ecuații în doi vectori, nu doar x și y. Și am nevoie doar de două dintre acestea pentru a rezolva pentru x și y. Dar aceasta este doar algebră care reprezintă această perspectivă geometrică. Deci, unul dintre lucrurile care... ce faci cu asta? Ei bine, calibrarea camerei. Dar poți să faci și lucruri distractive cu el altfel. Deci, de exemplu, dacă faci o imagine și găsești acest punct și descoperi că nu este în mijlocul imaginii, cum ar fi aici poza ta și faci această construcție și descoperi că punctele de fuga sunt, eu nu stiu, in afara imaginii. Și apoi descoperi că, oh, centrul proiecției este, nu știu, aici... punctul principal. Ei bine, atunci cine a făcut poza asta fie avea o cameră foarte amuzantă, fie te-a decupat din imagine. Se face foarte des atunci când relațiile se rup. Faceți această poză grozavă în care arăți foarte bine. Apoi o tăiați pe cealaltă persoană. Și, deci, acesta este unul dintre tipurile de utilizare uşoară-- sau poate nu atât de uşurată, în acest caz-- utilizări pentru această tehnologie. Un altul este să încerci să întrebi dacă o imagine este originală sau a fost modificată. Și asta a apărut în Amiralul Peary a ajuns sau nu la Polul Nord? Iar dovada lui a fost parțial sub formă de fotografii. Și ce poți face... și știm ce cameră a folosit. Deci știm distanța focală, etc. Și, ei bine, știm și la ce altitudine ar trebui să fie soarele în acea perioadă a anului. Așa că poți să faci niște fotogrammetrie și să descoperi că, de exemplu, una dintre imaginile importante a fost decupată. Deci acesta este genul de tehnologie care vă va permite să faceți asta. Și cred că Asociația Fotogrametrică, care se ocupă de acest gen de chestii, a luat asta. Și au publicat o carte care pune la îndoială afirmația lui că a ajuns la Polul Nord. Mă interesează asta parțial pentru că există farse minunate în explorare, dintre care multe sunt ușor de înțeles. Cineva a petrecut ani de zile strângând bani, ani găsind oameni care să lucreze cu ei. Ei ajung la 150 de mile de Polul Nord și nu e nimeni în jur. Se vor întoarce și vor spune, nu, n-am reușit? Ei bine, dacă sunt cu adevărat, cu adevărat sinceri, asta spun ei. Dar dacă l-ar trimite înapoi pe singurul tip care știa să opereze un sextant pentru a măsura altitudinea soarelui, ar putea fi tentați să spună, da, am ajuns acolo. Oricum, efectuarea acestui tip de analiză a punctului de fugă vă poate alerta uneori asupra problemelor legate de manipularea imaginii. Dar îl folosim în schimb pentru calibrare. Deci putem scrie cele două ecuații liniare pentru acel punct. Dar nu este... Adică, știi cum să rezolvi două ecuații liniare. Deci mai trebuie să găsim f. Dar este în regulă pentru că acum știm x și y. Și tot ce trebuie să știm este a treia componentă a acelui vector. Și ajungem cu un pătratic. Și știm cum să rezolvăm un pătratic. Deci nu voi face asta. Dar iată un alt lucru interesant. Am continuat să spun că, în cazuri tipice, punctele de fugă vor fi în afara cadrului. Și, așadar, un lucru pe care am dori să-l facem este, având în vedere această poziționare a punctului de fuga, putem spune ceva foarte repede despre f, distanța focală? Ei bine, iată un... să luăm un caz foarte simplu. Deci, aici, punctele de fuga... și se întâmplă să fie egal distanțate în planul imaginii. Am întors cubul astfel încât să privim cele trei fețe în mod egal. Și să presupunem că această distanță este, nu știu, v pentru punctul de fugă. Și atunci întrebarea este, ce ar fi dacă? Abordarea generală a acestui lucru implică conectarea x și y pe care o obținem din aceasta și apoi rezolvarea unei pătratice în f. Dar poate că putem face asta fără toate astea pentru că este un caz special. Ar trebui să putem înțelege asta. Deci ne putem gândi la asta în termeni de colț al unui sistem de coordonate. OK, deci avem 1, 0, 0; 0, 1, 0; și 0, 0, 1. Și trebuie să cunoaștem distanța de la origine până la acest plan. Și, desigur, va varia în funcție de locul în care ne aflăm. Dar undeva aici este punctul care este cel mai aproape de origine. Și este cel pe care l-am indicat prin distanța rho de la origine. Deci întrebarea este, cât de departe este acel punct de la origine? Ei bine, probabil că este un punct în care... care este un alt nume de variabilă? A, a, a. Este simetric. Deci v-ați imagina că în acel moment ar trebui să aibă aceleași coordonate x, y și z. Și astfel produsul punctual al acesteia cu unitatea normală la acest plan ar trebui să fie 1. Deci unitatea normală la-- perpendiculara pe acest plan vine simetric drept în mod egal în x, y și z. Și pentru a-l face un vector unitar, trebuie să împărțim la rădăcina pătrată a lui 3, nu? Pentru că avem 1, 1, 1. Și cred că acesta este că A este 1 peste rădăcina pătrată a lui 3 pentru că este de 3 ori-- da, OK. Deci asta este și ceea ce am numit rho înainte. OK, deci aceasta este distanța de la origine până în acest punct. Și acesta va fi f. Dar ce este v? Ei bine, în această diagramă, acesta este v. Deci, în acest caz, v este rădăcina pătrată a lui 2. Și f este 1 peste rădăcina pătrată a lui 4. Deci există o relație care este că v este rădăcina pătrată de 6 ori f, sau f este v peste rădăcina pătrată a lui 6. Deci, în acest caz special, putem calcula cu ușurință care este distanța focală sau distanța principală. Și este substanțial mai mare decât... Îmi pare rău, am înțeles greșit . F ar trebui să fie... nu, este corect. Și astfel v va fi de obicei substanțial mai mare decât f, distanța principală. Și atât de des punctele de fuga vor fi în afara cadrului din care am capturat de fapt o imagine. Și acesta este un caz special. O putem rezolva într-un caz general. Este doar algebră. Deci, aceasta este aplicarea punctelor de fuga la calibrarea camerei. Acum vreau să vorbesc despre o altă aplicație. Am menționat cazul în care doar lovim camera unui telefon mobil pe geamul unei mașini. Și vrem să relaționăm imaginile pe care le vedem cu un sistem de coordonate mondial tridimensional doar prin identificarea caracteristicilor din imagine. Deci, ce fel de lucruri putem vedea în imagine? Ei bine, dacă este pe un drum drept, vom vedea bordura și vom vedea marcajele rutiere. Și se presupune că sunt paralele. Și astfel vor produce un punct de fuga pe care îl putem detecta în imagine. Dacă avem noroc, există și un orizont. Deci obținem o a doua constrângere din asta. Și ceea ce vrem să știm este cum este orientată această cameră în raport cu drumul și în raport cu gravitația. Deci acesta este genul de problemă pe care încercăm să o rezolvăm. Și cred că am scăpat și de asta. Deci aici este vorba de orientare. Deci, transformarea dintre un sistem coordonat mondial care este aliniat cu drumul și gravitația la sistemul de coordonate al camerei este translația -- există o oarecare schimbare -- și rotația. Și ne vom concentra aici doar pe recuperarea rotației. Deci de unde începem? Ei bine, aceeași diagramă. Să presupunem că suntem norocoși și că avem de fapt toate cele trei puncte de fugă. În aplicația pe care am menționat-o, noi nu. Dar să luăm cazul ușor, în care avem toate cele trei puncte de fugă. Deci avem v1, v2, v3, r1, r2, r3. Și acum că avem o cameră calibrată, le conectăm doar la centrul de proiecție. Acum știm unde este centrul de proiecție. Adică avem cele trei numere. Avem două pentru punctul principal și unul pentru distanța principală sau, dacă doriți, doar coordonatele centrului de proiecție. Nu știu. Să-i spunem p sau așa ceva. Am numit-o aici. OK, atunci știm că marginile acestui obiect dreptunghiular la care ne uităm pentru a obține punctele de fugă au direcții care sunt doar definite de aceste linii. Adică, să numim asta axa x. Și apoi mai este unul, care va fi axa y. Și iată-ne. Așa că arată puțin amuzant din cauza modului în care am ales punctele de fugă. Dar ar trebui să fie în unghi drept unul față de celălalt. Și, desigur, primul lucru pe care îl pot face este să verific. Am un algoritm care găsește punctele de fugă. Am calibrat camera, se presupune. Le conectez pe astea. Și iau produsele cu puncte. Și ar fi bine să fie mici. Este puțin probabil să fie exact 0. Deci, acesta este primul lucru, să verificați dacă sunt, de fapt, în unghi drept unul față de celălalt. Și atunci am acum... ce am? Am vectorii unitar din sistemul de coordonate al obiectului măsurați în sistemul de coordonate al camerei. Deci definiția mea pentru x, y și z este încă în acest sistem de coordonate aici. Deci voi face asta-- T minus r1. Și, bineînțeles, odată ce știu că sunt paraleli și sunt vectori unitari, pot să-i calculez prin normalizare-- etc. Deci, important de înțeles că acești vectori unitari x, y și z sunt în sistemul de coordonate al camerei. OK, deci acum să presupunem că am un punct în obiect. Și să vedem, am numit aceste numere prime? Și va fi... da, sunt vectori. Deci asta este în sistemul meu de coordonate a camerei. Și care este acel vector în sistemul de coordonate obiect original ? Deci totul este acum măsurat în sistemul de coordonate al camerei. Oh, n-ar trebui să fiu... OK. Deci este alfa în direcția axei x și beta în direcția axei y și gamma în direcția axei z. Deci, care este vectorul din sistemul de coordonate obiect? Unde sunt componentele sale? Componenta sa x este alfa, iar componenta y este beta. Deci, acest vector aici pe care l-am scris în sistemul de coordonate al camerei corespunde acestui vector din sistemul de coordonate obiect. Deci, asta e definiția. Avem trei axe în acea lume. Și exprimăm poziția unui punct în termenii unei sume ponderate a acestor trei direcții. Și astfel, în sistemul meu de coordonate a camerei, așa arată. În obiectul - sistemul de coordonate bloc dreptunghiular, arată așa. Deci, care este transformarea? Deci am... să vedem. R este... deci să vedem. T, din nou, înseamnă că transpun un vector coloană într-un vector rând. Deci primul rând al acelei matrice este vectorul unitar în direcția x așezat ca un rând. Și astfel prima componentă a lui r de aici este produsul scalar al acestui vector unitar x și r prim-- acest tip. Și ei bine, asta este ceea ce vezi în acea ecuație. A doua componentă este produsul lui y cu acest tip și așa mai departe. Deci, acesta este vectorul meu de transformare între cele două sisteme de coordonate. Vom face mai mult din asta. Deci nu intrați în panică. Deci aceasta este o matrice foarte importantă. Și reprezintă orientarea unui sistem de coordonate față de celălalt. Și susțin că această matrice este, de asemenea, normală. Ce înseamnă asta? Asta înseamnă că rândurile sunt perpendiculare între ele. Dacă luați produsul scalar al celor două rânduri, veți obține 0. Luați produsul scalar al acestor două rânduri, veți obține 0. Și prin construcție, asta este adevărat pentru că am făcut un vector unitar. Presupunem că ele reprezintă axa sistemului de coordonate, deci sunt perpendiculare. Și atunci este, de asemenea, normal ca fiecare rând să aibă magnitudinea 1. Și am făcut asta prin construcție pentru că am construit un vector unitar. Deci, printre altele, suntem acum făcuți să înțelegem că rotația este reprezentată și de o matrice normală și de câteva sarcini fotogrammetrice care implică găsirea acelei matrice. Și în acest caz, am reușit să o facem destul de simplu, deoarece am putut determina în mod explicit direcția axei de coordonate în obiectul scris în termeni de coordonatele camerei. Și, desigur, dacă vrem , putem inversa acest lucru. Deci, dacă avem... poate că trebuie să mergem în cealaltă direcție. Poate că știm coordonata r și vrem să găsim coordonatele primului nostru. Ei bine, și se dovedește că pentru matricele de rotație, putem arăta că de fapt sunt doar transpunerea. Deci asta decurge din proprietatea de ortonomalitate. Deci, în acest caz, trecerea înainte și înapoi între cele două sisteme coordonate este deosebit de ușoară. La altceva, în sfârșit. Așa că am petrecut destul de mult timp vorbind despre proiecția în perspectivă și despre toate lucrurile care sunt legate de ea, inclusiv despre derivatele, care ne-au oferit câmpul de mișcare. Și apoi am vorbit puțin despre punctele de fuga și despre exploatarea lor pentru calibrarea camerei. Și să ne întoarcem acum la cealaltă parte a puzzle-ului, care este luminozitatea și ce putem face cu ea. Cum putem exploata măsurătorile luminozității? Am vorbit deja despre scurtare. Deci, iată o mică fațetă a suprafeței unui obiect. Și putem preciza orientarea acesteia vorbind despre unitatea normală. Și atunci el este un observator. Și să numim această direcție direcția de vizionare. Și există și iluminare. În cazul în care există o singură sursă de iluminare, o vom numi sursă. Și, ei bine, putem desena câteva unghiuri aici. Deci acesta este theta I pentru unghiul incident și acesta este theta E pentru unghiul emis. Și, ei bine, asta nu este suficient. Avem nevoie de un alt unghi pentru a descrie pe deplin acea situație, pentru că dacă specificăm doar incidentul și unghiul emergent, putem roti unul dintre acestea. Deci avem nevoie de un unghi de azimut. Și despre asta vom vorbi mai târziu. Dar pentru moment, imaginați-vă că luăm această rază de la sursa de lumină și ne-am proiectat în jos în plan, și ducem această rază până la capătul vederii, o proiectăm în jos în plan. Și apoi măsurăm acest unghi de azimut. Acum, luminozitatea observată va depinde de acești parametri. Va depinde de materialul suprafeței, unul. Și va depinde de sursa de lumină. Și va depinde de acele unghiuri. Un caz extrem este o oglindă, în care există o singură direcție în care vezi ceva. Raza reflectată se stinge într-o anumită direcție. Și dacă camera sau ochiul tău nu se află acolo, este întuneric. Dar cazurile mai interesante, în care avem o bucată de hârtie galbenă. Și aproape în orice direcție din care îl privesc, are aceeași luminozitate. Și despre asta vom vorbi mai târziu. Vom simplifica foarte mult această poveste imediat vorbind despre iluminare. Și am vorbit despre scurtare. Și așa știm că, dacă avem un petic dintr-o anumită zonă, va primi din ce în ce mai puțină putere de la sursa de lumină cu cât este mai înclinată față de direcția sursei de lumină. Iar scurtarea face ca aria aparentă să fie aria adevărată ori cosinusul acelui unghi. Și așadar, doar în ceea ce privește puterea de intrare, acesta este numărul magic. Ei bine, dacă cosinusul theta i este mai mic de 0, nu este adevărat, deoarece asta ar însemna că obțineți putere negativă. Deci, ce înseamnă cosinus theta i a fi negativ? Asta înseamnă că este mai mare decât... unghiul este mai mare decât pi peste 2. Și asta înseamnă că ai întors suprafața cu fața departe de soare. Deci, ar trebui să spunem cu adevărat max de cosinus teta și 0. Dar asta este atât de plictisitor, doar o să spunem implicit asta. Și atunci suprafața poate reflecta sau nu lumina. Poate absorbi o parte din el. Și se poate reflecta diferit în direcții diferite. Dar să luăm un caz foarte simplu. Să începem cu asta... ca să nu spunem că vom rămâne blocați cu asta. Bine, deci acesta este un model al unei suprafețe mate care este foarte neoglindă. Reflectează lumina în diferite direcții. Și are proprietatea specială că indiferent de direcția în care te uiți la el, are aceeași luminozitate. Și vom vorbi despre exact modul în care măsurăm luminozitatea. Deci, pentru moment, tot ce ne vom folosi este să ne imaginăm că există o suprafață în care luminozitatea depinde doar de cât de multă putere intră. Și, prin urmare, depinde de cosinus theta i. Și cum putem exploata asta? Ei bine, facem o măsurare a luminozității. Și va fi proporțional cu asta. Să nu ne facem griji pentru factorul de proporționalitate pentru moment. Deci luminozitatea este proporțională cu produsul punctual din această diagramă între normal și... nu? Deoarece n punctul s este cosinus theta i. Și deci îmi permite asta să determin orientarea suprafeței? Deci, pot rezolva asta pentru... vezi, unde mă duc cu asta aș vrea să recuperez forma suprafeței. Și o modalitate prin care pot face asta este să mă uit la fiecare mică fațetă și să-mi dau seama dacă orientarea ei la suprafață, care este puțin diferită de... ați putea crede că, ei bine, vom construi doar harta de adâncime. Vom găsi o modalitate de a estima adâncimea în fiecare punct al imaginii. Dar asta e ceva ce nu putem face dintr-o imagine monoculară. Ne-am dori să putem recupera forma și din imaginile monoculare . Deci încercăm să recuperăm n. O putem face din asta? Ei bine, aceasta este doar o constrângere. Iar suprafața normală are 2 grade de libertate, nu? Este vectorul unitar. Vrem constrângeri. Deci 3 minus 1 este 2. Deci avem două necunoscute. Și avem o singură ecuație. Deci asta nu merge. Dar să ne imaginăm că suntem într-o situație industrială. Avem controlul surselor de lumină și așa mai departe. Și putem face oa doua imagine cu oa doua poziție pentru sursa de lumină. Și ați văzut asta în slide-urile pe care le-am făcut la început. Ei bine, asta deja arată mai bine pentru că acum avem 2 constrângeri și 2 grade de libertate. Avem o potrivire între numărul de necunoscute și un număr de ecuații. Dar nu sunt liniare. Și de unde provine neliniaritatea? Ei bine, treaba este că, dacă rezolvăm pentru n, trebuie să impunem constrângerea că este un vector unitar. Și un mod de a gândi este că încercăm să rezolvăm aceste trei ecuații pentru n. Și acestea sunt drăguțe și liniare. Și acesta nu este. Deci, după teorema lui Bezout, pot exista două soluții. Un alt mod de a vedea acest lucru este să presupunem că măsurați luminozitatea și, prin urmare, puteți estima cosinus theta i. Și, prin urmare, puteți estima teta i. Ce știm? Ei bine, să presupunem că știm direcțiile sursei de lumină. Și știi că aceasta este direcția către sursa de lumină. Și apoi știu că există un anumit unghi între normala suprafeței și sursa de lumină. Ei bine, asta nu-mi dă răspunsul pentru că ar putea fi... Pot roti asta în jurul lui s. Și așa am de fapt un întreg con de direcții posibile. Deci acesta este s. Și acesta este theta i. Și normalul meu ar putea fi oricare dintre acestea pe acel con. Acum, dacă am o a doua măsurătoare, a doua sursă de lumină, asta îmi oferă un con de direcții diferit. Și dacă normalul trebuie să fie pe ambele, ei bine, asta înseamnă că caut intersecția acelor conuri. Și vor fi doi. Și, desigur, dacă intersectez două conuri, obțin două linii. Dar am constrângerea suplimentară că trebuie să fie unitatea normală. Deci este pe o sferă unitară. Așa că apoi iau acele două linii se intersectează și ele cu o sferă unitară. Și am două puncte OK, ei bine, s-ar putea întâmpla lucruri rele. Dacă măsurătorile tale sunt greșite, este posibil ca aceste două conuri să nu se intersecteze. Dar vom ignora asta pentru moment. Și am putea scrie algebra pentru asta. Implică rezolvarea unei pătratice. Știm să rezolvăm pătratici. Dar putem transforma asta într-o problemă de ecuație liniară și o putem face ceva mai interesantă. Am menționat că, printre altele, unul dintre lucrurile care va afecta cât de luminos este ceva în planul imaginii este reflectanța suprafeței. Și reflectanța, din păcate, este un termen foarte neclar care înseamnă altceva pentru toată lumea. Așa că voi suna discuții despre ceva numit albedo. Și aceasta este o cantitate care ar fi între 0 și 1. Și pur și simplu vă spune cât de reflectorizant este suprafața, cât de mult din energia care intră iese din nou față de cât de mult este absorbită și pierdută. Și am pus albedo între ghilimele pentru că are un sens foarte bine definit în unele domenii tehnice, precum astronomia. Înseamnă ceva ușor diferit în cazul astronomiei. Înseamnă că ai o planetă sferică. Și care este raportul dintre puterea de intrare și puterea de ieșire? Și asta înseamnă că este o medie de o mulțime de direcții diferite. Aici, vorbesc doar despre o anumită orientare. Dar este un concept foarte simplu, doar o bucată de hârtie albă probabil are un albedo care este aproape de 1. Și cărbunele negru are un albedo care este, ca, 0,1. Și poți avea un albedo mai mare de 1? Fara drept? Altfel ai încălca o lege a fizicii. Dar poți obține suprafețe super luminoase trișând. Deci, dacă aveți vopsea spray fluorescentă, de exemplu, sau dacă ați amidonat culoarea în cămașa albă, ceea ce știu că faceți cu toții, atunci când o iluminați cu lumina soarelui, acestea sunt mai strălucitoare decât strălucitoare. Ele nu ar trebui să fie la fel de strălucitoare precum sunt. Și asta pentru că transformă ultravioletele în vizibile. Deci nu încalcă a doua lege a termodinamicii. Ei convertesc energia din afara spectrului în energie din spectru. Și, în acest caz, puterea totală de ieșire vizibilă poate fi mai mare decât puterea totală vizibilă în interior. Și astfel, o suprafață cu acest tip de proprietate -- dacă puneți amidon în cămășile tale albe, acestea vor părea mai strălucitoare decât un reflector de 99,99%. pulbere de sulfat de magneziu, care este unul dintre standardele pe care le folosesc oamenii. Dar, în general, 0 mai puțin decât rho mai puțin decât 1. Și deci ce înseamnă asta? Ei bine, acum avem o situație puțin diferită, în care E1 este rho n dot s1. Și E2 este rho n dot s2. Și acum, de fapt, am și 3 grade de libertate în ceea ce privește necunoscutele pentru că am vectorul unitar-- adică 2. Și vreau să recuperez albedo. Asta face 3. Ei bine, asta înseamnă că nu pot face asta cu două ecuații. Așa că permiteți-mi să adaug un al treilea. OK, așa că pare să fie o potrivire. Am trei grade, trei necunoscute. Și am trei măsurători. Și acum voi defini n ca fiind această cantitate. Deci, voi defini cei trei vectori în care toate cele trei componente sunt de fapt independente de variabilă. Și acel vector va încapsula lucrurile pe care vreau să le știu -- rho și vectorul unitar n. Și, evident, îmi pot recupera foarte ușor -- dacă pot găsi acest n, pot găsi cu ușurință rho pentru că este doar o magnitudine de n. Și pot găsi cu ușurință vectorul unitar prin simpla împărțire. Și motivul pentru care o fac este pentru că acest lucru va fi mai convenabil. Deci am transpus. Foarte asemănător cu ceea ce am avut mai devreme astăzi, doar că de data aceasta va funcționa. Deci ce se întâmplă aici? Ei bine, primul rezultat al înmulțirii acestei matrice cu acest vector este produsul primului rând cu acest vector coloană. Și asta este. Acesta este E1 și așa mai departe. Deci, acesta este doar un mod compact de a scrie aceste trei ecuații. Și apoi pot scrie... Pot scrie soluția așa. Și am terminat. Și din acest scop, pot recupera apoi rho și suprafața vectorului unitar [INAUDIBIL]. Deci o serie de lucruri de discutat despre asta. Una dintre ele este că aceasta presupune că așa cum este inversabil. Pot construi cu ușurință cazuri în care nu este cazul. De exemplu, dacă s3 este de fapt la fel cu s2, atunci determinantul acestei matrice - două dintre rândurile matricei sunt aceleași. Determinantul ar fi 0. Nu-l pot inversa. Și are sens. Nu primesc informații noi. Dacă s3 este -- dacă a treia poziție a sursei de lumină este aceeași cu cea de- a doua sursă de lumină, măsoară aceeași luminozitate. Deci intuitiv este clar că asta nu va funcționa. Și apoi te poți gândi la alte lucruri. Să presupunem că s3 este jumătate din s1 plus jumătate din s2. Este puțin diferit pentru că spune: OK, există o sursă de lumină aici. Există o singură sursă de lumină aici. Și acum o să pun una chiar la mijloc între ei. Asta îmi oferă o a treia măsurătoare în imagine. Ei bine, se dovedește că îl puteți prezice din celelalte două pentru că dacă E3 este n punct s3 și s3 este 1/2 s1 plus 1/2 din s2, puteți calcula ce este acesta. Și deci nu pot fi coplanari. Deci sursele de lumină trebuie să fie răspândite în firmamentul tău. Nu le poți pune într-un avion. Și acest lucru are implicații importante pentru astronomi, deoarece orbitele planetelor și ale lunii noastre sunt aproape în același plan. Și, prin urmare, pe măsură ce soarele orbitează în jurul Pământului, nu obțineți imagini diferite. Deci asta e un lucru. Acest lucru nu va funcționa decât dacă alegem trei direcții independente ale sursei de lumină. Un alt lucru este că putem precalcula acest lucru. Dacă știm unde sunt sursele de lumină... să zicem că faci niște inspecții industriale, controlezi cu sursele de lumină. Doar calculezi s, iei inversul și îl memorezi. Și apoi la fiecare pixel, aveți trei cadre, luate trei expuneri. Și la fiecare pixel, pur și simplu formați acest vector și înmulțiți s-ul precalculat minus 1. Și uite răspunsul tău. Adică, este incredibil de simplu și foarte puțin calcul, foarte eficient. Apoi, un alt lucru este că este oarecum întâmplător să avem nevoie de trei pentru a face asta. Avem nevoie de trei surse de lumină pentru a face asta. Și un motiv care este interesant este că camerele au de obicei trei seturi de senzori, RGB. Și așa s-ar putea să putem exploata asta. Deci, un lucru pe care l-am putea face este, în loc să avem trei surse de lumină care se aprind secvențial, am putea folosi trei surse de lumină colorate și apoi să ne despărțim de R, G și B. Și mai este puțin mai mult de lucru, deoarece o anumită culoare sursa de lumină nu va excita doar R sau G sau B, ci și o combinație liniară. Dar lucrul important este că vom avea trei combinații liniare diferite. Și apoi putem folosi algebra matriceală magică pentru a face față asta. Deci asta e o posibilitate. Și asta este într-un mod mai convenabil. Și este mai rapid pentru că nu trebuie să pornim și să oprim sursele de lumină, deși aprinderea și stingerea LED-urilor este destul de rapidă. Dar le putem ilumina doar cu lumini colorate. Singura problemă este dacă obiectul este colorat pentru că atunci obiectele - cu excepția cazului în care sunt colorate uniform, dacă diferite părți ale acestuia au culori diferite, asta va încurca acest algoritm și va face să creadă că orientarea suprafeței este ceva ce nu este. . Deci, aceasta este o privire rapidă asupra a ceea ce vom face în ceea ce privește măsurarea luminozității. Acesta este un caz deosebit de simplu. Și este un caz care, într-un fel, este conceput pentru că spunem că controlăm sursele de lumină, care are aplicație pentru uz industrial. De fapt, dacă te uiți la unele brevete recente de la Cognex, au decis să folosească așa ceva. Dar nu se potrivește cu înțelegerea sistemelor de viziune biologică , cu excepția oceanului foarte, foarte adânc, unde peștii de mare au surse de lumină pe care le atârnă în fața lor pentru a atrage prada. În mod obișnuit, nu găsim animale care luminează mediul cu surse de lumină colorate diferite pentru a descoperi formele prăzii lor sau ceva de genul acesta. Dar din punctul de vedere al recuperării informațiilor din imagini monoculare într- un cadru industrial, aceasta este o abordare interesantă. Acum, suprafețele reale urmează această regulă simplă, cosinus theta i? Nu. Deci nu poți folosi asta direct. Dar puteți construi un tabel de căutare. Deci, de fapt, nici nu trebuie să modelați matematic modul în care suprafața reflectă lumina. Îl calibrezi doar folosind o formă pe care o cunoști. Deci pentru fiecare... să presupunem că iei o sferă. Pentru fiecare punct din imaginea sferei, puteți calcula care este orientarea suprafeței , ce n este acolo. Și apoi măsori luminozitatea în trei imagini. Și poți construi o masă. Desigur, masa merge pe direcția greșită. Tabelul trece de la orientarea la suprafață la E1, E2 și E3. Ceea ce vrei cu adevărat este invers. Măsurând E1, E2, E3, vrei să știi care este orientarea. Dar asta este doar inversarea numerică a unui tabel. Deci asta e ceva ce putem face. Dar data viitoare vom merge în direcții diferite , începând cu o proiecție diferită. Așa că știm că camerele reale realizează proiecția în perspectivă. Și am petrecut mult timp să ne ocupăm de asta. Dar, în unele cazuri, îl putem aproxima printr-o proiecție care este mult mai ușor de gestionat. Numiți acea proiecție ortografică. Și condiția pentru aceasta este ca intervalul în adâncime să fie foarte mic în comparație cu adâncimea în sine. Și în acest caz, puteți presupune că adâncimea este constantă. Și dacă z este constant, atunci f/z este constant. Și există o mărire constantă. Și în acest caz, putem folosi o simplificare numită proiecție ortografică, care va exploata în eforturile noastre de a reconstrui suprafețele din imagini. Alte intrebari? BINE.