BERTHOLD HORN: Deci bine ai venit la Machine Vision 6.801, 6.866. Și nu știu sigur cum am fost atât de norocoși, dar avem sala de clasă care este cea mai îndepărtată de biroul meu. Așa că cred că o să fac mult exercițiu. Și cred că vom avea o mulțime de rătăciți care vin. Ce avem de știut? Cam totul este pe site. Deci, probabil, pot elimina o mulțime de administrație. Vă rugăm să vă asigurați că sunteți efectiv înscris la curs pe site și să aruncați o privire la teme. Și sperăm că fie ați avut șansa să vă uitați la capitolele 1 și 2, fie sunteți pe cale să o faceți. Asta e sarcina pentru săptămâna aceasta. Și există o problemă cu temele. Și probabil că spui, Doamne, tocmai am ajuns aici. Cum poate fi o problemă cu temele pentru acasă? Ei bine, îmi pare rău. Dar termenul devine din ce în ce mai scurt. Și dacă lucrez înapoi de când regulamentul facultății spune că ultima misiune poate fi scadentă, trebuie să începem acum. Acum vestea bună este că nu există o finală. Deci, da, există o problemă cu temele care începe imediat, dar nu există o finală. Și există o problemă cu temele doar la fiecare două săptămâni, așa că nu este o povară uriașă. Și există câteva chestionare de acasă. Deci, două dintre cazurile în care ai avea în mod normal o temă vor fi teme glorificate, care contează mai mult decât celelalte. Și se numesc chestionare. Deci, în total, cred că sunt cinci probleme de teme și două chestionare. Colaborare -- colaborarea este în regulă pentru problemele legate de teme, dar vă rugăm să notați cu cine ați lucrat. Nu este în regulă la chestionarele de acasă. 6.866-- deci cei din 6.866, diferența este că există un proiect pe termen. Deci, veți implementa o metodă de viziune artificială , de preferință una pe care o vom acoperi în curs. Și va fi o propunere care va avea loc în aproximativ o lună de acum-- O voi lăsa pe măsură ce mergem-- care să- mi spună ce ai de gând să faci. Și se va acorda preferință problemelor dinamice, mai degrabă decât analizei statice cu o singură imagine, mișcarea imaginii, așa ceva. Și dacă există suficient interes, vom avea o sesiune despre cum să facem acest lucru pe un telefon Android. Și sunt puțin reticent să fac asta pentru că unii dintre voi nu aveți un telefon Android. Și am niște împrumuturi. Dar știi cum e... aceste lucruri blestemate se demodează în doi ani. Și astfel, toate lucrurile noi interesante care au legătură cu o cameră pe Android nu se află în cutia plină de smartphone-uri vechi pe care le am. Dar asta este o opțiune. Deci, una dintre modalitățile de a-ți realiza proiectul de termen este să faci un proiect de studio Android. Și pentru a vă ajuta în acest sens, avem un proiect gata pregătit pe care îl puteți modifica în loc să începeți de la zero. Bine ce altceva? Note-- deci pentru 6.801, este o împărțire-- jumătate pentru problemele tale cu teme și jumătate pentru chestionarele tale de acasă. Deci, în mod clar, chestionarele de acasă contează mai mult. Pentru 6.866, este împărțit în trei moduri: o treime pentru problemele de acasă pentru acasă , o treime pentru chestionare și o treime pentru proiect. Și din nou, colaborarea la proiectele pe care le prefer, pentru că există doar o perioadă limitată de timp în termen. Ai alte cursuri de care trebuie să te ocupi. De multe ori, oamenii ajung să o amâne aproape de sfârșit. Deci, dacă lucrezi cu altcineva, asta te poate încuraja adesea să începi devreme și, de asemenea, să te asiguri că faci ceva progres. Manual... nu există manual, așa cum ai văzut. Dacă aveți Robot Vision, ar putea fi util. Nu vom acoperi toată Robot Vision, vom acoperi poate o treime până la jumătate. Și o mare parte din materialul pe care îl acoperim este referit prin lucrări, pe care le vom pune pe site-ul Stellar. Deci, de fapt, dacă te uiți pe site, vei vedea că există o mulțime de materiale. Și nu vă speriați. Adică, multe dintre acestea sunt doar pentru referință. De exemplu, dacă lucrezi la proiectul tău, atunci trebuie să știi cum să faci... Nu știu... SIFT, atunci este acolo. Deci nu trebuie să citiți toate astea. Deci este cartea Robot Vision. Ar trebui să fie pe site. Dacă nu este pe materiale, atunci când ajungi pe site-ul Stellar, există o filă - sunt două file. Iar al doilea este... Am uitat ce, dar acolo se află toate lucrurile bune. Și atunci când ajungi la pagina respectivă, una dintre ferestre spune, Material. Și, din păcate, îți arată doar puțin din asta. Trebuie să faceți clic pe el pentru a vedea toate materialele. Deci ar trebui să fie acolo. Și vom face asta cu unele dintre celelalte capitole și unele dintre lucrări, așa cum am menționat. OK, de asemenea, desigur, există erori în manual. Și astfel, erratele pentru manual sunt online. Deci, dacă ai cartea, ai putea trece prin și marca roșu toate punctele rele. Deci citind, citiți capitolele 1 și 2. Nu vă faceți griji pentru tot materialul de referință. Nu vei citi totul. Deci ce facem azi? Ei bine, în cea mai mare parte, trebuie să- ți spun destul ca să poți face problema temelor. Aceasta este o funcție. Iar celălalt este să-ți dai o idee despre ce este cursul. Și aceste două lucruri sunt în conflict. Așa că voi încerca să le fac pe amândouă. În ceea ce privește cursul, ar trebui să vă spun care sunt obiectivele. Așa că am inventat ceva. Aflați cum să recuperați informații despre mediu din imagini. Și așa că vom lua această vedere grafică inversă în care există o lume 3D acolo, vom obține imagini 2D și vom încerca să interpretăm ceea ce se întâmplă în lume. Viziunea este un simț uimitor, deoarece este fără contact și oferă atât de multe informații. Dar este într-un fel de formă codificată, pentru că nu primim toate informațiile posibile. Nu primim 3D, de exemplu. Deci acesta este subiectul pe care îl vom discuta. Și sperăm că atunci veți înțelege formarea imaginii și veți înțelege cum să o inversați pentru a încerca să obțineți o descriere a mediului din imagini. Rezultate... ei bine, veți înțelege ceea ce se numește acum viziunea artificială bazată pe fizică. Așadar, abordarea pe care o vom lua este destul de mult-- sunt raze de lumină, care ies de pe suprafețe, formează o imagine. Și asta e fizica -- razele, lentilele, puterea pe unitate de suprafață, genul ăsta de lucruri. Și din asta, putem scrie ecuații. Putem vedea câtă energie intră în acest pixel din cameră pe baza obiectului de acolo. Cum este iluminat, cum reflectă lumina și așa mai departe. Și din ecuații, încercăm apoi să inversăm acest lucru. Deci, ecuațiile depind de parametrii care ne interesează , cum ar fi viteza, timpul până când ne lovim de un perete, tipul de acoperire a suprafeței și așa mai departe. Deci asta este viziunea artificială bazată pe fizică. Și este pregătirea pentru cursuri mai avansate de viziune artificială . Deci, există un material de bază pe care toată lumea ar trebui să-l cunoască despre modul în care se formează imaginile. Asta va fi util pentru alte cursuri. Și dacă intri în abordări de învățare, unul dintre avantajele parcurgerii acestui curs este că te va învăța cum să extragi funcții utile. Deci, puteți învăța cu date brute, cum ar fi doar nivelurile de gri de la fiecare pixel. Și aceasta nu este o abordare deosebit de bună. Este mult mai bine dacă puteți extrage deja informații, cum ar fi textura, distanța, forma, dimensiunea și așa mai departe. Și faceți lucrul mai avansat în acest sens. Și, ei bine, de asemenea, unul dintre lucrurile pe care le plac unii oameni este să vadă aplicații reale ale unor matematică și fizică interesante, dar relativ simple. Este ca și cum, uneori, uităm de asta când suntem atât de cufundați în programarea în Java sau așa ceva. Dar am învățat multă matematică și, uneori, ne deranjează pentru că, de exemplu, de ce învăț asta. Ei bine, este frumos să afli că de fapt este cu adevărat util. Și asta mă duce la următorul subiect, care este că, da, va fi matematică, dar nimic sofisticat. Este matematică de inginerie -- calcul, genul ăsta de lucruri, derivate, vectori, matrice, poate un pic de algebră liniară, poate o ecuație diferențială obișnuită, genul ăsta de lucruri, nimic prea avansat, nicio teorie a numerelor sau ceva de genul ăsta. Și va fi ceva geometrie și un pic de sistem liniar. Deci ați văzut că condiția prealabilă a fost 6.003. Și asta pentru că vom vorbi puțin despre convoluție când vorbim despre formarea imaginii. Dar nu vom intra foarte adânc în toate acestea. În primul rând, desigur, este acoperit acum în 6.003 , deoarece au schimbat materialul pentru a include imagini. Și atunci avem alte lucruri de care să ne îngrijorăm. Deci despre asta este cursul. Ar trebui să-ți spun și ce nu este. Deci nu este procesare de imagini. Deci, care este diferența? Ei bine, procesarea imaginii este locul în care faci o imagine, îi faci ceva și ai o imagine nouă, poate îmbunătățită într-un fel, margini îmbunătățite, reduc zgomotul, netezesc lucrurile sau orice altceva. Și asta oferă instrumente utile pentru unele dintre lucrurile pe care le facem. Dar nu acesta este punctul central al cursului. Sunt cursuri care fac asta. Adică, 6.003 face deja o parte din asta. 6.344 sau 6.341, înainte erau 6.342. Deci, există o mulțime de cursuri de procesare a imaginilor care vă spun cum să vă programați DSP-ul pentru a face unele transformări pe o imagine. Și nu asta facem. Nu este vorba despre recunoașterea modelelor. Așa că mă gândesc la recunoașterea modelelor în timp ce îmi dai o imagine și îți voi spune dacă este un pudel sau o pisică. Nu vom face asta. Și, desigur, există câteva cursuri despre această atingere în Cursul 9, în special în ceea ce privește viziunea umană și modul în care ați putea implementa aceste capabilități în hardware. Și, desigur, învățarea automată este în asta. Și asta mă duce la învățarea automată. Acesta nu este un curs de învățare automată. Și există 6.036, 6.869, 6.862, 6.867, și cetera, și cetera. Deci, există o mulțime de cursuri de învățare automată. Și nu trebuie să atingem asta aici. Și, de asemenea, vreau să arăt cât de departe puteți ajunge doar înțelegând fizica situației și modelând-o fără nicio cutie neagră în care introduceți exemple. Cu alte cuvinte, vom fi foarte interesați de așa-numitele calcule directe, în care există un calcul simplu pe care îl efectuați pe toată imaginea și vă oferă un rezultat, cum ar fi, OK, mouse-ul meu optic se mișcă la dreapta cu 0,1 centimetru sau ceva de genul ăsta. De asemenea, nu este vorba despre imagistica computațională. Și despre ce este vorba? Deci, imagistica computațională este locul în care formarea imaginii nu se face printr-un aparat fizic, ci prin calcul. Deci sună evident. Ei bine, avem lentile. Lentilele sunt incredibile. Lentilele sunt computere analogice care preiau razele de lumină care vin și le reprogramează pentru a merge în direcții diferite pentru a forma o imagine. Și au trecut în jur de câteva sute de ani. Și nu prea le apreciem, pentru că o fac cu viteza luminii. Adică, dacă încerci să faci asta într-un computer digital, ar fi foarte, foarte greu. Și le-am perfecționat acolo unde tocmai am văzut o reclamă pentru o cameră care avea un raport de zoom de 125 la 1. Adică, dacă oamenii care au început să folosească lentile precum Galileo și oamenii din Țările de Jos, ar fi pur și simplu uimiți de ce putem face cu lentilele. Deci avem acest aparat fizic care va face acest tip de calcul, dar există anumite cazuri în care nu putem folosi asta. Deci, de exemplu, în tomografia computerizată, filmăm raze X printr- un corp, obținem o imagine, dar este greu de interpretat. Adică, uneori poți vedea țesut cu un contrast foarte mare, ca și cum oasele vor ieși în evidență. Dar dacă doriți o imagine 3D a ceea ce este înăuntru, trebuie să faceți o mulțime de aceste fotografii și să le combinați computațional. Nu avem un aparat fizic precum un interferometru gadget cu lentile cu raze X, care rezultat final este imaginea. Aici se calculează rezultatul final. Chiar mai mult, deci un RMN-- avem un magnet mare cu un câmp gradient, avem magneți mici, care îl modulează. Avem RF, iese ceva semnal , este procesat. Și ta-da, avem o imagine a unei secțiuni transversale a corpului. Deci asta este imagistica computațională. Și nu vom face asta. Există un curs, 6.870, care nu este oferit în acest termen, dar intră în asta. Și nici nu vom spune prea multe despre viziunea umană. Din nou, Cursul 9 va face asta. Acum, în interesul de a ajunge suficient de departe pentru a face problema temelor, aveam de gând să nu fac o prezentare de diapozitive. Dar cred că este doar tradițional să faci un slide. Arată, așa că voi încerca să fac asta să funcționeze. Nu are întotdeauna succes, deoarece computerul meu are unele probleme de interfață. Dar să vedem ce putem face. OK, deci haideți să vorbim despre viziunea artificială și despre câteva dintre exemplele pe care le veți vedea în acest set de diapozitive. Nu toate vor fi clare cu scurta mea introducere. Dar vom reveni la asta mai târziu în termen. Deci, care sunt tipurile de lucruri pe care am putea fi interesați să le facem? Ei bine, una este să recuperezi mișcarea imaginii. Și vă puteți imagina diverse aplicații în, de exemplu, vehicule autonome și ce aveți. Un alt lucru pe care am putea dori să-l facem este estimarea formei suprafeței. După cum am spus, nu obținem 3D de la camerele noastre - ei bine, nu majoritatea camerelor. Și dacă obținem 3D, atunci de obicei nu este o calitate foarte bună. Dar știm că oamenilor le este destul de simplu să vadă forme tridimensionale care sunt descrise în fotografii, iar fotografiile sunt plate. Deci, de unde vine 3D-ul? Deci asta e ceva la care ne vom uita. Apoi sunt întrebări foarte simple, cum ar fi, mi-am uitat mouse-ul optic. Cum funcționează șoarecii optici? Ei bine, este o problemă de vedere în mișcare. Este o problemă foarte simplă a vederii în mișcare, dar este un loc bun pentru a începe să vorbim despre viziunea în mișcare. Deci, așa cum am menționat, vom adopta o abordare bazată pe fizică a problemei. Și vom face lucruri precum recuperarea mișcării observatorului din imagini care variază în timp. Din nou, ne putem gândi la mașini autonome. Putem recupera timpul până la ciocnire dintr-o secvență de imagini monoculare. Este interesant pentru că gândiți-vă că pentru a obține profunzime am putea folosi două camere și vederea binoculară, ca și cum am avea doi ochi și o anumită linie de bază și ne putem triangula și ne dăm seama cât de departe sunt lucrurile. Și, așadar, este oarecum surprinzător că este relativ simplu să-ți dai seama de timpul până la contact, care este raportul dintre viteză și distanță. Deci, dacă am 10 metri până la peretele acela și merg cu 10 metri pe secundă, îl voi lovi într-o secundă. Deci trebuie să fac două lucruri. Trebuie să estimez distanța și trebuie să estimez viteza. Și ambele sunt probleme de vedere artificială pe care le putem ataca. Și se dovedește că există o metodă foarte directă care nu implică niciun raționament de nivel superior care să ne dea acel raport. Și este foarte util. Și sugerează și mecanismele biologice, deoarece animalele folosesc timpul pentru a intra în contact în diverse scopuri, cum ar fi să nu se întâlnească . Muștele, sistem nervos destul de mic, folosesc timpul pentru a contacta până la aterizare. Așa că știu ce să facă când se apropie suficient de suprafață. Și deci este interesant că putem avea o idee despre cum un sistem biologic ar putea face asta. Hărți de contur din fotografii aeriene - așa se fac hărțile vechi în zilele noastre. Și vom vorbi despre niște lucrări industriale de viziune automată. Și asta se datorează în parte pentru că, de fapt, acele mașini, acele sisteme trebuie să funcționeze foarte, foarte bine, nu ca 99% din timp. Și așa ei de fapt ei dezgustă unele dintre lucrurile despre care vorbesc academicienii, pentru că pur și simplu nu sunt pregătiți pentru acest tip de mediu. Și au venit cu câteva metode foarte bune. Și deci va fi interesant să vorbim despre asta. Deci, la un nivel superior, dorim să dezvoltăm o descriere a mediului doar pe baza imaginilor. După ce am făcut niște lucrări preliminare și am pus împreună câteva metode, le vom folosi pentru a rezolva ceea ce s-a considerat la un moment dat a fi o problemă importantă, și anume alegerea unui obiect dintr-o grămadă de obiecte. Deci, în producție, adesea piesele sunt paletizate sau aranjate. Rezistoarele vin pe o bandă. Și astfel, până ajung la mașina care ar trebui să le introducă în placa de circuit, știți orientarea acesteia. Astfel, construirea sistemelor avansate de automatizare este foarte simplă . Dar când te uiți la oameni care construiesc lucruri, există o cutie din asta și există o cutie din asta și există o cutie cu aceste alte tipuri de piese. Și toate sunt încurcate. Și nu se află într- o orientare fixă, astfel încât să le puteți prinde folosind mișcări robotice fixe. Și așa vom pune împreună câteva metode de viziune artificială care ne permit să aflăm unde este o piesă și cum să controlăm manipulatorul pentru a o ridica. Vom vorbi mult despre problemele prost puse. Deci, potrivit lui Hadamard, problemele prost puse sunt probleme care fie nu au o soluție, fie au un număr infinit de soluții, fie, din punctul nostru de vedere, cel mai important, au soluții care depind sensibil de condițiile inițiale. Deci, dacă aveți o metodă de viziune artificială care, să zicem, determină poziția și orientarea camerei dvs. și funcționează cu măsurători perfecte, este grozav. Dar în lumea reală, există întotdeauna mici erori în măsurători. Uneori ești norocos să obții lucruri precise la un pixel. Și ceea ce doriți este să nu aveți o metodă în care o mică modificare a măsurătorii va produce o eroare uriașă în rezultat. Și, din păcate, domeniul are destul de multe dintre acestea. Și vom discuta unele dintre ele. Unul foarte faimos este așa-numitul algoritm în opt puncte , care funcționează minunat pe date perfecte, cum ar fi numerele tale cu precizie dublă. Și chiar dacă introduci o mică eroare, îți dă rezultate absurde. Și totuși au fost publicate multe lucrări despre el. BINE. Putem recupera forma suprafeței din imagini monoculare. Să ne uităm puțin la asta. Deci ce vezi acolo? Gândește-te ce ar putea fi. Deci, dacă nu știi ce este, o vezi ca pe o suprafață plană? Să începem de acolo. Deci nu, nu o vedeți ca pe o suprafață plană. Deci acolo mă îndreptam cu adevărat cu asta. Vă promit că această schemă este perfect plată. Nu există nicio șmecherie aici. Dar ești capabil să percepi o formă tridimensională, chiar dacă nu ești familiarizat cu această suprafață, cu această imagine. Și se întâmplă să fie împletituri de pietriș într-un râu la nord de Denali, în Alaska, iarna, acoperite de zăpadă și așa mai departe. Dar lucrul important este că putem fi cu toții de acord că există ceva groove aici. Și există o pantă descendentă pe această parte și așa mai departe. Deci asta arată că, deși imaginile furnizează doar informații bidimensionale în mod direct, putem deduce o informație tridimensională. Și acesta este unul dintre lucrurile pe care le vom explora. Deci, cum se face că, deși imaginea este plată, vedem o formă tridimensională. Și, desigur, este foarte comun și foarte important. Te uiți la o poză a unui politician în ziar, ei bine, hârtia este plată, dar poți vedea acea față ca un fel de formă în 3D, probabil nu cu o precizie metrică foarte precisă. Dar poți recunoaște acea persoană pe baza nu doar dacă are mustață sau poartă cercei sau așa ceva. Dar aveți o idee despre forma nasului lor și așa mai departe. Iată, de exemplu, nasul lui Richard Feynman. Și în dreapta este un algoritm care îl explorează pentru a-i determina forma. Deci, puteți vedea că, deși probabil că s-a spălat pe față și este destul de uniform în proprietăți peste tot, unde este curbat în jos este mai întunecat. Acolo unde este cu fața spre sursa de lumină, care, în acest caz, este lângă cameră, este strălucitor. Și astfel aveți o idee despre pantă, că luminozitatea este într-un fel legată de pantă. Ceea ce îl face interesant este că, deși panta nu este un lucru simplu, nu este un număr -- este doi, corect, pentru că putem avea o pantă în x și putem avea o pantă în y. Dar avem o singură constrângere. Obținem o singură măsurătoare de luminozitate. Deci, acesta este genul de problemă cu care ne vom confrunta tot timpul în care numărăm constrângerile versus necunoscutele. De câte informații avem nevoie să rezolvăm pentru aceste variabile? Și cât de sensibil va fi la erorile din acele măsurători, așa cum am menționat? Și există o hartă de contur a acestor nasuri. Și vreau să spun, odată ce ai forma 3D, poți face tot felul de lucruri. Îl poți pune într-o imprimantă 3D și i-o poți oferi cadou de ziua de naștere și altele. Și are un rezultat ceva mai târziu, în care ne uităm la o imagine a unei emisfere - ei bine, de fapt un elipsoid oblat. Și ni se cere să-i recuperăm forma. Și acestea sunt iterații ale unui algoritm care funcționează pe o grilă și în cele din urmă atinge forma corectă. Și vom vorbi despre cazurile intermediare interesante în care există creste în care soluția nu este satisfăcută. Și punctele izolate care sunt conice. Și este interesant în acest caz să vedem cum evoluează soluția. Așadar, iată o imagine de ansamblu a unei viziuni artificiale în context. Așa că mai întâi avem o scenă, în care lumea de acolo. Și iluminarea acelei scene este importantă. De aceea este afișat, deși este afișat cu semne punctate pentru că nu punem atât de mult accent pe el. Există un dispozitiv de imagistică, de obicei cu o lentilă sau oglinzi sau ceva de genul. Și obținem o imagine. Și apoi sarcina sistemului de viziune automată este să construiască o descriere. Și când devine interesant este atunci când folosești acea descriere pentru a te întoarce și a face ceva în acea lume. Și așadar, din punctul meu de vedere, unele dintre cele mai interesante lucruri sunt aplicațiile robotice în care dovada budincii este atunci când ieși și robotul apucă ceva și îl apucă în mod corect. Acesta este un mod prin care poți ști. Aceasta este o constrângere a programului dumneavoastră de viziune artificială. Dacă programul dvs. de viziune artificială nu funcționează, probabil că acest lucru nu se va întâmpla. Deci, în multe alte cazuri, dacă rezultatul final este o descriere a mediului, cine poate spune dacă este corectă. Depinde de aplicație. Adică, dacă este acolo pentru a scrie o poezie despre mediu, acesta este un lucru. Dacă scopul său este asamblarea unui motor, atunci este acest tip de situație în care avem ceva feedback. Dacă funcționează, atunci probabil că partea de viziune artificială funcționează corect. Iată momentul pentru a contacta problema despre care vorbeam. Și după cum vă puteți imagina, desigur, pe măsură ce vă îndreptați spre suprafață, imaginea pare să se extindă. Și acesta este indiciul. Dar cum măsori această expansiune? Pentru că tot ce ai sunt aceste niveluri de gri, această serie de numere. Cum măsori asta? Și cum o faci cu precizie și rapiditate? Și, de asemenea, am remarcat că, într-un fel, există aspecte interesante, cum ar fi o cameră - nu este nevoie de două. Celălalt este că pentru multe dintre lucrurile pe care le facem, trebuie să știm lucruri despre cameră, cum ar fi distanța focală. Și trebuie să știm unde axa optică lovește planul imaginii. Deci avem această matrice de pixeli. Dar unde e centrul? Ei bine, puteți împărți numărul de coloane și numărul de rânduri la 2. Dar asta este total arbitrar. Ceea ce vrei cu adevărat să știi este, dacă pui axa prin lentilă, unde lovește acel plan al imaginii. Și, desigur, producătorul încearcă de obicei ca acesta să fie exact centrul senzorului de imagine. Dar întotdeauna va fi puțin cam dezamăgit. Și de fapt, în multe cazuri, nu le pasă în mod deosebit. Pentru că dacă camera mea pune centrul imaginii la 100 de pixeli la dreapta, probabil că nu voi observa la utilizare normală. Dacă o să postez pe Facebook, nu are nicio diferență. Dacă îl voi folosi în viziunea industrială a mașinilor, face o diferență. Și astfel, acest tip de calibrare este ceva despre care vom vorbi și. Și ceea ce este interesant este că, în acest caz, nici măcar nu avem nevoie de asta. Nici nu trebuie să știm distanța focală, ceea ce pare cu adevărat ciudat. Pentru că dacă aveți o distanță focală mai mare, înseamnă că imaginea va fi extinsă. Deci s-ar părea că ar afecta acest proces. Dar ceea ce este interesant este că în același timp cu extinderea imaginii, mișcarea imaginii este extinsă. Și astfel se menține raportul celor doi. Deci, din acest punct de vedere, este o problemă foarte interesantă. Pentru că, spre deosebire de mulți alții, nu avem nevoie de aceste informații. Deci, iată un exemplu de abordare a acestui camion. Și aici este un complot-- timpul, orizontal. Iar verticala este timpul calculat pentru contact. Curba roșie este calculată. Și linia punctată verde abia vizibilă este adevărata valoare. În acest proces, apropo, expunem un alt concept, care este punctul central al expansiunii. Deci, pe măsură ce ne apropiem de acest camion, veți observa că ajungem pe ușă, care nu este centrul primei imagini. Deci, de fapt, ne mișcăm într-un unghi. Nu ne mișcăm drept de-a lungul axei optice a camerei, ci ne mișcăm într-un unghi. Iar focalizarea expansiunii este foarte importantă, deoarece ne spune în 3D care este vectorul de mișcare. Deci, pe lângă găsirea timpului de contact, vrem să găsim punctul central al expansiunii. Și mai este unul. Acesta a fost făcut folosind time lapse, mișcând puțin mașina de fiecare dată. Și, ei bine, nu mă pricep prea bine să mișc lucrurile exact 10 milimetri. Deci este puțin mai zgomotos decât precedentul. Deci, da, vom vorbi puțin despre sistemele de coordonate și transformările dintre sistemele de coordonate. De exemplu, în cazul aplicațiilor robot, dorim să avem o transformare între un sistem de coordonate care este nativ pentru cameră. Când obțineți robotul, are cinematica programată în el, astfel încât să îi puteți spune în x, y, z unde să mergeți și în unghi cum să orientați prinderea. Dar asta în ceea ce privește sistemul de coordonate definit, care este probabil originea în bază, unde este înșurubat în pământ. În timp ce camera dvs. de aici sus, probabil că îi place un sistem de coordonate în care centrul său de proiecție este originea. Așa că va trebui să vorbim despre astfel de lucruri. Și nu voi intra în asta. Vom vorbi despre asta mai târziu. Așa că am menționat calculul analogic. Și acum doar automat... totul este digital. Dar sunt unele lucruri care sunt cam plictisitoare. Dacă trebuie să procesezi 10 milioane de pixeli și să faci lucruri complicate cu ei, deoarece un computer digital nu devine mai rapid, asta poate fi o problemă. BINE. Deci poți folosi paralelismul. Deci există încă un interes pentru analogic. Și aici, aceasta este rezultatul unui cip pe care l-am construit pentru a găsi centrul expansiunii. Și practic este instantaneu, spre deosebire de calculul digital. Și intriga este puțin greu de văzut. Dar să vedem, cercul, ele sunt determinate de doi algoritmi diferiți. Și puteți vedea că există o eroare. Dar, în general, crucea -- x și vechiul sunt oarecum unul deasupra celuilalt. Acesta a fost un proiect distractiv pentru că a fabrica un cip este costisitor. Și deci nu-ți poți permite să dai peste cap de prea multe ori. Și, bineînțeles, cu un algoritm atât de complicat, care este șansa să o faci corect de prima dată? Așa că studentul a ajuns în cele din urmă la punctul în care OPA nu ar plăti pentru alte fabs. Și ultima problemă a fost că a existat un curent mare pe substrat, care a făcut ca acesta să se încălzească. Și bineînțeles, odată ce se încălzește, nu mai funcționează. Așa că venea în fiecare dimineață cu un frigider plin cu cuburi de gheață și o mică pompă de acvariu și își răcea cipul de expansiune pentru a se asigura că nu se va supraîncălzi. Așa că am vorbit puțin despre proiecție și mișcare. Să vorbim despre luminozitate. Deci, după cum veți vedea, puteți împărți la mijloc ceea ce vom avea de spus despre formarea imaginii. Deci prima jumătate este cea care este acoperită de proiecția fizică. Răspunde la întrebarea unde și care este relația dintre punctele din mediu și punctele din imagine? Ei bine, ridicat... îl conectezi cu o linie dreaptă prin centrul proiecției și ai terminat. Asta se numește proiecție în perspectivă. Și vom vorbi despre asta. Dar apoi cealaltă jumătate a întrebării este cât de strălucitoare. Care este nivelul de gri într- un punct în termeni de culoare, valori RGB, la un punct? Și deci acest lucru este mai rar abordat în alte cursuri. Și vom petrece ceva timp pentru asta. Și, evident, va trebui să facem asta dacă vom rezolva acea formă de la problema umbririi, de exemplu. Deci ce este asta? Așa că avem aici trei fotografii făcute din aproximativ aceeași orientare și poziție a camerei din centrul orașului Montreal. Și, evident, dacă mergi la un anumit pixel din cele trei imagini, acestea vor avea valori diferite. Desigur, iluminatul s-a schimbat. Deci ceea ce ilustrează imediat este faptul că iluminarea joacă un rol important. Și evident că am dori să fim insensibili la asta. Și, de fapt, dacă ai arăta cuiva una dintre aceste trei imagini separat, ar spune, oh, da, OK, asta e plus Sainte Ville Marie. Și nici nu s-ar gândi la faptul că nivelurile de gri sunt total diferite, pentru că noi adaptăm automat această diferență. Așa că ne vom uita la diagrame ca aceasta în care avem o sursă de lumină prezentată ca soare și un dispozitiv de imagine prezentat ca un ochi și o mică bucată de suprafață. Și cele trei unghiuri care controlează reflexia. Și așadar, ceea ce vedem din acea direcție este o funcție de unde provine acea lumină, ce tip de material este și cum este orientată. Și ne vom concentra în special pe această întrebare de orientare. Pentru că dacă ne putem da seama care este orientarea suprafeței în multe puncte, putem încerca să reconstruim suprafața. Și mai este afacerea aceea de a număra constrângeri, din nou, pentru că care este orientarea la suprafață? Sunt două variabile. Pentru că îl poți înclina în x și îl poți înclina pe y. Acesta este modul brut de a vedea de ce. Și ce primim? Primim o măsurătoare de luminozitate. Deci nu este clar că poți face asta. Poate fi sub constrângere. Iar imaginea pe care o obțineți despre un obiect depinde de orientarea acestuia. Și modul în care am arătat-o ​​aici este să arăt același obiect, practic, în multe orientări diferite. Și nu numai că se schimbă conturul, dar puteți vedea că luminozitatea din interior depinde foarte mult și de asta. Și lucrurile depind foarte mult de proprietățile de reflectare a suprafeței. Deci, în stânga, avem o suprafață mată - vopsea albă mată dintr-un spray. Iar in dreapta avem o suprafata metalica. Și așa că, deși este aceeași formă, avem un aspect foarte diferit. Așa că va trebui să luăm în considerare acest lucru și să încercăm să înțelegem cum descrii asta. Ce ecuație sau ce terminologie vom folosi pentru asta? Așa că vom trece înainte aici la o abordare a acestei întrebări, și anume, să presupunem că am trăit într-un sistem solar cu trei sori care au culori diferite. Acesta este ceea ce obținem acolo este un cub. Și ar face lucrurile foarte ușor, corect, pentru că există o relație între culoare și orientare. Deci, dacă am acel tip special de albastru acolo, știu că suprafața este orientată în acest fel anume. Deci asta ar face problema foarte ușoară. Și asta ne conduce la o idee despre cum să rezolvăm această problemă. Așadar, așa cum am menționat, există așa-numitele probleme ale pieselor, pe care am fost suficient de proști să credem ce au scris inginerii mecanici în raportul lor anual. Deci, ceea ce au spus ei a fost că iată cele mai importante 10 probleme de rezolvat în inginerie mecanică. Și acesta a fost, am uitat, numărul 2 - cum să alegeți piesele când nu sunt paletizate, când nu sunt aranjate perfect. Și aici, sarcina este să luăm unul după altul dintre aceste inele de pe mormanul de inele. Și, desigur, dacă ar fi doar întinși la suprafață, ar fi ușor, pentru că există doar atâtea poziții stabile. Ei bine, pentru acest obiect doar două. Și așa ar fi destul de simplu. Dar, din moment ce se pot întinde unul peste altul, pot lua orice orientare în spațiu. Și, de asemenea, se întunecă reciproc. Și, de asemenea, umbrele unuia cad pe celălalt. Deci devine mai interesant. Și puteți vedea că a fost nevoie de multe experimente pentru a face acest lucru corect. Deci aceste obiecte au fost puțin ciocănite. Deci trebuie să fii insensibil la zgomotul din cauza asta. Și avem nevoie de o calibrare. Deci trebuie să știm relația dintre orientarea suprafeței și ceea ce obținem în imagine. Și deci cum să calibrați cel mai bine? Ei bine, vrei un obiect de formă cunoscută. Și nimic mai bun decât o sferă pentru asta. Este foarte ieftin. Doar mergi la magazin și cumperi unul. Nu trebuie să fabricați un paraboloid sau așa ceva. Și aceasta poate fi o imagine puțin ciudată, dar acum se uită în sus în tavan. Deci, în tavan, există trei seturi de lumini fluorescente. Și în acest caz, toate trei sunt pornite. Dar în experiment, ele sunt folosite pe rând. Deci avem trei condiții de iluminare diferite. Și obținem o constrângere la fiecare pixel din fiecare. Deci ta-da... avem destule constrângeri. Avem cele trei constrângeri la fiecare pixel. Avem nevoie de două pentru orientarea la suprafață. Și avem unul în plus. Ei bine, cea suplimentară ne permite să facem față albedo-ului, modificărilor de reflectanță. Deci putem recupera atât orientarea suprafeței, cât și reflectanța suprafeței, dacă facem asta cu trei lumini. Deci, iată obiectul nostru de calibrare iluminat de una dintre acele lumini. Și acum o repetăm cu celelalte două. Și doar pentru consumul uman, putem combina rezultatele într-o imagine RGB. Deci, acestea sunt de fapt trei imagini separate. Și le-am folosit ca planuri roșii, verzi și albastre ale unei imagini color. Și puteți vedea că orientările diferite ale suprafeței produc culori diferite. Adică rezultate diferite în cele trei condiții de iluminare. Și invers, dacă am cele trei imagini, pot să merg la un pixel, să citesc cele trei valori și să îmi dau seama care este orientarea. Și s-ar putea să vezi câteva lucruri. Una dintre ele este că există anumite zone în care culoarea nu se schimbă foarte rapid. Ei bine, asta e rău, corect. Pentru că asta înseamnă că, dacă există o mică eroare în măsurarea dvs., nu puteți fi sigur unde vă aflați exact. Și în cealaltă zonă culoarea se schimbă destul de dramatic. Și asta este grozav pentru că orice mică schimbare a orientării suprafeței va avea un efect. Și deci unul dintre lucrurile despre care vom vorbi este acel tip de câștig de zgomot, acea sensibilitate la eroarea de măsurare. De ce să-ți faci griji? Ei bine, imaginile sunt zgomotoase. Deci, în primul rând, una dintre imagini-- te uiți la imaginile pe 8 biți. Există o parte în 256. Aceasta este cuantificare cu adevărat brută. Și nici măcar nu poți avea încredere în unul sau două părți de jos din acestea. Dacă ești norocos și obții imagini brute dintr-un DSLR elegant, s- ar putea să ai 10 biți sau 12. Un alt mod de a-l privi este că un pixel este mic. Cât de mare este un pixel într-o cameră obișnuită? Deci ne putem da seama. Deci, cipul este de câțiva milimetri pe câțiva milimetri. Și avem câteva mii cu câteva mii de coloane și rânduri. Deci sunt câțiva microni. Și sunt compromisuri uriașe. La fel ca cel din tine din telefonul tău are pixeli mai mici. Cel dintr-un DSLR are pixeli mai mari. Dar, în orice caz, sunt mici. Acum imaginați-vă că lumina sărește în jurul camerei. Un pic din acea lumină trece prin lentilă. Și o parte minusculă din asta ajunge pe acel pixel. Deci numărul de fotoni care lovesc de fapt un pixel este relativ mic. Este ca un milion sau mai puțin. Și asta înseamnă că acum trebuie să ne îngrijorăm cu privire la statisticile de numărare. După cum vă puteți imagina, dacă aveți 10 fotoni, sunt nouă? Este 10? Este 11? Este o eroare uriașă. Deci, dacă ești un milion, deja e mai bine. Este ca unul din 1.000. Dar numărul de fotoni care pot intra într-un singur pixel este mic. Dar nu numai că intră puțină lumină, dar de fapt pixelul în sine nu poate stoca atât de mult. Fotonii sunt transformați în electroni. Fiecare pixel este ca un mic condensator care poate lua o anumită încărcare înainte de a fi plin. Deci, oricum, imaginile sunt zgomotoase. Deci trebuie să fim conștienți de asta. Deci asta a fost calibrarea. Acum trecem la obiectul real. Și din nou, orientările diferite ale suprafeței produc culori diferite. De aici, putem construi această așa-numită diagramă cu ac. Așa că imaginați-vă că împărțim suprafața în mici pete. Și în fiecare punct, ridicăm suprafața normală. Și apoi acești minuscule-- pot fi greu de văzut-- dar sunt mici, mici vârfuri albăstrui care sunt proiecțiile acelor normale de suprafață. Așadar, în unele zone, cum ar fi aici, ei vă arată aproape direct. Așa că aici te uiți perpendicular pe suprafață. Pe când aici, suprafața se curbe în jos și te uiți în lateral. Deci, aceasta este o descriere a suprafeței și am putea folosi aceasta pentru a reconstrui forma. Dar dacă facem recunoaștere și aflăm orientarea, s- ar putea să facem altceva. Deci aici, vezi că de fapt este puțin mai complicat, pentru că ai umbre. Și este mai greu de văzut, dar există și interflexii. Adică, cu aceste obiecte albe, lumina sare în fiecare dintre ele într-un mod mat, merge peste tot. Și se revarsă pe celelalte suprafețe. Deci nu este chiar atât de simplu pe cât am explicat. Deci, ce facem cu normalele noastre de suprafață? Ei bine, vrem o descriere compactă convenabilă a formei. Și în acest scop, o astfel de descriere este ceva numit o imagine Gaussiană extinsă, despre care vom discuta în clasă, unde iei toate acele acele și le arunci într-o sferă. Și așa, de exemplu, pentru acest obiect, avem o suprafață plană în partea de sus. Toate acele petice ale acelei suprafețe au aceeași orientare. Așa că vor contribui cu acel morman mare de puncte de la Polul Nord. Așa că tăiați scurt. Este o reprezentare în 3D care este foarte convenabilă dacă trebuie să cunoaștem orientarea obiectului, deoarece dacă rotim acest obiect, reprezentarea se rotește pur și simplu. Vă puteți gândi la multe alte reprezentări care nu au această proprietate. OK, deci aici este. Vă puteți imagina că nu a fost ușor să-l determinați pe sponsorul proiectului să plătească aceste părți aici. Cred că erau îngrijorați că nu au fost în scopuri experimentale. Deci, acesta este un sistem cu o singură cameră , deci nu există adâncime. Deci, modul în care funcționează este că tu faci toată această procesare a imaginii. Vă dați seama ce obiect să ridicați și cum este orientat. Și apoi te întinzi în jos cu o mână până când o grindă este întreruptă, apoi știi adâncimea. Deci aici fasciculul este întrerupt. Și acum robotul dă înapoi. Și aici orientează mâna pentru apucare. Și apoi se întoarce și apucă acel obiect și așa mai departe. Și vă arăt asta pentru că o altă calibrare pe care am omis-o a fost cea pe care am menționat-o anterior -- relația dintre sistemul de coordonate al robotului și sistemul de coordonate al sistemului de viziune. Și o modalitate de a rezolva asta este ca un robot să transporte ceva ușor de văzut și localizat cu precizie. Acesta este ceva numit marca de topografie, pentru că topografii au folosit acest truc de foarte mult timp. Este ușor să procesezi imaginea. Și puteți găsi locația intersecției acestor două linii foarte precis, cu o precizie sub-pixel. Așa că mutați asta în spațiul de lucru și apoi potriviți transformarea în el. Și apoi poți folosi asta pentru... OK, înapoi la lucruri mai serioase. Așa că asta ar trebui să vă ofere un gust despre genul de lucru pe care îl vom face. Și ceea ce voi face acum este să lucrez la ceea ce ai nevoie pentru problema temelor. Deci, mai întâi, există întrebări despre ceea ce ați văzut? Adică, multe dintre acestea vor fi completate pe măsură ce trecem prin termen. Așa că am menționat această idee de grafică inversă. Deci, dacă avem un model mondial, putem face o imagine. Oamenii pasionati de grafica ma vor ura sa spun asta. Dar asta e partea ușoară. Asta e problema înainte. Este bine definit. Și partea interesantă este, cum o faci bine? Cum o faci repede? Cum o faci când scena s-a schimbat doar puțin și nu vrei să fii nevoit să recalculezi totul și așa mai departe. Dar ceea ce încercăm să facem este să inversăm acest proces. Deci luăm imaginea. Și încercăm să învățăm ceva despre lume. Acum nu putem reconstrui lumea. De obicei, nu ajungem cu o imprimantă 3D care face asta. De obicei, aceasta se termină ca un fel de descriere. Poate fi o formă sau identitate a unui obiect sau orientarea acestuia în spațiu, indiferent de ceea ce este necesar pentru sarcina pe care o avem. Ar putea fi o sarcină de asamblare industrială sau ar putea fi citirea imprimării pe o sticlă farmaceutică pentru a vă asigura că este lizibilă și așa mai departe. Dar asta e bucla. Și de aceea ne place să vorbim despre el ca despre grafică inversă. Acum, pentru a face asta, trebuie să înțelegem formarea imaginii. Și asta sună destul de simplu, dar are două părți, ambele pe care le vom explora în detaliu pe măsură ce mergem mai departe. Apoi, cu probleme inverse, cum ar fi aici încercăm să inversăm asta, adesea constatăm că sunt prost puse. Și așa cum am menționat, asta înseamnă că nu au o soluție, au un număr infinit de soluții sau au soluții care depind sensibil de date. Și asta nu înseamnă că este fără speranță, dar înseamnă că avem nevoie de metode care să se ocupe de asta. Și adesea vom ajunge cu o metodă de optimizare. Și în acest curs, metoda de optimizare aleasă este cele mai mici pătrate. De ce este asta? Ei bine, oamenii de probabilitate de lux vă vor spune că aceasta nu este o metodă robustă. Dacă aveți valori aberante, nu va funcționa foarte bine. Și asta e grozav. Dar, în multe cazuri practice, cele mai mici pătrate sunt ușor de implementat și conduc la o soluție în formă închisă. Oriunde putem obține o soluție în formă închisă, suntem fericiți, pentru că nu avem iterație. Nu avem șansa să rămânem blocați într-un minim local sau așa ceva. Deci vom face o mulțime de cele mai mici pătrate. Dar trebuie să fim conștienți de -- am menționat deja -- câștigul de zgomot. Deci nu doar că vrem să avem o metodă de rezolvare a problemei, dar am dori să putem spune cât de robustă este aceasta. Dacă măsurătorile imaginii mele sunt reduse cu 1%, înseamnă asta că răspunsurile sunt complet lipsite de sens? Sau înseamnă că au scăzut doar cu 1%. Deci genul ăsta de lucruri. Scufundându-ne direct, vom rezolva această problemă. Și este simplu. Și vom începe cu ceva numit modelul pinhole. Acum știm că camerele reale folosesc lentile sau, în unele cazuri, oglinzi. De ce găuri? Ei bine, asta se datorează faptului că proiecția în camera cu un obiectiv este aceeași -- încearcă să fie exact la fel ca o cameră pinhole. Apropo, există un exemplu grozav de cameră pinhole în Santa Monica. Este o camera obscura. Intri în această clădire mică care este complet fără ferestre. E întuneric înăuntru. Și există o singură gaură în perete. Și de cealaltă parte, pe celălalt perete vopsit în alb, vezi o imagine inversată a lumii. Și vezi oameni trecând și așa mai departe. Deci, acesta este un exemplu frumos de cameră pinhole. Deci iată o cutie pentru a ține lumina stinsă. Și apoi avem o gaură în ea. Și pe partea opusă a cutiei, vedem proiectată o vedere asupra lumii. Deci haideți să încercăm să ne dăm seama care este acea predicție. Deci există un punct în lume, P majuscule. Și există un punct mic p în planul imaginii. Deci partea din spate a cutiei va fi planul nostru de imagine. Și retina noastră nu este plată. Ne vom ocupa doar de senzori de imagine plate, deoarece toți senzorii semiconductori sunt plati. Și dacă nu este plat, ne putem transforma. Dar vom lucra doar cu asta. Deci ceea ce vrem să știm este care este relația dintre acești doi. Și deci aceasta este o imagine 3D. Și acum permiteți-mi să desenez o imagine 2D. OK, așa că o să numim asta f. Și f face aluzie la distanța focală. Deși în acest caz, nu există nici o lentilă. Nu există distanță focală. Dar o să numim acea distanță f. Și vom numi această distanță mică x. Și vom numi această distanță mare X și această distanță mare Z. Deci, în lumea reală, avem un X mare, Y mare, Z mare. Și în planul imaginii, avem x mic. Și vom avea micii y și f. Și, ei bine, există triunghiuri similare. Deci putem scrie imediat. OK Și, deși nu este complet cușer, pot face același lucru în avionul y. Așa că pot desena aceeași diagramă, pur și simplu tăiem lumea într-un mod diferit și obțin ecuația însoțitoare. Si asta e. Asta e proiecția în perspectivă. Acum de ce este atât de simplu? Ei bine, pentru că am ales un anumit sistem de coordonate. Deci nu aveam doar un sistem de coordonate arbitrar în lume. Am ales un sistem de coordonate centrat pe cameră. Și asta a făcut ca ecuația să fie aproape banală. Deci ce am făcut? Ei bine, acest punct aici se numește centrul de proiecție. Și punem asta la origine. Tocmai am făcut acel 0, 0, 0 în sistemul de coordonate. Și așa este și COP. Și apoi are planul imagine, IP, Image Plane. OK, așa că am făcut două lucruri. A fost că am pus originea în centrul proiecției. Și celălalt este că am aliniat axele cu axele optice. Deci care este axa optică? Ei bine, într-o lentilă, o lentilă are o simetrie cilindrică. Deci are cilindrul are o axă. Dar nu există nicio lentilă aici. Dar ceea ce putem face este să vedem unde o perpendiculară căzută din centrul proiecției pe planul imaginii lovește planul imaginii. Așa că am folosit asta ca referință. Și asta va fi axa noastră optică. Este perpendiculara de la centrul de proiecție pe planul imaginii. Și aliniem axa z cu asta. Aceasta va fi axa noastră z. Deci este un sistem de coordonate foarte special, dar face totul foarte ușor. Și apoi, dacă avem un alt sistem de coordonate pe robotul nostru sau orice altceva, trebuie doar să ne ocupăm de transformarea dintre acest sistem de coordonate special centrat pe cameră și acel sistem de coordonate. Acum, unul dintre lucrurile care este foarte convenabil-- ei bine, nu numai că mă vor face să trec prin campus, dar o să obțin și puterea superiorului corpului. Asta e super. OK, deci ceea ce facem este să întoarcem planul imaginii înainte. Deci imaginea de pe retină este cu susul în jos. Și în multe cazuri, acesta este un inconvenient. Deci, ceea ce putem face este să ne prefacem că lumea arată de fapt așa. Este aproape aceeași diagramă. Tocmai am întors la 180 de grade ceea ce era în spatele camerei și în față. Și face ecuațiile și mai evidente. Raportul dintre aceasta și aceea este raportul dintre aceasta și aceea. Acum sună simplu și oarecum plictisitor. Dar are o serie de implicații. Prima este că este neliniară. Deci știm că lucrurile sunt liniare, matematica noastră devine mai ușoară și așa mai departe. Dar aici împărțim la z. Deci, pe de o parte, este un inconvenient, pentru că, cum iei derivate și chestii sau raportul. Nu e chiar atât de frumos. Dar, pe de altă parte, ne dă puțină speranță. Pentru că dacă rezultatul depinde de z, îl putem întoarce și spune, oh, poate atunci putem găsi z. Așa că putem obține un avantaj din ceea ce pare a fi un dezavantaj. Și apoi următorul lucru -- nu o vom face astăzi, dar o vom face în curând -- este să vorbim despre mișcare. Deci ce se întâmplă? Ei bine, diferențiam acea ecuație în funcție de timp. Și ce ne va oferi asta? În acest moment, avem o relație între punctele din 3D și punctele din imagine. Și când facem diferențe, putem obține o relație între mișcarea în 3D și mișcarea în imagine. Și de ce este asta interesant? Ei bine, înseamnă că dacă pot măsura mișcarea în imagine, ceea ce pot, pot încerca să ghicesc care este mișcarea în 3D. Acum relația nu este atât de simplă. De exemplu, dacă mișcarea în 3D este directă spre mine, bâta de baseball o să mă lovească în cap, atunci mișcarea din imagine este foarte, foarte mică. Deci va trebui să ții cont de această transformare. Dar vreau să știu că relația dintre mișcarea în 3D și mișcarea în 2D. Și o înțeleg doar prin diferențierea asta. Apoi, vreau să vă prezint câteva lucruri pe care le folosim foarte mult în curs. Următorul este vectori. Deci suntem în 3D. De ce vorbesc despre componente? Ar trebui să folosesc doar vectori. Deci, în primul rând, notația. În publicații, în publicațiile de inginerie, nu în publicațiile de matematică, vectorii sunt de obicei indicați cu litere aldine. Și așadar, dacă te uiți la Robot Vision sau la o lucrare despre acest subiect, vei vedea vectori cu caractere aldine. Acum nu le pot face pe amândouă pe tablă. Și așa folosim sublinierea. Și de fapt, a fost o perioadă în care nu ai tastat să-ți faci propriile hârtii... doar o secundă. Dar cineva de la tipul de editor ți-a stabilit lucrarea. Deci, cum le-ai spus să scrie set cu caractere aldine? L-ai subliniat. Adică, camera funcționează de fapt așa cum funcționează acolo sus în majoritatea cazurilor. Unii dintre ei vor avea oglinzi pentru a plia calea optică. Aceasta este ca o comoditate conceptuală, doar pentru a fi mai ușor, nu pentru a fi nevoit. Adică, poate unii oameni nu au probleme cu semnele minus. Dar pentru mine, este confuz să o am cu capul în jos. Așa că prefer să o fac așa. Dar aparatul propriu-zis care funcționează așa. Deci, celălalt bit de notație de care avem nevoie este o pălărie pentru vectorul unitar, pentru că ne vom ocupa destul de mult cu vectorii unitari. De exemplu, ați văzut că am vorbit despre orientarea suprafeței pe acea gogoașă în termeni de vectori unitari. Este o direcție. Deci folosim o pălărie deasupra unui vector. Și să transformăm asta în notație vectorială. Ei bine, îmi place asta. Așa că susțin că acesta este practic același cu cel de acolo sus, corect. Pentru că dacă mergeți componentă cu componentă, prima componentă este mic x peste f este mare X peste mare Z. A doua componentă este litera y peste f este mare Y peste mare Z. Și a treia componentă este f peste f este z peste z . Deci asta nu ne face nimic. Deci asta este echivalentul. Și acum pot doar defini un vector r. Deci acesta este mic r. Acum am o notație mixtă, corect, pentru că am un Z mare aici. Ei bine, aceasta este a treia componentă a vectorului R mare. Deci doar punct produs cu vectorul unitar z. Așa că permiteți-mi să scriu asta în întregime. Deci, acesta este x, y, z, punct de transpunere. Deci vectorul unitar în direcția z de-a lungul axei optice este doar 0, 0, 1. Și astfel am în sfârșit echivalentul ecuațiilor acolo sus sub formă de componente. Îl am aici în formă vectorială. Deci, aceasta este proiecția în perspectivă în formă vectorială. Acum, de obicei, în acest moment, spuneți, uite, cât de ușor a devenit folosind notația vectorială. Ei bine, nu este chiar mai ușor să arăți. Acesta este unul dintre acele cazuri rare în care nu ți-a cumpărat foarte mult în ceea ce privește numărul de simboluri pe care trebuie să le notezi și așa mai departe. Cu toate acestea, compactitatea acestei notații iese la iveală atunci când începem să o manipulăm. Dacă trebuie să transportați toate aceste componente individuale tot timpul, asta poate deveni destul de obositor. În timp ce dacă folosești vectorul, este mai interesant. Și așa cum am menționat, unul dintre lucrurile pe care le vom face în curând este să le diferențiem în funcție de timp. Și apoi în stânga, vom avea mișcarea imaginii. Și în dreapta, vom avea mișcare în lumea reală. Iar ecuația pe care o obținem va da relația dintre cei doi. Așa că acest lucru poate suna puțin întâmplător și mărunțit, așa cum procedăm astăzi. Și asta doar pentru că vreau să acopăr chestii din capitolele 1 și 2 și materialul de care aveți nevoie pentru problema temelor. Deci, în loc să urmărim proiecția în perspectivă, ei bine, vom trece la luminozitate într-o secundă. Dar mai întâi, permiteți-mi să spun altceva, și anume că mă gândesc la acești vectori ca vectori coloană. Și asta este arbitrar pentru că putem stabili o relație între matrice slabă și vectori, în orice caz. Mă pot gândi la x, y și z stivuite vertical unul deasupra celuilalt ca o matrice de 3 pe 1. Sau le pot scrie pe orizontală, x, y, z și este o matrice de 1 pe 3. Și doar pentru consecvență, întotdeauna mă voi gândi la ei ca vectori de coloană. Și de aceea uneori am nevoie de o transpunere. Și pentru asta este simbolul T. Deci nu am spus-o aici, dar acum putem reveni la asta. Deci, dacă îl scriu astfel, este un vector rând. Dar de fapt toți vectorii mei ar trebui să fie vectori coloană. Deci este blocat în transpunere. Deci încă un pic de notație. Deci totul destul de simplu, totuși. OK, să vorbim despre luminozitate. Deci luminozitatea depinde de o grămadă de lucruri diferite. Depinde de iluminare și într-un mod liniar. Prin faptul că aruncați mai multă lumină asupra unui obiect, acesta va fi mai strălucitor. Și există puține legi care sunt cu adevărat, cu adevărat liniare. Aceasta este liniară pe multe, multe, multe ordine de mărime. Adică, când încetează să mai fie liniară? Ei bine, când pui atât de multă energie la suprafață încât o topești. De fapt, trebuie să ai suficientă energie pentru a o prăji. Și seamănă puțin cu legea lui Ohm, care este, de asemenea, unul dintre acele lucruri remarcabile care pentru unele materiale este liniară pe multe, multe ordine de mărime. Oricum, dar asta depinde de iluminare. Și apoi depinde de modul în care suprafața reflectă lumina. Și deci va trebui să vorbim despre asta. Acum, evident, există o diferență în ceea ce privește cantitatea. Deci laptopul meu reflectă relativ puțină lumină. În timp ce cămașa mea reflectă mai multă lumină. Vrea cineva să ghicească care este procentul de radiație solară incidentă pe care o reflectă luna? E un truc / Se întâmplă să știi? Arată oarecum alb pe cer. Deci trebuie să fie de 90% sau ceva? Este de 11%. E negru ca cărbunele. Și de ce nu știi asta? Ei bine, pentru că nu ai nicio comparație. Acum, dacă m-aș duce acolo sus cu o foaie de hârtie albă și aș ține-o lângă lună, ai spune oh, da, Doamne, e chiar întuneric. Dar nimeni nu face asta, doar se închide acolo și nu ai nicio referință. Deci afacerea asta despre luminozitate este complicată. Trebuie să fii atent la asta. Și apropo, de ce este întuneric ca cărbunele? Este din cauza vântului solar care lovește la suprafață. Și probabil știți, de asemenea, că acolo unde au fost, citați, cratere „recente” ca doar în ultimele câteva milioane de ani. Au dungi strălucitoare. Asta pentru că acolo unde materialul de bază este expus și soarele încă nu și-a făcut treaba asupra lor. Oricum, luminozitatea depinde de reflectanță. Ce zici de distanta? Daca am un bec, este mai putin intens cand merg mai departe. Deci, există o lege inversă a pătratului. La fel se aplică și pentru formarea imaginii. În sensul mai normal, dacă mă îndepărtez de acel perete, dacă stau în această parte a camerei, acel perete este doar un sfert mai luminos decât atunci când stau aici, corect. Crezi asta? Îți pot vinde un pod în Brooklyn, atunci. Nu, desigur, este aceeași politețe. Si tu stii asta. Deci ce se întâmplă? De ce nu respectă legea inversului pătratului? Ei bine, motivul este că, în același timp, pe măsură ce mă apropii , zona care este fotografiată pe unul dintre receptorii mei este mai mare pe perete. Sau dacă vrei să te gândești la asta în ceea ce privește micul bec, deci LED-ul, imaginează-ți că peretele este acoperit cu o mulțime de LED-uri. Și fiecare dintre ei urmează, de fapt, legea 1 peste r pătrat. Dar dacă te gândești la câte LED-uri sunt imaginea pe unul dintre pixelii mei, asta merge ca un pătrat al distanței. Deci cei doi se anulează exact. Și, de fapt, îl putem chema pe acesta să iasă. Și de ce altceva depinde? Ei bine, nu depinde de distanța în sine, ci depinde de rata de schimbare a distanței sau a orientării. Și nu într-un mod teribil de simplu, dar putem începe cu un exemplu simplu. Deci iată un element de suprafață, un mic petic de suprafață. Și iată o sursă de lumină. Și ceea ce descoperim este că este scurtare. Aceasta este puterea care lovește la suprafață. Pe unitate de suprafață este mai puțin. Așa că pot măsura puterea în acest plan, atât de mulți wați pe metru pătrat, care în cazul soarelui este de aproximativ un kilowatt pe metru pătrat. Dar, evident, aceeași energie este răspândită pe o zonă mai mare. Această lungime este mai mare decât acea lungime. Și astfel iluminarea acestei suprafețe este mai mică. Si cat de mult? Ei bine, îl putem exprima în termenii acestui unghi, care este unghiul incident, theta lui i. Și acesta este același unghi cu acel unghi, cred. Și există o relație cosemnată între această lungime roșie și această lungime. Așa că aflăm că, în acest caz, iluminarea de pe suprafață variază ca cosinus al unghiului. Și acesta este ceva pe care îl vom vedea iar și iar. Acum nu înseamnă neapărat că luminozitatea sa, cantitatea de lumină pe care o reflectă, merge ca cosinusul unghiului incident. Acesta este cel mai simplu caz. Și iată un exemplu în care am putea folosi o măsurare a luminozității imaginii pentru a afla ceva despre suprafață, deoarece putem privi diferite părți ale suprafeței. Și vor avea luminozități diferite, în funcție de acest unghi. Acum, ne spune orientarea fiecărei fațete mici a obiectului? Unii oameni dau din cap. Nu, corect, pentru că, din nou, este o măsurătoare două necunoscute. De ce există două necunoscute? Ei bine, o modalitate de a vedea este să ne gândim la o normală de suprafață, un vector care este perpendicular pe suprafață. Și modul în care pot vorbi despre orientarea suprafeței este doar să vă spun care este acea unitate normală. Deci câte grade de libertate există? Câte numere? Ei bine, am nevoie de trei numere pentru a defini un vector. Deci sună ca trei, doar că am o constrângere - trei componente. Acesta nu este orice vector vechi - acesta este un vector unitar. Deci x pătrat plus y pătrat plus z pătrat este egal cu 1. Deci am o constrângere. Deci, de fapt, orientarea la suprafață are două grade de libertate. Și din moment ce acesta este un punct atât de important, să- l privim în alt mod. Deci, un alt mod de a specifica orientarea suprafeței este să luați această unitate normală și să-și puneți coada în centrul unei sfere unității și să vedeți unde lovește sfera. Și astfel fiecare orientare a suprafeței corespunde apoi unui punct de pe sferă. Și pot vorbi despre punctele din sferă folosind diferite moduri, dar una este latitudinea și longitudinea. Și acestea sunt două variabile. Deci asta ne spune, din nou, într-un alt mod că o unitate normală are două grade de libertate. Și dacă vreau să-l stabilesc, mai bine am două constrângeri. Deci așa mergea. Și asta îl face interesant. Adică, dacă am putea spune doar, OK, voi măsura luminozitatea și este 0,6 și orientarea este așa și așa, cursul s-ar termina. Ar fi destul de plictisitor. Dar nu este. Nu e usor. Avem nevoie de mai multă constrângere. Și vom vedea diferite moduri de a rezolva această problemă. Unul dintre ei pe care i-ați văzut în diapozitive a fost unul cu forță brută care spunea, ei bine, suntem mai constrânși. Am iluminat cu o sursă de lumină diferită. Obținem o constrângere diferită, deoarece cealaltă sursă de lumină ar avea un unghi diferit. Și apoi pot rezolva în fiecare punct. Deci, din punct de vedere al implementării industriale, este grozav. Poti sa faci asta. Puteți fie să utilizați mai multe surse de lumină, să le puneți la momente diferite, fie să utilizați surse de lumină colorate și așa mai departe. Dar să presupunem că te-a interesat, cum de pot oamenii să facă asta. Ei nu joacă feste cu sursele de lumină. Și nu trăiesc într-o lume cu trei sori de culori diferite. Atunci va trebui să facem ceva mai sofisticat. Și vom studia asta. Cum facem? Ajungem acolo? OK, deci scurtarea apare în două locuri. Acela este aici în care vorbim despre viața incidentă. Dar, de fapt, scurtarea joacă un rol și în cealaltă direcție. Uau, tablă cu frecare mare. De asemenea, greu de șters. Deci este într-adevăr aceeași geometrie, doar că acum razele merg în cealaltă direcție. si asa. Și am o scurtătură și la capătul receptor. Deci, într-o situație reală emergentă în 3D, vom vedea ambele aceste fenomene. Există scurtarea care afectează incidentul de iluminare ca acolo sus. Și apoi există acest efect. Și de exemplu, vă pot ilustra imediat prostia unor manuale. Așa că unele manuale spun că există un tip de suprafață numit inversiune care emite energie în mod egal în toate direcțiile. Asta spun ei la propriu. Ei bine, dacă este adevărat, atunci acea energie este imaginea într-o anumită zonă care se schimbă pe măsură ce schimb înclinarea suprafeței. Și pe măsură ce înclin suprafața din ce în ce mai mult, acea zonă a imaginii devine din ce în ce mai mică. Dar primește aceeași putere, se presupune, conform acestor tipi. Și ce înseamnă asta? Asta înseamnă că îți vei prăji retina chiar la limita de ocluzie, pentru că toată acea energie se concentrează acum pe o zonă minusculă. Deci aceasta este o idee importantă. Și apare atunci când vorbim despre reflectanța suprafețelor. Și trebuie să fim conștienți de asta. Așa că acum ceva la care vreau să ajung este că rezolvăm o problemă grea. Cu 3D, avem doar imagini 2D. Deci poate că suntem norocoși și avem mai multe. Dar aveți o funcție a trei variabile care are mult mai multă flexibilitate decât câteva funcții a două variabile. Deci, de ce funcționează deloc? Ei bine, motivul pentru care funcționează este că nu trăim într-o lume de Jell-O colorat. Așa că trăim într-o lume vizuală foarte specială. Deci, dacă mă uit la o persoană din spate, raza care vine de la suprafața pielii lui către pupila mea nu este întreruptă și este o linie dreaptă. De ce? Ei bine, pentru că trecem prin aer. Iar aerul este un indice de refracție, aproape exact 1. Și cel puțin nu variază de la acea poziție până aici. Și nu e nimic între ele. Nu este permis fumatul în această cameră, așa că nu poate fi absorbit. Și asta e foarte neobișnuit. Și celălalt lucru este că acea persoană are o suprafață solidă. Nu mă uit la vreun lucru complicat semitranslucid . Deci sunt raze drepte și există o suprafață solidă. Prin urmare, există o corespondență 2D la 2D. Suprafața acelei persoane... îmi pare rău, continui să mă uit la aceeași persoană. Devine jenat. Dar 2D, putem vorbi despre punctele de pe obrazul acestei persoane folosind doi vectori, u și v. Și asta este mapat într-un mod curbiliniu în 2D din imaginea mea. Și acesta este unul dintre motivele pentru care funcționează. Nu este chiar 3D la 2D. Este un 2D la 2D curbiliniu. Și care este contrastul? Ei bine, să presupunem că umplu camera cu Jell-O. Și apoi cineva intră cu hipodermic, injectează vopsea colorată peste tot în spectacol. Și apoi intru pe ușă și nu am voie să mă mișc. Pot să stau la ușă și mă pot uita în cameră. Pot să-mi dau seama distribuția vopselei de culoare? Nu. Pentru că în toate direcțiile, totul se suprapune din spatele camerei până în față. Și astfel nu îl puteți dezlega dintr-o singură vedere. Poți să o faci? Da, dacă ai multe vizualizări. Și asta e tomografia. Deci suntem într-o lume interesantă. Tomografia într-un fel este mai complicată, dar este și într-un fel mult mai simplă. Matematica este foarte simplă. Și avem o lume în care există o potrivire de dimensiuni. Dar ecuațiile sunt complicate. Deci nu este atât de ușor să faci acea inversare. Cred că trebuie să ne oprim. OK, vreo întrebare? Deci, despre problema temelor, ar trebui să poți face cel puțin primele trei sau cinci întrebări, probabil a patra. Și apoi, marți, vom acoperi ceea ce aveți nevoie pentru a face ultimul.