Революция искусственного интеллекта и компьютерного зрения

TL; DR; Эта серия основана на работе по обнаружению сложных политик в следующей реальной истории кода. Код на серию можно найти здесь.

Часть 1. Революция искусственного зрения и компьютерного зрения

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

Например, всего четыре года назад на XKCD появился следующий комикс.

Еще в 2014 году способность выполнять базовую классификацию изображений считалась почти научной фантастикой для среднестатистического разработчика, всего три года спустя мы можем не только определить, изображена ли на картинке птица, мы также можем сказать вам виды птиц, где на картинке птица отслеживает в режиме реального времени характер миграции птиц.

На практике не все проблемы компьютерного зрения связаны с птицами, цветами, кошками и собаками.

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

Чуть более года назад Microsoft заключила партнерское соглашение с крупным производителем кондитерских изделий в Центральной и Восточной Европе, чтобы создать модель машинного обучения, которая проверяет, правильно ли дистрибьюторы хранят шоколадные конфеты. Компания, с которой мы работали, имеет огромную дистрибьюторскую сеть из сетей супермаркетов в более чем четырнадцати странах. Каждый из этих дистрибьюторов должен разложить шоколадные конфеты на своих стендах в соответствии со стандартной политикой. В каждой политике описывается, на какой полке должен находиться данный шоколад и в каком порядке он должен храниться.

«Обычные» аудиторские мероприятия по обеспечению соблюдения этих политик связаны с огромными расходами. Наш партнер хотел разработать систему, в которой аудитор или менеджер магазина могли бы сделать снимок и сразу сказать, правильно ли заполнена полка, как на изображении выше.

Даже при использовании самых современных методов это сложно по многим причинам, таким как:

  • Качество изображения
  • Угол изображения
  • Незаметные нарушения политики

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

Вызов серии

В этой серии статей мы построим сложный классификатор политик, подобный описанному выше сценарию. Для правильного хранения изображения оно должно храниться в следующем порядке.

  • Верхняя полка (газировка)
  • Средняя полка (сок)
  • Нижняя полка (вода)

Возможные технологические решения этой проблемы

Microsoft предоставляет спектр служб искусственного интеллекта, которые можно использовать для решения таких задач компьютерного зрения, как эта, каждое решение может быть реализовано в Azure.

От Когнитивных служб Azure до Azure DSVM и Машинного обучения Azure - каждая технология и подход имеет разные преимущества и компромиссы, которые соответствуют спектру сценариев использования компьютерного зрения.

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

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

Azure DSVM и Сервис машинного обучения

Виртуальная машина для обработки данных - это образ виртуальной машины (ВМ) в Azure. В нем уже установлено и настроено множество популярных инструментов для анализа данных и глубокого обучения. Эти изображения поставляются с популярными инструментами для анализа данных и машинного обучения, включая Microsoft R Server Developer Edition, Microsoft R Open, Anaconda Python, Julia, записные книжки Jupyter, Visual Studio Code, RStudio, xgboost и многие другие. Вместо того, чтобы самостоятельно развертывать сопоставимое рабочее пространство, вы можете подготовить DSVM, что сэкономит вам много времени на процессах установки, настройки и управления пакетами. После того, как ваш DSVM будет развернут, вы можете сразу же приступить к работе над своим проектом в области науки о данных.

Дополнительные сведения о том, что можно делать с DSVM, см. В разделе Обработка данных с помощью виртуальной машины Linux Data Science в Azure.

Служба машинного обучения Azure позволяет быстрее создавать и обучать модели машинного обучения и легко развертывать их в облаке или на периферии с помощью службы машинного обучения Azure. Используйте новейшие технологии с открытым исходным кодом, такие как TensorFlow, PyTorch , или Jupyter. Поэкспериментируйте локально, а затем быстро увеличивайте или увеличивайте масштаб с помощью больших кластеров с графическим процессором в облаке. Ускорьте обработку данных с помощью автоматизированного машинного обучения и настройки гиперпараметров. Отслеживайте свои эксперименты, управляйте моделями и легко развертывайте с помощью интегрированных инструментов CI / CD.

Фреймворки глубокого обучения и Keras

Обычно инженеры глубокого обучения не реализуют операции матричной алгебры вручную. Вместо этого они используют такие фреймворки, как PyTorch или TensorFlow. Keras - это библиотека нейронной сети с открытым исходным кодом, написанная на Python. Он может работать поверх TensorFlow, Microsoft Cognitive Toolkit или Theano. Разработанный для быстрого экспериментирования с глубокими нейронными сетями, он ориентирован на удобство использования, модульность и расширяемость. Википедия



В следующей серии мы собираемся исследовать некоторые из этих технологий и архитектур для решения нашего собственного сложного сценария классификации политик.

Цели серии

К концу этой серии вы должны лучше

  • Понимание ландшафта компьютерного зрения AI
  • Уметь создать развернутую модель обслуживания Custom Vision.
  • Создайте модель распознавания образов CNN с помощью Keras и перенесите обучение
  • Используйте VoTT и FasterRCNN для аннотирования и обучения модели обнаружения объектов для сложных сценариев классификации
  • Обучайте и развертывайте пользовательские модели компьютерного зрения в облаке с помощью службы машинного обучения Azure и ACI.

Ресурсы







Следующее сообщение

В следующем посте этой серии мы рассмотрим, как подойти к этой задаче с помощью Custom Vision Service, последующие посты будут касаться следующего:

Если у вас есть какие-либо вопросы, комментарии или темы, которые вы хотели бы, чтобы я обсудил, не стесняйтесь подписываться на меня в Твиттере, если есть веха, которую я пропустил, пожалуйста, дайте мне знать.

об авторе

Аарон (Ари) Борнштейн - заядлый энтузиаст ИИ, страстно увлекающийся историей, новыми технологиями и вычислительной медициной. В качестве инженера с открытым исходным кодом в команде Microsoft Cloud Developer Advocacy он сотрудничает с израильским сообществом высоких технологий, чтобы решать реальные проблемы с помощью технологий, меняющих правила игры, которые затем документируются, публикуются в открытом доступе и передаются остальному миру.