Chihuahua ili muffin? Moja potraga za najboljim API-jem za računalni vid

Ovaj popularni internetski mem pokazuje demonstrirajuću alarmantnu sličnost između čivava i kiflica. Te se slike često dijele u prezentacijama u industriji umjetne inteligencije (AI) (uključujući i mene).

Ali jedno pitanje na koje nisam vidio da je itko odgovorio je koliko je suvremena umjetna inteligencija dobra u uklanjanju nesigurnosti slike koja bi mogla nalikovati čivavi ili kifli? Radi vaše zabave i obrazovanja danas ću istražiti ovo pitanje.

Binarna klasifikacija moguća je otkako je izumljen perceptronski algoritam 1957. Ako mislite da je AI sada hiper, New York Times izvijestio je 1958. da je izum početak računala koje će „moći hodati, razgovarati, vidjeti, pisati, reproducirati se i biti svjestan svog postojanja. " Iako su perceptronski strojevi, poput Mark 1, dizajnirani za prepoznavanje slike, u stvarnosti mogu prepoznati samo uzorke koji se linearno mogu razdvojiti. To ih sprječava da nauče složene obrasce koji se nalaze u većini vizualnih medija.

Nije ni čudo što je svijet bio razočaran i nastupila je AI zima. Od tada su višeslojne percepcije (popularne 1980-ih) i konvolucijske neuronske mreže (pionir Yann LeCun 1998) uvelike nadmašile jednoslojne percepcije u zadacima prepoznavanja slika.

S velikim označenim skupovima podataka poput ImageNet-a i moćnim GPU računarstvom, naprednije arhitekture neuronske mreže poput AlexNet, VGG, Inception i ResNet postigle su vrhunske performanse u računalnom vidu.

API-ji za prepoznavanje računalnog vida i slike

Ako ste inženjer strojnog učenja, lako je eksperimentirati i fino podesiti ove modele pomoću unaprijed obučenih modela i utega u Keras / Tensorflow ili PyTorch. Ako vam nije ugodno samostalno prilagođavati neuronske mreže, imate sreće. Gotovo svi vodeći tehnološki giganti i perspektivne startupe tvrde da "demokratiziraju AI" nudeći API-je za računalni vid koji su jednostavni za upotrebu.

Koji je najbolji? Da biste odgovorili na ovo pitanje, morat ćete jasno definirati svoje poslovne ciljeve, slučajeve upotrebe proizvoda, testirati skupove podataka i mjerne podatke uspjeha da biste mogli međusobno uspoređivati ​​rješenja.

Umjesto ozbiljnog ispitivanja, možemo barem steći osjećaj za različito ponašanje svake platforme na visokoj razini testirajući ih s našim problemom razlikovanja čivave od kifla.

Provođenje testa

Da bih to učinio, podijelio sam kanonski mem na 16 testnih slika. Tada koristim otvoreni izvorni kod koji je napisao inženjer Gaurav Oberoi za objedinjavanje rezultata iz različitih API-ja. Svaka slika progurana je kroz šest gore navedenih API-ja, koji vraćaju oznake visoke pouzdanosti kao svoja predviđanja. Izuzetak su Microsoft koji vraća i naljepnice i natpis i Cloudsight koji koristi hibridnu tehnologiju AI da bi vratio samo jedan naslov. Zbog toga Cloudsight može vratiti jezivo točne opise za složene slike, ali obrada im traje 10–20 puta duže.

Ispod je primjer rezultata. Da biste vidjeli rezultate svih 16 slika čivave naspram muffina, kliknite ovdje.

Koliko su dobro prošli API-ji? Osim Microsofta, koji je ovu kiflu zamijenio za plišanu životinju, svaki drugi API prepoznao je da je slika hrana. Ali nije bilo dogovora oko toga je li hrana kruh, kolač, kolačići ili kiflice. Google je bio jedini API koji je muffin uspješno prepoznao kao naljepnicu koja je najvjerojatnija.

Pogledajmo primjer čivave.

Opet, API-ji su se prilično dobro snašli. Svi su shvatili da je slika pas, iako je nekolicina njih propustila točnu pasminu.

Bilo je ipak određenih neuspjeha. Microsoft je tri puta odsječno vratio očito pogrešan naslov, opisujući kiflu ili kao plišanu životinju ili kao medvjedića.

Google je bio konačni identifikator muffina, vrativši "muffin" kao najveću oznaku pouzdanosti za 6 od 7 slika muffina u testnom setu. Ostali API-ji nisu vratili "muffin" kao prvu oznaku za bilo koju sliku muffina, već su vratili manje relevantne oznake poput "kruh", "cookie" ili "cupcake".

Međutim, unatoč nizu uspjeha, Google nije uspio na ovoj specifičnoj slici kiflice, vrativši "njušku" i "skupinu pasmina pasa" kao predviđanja.

Čak i najnaprednije svjetske platforme za strojno učenje spotaknuti su našom facatičnom čivavom nasuprot muffin izazovu. Ljudsko malo dijete pobijeđuje duboko učenje kad je potrebno shvatiti što je hrana, a što Fido.

Pa koji je API za računalni vid najbolji?

Da biste saznali odgovor na ovu neuhvatljivu misteriju, morat ćete prijeći na TOPBOTS kako biste u cijelosti pročitali izvorni članak!