Научная статья на тему 'Распознавание плоских объектов'

Распознавание плоских объектов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
475
243
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ / OPEN CV / КОМПЬЮТЕРНОЕ ЗРЕНИЕ / ГОМОГРАФИЯ / ДЕСКРИПТОР / КЛЮЧЕВЫЕ ТОЧКИ / RECOGNITION / COMPUTER VISION / HOMOGRAPHY / DESCRIPTOR / KEY POINTS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Денисов Дмитрий Александрович, Гоева Анастасия Андреевна

В работе рассматривается алгоритм распознавания плоских объектов. Для распознавания используется инструментарий, предоставляемый библиотекой Open CV.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Денисов Дмитрий Александрович, Гоева Анастасия Андреевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Recognition of Planar objects

This paper discusses the algorithm to recognize planar objects. Toolkit provided by the Open CV library is used for recognition.

Текст научной работы на тему «Распознавание плоских объектов»

УДК 004.5: 004.93'1

РАСПОЗНАВАНИЕ ПЛОСКИХ ОБЪЕКТОВ

Денисов Дмитрий Александрович

доцент кафедры информатики и информационных технологий, кандидат технических наук Московский государственный университет печати имени Ивана Федорова 127550 Россия, г. Москва, ул. Прянишникова, д. 2А soldierstory@yandex. ru

Гоева Анастасия Андреевна

студентка института принтмедиа и информационных технологий Московский государственный университет печати имени Ивана Федорова 127550 Россия, г. Москва, ул. Прянишникова, д. 2А nastya.goeva@yandex. ru

Аннотация. В работе рассматривается алгоритм распознавания плоских объектов. Для распознавания используется инструментарий, предоставляемый библиотекой Open CV.

Ключевые слова: распознавание, Open CV, компьютерное зрение, томография, дескриптор, ключевые точки.

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

Алгоритм распознавания состоит из следующих шагов: установка и подключение библиотеки Open CV, получение доступа к камере, получение искомого изображения, нахождение ключевых точек, нахождение дескрипторов, сравнение дескрипторов исходного и изображения с камеры, использование гомографии для соединения ключевых точек на изображениях.

Далее опишем каждый шаг данного алгоритма более подробно. На первом шаге необходимо скачать и установить библиотеку Open CV. Данная библиотека — является библиотекой компьютерного зрения с открытым исходным кодом. Данная библиотека написана на языках C и C++ и подходит под различные программные платформы. Библиотека содержит огромное количество функций, которые распространяются на различные области. После установки Open CV необходимо ее также встроить в проект, в котором будем создавать код для программы.

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

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

Далее в бесконечном цикле получаем последовательно кадры с устройства, что и будет являться входным изображением или сценой, на которой необходимо найти заданное изображение. На следующих этапах будет проводиться уже непосредственно само распознавание. Для начала необходимо найти на изображении ключевые точки. Ключевыми точками называются такие точки, в которых происходит наиболее резкий перепад градиента на изображении по координатам x и у, также данные точки еще можно назвать угловыми. Суть нахождения ключевых точек заключается в использовании автокорреляционной матрицы и пирамиды изображения (для инвариантности к масштабу). Данная матрица состоит из производных по x и по у по изображению, которое в следующей формуле обозначается как I:

12Л*) (?)

A(х) = Е с(х, у)

X у

IxIy (X) /2(Х)

Суть данной формулы заключается в том, что используется метрика (X — собственные числа, det — определитель, trace — след матрицы, а — константа):

R = det(A) -atrace2(A) = ^ -а(\ )2

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

Следующим шагом является нахождение дескрипторов, т.е. векторов, которые определяют локальную область вокруг точки. В данном случае будет использоваться дескриптор SIFT. Для того

чтобы сформировать дескриптор необходимо вычислить значение магнитуды и ориентации градиента для каждого отдельного пикселя по окрестности 16х16 пикселей. Для каждого квадрата 4х4 пикселя рассчитывается гистограмма градиентов. Для уменьшения граничных эффектов, которые могут возникнуть, используется билинейная интерполяция, т.е. магнитуда градиента помимо добавления в гистограмму соответствующего квадрата, добавляется также к гистограммам соседних. Далее все найденные векторы объединяются в один. Рис. 1 описывает дескриптор SIFT. Дескрипторы находятся для исходного изображения, а также для изображения на сцене.

Рис. 1. Дескриптор SIFT

Следующим шагом идет сравнение дескрипторов, т.е. нахождение соответствующих точек на найденном и на заданном изображениях. На данном этапе также необходимо выбрать ключевые точки, расстояние между которыми не превышает тройного минимального расстояния между дескрипторами.

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

устройства. Это было сделано для того, чтобы найденный объект на сцене можно было выделить с помощью отрисовки квадрата вокруг объекта. Также ключевые точки искомого и найденного изображений соединяются линиями.

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ибрагимов В.В., Арсентьев Д.А. Алгоритмы и методы распознавания личности в условиях современных информационных технологий // Вестник МГУП — № 1. — 2015.

2. Bradski G.R. Learning OpenCV/ Dr. Gary Rost Bradski, Adrian Kaehler — Изд.: O'Reilly Media, Inc., 2008. — 556 с.

3. Laganiere R. OpenCV 2 Computer Vision Application Programming Cookbook / R.Laganiere — Изд.: Packt Publishing, 2011. — 298 с.

4. Baggio D.L. Mastering OpenCV with Practical Computer Vision Projects/ Baggio D.L., Emami S., Escriva D.M. — Изд.: Packt Publishing, 2012. — 321 с.

5. Lerning OpenCV [Электронный ресурс] — URL: http://locv.ru/wiki (дата обращения: 11.10.2015).

6. Сайт www.habrahabr.ru [Электронный ресурс] — URL: http://habrahabr.ru/post/155651 (дата обращения: 10.11.2015)..

7. Popov, D.I. Bitmaps Protective Marking Model to Verify Their Integrity / D.I.Popov, Y.A.Belobokova // International Journal of Applied Engineering Research. — 2015. — Vol. 10, Num. 16 (2015). — Р. 36479-36483.

RECOGNITION OF PLANAR OBJECTS

Dmitriy Aleksandrovich Denisov

Moscow State University of Printing Arts 127550Russia, Moscow, Pryanishnikova st., 2A

Anastasiya Andreevna Goeva

Moscow State University of Printing Arts 127550Russia, Moscow, Pryanishnikova st., 2A

Annotation. This paper discusses the algorithm to recognize planar objects. Toolkit provided by the Open CV library is used for recognition.

Keywords: recognition, Open CV, computer vision, homography, descriptor, key points.

i Надоели баннеры? Вы всегда можете отключить рекламу.