В данной статье будут рассмотрены основные принципы технического зрения, методы, оборудование и производители, а также примеры использования.
Техническое зрение — одна из самых перспективных областей автоматизации. По данным опроса журнала Control Engineering, 64% респондентов собираются увеличить закупки компонентов технического зрения в следующие 12 месяцев, а 29% решили оставить вложения на уровне прошлого года.
Техническое зрение (или иначе говоря машинное зрение) - это область науки и промышленности, которая на основе информации из изображений и видеоданных, а также применении современных методов цифровой обработки графических данных, получает возможность определения важных свойств заснятых объектов, таких как: размеры, положения, углы наклона, соответствия с шаблоном, подсчет, распознавание объектов, определение интенсивности, определения граней (границ), распознавание текста (OCV), штрих- или QR-кода, расчет площади и другие геометрические измерения, а также расчет расстояния (например с использованием лазерной триангуляции), выделение связанных объектов, построение гистограмм.
Технология.
Процесс обработки состоит из двух важных этапов: обработка изображения с помощью специальных математических методов (фильтры использующие матрицу свертки), их еще называют препроцессы, и непосредственно выскоуровневая обработка - визуальная инспекция, позволяющая получить результат в виде чисел - целевых характеристик, о которых поговорим ниже, либо просто вывод OK / NG для активации выходов.
Методы предварительной обработка в основном представляют из себя попиксельные операции бинаризации, увеличения контрастности, устранению шумов или геометрические преобразования, такие как аффинные преобразования, эрозия и наращивание (Erosion and Dilation), а также более сложные, но порой необходимые преобразования Лапласа, Собеля, Канни для поиска границ или краев (Edge).
Несмотря на мощный набор инструментов основой хорошей работы системы должна быть правильная настройка съемки, то есть правильный выбор освещения, защита от засветок и теней, схема съемки, а также настройка экспозиции - выдержка (Shutter speed) и диафрагма (Aperture), использование оптических светофильтров.
Работа с объективом и камерой.
Основы выбора объектива и камеры исходит из задачи, размер мельчайшего объекта должен занимать необходимое минимальное число пикселей, а общая картина съемки помещаться в кадр матрицы сенсора. Так например для определения штрих-кода необходимо, чтобы линия была не меньше 3 пикселей толщиной. Существуют специальный таблицы и формулы для пересчета размера поля зрения на размер матрицы и это не является проблемой.
Перед тем как выбрать объектив для системы технического зрения, системный интегратор должен знать, какой объект будет наблюдаться, и чем он будет окружен. Этот видимый участок называют полем зрения оптической системы, измеряемый как по диагонали, так и по горизонтали. Как правило, отношение между горизонтальным и вертикальным размерами поля зрения оптической системы составляет 4:3. Это отношение зависит от площади активной части матрицы камеры. Размер матрицы очень важен при определении значения величины увеличения объектива, от которой зависит площадь поля зрения оптической системы. Увеличение сенсора равно отношению размера матрицы к полю оптической системы и представляет собой «работу» выполняемую объективом, и эту величину необходимо учитывать при его выборе.
Увеличение объектива = Размер матрицы / Поле зрения оптической системы
Характеристики предмета также очень важны. Способность объектива распознать отдельные детали предмета зависит от контрастности этих деталей. Одним из способов определения разрешающей способности системы является использование решетки Ронки на мишени при проведении испытаний ВВС США. Эта решетка имеет одну пару линий – белую и черную одинаковой ширины. В качестве других целей могут использоваться круги или точечные сетки.
Способность объектива различить пару линий или точек определенной ширины в конкретных условия освещения характеризует разрешающую способность объектива. Разрешающая способность часто изображается графически модуляционно-передаточной функцией (MTF).
Площадь, необходимая для установки автоматической системы технического зрения и линии сборки, может варьироваться от нескольких метров до размеров целого цеха. Рабочее расстояние – расстояние между объектом и передним краем объектива камеры при фокусировке изображения. Этот параметр налагает ограничения на площадь, необходимую системе технического зрения и оборудованию для совместной работы. В некоторых приложениях, таких как контроль состояния футеровки вакуумной печи, значение рабочего расстояния может изменяться в большом диапазоне, и функционирование системы обеспечивается использованием короткофокусных объективов или объективов видеомикроскопа с большим рабочим расстоянием. В других приложениях, таких как микроскопическое наблюдение с большим увеличением, рабочее расстояние составляет несколько сантиметров.
Рабочее расстояние может в определенных пределах изменяться с помощью перефокусировки объектива. Объективы с бесконечным расстоянием фокусировки могут фокусироваться от минимальной рабочей дистанции до бесконечности. Объективы с конечным расстоянием фокусировки имеют определенный рабочий диапазон.
Прежде чем начинать работу с камерами стоит почитать про предметную съемку. Там много описано про схемы съемки, использование рефлекторов, лайткубов, стрип-боксов, фрост-фильтров итп для получения максимально полного и четкого изображения. Кроме схемы съемок стоит понять как работает диафрагма - один из факторов настройки экспозиции. Настройка диафрагмы производится в соответствии с нужной ГРИП – глубиной резкости изображаемого пространства. Чем шире открыта диафрагма, тем меньше глубина. С большим значением ГРИП вы сможете получить изображение предмета резким и не получить размытие его дальних очертаний и наоборот размять объекты не в фокусе при широкой диафрагме. На рисунке ниже кратко описано влияние диафрагмы.
Полностью открытая диафрагма приводит к появлению большего числа аберраций от системы линз, Когда мы прикрываем отверстие диафрагмы, часть светового потока, проходящая через края всех линз объектива, отсекается. Таким образом, в формировании изображения принимает участие только центр линз, который свободен от искажений.
По мере уменьшения отверстия диафрагмы всё большая часть световых лучей, которые проходят через это отверстие, касается его краёв и немного отклоняются от своего основного пути. Они как бы огибают края. Это явление называется дифракция. При дифракции каждая точка снимаемого объекта, даже если она находится четко в фокусе, на матрицу проецируется не как точка, а как небольшое размытое пятно, которое принято называть диском Эйри. И размеры этого диска тем больше, чем меньше отверстие диафрагмы. И когда диаметр диска Эйри превышает размеры отдельного фотодиода на матрице, то нерезкость изображения становится очень заметной. И чем меньше мы делаем отверстие диафрагмы, тем больше усиливается дифракция. Как его использовать и использовать ли вообще решать вам.
Одним из факторов, мешающих работать инспекциям является блики и тени. Объектив создаёт блик, когда свет, не имеющий отношения к сформированному изображению, попадает в оптическую систему и достигает цифрового сенсора. Понимание природы бликов поможет вам их наилучшим образом избежать в финальном изображении. Блики порождает свет вне пределов изображения, который вместо прохождения по предусмотренному оптическому пути отражается от оптических элементов внутри произвольное количество раз, прежде чем попасть на цифровой сенсор. Хорошая бленда может практически исключить блики от случайного света из-за пределов угла зрения. Несмотря на то, что использование бленды кажется простым решением, в действительности большинство бленд недостаточно велики, чтобы заблокировать весь случайный свет. Это особенно проблематично при использовании 35 мм объективов. Положение и общий вид бликов меняется в зависимости от степени раскрытия диафрагмы, то есть сужение диафрагмы позволяет улучшить картинку на изображении и избавиться не только от бликов, но и от теней.
Препроцессы (фильтры).
Для понимания препрцессов предлагаю ознакомиться с результатами их работы на примерах:
Для начала опишу, что такое Матрица свёртки – это матрица коэффициентов (минимум это 3х3 пакселя), которая «умножается» на матрицу значений пикселей изображения для получения требуемого результата.
div – это коэффициент нормирования, для того чтобы средняя интенсивность оставалась не изменой.
Наиболее часто используемым фильтром, основанным на матрице свёртки, является фильтр размытия (Blur).
Обычно матрица заполняется по нормальному (гауссовому закону).
От размера матрицы зависит сила размытия.
Для улучшения четкости необходимо использовать следующую матрицу:
Эта матрица увеличивает разницу значений на границах. Div для этой матрицы равен 1.
Медианный фильтр (Median) обычно используется для уменьшения шума или «сглаживания» изображения.
Фильтр работает с матрицами различного размера, но в отличие от матрицы свёртки, размер матрицы влияет только на количество рассматриваемых пикселей.
Алгоритм медианного фильтра следующий:
Для текущего пикселя, пиксели, которые «попадают» в матрицу, сортируются, и выбирается средние значение из отсортированного массива. Это значение и является выходным для текущего пикселя.
Фильтры наращивание (Dilation) и эрозия (Erosion) служат для получения морфологического расширения или сужения соответственно. Проще говоря, для изображений это значит выбор пикселя с максимальной или минимальной интенсивностью из окрестности.
В результате наращивания происходит увеличение ярких объектов, а эрозии – увеличение тёмных объектов.
Алгоритм выделения границ или иначе обнаружения границ работают после того, как качество изображения улучшено перечисленными выше методами.
Оператор Собеля хорошо известен во всем мире и применяется для многих задач. Оператор Собеля представляет собой более неточное приближение градиента изображения, но он достаточно качественен для практического применения во многих задачах. Точнее, оператор использует значения интенсивности только в окрестности 3×3 каждого пиксела для получения приближения соответствующего градиента изображения, и использует только целочисленные значения весовых коэффициентов яркости для оценки градиента.
Если вспомнили Собеля, грех не вспомнить оператор Лапласа. Лапласиан изображения - суммирование производных второго порядка. Если уж расписали обе матрицы для оператора Собеля, стоить добавить формулу для вычисления направления границы — «a = arctg(A*Gx / A*Gy)».
Контуры можно использовать для улучшения изображения. Например получив лапласиан и сложив с исходным изображением получите более четкие границы. Если тема интересна можете почитать Гонсалеса — у него все доступно и интересно описано.
Хочется отметить, что метод Канни (Canny) — де-факто основной метод распознавания границ на изображении на сегодня, но он сложнее, потому не популярен в быстрых системах технического зрения.
Инспекции.
К методам высокоуровневой обработки относятся следующие инспекции (Judge):
Area или "площадь" определение число белых или черных пикселей в указанном регионе поиска (ROI).
Blob - исторически первый и самый популярный и функциональный инструмент (именно Blob был продемонстрирован системой Автовижн II компании Автоматикс на выставке в 1983 году) вычисляет для связанных групп белых или черных пикселей в указанном регионе поиска (ROI) площадь, периметр, близость по форме кругу и длину оси инерции объектов, а так же делает отбор по указанным расчетным параметрам (площадь, периметр, близость по форме кругу и длину оси инерции объектов).
Stain - эта функция обнаруживает "царапины и мазки", другими словами дефекты в указанном регионе поиска (ROI).
Edge Angle - эта функция находит две точки границы, образованные изменением яркости на изображении, а затем вычисляет угол наклона линии границы к горизонтальной оси.
Edge Count или "число кромок" вычисляет число границ цветового перехода с заданными характеристиками в указанном регионе поиска (ROI), это может быть посчитано как в декартовой системе, так и в градусах в полярной системе координат, и в пикселях в удалении от центра.
Edge Pitch или "ширина по кромкам" (улучшенная Edge Width) вычисляет сразу несколько расстояний между границами цветового перехода с заданными характеристиками в указанном регионе поиска (ROI), это может быть определено как в декартовой, так и в полярной системе координат.
Edge Position или "положение границы цветового перехода" расстояние в пикселях для декартовой и в градусах для полярной системы координат от начала регионе поиска (ROI) до границы цветового перехода.
Edge Width или "ширина по кромкам" вычисляет расстояние между границами цветового перехода с заданными характеристиками в указанном регионе поиска (ROI), это может быть определено как в декартовой, так и в полярной системе координат.
Shape или "поиск по форме" находит в указанном регионе поиска (ROI) объект по шаблону и рассчитывает для него процент схожести, а также указывает количество, координаты и угол найденных объектов.
Intensity или "насыщенность" вычисляет интенсивность пикселей в указанном регионе поиска (ROI), а также анализирует максимум, минимум и изменение интенсивности.
Position Trace аналог Edge Position, но имеет более полный набор функций, вычисляет расстояние в пикселях для декартовой и в градусах для полярной системы координат от начала регионе поиска (ROI) до границы цветового перехода, при этом инспекция находит число границ переходов, положение первого, положение последнего перехода, усредненное положение границ, положение "вершин" образованных границей в направлении обхода.
Width Trace аналогично Edge Width и предыдущей описанной инспекцией вычисляет расстояние в пикселях для декартовой и в градусах для полярной системы координат между границами цветового перехода, при этом инспекция находит число границ переходов, ширину наименьшую, ширину наибольшую, усредненное значение ширины, считает координаты объектов.
OCV или "распознавание текста" кроме непосредственно распознавания рассчитывает угол наклона, координаты в указанном регионе поиска (ROI).
Bar Code или "чтение штрих-кода" считывает штрих-код в указанном регионе поиска (ROI), сравнивает с шаблоном.
2D Bar Code или "чтение QR-кода" считывает двухмерный штрих-код в указанном регионе поиска (ROI), сравнивает с шаблоном.
1P Position и 1P Location вспомогательная инспекция, которая переводит координаты из пикселей в систему координат машин (микроны, миллиметры).
Оборудование.
Оборудование представлено в первую очередь недорогими интеллектуальными датчиками и интеллектуальными камерами, а также более функциональными системами технического зрения с контроллерами, работающими с быстрыми камерами и позволяющие в полной мере организовать автоматизацию современных тех.процессов.
Начнем с Siemens и их SIMATIC Machine Vision: это интеллектуальные камеры VS720, датчики цветных меток MV220, датчики изображения SIMATIC VS100, системы считывания штрих-кодов SIMATIC HawkEye 1500.
Среди лидеров по инновациям и разработкам и Cognex: In-Sight - интеллектуальные камеры, In-Sight 2000 - интеллектуальные видеодатчики, In-Sight VC200 Multi - многокамерные системы машинного зрения, Checker - видеодатчики, DS1000 - интеллектуальные 3D сканеры, Камеры машинного зрения Cognex, SmartView - системы инспекции поверхностей.
Естественно Delta Electronics не обошла стороной и эту отрасль промышленности, её флагманская модель DMV2000 вобрала в себя и функционал на уровне топовых серий Омрона и цены порой сопоставимые с более медленными и менее функциональными решениями на интеллектуальных камерах и датчиках. Качество у них тоже на высоте, ведь они сами являются конечными потребителями своей же продукции на своих заводах, там все техническое зрение, что стоит - от самой Дельты, а также и роботы типа SCARA и артикуляционные.
У OMRON линейка технического зрения начинается с ZVF и ZFX и по мере роста функционала включает в себя модели F160, F210, F500 и далее уже идут мощные Xpectia.
Sick имеет в своем арсенале только интеллектуальные датчики, но правда в 2D и 3D: Семейство CVS (Обнаружение, различение и сортировка по цвету), Семейство Inspector (Интеллектуальное решение для обработки изображений в виде удобного датчика), Семейство InspectorP63x (Может программироваться. Компактная. Универсальная), Семейство InspectorP65x (Может программироваться. Высокопроизводительная. Большая дальность действия), Семейство InspectorP64x (Программируемая. Экономичная. Быстрая), Семейство Lector63x (Интеллектуальный. Удобный. Интуитивный), Семейство picoCam (Ультракомпактные промышленные потоковые камеры с интерфейсом GigE), Семейство midiCam (Надежные промышленные потоковые камеры с интерфейсом GigE), Семейство Lector62x (Идеальное зрение – при любом освещении), Семейство Lector65x (Гибкое считывание кодов на движущейся ленте), Семейство Lector64x (Высокая эффективность для задач по считыванию кода).
Еще существуют FESTO, есть датчики VA20 от компании ipd, Jai Pulnix представляет CCD камеру TM-1327GE с прогрессивным сканированием, датчиком (Sony ICX285), SensoPart, Turk, но их доля рынка не так значительна, потому они представлены скорее для ознакомления.
Применение.
Логистика: логистические комплексы требуют высокой производительности и естественно уменьшению расходов, в том числе на зарплату. Здесь техническое зрение позволяет организовать автоматическую сортировку без участия персонала, тк не требуется искать правильный угол для сканера штрихкода, а так же вообще искать его, плюсом можно осуществлять контроль тары.
Фармацевтика
Пищевая промышленность: системы машинного зрения позволяют сертифицировать процесс по самым требовательным стандартам качества продукции, пищевой безопасности, целостности упаковки и повышения производительности для предприятий пищевой промышленности. Плюсом можно повысить производительность конвейера используя роботов, техническое зрение в этом случае просто незаменимо. Техническое зрение также позволяет вести считывание акцизных марок для передачи данных в ЕГАИС
Автомобилестроение: проверка тормозных колодок, проверка клеевого шва, проверка зазоров.
Металлургия: контроль сварных швов.
Электроника: контроль выбора компонентов, разворот и ориентирование, обнаружение дефектов пайки.