Система визуальной инспекции: автоматизация контроля качества методом «ЗОНА-ПАРА»

_image
  • 16.09.2026

Система визуальной инспекции — это программно-аппаратная разработка, созданная для полной автоматизации контроля качества на производственных линиях. Программа захватывает кадр с промышленной или стандартной камеры, интеллектуально разделяет его на зоны и проверяет каждый участок с помощью обученной нейросети. Результат анализа мгновенно превращается в физическое действие: от записи в журнал до отправки TCP-посылки роботу, контроллеру (ПЛК) или сигнала на дискретный выход камеры для отбраковки.

Этот подход идеально подходит для сложных изделий, где стандарт качества уникален для каждого конкретного участка: печатных плат, электронных сборок, наборов деталей в ложементе или упаковочной раскладки.

Инновационный метод «ЗОНА-ПАРА»: решение проблемы 

Классические системы машинного зрения пытаются анализировать кадр целиком, используя два глобальных класса: «норма» и «брак». На практике это не работает: отсутствие детали на контактной площадке в зоне «А» может быть конструктивной нормой, а в зоне «Б» — критическим браком. Создание же отдельной модели для каждой зоны ведет к сотням процессов обучения и колоссальной нагрузке на вычислительные ресурсы.

Метод «ЗОНА-ПАРА» решает эту проблему за счет многозонности:

  • Единая нейросеть: Используется одна модель на всё изделие.
  • Уникальные условия: Для каждой зоны формируется своя пара критериев (например, zone_017_норма и zone_017_аномалия). Решение принимается строго внутри этой пары.
  • Принцип «узнавания»: Классы аномалий необязательны. Если вид зоны меняется (появляется неожиданный дефект), уверенность алгоритма в «норме» падает автоматически, что гарантирует точное срабатывание.

Обучение нейросети без брака: инновационная синтетика данных

Традиционные системы машинного зрения требуют месяцев на сбор коллекции реальных дефектов. Наша технология генерирует высококачественные синтетические данные автоматически.

Синтетика нормы и аномалий

Программа делает снимок исправной платы и создает «синтетику нормы» — естественный разброс съёмки (сдвиг окна на 0–2 пикселя, флуктуации света и шума), чтобы нейросеть понимала допустимые отклонения.

Главная инновация при генерации брака — элемент смещается вместе с основанием. Программа берет изображение исправного элемента вместе с фрагментом платы (дорожками, шелкографией, цветом), уменьшает кадр, а затем математически сдвигает (на 5–12 пикселей) или поворачивает его (на 15–180° для круга в 70% зоны), дозаполняя края соседними пикселями. Нейросеть учится распознавать саму связь «элемент ↔ плата», а не просто ищет цветные пятна.

Защита от ложных срабатываний и маркировка деталей

Заводская маркировка электронных компонентов (штрихи 1–2 пикселя) часто меняется от партии к партии. Система защищает линию от ложных срабатываний двумя способами:

  1. Маркировка «путешествует» с корпусом. При смещении надпись переносится вместе с деталью, не становясь уникальным признаком дефекта.
  2. Толщина дефектов. Если искусственный дефект (царапина/линия) рисуется алгоритмом, он делается «жирным» — шириной ⅛ от зоны, но не тоньше 3 пикселей (настраивается). Нейросеть не перепутает его с тонким штрихом легальной маркировки.

Продвинутая синтетика: бляшки припоя и ручной редактор

  • Автоматические замыкания: Программа находит дорожки (используя порог Оцу для светлых полос от 2 px) и реалистично ставит между ними «каплю» припоя нужного цвета, с темной кромкой и бликом (размер 8–18% от зоны).
  • Редактор зоны: Если нужно смоделировать уникальный брак (лишний элемент, залитая площадка), встроенный редактор предлагает кисть, пипетку, штамп и специальную палитру. Эти снимки получают префикс edit_...jpg и сразу попадают в класс аномалии.

Точность инспекции: честный инженерный расчет под вашу оптику

Мы предпочитаем инженерную честность: чувствительность системы к смещению жестко зависит от вашей оптики. Программа не обещает «0,5 мм» безотносительно камеры.

Считается это по простой формуле:

  1. Разрешение (px/мм) = ширина кадра (px) ÷ ширина поля зрения (мм).
  2. Минимальный заметный сдвиг ≈ 5 px ÷ (px/мм).

Число 5 px — это нижняя граница синтетического сдвига. Настройки по умолчанию рассчитаны на масштаб 11 px/мм: при нем порог в 5–6 px как раз дает те самые 0,5 мм физического смещения. Чем меньше поле зрения и выше разрешение, тем более мелкий дефект «увидит» система.

Оптимизация и аппаратная гибкость

Архитектура спроектирована так, чтобы выжимать максимум из оборудования и поддерживать темп конвейера:

  • Анализ только нужных областей: Нейросеть не обрабатывает кадр целиком. Вырезаются строго заданные прямоугольники зон, а вычисления параллелятся (до 4 потоков).
  • Баланс мощности: Используется легкая, но емкая архитектура YOLO11 размера «s» с входом 128 px. Зона почти не масштабируется, сохраняя микродетали.
  • Переключение GPU/CPU: Инференс работает на видеокартах NVIDIA (ONNX Runtime с CUDA). Если GPU нет, система бесшовно переключается на процессор (CPU), информируя оператора.
  • «Живой конвейер» и стабильность: Плата ищется и выравнивается по маркерам только один раз, затем из выровненного кадра режутся зоны. Память выделяется один раз, исключая скачки времени анализа.
  • Интерфейс без тормозов: Отрисовка видео ограничена 25 FPS, журналы пишутся в фоне. Панель (слева — видео, справа — управление) адаптируется под любой монитор. Строка состояния показывает FPS, нагрузку на сеть (GigE) и запас кадрового интервала экспозиции (Exp Load).

Интеграция с линией: камеры, триггеры и браковщик

СИСТЕМА масштабируется под любые задачи и не имеет жесткой привязки к конкретному бренду оптики. На стендах она уверенно работает с 8–9 камерами одновременно.

Поддерживаемое оборудование:

  • Промышленные камеры HIKROBOT (GigE и USB3, MVS SDK).
  • SICK picoCam (на базе IDS uEye).
  • Стандартные USB и веб-камеры.
  • IP-камеры по RTSP-протоколу.
  • Интеграция с аппаратным энкодером (COM-порт, 115200, ESP32) для точной съемки по пути движения.

Правила отбраковки (Окно OUTPUT)

Браковщик превращает решение нейросети в действие на линии. Назначается на конкретную зону, класс или модель. Доступно 3 типа реакций:

  1. TCP-посылка: Отправка строки (UTF-8, CR+LF) роботу или ПЛК. Работает через независимый поток-диспетчер с автопереподключением.
  2. Дискретный выход камеры («сухой контакт»): Сигнал на ПЛК. Для множества зон на одном пине работает логическое «И» (одна бракованная зона переводит выход в LOW). Предел для HIKROBOT — 25 мА, для SICK запас больше (прямое подключение лампы 20–30 мА).
  3. Звуковое оповещение: Мгновенная реакция оператора без взгляда на экран (разные звуковые сигналы на разные типы брака).

Хранение данных, архивация и архитектура «Сетка = Модель»

Наша разработка избавляет от хаоса в базах данных.

  • Хранение моделей: Вся разметка (сетка зон, классы zone_NNN, область привязки) хранится исключительно в папке модели (файлы data.json и live_template.txt). Модель переносится на другой ПК простым копированием папки. Главное правило: сетка — часть модели, менять ее после съемки классов нельзя (иначе появится ошибка NO_ZONE_CLASS).
  • База данных: Настройки камер, правила браковщика и журнал событий лежат в одном локальном файле SQLite (rejectors.db). Серверы баз данных не требуются, поддерживается горячее резервное копирование и экспорт в JSON. Интерфейс программы доступен на 14 языках.
  • Журналирование 24/7: Консоль собирает строки пачками 4 раза в сек. Лог-файлы дробятся по 20 МБ, записи старше 14 дней удаляются. В базе сохраняются последние 20 000 срабатываний. При сбоях генерируются crash.log и runtime.log. Запись видео конвейера идет в формате .avi (кодек MJPG), а снимки автоматически структурируются: real_...jpg, syn_...jpg, inspect_...jpg.

Когда нужна много-модельная инспекция ?

Обычно для метода «ЗОНА-ПАРА» слоты не нужны — одна модель покрывает всю плату, исключая проблему «слияния похожих классов». Но наша система поддерживает до 20 моделей на кадр для следующих задач:

  1. Разные задачи: ЗОНА-ПАРА проверяет наличие элементов, а обычная классификационная модель в соседнем слоте — маркировку или цвет разъема.
  2. Изделия без сетки: Таблетки, крышки, детали в ложементе (для них отлично работает встроенный редактор ROI с поворотами на 360° и «классами по градусам»).
  3. Две платы в кадре: Две разные сетки и модели работают параллельно.
  4. Переходный период: Старая модель и новая обучающаяся модель работают на одном кадре для контроля.

Для многокамерных стендов используется функция «ОБЩИЕ МОДЕЛИ». Она объединяет связки «камера + модель». Переход линии из 8 камер на новую деталь выполняется одним кликом (разметка зон остается уникальной для каждой камеры).

Полное руководство пользователя смотрите здесь