Компьютерное зрение, искусственный интеллект, машинное обучение и глубокое обучение — современные технологии, доказывающие, что человек — удивительное существо во вселенной. Эти технологии постепенно внедряются во всех секторах, таких как банки, больницы, промышленность, воздушный транспорт, игры и т. д., чтобы уменьшить человеческие усилия и дать точный и быстрый результат.
В наши дни каждая компания и каждая область пытаются стать умными, в том числе и супермаркеты. В настоящее время супермаркеты связаны с мерчендайзерами, чтобы увеличить уровень продаж. Именно здесь появилось распознавание продуктов и количество продуктов на изображении полки.
В этой статье мы узнаем о том, как:
- Как аннотировать данные с помощью supervisor.ly
- Расширение набора данных с помощью Supervise.ly
- Импорт модели и обучение на дополненных данных
- Развертывание и тестирование созданной модели
- Доступ к развернутому API с использованием клиентского кода Python
Классы в проекте
Вот 3 класса в проекте Coco-Cola, Fanta и Sprite:
Сбор данных и аннотация
Для сбора данных я использовал общедоступные изображения и собрал 33 изображения, на некоторых из которых есть водяные знаки.
Для аннотации я использовал Supervise.ly для аннотации данных. С помощью инструмента аннотирования Supervisely AI вручную были аннотированы 33 изображения.
Расширение набора данных с помощью Supervise.ly
Контролируемый язык преобразования данных (DTL) позволяет автоматизировать сложные конвейеры преобразования данных. Различные действия, определяемые слоями DTL, могут применяться к изображениям и аннотациям.
Используемая мной конфигурация DTL:
Конфигурация DTL
Этот DTL преобразует 33 изображения в 4356 изображений, которые состоят из 95% обучающего набора и 5% проверочного набора с использованием этого потока.
Импорт модели и обучение на дополненных данных
Для базовой модели я использовал современную маску R-CNN (Keras + TF).
- Клонирование модели для контролируемого рабочего пространства
- Точная настройка модели Mask R-CNN в нашем индивидуальном наборе данных.
Потеря обучения
Развертывание и тестирование созданной модели
Для развертывания предварительно созданной модели перейдите на страницу нейронных сетей и нажмите «Развернуть», чтобы развернуть ее на настроенном агенте.
После этого начинается развертывание.
И должен видеть API-ключ и конечную точку.
Доступ к развернутому API с использованием клиентского кода Python
Этот код Python обращается к REST API и рисует растровое изображение на изображении, полученном в ответ через API.
Результаты
Вот несколько скриншотов полученных результатов:
- Банки для безалкогольных напитков
- Стекло для безалкогольных напитков
- Стеклянные бутылки на разных языках
На изображении выше мы также получили некоторую ошибку, потому что она классифицирует бутылку, отличную от Coco-Cola, которую можно улучшить, добавив другой класс в набор данных.
Если вы зашли так далеко в блоге, похлопайте себя по спине, потому что знаете что? Ты восхитителен. Весь рабочий репозиторий доступен на GitHub.
Мы бросаем вызов друг другу и расстаемся друзьями. Пишите мне в LinkedIn, чтобы узнать о сотрудничестве по теме или правках этой статьи.