Технология машинного зрения позволяет промышленному оборудованию "видеть" и анализировать объекты, а также взаимодействовать с ними, что в свою очередь помогает повысить качество изготавливаемой продукции, сократить расходы на производство, а также упростить задачи.
Чем машинное зрение отличается от технического или компьютерного?
Начнем с терминологии. В русском языке существует как минимум три близких до смешения определения: зрение машинное, компьютерное и техническое. В английском - получили распространение всего два: машинное (Machine Vision) и компьютерное (Computer Vision). Давайте попытаемся разобраться - в чем разница?
Начнем с английских определений – их меньше. Термин «Машинное зрение» (Machine Vision), как правило, употребляется при описании систем и технологий, используемых в промышленной автоматизации, т.е. там, где используются «машины» в их наиболее широком понимании: техника как механизмы или устройства, выполняющие какую-либо работу. Термин «компьютерное зрение», на наш взгляд, несет несколько иную смысловую нагрузку: в первую очередь речь идет об использовании вычислительной машины - компьютера как основного элемента таких систем. Системы машинного зрения находят применение не только в промышленности (технике), но и в медицине (подсчет эритроцитов, иридодиагностика и др.), в задачах охраны и безопасности (распознавание номеров, лиц) и других. Основной упор в компьютерном зрении делается скорее на алгоритмическую часть, математику, нежели на области его практического применения.
В русскоязычном варианте термин «компьютерное зрение» полностью повторяет свое значение. А вот термин «машинное зрение» в переводе на русский язык наследует немного иное понимание. В общеупотребительной практике «машина» ассоциируется скорее со словом «автомобиль» нежели с более общим термином «техника». Например, стиральная машина - но бытовая техника. Вероятно, именно поэтому у нас появилась еще одна интерпретация, свободная от этой двусмысленности: техническое зрение. На наш взгляд, она в полной мере является аналогом английского термина «машинное» зрение и наравне с последним может употребляться для определения промышленных систем, использующих зрение во всех его проявлениях. Итак, ниже пойдет речь собственно о системах машинного или технического зрения.
Преимущества машинного зрения
Машинное зрение повышает эффективность работы компании, производительность и экономит денежные средства. Внедрение на производстве систем машинного зрения существенно повышает его конкурентоспособность, что обусловлено целым рядом очевидных преимуществ роботизированного труда:- Компьютерное зрение идеально подходит для рутинных, повторяющихся задач, на которых человек способен легко потерять концентрацию внимания и допустить ошибку;
- В сферах, требующих высокой точности, таких как фармацевтика и машиностроение, машинное зрение гарантирует абсолютную точность выполнения задач;
- Значительное преимущество машинного зрения перед человеческим трудом - это способность компьютера к выявлению на изображениях миллионы оттенков и градаций цветов, недоступных человеческому глазу;
- Машинное зрение способно одновременно воспринимать огромное множество объектов, что не только уменьшает время выполнения задач, но и расширяет функционал возможностей.
Задачи машинного зрения
Типичные задачи, которые решаются с помощью систем машинного зрения:- соответствие качества продукции;
- обнаружение и поиск объектов, измерение размеров;
- управление инструментами (машиной, роботом и т.д.);
- тестирование и калибровка;
- управление производственными процессами в режиме реального времени;
- сбор, распознавание и идентификация информации, сравнение с заданным шаблоном;
- мониторинг оборудования;
- восстановление изображений;
- считывание штрихкодов;
- сортировку/подсчет объектов;
- Цветовой анализ.
Прежде чем обратиться к практическим примерам, давайте определимся с важнейшими составляющими. Обычно системы технического зрения разделяют на две независимые подсистемы:
- Получения изображений;
- Обработки изображений.
Каждая из них, в свою очередь, включает различный набор компонентов в зависимости от требований конкретной прикладной задачи.
Компоненты системы машинного зрения
С обработкой изображений все более-менее ясно:
- вычислитель (тот или иной процессор, графический сопроцессор, DSP или ПЛИС);
- математические алгоритмы, которые на этом вычислителе работают.
На практике те или иные платформы и программное обеспечение используются «как есть», и редко что-либо меняется в самих алгоритмах. Задача разработчика заключается в выборе типов алгоритмов и их последовательности. И тут огромное значение приобретает инструмент, который позволяет легко и удобно оперировать изображениями.
И вот тут начинается самое главное. Но для этого их (изображения) нужно сначала получить. Изображение, массив значений пикселей, или облако точек, в случае многомерных представлений, может быть получено различными способами, и в этом определяющую роль играет именно разработчик:
- видеокамера;
- тепловизионная камера;
- лазерный 3D сканер;
- TOF камера;
- и многие другие.
Причем в каждом случае выбор не ограничен одним типом устройства. Видеокамера может быть матричной, а может быть линейной, цветной или монохромной, с разным разрешением и размером матрицы. Иногда нужно пожертвовать разрешением в пользу размера пикселя, а иногда маленький пиксель предпочтительнее (для наблюдения малых объектов). В зависимости от типа камеры и исследуемого предмета также могут потребоваться:
- Оборудование ввода-вывода;
- Система освещения;
- Объективы для камеры.
Одинаково бесполезно использовать хорошую, дорогую камеру с посредственным, дешевым объективом и наоборот. Объектив может быть обычным, а может быть телецентрическим или специальным для «заглядывания» в трубу или, наоборот, охвата в 360°. Свет может быть теневым, прямым, под углом, коаксиальным, белым или монохроматическим, импульсным или структурированным. Конечно же, возможны различные комбинации всех вышеперечисленных вариантов.
Подробнее о выборе камеры
Выбор компонентов машинного зрения
Выбор неправильного технического решения для получения изображения очень трудно компенсировать самыми сложными математическими алгоритмами. К сожалению, не последнюю роль в совершении ошибки играет наш собственный опыт: человеку не составляет труда без всех этих «премудростей» получить (увидеть) и обработать картинку. Это происходит как нам кажется мгновенно и требует куда меньших усилий, чем решение квадратного уравнения, с которыми компьютер справляется оперативнее нас. Из чего мы делаем простой, но неправильный вывод: получение и обработка изображений для компьютера – не очень сложная задача, ведь он такой «умный». Но это совсем не так. Несмотря на очевидный прогресс в вычислительных возможностях, цифровых камерах и алгоритмах современные системы машинного зрения не способны «легко» решать задачи, которые человеку кажутся пустяковыми.
Мы склонны недооценивать возможности нашего мозга и зрения. В этом кроется источник ряда неудач и разочарований от попыток использования систем машинного зрения в промышленных задачах. Производители оборудования часто не обращают внимание своих потребителей на то обстоятельство, что даже самая совершенная камера с последним программным обеспечением есть необходимая, но не достаточная составляющая успеха. Совершенный фотоаппарат еще никого в одночасье не сделал профессиональным фотографом. Несмотря на ряд «помощников» (автоэкспозиция, автофокус) нужны знания и немалый опыт для выбора времени и точки съемки, освещения, диафрагмы и точки фокуса для получения хорошего снимка. При этом, как правило, не ставится цели получить повторяемость картинки объекта с детализацией вне зависимости от его цвета, внешней засветки или поворота, избежать теней, неравномерности освещения, скрыть или подчеркнуть дефекты формы или поверхности – т.е. максимально облегчить последующую обработку, повысить надежность и достоверность работы алгоритмов. А ведь это лишь малая толика вопросов, без которых работа систем машинного зрения не будет эффективна.
Из вышесказанного следует неутешительный вывод: при всей кажущейся тривиальности задачи визуального контроля построение работающей системы машинного зрения требует вовлечение профессионалов на самых ранних стадиях, начиная с подбора оборудования и до его установки, обучения алгоритмов и последующего сопровождения. Не стоит доверяться продавцам, убеждающим: вот эта «чудо-камера» решит все ваши проблемы. Практический опыт и знания, полученные при создании систем технического зрения, работающих на производстве, важны как в никакой другой прикладной инженерной области в силу изначальной высокой степени неопределенности условий и объекта исследования. Соответствует этому (в прямом и переносном смыслах) ценность и инженеров, и компаний, обладающих таким опытом. Это ли не повод молодым специалистам задуматься об области приложения своих усилий?
Применение машинного зрения: примеры
Рассмотрим практический пример применения машинного зрения.Даже, казалось бы, в простых вопросах визуального контроля баночек с соком на конвейере или ампул с лекарством может возникнуть ряд моментов, требующих системного подхода и определенного опыта. К примеру, вызывает неподдельное удивление тот факт, что контроль акцизной марки, наклеенной на круглой бутылке вертикально и горизонтально, требует разных технических решений. Для более развернутой иллюстрации давайте рассмотрим задачу чуть посложнее. Например, интеграция технического зрения в систему электрических испытаний пленочных конденсаторов в их массовом производстве. Предмет испытаний выбран из нашей практики, но может быть легко заменен на меньшие или большие объекты из любой производственной области, будь то пищевая промышленность или автомобилестроение. Итак, помимо собственно электрических (или каких-то других) испытаний необходимо решить следующие, типовые для технического зрения, задачи:
- Визуальный контроль поверхности, формы;
- Управление машинами и механизмами подачи, в данном проекте это промышленные роботы;
- Учет (идентификация, сортировка, маркировка и пр.).
В рассматриваемом примере конденсаторы представляют собой объекты прямоугольной формы с размерами граней от 3 до 20мм двух типов: выводной - и вариант для поверхностного монтажа, т.е. без ножек – выводов. Выводной, в свою очередь, разделяется на два типа корпуса: собственно, корпусной и окукленный. Корпусной имеет строго ортогональные формы параллелепипеда, окукленный – некоей округлой формы, похожей на прямоугольный леденец с овальными гранями. Все они отличаются размером корпуса, его цветом, а выводные – еще и диаметром, длиной выводов и расстоянием между ними. Кроме того, выводы могут быть расположены с разных сторон или с одной.
Подача конденсаторов для испытаний осуществляется навалом, т.е. кучей из коробки. Список манипуляций с объектом выглядит следующим образом:
- Взять объект из «кучи»;
- Проверить его тип (по форме и маркировке);
- Оценить состояние корпуса на предмет видимых повреждений, царапин, сколов;
- Переместить в станцию электрических испытаний;
- Провести электрические испытания;
- Переместить из станции электрических испытаний в соответствующий лоток в зависимости от результата испытаний (Отбраковка и сортировка по номиналу).
Общая схема установки выглядит так:
Рисунок 2. Схема размещения оборудования установки комплексных испытаний пленочных конденсаторов
Установка должна работать со всеми типами конденсаторов без существенной переналадки, а лучше и вовсе без нее. Рассмотрим наиболее сложный вариант с окукленными конденсаторами (т.е. имеющими форму корпуса отличную от прямоугольной в двух сечениях).
Для захвата конденсатора из «кучи» используется картинка с камеры, расположенной над «светящимся» участком вибростола, осуществляющего подачу. Алгоритм выделяет на изображении «свободный» конденсатор и передает его координаты для захвата роботу, оснащенному пневматической присоской. В случае отсутствия свободного конденсатора на контроллер стола подачи посылается команда на «встряхивание», после чего анализируется новая картинка. Процедура повторяется, пока в поле зрения не появится изделие для захвата.
Рисунок 3. Вибростол anyfeed для автоматизированной подачи небольших изделий с использованием системы машинного зрения
Робот перемещает захваченный объект в первую зону контроля, где, помимо оценки формы корпуса, длины и расположения выводов, определяется его соответствие заданному программой типу.
Пневматический захват позволяет манипулировать объектами разной формы и размера, но при этом получается большой разброс фактического положения изделия в захвате. Кроме того, выводы конденсатора могут быть смещены в ту или иную стороны. Для определения ошибки позиционирования применяется система машинного зрения, оценивающая фактическое положение изделия в захвате в координатах робота. Для оценки смещений в третьем измерении используется триангуляционный принцип с дополнительной лазерной подсветкой. Таким образом, на следующей операции достигается требуемая точность размещения элемента в механическом захвате. В некоторых случаях принимается решение о невозможности манипуляций с данным образцом, и он отправляется в брак или в контейнер для «ручной» обработки.
Рисунок 4. Компактный, недорогой SCARA робот
Механический захват с пневматическим приводом осуществляет выравнивание выводов для последующего размещения прибора в разъеме станции электрического тестирования и передает изделие для последующих манипуляций второму роботу.
Рисунок 5. Исключение перспективных искажений при использовании телецентрической оптики (вверху) в сравнении с обычным объективом (внизу).
Одинаковые болты расположены на разном расстоянии от камеры. Деталь слева – цилиндр, вытянутый вдоль оси объектива.
Для повышения достоверности контроля корпуса округлой формы применяются телецентрические объективы, которые позволяют не только точнее оценить геометрические размеры, но и увеличить глубину резкости изображения, что делает возможной работу с объектами разных размеров.
Для получения тех или иных характеристик применяются различные типы светодиодной подсветки: фоновый, диффузионный прямой свет, лазерная триангуляция.
Система перемещений работает в тесном взаимодействии с испытательной станцией и с подсистемами машинного зрения. Процесс электрических испытаний является самым длительным этапом – поэтому для повышения производительности установки важно, чтобы сюда поступали только изделия, успешно прошедшие все остальные проверки. На всех этапах контроля предусмотрена отбраковка изделия.
В зависимости от результатов испытаний конденсаторы могут быть отсортированы по номиналу или другим рабочим характеристикам.
Выбор оборудования и средств разработки систем машинного зрения
Установка состоит из нескольких подсистем от разных производителей:
- Устройство подачи, вибростол Anyfeed (Швейцария), управляется по последовательному каналу;
- Системы захвата изображения оснащаются цифровыми камерами ace (Basler AG, Германия) с различными объективами в зависимости от выбранного разрешения и объекта съемки. Интерфейс Ethernet со встроенными цепями питания (PoE) обеспечивает требуемую гибкость – подключение камер осуществляется по одному кабелю с использованием сетевого концентратора;
- На нескольких постах контроля применяются телецентрические объективы (OptoEngineering Srl, Италия), в остальных случаях - обычные объективы среднего ценового диапазона;
- Общая синхронизация и управление механизмами и роботами осуществляется с использованием набора дискретных датчиков и промышленного контроллера cRIO (National Instruments Corp., США);
- Станция электрических испытаний построена на базе промышленной измерительной платформы PXI и модульных приборов National Instruments Corp., США.
Отличительной особенностью данной установки стал тот факт, что прикладное программное обеспечение всех подсистем разрабатывается в одной графической среде программирования LabVIEW (National Instruments Corp., США). Помимо традиционных для LabVIEW задач:
- Программа электрических испытаний;
- Программирование контроллера cRIO;
- Интерфейс оператора;
за счет дополнительных библиотек реализуются:
- Захват и обработка изображений (библиотека NI Vision от National Instruments;
- Управление промышленными роботами (библиотека от DigiMetrix GmbH, Германия).
Рисунок 6. Пример программирования промышленного робота в LabVIEW.
Единое средство разработки систем машинного зрения позволяет не только сократить затраты на создание (работает одна команда разработчиков или несколько – они «говорят» на одном языке), но и в значительной степени повышает надежность работы прикладного программного обеспечения, поскольку не требует интеграции нескольких различных программ, разработанных на разных языках.
Разработка систем машинного зрения: выводы
Успешная разработка и внедрение машинного зрения в производственный процесс - достаточно сложная инженерная задача, при всей кажущейся ее простоте. Но это не должно стать препятствием для освоения современных технологий, т.к. актуальность машинного зрения стремительно растет.Если вы решили самостоятельно построить систему технического зрения, то будьте готовы к тому, что успех придет не сразу. Как правило, это итеративный процесс, состоящий из многочисленных экспериментов с камерами, светом и алгоритмами обработки изображений. На рынке представлено большое количество средств разработки, которые позволяют «без программирования» решать типовые задачи, однако все они требуют времени на освоение. Кроме того, каждый объект исследования нуждается в собственном, индивидуальном подходе к поиску оптимального технического решения.
Самый простой способ сократить количество проблем на начальном этапе – описать свою задачу поставщику компонентов будущей системы. Профессиональные советы помогут вам избежать очевидных ошибок. Если вам предлагают «чудо-камеру», легко решающую любые задачи – попросите это продемонстрировать на вашем образце и убедитесь в том, что это действительно «легко и просто». Если вы не уверены в своих силах или если у вас есть более важные занятия – поручите решение вопроса людям, имеющим практический опыт работы с системами технического зрения и их интеграции в машины и производственные процессы.