Блог AST-SoftPro
Компьютерное зрение в контроле качества: ИИ на производстве
Компьютерное зрение в контроле качества: ИИ на производстве
Автоматический контроль качества — одна из самых зрелых областей применения компьютерного зрения. Камеры и нейросети обнаруживают дефекты быстрее и точнее человека, работая 24/7 без усталости.
Типичные задачи компьютерного зрения на производстве
| Задача | Пример | Точность |
|---|---|---|
| Обнаружение дефектов | Трещины, сколы, царапины | 95-99% |
| Контроль сборки | Наличие компонентов, правильность | 98-99.5% |
| Чтение маркировки | Штрих-коды, текст, серийные номера | 97-99% |
| Измерение размеров | Толерансы, геометрия деталей | 0.01-0.1 мм |
| Классификация | Сортировка по типу/качеству | 94-98% |
Каждая из этих задач решает конкретную бизнес-проблему. Обнаружение дефектов снижает долю брака, уходящего к клиенту, и напрямую влияет на репутацию бренда. Контроль сборки исключает ситуации, когда изделие собрано неправильно — например, без фиксатора или с перепутанными деталями. Чтение маркировки обеспечивает прослеживаемость каждой единицы продукции, что критично для фармацевтики, пищевой промышленности и авиации.
Архитектура системы
Типичная система машинного зрения на производстве строится по принципу конвейера: изображение поступает с камеры, проходит предобработку, затем анализируется моделью, а результат передаётся в систему управления — PLC или SCADA — для принятия решения.
Камера (1080p+, 60 FPS) → Предобработка (crop, resize) → Нейросеть → PLC/SCADA (OK / NG)
Камера — это «глаза» системы. Выбор камеры зависит от задачи: для крупногабаритных деталей нужны панорамные камеры с широким углом обзора, для микросхем — макрообъективы с высоким разрешением. Ключевой параметр — частота кадров. Если на конвейере детали идут с интервалом 0,5 секунды, а камера делает 10 кадров в секунду, система будет пропускать дефекты.
Предобработка — обязательный этап. Сырой кадр с камеры редко подходит для анализа напрямую: нужно обрезать область интереса, привести изображение к единому размеру и нормализовать яркость. Без этого модель будет давать нестабильные результаты при смене освещения.
Нейросеть — ядро системы. На этом этапе происходит классификация, детекция или сегментация. Выбор архитектуры зависит от задачи: для обнаружения дефектов используют модели общего назначения (YOLO, EfficientDet), для классификации — сверточные сети (ResNet, EfficientNet), для точного измерения — модели сегментации (Mask R-CNN).
PLC/SCADA — точка интеграции с производством. Модель возвращает решение «OK» или «NG» (not good), и на основе этого решения конвейер может отклонить дефектное изделие, остановить линию или отправить сигнал оператору.
Детекция дефектов: как работает на практике
Самая распространённая задача — обнаружение дефектов на поверхности изделия. Модель сканирует изображение и возвращает координаты найденных дефектов вместе с оценкой уверенности.
results = model.predict(source=image, conf=0.5)
# Каждый результат: тип дефекта, уверенность, координаты рамки
Практически это означает следующее: модель возвращает список обнаруженных дефектов. Каждый дефект описывается тремя параметрами — типом (трещина, скол, царапина), уверенностью (от 0 до 1) и координатами на изображении. Порог уверенности (в примере 0,5) — настраиваемый параметр, который определяет компромисс между чувствительностью и ложными срабатываниями.
Снижение порога увеличивает чувствительность — модель находит больше дефектов, но возрастает доля ложных отбраковок. Повышение порога уменьшает ложные срабатывания, но часть реальных дефектов может остаться незамеченной. На практике порог подбирают экспериментально на тестовой выборке, балансируя между двумя видами ошибок.
Здесь важно подчеркнуть: качество настройки системы зависит от понимания бизнес-рисков. Отбраковка годного изделия обходится дешевле, чем дефект у клиента, но чрезмерная отбраковка съедает маржу. Подбор порога — это не техническая задача, а бизнес-решение, которое принимает руководитель производства совместно с технологом.
Классификация качества продукции
Помимо обнаружения конкретных дефектов, системы часто решают задачу общей классификации: изделие соответствует стандарту или нет. Модель вычисляет вероятность принадлежности к каждому классу и выбирает наиболее вероятный.
probs = model(image) # [0.02, 0.03, 0.85, 0.07, 0.03]
# Классы: ok, scratch, dent, color_defect, missing_part
В этом примере модель оценивает пять классов. Вектор вероятностей [0.02, 0.03, 0.85, 0.07, 0.03] означает, что с вероятностью 85% изделие имеет дефект типа «dent» (вмятина). Остальные вероятности — 2% на «ok», 3% на «scratch», 7% на «color_defect», 3% на «missing_part».
Такой подход даёт больше информации, чем простое бинарное решение «OK / NG». Менеджер производства видит не только факт дефекта, но и его тип — это позволяет анализировать тенденции: если за неделю выросла доля «color_defect», значит, проблема в краске или покрасочной линии, а не в механической обработке.
Кроме того, вероятностный вывод позволяет применять разные стратегии для разных классов. Например, дефекты типа «missing_part» (отсутствующая деталь) могут требовать немедленной остановки конвейера, тогда как «scratch» (царапина) — лишь маркировки изделия для ручной проверки.
Обучение модели: данные и процесс
Качество системы машинного зрения на 80% определяется качеством обучающей выборки. Для каждой категории дефекта необходимо собрать от 500 до 2000 изображений, чтобы модель научилась распознавать дефект надёжно.
# Разделение выборки: 80% на обучение, 20% на валидацию
train, val = split_dataset(images_dir, split=0.8)
Подготовка данных — самый трудоёмкий этап. Изображения дефектов нужно собрать, разметить и организовать по классам. Часто возникают проблемы:
-
Дисбаланс классов. Дефектных изделий обычно значительно меньше, чем годных. Если в выборке 95% «ok» и 5% «defect», модель научится просто всегда предсказывать «ok» и получит 95% точности — но при этом пропустит все дефекты. Решение — балансировка выборки: аугментация дефектных изображений (повороты, отражения, изменение яркости) или дообучение с весовыми коэффициентами.
-
Недостаток разнообразия. Если все изображения дефектов сняты в одной камере при одном освещении, модель не будет работать в других условиях. Нужно собирать данные при разном освещении, с разных ракурсов, на разных партиях продукции.
-
Качество разметки. Неправильно размеченные данные учат модель ошибочным паттернам. Разметку нужно проверять — желательно, чтобы два независимых аннотатора согласились с разметкой.
Важный момент для бизнеса: обучение модели — это не разовая задача, а непрерывный процесс. Когда на производстве появляется новый тип дефекта, модель нужно переобучить. Без регулярного обновления модель «выгорает» — её точность постепенно снижается по мере изменения условий производства. Это одна из скрытых затрат, которую часто не учитывают при планировании проекта.
Интеграция с конвейером: реальное время
Самая сложная часть внедрения — не обучение модели, а интеграция в реальный производственный процесс. Модель должна работать в режиме реального времени, обрабатывая каждый кадр и принимая решение до того, как изделие уйдёт дальше по конвейеру.
results = model.predict(source=frame, conf=0.85)
if defects_found: send_signal("reject") # → PLC
В реальном времени система обрабатывает каждый кадр с камеры. Если дефект обнаружен — отправляется сигнал в PLC, который может активировать отклоняющий механизм (откидной шлагбаум, пневматический толкатель) или остановить конвейер. Если дефекта нет — изделие проходит дальше.
Ключевые требования к производительности:
-
Задержка (latency) — время от поступления кадра до решения. Для большинства задач достаточно 100 миллисекунд. Если конвейер движется со скоростью 1 метр в секунду, за 100 мс изделие продвинется всего на 10 см — этого достаточно для отклонения.
-
Пропускная способность (throughput) — количество кадров в секунду. Должна соответствовать скорости конвейера. Если деталь проходит зону камеры за 0,2 секунды, а камера делает 30 кадров в секунду, нужно успеть обработать 6 кадров за это время.
-
Стабильность — система не должна «зависать» даже при пиковой нагрузке. В промышленных условиях это означает отказоустойчивую архитектуру: резервный сервер, автоматический перезапуск процессов, мониторинг.
Риск, о котором часто забывают: система машинного зрения — это IT-инфраструктура на производственном объекте. Она требует тех же мер безопасности, что и любая другая IT-система: обновление ПО, резервное копирование моделей, контроль доступа, мониторинг целостности. «Vibe-coding» — написание кода без понимания архитектуры и рисков — на производстве может привести к остановке линии на часы. Надёжность системы напрямую влияет на финансовые результаты.
Метрики системы контроля качества
| Метрика | Значение | Описание |
|---|---|---|
| Recall | > 97% | Доля обнаруженных дефектов |
| Precision | > 95% | Доля верных срабатываний |
| False Positive Rate | < 2% | Ложные отбраковки |
| Latency | < 100ms | Время обработки кадра |
| Throughput | 10-60 fps | Количество кадров в секунду |
Эти метрики нужно понимать не только технически, но и финансово. Recall (полнота) — это доля дефектов, которые система нашла. Если recall 97%, значит, из 100 дефектных изделий 3 ушли к клиенту. Precision (точность) — это доля верных отбраковок. Если precision 95%, значит, из 100 отбракованных изделий 5 были на самом деле годными — это прямые потери.
False Positive Rate (доля ложных срабатываний) напрямую влияет на себестоимость. Каждый годный продукт, отбракованный системой, — это потерянные материалы, энергия и трудозатраты. Снижение этого показателя на 1% может экономить десятки тысяч рублей в месяц на крупном производстве.
Когда компьютерное зрение не подходит
Не стоит применять компьютерное зрение в следующих случаях:
-
Дефекты, невидимые в оптическом спектре. Внутренние трещины в металле, пустоты в литье — для них нужен рентген или ультразвуковая дефектоскопия. Камера просто не увидит проблему.
-
Очень малые дефекты. Если дефект меньше 0,1 мм, нужна микроскопия с увеличением в десятки раз. Обычная промышленная камера не даст достаточного разрешения.
-
Прозрачные или отражающие поверхности. Стеклянные бутылки, хромированные детали, полированные поверхности создают проблемы с освещением. Требуется специальная подсветка (поляризованная, структурированная) и иногда несколько камер с разных ракурсов.
-
Нестандартные дефекты, которых нет в обучающей выборке. Машинное зрение — это статистическая модель. Она распознаёт то, на чём обучалась. Если на производстве появляется новый тип дефекта, который не был в обучающих данных, система его пропустит. Это фундаментальное ограничение, а не недостаток конкретной модели.
-
Низкий объём производства. Если на линии проходит 50-100 изделий в день, ручной контроль может быть дешевле. Система машинного зрения окупается при объёмах от нескольких тысяч изделий в смену.
Экономика внедрения
Внедрение системы компьютерного зрения — инвестиция, которая требует расчёта окупаемости. Основные статьи затрат:
-
Оборудование. Камеры, освещение, вычислительные серверы. Для одной линии — от 300 до 2000 тысяч рублей в зависимости от сложности.
-
Разработка. Сбор данных, разметка, обучение модели, интеграция с PLC. Этап занимает от 2 до 6 месяцев.
-
Поддержка. Обновление моделей, мониторинг, обслуживание оборудования. Годовые затраты составляют 15-25% от стоимости проекта.
Основные выгоды:
-
Снижение брака на 40-70%. Это прямая экономия на материалах и переработке.
-
Устранение человеческого фактора. Операторы устают, отвлекаются, ошибаются. Система работает одинаково в первую и последнюю минуту смены.
-
Прослеживаемость. Каждое решение системы записывается — можно отследить, когда и какие дефекты появлялись, и найти корневую причину.
-
Масштабируемость. Обученную модель можно развернуть на других линиях без повторного обучения, если условия производства похожи.
Однако масштабирование — отдельная задача. Модель, обученная на одной линии, может не работать на другой из-за разницы в освещении, ракурсах камеры или типе продукции. Перед масштабированием нужно оценить, насколько условия производства на разных линиях совпадают. Слепое копирование системы без адаптации — частая причина провала проектов.
Заключение
Компьютерное зрение на производстве снижает долю дефектной продукции на 40-70% и устраняет человеческий фактор в контроле качества. Система работает круглосуточно, обучается на каждом новом дефекте и адаптируется к изменениям в производстве.
Успешное внедрение требует трёх компонентов: качественных данных для обучения, грамотной интеграции в производственный процесс и понимания бизнес-метрик (recall, precision, false positive rate). Без всех трёх система либо не окупится, либо создаст больше проблем, чем решит.
Самая частая ошибка — считать компьютерное зрение «установил и забыл». Это не так. Модель требует регулярного обновления, мониторинга и периодической переобучки. Но при правильном подходе инвестиции окупаются за 6-18 месяцев, а система становится конкурентным преимуществом.