Создание пользовательской модели анализа изображений
Внимание
Эта функция теперь устарела. 10 января 2025 г. анализ изображений Azure 4.0, определение пользовательских объектов и API предварительной версии распознавания продуктов будет прекращен. После этой даты вызовы API к этим службам завершаются сбоем.
Чтобы обеспечить плавную работу моделей, перейдите к Пользовательское визуальное распознавание ИИ Azure, которая теперь общедоступна. Пользовательское визуальное распознавание предлагает аналогичные функциональные возможности для этих функций выхода на пенсию.
Анализ изображений 4.0 позволяет обучить пользовательскую модель с помощью собственных образов обучения. Вручную наклеив изображения, вы можете обучить модель применять пользовательские теги к изображениям (классификация изображений) или обнаруживать пользовательские объекты (обнаружение объектов). Модели анализа изображений 4.0 особенно эффективны при обучении с несколькими выстрелами , поэтому вы можете получить точные модели с меньшими данными обучения.
В этом руководстве показано, как создать и обучить пользовательскую модель классификации изображений. Отмечается несколько различий между обучением модели классификации изображений и моделью обнаружения объектов.
Примечание.
Настройка модели доступна через REST API и Visual Studio, но не через клиентские пакеты SDK.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- После получения подписки Azure создайте ресурс Визуального зрения в портал Azure, чтобы получить ключ и конечную точку. Если вы используете это руководство с помощью Vision Studio, необходимо создать ресурс в регионе "Восточная часть США". После развертывания ресурса выберите элемент Перейти к ресурсу. Скопируйте ключ и конечную точку во временное расположение для последующего использования.
- Ресурс служба хранилища Azure. Создайте ресурс хранилища.
- Набор изображений для обучения модели классификации. Можно использовать набор примеров изображений в GitHub. Кроме того, вы можете использовать собственные изображения. Для каждого класса требуется только 3-5 изображений.
Примечание.
Мы не рекомендуем использовать пользовательские модели для критически важных для бизнеса сред из-за потенциальной высокой задержки. Когда клиенты обучают пользовательские модели в Vision Studio, эти пользовательские модели принадлежат ресурсу Визуального распознавания, которому они были обучены, и клиент может вызывать эти модели с помощью API анализа изображений . При выполнении этих вызовов пользовательская модель загружается в память и инициализируется инфраструктура прогнозирования. Хотя это происходит, клиенты могут столкнуться с большей задержкой для получения результатов прогнозирования.
Создание пользовательской модели
Начните, перейдя в Visual Studio и выбрав вкладку "Анализ изображений". Затем выберите плитку "Настройка моделей".
Затем войдите с помощью учетной записи Azure и выберите ресурс Vision. Если у вас его нет, его можно создать на этом экране.
Подготовка обучающих образов
Вам нужно передать обучающие образы в контейнер Хранилище BLOB-объектов Azure. Перейдите к ресурсу хранилища в портал Azure и перейдите на вкладку браузера хранилища. Здесь можно создать контейнер BLOB-объектов и отправить образы. Поместите их в корень контейнера.
Добавление набора данных
Чтобы обучить пользовательскую модель, необходимо связать ее с набором данных, в котором вы предоставляете изображения и их данные метки в качестве обучающих данных. В Visual Studio перейдите на вкладку "Наборы данных" , чтобы просмотреть наборы данных.
Чтобы создать новый набор данных, выберите добавить новый набор данных. В всплывающем окне введите имя и выберите тип набора данных для вашего варианта использования. Модели классификации изображений применяют метки содержимого ко всему изображению, а модели обнаружения объектов применяют метки объектов к определенным расположениям на изображении. Модели распознавания продуктов — это подкатегория моделей обнаружения объектов, оптимизированных для обнаружения розничных продуктов.
Затем выберите контейнер из учетной записи Хранилище BLOB-объектов Azure, в которой хранятся образы обучения. Установите флажок, чтобы разрешить Visual Studio читать и записывать данные в контейнер хранилища BLOB-объектов. Это необходимый шаг для импорта помеченных данных. Создайте набор данных.
Создание проекта маркировки Машинное обучение Azure
Для передачи сведений о метки требуется COCO-файл. Простой способ создать COCO-файл — создать проект Машинное обучение Azure, который поставляется с рабочим процессом маркировки данных.
На странице сведений о наборе данных выберите "Добавить новый проект метки данных". Назовите его и выберите "Создать новую рабочую область". Откроется новая вкладка портал Azure, в которой можно создать проект Машинное обучение Azure.
После создания проекта Машинное обучение Azure вернитесь на вкладку Vision Studio и выберите его в разделе "Рабочая область". Затем портал Машинное обучение Azure откроется на новой вкладке браузера.
Создание меток
Чтобы начать маркировку, следуйте запросу на добавление классов меток, чтобы добавить классы меток.
После добавления всех меток класса сохраните их, нажмите кнопку "Пуск " в проекте, а затем выберите "Метка данных " в верхней части.
Данные обучения вручную
Нажмите кнопку "Пуск" и следуйте инструкциям, чтобы пометить все изображения. По завершении вернитесь на вкладку Vision Studio в браузере.
Теперь выберите "Добавить COCO-файл", а затем выберите "Импорт COCO-файла" из проекта метки данных машинного обучения Azure. При этом импортируются помеченные данные из Машинное обучение Azure.
Созданный файл COCO теперь хранится в контейнере служба хранилища Azure, связанном с этим проектом. Теперь его можно импортировать в рабочий процесс настройки модели. Выберите ее в раскрывающемся списке. После импорта COCO-файла в набор данных набор данных можно использовать для обучения модели.
Примечание.
Если у вас есть готовый ФАЙЛ COCO, который вы хотите импортировать, перейдите на вкладку наборов данных и выберите " Добавить ФАЙЛЫ COCO в этот набор данных". Вы можете добавить определенный ФАЙЛ COCO из учетной записи хранения BLOB-объектов или импортировать из проекта маркировки Машинное обучение Azure.
В настоящее время корпорация Майкрософт решает проблему, которая приводит к сбою импорта файлов COCO с большими наборами данных при запуске в Vision Studio. Чтобы обучить использование большого набора данных, рекомендуется использовать REST API.
Сведения о файлах COCO
ФАЙЛЫ COCO — это JSON-файлы с определенными обязательными полями: "images"
и "annotations"
"categories"
. Пример COCO-файла будет выглядеть следующим образом:
{
"images": [
{
"id": 1,
"width": 500,
"height": 828,
"file_name": "0.jpg",
"absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/0.jpg"
},
{
"id": 2,
"width": 754,
"height": 832,
"file_name": "1.jpg",
"absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/1.jpg"
},
...
],
"annotations": [
{
"id": 1,
"category_id": 7,
"image_id": 1,
"area": 0.407,
"bbox": [
0.02663142641129032,
0.40691584277841153,
0.9524163571731749,
0.42766634515266866
]
},
{
"id": 2,
"category_id": 9,
"image_id": 2,
"area": 0.27,
"bbox": [
0.11803319477782331,
0.41586723392402375,
0.7765206955096307,
0.3483334397217212
]
},
...
],
"categories": [
{
"id": 1,
"name": "vegall original mixed vegetables"
},
{
"id": 2,
"name": "Amy's organic soups lentil vegetable"
},
{
"id": 3,
"name": "Arrowhead 8oz"
},
...
]
}
Справочник по полю файла COCO
Если вы создаете собственный COCO-файл с нуля, убедитесь, что все необходимые поля заполнены правильными сведениями. В следующих таблицах описано каждое поле в COCO-файле:
"изображения"
Ключ | Тип | Описание | Обязательное? |
---|---|---|---|
id |
integer | Уникальный идентификатор изображения, начиная с 1 | Да |
width |
integer | Ширина изображения в пикселях | Да |
height |
integer | Высота изображения в пикселях | Да |
file_name |
строка | Уникальное имя изображения | Да |
absolute_url или coco_url |
строка | Путь к изображению в качестве абсолютного URI для большого двоичного объекта в контейнере BLOB-объектов. Ресурс визуального зрения должен иметь разрешение на чтение файлов заметок и всех ссылочных файлов изображений. | Да |
Значение для absolute_url
этого можно найти в свойствах контейнера BLOB-объектов:
"заметки"
Ключ | Тип | Описание | Обязательное? |
---|---|---|---|
id |
integer | Идентификатор заметки | Да |
category_id |
integer | Идентификатор категории, определенной categories в разделе |
Да |
image_id |
integer | Идентификатор изображения | Да |
area |
integer | Значение "Width" x "Height" (третье и четвертое значения bbox ) |
No |
bbox |
list[float] | Относительные координаты ограничивающего поля (от 0 до 1), в порядке "слева", "Сверху", "Ширина", "Высота" | Да |
"категории"
Ключ | Тип | Описание | Обязательное? |
---|---|---|---|
id |
integer | Уникальный идентификатор для каждой категории (класс меток). Они должны присутствовать в annotations разделе. |
Да |
name |
строка | Имя категории (класс метки) | Да |
Проверка файлов COCO
Пример кода Python можно использовать для проверки формата COCO-файла.
Обучение пользовательской модели
Чтобы начать обучение модели с файлом COCO, перейдите на вкладку "Пользовательские модели " и выберите " Добавить новую модель". Введите имя модели и выберите Image classification
или Object detection
в качестве типа модели.
Выберите набор данных, связанный с COCO-файлом, содержащим сведения о метки.
Затем выберите бюджет времени и обучите модель. Для небольших примеров можно использовать 1 hour
бюджет.
Для завершения обучения может потребоваться некоторое время. Модели анализа изображений 4.0 могут быть точными только с небольшим набором обучающих данных, но они занимают больше времени для обучения, чем предыдущие модели.
Оценка обученной модели
После завершения обучения можно просмотреть оценку производительности модели. Используются следующие метрики:
- Классификация изображений: средняя точность, точность 1, точность топ 5
- Обнаружение объектов: средняя точность @ 30, средняя средняя точность @ 50, средняя точность @ 75
Если при обучении модели набор оценки не предоставляется, сообщаемая производительность оценивается на основе части обучающего набора. Настоятельно рекомендуется использовать набор данных оценки (используя тот же процесс, что и выше), чтобы иметь надежную оценку производительности модели.
Тестирование пользовательской модели в Visual Studio
После создания пользовательской модели можно протестировать, нажав кнопку "Попробовать" на экране оценки модели.
При этом вы перейдете на страницу "Извлечение общих тегов" на странице изображений . Выберите настраиваемую модель в раскрывающемся меню и отправьте тестовый образ.
Результаты прогнозирования отображаются в правом столбце.
Связанный контент
В этом руководстве вы создали и обучили пользовательскую модель классификации изображений с помощью анализа изображений. Затем узнайте больше об API анализа изображений 4.0, чтобы можно было вызвать пользовательскую модель из приложения с помощью REST.
- Основные понятия настройки модели
- Вызов API анализа изображений