Šta je računarska vizija?

Računarska vizija jedna je od najpopularnijih oblasti računarske nauke i istraživanja veštačke inteligencije, ali još uvek ne može da se nadmeće sa snagom ljudskog oka. Evo i zašto. Kada pogledate neku sliku, vidite ljude, predmete i zgrade. Nešto na slici vam budi sećanja iz prošlih događaja ili nekih sličnih situacija sa kojima ste se susreli. Ljudi na slici su, recimo, okrenuti u istom smeru i drže telefone, što nam govori da je na slici predstavljena neka vrsta događaja. Osoba koja stoji u blizini kamere nosi majicu koja nagoveštava šta bi događaj mogao da bude. Dok gledate ostale sitne detalje, iz slike možete dokučiti mnogo više informacija. Ipak, računaru, takva slika – kao i sve slike – predstavlja niz piksela, numeričkih vrednosti koje predstavljaju nijanse crvene, zelene i plave. Jedan od izazova sa kojim su se računarski naučnici suočili od 1950-ih godina jeste stvaranje mašina koje mogu tumačiti fotografije i video-snimke onako kao što to čine ljudi. Oblast računarske vizije postala je jedno od najzanimljivijih područja istraživanja u računarskoj nauci i veštačkoj inteligenciji.

Nekoliko decenija kasnije, postigli smo ogroman napredak u pravljenju softvera koji može da razume i opiše sadržaj vizuelnih podataka, ali takođe smo otkrili i koliko još moramo da radimo pre nego što shvatimo i uspemo da kopiramo jednu od osnovnih funkcija ljudskog mozga.

Kratka istorija računarske vizije

Simor Papert i Marvin Minski, dva pionira veštačke inteligencije, pokrenuli su, 1966. godine projekat Summer Vision, na kome je desetoro ljudi dva meseca naporno radilo na stvaranju računarskog sistema koji bi mogao da prepozna objekte na slikama. Da bi obavio zadatak, računarski program je morao da utvrdi koji pikseli pripadaju kom objektu. To je problem koji ljudski vid, potpomognut našim ogromnim znanjem o svetu i milijardama godina evolucije, lako rešava. Ipak, za računare, čiji se svet sastoji samo od brojeva, to je težak zadatak. U vreme tog projekta, dominantna grana veštačke inteligencije bila je simbolička veštačka inteligencija, poznata i kao veštačka inteligencija zasnovana na pravilima. Naime, programeri su ručno odredili pravila za otkrivanje objekata na slikama. Međutim, problem je bio u tome što su se predmeti na slikama mogli pojaviti iz različitih uglova i pri različitim osvetljenjima. Objekat se može pojaviti na raznim pozadinama ili biti delimično sakriven iza drugih objekata. Svaki od ovih scenarija stvara različite vrednosti piksela i praktično je nemoguće stvoriti ručna pravila za svaki od njih.

Naravno, projekat Summer Vision nije daleko dogurao i dao je ograničene rezultate. Nekoliko godina kasnije, 1979. godine, japanski naučnik Kunihiko Fukušima predložio je neokognitron (hijerarhijski model neuronske mreže), sistem računarske vizije zasnovan na istraživanjima neurologije urađenim na ljudskom vizuelnom korteksu. Iako Fukušimin neokognitron nije uspeo da izvrši nijedan složeni vizuelni zadatak, on je postavio temelje za jedan od najvažnijih događaja u istoriji računarske vizije.
Revolucija dubokog učenja

Tokom 1980-ih, francuski informatičar Jan LeCun predstavio je konvolutivnu neuronsku mrežu (CNN), sistem veštačke inteligencije inspirisan Fukušiminim neokognitrom. CNN sadrži više slojeva veštačkih neurona, matematičkih komponenti koje otprilike imitiraju rad njihovih bioloških parnjaka. Kada konovlutivna neuronska mreža obrađuje sliku, svaki od njenih slojeva izvlači specifične karakteristike iz piksela. Prvi sloj otkriva vrlo osnovne stvari, poput vertikalnih i horizontalnih ivica. Kako se krećete dublje u neuronsku mrežu, slojevi otkrivaju složenije karakteristike, uključujući uglove i oblike. Završni slojevi CNN- a otkrivaju specifične stvari kao što su lica, vrata i automobili. Izlazni sloj CNN-a pruža tabelu brojčanih vrednosti koje predstavljaju verovatnoću da je na slici otkriven određeni objekat.

LeCunove konvolutivne neuronske mreže bile su sjajne i mnogo su obećavale, ali usporio ih je ozbiljan problem. Njihovo podešavanje i upotreba zahtevali su ogromne količine podataka i računarskih resursa koji tada nisu bili dostupni. CNN su na kraju pronašle komercijalnu upotrebu u nekoliko ograničenih domena, poput bankarstva i poštanskih usluga, gde su korišćene za obradu rukom pisanih cifara i slova na kovertama i čekovima. Ipak, što se tiče otkrivanja objekata, bili su skoro neupotrebljivi i ustupili su mesto drugim tehnikama mašinskog učenja.

Tokom 2012. godine, istraživači veštačke inteligencije iz Toronta razvili su AlexNet, konvolutivnu neuronsku mrežu koja je dominirala u popularnom takmičenju u prepoznavanju slika ImageNet. Pobeda sistema AlexNet pokazala je da je, uz povećanu raspoloživost podataka i računarskih resursa, možda došlo vreme da se ponovo okrenemo konvolutivnim neuronskim mrežama. Događaj je oživeo interesovanje za njih i pokrenuo revoluciju u dubokom učenju – grani mašinskog učenja koja obuhvata upotrebu višeslojnih veštačkih neuronskih mreža.

Zahvaljujući napretku konvolutivnih neuronskih mreža i dubokom učenju od tada, računarska vizija je brzo napredovala.

Primene računarske vizije

Mnoge aplikacije koje svakodnevno koristite oslanjaju se na tehnologiju računarske vizije. Pretraživač Gugl ga koristi za pomoć u pretraživanju objekata i scena – recimo, „psa“ ili „zalaska sunca“ – u vašoj biblioteci Slika. Druge kompanije koriste računarsku viziju da bi poboljšale slike. Jedan primer je Adobe Lightroom CC, koji koristi algoritme mašinskog učenja za poboljšanje detalja na uvećanim slikama. Tradicionalno uvećavanje slika koristi tehnike interpolacije da bi obojio uvećana područja, a Lightroom koristi računarsku viziju za otkrivanje objekata u slikama i izoštravanje njihovih karakteristika prilikom uvećanja.

Jedna oblast koja je postigla izuzetan napredak zahvaljujući napretku u računarskoj viziji je prepoznavanje lica. Kompanija „Epl“ koristi algoritme za prepoznavanje lica kako bi otključala ajfon uređaje. Fejsbuk koristi prepoznavanje lica kako bi otkrila korisnike na slikama koje objavljujete na mreži (mada nisu svi time oduševljeni). U Kini, mnoge prodavnice sada koriste tehnologiju plaćanja putem prepoznavanja lica, oslobađajući svoje kupce od potrebe da posegnu u džepove. Napredak u tehnologiji prepoznavanja lica takođe je izazvao zabrinutost među zagovornicima zaštite privatnosti i prava, premda ga državne vlasti u različitim zemljama koriste za nadzor.

Moderacija, odnosno, izmena sadržaja još je jedna važna primena računarske vizije. Kompanije, kao što je „Fejsbuk“ moraju da pregledaju milijarde objava svaki dan i uklone slike i video-zapise koji sadrže nasilje, ekstremizam ili pornografiju. Većina društvenih mreža koristi algoritme dubokog učenja za analizu objava i označavanje onih koji imaju zabranjeni sadržaj.

Prelaskom u specijalizovanije oblasti, računarska vizija brzo postaje nezamenjivo sredstvo u medicini. Algoritmi dubokog učenja pokazuju impresivnu tačnost prilikom analize medicinskih slika. Bolnice i univerziteti koriste računarsku viziju za predviđanje različitih vrsta raka pregledom rendgenskih snimaka i slika dobijenih magnetnom rezonancom. Autonomna vozila takođe se u velikoj meri oslanjaju na računarsku viziju kako bi shvatila svoje okruženje. Algoritmi dubokog učenja analiziraju video-snimke sa kamera instaliranih na vozilu i otkrivaju ljude, automobile, puteve i druge predmete kako bi pomogli automobilu da se kreće u svom okruženju.

Ograničenja računarske vizije

Postojeći sistemi računarske vizije obavljaju pristojan posao u klasifikovanju slika i lokalizovanju objekata na fotografijama kada se obučavaju na dovoljnom broju primera. Ipak, u suštini, algoritmi dubokog učenja koji pokreću aplikacije za računarsku viziju bave se uparivanjem uzoraka piksela. Oni ne razumeju šta se događa na slikama. Razumevanje odnosa ljudi i objekata u vizuelnim podacima zahteva zdrav razum i pozadinsko znanje. Zbog toga algoritmi računarske vizije koji se koriste u društvenim mrežama mogu da otkriju samo sadržaj koji je označen kao ’golotinja’, ali često nailaze na problem kad treba da utvrde razliku između ’nevine’ golotinje (dojenje ili renesansna umetnost) i zabranjenog sadržaja, poput pornografije. Isto tako, ti algoritmi teško mogu da utvrde razliku između ekstremističke propagande i dokumentaraca o ekstremističkim grupama.

Ljudi mogu da iskoriste svoje ogromno znanje o svetu kako bi popunili praznine kada se suoče sa situacijom koju ranije nisu videli. Za razliku od ljudi, algoritmi računarske vizije moraju biti temeljno poučeni o vrstama objekata koje moraju da otkriju. Čim njihovo okruženje sadrži stvari koje odstupaju od njihovih primera za obuku, počinju da deluju neracionalno, kao što nisu uspeli da otkriju vozila hitne pomoći parkirana na raznim lokacijama.

Za sada je jedino rešenje za rešavanje tih problema obuka algoritama veštačke inteligencije na sve većem broju primera, u nadi da će dodatni podaci pokriti svaku situaciju sa kojom se ona suoči. Ipak, iskustvo pokazuje da će bez situacione svesti uvek postojati neočekivani slučajevi – retke situacije koje zbunjuju algoritam veštačke inteligencije.

Mnogi stručnjaci veruju da ćemo pravu računarsku viziju postići tek kada stvorimo opštu veštačku inteligenciju, koja može da reši probleme na isti način kao i ljudi. Izgleda da vizuelnu inteligenciju nije lako odvojiti od ostatka inteligencije, posebno opšteg znanja, apstrakcije i jezika. Pored toga, mogli bismo da kažemo da se znanje potrebno za ljudsku vizuelnu inteligenciju ne može naučiti iz miliona slika preuzetih sa interneta, već se mora, na neki način, iskusiti u stvarnom svetu.“

5675-sta-je-racunarska-vizija