Prostor opazimo v treh razsežnostih, ker ga vidimo prek dveh očes (paralaksa), vendar tudi če zakrijemo eno oko, okolica ne postane ravna. Globino zaznamo tudi drugače, prek senc, gibanja, barv in priučenih izkušenj ter dejstev, da na primer drevo vedno raste iz tal, ne pa obratno.

Pri izdelavi algoritma so uporabili načelo »strojnega« učenja. Algoritem se je sam naučil o globini (kaj je blizu in kaj oddaljeno), orientaciji in legi na 2D-fotografiji na podlagi večjega števila fotografij kompleksa univerze in 3D-podatkov, ki so jih pridobili z laserskim skeniranjem. Na primer, naučil se je, da nenadne spremembe ob robovih običajno pomenijo, da en objekt na fotografiji zakriva drugega, in da so bolj oddaljeni objekti malenkostno bolj zamegljeni in modrikasti od onih bližje.

Algoritem razbije fotografijo na manjše ravnine, ki so del fotografije in imajo enotno barve, svetilnost in druge atribute slike. Te nato primerja med seboj in na primer na podlagi stopnjevanja strukture »slike« (teksture) oceni, kako daleč od izvora (fiktivne točke, kjer je stal fotograf) so in kakšna je njihova orientacija v prostoru. Prednost novega algoritma je v njegovi zmogljivosti, da določi ravnini ne glede na njihove kote in ne zgolj navpičnih in vodoravnih. Zaradi tega lahko izdela tudi model prizora na fotografiji, ki vključuje ravnine različnih orientacij. Na primer zvite veje drevesa.

Tudi ta algoritem, čeprav deluje bolje od obstoječih, ni popoln. Najboljše rezultate pri fotografiji prostora, ne pa podrobnosti objekta ali oseb. V prihodnosti nameravajo vanj vključiti tudi tehnologijo prepoznavanja figure človeka na fotografiji. Tako bo lahko algoritem na podlagi velikosti figure še natančneje določal oddaljenost do delov fotografije.

http://make3d.stanford.edu