[SCRÂȘIT] [FOȘT] [CLIC] BERTHOLD HORN: Vom începe prin a vorbi puțin despre o trecere în revistă a lucrurilor pe care le-am făcut data trecută, despre proiecția în perspectivă și puțin despre lucrurile care sunt relevante pentru problema temelor pentru acasă , în special ultimele două întrebări. Și vom trece de la proiecția perspectivă la mișcare. Deci, în proiecția în perspectivă avem o relație între punctele din mediu și punctele din imagine. Și am descoperit că avem o relație simplă între lumea 3D și lumea 2D, atâta timp cât alegem un sistem de coordonate potrivit cu originea în centrul proiecției și axa z de-a lungul axei optice și așa mai departe. Dar apoi vom trece de la asta la mișcare prin diferențierea acelei ecuații. Și apoi vom vorbi despre mișcarea modelelor de luminozitate din imaginea însăși. Deci am avut asta și apoi am avut o versiune vectorială, care este doar puțin mai compactă. Deci nu este, în acest caz, un mare ajutor. Dar le vom folosi pe amândouă. Vom comuta înainte și înapoi și vom folosi orice este potrivit pentru problema cu care ne confruntăm. Deci, să începem cu mișcarea. Deci este o configurație statică. Și putem lega cu ușurință punctele din mediu cu punctele din imagine. Acum, ce se întâmplă dacă există mișcare? Ce se întâmplă dacă acel punct din mediu se mișcă? Evident, va fi ceva mișcare în imagine. Și dacă putem afla care este acea relație, atunci poate, în anumite circumstanțe, o putem inversa astfel încât să putem măsura mișcarea modelelor de luminozitate din imagine, așa cum faci în problema temelor, și cumva să folosim asta pentru a ne da seama. ce se întâmplă în lume. Așa că facem doar diferențe. Luăm ecuația noastră de perspectivă și facem diferențe. Așa că obținem... Acum, în partea dreaptă, avem un raport. Și deci există două părți la derivată. Și doar aplicăm regula pentru diferențierea unui raport. Și ceea ce voi face foarte mult este să reduc nivelul de intimidare al ecuației prin înlocuirea simbolurilor mai ușor de digerat. Deci, în acest caz, avem toate aceste derivate. Ei bine, ce sunt? Sunt cu adevărat viteze. Deci va exista o viteză în imagine în direcția x, pe care o voi numi u. Și există o viteză în lumea reală în direcția x, pe care o voi numi U mare. Și apoi avem o viteză în lumea reală în direcția z, pe care o voi numi W. Așa că arată puțin mai puțin infricosator. Și, desigur, pot face același lucru în direcția y, așa că aplică aceeași idee aici. Deci, aceasta este direcția înainte. Adică, dacă îmi spui care este vectorul de mișcare în 3D, iată formula pentru a-mi spune care este vectorul de mișcare în 2D. Și, desigur, s-ar putea să vrem să inversăm asta, dar pentru moment, să mergem cu asta. Acum, putem rescrie acest lucru în diferite forme. Și din moment ce o vom folosi mult, să facem asta. Deci, un lucru pe care îl putem face este că putem împărți acești termeni în 1 peste z, X peste Z. Și de ce este util? Ei bine, pentru că știm că X peste Z este mic x peste f. Deci putem rescrie acest lucru folosind coordonatele imaginii. Și ajungem cu... Și un lucru care ne permite să facem este să punem întrebarea, unde în imagine nu există mișcare? Deci, dacă ne uităm la mișcarea modelelor de luminozitate din imagine, este posibil să existe unele locuri unde nu există. Și acestea sunt de interes deosebit, în primul rând pentru că le putem găsi folosind tehnici de procesare a imaginii și apoi pentru că ne spun ceva despre mediu sau despre mișcare. Deci, puteți vedea, dacă setăm acest lucru egal cu 0, aflăm că este adevărat la un punct x0, astfel încât x0 peste f este mare U peste mare W. Și, în mod similar, pentru acesta egal cu 0. Și astfel punctul x0, y0 este acel punct căutat în care nu există mișcare de imagine. Și îl numim „focalizarea expansiunii”. Și în cazul unei situații simple, de parcă mă apropii de zid, punctul de expansiune este punctul spre care mă îndrept. Și astfel îl putem exprima direct în termeni de vector de mișcare 3D. Și veți observa că aceasta este de fapt doar o proiecție a vectorului de mișcare 3D în planul imaginii. Așa că iau aceeași diagramă acolo și acum, în loc să mapez vectorul la punctul P, mapez viteza. Și dacă fac asta, atunci asta definește acest punct x0, y0 din imagine unde nu există mișcare. Și asta se numește focusul expansiunii. Acesta este un lucru util, pentru că dacă puteți găsi focalizarea expansiunii, tot ce trebuie să faceți este să conectați acel punct, x0, y0 la origine și aveți un vector care vă spune direcția mișcării - deci un exemplu frumos de a inversa acel proces. Acum, odată ce ne concentrăm asupra expansiunii, putem rescrie acele ecuații încă o dată. Și așa că există câteva lucruri acolo care sunt de interes. Una dintre ele este că f se anulează, așa că putem face asta. Și apoi ne putem face de fapt o idee despre cum va arăta imaginea. Deci, să presupunem că acesta este planul imaginii. Acum ne uităm direct la asta. Și să presupunem că acesta este centrul nostru de expansiune. Și ne mișcăm în ceea ce privește... mediul se mișcă în raport cu noi sau ne mișcăm în ceea ce privește mediul. Einstein a spus că totul este relativ. Nu contează. Singurul lucru pe care îl putem determina este diferența dintre cele două mișcări. Apoi, nu va exista nicio mișcare de imagine aici. Și cum rămâne cu alte locuri? Ei bine, asta vă spune exact cum va fi modelul. Deci, dacă mergem la dreapta astfel încât x0 minus x este pozitiv, în timp ce îl păstrăm pe acesta 0, ceea ce se întâmplă este că U va deveni mai mare. Cu cât ne îndepărtăm, cu atât este mai mare. Deci vom avea un mic vector aici care ne spune mișcarea imaginii în acel punct și un alt vector aici, care este poate mai mare. Și apoi putem merge acolo unde acest lucru este negativ, deci cealaltă parte. Desenați un vector aici. Așa că încep să desenez o mică diagramă vectorială a câmpului de mișcare, dacă doriți, cum se extind lucrurile din acel punct. Și pot face același lucru în direcția y. Deci, să presupunem că păstrez x0 egal cu x, dar schimb y0, așa că merg pe această linie. Voi obține vectori care arată în acest fel. Și permiteți-mi să fiu aventuros și să plec în unghi drept, unde x0 minus x este același cu y0 minus y. Ei bine, asta înseamnă că U și V vor fi la fel. Asta înseamnă că voi obține un vector la 45 de grade și direcția opusă, așa. Și cred că puteți vedea că vom completa toată această diagramă, această mică diagramă vectorială, cu săgeți care sunt îndreptate spre exterior din centrul expansiunii. Că asta spune această ecuație - că toți acești vectori iradiază spre exterior și de aceea se numește focar de expansiune. Așa că mă îndrept spre acel perete. Și acesta este locul în care voi ajunge de fapt. Poate merg într-un unghi, dar toată imaginea mea se profilează. Mărește spre exterior, ceea ce este un indiciu util, un indiciu util pentru măsurarea distanței și a vitezei. După cum ați văzut în problema temelor, există o ambiguitate a factorului de scară că, din cauza proiecției în perspectivă, nu putem spune de fapt distanțele absolute. Și aici avem un fenomen similar. Dar ceea ce putem spune este acest raport. Și astfel, întreg acest domeniu depinde în mod critic de acest raport. Deci ce este asta? W peste Z. Și dacă o fac mai mare, atunci învingătorii vor fi mai mari. Asta înseamnă că mă apropii de suprafață. Sunt pe cale să-l lovesc. În schimb, dacă îl fac mai mic, acesta va fi mai mic. Dacă o fac negativă, ce se întâmplă? Ei bine, toți acești vectori sunt inversați. Deci este un focus de compresie. Nu există un astfel de termen, dar l-am putea numi așa. Este doar inversul focalizării expansiunii. Și asta se întâmplă dacă mă îndepărtez de suprafață. Deci decolez de pe suprafața lunară, iar imaginea se comprimă pe măsură ce plec. Deci ce este asta? Ei bine, hai să-l întoarcem pe cap. Ce este Z peste W? Și W, desigur, este rata de schimbare a lui Z. Deci avem Z peste dZ dT. Care sunt unitățile din asta? Deci Z este în, să zicem, metri. Și dZ dT este în metri pe secundă. Deci unitățile acestui raport sunt... STUDENT: Secunde. BERTHOLD HORN: Secunde. Și deci vă puteți gândi care este cantitatea aceea? STUDENT: [INAUDIBIL]. BERTHOLD HORN: Îmi pare rău? STUDENT: E timpul pentru impact. BERTHOLD HORN: E timpul să impact, grozav, așa că asta îmi va spune cât timp va dura până mă ciocnesc de această suprafață. Și deci, aceasta este o cantitate la care ne vom gândi ceva timp, atât pentru că este important dacă spuneți că aterizați o navă NASA pe Europa sau dacă sunteți o muscă care aterizează pe tavan. Și, de asemenea, se dovedește a fi relativ ușor de calculat în comparație cu alte lucruri pe care le vom analiza. Apropo, aterizarea pe Europa este un RFP JPL. Au vrut ca industria să le dea idei despre cum vor face asta și cât va costa. Și le-am spus că acesta este modul corect de a face asta. Și nu am mai auzit de ei. Deci nu stiu. Deci dacă acea navă se prăbușește pe Europa, nu mă învinovăți. I. Le-am spus ce să facă. Așadar, acest lucru începe să pară promițător, deoarece putem vedea calea noastră de a inversa acest proces de imagistică și de a obține câteva informații utile, doar din modul în care se schimbă modelul de luminozitate din imagine. Dar trebuie să te mai torturez puțin și să fac asta în formă vectorială. Și vom vedea mai târziu de ce este util. În acest moment, nu ne economisește foarte mult în ceea ce privește scrierea, trecând de la forma componentă la forma vectorială, dar vom vedea că în cele din urmă o face. Deci, în loc să diferențiem versiunile componentelor, acum vom diferenția forma vectorială. Și, desigur, este foarte asemănător. Deci, care este derivata în timp a unui vector? Ei bine, este doar vectorul în care ați diferențiat fiecare dintre componente în funcție de timp. Nu e nimic foarte fantezist. Deci avem din nou acel termen care corespunde acestei prime părți aici, dar pentru că este un raport și pentru că R se poate schimba, R mare se poate schimba, trebuie să ținem cont de faptul că este un raport. Și obținem... și astfel încât să pară puțin mai puțin intimidant, vom trece de la Leibniz la notația newtoniană. Din nou, sublinierea înseamnă întotdeauna că este un vector. Și o împart puțin. Deci punctul denotă aici diferențierea în funcție de timp. Și deci avem doi termeni, dintre care unul este scalarea evidentă - că există o anumită mișcare în 3D și va fi mărită sau diminuată de raportul dintre aceste două distanțe. Deci este o mare mișcare aici. Este o mișcare mai mică acolo prin raportul dintre acestea. Dar mai există și acest alt termen care corespunde mișcării în profunzime de care trebuie să luăm în considerare. Și l-am rescris în acest fel pentru că din nou, putem folosi faptul că avem această ecuație de proiecție a perspectivei. Și astfel putem introduce coordonatele imaginii. Deci focalizarea expansiunii, din nou, ar fi acolo unde r dot este 0. Și astfel încât acesta să corespundă cu z oh, permiteți-mi să pun 1 peste f pe cealaltă parte. E mai ușor. Și astfel obținem practic aceeași ecuație. Adică, dacă scriem doar componentele acelei ecuații, obținem ceea ce aveam înainte. Apoi am vrut doar să mai fac un mic truc, care este în anexa cărții, avem câteva rezultate utile despre tot felul de matematică simplă de care este nevoie, dintre care una are legătură cu ecuațiile vectoriale și cu manipularea produselor încrucișate ale produselor încrucișate. , genul ăsta de lucruri, pe care de obicei nu-mi amintesc cum să fac. Așa că voi merge la anexa cărții. Și anexa se află pe materialele de pe site-ul Stellar. Așa că lasă-mă mai întâi să transform asta încă o dată. Deci avem... asta doar rescriem asta. Și acum, folosim un rezultat. Și motivul pentru care facem acest lucru este pentru că ne permite să facem câteva afirmații generale despre flux. Deci, produsul încrucișat al produselor încrucișate poate fi exprimat ca diferență de produse punct. Acum, puteți potrivi aceste două rânduri și puteți vedea unde mergem cu asta, care este... Deci, în sfârșit, avem mișcarea imaginii exprimată în termeni de mișcare a lumii folosind această expresie oarecum ciudată. Deci de ce interesează acest lucru? Ei bine, primul lucru pe care îl puteți spune este că rezultatul este perpendicular pe z. Pentru că dacă luați produsul încrucișat a doi vectori, rezultatul este perpendicular pe ambii vectori. Deci r dot z este egal cu 0. Deci este surprinzător că mișcarea imaginii este perpendiculară pe axa z? Deci, mișcările imaginii în acel plan -- axa z este acolo. Nu, desigur că este evident. Adică, nu putea fi altfel. Aceasta este o modalitate bună de a verifica rezultatul. Dacă avem altceva, ar fi o problemă. Deci, în imagine, avem doar 2D. Avem x, y. Și avem ca viteze u și v. Nu avem o viteză în direcția z. Asta ar fi să iasă din imagine. Deci e interesant. Și apoi altceva la care ne putem uita este: ce se întâmplă dacă mișcarea imaginii este radial spre exterior sau spre interior , adică mișcarea este de-a lungul vectorului rază până la punctul din scenă? Ce vă așteptați că se va întâmpla cu mișcarea imaginii în acest caz? Deci, ai mingea de baseball direct pentru tine... ce face imaginea lui? STUDENT: [INAUDIBIL]. BERTHOLD HORN: Se extinde, dar nu se mișcă. Deci, acesta este cazul în care ne-am aștepta ca mișcarea imaginii să fie 0. Și acum verificăm această formulă. R punctul și R sunt paralele. Când luăm produsul lor încrucișat, lungimea produsului încrucișat este proporțională cu sinusul unghiului dintre cei doi vectori. Acolo unde sunt același vector, atunci acel unghi este 0 și deci sinusul este 0. Și astfel, această formulă, deși a fost nevoie de puțină muncă pentru a ajunge acolo, este utilă pentru a răspunde la anumite întrebări. Și putem verifica imediat lucruri de genul acesta. Dacă lucrul vine direct spre tine sau te îndrepți direct către el, nu va exista nicio mișcare a imaginii. Ei bine, acesta este punctul nostru de expansiune. Deci, dacă mă îndrept spre perete, acesta este punctul în care vectorul de mișcare se aliniază cu direcția către acel punct. Și astfel nu am mișcare de imagine. În timp ce suntem aici, ne putem uita la câteva câmpuri de flux. Așa că am văzut deja un câmp de flux acolo sus pentru o mișcare generală către un anumit punct. Și am putea analiza doar alte două cazuri. Deci, să presupunem că U, V și W ar putea fi orice, dar haideți să facem asta - deci presupunem că acum două dintre acele componente sunt 0, deci există doar mișcare în lume în direcția x. Și atunci la ce ne așteptăm în imagine? Ei bine, din formulele noastre, vedem că singura componentă a mișcării imaginii este micul u. Deci, dacă lumea se mișcă în x sau eu mă mișc în x în raport cu lume, atunci câmpul vectorial al modului în care modelele de luminozitate se mișcă în imagine arată astfel. Un lucru de remarcat, totuși, este că lungimea acelor vectori nu este aceeași - că lungimea depinde de z sau, dacă doriți, de inversul lui z și așa mai departe. Deci, dacă te uiți la toate aceste formule, avem R punctul Z, care este Z mare. Și uită-te la acele formule acolo sus. Ai 1 peste Z. Deci da, acesta este un câmp vectorial foarte simplu, dar vectorii nu sunt toți la fel. Deci, așa ceva este neplăcut. În același timp, când ceva este neplăcut, uneori poți profita de asta. Deci, în acest caz, dacă avem un câmp vectorial ca acesta, un lucru pe care l-am putea încerca este să recuperăm adâncimea, deoarece toate aceste lucruri sunt invers proporționale cu adâncimea. Și din nou, o ilustrare a modului în care, odată ce înțelegem procesul de avans, îl putem întoarce pentru a încerca să rezolvăm problema inversă. U este 0 și hai să-l încercăm pe acesta. Ei bine, asta înseamnă doar întoarcerea la 90 de grade. Deci nu e foarte interesant... aceeași idee. Acum, cred că pentru a exploata această idee de a recupera adâncimea din aceste câmpuri, ar trebui să știm Z. Trebuie să știm viteza. Deci există două lucruri care afectează cum arată aceste imagini. Unul este obiectul, forma, distanța, iar celălalt este mișcarea. Și dacă cunoaștem oricare dintre cele două, atunci îl putem calcula pe celălalt. Desigur, în practică, de multe ori nu le cunoaștem pe niciuna și ne-am dori să le recuperăm pe amândouă. Și apoi, adesea, ajungem cu o problemă prost pusă. Ce zici de U este 0, V este 0, W nu este egal cu 0? Ei bine, am desenat deja acea diagramă acolo, cam. Dacă ne uităm la ecuații, vom obține doar F OE is-- deci acesta este cel mai simplu caz al acelei imagini, în care focalizarea expansiunii este chiar în centrul imaginii. Ei bine, asta începe să sugereze unele dintre lucrurile pe care le vom urmări. Dezvoltăm ecuațiile pentru o astfel de transformare, între ceva din lume și ceva din imagine, apoi încercăm să o inversăm. Iar cel înainte este întotdeauna simplu. Acolo e ecuația. Este doar priză sau orice altceva. Inversul nu este pentru că adesea, pot exista mai multe soluții, sau poate să nu existe o soluție, sau poate exista un număr infinit de soluții, sau este prost pus, în sensul că dacă faci o mică eroare de măsurare , răspunsul va fi perturbat în mare măsură. Așa că va trebui să fim atenți la asta. Dar vorbind despre mișcarea modelelor de luminozitate a imaginii , să vorbim despre asta. Asta e în problema temelor. Deci hai să vorbim puțin despre asta. Deci vom ignora pentru moment de unde provin aceste imagini. Ce este o imagine? Ei bine, o imagine este un model 2D de valori de luminozitate. Deci este E în funcție de x și y, dacă doriți. Și am spus deja ceva despre asta în ceea ce privește luminozitatea fiind puterea pe unitate de suprafață. Vom face asta mai clar mai târziu. Deci întrebarea lui a fost, ce zici de culoare? Și da, vom vorbi despre culoare la un moment dat, ceea ce , într-un fel, se repetă de trei ori. Și câteva motive pentru a nu-l aduce în acest moment. Una este că o vom face mai simplu folosind niveluri de gri. Și apoi culoarea este în mod deosebit centrată pe om, prin aceea că singurul motiv pentru care folosim trei numere pentru a reprezenta culoarea este pentru că sistemul nostru special de detectare a culorii are trei simțuri. Dar despre toate acestea vom vorbi mai târziu. Deocamdată, să presupunem că am luat RGB și l-am transformat în luminozitate, care este, în funcție de cine citiți, o combinație a celor trei componente, în principal G. Deoarece viziunea umană este cea mai sensibilă la G și judecă luminozitatea absolută pe baza unora. combinație de R, G și B. Acum, sunt câteva lucruri pe care le voi face în mod repetat. Așa că vreau să vorbesc în mod preventiv despre ei. Una dintre ele este că voi comuta înainte și înapoi între continuu și discret. Deci, în zilele noastre, cu totul fiind digital, bineînțeles că imaginile pe care le obținem sunt discrete. Sunt cuantificate. Ele sunt cuantificate în spațiu și, de obicei, pe o rețea dreptunghiulară, care nu este oarecum cea mai bună rețea de utilizat, dar asta este ceea ce folosim. Și apoi în luminozitate, deci nu obținem nici valori continue pentru luminozitate. Le obținem cuantificate, adesea la doar opt biți. Dar se dovedește că multe din ceea ce facem este mai ușor de înțeles în domeniul continuu. Așa că v-am vorbit despre E de x, y. Acesta este modelul meu de luminozitate. Pentru orice x și y, îmi va spune care este luminozitatea, puterea pe unitate de suprafață. Dar, în practică, va fi mai degrabă ca și cum aș avea o serie de numere cu doi indici și am de-a face cu E sub orice. În mod corespunzător, în domeniul continuu, vom lua adesea integrale. De exemplu, acolo unde există o măsurătoare, aceasta este locală la un pixel, dar dorim să o extindem pe întreaga imagine. Și luăm fie o integrală simplă, fie o integrală dublă. Ei bine, desigur, în lumea discretă, vom lua sume. Dar acestea sunt transformări foarte simple . Dar sunt foarte utile, pentru că, pe de o parte, dorim să implementăm acest cod ca cod real, iar pe de altă parte, ne- am dori să facem mai ușoară dezvoltarea matematicii. Și este aproape inevitabil că este mai ușor în lumea continuă. Apoi ajungem la derivate. Deci, desigur, în lumea continuă, mă pot uita la derivatele x și y ale luminozității. Iar combinația dintre aceste două se numește „gradient de luminozitate”, care va fi foarte important în multe dintre lucrurile pe care le facem. Și, în practică, le voi aproxima făcând un fel de primă diferență. Și vom vedea că acesta este un mod de a face asta. Nu este o modalitate deosebit de bună de a aproxima prima derivată, dar vom vorbi despre altele. Și doar în ceea ce privește scrisul, acest lucru este mai ușor de scris decât atât. Deci știu că nu este un argument mare, dar vom descoperi că unele dintre aceste lucruri au o soluție în formă închisă în domeniul continuu pe care o puteți obține cu ușurință. Și este mai greu să faci același lucru în domeniul discret. Așa că voi schimba înainte și înapoi. Având în vedere asta, să ne uităm la imaginea noastră 1D. Deci, desigur, imaginile sunt de obicei 2D. Există senzori 1D și au câteva beneficii. Una dintre ele este că poți construi un senzor 1D cu un număr mult mai mare de pixeli într-o singură direcție decât poți construi un senzor 2D, deși în zilele noastre, senzorul 2D ar putea fi 2K cu 4K, un număr uriaș. Dar senzorii liniari au existat cu multe mii de pixeli. Iar dezavantajul unui senzor liniar este de a obține o imagine reală, trebuie să o scanați. Și acest lucru se face destul de mult în industrie, unde lucrurile se mișcă pe o bandă transportoare. Și puteți folosi un senzor liniar, relativ ieftin, cu rezoluție foarte mare . Iar mișcarea benzii transportoare oferă cealaltă dimensiune a imaginii. Este, de asemenea, folosit în imagistica prin satelit, unde sunt utilizați senzori 1D de foarte înaltă calitate, iar apoi mișcarea satelitului asigură scanarea pentru a produce o imagine. Oricum, să presupunem că avem o imagine 1D și să presupunem că lucrurile se mișcă. Deci, acesta este la momentul t. Și acesta este la momentul t plus delta t. Și gândește-te la mouse-ul tău optic. Îl ții pe masă. Are o lentilă cu distanță focală scurtă care imaginează suprafața mesei. Și dacă există o anumită textură, așa cum este pe lemn de aici, atunci acea textură este mapată pe imagine. Și dacă mutați mouse-ul, atunci imaginea acelei suprafețe se va mișca. Iar sarcina ta este să estimi cu exactitate cât de repede se mișcă. Și iată imaginea de dinainte, doi pași de timp. Și așa că încercăm să ne dăm seama, cum pot determina ce se întâmplă? Deci, să presupunem că avem o viteză a lui u. Și așa ne-am mutat cu acea sumă. Așa că permiteți-mi să spun asta aici. Deci asta este delta x. Acum, facem câteva presupuneri aici la care vom reveni într-o secundă. Una dintre ele este că luminozitatea nu se schimbă. Și așadar, dacă mouse-ul tău optic se uită la suprafața mesei, atunci probabil că între un cadru și altul, iluminarea nu se schimbă. Folosește un LED cu un curent constant și durează 2.000 de cadre pe secundă, așa că este puțin probabil să se schimbe. Geometria se schimbă puțin pentru că te-ai mișcat, iar acum privești suprafața dintr- un unghi ușor diferit. Dar pentru majoritatea suprafețelor, modificarea luminozității din cauza acesteia este foarte mică. Așa că chiar aici, așa cum am desenat aceste curbe, mi-am asumat luminozitate constantă. Așa că haideți să o scoatem din față - presupunerea de luminozitate constantă. Și vom vedea că există circumstanțe în care acest lucru nu se aplică. Dar există o mulțime de cazuri în care acesta este cazul. De exemplu, în timp ce mă plimb prin cameră, cămașa ta încă arată roșu maro și nu se schimbă cu adevărat. Și așa suntem obișnuiți ca cea mai mare parte a lumii să fie oarecum constantă în culoare, constantă în luminozitate, de asemenea, deși știm că există circumstanțe în care nu este cazul. De exemplu, dacă mă uit la reflectarea luminilor de acolo sus în telefonul meu mobil , ele, desigur, se mișcă în raport cu telefonul mobil pe măsură ce mă mișc. Și vom mai vorbi despre asta. Deci, să lărgim o mică parte din asta. Așa că aruncăm în aer această zonă. Și de ce fac asta? Ei bine, aș dori să folosesc o aproximare liniară. Deci presupun că aceasta-- a doua ipoteză-- presupun pentru moment această curbă este relativ netedă, astfel încât dacă mă uit la o parte suficient de mică a ei, o pot aproxima ca o linie. Și apoi există o schimbare a luminozității și există o oarecare pantă aici. Iar panta leagă mișcarea de schimbarea luminozității. Puteți vedea unde se duce asta. Aș dori să folosesc schimbarea luminozității pentru a determina mișcarea, deoarece cum altfel vom măsura mișcarea din imagine? Pixelii rămân în același loc. Tot ce avem este că luminozitatea la un pixel se schimbă. Și cumva, trebuie să inversăm acea relație. Deci, în termeni de E a lui x și t, care este această pantă? Deci aceasta este în direcția x și aceasta este rata de schimbare a lui E cu x. Și așa este panta dE dx. Și o voi scrie așa, ca o derivată parțială. Și ar putea la fel de bine să folosească notația corectă imediat. Vom avea nevoie de derivate parțiale pentru că avem atât x, cât și y și t. Și deci trebuie să fim clari despre ce tip de diferențiere vorbim. Deci, asta e panta. Deci, asta înseamnă că delta E trebuie să fie panta cu delta x. Și așa va fi... și voi scrie asta ca E sub x. Deci, din nou, pentru a simplifica notația, voi folosi adesea indicele pentru a desemna derivate parțiale. Și E sub x și E sub y-- folosim atât de mult încât ar fi o durere să trebuiască să le scriem în întregime de fiecare dată. După cum am indicat, acestea sunt componentele gradientului de luminozitate, care este folosit pentru tot felul de lucruri, inclusiv pentru detectarea marginilor. Deci acum, permiteți-mi să împart prin delta t. Și asta, cred că în limită, pe măsură ce fac pași de timp din ce în ce mai mici, va fi acea derivată parțială. Și dacă vrei, pot rescrie încă o dată. Deci puteți vedea aici de ce este utilă utilizarea comutării la domeniul continuu. Pentru că pot lua limitele aici pe măsură ce delta t se apropie de 0 și pot obține derivata parțială. Desigur, în practică, primesc cadre la o rată fixă și au un anumit interval. Nu pot face intervalul infinit infinit de mic. Așa că ajung cu o expresie mult mai dezordonată. Dar cele două sunt în mod evident legate. Deci, acesta este un rezultat pentru imaginea 1D și asta ne permite să recuperăm mișcarea. Deci un lucru pe care probabil l-am ocolit este că pe măsură ce trecem de la t la t plus delta t, luminozitatea scade. Deci, delta E de aici este de fapt în-- pentru o pantă pozitivă, delta E va fi negativă. Deci s-ar putea să se fi pierdut pe aici undeva. Deci, remarcabil, de la un singur pixel pot obține viteza în acest caz 1D. Acum, important, nu este adevărat în cazul 2D. Și până la urmă, acesta este cazul pe care vrem să-l rezolvăm. Așa că va trebui să muncim puțin mai mult. Și acum câteva lucruri pe care le vei vedea -- în primul rând, cu cât lucrurile se mișcă mai repede, cu atât E t va fi mai mare. Ei bine, nu este o surpriză. Dacă luminozitatea se schimbă lent, atunci accelerezi lucrurile , atunci luminozitatea se va schimba mai rapid. Este ca și cum ai lua videoclipul tău de pe YouTube și ai schimba rata de redare. Când modificați rata de redare, modificați toate vitezele cu același factor. Apoi veți avea schimbări mai rapide de luminozitate - intuitiv intuitiv . Un alt lucru pe care îl veți observa este că există o problemă dacă E x este 0. Nu putem face asta dacă E x este 0. Deci, dacă suntem, de exemplu, la... să presupunem că suntem aici. Ei bine, atunci dacă lucrul se mișcă, luminozitatea nu se schimbă sau se schimbă doar puțin. Și deci din asta, nu poți să-ți dai seama cât de departe s-a mutat. Aveți aproape același rezultat dacă s-a mișcat atât de mult sau orice altceva. Și doar în ceea ce privește implementarea, împărțiți la 0, așa că nu va fi bine. Și nu este doar 0. Este atunci când este foarte mic. De ce este asta? Ei bine, pentru că atunci când este foarte mic, probabil înseamnă că nu îl cunoști exact, ca urmare a faptului că îl obții scăzând valorile a doi pixeli. Deci, să trecem din nou peste asta. Aproximăm acest lucru spunând că este 1 peste delta x E din x plus delta x. Ei bine, aceasta este o notație elegantă, dar, în principiu, sunt doi pixeli, luăm această valoare și scădem acea valoare. Deci, citim nivelul de gri acolo, citim valoarea de gri acolo, le scădem. Și așa ne estimăm derivatele de luminozitate. Și în mod similar... deci ce facem cu E t? Ei bine, E t este derivat în același mod, cu excepția faptului că avem două cadre. Și alegem același pixel din cele două cadre și le scădem valorile gri. Deci, doar într-o direcție diferită, aproximăm derivata. Și de ce este asta important? Ei bine, dacă există un gradient de luminozitate mic, E x este mic, atunci acele două valori vor fi foarte asemănătoare. Și din moment ce nu sunt cunoscute cu precizie, au o eroare de măsurare în ele, acum scădem două cantități care sunt similare ca mărime, așa că obținem o cantitate mai mică. Și este mai ales zgomot la un moment dat. Deci asta ne spune că este ceva de evitat. Nu vrem să fim... și are sens. Adică, dacă imaginea este uniformă și luminoasă, x este 0, o poți muta și nu poți spune că s-a mutat. Adică, ar trebui să ai un punct de referință, cum ar fi o textură pe el, pentru a spune că s-a mișcat. Și dacă ai avea textură pe ea, E x nu ar fi 0. Așa că știu că fac asta din nou și din nou, dar este foarte important, deoarece înseamnă că acest tip de măsurare este A, foarte zgomotos și B. , nu este de încredere decât dacă sunt îndeplinite anumite condiții de imagine. Și apoi următorul lucru pe care îl puteți face este să spuneți, ei bine, putem estima viteza de la un singur pixel. Dar avem o mulțime de pixeli. Și asta face parte din ceea ce vom folosi intens, că rezultatul cu un singur pixel nu este grozav, dar avem un milion sau 10 milioane. Și astfel putem face lucruri precum cele mai mici pătrate pentru a îmbunătăți în mod dramatic rezultatul. Deci, s-ar putea ca rezultatul de la un singur pixel să fie într-adevăr neclar, dar este în regulă pentru că împărțim eroarea la 1.000 dacă ne gândim la statisticile de a avea un milion dintre acești pixeli. Așa că continui să spun că sunt zgomotoși și, în același timp, spun că putem face asta. Și motivul pentru care putem face asta este pentru că avem o mulțime de ei. Așa că am vorbit despre cum să aproximăm cum să comutăm înainte și înapoi între lumea continuă și lumea discretă. Și acum, nu vreau să dau soluția la problema temelor. Dar următorul pas, cred, ar fi să obțineți o grămadă de acestea și să le combinați. Deci am putea face așa ceva. Dacă avem n pixeli, atunci am putea încerca ceva de genul acesta. Deci, acum, în loc să folosim doar doi pixeli, folosim acești doi pixeli pentru a face calculul, apoi folosim acești doi pixeli pentru a face calculul, apoi folosim acești doi pixeli pentru a face calculul și așa mai departe. Și așa le adunăm. Deci avem o mulțime de măsurători zgomotoase și luăm media. Și în mod magic, lucrurile se îmbunătățesc. Și așa, fără a intra în statistici sau ipoteze păroase despre distribuțiile de probabilitate, aproximativ vorbind, atunci când media n valori, reduceți abaterea standard cu rădăcina pătrată a lui n. Și când ai aceste sondaje politice și spun că au o marjă de eroare de 5%, ceea ce înseamnă că au vorbit cu 400 de oameni. Deoarece rădăcina pătrată a lui 400 este 20. 1/20 este 0,05 -- deci același principiu. Deci nu se îmbunătățește liniar cu n, din păcate. Ar fi chiar mai bine. Dar se îmbunătățește cu rădăcina pătrată a lui n. Deci, dacă avem o imagine de un milion de pixeli, se îmbunătățește cu un factor de 1.000, ceea ce este destul de semnificativ. Acum, dacă am face asta într-un mod simplu, tot am avea probleme. În primul rând, dacă E x este într-adevăr 0, ai fi împărțit la 0. Deci nu poți face asta. Cred că ai putea lăsa pixelii aceia afară. Și atunci, dacă E x este mic, mai aveți un răspuns care este relativ rău. Deci sunt locuri unde panta este mare, de unde obții informații bune. Și acum, îl poluați adăugând ca o informație egală din locurile în care panta este scăzută. Și de aceea în problema temelor, vorbim despre ponderare. Așa că nu luați doar o medie și tratați fiecare dintre ele în mod egal. Dar înmulțiți cu un factor de greutate. Și apoi, desigur, ce se întâmplă cu 1 peste n? Ei bine, trebuie să compensezi faptul că acum ai trecut la utilizarea greutăților. După cum am menționat, imaginile sunt într-adevăr 2D. Deci, să extindem această analiză la 2D și să vedem ce se întâmplă. Acum, unele dintre acestea pot părea plictisitoare și repetitive pentru unii dintre voi, dar suntem cu toții pe lungimi de undă diferite. Deci voi obține următorul rezultat în mai multe moduri diferite. Și abordări diferite pot atrage oameni diferiți. Așa că lasă-mă să o fac așa. Deci, să începem prin a vorbi despre volumul imaginii. Așa că gândiți-vă la videoclip și vom îmbina cadrele. Deci fiecare dintre aceste secțiuni transversale este un cadru. Și ajungem cu acest lucru tridimensional care este luminozitatea în funcție de x, y și t. Și de obicei, în practică, îl tăiem în felul acesta. Dar am putea tăia volumul cum doriți. Și, în unele cazuri, există avantaje să-l feliați în moduri diferite. Deci, aceasta este partea 1. Și uneori este util să vizualizați lucrurile în acest fel. Apoi, vom folosi derivate parțiale. Deci ce sunt? Ei bine, aici sunt doar derivatele în direcția axei. Deci vom avea de-a face cu dE dx, dE dy și dE dt. Și așa cum am discutat, le aproximăm luând diferențe - primele diferențe ale pixelilor vecini fie în direcția x, fie în direcția y, fie în direcția t de la cadru la cadru. Deci asta e tot ce este. Așa că unii oameni consideră derivatele parțiale puțin mai înfricoșătoare decât derivatele obișnuite, dar asta este tot -- luăm derivatele în toate cele trei direcții. Pe când am putea face ceva mai complicat. Deci să ne gândim la asta. Deci, să presupunem că acest videoclip este de la mine, mișcându-mă printr-un mediu și că există un obiect în mediu pe care îl urmăresc. Și la momentul t0, este acolo în imagine. Și apoi, în cadrul următor, este aici și așa mai departe. Deci urmează o cale în acest volum tridimensional. Și aș putea face asta pentru alte puncte și să dezvolt tot acest set de curbe. Dar să ne concentrăm doar pe unul. Acum, unul dintre lucrurile pe care aș dori să le fac este să văd cum se schimbă asta. Deci, când mă uit la diferite cadre ale unei imagini, adesea ceea ce vreau să fac este să nu iau derivata la un pixel și să văd cum se schimbă la următorul interval de timp, ci vreau să urmăresc un obiect și să văd cum se schimbă. Și în multe cazuri, voi face presupunerea de luminozitate constantă , că nu se schimbă în luminozitate. Și așa aș dori să exprim o constrângere asupra derivatei de-a lungul acestei curbe. Și așa aș putea avea o curbă. Cum definesc asta? Ei bine, o modalitate este de a da x și y în funcție de t. Deci această curbă verde-- pentru fiecare dată t, pot da un x și un y. Așa definesc acea curbă. Și apoi, ceea ce aș vrea să fac este să mă uit, de exemplu, la derivata totală de-a lungul acelei curbe, ținând cont de faptul că de-a lungul acelei curbe, nu numai că t se schimbă, dar x și y se schimbă într-un mod definit. Deci aceasta este derivata totală. Și în ceea ce vom face, îl vom seta la 0, deoarece presupunem că acest punct își menține luminozitatea. Și apoi pot folosi regula lanțului pentru a împărți asta. Deci voi obține dx dt ori dE dx plus-- așa că pot lua această derivată totală și o pot exprima în termeni de derivate parțiale. Și din nou, pare un fel de intimidant, dar pot rescrie cu ușurință asta. Deci este echivalent cu ceea ce aveam pentru mișcarea 1D. Deci, aceasta arată o relație între gradientul de luminozitate și mișcarea imaginii. Și dacă cunosc mișcarea imaginii și știu imaginea, pot prezice cum se va schimba. Și este foarte simplu. Eu doar folosesc formula asta. Și ceea ce ne interesează mai mult este că avem imagini, secvențe de imagini și vrem să găsim u și v. Deci, acolo mergem. Acum, aici, am putea rezolva doar pentru u, pentru că aveam o singură ecuație și o singură necunoscută. Și acesta este un alt lucru pe care îl vom face multe, este numărarea ecuațiilor... câte grade de libertate? Câte numere sunt pe care nu le știm? Și câte constrângeri avem? Aici avem o constrângere, acea ecuație. Avem o potrivire perfectă necunoscută. Deci știm că este probabil să obținem un număr finit de soluții. Și pentru că este liniară, obținem o soluție. Dar când te uiți la asta, vei vedea că există o ecuație, o constrângere, dar avem două necunoscute. Avem u și v. Deci, dacă încercăm să recuperăm fluxul optic, care este acel câmp vectorial despre care discutăm, este ca și cum nu avem suficiente informații aici pentru a face asta, care este dramatic diferit de cazul 1D, în care am avut potrivirea între numărul de ecuații și numărul de necunoscute. Deci ce știm? Deci suntem pierduți pe mare? Este fără speranță? Deci, să ne uităm la ce ne oferă această constrângere. Deci, din nou, obiectivul general aici este că avem o imagine care variază în timp sau, în cazul discret, o secvență de cadre de imagine. Și încercăm să recuperăm mișcarea. Și constatăm că, presupunând că lucrurile nu se schimbă în luminozitate, imaginile nu se schimbă pe măsură ce se mișcă, ajungem cu acea ecuație de constrângere. Și ce ne spune? Ei bine, o modalitate de a te gândi la asta este să-l trasezi în spațiul de viteză. Deci, suntem obișnuiți să trasăm imagini cu x și y ca axe de coordonate, dar de fapt, pentru anumite scopuri, este util să avem un alt tip de reprezentare. Și acesta este unul. Și ceea ce înseamnă este că orice punct de aici este o anumită viteză, acea viteză. Și, de exemplu, aceasta este viteza 0. Nu merge nicăieri. Spațiul de viteză a fost folosit la un moment dat în fizică mult mai mult decât este acum. Și de fapt este cam îngrijit. De exemplu, dacă te uiți la orbitele planetare, acestea sunt elipse cu Soarele la un singur focar. Iar elipsele sunt complicate. Dacă le-ai trasat în spațiul de viteză, sunt cercuri, care au fost exploatate în primele zile, înainte ca oamenii să introducă ecuații într-un computer și să le rezolve, unde trebuiau să raționeze despre lucruri geometric. Oricum, spațiul de viteză este îngrijit. Și aici avem o constrângere în spațiul de viteză. Deci asta înseamnă că înainte să deschidem ochii și să ne uităm la imagine, nu știam nimic. Viteza poate fi oriunde în acest plan. Dar acum avem o constrângere asupra ei. Deci ce ne spune asta? Asta trebuie să limiteze cumva spațiul de soluție. Și da, este o ecuație liniară în u și v și, deci, la ce corespunde o ecuație liniară în lumea 2D? STUDENT: [INAUDIBIL] BERTHOLD HORN: Linia, da-- y este egal cu mx plus C, de exemplu. Deci va fi o linie. Și asta e grozav, pentru că înseamnă că nu am rezolvat problema, dar am parcurs un drum lung. Deci înainte, ar putea fi oriunde. Acum, va fi pe linie. Ceea ce ne place cu adevărat este să o fixăm până la un punct. Deci am ajuns parțial. Și deci ce linie este? Ei bine, putem rescrie acea ecuație așa. Și rescrieți-l puțin mai mult prin normalizarea acestui vector. Deci, transform acest vector într-un vector unitar. Deci, în primul rând, din nou, un memento că acesta este gradientul de luminozitate. Iar gradientul de luminozitate este foarte important pentru tot felul de lucruri. Dacă este 0, nu se întâmplă nimic pentru că luminozitatea este constantă. Și, mai probabil, are o valoare mare la o tranziție între... dacă mă uit la o tranziție între perete și tablă, există o schimbare mare în luminozitate. Și, prin urmare, derivatele vor fi mari. Și, prin urmare, gradientul de luminozitate va fi mare. Și nu numai asta, dar și gradientul de luminozitate ca vector va fi îndreptat perpendicular pe tranziție. Deoarece E x este foarte mare aici, E y este 0. Deci acest gradient de luminozitate este foarte important. Și acesta este un vector unitar, așa cum puteți vedea cu ușurință luând suma pătratelor celor două componente. Și de ce fac asta? Ei bine, pentru că mă interesează componenta lui u și v în această direcție, direcția specificată de vectorul unitar. Și aceasta este constanta. Și deci ceea ce spune asta este că u și v sunt perpendiculare pe o dreaptă. Și așa arată. Puteți verifica asta. Adică, practic, trebuie să găsiți acest punct și apoi să calculați distanța de la origine. Și asta va fi. Deci, nu prea sunt interesat acum de detaliile, în afară de faptul că am arătat că este o linie și că linia depinde de gradientul de luminozitate. Deci ne spune deja multe lucruri. Una dintre ele este că atunci când faci această măsurătoare localizată și ești sub constrângere, nu ai suficiente ecuații, știi ceva. De exemplu, în această diagramă, nu știu ce sunt u și v, dar să presupunem că vă dau un sistem de coordonate diferit. La nivel local, veți vedea modele liniare. Nu vei vedea asta. Dacă continui să măresc asta, va fi din ce în ce mai mult ca o relație liniară. Și astfel argumentul este că, dacă priviți printr-o deschidere, nu puteți determina mișcarea, puteți determina mișcarea în direcția gradientului de luminozitate. Deci asta am făcut aici. Deci, în cazul 1D, am terminat aici. În cazul 2D, nu am terminat pentru că avem o nepotrivire de constrângeri și necunoscute. Și deci avem nevoie de mai multe constrângeri. Deci trebuie să știm altceva. Și uneori, există cunoștințe anterioare despre mediu care te ajută. Uneori, puteți să vă uitați din nou în altă dată și să obțineți informații suplimentare. Acum, să presupunem că avem problema mouse-ului optic, în care întreaga imagine se mișcă ca una singură. Te afli pe o suprafață plană, la o distanță constantă de lentilă. Și la un grad foarte înalt de aproximare, imaginea se mișcă ca una. Deci nu avem doar un pixel. Putem face același lucru la doi pixeli. Acesta este la pixelul 1. Și acesta este la pixelul 2. Și treaba noastră este să recuperăm u și v. Ei bine, sunt două ecuații liniare. Le putem scrie așa și apoi le putem rezolva. Acum, pentru că acum avem două constrângeri, avem suficientă constrângere pentru a rezolva cele două necunoscute. Și este doar o ecuație liniară, deci este foarte simplă. De fapt, putem scrie răspunsul în mod explicit. Deci este foarte mecanic. Adică, inversăm această matrice 2 cu 2 și înmulțim rezultatul cu acel vector și am terminat. Și ce este asta? Ei bine, acesta este determinantul acelei matrice. Deci, pentru 2 cu 2 și 3 cu 3, îl putem scrie în mod explicit. În caz contrar, vom folosi doar eliminarea gaussiană pentru a rezolva setul de ecuații liniare. Deci, într-un fel, am terminat. Avem nevoie de doi pixeli. Putem rezolva acest lucru, iar acum este zgomotos, așa că putem îmbunătăți rezultatul luând mai mult de doi pixeli. Dar înainte de a face asta, este întotdeauna important să verificăm condițiile marginilor. Acest lucru poate eșua. Și eșuează când determinantul este 0. Deci, când se întâmplă asta? Ei bine, asta se poate întâmpla? Ei bine, sigur. Să-l rescriem încă o dată. Deci avem această metodă liniară frumoasă, că dacă facem aceste măsurători la doi pixeli, putem rezolva mișcarea. Dar nu va funcționa dacă acesta este cazul. Deci ce este asta? Ei bine, asta vă spune ceva despre gradientul de luminozitate. Aceasta este direcția gradientului de luminozitate, ei bine, tangenta acestuia. Deci ceea ce se spune este că aveți o problemă dacă sunt legate. Deci aici nu trebuie să fie la fel. Adică, evident, dacă gradienții de luminozitate sunt aceleași, scazi acele două cantități, obții 0 și lucrurile explodează. Dar nu trebuie să fie la fel. Trebuie doar să fie proporționale unul cu celălalt. Spunem doar că raportul dintre E y și E x este același. Și asta are sens, din nou, pentru că asta înseamnă că gradientul de luminozitate este același în cele două locuri. Asta înseamnă că constrângerea pe care o ieșim din ecuație este în aceeași direcție. Nu oferă informații noi. Sau reveniți la această diagramă - acum avem două linii paralele. Ei bine, dacă nu există zgomot de măsurare, vor fi unul deasupra celuilalt. Și apoi le intersectezi , și ce obții? Ei bine, aceeași linie, deci nu e foarte interesant. Sau dacă ai zgomot, va fi și mai rău pentru că nici măcar nu se vor intersecta. Deci asta vă spune o serie de lucruri. Una dintre ele este că acest lucru nu va funcționa dacă gradientul de luminozitate este același peste tot. Și asta are perfect sens. Asta e problema deschiderii. De asemenea, vă spune că poate trebuie să ponderați cumva contribuțiile din diferite regiuni ale imaginii pe baza acestui lucru. Poate că nu doriți să aveți contribuții din o mulțime de regiuni de imagine cu același gradient de luminozitate, deoarece acestea nu oferă cu adevărat o constrângere bună. Toți fac același lucru. Deci, asta vă spune că, în loc să luați acest rezultat pentru doi pixeli și apoi să îl aplicați altor perechi de pixeli și să luați doar media, veți dori să- l ponderați într-un fel. Și asta e un fel de nenorocit. Adică, asta înseamnă să rezolvi o problemă într-un mod simplu. Dar putem face, putem face asta mult mai bine. Deci avem această ecuație care se presupune că este adevărată peste tot în imagine. Aceasta este ecuația noastră magică, care leagă mișcarea imaginii cu gradienții de luminozitate. Și acesta ar trebui să fie 0. Acum, dacă există zgomot de măsurare, acesta nu va fi 0. Sper că va fi mic. Dacă introduceți valorile greșite ale lui u și v, nu va fi 0. Așa că poate o modalitate de a rezolva această problemă este să căutați u și v care fac 0. Sau dacă nu puteți face 0, faceți este cât mai mic posibil. Și asta motivează această abordare. Deci ce se întâmplă aici? Ei bine, integrandu-ul este doar această expresie. Și dacă totul a fost perfect și ai valorile corecte ale lui u și v, integrandul ar fi 0 și îl integrezi peste întreaga imagine, obții 0. Și asta este cel mai mic pe care îl poți obține pentru că este pătratic. Nu poți obține mai puțin de 0, așa că atât. Dacă introduceți valorile greșite ale u și v, ei bine, nu va fi 0. Și astfel puteți baza o strategie pentru găsirea u și v pe asta. Acum, există cazuri în care acest lucru va eșua. Una este dacă, nu știu, ești fără lumină într-o mină de cărbune. Dacă E este 0, toată speranța este pierdută, evident. Dacă E x și E y sunt 0, toată speranța este pierdută, deoarece asta înseamnă că te uiți la un perete care are o luminozitate constantă. Și nu o veți putea vedea în mișcare pentru că nu există nimic pe el care să vă atragă atenția și să urmăriți. Dacă ar exista o anumită textură pe el, atunci E x și E y nu ar fi 0 în unele locuri. Și deci acesta este un fel de abordare pe care o vom folosi foarte mult. Deci avem această constrângere, care s- ar aplica într-un caz ideal în care cunoaștem răspunsul u și v. Și vom lua contribuții din aceasta. Și acum, nu le putem adăuga pur și simplu , pentru că unele dintre ele ar putea fi pozitive, iar altele pot fi negative. Deci nu are sens să minimizezi integrala acestora. Le transformăm în ceva care este întotdeauna pozitiv prin pătratul și, așadar, vom găsi aceste răspunsuri minimizând asta. Acum, în acest caz, acest lucru este destul de simplu. Acum luăm asta și aceasta este o problemă de calcul. Deci aceasta este o funcție a lui u și v și vom stabili derivatele față de u și v egale cu 0. Și în acest caz, avem norocul că ecuațiile sunt liniare. Și o putem rezolva. Și de fapt, răspunsul este foarte asemănător cu acesta. Vom ajunge cu două ecuații și două necunoscute, o ecuație din derivată în raport cu u de 0 și una cu derivata lui v ca 0. Și așa două ecuații, două necunoscute -- mișto, dar asta poate eșua deoarece s-ar putea să nu fie de fapt ecuații diferite. Ele pot fi dependente liniar. Deci am vrea să ne facem griji pentru asta. Și în acest caz, modul de eșec este... care se dovedește a fi determinantul acelei matrice 2 pe 2. Deci asta corespunde cu chestia asta de aici. Și în acest caz, atunci lucrurile eșuează. Deci când se poate întâmpla asta? Ei bine, cu siguranță dacă E este 0 sau E este o constantă pentru că atunci E x și E y sunt 0. Sau poate dacă doar E x este 0 peste tot pentru că atunci această integrală este 0 și acea integrală este 0. Deci, să vedem -- deci dacă E x este 0 și E y nu este 0, ce este asta? Ei bine, asta înseamnă că am una dintre acele poze care variază doar într-o direcție. E x este 0, adică este constantă pe direcția orizontală. E y este diferit de zero. Variază în luminozitate în direcția verticală. Și dacă ar fi să desenez izofote, ar arăta așa. Deci aici E x este 0. E y nu este 0. Și știm că există o problemă. Dacă mă mișc în această direcție, imaginea nu se schimbă, deci nu se poate rezolva. Deci E x este egal cu 0 este o problemă. În mod similar, E y egal cu 0 este o problemă, tocmai întors cu 90 de grade. Deci astea sunt cam evidente. Adică, știm că acestea nu vor funcționa. Este acolo ceva? Ei bine, ce zici de E x este egal cu E y? Ei bine, dacă acesta este cazul, atunci aceste două integrale sunt aceleași și, de fapt, acea integrală este aceeași, de asemenea. Deci vom obține integral e x pătrat tot pătrat minus acest lucru tot pătrat-- 0. Deci, asta e rău. Deci ce este asta? Ei bine, aici rulează izofotele la 45 de grade, deoarece gradientul de luminozitate are aceeași componentă x ca și componenta y. Gradientul de luminozitate este perpendicular pe izofot. Și deci E x E y înseamnă că este un unghi de 45 de grade pentru gradient. Deci izofotul este cu 45 de grade mai jos, deci asta e imaginea pentru asta. Și, desigur, este într-adevăr același lucru cu acesta, doar rotit. Și unul dintre lucrurile pe care le vom face este să spunem că, ei bine, ceva nu ar trebui să depindă de alegerea noastră de x și y și de sistemul de coordonate a imaginii . Adică, răspunsul ar fi diferit, dar în noul sistem de coordonate, ar trebui să însemne același lucru. Deci, în acest caz, nu ar trebui să obțin un rezultat care este specific pentru axa x sau y. Ar trebui să-mi dea același rezultat dacă mă rotesc. Deci asta este o rotație de 45 de grade. Pot obține orice rotație făcând așa ceva. Pentru că atunci E y peste E x este o constantă și asta este tangenta unghiului de rotație sau ceva de genul ăsta. Conectați-l aici și, desigur, veți vedea că obțineți k pătrat ori integrala de aici. Și k pătratul apare acolo. Se anulează reciproc. Deci acesta este de fapt cel mai general caz. Toate acestea sunt doar cazuri speciale ale aceleia, astfel încât acestea rezumă toate cazurile pe care le-am găsit. Toate sunt cu izofote la un anumit unghi, linii paralele. Și atunci întrebarea importantă este, așa este? Se dovedește că da, asta este. Și nu este ușor de dovedit. Trebuie să folosiți cel puțin inegalitatea triunghiului sau ceva profund de genul acesta. Deci, de fapt, nu este atât de greu, dar cred că nu este chiar util să mergi acolo. Deci, când o putem face? Ei bine, de îndată ce există curbură în izofoți. Pentru că dacă izofotul arată așa, dacă îl mut tangent la izofot, tot sunt schimbări. Deci singura problemă este în cazul în care izofotele sunt toate linii drepte, linii drepte paralele. Și într-un alt mod de a gândi, dacă aveți zone în imagine în care există un „colț”, ceva în care izofotul face o întoarcere bruscă - deci aici sunt gradienții de luminozitate. Dacă există o zonă mică în care direcțiile gradienților de luminozitate se schimbă mult, este bine. Pentru că ceea ce ne îngrijorează este că gradienții de luminozitate sunt toți paraleli unul cu celălalt. Asta e situația proastă. Și astfel, în multe scopuri, cum ar fi alinierea și recunoașterea imaginilor, căutăm locuri care sunt „interesante”. Și o modalitate interesantă este să privim curbura izofotului sau, echivalent, schimbarea rapidă a gradienților de luminozitate. Pentru că în alte zone ale imaginii, există mai puține constrângeri. Dacă am o parte a imaginii care arată astfel, singură, nu oferă suficientă constrângere. Acum, dacă lângă ea este o altă zonă a imaginii în care lucrurile arată așa, dacă le am pe amândouă, atunci e în regulă. Dar dacă totul are aceeași direcție a gradientului, nu este satisfăcător. Deci problema temelor, teoretic, va avea loc joi. Și știu că nu am făcut prea multe în acest sens. Așa că dacă aveți probleme cu el, trimiteți-mi un e-mail și s-ar putea să spun ceva care nu oferă răspunsul, dar vă ajută. Și vom merge de acolo. Ceea ce vom face în continuare este să vorbim puțin despre acest concept de câștig de zgomot. Așadar, ideea este că în tot acest timp în spate, ne-am gândit că avem doar pixeli cu opt biți și sunt zgomotoși, iar calculele noastre vor fi slabe, dacă nu acest determinant este mare și așa mai departe. Deci, se acordă multă atenție nu doar unei formule pentru calcularea răspunsului, ci și asigurarea faptului că răspunsul este cu adevărat semnificativ, spre deosebire de faptul că ați luat două numere zgomotoase și le-ați împărțit unul la altul, iar rezultatul nu este foarte previzibil. . Deci, în ceea ce privește câștigul de zgomot, există un mod foarte precis de a vorbi despre asta, care spune că dacă fac o schimbare atât de mare în imagine, care este schimbarea rezultatului? Deci, în acest caz, încerc să obțin viteza mișcării. Cât de mult se va schimba viteza mișcării dacă schimb undeva gradientul de luminozitate, am o măsurătoare greșită, care este ușor defectuoasă? Și bineînțeles, vrem ca asta să nu fie sensibil. Nu vrem să fie foarte sensibil la zgomot. Și așa vom face acest lucru clar în ceea ce privește o transformare unidimensională în care cunoaștem funcția înainte și încercăm să o inversăm și vrem să știm când acea inversare este sensibilă și când nu. Oh, întrebări?