Как стать автором
Обновить

Google Cloud Vision API‎. Будущее Computer Vision as a service настало?

Время на прочтение 8 мин
Количество просмотров 39K
Всего голосов 44: ↑41 и ↓3 +38
Комментарии 26

Комментарии 26

Усадьба-пионерлагерь затерянная между Москвой и Питером недалеко от Боровичей.
Как он это делает, не знаю


У Гугла большая база фотографий Panoramio. В одно время они тестировали функцию Look Around, когда на разных фото определялся один и тот же объект и можно было «перелетать» из фото в фото, осматривая объект с разных ракурсов.
Скорее всего используют базу Ингресс
картинка усадьбы находится Гуглом на mapio.net
И еще они собирали фотографии порталов в Ingress с привязкой к GPS.
Я думаю, что они вообще все фото которые с геолокацией нашли — используют.
Есть ещё один домысел, все что google распознает «под сомнением», а обрабатывают это все дело, наверняка, генетические алгоритмы — потом прилетает пользователям в виде капчи и вуаля, распознование улучшено.
Почти уверен что ГА там и не пахнет =)
А вот, кстати, да: если мэйлру внедрит распознавание фоток под видом капчи, то смогут стать лидерами на этом рынке =))
По поводу текстов: cuneiform (бесплатная библиотека) работает примерно на том же уровне, что и гугл в ваших примерах.
Как он это делает, не знаю.

С помощью таких проектов как:
https://www.google.com/streetview/understand/
или
https://www.ingress.com/
Гугл получил неплохую базу данных с изображениями со всего мира…
Кстати вы не проверяли нет ли у этих фотографий geo-тегов?
Проверял. Почти все фото мои с фотоаппарата который о таком не знает.

Чет dlib подозрительно хорошо работает.
Что у них там сейчас используется для детектирования сейчас? Куча каскадов сразу, или они уже на сетки перелезли? (один каскад вряд ли сможет так уверено детектировать сильно повернутые головы, а dlib судя по приведенным картинкам справляется с этой задачей)

У них только про HOG написано.
Если честно, меня немного его качество работы тоже удивило. С другой стороны на этом вот снимке dlib раза в 3-4 меньше лиц чем Google находит — https://hsto.org/files/68e/849/43e/68e84943e36c498a89f4532c374eaf95.jpg

Глянул исходники dlib'а, короче говоря они там юзают сразу 5 детекторов на HOG фичах: фронтальный, рожа слева, рожа справа, фронтально с поворотом рожи направо, фронтально с поворотом рожи налево (по градусам там что-то типа: 0, ±45, ±90). Сам пайплайн стандартный: строят пирамиду, по ней строят фичи, а потом бегут по ним скользящим окном и SVM'ом классифицируют. Не понятно только на каких базах тренировались.

У них там не «стандартный» HOG+Linear SVM как в https://lear.inrialpes.fr/people/triggs/pubs/Dalal-cvpr05.pdf, а HOG+Structured SVM https://arxiv.org/pdf/1502.00046v1.pdf И там не надо делать hard negative mining и non-maximum suppression.
И там не надо делать hard negative mining и non-maximum suppression.

Эмм… а можно с этого места поподробней?
з.ы. а как по качеству оно соотносится с подходами, на основе ансамблей деревьев? Ибо они без NMS и HNM жить не могут...

«тестил» Vision API (Label Detection), единственный минус — медленно: запрос/ответ 140 картинок занимает 14000 мс.
Поскольку вопрос по расспознаванию номеров в статье поднимается,
а open source вариантов у нас все еще нет, решил поделится написанной (и сложенной в чулан)
расспознавалкой номерных знаков.

Брать тут https://bitbucket.org/neird/alpr.git.
Автор ответственности не несет и все такое.

Система была написана для целей логирования номерных знаков на пропусных пунктах парковок.
Код стоит рассматривать как тестовый прототип заслуживающий переписывания.
Тем не менее он рабочий и давал точность расспознавания на тестовом датасете (нет не поделюсь)
порядка 90-95% (по схеме правильно/неправильно).
Neird, подскажи есть ли дока какая-нибудь к этой распознав?
Как автор скажу: нет и не будет. Проект из категории 'выкинуть жалко' поэтому 'подарим сообществу'.

Реально это библиотека которой на вход дается картинка на выход она дает номер.
'Пример' использования это autonum.py который читает видеопоток поток указанный в autonum.cfg и по получению get в консоль, распознает и выдает номер на текущем кадре.

Попробуйте эти тесты с MS Cognitive Services: https://www.microsoft.com/cognitive-services/en-us/computer-vision-api (поскрольте там на странице разные сервисы, к примеру, первый определяет контент по фото и справился куда лучше чем гугл и остальные на ваших фотографиях с кошками
1) "a white cat sitting on a bench"
2) "a cat sitting in front of a bowl of fruit"
Так что я бы не стал называть гугл безспорным лидером в machine vision ;-)


PS: а вижу вы нашли, но использовали только самый слабый сервис для сравнения.

*бесспорным :(

Спасибо! Проморгал. Но, по другим снимкам, честно говоря, не очень работает:
a vase with flowers in it
a little girl laying in the grass
a large clock tower towering over the city of london
a group of stuffed animals
Даже по одним таким названиям, кажется, я знаю, что у них за обучающая выборка была:)

Ну вы хотите много показывая какие-то хипстерские фото :) В обычном режиме справляется неплохо, я недавно даже демо для hololens делал: https://www.youtube.com/watch?v=Kq1NkrURTAo

Но стабильность системы во многом определяется границами её работы;)
У меня как бы весь пост про то, начиная с какой точки перестанет работать всё;)
Тут даже искать точку долго не пришлось. По этим же фотографиям google более-менее адекватную подборку выдаёт тегов.

P.S. А демка крутая, да.
Спасибо за статью, я использовал для распознавания котиков в своем телеграм-боте @fcatsbot как раз IBM Watson и заметил что он плоховато работает, теперь перепишу на google!
зато в изучении языков Гугл сильно продвинулся, в переводчике появились маты:
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории