Введение

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

Служба Microsoft Cognitive Custom Vision направлена ​​на устранение необходимости в таком настраиваемом обучении, и вы можете просто загрузить свои изображения и создать настраиваемое приложение компьютерного зрения, созданное специально для ваших нужд. Это так просто, это может сделать каждый. Я уже упоминал, что это очень быстро. Даже с предварительной версией вы можете загрузить около 1000 изображений с различными тегами (максимум - 50 тегов) и получить относительно хорошую модель, разработанную с учетом ваших пользовательских сценариев использования. Давайте посмотрим, как это работает на соревнованиях Kaggle. Для непосвященных Kaggle - это платформа для соревнований по прогнозному моделированию и аналитике, в которых люди соревнуются за создание лучших моделей для прогнозирования и описания наборов данных, загружаемых компаниями и пользователями. Он предоставляет несколько хороших наборов данных и имеет очень активное и полезное сообщество.

Я выбрала конкурс Классификация саженцев растений. В этом конкурсе вам предстоит определить вид саженца по изображению. Они предоставили около 12 различных классов изображений и около 200-600 изображений на класс.

Предпосылки

Убедитесь, что вы зарегистрировались на веб-сайте Custom Vision (https://www.customvision.ai/). Вы можете использовать свой логин Azure для регистрации в этой службе.

После регистрации вы попадете на пустой экран с просьбой создать проект.

Начнем с нажатия на New Project. Я ввел имя и описание, как показано на изображении ниже. Я использовал общий домен, так как наш Конкурс саженцев растений не подходит ни для одной из категорий.

Теперь мы готовы загрузить изображения.

Поскольку мы можем загрузить только 1000 изображений в проект, я выбрал около 83 изображений для каждого класса (при сортировке по алфавиту). Загрузим изображения для каждого класса.

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

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

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

Тренировка занимает пару минут, после чего вы увидите результаты тренировки. В моем случае точность была около 61%, а отзыв - 53%. Результаты не очень хорошие, но для начала подойдут.

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

Вы можете подумать о замене неправильно отмеченных изображений на изображения более высокого качества. Я этого не делал. Но я использовал API для прогнозирования всех обучающих изображений. Код C # для запуска этого во всех обучающих образах можно найти на моем Github.

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

Как только прогноз по тесту будет завершен, вы найдете в папке файл prediction.csv. Вы можете использовать измененную версию для загрузки на веб-сайт Kaggle Competition. Как и ожидалось, результаты плохие, и вы не получите хороших результатов в таблице лидеров. Но, глядя на 5 минут работы, чтобы попасть туда, довольно здорово получить позицию на Kaggle.

Но если мы сможем загрузить больше изображений, то очень легко получить очень высокий балл. Я сделал тест всего с 4 классами, и мои показатели были очень высокими. Я уверен, что как только он выйдет из предварительной версии, это будет супер-классный сервис, делающий компьютерное зрение доступным для всех.

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