Мобильный контроль качества: интеллектуальная система распознавания кодов для РЕХАУ
Мобильный контроль качества: интеллектуальная система распознавания кодов для РЕХАУ
    О проекте
    Компания Globus IT разработала уникальное решение для автоматической проверки маркировки товаров, использующих QR-кодыштрих-коды и DataMatrix-коды. Проект был реализован для компании РЕХАУ в рамках мобильного приложения «РЕХАУ Про Качество» – мобильного решения для контроля качества продукции. В процессе разработки было необходимо заменить стороннюю библиотеку, использовавшуюся для распознавания кодов, на собственное решение с использованием машинного обучения (ML), чтобы избежать потенциальных рисков отключения сторонних сервисов.
    Задача
    Основной задачей проекта было создание мобильного приложения, которое обеспечивало бы проверку продукции с помощью сканирования кодов, их идентификацию и проверку на оригинальность. В связи с угрозой отключения сторонней библиотеки в России было решено разработать собственную модель машинного обучения для распознавания кодов и гарантировать независимость от внешних сервисов.Процесс разработки был разделен на несколько ключевых этапов:
    1. Разработка мобильного приложения для сканирования и обработки кодов
    2. Создание библиотеки для распознавания кодов на изделиях с использованием методов машинного обучения
    3. Миграция на собственное решение
    Реализация
    Для выполнения задачи была разработана собственная модель машинного обучения (ML), которая была интегрирована в мобильное приложение, разработанное с использованием Flutter.Основные компоненты решения:
    1. Модуль предобработки изображений (ImagePreprocessor): отвечает за подготовку изображений перед распознаванием Data Matrix кодов. Включает функции бинаризации, коррекции контраста, а также геометрических преобразований. Модуль обеспечивает точную подготовку изображения для последующего распознавания путем устранения шумов, повышения контрастности и корректного выравнивания кода
    2. Модуль детекции и классификации Data Matrix (DataMatrixDetector): использует модели машинного обучения для обнаружения и классификации Data Matrix кодов на изображении. Основан на нескольких моделях:
      - Детектор YOLO Nas для локализации кодов
      - Сегментационная модель на основе DeepLabV3 для создания маски кода
      - Классификационная модель для определения ориентации кода
      - Фильтрующая модель для оценки качества изображения
      Классификация осуществляется с помощью сверточных нейронных сетей, включая архитектуры ResNet18 и MobileNetV3, с применением transfer learning для повышения точности распознавания
    3. Модуль построения границ и улучшения качества изображения (EdgeEnhancementModule): применяет специализированные алгоритмы для улучшения качества реконструкции и оптимизации границ символов Data Matrix. Включает функции для рисования шаблонов границ (draw_full_image_border_pattern), добавления белых границ (add_white_border) и создания структурированных рамок с чередующимися черными и белыми участками. Это позволяет значительно улучшить качество распознавания даже при наличии повреждений в коде
    4. Модуль реконструкции и декодирования (DataMatrixDecoder): на основе результатов предыдущих этапов восстанавливает и декодирует Data Matrix код. Использует многопоточную обработку для параллельного применения различных методов сегментации и ориентаций изображения, что существенно повышает вероятность успешного декодирования. Для декодирования использует библиотеку pylibdmtx, а также имеет поддержку распознавания штрих-кодов и QR-кодов через pyzbar. Модуль эффективно извлекает данные даже из поврежденных или нечетко прочитанных кодов.
    Система работает по принципу конвейера, где каждый модуль выполняет свою специализированную задачу, передавая результаты следующему модулю. Особенностью реализации является применение множества альтернативных подходов к обработке изображения, что обеспечивает высокую устойчивость к различным условиям съемки, повреждениям кода и искажениям.
    Результат
    Проект был успешно завершен с учетом всех требований заказчика. Разработанное решение полностью заменило ранее использовавшуюся библиотеку, исключив возможные риски, связанные с отключением сторонних сервисов, и обеспечив полную независимость.Результаты проекта:
    1. Разработка собственного решения для распознавания и декодирования кодов, использующего передовые технологии машинного обучения и компьютерного зрения
    2. Повышение гибкости и производительности благодаря использованию сервисной архитектуры и контейнеризации на базе Docker
    3. Разработка эффективной и надежной системы, обеспечивающей точность распознавания кодов, даже в условиях нестабильных изображений или поврежденных кодов
    4. Система способна обрабатывать большое количество изображений одновременно, что значительно ускоряет процесс контроля качества
    Проект продемонстрировал успешное использование импортозамещения и создание инновационного решения, которое обеспечит долгосрочную стабильность и развитие системы для компании РЕХАУ.
    Технологии
    • KotlinKotlin
    • SwiftSwift
    • FlutterFlutter
    • DockerDocker
    Сообщение отправлено

    Обсудить идею или проект

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