Сканер дефектов древесины на основе нейронных сетей

C++ Python Нейронные сети Искусственный интеллект

Стек технологий:
Python, C++, OpenCV, Yolo8/PyTorch, PHP (Laravel), React, MySQL, Redis.
Команда разработки:
2 разработчика, аналитик, инженер по тестированию и менеджер проекта

Срок разработки проекта: 12 месяцев
Задача
К нам обратилась компания "Нейролес" с задачей по разработке программного обеспечения для промышленного сканера шпона (дефектоскопия для заводов-производителей фанеры).

Не так давно в связи с санкциями многие производители ушли из России и тема импортозамещения стала актуальной. Раньше на рынке присутствовала финская компания "Рауте" и их знаменитый продукт - сканер Mecano. Но после 2022 года готовые сканеры перестали поставлять в Россию и наши внутренние производители запустили в разработку несколько своих проектов.

Нам предстояла задача выбрать комплектующие, разработать модуль взаимодействия с промышленной камерой и в режиме реального времени и с высокой скоростью принимать решения по определению дефектов на листе и общего класса листа в соответствии с его качеством.
Как это выглядит?
  1. Есть конвейер, скорость которого - до 3.5 м/с, по которому едут листы шпона.
  2. Есть промышленная линейная камера, которая осуществляет съемку всех листов
  3. Есть наш вычислительный блок - задача которого для каждого листа распознать дефекты на нем, а также определить, в какую стопку (карман) складывать лист.
  4. Также есть специальный монитор для наблюдения за сканированием.
Какие сложности?
  • Ограниченные сроки. Компания Рауте потратила на развитие своих решений более 20 лет, у нас лимит по времени был более сжатый: максимум год на предоставление промышленного образца.
  • Вариативность дефектов: количество видов дефектов на листе, которое нужно распознавать - более 30.
  • Высокая скорость конвейера и требования к производительности: до 4 метров в секунду, переработка более 200мб матричных данных в секунду.
  • Съемка в разрешении 4К - это минимально-допустимое разрешение, которое в перспективе нужно заменить на 8К.
Таким образом, в секунду было необходимо обрабатывать не менее 100 миллионов чисел. По сути, это были матричные операции с получаемой со сканера видеоинформацией.
Задачи, которые были нами выполнены
  1. Произведено научное исследование для определения оптимальных алгоритмов распознавания дефектов. Мы достаточно быстро поняли, что обойтись одним OpenCV не получится - это очень дорого и долго. Выбор пал на технологии нейронных сетей, позволяющих определять объекты на изображении.
  2. Разработана система разметки датасета для нейронной сети, предусматривающая многоуровневые проверки отделом контроля качества, а также различные статистические метрики для контроля этапов выполнения работ
  3. Собран датасет, включающий все необходимые типы дефектов, произведена тренировка моделей.
  4. Разработана система взаимодействия с промышленной камерой для получения изображения и его обработки
  5. Разработана система определения дефектов с помощью нейронной сети. Использовались быстрые алгоритмы. Ведь предельно-допустимое время на обработку одного листа - 0.5 сек.
  6. Разработан монитор с системой управления сканером. Он позволяет в режиме реального времени управлять настройками правил сортировки, смотреть данные сканирования и статистику, а также управлять работой сканера

Как сканер выглядит на производстве?

Результат
Разработан промышленный образец сканера "Алеша", готовый к использованию на деревообрабатывающих предприятиях. Наше сотрудничество с компанией "Нейролес" продолжается.
Made on
Tilda