Чихуахуа чи булочка? Мій пошук найкращого API комп’ютерного зору

Цей популярний мем в Інтернеті демонструє тривожну схожість між чихуахуа та кексами. Ці зображення часто використовуються в презентаціях у галузі штучного інтелекту (ШІ) (включаючи мене самого).

Але на одне запитання, на яке я не бачив відповіді, - наскільки сучасний ШІ добре усуває невизначеність зображення, яке може нагадувати чихуахуа чи булочку? Для вашої розваги та освіти я сьогодні досліджу це питання.

Бінарна класифікація стала можливою з моменту винайдення алгоритму персептрону в 1957 році. Якщо ви вважаєте, що ШІ зараз роздутий, New York Times повідомила в 1958 році, що винахід став початком роботи комп'ютера, який "міг би ходити, говорити, бачити, писати, відтворювати себе та усвідомлювати своє існування ". Хоча машини perceptron, як Mark 1, були розроблені для розпізнавання зображень, насправді вони можуть розпізнавати лише лінійно відокремлювані шаблони. Це заважає їм вивчати складні зразки, знайдені в більшості візуальних медіа.

Не дивно, що світ розчарувався і настала зима ШІ. З тих пір багатошарове сприйняття (популярне у 1980-х роках) та згорткові нейронні мережі (піонером якого був Янн ЛеКун у 1998 р.) Значно перевершували одношарове сприйняття в задачах розпізнавання зображень.

Завдяки великим маркованим наборам даних, таким як ImageNet та потужним обчислювальним процесорам, більш досконалі архітектури нейронних мереж, такі як AlexNet, VGG, Inception та ResNet, досягли найсучасніших показників у комп'ютерному зорі.

API для комп'ютерного зору та розпізнавання зображень

Якщо ви інженер машинного навчання, з ними легко експериментувати та допрацьовувати, використовуючи попередньо навчені моделі та ваги в Keras / Tensorflow або PyTorch. Якщо вам не зручно самостійно налаштовувати нейронні мережі, вам пощастило. Практично всі провідні технологічні гіганти та перспективні стартапи заявляють про "демократизацію ШІ", пропонуючи прості у використанні API для комп'ютерного зору.

Який з них найкращий? Щоб відповісти на це запитання, вам слід чітко визначити свої бізнес-цілі, випадки використання продукту, тестувати набори даних та показники успіху, перш ніж ви зможете порівняти рішення між собою.

Замість серйозного розслідування ми можемо принаймні зрозуміти на різних рівнях поведінку кожної платформи, протестувавши їх за допомогою нашої іграшкової проблеми розрізнення чихуахуа від булочки.

Проведення тесту

Для цього я розділив канонічний мем на 16 тестових зображень. Потім я використовую відкритий вихідний код, написаний інженером Гауравом Оберої, для консолідації результатів з різних API. Кожне зображення просувається через шість перелічених вище API, які повертають мітки високої достовірності як свої прогнози. Виняток становлять Microsoft, яка повертає як мітки, так і підпис, та Cloudsight, яка використовує гібридну технологію AI людини, щоб повернути лише один підпис. Ось чому Cloudsight може повертати моторошно точні підписи для складних зображень, але обробка займає в 10–20 разів більше.

Нижче наведено приклад результату. Щоб побачити результати всіх 16 зображень чихуахуа проти кексів, натисніть тут.

Наскільки добре працювали API? За винятком Microsoft, який переплутав цю здобу з опудалом, кожен інший API визнав, що зображення було їжею. Але не було домовленості про те, чи є їжа хлібом, пирогом, печивом чи булочками. Google був єдиним API, який успішно визначив булочку як найвірогідніший ярлик.

Давайте розглянемо приклад чихуахуа.

Знову ж таки, API спрацювали досить добре. Всі вони зрозуміли, що на зображенні собака, хоча деякі з них пропустили точну породу.

Однак були певні невдачі. Корпорація Майкрософт повернула відверто неправильний заголовок три рази, описуючи здобу або як опудало, або як плюшевого ведмедика.

Google був остаточним ідентифікатором булочок, повертаючи "булочку" як найвищу марку довіри для 6 із 7 зображень булочок у тестовому наборі. Інші API не повернули “булочку” як першу мітку для будь-якого зображення булочки, а натомість повернули менш відповідні мітки, такі як “хліб”, “печиво” чи “кекс”.

Однак, незважаючи на низку успіхів, Google справді зазнав невдачі щодо цього конкретного зображення булочки, повернувши "морду" та "групу породи собак" як передбачення.

Навіть найсучасніші у світі платформи машинного навчання спокушаються нашим жартівливим чихуахуа проти випічки. Людський малюк перевершує глибокі знання, коли доводиться з’ясовувати, що таке їжа, а що - Фідо.

То який API для комп’ютерного зору найкращий?

Для того, щоб дізнатись відповідь на цю невловиму таємницю, вам доведеться перейти до TOPBOTS, щоб прочитати оригінальну статтю повністю!