Machine Vision
Машинное зрение использует камеры, контролируемое освещение и анализ изображений, чтобы в реальном времени проверять, измерять и идентифицировать детали на производственных линиях и управлять ими.
Машинное зрение (MV) — это применение камер, оптики, освещения и анализа изображений в промышленной автоматизации для контроля продукции, измерения деталей, считывания кодов и управления машинами; каждый результат запускает действие, например отбраковку или сортировку детали либо управление роботом. Это компьютерное зрение, встроенное в контур управления: система машинного зрения на упаковочной линии должна принимать каждое решение в пределах времени цикла линии — десятков миллисекунд на деталь на быстрой линии розлива — и передавать его программируемому логическому контроллеру (PLC) через цифровой ввод-вывод или промышленную сеть. Задачи обычно делят на четыре группы: наведение (поиск деталей для роботов), контроль (обнаружение дефектов и отсутствующих элементов), измерение (определение размеров) и идентификация (считывание штрихкодов, кодов Data Matrix и печатного текста с помощью оптического распознавания символов).
Машинное зрение, компьютерное зрение и обработка изображений#
Машинное зрение применяет к промышленным машинам обработку изображений, которая преобразует изображения, фильтруя шум или повышая резкость границ, и компьютерное зрение, которое извлекает смысл из изображений в любых условиях. Его определяют оборудование и интеграция: управляемое освещение и оптика, камеры, запускаемые датчиками на линии, детерминированное время отклика и выходы, подключённые к исполнительным механизмам. Различия между тремя областями в основном связаны с масштабом задач, а современные системы машинного зрения используют те же модели глубокого обучения, что и другие приложения компьютерного зрения.
Компоненты системы машинного зрения#
- Освещение: Освещение определяет, что сможет увидеть камера. Контровая подсветка превращает детали в силуэты для точного измерения границ, рассеянная купольная подсветка подавляет блики на блестящих поверхностях, низкоугловое освещение в тёмном поле выделяет царапины и рельефные символы, а проецируемые лазерные линии показывают профили высоты в 3D.
- Оптика: Телецентрические объективы сохраняют постоянное увеличение при изменении расстояния до детали, поэтому результаты измерений не зависят от её положения.
- Камеры: Камеры с матричным сканированием захватывают отдельные детали за одну экспозицию, камеры с линейным сканированием построчно строят изображения непрерывных материалов, например стали, бумаги и тканей, а 3D-датчики используют лазерную триангуляцию, стереозрение или измерение времени пролёта. Интерфейсные стандарты, такие как GigE Vision, USB3 Vision и GenICam, позволяют программно управлять камерами разных производителей.
- Обработка и ввод-вывод: Фотоэлектрический датчик или энкодер запускает каждый захват изображения, интеллектуальная камера или промышленный ПК выполняет анализ, а результат передаётся на PLC — всё чаще с использованием периферийного оборудования с GPU или NPU.
Инструменты на основе правил и глубокое обучение#
Классическое программное обеспечение машинного зрения объединяет детерминированные инструменты: пороговую обработку, анализ блобов, обнаружение границ, сопоставление шаблонов и измерительные инструменты для определения расстояния между границами. В этом примере анализ блобов применяется к фотографии монет: программа подсчитывает детали и измеряет их размер:
import numpy as np
from scipy import ndimage as ndi
from skimage import data, filters, measure, segmentation
# Grayscale photo of 24 Greek coins on a gray background, bundled with scikit-image
image = data.coins()
# Seed the background (dark) and the parts (bright), then grow both along edge strength
markers = np.zeros_like(image)
markers[image < 30] = 1
markers[image > 150] = 2
mask = ndi.binary_fill_holes(segmentation.watershed(filters.sobel(image), markers) == 2)
# Blob analysis: label each part, ignore specks, and gauge each diameter in pixels
parts = [r for r in measure.regionprops(measure.label(mask)) if r.area > 300]
diameters = [part.equivalent_diameter_area for part in parts]
print(f"{len(parts)} parts, diameters {min(diameters):.0f}-{max(diameters):.0f} px")В выводе появляется 24 parts, diameters 37-63 px: программа находит и измеряет каждую монету, а производственная система сравнила бы диаметр каждой монеты с допуском и передала результат на PLC. На этой фотографии фон становится светлее в направлении верхнего левого угла, а уровни серого у фона и монет частично совпадают, поэтому единый глобальный порог Отсу разбивает изображение на 96 блобов; на производственной линии эту проблему предотвращает управляемое освещение.
Инструменты на основе правил быстры, понятны и точны для деталей с неизменной геометрией, но плохо справляются с естественными вариациями, например текстурой древесины, продуктами питания или косметическими дефектами самых разных форм. Модели детекции объектов, сегментации экземпляров и детекции аномалий учатся распознавать такие случаи на примерах. Модель сегментации YOLO26, обученная на изображениях дефектов, обводит царапины и трещины попиксельно, а режим экспорта Ultralytics преобразует её в TensorRT или OpenVINO, чтобы инференс в реальном времени укладывался в длительность цикла производственной линии на промышленном ПК или NVIDIA Jetson.
Примеры применения в реальных условиях#
- Автоматизированный оптический контроль: На электронных производственных линиях печатные платы проверяют на отсутствие, смещение или неправильную ориентацию компонентов и дефекты паяных соединений; часто до установки компонентов также проверяют объём паяльной пасты в 3D.
- Контроль фармацевтической продукции и упаковки: Системы проверяют уровень наполнения, крышки и этикетки, а OCR считывает напечатанные на каждой упаковке номер партии и срок годности.
- Робототехника с визуальным управлением: Роботы находят детали, хаотично сложенные в контейнере, чтобы выбрать и захватить нужную; для этого используются 3D-датчики и оценка позы.
- Автомобилестроение: 3D-датчики измеряют зазоры и перепады между кузовными панелями, а камеры проверяют качество лакокрасочного покрытия и сварных швов до того, как автомобили покинут линию.










