Научная статья на тему 'АЛГОРИТМ ПОИСКА ГРАНИЦ ПЛОСКОСТЕЙ НА ИЗОБРАЖЕНИЯХ КОМНАТ С ЧАСТИЧНО ОПРЕДЕЛЕННОЙ ГЕОМЕТРИЕЙ'

АЛГОРИТМ ПОИСКА ГРАНИЦ ПЛОСКОСТЕЙ НА ИЗОБРАЖЕНИЯХ КОМНАТ С ЧАСТИЧНО ОПРЕДЕЛЕННОЙ ГЕОМЕТРИЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
31
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТРЕХМЕРНАЯ РЕКОНСТРУКЦИЯ

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

Предложен алгоритм поиска границ основных плоскостей на изображениях комнат с частично определенной геометрией. Алгоритм рассчитан на изделие на базе вычислительного модуля ElmiCORE-i.MX35-Lite, предназначенное для выявления и локализации оставленных в общедоступных помещениях предметов. Поиск границ осуществляется посредством нахождения конструкций, описывающих пространственные углы на изображении. Объединение этих конструкций позволяет сформировать окончательное представление о структуре комнаты.

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

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

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

GEOMETRY ESTIMATION ALGORITHM FOR PICTURES OF ROOMS WITH PARTIALLY DEFINED STRUCTURE

An algorithm for estimating the geometry of rooms with the partially defined structure has been proposed. The algorithm can be used in the item based on the computational module ElmiCORE- i.MX35-Lite, designed for detection and localization of objects abandoned in easily available rooms. The geometry search is carried out by finding the structures describing the spatial angles in the picture. Combining these structures enables to form the final idea of the room structure.

Текст научной работы на тему «АЛГОРИТМ ПОИСКА ГРАНИЦ ПЛОСКОСТЕЙ НА ИЗОБРАЖЕНИЯХ КОМНАТ С ЧАСТИЧНО ОПРЕДЕЛЕННОЙ ГЕОМЕТРИЕЙ»

УДК 004.932.2+519.688

Алгоритм поиска границ плоскостей на изображениях комнат с частично определенной геометрией

Д.А. Фионов, А.В. Туркин, А.В. Сотников, А.В. Шипатов

Национальный исследовательский университет «МИЭТ»

Предложен алгоритм поиска границ основных плоскостей на изображениях комнат с частично определенной геометрией. Алгоритм рассчитан на изделие на базе вычислительного модуля ElmiCORE-i.MX35-Lite, предназначенное для выявления и локализации оставленных в общедоступных помещениях предметов. Поиск границ осуществляется посредством нахождения конструкций, описывающих пространственные углы на изображении. Объединение этих конструкций позволяет сформировать окончательное представление о структуре комнаты.

Ключевые слова: алгоритм поиска границ, трехмерная реконструкция.

Для построения пространственной модели сцены применяются специализированные алгоритмы трехмерной реконструкции, под которой понимается восстановление трехмерной модели сцены по ее изображению [1, 2, 3, 4]. Для трехмерной реконструкции необходимо определить принадлежность точек изображения плоскостям сцены путем нахождения линий, разделяющих основные плоскости изображенного пространства.

В настоящей работе предлагается алгоритм поиска линий, разделяющих стены, пол и потолок на изображениях комнат. Алгоритм предполагается применять для решения подзадачи определения геометрии пространства на изображениях комнат, а также для использования в изделии на базе вычислительного модуля ElmiCORE-i.MX35-Lite, предназначенном для выявления и локализации предметов, оставленных в общедоступных помещениях. С целью упрощения задачи поиска линий к комнатам предъявляются следующие требования:

- частично определенная геометрия: комнаты должны представлять собой прямоугольные параллелепипеды, без сложных конструкций (выступов, навесных элементов и т.д.);

- отсутствие крупногабаритных предметов (мебели, техники и т.д.).

Общая схема работы алгоритма может быть представлена следующим образом. На исходном изображении осуществляется поиск отрезков с использованием детектора отрезков [5]. Среди найденных отрезков производится поиск тех, которые образуют тройки, пересекающиеся в одной точке (рис.1,а). Тройки такого типа называются базовыми конструкциями. Однако получение таких базовых конструкций на реальных изображениях маловероятно в связи с погрешностью в определении параметров отрезков. Поэтому также рассматриваются конструкции из трех отрезков без общей точки пересечения (рис.1, б). Характерной особенностью такой конструкции является наличие треугольника AABC, образованного отрезками Ol, O2, O3. Рассмотрим центроид этого треугольника - точку D. Предположим, что именно она является действительной точкой пересечения отрезков Ol, O2, O3, что связано с погрешностью определения парамет-

© Д.А. Фионов, А.В. Туркин, А.В. Сотников, А.В. Шипатов, 2014

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

Среди найденных базовых конструкций выбираются те, в которых углы ZO1O2, АО2О3 и ZOзO1 больше некоторого заданного значения ф. Данный параметр алгоритма зависит от характеристик используемой видеокамеры и определяется эмпирически.

Проведем поиск пар базовых конструкций, имеющих один общий отрезок. На рис.2 приводится пример такой пары базовых конструкций с общим отрезком О3. Зададим критерий принятия данной конструкции к рассмотрению: точка А пересечения прямых, проходящих через отрезки О2 и О5, и точка В пересечения прямых, проходящих через отрезки О и О, задают отрезок АВ. Данный отрезок должен иметь точку С пересечения с отрезком 03. Выполнение этого условия гарантирует расположение точек А и В в различных полуплоскостях относительно прямой, содержащей отрезок 03. Эти точки можно использовать в качестве точек схода [3,4].

Исходя из введенного требования о частично определенной геометрии, полученные пары базовых конструкций могут образовывать конструкции следующих трех типов: двойка, тройка, четверка (рис.3).

В качестве результата работы алгоритма принимается структура, состоящая из наибольшего количества базовых конструкций. При наличии нескольких конструкций с одинаковым количеством базовых в их составе в качестве ответа принимаются все найденные конструкции. Результирующая структура описывается с помощью набора отрезков (О\,

О2, . ., Ок).

Рис.3. Различные возможные типы конструкций, состоящие из пар базовых конструкций:

четверка (а), тройка (б), двойка (в)

Таким образом, схема работы алгоритма будет состоять из трех основных этапов: поиска отрезков, поиска базовых конструкций и анализа композиций базовых конструкций. Этап поиска отрезков включает в себя построение множества отрезков, описывающих видимые границы изображения, с использованием детектора отрезков [5] для формирования множества отрезков. На этапе поиска базовых конструкций из полученного множества отрезков составляются базовые конструкции. На этапе анализа композиций базовых конструкций рассматриваются различные композиции с целью формирования результирующей геометрической конструкции.

Введем понятия, необходимые для объяснения работы алгоритма.

Пусть I - исходное полутоновое изображение, Iy е 0,255, 1 < i <M, 1 < j < N ; O - множество отрезков, каждый из которых представляет собой двойку Oi = (Pi, P2 ), где p, p2 - концевые точки отрезка с координатами (х, y), 1 < х < N, 1 < y < М.

Этап поиска отрезков. В работах [3, 4] приводится подход к поиску отрезков на изображениях, который предполагает совместное использование следующих алгоритмов: детектора границ Канни [6] и дискретного преобразования Хаффа [7]. В этом случае необходимо провести предварительную фильтрацию исходного изображения, что требуется для выделения границ на изображении, а также осуществить оценку оптимальных параметров указанных алгоритмов для каждого отдельного исходного изображения. Выполнить указанные действия на практике бывает сложно, поэтому для поиска отрезков на исходном изображении используется детектор отрезков, описанный в [5], который предназначен для работы с изображениями без предварительной обработки или фильтрации и имеет заранее рассчитанный набор параметров.

В результате работы детектора [5], на вход которому подается изображение в градациях серого, получаем множество O найденных отрезков.

Этап поиска базовых конструкций. Выбирая тройки различных отрезков Oi из полученного множества O, проведем анализ их соответствия следующим требованиям (рис.4):

S AGI H < Smin,

< max(| AK |, | CK |,| EK |) < R, min(a, P, y) > ф,

где SAgIH - площадь треугольника AGIH; R - заданный максимальный радиус окружности с центром в точке K; | AK |, | CK |, | EK | - длины соответствующих отрезков; a, P, y - углы между отрезками FK и BK, BK и DK, DK и FK соответственно.

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

Полученные конструкции объединяются во множество С, С = (Оп, 012,03 ).

Этап анализа композиций базовых конструкций. Комбинируя базовые конструкции с одним общим отрезком, находим двойки базовых конструкций. Основной характеристикой таких двоек будем считать взаимное расположение входящих в их состав отрезков. Выполнение принятого критерия для данных конструкций (см. рис.2) гарантирует расположение точек А и В в различных полуплоскостях относительно прямой, содержащей отрезок О3. Точки А и В являются точками схода [3,4], характеризующими пространственную ориентацию основных плоскостей изображения. Полученные двойки базовых конструкций могут образовывать более сложные конструкции (см. рис.3).

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

Результатом работы алгоритма является набор отрезков (01з 02,..., 0к) , описывающий геометрию комнаты (рис.5).

Рис.5. Результат алгоритма. Белыми линиями выделена найденная конструкция, разделяющая основные плоскости изображенной кабины лифта

Рис. 4. Тройка отрезков, которая может быть приведена к виду базовой конструкции. Точка К - центроидтреугольника ААИО

Реализация на аппаратной платформе. Приведенный алгоритм реализован на языке C++ с использованием среды разработки Eclipse. При реализации применялись исходные коды алгоритма детектора отрезков [5], а также функции и объекты библиотеки компьютерного зрения OpenCV [8].

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

Выходные данные организованы в структуру, которая имеет следующие поля:

- вектор базовых конструкций, представляющий собой динамический массив, определенный контейнерным классом vector стандартной библиотеки шаблонов STL [9];

- целочисленное значение, описывающее количество базовых конструкций в векторе.

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

- координаты концевых точек отрезка, представленные в виде структуры с элементами, заданными числами двойной точности с плавающей точкой;

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

В качестве аппаратной платформы для оценки скорости поиска границ был использован вычислительный модуль ElmiCORE-i.MX35-Lite [10], работающий под управлением операционной системы Linux (рис.6). Его базовым элементом является микропроцессор i.MX35 компании Freescale Semiconductor с ядром ARM 1136JF-S. В своем составе указанный модуль имеет интерфейс Ethernet 10/100 BASE-T, а также USB версии 2.0, что позволяет использовать видеокамеры различных типов.

■ г«*** • •

П¿lili - 11. •><!•• '_ I Z Я ¡

wffiS U ti^

ni 14p Ii

wim _ I »— I

L ¿st Я КПЗ -

• Ш Ш — liffiiSÍD ^i'iaSH -

• Г£Е;Е:еее:1

Г). HIHI HUI

И: К ^

Ü: I вщ

«ШШШ "{¡¡** Г я

■ llt.n

I м( if i

" " •" - - ■ HI

. Irl

'ЯН' „„,

títiiai

• • ■ WH

k. Si:

H = К? рМЕЯй

Рис.6. Вычислительный модуль ElmiCORE-i.MX35-Lite (ЕЛМС.467465.002)

Реализованный на языке С++ алгоритм поиска границ плоскостей на изображениях комнат с частично определенной геометрией был запущен на приведенной выше аппаратной платформе. По результатам работы программы поиска границ плоскостей на изображениях в градациях серого на аппаратной платформе [10] получены следующие значения времени выполнения программы в зависимости от разрешения исходного изображения (в секундах):

1600x1200...................................2,25

1280x960..................................... 1,38

800x600.......................................0,51

640x480.......................................0,27

Разработанный алгоритм имеет ряд особенностей:

- возможность изменения критерия принятия базовых конструкций без изменения последующих шагов алгоритма;

- малый объем памяти для сохранения информации о базовых конструкциях, так как для каждой из конструкций достаточно хранить только координаты четырех точек;

- возможность распараллеливания вычислений, связанных с фильтрацией и поиском границ на изображении;

- невозможность полной трехмерной реконструкции сцены.

Дальнейшие исследования будут направлены на проведение сравнительного анализа алгоритмов построения трехмерных моделей сцены и разработку алгоритмов полной трехмерной реконструкции на базе предложенного метода с реализацией на аппаратной платформе [10].

Литература

1. Hedau V., Hoiem D., Forsyth D. Recovering the spatial layout of cluttered rooms // IEEE 12th Intern. Conf. (Sept. 29 - -Oct. 2, 2009, Kyoto). - Computer Vision, 2009. - P. 1849-1856.

2. Hedau V., Hoiem D., Forsyth D. Thinking inside the box: using appearance models and context based on room geometry // 11th European Conf. on Computer Vision (September 5-11, Heraklion, Crete, Greece, 2010). - 2010. - P. 224-237.

3. Richard H. Multiple view geometry in computer vision. - Cambridge: Cambridge University Press, 2003. - 655 с.

4. Gonzalez R. C., Woods R. E. Digital image processing. - Prentice Hall, 2008 - 954 с.

5. Rafael Grompone von Gioi, Jeremie Jakubowicz, Jean-Michel Morel, Gregory Randall. LSD: a Line Segment Detector - Image Processing On Line, 2012. - URL: http://dx.doi.org/10.5201/ipol.2012.gjmr-lsd (дата обращения 25.08.2013).

6. Canny J. A computational approach to edge detection // IEEE Trans. Pattern Analysis and Machine Intelligence. - 1986. - N 8(6). - P. 679-698.

7. Duda R.O., Hart P.E. Use of hough transformation to detect lines and curves in pictures // Comm. ACM. - 1972. - Vol. 15. - N 1. - P. 11-15.

8. Robert Laganiere. OpenCV 2 computer vision application progamming cookbook. - Pact Publishing Ltd, Birmingham, 2011. - 287 с.

9. Nicolai M. Josuttis the C++ standart library: a tutorial and reference. - Boston: Addison-Wesley Professional, 1999. - 832 с.

10. Шипатов А.В., Сотников А.В., Туркин А.В., Сараев В.Н. Вычислительный модуль // Патент на полезную модель № 117659. - 2012.

Статья поступила 12 сентября 2013 г.

Фионов Дмитрий Александрович - аспирант кафедры вычислительной техники МИЭТ. Область научных интересов: распознавание образов и обработка изображений, системы слежения. E-mail: fionov@olvs.miee.ru

Туркин Андрей Владимирович - кандидат физико-математических наук, доцент кафедры вычислительной техники МИЭТ. Область научных интересов: распознавание образов и обработка изображений, биометрические системы безопасности, системы слежения.

Сотников Александр Васильевич - инженер НИИ ВС и СУ МИЭТ. Область научных интересов: цифровая обработка изображений, распознавание образов, биометрические системы безопасности, автоматическое сопровождение объектов на видеоизображениях, стохастическое моделирование систем массового обслуживания.

Шипатов Андрей Владимирович - кандидат технических наук, доцент кафедры вычислительной техники МИЭТ. Область научных интересов: разработка универсальных малогабаритных высокопроизводительных средств вычислительной техники, сжатие видеоинформации, корреляционный анализ, фильтрация изображений, выделение и сопровождение объектов на видеоизображениях.

Уважаемые авторы и читатели!

Вышел в свет журнал

SEMICONDUCTORS

English translation of selected articles from

Izvestiya Vysshikh Uchebnykh Zavedenii. Elektronika.-

Vol, 47, N13, December 2013. - ISSN 1063-7826

http://www.maik.ru http://www.springerlink.com

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