Классификация изображений с помощью Пользовательского визуального распознавания и Windows Machine Learning

Image classification flow

В этом руководстве показано, как обучить модель нейронной сети для классификации образов продуктов питания с помощью службы Azure Пользовательское визуальное распознавание; экспортировать модель в формат ONNX; и развернуть модель в приложении Windows Машинное обучение (Windows ML), работающем локально на устройстве Windows. Вам не нужен какой-либо предыдущий опыт в машинном обучении! Пошаговые инструкции помогут вам выполнить этот процесс.

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

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

Если вы хотите начать с уже существующего проекта Visual Studio для приложения Windows ML, вы можете клонировать пример приложения Пользовательское визуальное распознавание и Windows ML и использовать его в качестве отправной точки.

Сценарий

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

Предварительные требования для обучения модели

Чтобы создать и обучить модель, вам потребуется подписка на службу "Пользовательское визуальное распознавание Azure".

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

Совет

Хотите узнать больше о вариантах регистрации Azure и бесплатных учетных записях Azure? Затем проверка создать учетную запись Azure.

Предварительные требования для развертывания приложения Windows ML

Чтобы создать и развернуть приложение Windows ML, вам потребуется следующее:

  • Windows 10 версии 1809 (сборка 17763) или более поздняя. Номер версии сборки можно проверка, выполнив команду winver run (клавиша с логотипом Windows + R).
  • Пакет SDK для Windows для сборки 17763 или более поздней версии. Сведения о скачивании см. в пакете SDK для Windows.
  • Visual Studio 2017 версии 15.7 или более поздней; но рекомендуется использовать Visual Studio 2022 или более поздней версии. Некоторые снимки экрана в этом руководстве могут отличаться от пользовательского интерфейса, который вы увидите. Чтобы скачать Visual Studio, см. статью "Скачивание и средства для разработки Windows".
  • Расширение Генератора кода Машинного обучения Windows (mlgen) Visual Studio. Скачайте его для Visual Studio 2019 или более поздней версии или для Visual Studio 2017.
  • Если вы решите создать приложение универсальная платформа Windows (UWP), необходимо включить рабочую нагрузку универсальная платформа Windows разработки в Visual Studio.
  • Включите режим разработчика на компьютере— см. раздел "Включить устройство для разработки".

Примечание.

API машинного обучения Windows встроены в последние версии Windows 10 (1809 или более поздней версии) и Windows Server 2019. Если целевая платформа является более старой версией Windows, вы можете перенести приложение Windows ML в распространяемый пакет NuGet (Windows 8.1 или более поздней версии).

Подготовка данных

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

Важно!

Чтобы использовать этот набор данных, необходимо придерживаться срока использования сайта Kaggle и условий Food-11 лицензии, сопровождающих сам набор данных. Корпорация Майкрософт не предоставляет никаких гарантий или рекомендаций в отношении этого сайта и этого набора данных.

Набор данных состоит из трех разделов — оценки, обучения и проверки— и содержит 16 643 изображений продуктов питания, сгруппированных в 11 основных категорий продуктов питания. Изображения в этом наборе разделены на несколько папок с разными категориями, что позволяет упростить процесс обучения модели.

Скачайте набор данных из набора данных Food-11. Набор данных составляет около 1 ГБ, и вам может потребоваться создать учетную запись на веб-сайте Kaggle, чтобы скачать данные.

Food image datasaet

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

Кроме того, убедитесь, что все образы обучения соответствуют следующим критериям:

  • .jpg, , .png.bmpили .gif формат.
  • Размер не превышает 6 МБ (4 МБ для изображений прогнозирования.
  • Не менее 256 пикселей на самом коротком крае; все изображения, короче, чем это, будут автоматически масштабироваться службой Пользовательское визуальное распознавание.

Следующие шаги

Теперь, когда вы получили необходимые компоненты отсортированы и подготовили набор данных, вы можете перейти к созданию модели Windows ML. В следующей части (обучение модели с помощью Пользовательское визуальное распознавание) вы будете использовать веб-интерфейс Пользовательское визуальное распознавание для создания и обучения модели классификации.