Chihuahua eller muffin? Min søgen efter den bedste computer vision API

Denne populære internet-meme demonstrerer den alarmerende lighed, der deles mellem chihuahuas og muffins. Disse billeder deles ofte i præsentationer i kunstig intelligens (AI) -branchen (inklusive mig selv).

Men et spørgsmål, jeg ikke har set nogen besvare, er, hvor god ER moderne AI til at fjerne usikkerheden ved et billede, der kan ligne en chihuahua eller en muffin? For din underholdning og uddannelse undersøger jeg dette spørgsmål i dag.

Binær klassificering har været mulig, siden perceptron-algoritmen blev opfundet i 1957. Hvis du tror, ​​at AI er hypet nu, rapporterede New York Times i 1958, at opfindelsen var begyndelsen på en computer, der ville ”være i stand til at gå, tale, se, skriv, reproducer sig selv og vær opmærksom på dets eksistens. ” Mens perceptron-maskiner, som Mark 1, var designet til billedgenkendelse, kan de i virkeligheden kun skelne mønstre, der kan adskilles lineært. Dette forhindrer dem i at lære de komplekse mønstre, der findes i de fleste visuelle medier.

Ikke underligt, at verden blev desillusioneret, og en AI-vinter fulgte. Siden da har flerlagsopfattelser (populær i 1980'erne) og sammenfaldende neurale netværk (banebrydende af Yann LeCun i 1998) i høj grad overgået opfattelse af enkeltlag i billedgenkendelsesopgaver.

Med store mærkede datasæt som ImageNet og kraftfuld GPU-computing har mere avancerede neurale netværksarkitekturer som AlexNet, VGG, Inception og ResNet opnået avanceret ydeevne inden for computersyn.

API'er til computersyn og billedgenkendelse

Hvis du er maskinlæringsingeniør, er det let at eksperimentere med og finjustere disse modeller ved hjælp af foruddannede modeller og vægte i enten Keras / Tensorflow eller PyTorch. Hvis du ikke har det godt med at tilpasse neurale netværk alene, har du held og lykke. Næsten alle de førende teknologigiganter og lovende startups hævder at "demokratisere AI" ved at tilbyde brugervenlige computersyn-API'er.

Hvilken er den bedste? For at besvare dette spørgsmål bliver du nødt til klart at definere dine forretningsmål, produktanvendelsessager, testdatasæt og succesmålinger, før du kan sammenligne løsningerne med hinanden.

I stedet for en seriøs undersøgelse kan vi i det mindste få en fornemmelse af de forskellige opførsler på hver platform på højt niveau ved at teste dem med vores legetøjsproblem med at differentiere en chihuahua fra en muffin.

Gennemførelse af testen

For at gøre dette delte jeg det kanoniske meme i 16 testbilleder. Derefter bruger jeg open source-kode skrevet af ingeniør Gaurav Oberoi til at konsolidere resultater fra de forskellige API'er. Hvert billede skubbes gennem de seks API'er, der er anført ovenfor, som returnerer højtillidsetiketter som deres forudsigelser. Undtagelserne er Microsoft, som returnerer både etiketter og en billedtekst, og Cloudsight, der bruger human-AI hybridteknologi til kun at returnere en enkelt billedtekst. Derfor kan Cloudsight returnere uhyggeligt nøjagtige billedtekster til komplekse billeder, men det tager 10-20 gange længere tid at behandle det.

Nedenfor er et eksempel på output. Klik her for at se resultaterne af alle 16 chihuahua versus muffin billeder.

Hvor godt klarede API'erne sig? Bortset fra Microsoft, der forvekslede denne muffin med et udstoppet dyr, anerkendte enhver anden API, at billedet var mad. Men der var ikke enighed om, hvorvidt maden var brød, kage, småkager eller boller. Google var den eneste API, der med succes identificerede muffin som den mest sandsynlige etiket.

Lad os se på et chihuahua-eksempel.

Igen klarede API'erne sig ret godt. Alle indså, at billedet er en hund, selvom nogle få af dem savnede den nøjagtige race.

Der var dog konkrete fejl. Microsoft returnerede en åbenlyst forkert billedtekst tre separate gange og beskrev muffinen som enten et udstoppet dyr eller en bamse.

Google var den ultimative muffinsidentifikator og returnerede "muffin" som sin højeste tillidsmærke for 6 ud af de 7 muffinsbilleder i testsættet. De andre API'er returnerede ikke "muffin" som den første etiket for noget muffinbillede, men returnerede i stedet mindre relevante etiketter som "brød", "cookie" eller "cupcake."

På trods af sin række succeser mislykkedes Google dog med dette specifikke muffinbillede og returnerede "snude" og "hundeavlgruppe" som forudsigelser.

Selv verdens mest avancerede maskinlæringsplatforme udløses af vores facetterede chihuahua versus muffin-udfordring. Et menneskeligt lille barn slår dyb læring, når det kommer til at finde ud af, hvad der er mad og hvad der er Fido.

Så hvilken computer vision API er den bedste?

For at finde ud af svaret på dette undvigende mysterium er du nødt til at gå over til TOPBOTS for at læse den originale artikel i sin helhed!