В этой статье я попытаюсь объяснить, как использовать сервис Huawei Cloud ModelArts для классификации изображений, и продемонстрирую классификацию мусора. Давайте перейдем к этому.

Введение

Классификация изображений с помощью ModelArts — это сервис моделирования искусственного интеллекта для Huawei Cloud, который вы можете использовать для прогнозирования классификации данного изображения в модели.

Например, вы можете использовать его для предсказания изображения: яблоко или апельсин, кошка или собака и т. д. Прежде всего вам нужен набор изображений, которые вы хотите предсказать. ModelArts предлагает вам иметь не менее 100 изображений для каждого класса, который вы хотите обучить. Например, вы хотите обучить модель, которая будет предсказывать изображение кошки, собаки или дельфина. Вам нужно иметь не менее 300 изображений, чтобы обучить эту модель самостоятельно.

Как найти такой набор данных? Первый вариант — вручную собрать эти изображения из Интернета. Вы можете искать в Google изображения кошек и собирать изображения для своего набора данных.

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

У нас есть 6 разных мусора. Картон, стекло, металл, бумага, пластик и мусор. Для всего мусора у нас есть более 2500 изображений. Каждый класс имеет более 100 изображений, поэтому ModelArts будет работать правильно. Давай начнем!

Классификация мусора с помощью ModelArts

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

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

Загрузите базу с помощью кнопки в правом верхнем углу.

Извлеките файл archive.zip.

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

Теперь у нас есть готовый набор данных для обучения нашей модели. Нам нужно загрузить его в Huawei Cloud OBS. ModelArts позволяет вам использовать наборы данных только из ваших корзин OBS. Из консоли браузера вы можете загрузить только 100 изображений на процесс. Но с приложением OBS Browser+ вы можете загрузить столько изображений, сколько захотите. Итак, вам нужно скачать OBS Browser+ и загрузить базу данных в корзину OBS.

Сначала вы создаете корзину.

Эта часть важна, потому что вам нужно выбрать тот же регион, с которым вы собираетесь работать в ModelArts. Для меня это Сингапур, поэтому мы выбрали его. Затем мы назовем его и создадим.

Затем мы создаем 3 папки внутри нашего ведра. Ввод — для нашего набора данных, выход — для результатов обучения нашей модели. Вы можете спросить, зачем нам нужна папка input-empty. Потому что, когда вы создаете обучение ExeML из службы ModelArts, вы не можете импортировать свои помеченные данные. Вам нужно использовать Управление данными, чтобы создать свой собственный помеченный набор данных, но набор данных, созданный вами в разделе Управление данными, не отображается в разделе ExeML. . Я думаю, что это небольшая ошибка, которая скоро будет исправлена, но теперь мы используем пустую папку для создания набора данных из раздела ExeML, после чего мы собираемся импортировать наши помеченные изображения в набор данных, который мы создали из ExeML. Это поможет.

Мы заходим в нашу папку ввода и загружаем наши разделенные изображения по папкам.

Теперь мы готовы обучить нашу модель классификации мусора из сервиса ModelArts.

Мы переходим к сервисной консоли ModelArts. Нажмите ExeML на левой панели и выберите Классификация изображений и Создать проект.

Назовите свой проект и выберите Создать, чтобы создать собственный набор данных. Назовите свой набор данных и выберите ввод и вывод пути к набору данных.

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

Выберите свой выход.

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

Во время создания набора данных у вас должно быть создано задание маркировки. Нажмите на задание маркировки в правом углу веб-сайта.

Нажмите Добавить данные, чтобы импортировать помеченный набор данных классификации изображений.

Выберите OBS › Путь › Метки › Классификация изображений › ModelArts ImageNet 1.0.

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

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

Вернитесь в раздел ExeML и выберите созданный проект ExeML.

Подтвердите информацию и данные, затем нажмите обучить.

Установите для коэффициента обучения значение 0,8. Выберите accuracy_first в раскрывающемся списке настроек обучения. Нажмите «Далее» и начните процесс обучения.

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

Теперь нам нужно развернуть нашу модель и протестировать ее. Для развертывания нажмите кнопку Развернуть в разделе Диспетчер версий в левом верхнем углу.

Выберите спецификации, включите Автоматическая остановка и установите его на 1 час. Далее и отправить.

Дождитесь завершения развертывания.

Теперь мы можем попробовать нашу модель. Загрузите несколько изображений из Google, которые вы можете классифицировать вместе с вашей моделью, и загрузите их в службу развертывания ModelArts, как показано ниже. Попробуйте найти изображения, которых нет в вашем наборе данных. Это сделает ваш тест более разумным. Затем нажмите «Предсказать».

Вот несколько примеров из моего набора данных с моделью классификации мусора, которую мы создали вместе. Вы можете увидеть результат в разделе Test Result.

Заключительные мысли и резюме

В этой статье мы обучили модель классификации изображений с помощью сервиса Huawei Cloud ModelArts. Мы использовали общедоступный набор данных Garbage collection от Kaggle и обучили его классифицировать мусор по изображениям.

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

Рекомендации