Чихуахуа или кифла? Моето търсене на най-добрия API за компютърно зрение

Този популярен интернет мем демонстрира тревожната прилика, споделена между чихуахуа и кифли. Тези изображения често се споделят в презентации в индустрията за изкуствен интелект (AI) (включително аз).

Но на един въпрос, на който не съм видял някой да отговори, е колко добър е съвременният ИИ за премахване на несигурността на изображение, което може да наподобява чихуахуа или кифла? За ваше забавление и образование днес ще разследвам този въпрос.

Бинарната класификация е възможна от изобретяването на перцептронния алгоритъм през 1957 г. Ако смятате, че AI е хипнотизиран сега, New York Times съобщава през 1958 г., че изобретението е началото на компютър, който „ще може да ходи, да говори, да вижда, пишете, възпроизвеждайте себе си и съзнавайте съществуването му. " Докато машините на perceptron, като Mark 1, са проектирани за разпознаване на изображения, в действителност те могат да различават само модели, които са линейно отделими. Това им пречи да научат сложните модели, открити в повечето визуални медии.

Нищо чудно, че светът беше разочарован и настъпи AI зима. Оттогава многослойните възприятия (популярни през 80-те години) и конволюционните невронни мрежи (пионери на Ян ЛеКун през 1998 г.) значително надминават еднослойните възприятия в задачите за разпознаване на изображения.

С големи етикетирани набори от данни като ImageNet и мощни GPU изчисления, по-усъвършенстваните архитектури на невронни мрежи като AlexNet, VGG, Inception и ResNet са постигнали най-съвременните резултати в компютърното зрение.

API за компютърно зрение и разпознаване на изображения

Ако сте инженер по машинно обучение, е лесно да експериментирате и да ги прецизирате, като използвате предварително обучени модели и тежести в Keras / Tensorflow или PyTorch. Ако не ви е удобно сами да променяте невронните мрежи, имате късмет. На практика всички водещи технологични гиганти и обещаващи стартиращи компании твърдят, че „демократизират ИИ“, като предлагат лесни за използване API за компютърно зрение.

Коя е най-добрата? За да отговорите на този въпрос, ще трябва да дефинирате ясно своите бизнес цели, случаи на използване на продукти, тестови набори от данни и показатели за успех, преди да можете да сравнявате решенията помежду си.

Вместо сериозно разследване, ние можем поне да получим усещане на високо ниво за различните поведения на всяка платформа, като ги тестваме с нашия проблем с играчките за разграничаване на чихуахуа от кифла.

Провеждане на теста

За да направя това, разделих каноничния мем на 16 тестови изображения. След това използвам код с отворен код, написан от инженера Gaurav Oberoi, за да консолидирам резултатите от различните API. Всяко изображение се прокарва през шестте API, изброени по-горе, които връщат етикети с висока степен на доверие като свои прогнози. Изключение правят Microsoft, който връща както етикети, така и надпис, и Cloudsight, който използва хибридна технология човек-AI, за да върне само един надпис. Ето защо Cloudsight може да връща зловещо точни надписи за сложни изображения, но обработката отнема 10–20 пъти повече.

По-долу е даден пример за изхода. За да видите резултатите от всички 16 изображения на чихуахуа спрямо кифли, кликнете тук.

Колко добре са се справили API-тата? Освен Microsoft, който обърка тази кифла с плюшено животно, всеки друг API разпознаваше, че изображението е храна. Но нямаше споразумение дали храната е хляб, торта, бисквитки или кифли. Google беше единственият API, който успешно идентифицира кифла като етикет, който е най-вероятен.

Нека разгледаме пример за чихуахуа.

Отново API-тата се справиха доста добре. Всички те осъзнаха, че изображението е куче, въпреки че няколко от тях са пропуснали точната порода.

Имаше обаче определени неуспехи. Microsoft върна явно грешен надпис три отделни пъти, описвайки кифлата или като плюшено животно, или като мече.

Google беше най-добрият идентификатор за кифли, връщайки „кифла“ като най-високия си етикет за доверие за 6 от 7-те изображения за кифли в тестовия набор. Другите приложни програмни интерфейси не връщат „кифла“ като първи етикет за която и да е снимка на кифла, а вместо това връщат по-малко подходящи етикети като „хляб“, „бисквитка“ или „кекс“.

Въпреки поредицата от успехи обаче, Google не успя да постигне това специфично изображение на кифла, връщайки „муцуна“ и „група породи кучета“ като прогнози.

Дори и най-напредналите платформи за машинно обучение в света се спъват от нашето фалшиво предизвикателство чихуахуа срещу кифла. Човешко малко дете бие дълбоко учене, когато трябва да разбере какво е храна и какво Fido.

И така, кой API за компютърно зрение е най-добрият?

За да разберете отговора на тази неуловима загадка, ще трябва да се насочите към TOPBOTS, за да прочетете оригиналната статия изцяло!