Методы обработки изображений в компьютерном зрении — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Методы обработки изображений в компьютерном зрении

2022-07-06 31
Методы обработки изображений в компьютерном зрении 0.00 из 5.00 0 оценок
Заказать работу

 

Компьютерное зрение не рассматривает технологии создания цифровых изображений, описывая лишь их обработку, поэтому опустим подробности и остановимся на том, что устройство захвата (цифровая камера), используя светочувствительные элементы формирует изображение (фото) или последовательность изображений (видео) реальных объектов. «Изображение» для компьютера - это определенным образом закодированный массив чисел.

 

Рис.9. Представление зрительной информации компьютером

 

Каждый пиксел этого изображения - это элемент двухмерного массива. Порядковый номер определяет его положение на двухмерном пространстве изображения, а значение элемента - его яркость. Для цветного изображения каждый пиксел необходимо закодировать как минимум тремя числами, чаще всего это значения яркости красной, зеленой и синей составляющих.

Однако широкая область методов компьютерного зрения принимает в качестве входных данных бинарные изображения (состоящие только из пикселов черного или белого цветов). В данной работе есть смысл остановиться на этих методах.

Эти алгоритмы могут выполнять различные действия - от очень простых, наподобие подсчета каких-либо признаков, до гораздо более сложных действий, связанных с распознаванием, определением местоположения и контролем объектов. Для формирования бинарного изображения B по данным полутонового или цветного изображения I можно выполнить операцию, которая выбирает некоторое подмножество пикселов изображения в качестве пикселов переднего плана (foreground pixels). Эти пикселы представляют интерес для решаемой задачи анализа изображений. Остальные пикселы игнорируются как фоновые (background pixels). Операция отбора пикселов может быть простой (например, пороговый оператор, который отбирает пикселы со значениями из заданного яркостного диапазона или цветового подпространства) или представлять собой сложный алгоритм классификации. [2]

Будем предполагать, что бинарное изображение уже сформировано и рассматривать это изображение в качестве входных данных для выполнения операций анализа изображений. Понятие бинарного изображения иллюстрируется на рис. 10 на примере четырех бинарных изображений рукописных символов.

 

Рис. 10. Бинарное изображение рукописных символов

 

Пикселы бинарного изображения B принимают значения 0 или 1. Будем полагать, что значения 1 соответствуют пикселам переднего плана, а 0 - фоновым пикселам. Значение пиксела на пересечении строки r и столбца c пиксельного массива обозначается как B [r, c]. Изображение размерами M × N состоит из M строк, пронумерованных от 0 до M − 1, и N столбцов, пронумерованных от 0 до N − 1. Таким образом, обозначение B [0, 0] соответствует значению левого верхнего пиксела изображения, а B [M − 1, N − 1] - значению правого нижнего пиксела. Во многих алгоритмах при обработке пикселов учитываются не только их значения, но и значения соседних пикселов. При рассмотрении соседних пикселов часто используются два определения окрестностей - четырехсвязная и восьмисвязная окрестности. Четырехсвязная окрестность N4 [r, c] пиксела [r, c] состоит из пикселов [r − 1, c], [r + 1, c], [r, c − 1] и [r, c + 1]. Они часто называются, соответственно, северным (north), южным (south), западным (west) и восточным (east) соседями. Восьмисвязная окрестность N8 [r, c] пиксела [r, c] содержит все пикселы четырехсвязной окрестности, а также диагональные соседние пикселы [r − 1, c − 1], [r − 1, c + 1], [r + 1, c − 1] и [r + 1, c + 1]. Их можно соответственно называть северо- западным (northwest), северо-восточным (northeast), юго-западным (southwest) и юго-восточным соседями (southeast). Расположение соседних пикселов в окрестностях двух типов демонстрируется на рис. 11. [7]

 

Рис. 11. Четырехсвязная и восьмисвязная окрестности пикселов

 

Во многих алгоритмах четырехсвязные или восьмисвязные (или определенные иначе) окрестности часто называются просто окрестностями пикселов. Анализ окрестностей позволяет перейти от пространству пикселей к пространству контуров и производить обработку изображений так называемыми скелетными методами.

Вообще методы обнаружения можно условно разделить на три основные группы:

− скелетные методы;

− методы на основе 3D модели объекта;

− методы на основе 2D модели объекта.

В скелетных методах исследуется контур силуэта: обычно отыскиваются углы, выступы, впадины и другие точки с высокими значениями кривизны. Для получения информации о форме контура применяются различные представления границы объекта. В методах на основе 3D модели руки представляют в виде сложных трехмерных поверхностей и классифицируются с помощью нейронных сетей Метод 2D распознавания схож с предыдущим, но использует двумерное изображение вместо объемных моделей. Каждый из методов имеет преимущества и недостатки. Недостатком метода на основе 3D модели является его ресурсоемкость. Построение 3D модели, обучение нейронной сети и ее использование могут потребовать значительных ресурсов, так же не стоит забывать, что для использования данного метода требует камеры с возможностью определения глубины изображения.

Остановимся на скелетных(структурных) методах, которые используют для обработки изображений информацию о топологии объекта. Ключевое понятие структурных методов - контур.

Контур - это внешние очертания (обвод) предмета или объекта. При проведении контурного анализа полагается, что контур содержит достаточную информацию о форме объекта, внутренние точки объекта во внимание не принимаются. Вышеприведённые положения, разумеется, накладывают существенные ограничения на область применения контурного анализа, которые, в основном, связаны с проблемами выделения контура на изображениях: из-за одинаковой яркости с фоном объект может не иметь чёткой границы, или может быть зашумлён помехами, что приводит к невозможности выделения контура; перекрытие объектов или их группировка приводит к тому, что контур выделяется неправильно и не соответствует границе.

Однако, переход к рассмотрению только контуров объектов позволяет уйти от пространства изображения к пространству контуров, что существенно снижает сложность алгоритмов и вычислений. Резюмируя, контурный анализ имеет довольно слабую устойчивость к помехам, и любое пересечение или лишь частичная видимость объекта приводит либо к невозможности детектирования, либо к ложным срабатываниям, но простота и быстродействие контурного анализа, позволяют вполне успешно применять данный подход (при чётко выраженном объекте на контрастном фоне и отсутствии помех).

После выделения контура в бинарный вид, он подвергается процедуре скелетизации (утоньшению). Каждый последовательный контур скелетного представления описывается в виде последовательного набора особых точек и так называемого цепного кода, состоящего из точки привязки, числа кодов и массива направлений из очередной точки на следующую точку. Особые точки - это концевые точки и точки ветвления (триоды), т.е. точки, соседи которых образуют не менее трех связных областей. На рис. 12 изображен образ, обладающий двумя внутренними контурами, одной концевой точкой и тремя триодами [8].

 

Рис. 12. Образ, прошедший процедуру скелетизации

 

В полученном описании производится огрубляющая предобработка, состоящая в удалении коротких линий, объединении близких триодов, уничтожении малых внутренних контуров. Для внешнего контура находится его тип или топологический код. Для этого контур записывается в виде последовательного набора номеров особых точек, соответствующих обходу по часовой стрелке. Затем с помощью пере нумерации делается попытка отождествления контура с одним из основных типов[6].

 


Библиотека OpenCV

 

В данном разделе представлены данные о библиотеке OpenCV - основного инструмента для разработки проекта. OpenCV - это одна из библиотек для работы с компьютерным зрением (библиотекой в программировании называется сборник подпрограмм или объектов, используемых для разработки программного обеспечения). OpenCV реализована на C/C++, также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Может свободно использоваться в академических и коммерческих целях - распространяется в условиях лицензии BSD. Библиотека довольно популярна, на текущий момент имеет более 5 миллионов скачиваний и недавно была предложена в качестве основы для стандарта Khronos по компьютерному зрению. Примечательно, что OpenCV был разработан программистами из российского отделения компании Intel.

 


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.