В этой статье мы будем использовать видение Google Auto ML, чтобы увидеть, как его можно использовать в реальной жизни, применяя его для решения реальной бизнес-задачи. Мы пройдем все этапы от подготовки данных до получения результатов прогнозирования и оценки затрат на внедрение решения.

Что такое Google Auto ML Vision?
Google AutoML Vision — это конструктор моделей машинного обучения для распознавания изображений, предлагаемый как услуга Google Cloud.
Он является частью Google Cloud Auto. ML, набор продуктов машинного обучения, который позволяет разработчикам с ограниченным опытом машинного обучения обучать модели, соответствующие их бизнес-потребностям.
Код машинного обучения AutoML Vision позволяет практически любому предоставлять помеченные изображения, необходимые для обучения системы, обучающей компьютерному зрению, что позволяет ей выполнять категоризацию и другие задачи распознавания изображений.
Создание новой модели для компьютерного зрения и распознавание изображений — это специализированный и трудоемкий проект.
Поскольку существует нехватка работников в области машинного обучения и науки о данных, и эта нехватка может создать барьер для разработки новых моделей.
Автор Предоставляя код машинного обучения для визуальных задач, Google AutoML Vision позволяет пользователям, не специализирующимся в этой области, использовать интерфейс перетаскивания для предоставления изображений и тегов для обучения инструмента желаемой задаче.

Мотивация — бизнес-проблема
Бизнес-задача, которую мы будем решать, следующая: Северный город хочет контролировать и оценивать во время зимнего сезона уборки снега, до какого уровня снегоуборщики перевозили снег. снега на свалки полные или частично заполненные.
В течение снежного сезона город должен провести определенное количество снегоуборочных работ, когда снег задувается в грузовики снегоуборочными машинами. Затем снег транспортируется и сбрасывается в определенных местах. Грузовик может быть как полным, так и частичным. Через въездные ворота каждой площадки проезжает очень большое количество грузовиков, и существует бизнес-потребность в оценке объема снега, сбрасываемого в ходе данной операции по уборке снега, по участкам, по грузовикам и т. д.
Делается снимок. каждого грузового автомобиля, проходящего через ворота. Нам предоставили 941 аннотированное изображение, и мы будем использовать видение Google Auto ML для создания модели, которая будет предсказывать при наличии нового изображения уровень заполнения каждого грузовика.

Использование автоматического машинного обучения Google Vision

Чтобы использовать Auto ML, выполните следующие действия:
1. Создайте пустой набор данных
2. Импортируйте изображения с аннотациями
3. Импортируйте CSV-файл, содержащий аннотации, а также ссылка на изображения (путь и имя файла)
4. Начать обучение модели
5. Оценить модель
6. Протестировать и использовать модель

Шаг 1. Настройка и создание пустого набора данных
Чтобы начать использовать Google auto ML, вы должны сначала создать учетную запись, настроить свой проект и включить Auto ML и API облачного хранилища, что довольно просто. процедуру, если вы будете следовать предоставленной онлайн-документации.

Шаг 2. Подготовка и импорт изображений
Первым шагом в этом проекте является подготовка данных для их загрузки на платформу Google.
У меня есть доступ к каталогу. содержит 15 000 изображений (изображения грузовиков), из которых только 942 аннотированы. Возможные значения метки: 5 вариантов % заполнения кузова грузовика. (i100%, 75%, 50%, 25% или 10%)
Аннотации содержатся в файле .XLS, который содержит в двух столбцах имя файла .jpg, а в другом — значение.
Распределение заполняемости выглядит следующим образом:

Поскольку аннотировано только 941 изображение, нет необходимости импортировать все изображения. Чтобы выбрать только тот, который был аннотирован, мы используем небольшую пакетную команду, которая, начиная с каталога, содержащего все изображения, копирует в другой каталог только те, которые содержатся в списке файлов.
Мы начинаем с создания из файла аннотации (.XLS) файл .TXT, содержащий только имена файлов.

Затем мы выполняем следующую процедуру.

@echo off
pushd D:\projet\
for /f «tokens=* delims=» %%a in ('type Filelist.txt') do xcopy /hrkvy «.\Images\%% a” “.\destination”
popd
пауза

Результат находится в каталоге ‹destination›. У нас есть только файлы для импорта.
У Google Vision есть интерфейс, который позволяет вам внезапно загрузить 500 изображений, выбрав изображения с помощью функции типа проводника. Однако при этом Google переименовывает файлы, добавляя к имени файла дату и время импорта. Это не позволит нам впоследствии правильно связать метку с изображениями только по имени изображения, содержащемуся в нашем файле аннотации.

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

Используя функцию «Загрузить файлы», мы можем выбрать все изображения (мы больше не ограничены 500), и, кроме того, Google сохраняет имена файлов нетронутыми.
Шаг 3: Импортируйте CSV-файл, содержащий аннотации
Следующим шагом является загрузка нашего файла аннотаций, который мы ранее преобразовали в файл csv (с разделителями-запятыми)
Google Cloud Vision автоматически свяжет соответствующие метки с изображениями. В нашем случае эта обработка занимает несколько минут.

Изображения также автоматически классифицируются по группам обучения, проверки и тестирования.

Одно изображение было помечено как заполненное на 30%. Поскольку этого недостаточно, мы просто не будем маркировать это изображение и не будем его использовать.

Шаг 4. Обучение модели

Опция меню поезда позволяет начать тренировку. Google сообщает нам примерное время, которое займет обучение. В этом случае расчетное время составляет 2 часа (16 часов на узел).

Начинаем тренировку и идем обедать.😊

Шаг 5. Оценка модели
Несколько экранов позволяют оценить модель. Мы видим, что мы получили среднюю точность 82%. Неплохо…
Мы можем изучить путаницу в матрице и лучше понять ошибки прогнозирования, в том числе ложноположительные и ложноотрицательные, чтобы оценить влияние этих ошибок в контексте нашего варианта использования.

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

Шаг 6. Протестируйте и используйте модель

Чтобы протестировать модель, мы можем просто импортировать изображения, и Google выполнит интерактивный прогноз.

Предлагаются два варианта развертывания модели в облаке: с помощью REST API или с помощью клиента Python. Цены основаны на количестве развернутых узлов независимо от количества прогнозов.

Предположения о развертывании
Если бы мы развернули эту модель на 1 узле, она смогла бы поддерживать 3,2 прогноза в секунду (этот идентификатор оценки предоставляется во время выбора количество узлов), что более чем достаточно для поддержки нашего бизнес-кейса (нам нужен прогноз для каждого проходящего грузовика, а частота намного меньше, чем 75 грузовиков в минуту)
В контексте нашего варианта использования мы можем ожидать, что модель будет развернута в начале операции по уборке снега.
Платформа Google AI – это услуга с оплатой по факту использования. Плата взимается за обучение модели, а также за развертывание модели и ее использование. В этом контексте после развертывания модель можно использовать, а когда в ее использовании больше нет необходимости, развертывание модели прекращается, и выставление счетов прекращается.

Заключение
Этот сервис Google позволяет быстро оценить ценность использования модели машинного обучения как потенциального решения бизнес-проблемы. Как только машинное обучение будет определено как многообещающее решение, этот сервис предоставит инструмент для просмотра данных и поможет определить, как можно улучшить данные, чтобы повысить точность алгоритма машинного обучения.
Мы можем пойти дальше. достаточно легко и пилотно использовать модель в бизнес-процессе, не прибегая к созданию физической и программной среды. Это делает внедрение очень экономичным.
Учитывая, что текущий счет за использование модели на узле составляет 1,25 доллара США в час или 30 долларов США в день, а также при условии, что операции по загрузке снегом запускаются примерно 10 раз за сезон и длятся в среднем 10 дней, стоимость за сезон составит быть около 3000 долларов США.
Потратив минимальные усилия и затраты на настройку и обучение модели машинного обучения, мы смогли предоставить бизнес-подразделению ключевую информацию, необходимую для оценки экономической эффективности использования модели машинного обучения для решения это проблема бизнеса.