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