краткий обзор с тестированием

Мои цели

Иногда я отправляю свои фотографии на такие сайты, как Shutterstock или Depositphotos. Для лучшей видимости фотографии должны содержать правильные ключевые слова и подпись. У Depositphotos нет инструмента для подсказки ключевых слов. У Shutterstock есть мобильное приложение, которое может волшебным образом предлагать ключевые слова в зависимости от того, что изображено на картинке. Я был очень заинтригован и решил создать скрипт, который будет делать то же самое для всех моих фотографий (и я смогу использовать его с Depositphotos)

Почему облако

Сначала я попробовал использовать OpenCV - это библиотека с открытым исходным кодом для компьютерного зрения. Эта библиотека работает следующим образом: вам нужно предоставить некоторые параметры (матрицу), которые определяют, что искать для изображения и самого изображения. Я начал искать эти параметры, но нашел только распознавание простой геометрии и человеческих лиц. Где найти подходящую матрицу или как создать ее самому, было непонятно. Итак, почему облако? Так проще и быстрее.

Когнитивные службы Microsoft

Отозвал сервис Microsoft из-за сайта https://how-old.net. Допустим, вирусный эффект оказался успешным. Итак, Microsoft переименовала экспериментальный Project Oxford в Cognitive Services и теперь предлагает платную услугу. Помимо компьютерного зрения, существует множество различных API, таких как преобразование текста в речь, поиск, распознавание лиц. Регистрация прошла довольно гладко, и я смог протестировать свои фотографии всего через несколько минут. Приятная особенность MS Cognitive Service - возможность создания подписи к изображению.

Google Cloud Vision

Google также предоставляет услуги компьютерного зрения как часть большой облачной платформы Google. Значит, все посерьезнее и сложнее. Регистрация действительно долгая и требует кредитной карты. Приятной особенностью облака Google является обнаружение ориентира - оно может находить известные места на картинке и давать им имена.

Clarifai

Это 4-летний стартап из Нью-Йорка. Их основная и единственная услуга - облачное компьютерное зрение. Они заняли 5 мест на конкурсе ImageNet (это своего рода Олимпийские игры по компьютерному зрению). Действительно плавная регистрация и отличный пользовательский интерфейс. Кроме того, у них действительно точный механизм распознавания.

Как я тестировал

У всех этих трех сервисов есть онлайн-демонстрация, где вы можете разместить свое изображение и сразу же получить результаты. Я протестировал его с 4 разными типами изображений: крупным планом, городским пейзажем, природой и отражениями. Вот некоторые результаты от Microsoft:

Итак, Microsoft хорошо справилась с большинством изображений. Он предоставляет несколько приятных подписей и небольшое количество более-менее связанных тегов для всех изображений, кроме изображения с фонарем. Далее идет Google:

Вы можете увидеть здесь еще несколько тегов, тесно связанных с изображениями. Достопримечательностей нет, но эта услуга тоже может их предоставить (например, Колизей или Эйфелева башня). И у гугла тоже проблема с распознаванием картинки с фонарем. Далее идет Clarifai:

И Clarifai API показывает лучшие результаты для этих наборов фотографий. Как видите, он предоставляет большое количество тесно связанных тегов, а также хорошо распознается по фотографии фонарей.

Таблица сравнения

Из-за сложных требований к регистрации и кредитной карте, а также нечеткого поведения квот я решил не использовать видение Google Cloud. Я имею дело с тегами, связанными с географией, просто используя бесплатный API геокодирования.
Отсутствие официального SDK может быть легко покрыто неофициальными. И в целом это просто HTTP-запросы.

Дополнительные услуги

Я не пробовал Amazon Rekognition, потому что для него требуется регистрация и кредитная карта без онлайн-демонстрации. IBM Alchemy не прошла мой первоначальный тест. Он предоставляет очень небольшое количество тегов, и иногда теги не связаны между собой.
Существует также множество различных веб-сервисов, которые предлагают компьютерное зрение, я нашел несколько списков в блоге Mashape, большинство из них мертвы или требуют сложной регистрации без онлайн-демонстрацию или просто платную услугу.

Вывод

Начать работу с компьютерным зрением теперь действительно просто. Чаще всего требуется регистрация, а затем запросы POST со специальным заголовком. REST API с форматом ответа JSON. Но, к сожалению, это не на 100% правильно. Думаю, даже не 90%. В моем случае результаты должны быть проверены человеком. Для других случаев, таких как обнаружение лиц или контент для взрослых, он работает намного лучше.

Надеюсь, вам понравился этот небольшой обзор. Если это так, пожалуйста, не медлите и нажмите кнопку с сердечком. Спасибо!

Полезные ссылки