Машинное зрение представляет собой научную дисциплину в области искусственного интеллекта, тесно связанную с робототехникой. Она охватывает технологии получения изображений реальных объектов, их обработки и использования полученной информации для решения широкого спектра прикладных задач без прямого участия человека.
Ключевые вехи в развитии машинного зрения:
- 1955 год: Оливер Селфридж публикует статью “Глаза и уши компьютера”, закладывая основы направления.
- 1958 год: Фрэнк Розенблатт реализует перцептрон, алгоритм машинного обучения для обработки зрительной информации.
- 1960-е годы: Появляются первые системы автоматической обработки изображений.
- 1970-е годы: Лавренсе Робертс формулирует концепцию машинного построения трёхмерных моделей объектов.
- 1979 год: Ганс-Хельмут Нагель развивает теорию анализа динамических сцен.
- 1990-е годы: Создаются первые беспилотные системы управления транспортными средствами.
- 2003 год: Внедряются корпоративные системы распознавания лиц.
Структура системы машинного зрения:
Системы машинного зрения состоят из нескольких ключевых компонентов:
- Камеры: Одна или несколько цифровых или аналоговых камер (цветные или черно-белые) с соответствующей оптикой для получения изображений.
- Оцифровщик изображений: Для аналоговых камер необходим оцифровщик для преобразования аналогового сигнала в цифровой.
- Процессор: Мощный компьютер с многоядерным процессором или встроенный процессор (например, ЦСП) для обработки данных.
- Программное обеспечение: Специализированные программы, предоставляющие инструменты для разработки приложений машинного зрения.
- Интерфейсы ввода-вывода: Каналы связи для передачи полученных результатов.
Сферы применения и типы анализа:
Машинное зрение находит широкое применение, в первую очередь, в промышленном секторе. Автономные роботы, системы визуального контроля и измерения являются яркими примерами его использования.
Обработка изображений сосредоточена на работе с двумерными изображениями, преобразуя одно изображение в другое (например, повышение контрастности, выделение краёв, удаление шумов). Компьютерное зрение занимается анализом трехмерных сцен, восстановлением структуры и информации о 3D-сцене по нескольким изображениям.
Визуализация, тесно связанная с созданием изображений, также включает в себя обработку и анализ данных (например, рентгенография). Распознавание образов использует статистические методы для извлечения информации из видеоданных.
Таким образом, “машинное зрение” – это комплексное понятие, включающее в себя компьютерное зрение, распознавание зрительных образов, анализ и обработку изображений и другие связанные области.
Задачи машинного зрения
Компьютерное зрение охватывает широкий спектр задач, направленных на обеспечение компьютерами возможностей визуального восприятия и интерпретации данных, аналогичных человеческому зрению. К числу ключевых задач относятся:
- Распознавание: Определение типа объекта на изображении (например, автомобиль, человек, дерево).
- Идентификация: Уникальная идентификация конкретного объекта (например, распознать лицо человека).
- Обнаружение: Выявление присутствия объекта на изображении без его классификации.
- Распознавание текста: Извлечение текстовой информации из изображений.
- Восстановление 3D формы по 2D изображениям: Построение трехмерной модели объекта на основе двумерных изображений.
- Оценка движения: Анализ движения объектов на видеозаписи.
- Восстановление сцены: Построение полной картины окружающей среды на основе нескольких изображений.
- Восстановление изображений: Улучшение качества изображения, удаление шума и артефактов.
- Сегментация изображений: Разделение изображения на смысловые области (например, выделение объекта от фона).
- Анализ оптического потока: Определение направления и скорости движения объектов на видеозаписи.
Распознавание
Определение наличия определённого объекта, признака или события на видеоданных является фундаментальной задачей в области компьютерного зрения, обработки изображений и машинного обучения.
Несмотря на то, что данная задача тривиальна для человека, её полное и надёжное решение в области компьютерного зрения для произвольных объектов в произвольных ситуациях до сих пор не достигнуто.
Существующие методы позволяют идентифицировать один или несколько заранее заданных или обученных объектов (или классов объектов), обычно с указанием их положения на изображении (двухмерное) или в сцене (трёхмерное).
Идентификация
Распознается индивидуальный экземпляр объекта принадлежащего к какому-либо классу. Примеры: идентификация определённого человеческого лица или отпечатка пальцев или автомобиля.
Обнаружение
Видеоданные проверяются на наличие определенного условия. Обнаружение, основанное на относительно простых и быстрых вычислениях иногда используется для нахождения небольших участков в анализируемом изображении, которые затем анализируются с помощью приемов, более требовательных к ресурсам, для получения правильной интерпретации.
Распознавание текста
Данная задача подразумевает идентификацию всех изображений в обширной коллекции, обладающих заданным содержанием, которое может быть представлено различными способами. Оценка положения – это задача, которая связана с определением местоположения или ориентации конкретного объекта относительно камеры. Оптическое распознавание знаков – это процесс, который включает в себя распознавание символов на изображениях печатного или рукописного текста, как правило, для преобразования их в текстовый формат, который удобен для редактирования или индексации (например, ASCII).
Восстановление трёхмерной формы по двумерным изображениям может быть осуществлено несколькими методами. К ним относятся:
- Стереоскопическая реконструкция карты глубины.
- Реконструкция поля нормалей и карты глубины на основе анализа закраски полутонового изображения.
- Реконструкция карты глубины по текстурным признакам.
- Определение формы объекта по перемещению в последовательности изображений.
В качестве иллюстрации процесса можно привести пример восстановления трёхмерной формы по двумерному изображению.
Оценка движения
Существует ряд задач, связанных с анализом движения, которые требуют обработки последовательности изображений (видеоданных) для определения скорости движения каждой точки изображения или трёхмерной сцены. К таким задачам относятся:
- Определение трёхмерного движения камеры: оценка изменения положения и ориентации камеры во времени.
- Слежение за объектами: отслеживание перемещения объектов, таких как автомобили или люди, в кадре видео.
Восстановление сцены
В контексте обработки изображений и видеоданных восстановление сцены представляет собой задачу построения трёхмерной модели на основе двух или более изображений данной сцены. В базовом варианте такая модель может быть представлена в виде множества точек в трёхмерном пространстве. Более совершенные методы позволяют синтезировать полную трёхмерную модель, детально воспроизводящую геометрию и структуру сцены.
Восстановление изображений
Восстановление изображений подразумевает устранение шумов, таких как шумы датчика и размытие движущихся объектов.
Простейший подход к решению этой задачи предполагает использование различных типов фильтров, в частности, фильтров нижних или средних частот.
Более эффективный метод удаления шумов предусматривает предварительный анализ видеоданных для выявления структурных элементов, таких как линии и границы, с последующим управлением процессом фильтрации на основе полученной информации.
Восстановление изображений
Анализ оптического потока – это процесс определения перемещения пикселей между последовательными изображениями. Данный метод используется в различных задачах оценки движения, где видеоданные анализируются для вычисления скорости движения каждой точки изображения или трёхмерной сцены.
К таким задачам относятся, в частности, определение трёхмерного движения камеры и слежение за объектами (например, транспортными средствами или людьми).
Методы обработки изображений
В области обработки изображений широко применяются следующие методы:
- Подсчёт пикселей: Определение количества пикселей, соответствующих определённому критерию (например, цвету или яркости).
- Бинаризация: Преобразование изображения в черно-белое, выделяя объекты на фоне.
- Сегментация: Разделение изображения на отдельные области, соответствующие объектам или частям объектов.
- Чтение штрих-кодов: Автоматическое считывание информации, закодированной в штрих-кодах.
- Оптическое распознавание символов (OCR): Преобразование текста из изображений в цифровой формат.
- Измерение: Определение размеров объектов на изображении (длина, ширина, площадь).
- Обнаружение краев: Выделение границ объектов на изображении.
- Сопоставление шаблонов: Поиск совпадений заданного шаблона в изображении.
Счетчик пикселей
Данный инструмент осуществляет подсчёт светлых и тёмных пикселей в заданной области изображения. Пользователь может выделить прямоугольную область на экране, например, в зоне, где ожидается появление лиц проходящих людей. Камера мгновенно предоставит информацию о количестве пикселей, составляющих границы этой области.
Использование счётчика пикселей позволяет оперативно проверить соответствие установленной камеры нормативным требованиям или требованиям заказчика по разрешению изображения. Это особенно актуально для систем, осуществляющих идентификацию лиц людей, входящих в контролируемые двери, или распознавание номерных знаков автомобилей.
Бинаризация
Данный алгоритм осуществляет преобразование изображения в оттенках серого в бинарное изображение, состоящее из белых и чёрных пикселей.
Каждый пиксель условно кодируется значениями «0» и «1», где «0» символизирует фон, а «1» — передний план.
В целях оптимизации хранения цифровых бинарных изображений часто используется битовая карта, в которой для представления одного пикселя отводится один бит информации.
Стоит отметить, что исторически, на начальных этапах развития компьютерной графики, преобладала цветовая палитра из двух цветов: чёрного и белого. Однако это ограничение не является обязательным в современных системах.
Сегментация
Данный метод применяется для обнаружения и/или количественной оценки отдельных элементов изображения.
Основная цель сегментации – упростить и/или модифицировать представление изображения, что облегчает его анализ.
В большинстве случаев сегментация используется для выделения объектов и их границ (линий, кривых и др.) на изображении. Более конкретно, сегментация подразумевает присвоение каждому пикселю изображения определенной метки таким образом, чтобы пиксели с одинаковыми метками обладали схожими визуальными характеристиками.
Результатом сегментации является набор сегментов, полностью покрывающих всё изображение, или множество выделенных контуров. Все пиксели в пределах одного сегмента демонстрируют сходство по определенному признаку или вычисленному свойству, например, цвету, яркости или текстуре. При этом соседние сегменты существенно отличаются по данному признаку.
Чтение штрих-кодов
Штрих-код представляет собой графическое изображение, наносимое на поверхность товара, его маркировку или упаковку. Он состоит из последовательности черных и белых полос или иных геометрических фигур, предназначенных для считывания специальными техническими средствами.
В области машинного зрения штрих-коды используются для дешифрования одномерных и двумерных кодов, разработанных для автоматизированного считывания и сканирования.
Оптическое распознавание символов
Оптическое распознавание символов (OCR) представляет собой технологию автоматического преобразования печатного текста в цифровой формат.
Данная технология находит широкое применение в различных областях. В частности, OCR используется для оцифровки книг и документов, автоматизации учетных систем в коммерческих организациях, а также для публикации текстового контента в сети Интернет.
Благодаря OCR становится возможным редактирование текста, поиск по ключевым словам или фразам, компактное хранение данных, вывод на печать или экран без потери качества, анализ информации, а также применение к тексту функций электронного перевода, форматирования и преобразования в речь.
Пример программы для работы с изображениями, написанной с помощью LabView
Рассмотрим вариант применения компьютерного зрения для неразрушающего контроля качества сверхпроводящих материалов
Введение
Обеспечение комплексной безопасности (включая антитеррористическую, механическую и технологическую безопасность инженерных систем) требует систематизированного контроля состояния объектов. Оптические и оптико-электронные методы обработки видеоизображений являются перспективным подходом к такому контролю. К ним относятся программы для работы с изображениями, инновационные способы их обработки, а также оборудование для получения, анализа и обработки изображений – в совокупности, комплекс средств и методов, относящихся к области компьютерного и машинного зрения.
Компьютерное зрение представляет собой набор методов, позволяющих компьютерам “видеть” и распознавать двумерные и трёхмерные объекты как инженерного, так и неинженерного назначения. Для работы с компьютерным зрением необходимы цифровые или аналоговые устройства ввода-вывода, а также вычислительные сети и анализаторы IP-локаций, предназначенные для контроля производственного процесса и оперативного предоставления информации для принятия решений.
Постановка проблемы
На сегодняшний день главной задачей разрабатываемых систем машинного зрения является обнаружение, распознавание, идентификация и квалификация объектов, представляющих потенциальную опасность, находящихся в произвольном месте зоны ответственности системы. Существующие программные продукты для решения этих задач имеют ряд существенных недостатков:
- высокую сложность, связанную с высокой детализацией оптических изображений;
- высокое энергопотребление;
- узкий спектр возможностей.
Расширение задач обнаружения объектов потенциальной опасности до поиска произвольных объектов в произвольных ситуациях и местах невозможно даже при использовании суперкомпьютеров.
Цель.
Разработка универсальной программы обработки изображений оптического источника, способной к потоковому анализу данных, то есть программы, которая была бы лёгкой и быстрой для установки на компактное вычислительное устройство.
Задачи:
- разработка математической модели программы;
- написание программы;
- проведение лабораторных испытаний с полной подготовкой и реализацией эксперимента;
- исследование возможности применения программы в смежных областях деятельности.
Актуальность
Разработка данной программы актуальна по следующим причинам:
- Отсутствие на рынке программного обеспечения для обработки изображений, предоставляющих подробный анализ инженерных составляющих объектов.
- Постоянно растущие требования к качеству и скорости получения визуальной информации, что увеличивает спрос на программы обработки изображений.
- Необходимость в высокопроизводительных, надёжных и удобных в использовании программах.
Анализ актуальности
На рынке отсутствуют программные продукты для обработки изображений, которые могли бы предоставить детальный анализ инженерных компонентов объектов. Постоянно растущие требования к качеству и скорости получения визуальной информации значительно увеличивают спрос на программы обработки изображений. Существует потребность в высокопроизводительных, надёжных и простых в использовании программах.
Решение
Для решения задач такого типа была разработана математическая модель и написана программа для анализа изображений с помощью простых преобразований исходных изображений. Программа работает с преобразованиями типа бинаризации, яркости, контраста изображения и т.д. Принцип работы программы продемонстрирован на примере анализа сверхпроводящих материалов.
Заключение
Разработанная программа позволяет контролировать качество сверхпроводящих проводов на основе химико-физического анализа объекта, что особенно важно ввиду потенциальной опасности взрыва проводов при неправильном соотношении ниобия к бронзе.
Блок-диаграмма программы
Исследование композиционных сверхпроводников: этапы и результаты
Описание исследования:
Настоящее исследование было посвящено определению объемной доли сверхпроводящей фазы в композиционных сверхпроводниках.
Этап 1 (Пробоподготовка):
Для анализа были подготовлены образцы композиционного сверхпроводника. Процедура включала резку материала на электроэрозионном станке, запрессовку в пластмассовую матрицу, полировку до зеркального блеска и травление для выделения волокон ниобия на бронзовой матрице. В результате были получены образцы запрессованного композиционного сверхпроводника, готовые к исследованию.
Этап 2 (Получение изображений):
Для визуализации микроструктуры образцов использовался сканирующий электронный микроскоп. Полученные металлографические изображения позволили детально изучить распределение фаз в материале.
Этап 3 (Обработка изображений):
Для количественной оценки объемной доли сверхпроводящей фазы был разработан специальный инструмент анализа изображений.
Математические модели различных инструментов обработки изображений были созданы и реализованы в программном обеспечении. Программа позволяет автоматически определить процентное соотношение волокон ниобия в бронзовой матрице. В результате анализа образцов композиционного провода был получен средний показатель объемной доли волокон ниобия, равный 24,7 ± 0,1%. Низкий процент отклонения свидетельствует о высокой однородности структуры композиционного провода.
Выводы:
Разработанный метод анализа металлографических изображений позволяет эффективно и точно определять объемную долю сверхпроводящей фазы в композиционных материалах.
Полученные результаты подтверждают высокую повторяемость структуры композиционного провода, что является важным фактором для обеспечения его стабильных электрических свойств.
Электронномикроскопическое изображение сверхпроводников из композитов
Методы обработки изображений
Программа предоставляет набор инструментов для обработки цифровых изображений, включающих:
- Идентификацию: Определение уникального экземпляра объекта, принадлежащего к определенному классу.
- Бинаризацию: Преобразование цветного изображения (или изображения в градациях серого) в черно-белое изображение с двумя цветами.
- Сегментацию: Разделение цифрового изображения на несколько сегментов, каждый из которых представляет собой множество пикселей, также называемых суперпикселями.
- Эрозию: Процесс, при котором структурный элемент перемещается по всем пикселам изображения. Если все единичные пикселы структурного элемента совпадают с единичными пикселами бинарного изображения в данной позиции, то выполняется логическое сложение центрального пиксела структурного элемента с соответствующим пикселем выходного изображения.
- Дилатацию: Свертку изображения или выделенной области изображения с ядром произвольной формы и размера. При этом в ядре выделяется единственная ведущая позиция, которая совмещается с текущим пикселем при вычислении свертки.
Формулы работы программы
Формула бинаризации (метод Оцу):
Формула эрозии:
Формула дилатации:
Схема дилатации и эрозии
Формулы сегментации порогами цвета:
Определение модуля градиента яркости для каждого пикселя изображения:
Вычисление порога:
Интерфейс программы
Автор: Валерий Линьков @valerylinkov
Источник: https://habr.com/