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

Все изображения в этом наборе данных взяты из Набор данных обнаружения обезьян, кошек и собак в Kaggle.

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

Теперь давайте посмотрим, как мы можем использовать Azure Custom Vision с нашим набором данных о животных для обучения модели классификации изображений, которая может предсказать класс нового изображения.

Сначала войдите на Портал Microsoft Azure. Теперь мы собираемся создать новый ресурс на портале Azure. Нажмите Создать ресурс на портале Azure.

В строке поиска введите «индивидуальное видение» и выберите Особое видение в результатах поиска. Затем нажмите кнопку Создать, чтобы продолжить.

Теперь мы собираемся настроить наш собственный ресурс видения. На странице Создать перейдите на вкладку Основные и введите следующие параметры. Убедитесь, что в параметрах создания выбран вариант Оба.

Во-первых, давайте предоставим сведения о проекте, как показано ниже.

  • Подписка: выберите имеющуюся подписку Azure. Здесь я выбрал подписку «Azure для студентов».
  • Группа ресурсов: если у вас уже есть ранее созданная группа ресурсов, вы можете выбрать ее здесь. Если нет, нажмите Создать, чтобы создать новую группу ресурсов с выбранным вами именем. Здесь я дал «RG1» в качестве имени группы ресурсов.
  • Имя: здесь вы можете дать любое желаемое имя для создаваемого ресурса пользовательского видения. Это имя должно быть уникальным, которое не использовалось другими пользователями. Поэтому, если он говорит, что данное вами имя уже используется, попробуйте другое имя с другими словами. Здесь я указал «Learn-Azure-Custom-Vision» в качестве имени ресурса.

Затем мы заполним раздел Ресурсы для обучения, как показано ниже.

  • Место обучения: здесь вы можете выбрать любой доступный для этого регион. Я выбрал регион «Восток США».
  • Уровень ценообразования. Здесь вы можете выбрать уровень ценообразования из доступных вам уровней ценообразования. Перейдите на уровень бесплатного пользования «Free F0», если он доступен.

Затем мы заполним раздел Ресурсы для прогнозов, как показано ниже.

  • Прогнозируемое местоположение: это местоположение должно совпадать с местоположением, указанным вами для местоположения тренировки. Итак, я выбрал регион «Восток США» в качестве предполагаемого местоположения.
  • Уровень ценообразования для прогнозов. Здесь также вы можете выбрать уровень ценообразования из доступных вам уровней ценообразования. Я выбрал уровень бесплатного пользования «Free F0».

Теперь мы указали все параметры, необходимые для создания нашего пользовательского ресурса видения. Затем нажмите кнопку Обзор + Создать, и вы сможете увидеть все параметры, которые вы ввели ранее.

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

Теперь у вас есть успешно созданный ресурс индивидуализированной службы машинного зрения. Итак, мы собираемся использовать его для создания нашего проекта классификации изображений. Для этого вам необходимо авторизоваться на Портале Custom Vision.

Там нажмите на значок НОВЫЙ ПРОЕКТ и задайте следующие параметры.

  • Имя: введите любое желаемое имя для вашего проекта. Я назвал это «классификацией изображений».
  • Описание: здесь дайте небольшое описание, которое поможет вам определить задачу проекта. Я назвал это «Классифицируйте изображения животных с помощью службы пользовательского зрения Azure».
  • Ресурс: здесь вам нужно выбрать службу индивидуального технического зрения, которую вы создали изначально. Для меня это «Learn-Azure-Custom-Vision [F0]». Напомним, это уникальное имя, которое вы дали при создании ресурса пользовательского видения.
  • Типы проектов: здесь выберите Классификация в качестве типа проекта.
  • Типы классификации: здесь выберите Мультикласс (один тег на изображение) в качестве типа классификации.
  • Домены: выберите Общие [A2] в качестве домена проекта.

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

Затем мы собираемся добавить обучающие изображения в наш новый проект. В разделе Обучающие изображения нажмите Добавить изображения. Это позволит вам выбирать файлы на вашем ПК и загружать их.

Нам нужно добавить изображения трех разных типов. Сначала я выложу фотографии обезьян. Итак, выберите все изображения в папке train / monkeys для загрузки. Затем мы должны присвоить нашим изображениям теги. Здесь введите обезьяна в поле Мои теги.

Теперь нажмите кнопку Загрузить {количество файлов} файлов и дождитесь завершения процесса загрузки. После завершения загрузки нажмите кнопку Готово.

Как и в случае с папкой monkeys, загрузите папку train / dogs, указав тег dog. Загрузите папку поезд / кошки, присвоив тегу кошка.

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

Здесь нам придется подождать некоторое время, пока обучение не закончится. После завершения обучения итерации 1 мы сможем увидеть оценки точности, отзыва и AP на вкладке Производительность.

Теперь у нас есть обученная модель классификации изображений. Итак, давайте протестируем нашу модель на новом изображении. Нажмите кнопку Быстрая проверка, чтобы начать тестирование.

Нажмите кнопку Обзор локальных файлов и выберите изображение из тестовой папки. Здесь я выбрал и открыл файл из папки test / monkey. Теперь вы сможете увидеть вероятности предсказания для данного тестового изображения под каждым тегом. В моем случае самая высокая вероятность 87,6% получена для метки обезьяны. Таким образом, наше тестовое изображение относится к категории обезьян.

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

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

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

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

Удачного обучения!