Обучение модели с помощью Пользовательского визуального распознавания
В предыдущей части этого руководства описаны предварительные условия, которые нужно выполнить перед созданием собственных приложения и модели Windows Machine Learning, а также показано, как скачать требуемый набор изображений. Теперь мы узнаем, как использовать веб-интерфейс Пользовательского визуального распознавания, чтобы преобразовать наш набор изображений в модель классификации изображений.
Пользовательское визуальное распознавание Azure — это когнитивная служба распознавания изображений, которая позволяет создавать, развертывать и улучшать пользовательские идентификаторы изображений. Служба пользовательского визуального распознавания доступна в виде набора собственных пакетов SDK, а также через веб-интерфейс на ее веб-сайте.
Создание проекта и ресурса Пользовательского визуального распознавания
Создание ресурса Пользовательского визуального распознавания
Чтобы использовать Службу пользовательского визуального распознавания, потребуется создать ресурсы Пользовательского визуального распознавания в Azure.
- Перейдите на главную страницу учетной записи Azure и выберите
Create a resource
.
- В поле поиска введите строку
Custom Vision
, чтобы открыть Azure Marketplace. ЩелкнитеCreate Custom Vision
, чтобы открыть диалоговое окно на странице создания Пользовательского визуального распознавания.
- На диалоговой странице Пользовательского визуального распознавания сделайте следующее.
- Выберите ресурсы
Training
иPrediction
. - Выберите подписку для управления развернутыми ресурсами. Если нужная подписка Azure не отображается в меню, выйдите из учетной записи Azure и снова войдите в нее с теми учетными данными, которые использовали для открытия учетной записи.
- Создайте новую группу ресурсов и присвойте ей имя. В этом учебнике мы использовали имя
MLTraining
, но вы можете выбрать любое другое или даже применить уже существующую группу ресурсов. - Присвойте имя проекту. В этом учебнике мы используем имя
classificationApp
, но вы можете использовать любое другое на свой выбор. - Для ресурсов
Training
иPrediction
настройте расположение (США) Восточная часть США, а для параметра Ценовая категория укажите значение Free FO (Бесплатная FO).
- Щелкните
Review + create
, чтобы развернуть ресурсы Пользовательского визуального распознавания. Процесс развертывания ресурсов может занять несколько минут.
Создание проекта в Пользовательском визуальном распознавании
Завершив создание ресурса, переходите к созданию проекта обучения с использованием Пользовательского визуального распознавания
В окне веб-браузера откройте страницу Пользовательского визуального распознавания и щелкните
Sign in
. Войдите с помощью той же учетной записи, что и на портале Azure.Щелкните
New Project
, чтобы открыть диалоговое окно создания проекта.
- Создайте новый проект со следующими параметрами.
Name
: FoodClassification.Description
: классификация разных продуктов и блюд.Resource
: здесь оставьте выбранным открытый ранее ресурсClassificationApp [F0]
.Project Types
:classification
Classification Types
:Multilabel (Multiple tags per image)
Domains
:Food (compact)
.Export Capabilities
:Basic platforms (Tensorflow, CoreML, ONNX, ...)
Примечание.
Чтобы экспортировать модель в формат ONNX, выберите домен Food (compact)
. Другие типы доменов не поддерживают экспорт в формат ONNX.
Важно!
Если учетная запись, с которой вы вошли в систему, связана с учетной записью Azure, в раскрывающемся списка Resource Group (Группа ресурсов) будут отображаться все группы ресурсов Azure, в которых есть ресурс Пользовательской службы визуального распознавания. Если группы ресурсов недоступны, подтвердите, что вы вошли в customvision.ai с помощью той же учетной записи, которая использовалась для входа на портал Azure.
- Заполнив данные в диалоговом окне, щелкните
Create project
.
Отправка учебного набора данных
Итак, вы создали проект и теперь можете отправить в него ранее подготовленный набор данных с изображениями еды из Kaggle Open Datasets.
Выберите проект
FoodClassification
, чтобы открыть веб-интерфейс на веб-сайте Пользовательского визуального распознавания.Нажмите кнопку
Add images
и выберитеBrowse local files
.
Перейдите к папке, в которой размещен набор данных, и выберите папку для обучения:
vegetable-fruit
. Выберите все изображения в папке и щелкнитеopen
. Откроется интерфейс для ввода тегов.Введите
vegetable-fruit
в полеMy Tags
и нажмитеUpload
.
Дождитесь, пока первая группа изображений будет полностью отправлена в проект, а затем нажмите done
. Выбор тегов будет применен ко всей группе изображений, для которых вы выбрали отправку. Поэтому удобнее отправлять изображения, заранее разделив их на нужные группы. Вы всегда можете изменить теги для отдельных изображений уже после отправки.
- Когда отправка первой группы изображений успешно завершится, повторите процесс еще дважды для изображений десертов и супов. Не забудьте указать для них правильные теги.
После этого у вас будут готовы три разные группы изображений для обучения.
Обучение классификатора модели
Теперь вы обучите свою модель классифицировать изображения из ранее скачанного набора по категориям "овощи", "супы" и "десерты".
- Чтобы запустить процесс обучения, нажмите кнопку
Train
в верхнем правом углу. Классификатор на основе предложенных изображений создаст модель, которая распознает визуальные характеристики по каждому тегу.
Вы можете изменить порог вероятности, перемещая ползунок в левом верхнем углу. Порог вероятности задает уровень достоверности, выше которого модель будет считать прогноз верным. Если порог вероятности слишком высок, классификация будет выполняться точнее, но для меньшего числа изображений. С другой стороны, слишком низкий порог вероятности позволит получить намного больше классифицированных изображений, но с меньшей достоверностью или с большим числом ложноположительных результатов.
В этом учебнике мы оставим для порога вероятности значение 50 %.
- Здесь мы применим процесс
Quick Training
. ВAdvanced Training
больше доступных настроек, и вы можете явным образом указать выделенное на обучение время, но такой уровень детализации нам пока не нужен. НажмитеTrain
, чтобы запустить процесс обучения.
Процесс быстрого обучения завершается всего через несколько минут. В это время на вкладке Performance
отображаются сведения о процессе обучения.
Оценка и тестирование
Оценка результатов
Когда обучение завершится, вы увидите сводные данные по первой итерации обучения. В этих данных указаны оценки эффективности модели: Точность и Полнота.
- Точность обозначает долю правильно определенных классов. Для нашей модели точность составляет 98,2 %, то есть классификация изображений выполняется очень точно.
- Полнота обозначает долю правильно определенных фактических классов. Для нашей модели полнота составляет 97,5 %, то есть классификация выполняется почти для всех предложенных изображений.
- AP здесь обозначает "Дополнительная производительность" (Additional Performance). Здесь вы видите дополнительную метрику, которая суммирует точность и полноту по разным порогам.
Тестирование модели
Прежде чем экспортировать модель, вы можете проверить ее эффективность.
- Выберите
Quick Test
в верхнем правом углу на панели меню сверху, чтобы открыть новое окно тестирования.
В этом окне вы можете ввести URL-адрес изображения для тестирования или нажать Browse local files
для использования локально сохраненной версии.
- Щелкните
Browse local files
, перейдите к набору данных о продуктах и откройте папку проверки. Выберите из папкиfruit-vegetable
произвольное изображение и нажмитеopen
.
На экране отобразится результат тестирования. В нашем примере модель успешно классифицирует изображение с уверенностью 99,8 %.
Вы можете использовать прогнозы для обучения на вкладке Predictions
, чтобы повысить эффективность модели. Дополнительные сведения см. в статье Как улучшить модель пользовательского визуального распознавания.
Примечание.
Вам нужно больше информации об API Пользовательского визуального распознавания? Сведения о пакетах SDK и веб-портале пользовательского визуального распознавания есть в документации по Пользовательскому визуальному распознаванию.
Экспорт модели в ONNX
Итак, мы обучили нашу модель и теперь можем экспортировать ее в формат ONNX.
- Выберите вкладку
Performance
и щелкнитеExport
, чтобы открыть окно экспорта.
- Щелкните
ONNX
, чтобы экспортировать модель в формат ONNX.
- Если потребуется, вы можете выбрать гибкий формат
ONNX 16
, но в рамках этого учебника не нужно менять настройки. ВыберитеExport and Download
.
- Откройте скачанный ZIP-файл и извлеките из него файл
model.onnx
. Этот файл содержит модель классификатора.
Поздравляем! Вы успешно создали и экспортировали модель классификации.
Дальнейшие действия
Теперь в у вас есть модель классификации и вы можете перейти к сборке приложения Windows и его запуску на локальном устройстве Windows.