Классификация изображений с помощью Machine Learning
Как быстро вы сможете проанализировать изображения? А если их несколько десятков тысяч? Оптимизировать трудозатраты нам поможет Machine Learning. В этой статье делимся опытом классификации изображений.
В работе каждого аудитора возникает необходимость анализа неструктурированных данных, таких как: сканы, фотографии или print screen. Ручная обработка такой информации в больших объемах занимает огромное количество времени. Одним из способов оптимизации трудозатрат является классификация изображений с применением методов Machine Learning. Сегодня хотим поделиться опытом классификации на примере авансовых отчетов.
В нашем случае: мы имели более 30 тыс. различных авансовых отчетов. И задача стояла следующая: проанализировать только те, которые относятся к использованию общественного транспорта, поэтому из общего массива документов необходимо было выделить только билеты на проезд в общественном транспорте.
Здесь нам приходит на помощь ML, а именно — бинарная классификация изображений. Для начала импортируем необходимые модули.
Предварительно мы распределили 6 607 изображений на два класса: «билет» и «прочие». Вес архива с изображениями составил 18,5 Гб.
Распаковываем выборку в рабочую директорию.
Считываем пути к выборке.
Разделяем выборку на обучающую – «train» и тестовую – «test».
Раскладываем изображения в папки для обучения (train) и валидации (test).
Подготавливаем и настраиваем нашу модель для обучения.
Определяем обучающую выборку
Определяем тестовую выборку
Запускаем обучение модели
Наша модель обучилась за 4 часа.
Определяем функцию считывания изображения для предсказания
Определяем функцию предсказания класса где 0 это «прочие», а 1 – «билет».
Подготавливаем датасет для предсказания и оценки точности предсказания нашей модели.
Проводим предсказание на тестовой выборке и рассчитываем метрики модели.
Таким образом, с помощью Machine Learning нам удалось выделить 6,6 тыс. билетов на проезд в общественном транспорте, необходимых для анализа, из более чем 30 тыс. авансовых отчетов. Это позволило существенно сократить трудозатраты и исключить просмотр излишней информации, которая составила более 78% общего объема документов.