В современном мире штрихкоды стали неотъемлемой частью нашей жизни, они встречаются повсюду — от товаров в магазинах до медикаментов в больницах. Однако часто штрихкоды повреждаются по различным причинам: ежедневный износ, брызги жидкости или загрязнения, что затрудняет их распознавание. Это может привести к ошибкам в учете товаров, медикаментов и других важных объектов. В МТУСИ предложили определенный алгоритм распознавания поврежденных штрих-кодов.
Сегодня одними из самых популярных технологий, применяемых для идентификации товаров, являются различные виды маркировок и штрих-кодов — как одномерных, так и двумерных, а также технология прямой маркировки деталей (DPM) и RFID-метки.
Традиционные методы восстановления сильно поврежденных штрихкодов имеют свои ограничения. С появления QR-кодов важным направлением исследований стало их надежное сканирование и декодирование в различных средах. Существующие исследования в этой области в основном сосредоточены на повышении надежности QR-кодов через различные методы: коррекцию ошибок чтения, шумоподавление и улучшение изображений. Даже такая популярная технология глубокого обучения как GANscan — метод высокоскоростного изображения на основе генеративных противоборствующих сетей, который применяется для захвата QR-кодов на быстро движущихся сканирующих устройствах — не решает проблему восстановления поврежденных QR-кодов.
В связи с этим многие отечественные и зарубежные исследователи активно изучают возможность применения нейронных сетей для решения этой проблемы. Исследование ведется на кафедре «Интеллектуальные системы в управлении и автоматизации», на которой успешно реализуются проекты по применению технологий машинного зрения в разных сферах жизни. Изучением особенностей использования нейронных сетей для распознавания поврежденных штриховых кодов занимаются магистр Максим Четыркин и старший преподаватель Данил Безумнов.
В рамках исследования проведен анализ технологий компьютерного зрения, которые используются для распознавания испорченных штрихкодов, такие как Dynamsoft Barcode Reader и Socket Mobile C860, рассмотрены процессы разработки и тестирования подобных систем. Исследователи сформулировали функциональные требования к разрабатываемой системе и определили этапы, необходимые для их реализации.
«Технологии распознавания поврежденных маркировок применяются для их идентификации, отслеживания и верификации. Принцип работы системы по распознаванию поврежденных маркировок выглядит следующим образом: пользователь сканирует изображение с маркировкой при помощи специальной камеры, после чего нейронная сеть отмечает на видеопотоке расположение маркировки. Если программа не может распознать поврежденную маркировку, то нейросеть, основанная на алгоритмах нейронного восстановления изображения, восстановит информацию с маркировки», — рассказал Данил Безумнов.
В ходе исследования отмечено, что на распознавание штрих-кода могут негативно влиять низкое разрешение изображения(недостаточная плотность пикселей), неправильное расположение, перекрытие штрих-кода другими предметами, качество материала, цвет и отражающая способность упаковки, на которую нанесен штрих-код.
«Точность распознавания штрих-кодов во многом зависит от качества изображения. Для достижения приемлемой точности рекомендуется минимальное разрешение изображения не менее 200 точек на дюйм (DPI). Высокое разрешение обеспечивает большее количество точек на дюйм и, следовательно, более четкое изображение. Это особенно важно для обеспечения необходимой плотности пикселей, особенно в случае мелких полос и промежутков в штрих-коде. Одномерные штрих-коды обычно требуют не менее трех пикселей на самую маленькую полосу или промежуток, в то время как для двухмерных требуется около пяти пикселей», — отметил Максим Четыркин.
Для создания программного обеспечения, способного распознавать поврежденные штриховые коды с помощью нейросетей, исследователи предлагают следующую последовательность действий.
Сбор данных: Необходимо собрать обширный набор данных, включающий как поврежденные, так и четкие штриховые коды. Важно провести их аугментацию и очистку для обеспечения эффективного обучения модели.
Разработка архитектуры: Модель должна включать генеративно-состязательные сети (GAN) и архитектуру U-Net, специально адаптированные для восстановления поврежденных штриховых кодов. На этом этапе важно определить оптимальные гиперпараметры, которые обеспечат наилучшее обучение модели.
Обучение: Модель обучается на подготовленных данных с использованием выбранных гиперпараметров. Предварительно, важно оценить ее производительность на валидационных данных и, при необходимости, внести коррективы для повышения эффективности.
Тестирование: Модель проверяется на отложенном тестовом наборе данных для оценки ее способности восстанавливать поврежденные штриховые коды. Анализируются метрики качества восстановления, что позволяет оценить обобщающую способность модели.
Исследователи продолжают работать над улучшением всех этапов разработки системы, уделяя особое внимание адаптации моделей к различным условиям и сценариям использования.
Внедрение нейронных сетей для восстановления поврежденных штриховых кодов остается актуальным и перспективным направлением исследований в области машинного зрения, обеспечивая стабильность и надежность систем идентификации продукции в различных сферах промышленности и торговли.
Материал подготовлен на основе статьи «Нейросетевое распознавание поврежденных штриховых кодов».