УДК 004.5:004.946
В.В. Диковицкий, М.М. Панфилов, А.А. Менькова
Институт информатики и математического моделирования технологических процессов Кольского НЦ РАН
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС УДАЛЕННОГО ПРИСУТСТВИЯ* Аннотация
В статье представлен программно-аппаратный комплекс удаленного присутствия на основе технологий дополненной реальности. Рассмотрены технические требования к аппаратной части устройства, проведен анализ существующих решений. Проведено сравнение алгоритмов для фильтрации данных с сенсоров.
Ключевые слова:
виртуальная реальность, стереоизображение, конвергенция.
V.V. Dikovitskiy, M.M. Panfilov, A.A. Menkova PROGRAM-HARDWARE COMPLEX OF REMOTE PRESENCE Abstract
The article describes the software-hardware complex of remote presence based on the technologies of augmented reality. The technical requirements to the hardware of the device are considered, the analysis of existing solutions is made. Comparison of algorithms for filtering data from sensors is performed.
Keywords:
virtual reality, stereo image, convergence.
Введение
В настоящее время технологии виртуальной и дополненной реальности, дистанционного присутствия получают все более широкое распространение. Существует множество аппаратных и программных средств, которые позволяют человеку наблюдать объекты, находящееся от него на расстоянии. Среди данных средств крайне мало разработок, реализующих передачу стереовидеоряда для достижения эффекта удаленного присутствия.
Целью исследования является создание программно-аппаратного комплекса удаленного присутствия, которое обеспечит трансляцию стерео-видеоряда с возможностью изменения направления камер и движение платформы.
Актуальность работы обусловлена необходимостью повышения эффективности современных производственных, обучающих и информационных систем за счет использования технологий виртуальной и дополненной реальности. Программно-аппаратные комплексы с использованием данных технологий могут использоваться в тренажерах, медицинских системах, обучении, производстве и других областях.
* Работа выполнена при финансовой поддержке Фонда содействия развитию малых форм предприятий в научно-технической сфере (Фонд содействия инновациям), конкурс Умник 15-10, договор 8041ГУ/2015.
Требования к аппаратной части устройства
В процессе работы были выявлены следующие требования, которым должен удовлетворять программно-аппаратный комплекс:
• Связь для удаленного взаимодействия устройства и оператора, передачи двойного видеоряда 1280х720pх30fps и управляющих сигналов на сервоприводы.
• Устройство (миникомпьютер, контроллер), которое будет обеспечивать обработку и передачу видеоряда и принимать сигналы для приводов.
• Характеристики камер (угол обзора 100-130°, качество видео не менее 720pх30fps, потребляемое питание, небольшие размеры и вес); сервоприводов (крутящий момент около 5 кг*см, вольтаж около 5В, небольшие размеры); устройство, способное воспроизводить двойной видеоряд; устройство, с помощью которого стереовидеоряд воспринимается человеком (виртуальный шлем, разрешение экрана не меньше 1280х720, частота около 75 Гц).
• Программное обеспечение, которое обеспечит удобство и быстроту использования комплекса.
• Мобильность устройства, предающего видеоряд.
Для управления устройством было решено использовать одноплатный компьютер Raspberry Pi 3, связанный с программируемой платой Arduino Uno. (рис. 1). Данное решение обусловлено необходимостью переноса функции управления сервоприводами с одноплатного компьютера во избежание задержек в его работе. Отдельная программируемая плата посылает управляющие сигналы на приводы.
Компьютер оператора
Рис. 1. Архитектура программно-аппаратного комплекса
Обработанный видеосигнал пересылается по модулям связи на компьютер оператора и может быть воспроизведен в очках или шлеме виртуальной реальности. С компьютера оператора передаются управляющие сигналы на программируемую плату, которая передает их на сервоприводы.
Для определения аппаратных средств, наиболее соответствующих заявленным требованиям, был проведен сравнительный анализ. Результаты анализа представлены в табл. 1 - 4.
Таблица 1
Сравнительная таблица камер
Камеры Mobius Cam Xiaomi Yi Blackbird 3D FPS Oco
Вес, г 44,7 72 (с аккум.) 25 190
Размеры, мм 69x35x18 60,4x42x21,2 59х28х27 93,5x88,7x40, 9
Угол обзора, градусы 134 155 90 120 (диаг,)
Качество видео 1080p-30fps 720p-30fps 720p-60fps 1080Px60fps 1280x720-30FPS 1280x720-30FPS
Wifi нет нет нет да
Таблица 2
Сравнительная таблица одноплатных компьютеров
Одноплатные компьютеры Raspberry Pi 3 model B A20-OLinuXIno-LIME2-4GB Intel Edison Kit for Arduino
Процессор Broadcom BCM2836 четырехъядерный ARM Cortex-A53 x64 Allwinner A20 dual core Cortex-A7 22нм Intel SoC включающий два ядра, двойной поточности Intel Atom CPU и 32-Бит Intel Quark MCU
Тактовая частота 1,2ГГц 1ГГц 500МГц и 100МГц
Оперативная память 1GB LPDDR2 1ГБ DDR3 1 GB LPDDR3
Флеш-память нет 4GB NAND FLASH 4 GB eMMC
USB 4 2 нет
Питание Micro USB socket 5В, 2А 5В 3.3 - 4.5В
ОС linux, windows 10 IoT linux, android linux, windows embedded
Таблица 3
Сравнительная таблица сервоприводов
Сервоприводы FeeTech FS5106B FeeTech FS90 Groove - Servo ES08A
Диапазон вращения, градусы 180 180 180
Напряжение питания, В 4,8-6 4,8-6 4,8-6
Крутящий момент 5 кгсм при 4,8 В; 6 кгсм при 6 В 1,3 кгсм при 4,8 В 4.8В- 1.5КГС/см, при 6В- 1.8КГС/см
Скорость вращения 60° за 0,18 сек при 4,8 В; 60° за 0,16 сек при 6 В 60° за 0,12 сек при 4,8 В при 4.8В-0.12сек/60°, при 6В-0.10сек/60°
Внутренний интерфейс аналоговый аналоговый аналоговый
Материал шестерней нейлон нейлон нейлон
Материал корпуса пластик пластик пластик
Габариты, мм 40,8 х 20,1 X 38 23,2x12,5x22 23 х 11.5 х 24
Вес, г 40 9 8,5
Таблица 4
Сравнительная таблица контроллеров
Контроллеры Arduino Uno R3 Iskra JS
Микроконтроллер Atmega328 STM32F405RG
Рабочее напряжение, В 5 3,3
Напряжение питания (рекомендуемое), В 7 - 12 7-15 В или 3,6-12 В
Цифровые входы/выходы 14 2
Аналоговые входы 6 12
Максимальный ток одного вывода, мА 40 25
Максимальный выходной ток вывода, V и мА 3,3 и 50 240
Flash-память, КБ 32 1024
Тактовая частота, МГц 16 168
Для реализации были выбраны камеры MobiusCam, одноплатный компьютер Raspberry Pi 3, сервоприводы FeeTech FS90 и плата Arduino Uno R3.
Особенности восприятия визуальной информации
Существующие методы демонстрации стереоизображений, такие как анаглифный, поляризационный и затворный не допускают просмотр видеоряда в реальном времени с возможностью фокусировки на нескольких планах снимаемой сцены. В данном исследовании реализуется метод представления трехмерного изображения, при котором пользователю будет доступна возможность изменения объекта фокусировки (точки пересечения зрительных осей) путем автоматизированного изменения угла конвергенции. Результатом применения метода является представление трехмерного изображения с возможностью изменения объекта фокусировки.
Существует два способа демонстрации трехмерных изображений. Первый из них заключается в программном смещении заранее снятых параллельно стереопар в транслирующем устройстве, например, в очках виртуальной реальности. Второй способ заключается в изменении угла конвергенции за счет изменения положения в пространстве снимающего устройства (сведение-разведение видеокамер, передающих видеоряд) в зависимости от расстояния до объекта фокусировки.
Восприятие пространства является необходимой способностью человека. Без этой способности безопасное взаимодействие с окружающим миром станет затруднительным. Человек воспринимает величину и форму предметов, их объемность, глубину пространства. Оценка величины предмета напрямую зависит от расстояния до него [5]. Если это расстояние оценить трудно, то велика вероятность ошибки. Оценить расстояние до предмета и глубину пространства можно как с помощью монокулярного зрения (один глаз), так и с помощью бинокулярного (два глаза). Аккомодация хрусталика глаза играет большую роль при оценке с помощью монокулярного зрения. Согласно книге Д. Хьюбелла «Глаз, мозг, зрение» аккомодация - это сокращение цилиарной мышцы внутри глаза. Оно вызывает округление хрусталика при рассматривании близких предметов. За счет этого рассматриваемый предмет становится четче. Для того, чтобы воспринимать глубину пространства с помощью бинокулярного зрения, существует следующий механизм. Изображение рассматриваемого предмета с точки зрения каждого глаза попадает на сетчатку соответствующего глаза в так называемых корреспондирующих точках. Для того, чтобы изображения попали именно в эти точки, существует конвергенция и дивергенция. Конвергенция - это сведение зрительных осей, глазные яблоки поворачиваются навстречу друг другу (рис. 2). Дивергенция является обратным процессом, зрительные оси разводятся в стороны [1].
Рис. 2. Конвергенция, дивергенция и аккомодация
Создание объемных изображений
Как отмечалось в [6], большинство методов создания объемных изображений основаны на принципе раздельного просмотра - каждому глазу демонстрируется свое изображение. Подобная пара изображений называется стереопарой, а ее создание - стереосъемкой. Чтобы получить стереопару нужно снять объект с разных точек. Существуют методы, в которых используется многоракурсная съемка. Задача всех методов стереосъемки - получить пару или серию изображений, на которых наблюдается параллакс. Параллакс - это смещение рассматриваемого объекта, вызванное изменением точки наблюдения. Количество фотографий зависит от того, как в дальнейшем будет проводиться обработка изображений и какой из методов используется для демонстрации стереоизображения. Чаще всего используется две точки съемки, по положению имитирующие расположение глаз человека. Расстояние между точками съемки левого и правого кадра называется базисом стереосъемки или просто стереобазисом. Величина стереобазиса напрямую зависит от расстояния до нужного объекта сцены. Если это расстояние находится в диапазоне от трех до пяти метров, то можно за величину стереобазиса взять расстояние между человеческими глазами, а именно 65-70 мм. Если же необходимо показать объем более дальнего объекта, то, соответственно, необходимо увеличить базис съемки. Примерно базис съемки можно рассчитать по данной формуле:
В = 0.03 * £), (1)
где В - базис стереосъемки;
- расстояние до ближайшего объекта сцены.
Коэффициент 0,03 продиктован углом схождения зрительных осей 1-2°, благодаря которому обеспечиваются наиболее оптимальные условия для наблюдения стереоэффекта [3].
Существует два способа, которыми можно выполнить стереосъемку: направленный и параллельный. При направленном методе съемки камеры расположены под определенным углом друг к другу, направлены на главный объект сцены, таким образом, моделируют конвергенцию глаз человека. Это позволяет получить готовую стереопару практически без дополнительной обработки изображений. Но существует ряд проблем в применении данного метода. Во-первых, технически сложной задачей является точная установка
камер. Во-вторых, объекты на заднем плане будут сильно смещены относительно друг друга, что помешает нормальному восприятию этих объектов и вызовет дискомфорт. В-третьих, самая нежелательная проблема, которая может возникнуть, это искажения объектов. Например, квадрат в перспективе изображается в виде трапеции. При съемке направленным методом на снимке с одной камеры большей стороной этой видимой трапеции окажется одна сторона, тогда как на другом снимке ею окажется противоположная сторона фигуры. Также неизбежно возникновение вертикального параллакса. Все перечисленное может вызвать неприятные ощущения при просмотре.
При использовании параллельного метода камеры располагаются параллельно друг другу. Техническая реализация данного метода не является сложной задачей. Но параллельный метод также обладает рядом недостатков. Во-первых, при просмотре стереопары следует выполнить компенсационный сдвиг изображений так, чтобы главный объект сцены не двоился. Данный объект будет казаться удаленным на расстоянии носителя. Тогда объекты, которые находились на сцене позади и впереди него, на изображении будут казаться углубленными в изображение и выступающими соответственно относительно главного объекта. Но смещение изображений займет дополнительное время. Также, после выполнения сдвига, часть изображения по горизонтали теряется, объемной будет только та часть, которая попала в зону пересечения изображений стереопары. Если не сдвигать изображения, тогда все объекты будут казаться выступающими относительно дальнего фона картинки, который не будет двоиться. Чаще всего большинство людей выбирают параллельный метод без компенсационного сдвига [6].
Фильтрация сигналов с датчиков
Для организации работы устройства удаленного присутствия с использованием очков виртуальной реальности на основе мобильных устройств необходимо осуществить точную передачу фактических значений углов поворота мобильного устройства. Акселерометр и магнитометр подвержены влиянию шумов. Для корректной работы устройства эти шумы необходимо отфильтровать. Для этого реализованы два распространенных фильтра и проведено сравнение результатов их применения.
Разрабатываемый программно-аппаратный комплекс удаленного присутствия работает следующим образом: с очков виртуальной реальности, реализованных на основе мобильного устройства, передаются значения углов поворота по трем осям на контроллер, который преобразует их в управляющие сигналы для трех сервоприводов. Далее приводы поворачивают удаленное устройство на тот же угол.
Для получения угла поворота используются акселерометр и магнитометр. Оба этих датчика сильно подвержены влиянию шумов, что приводит к невозможности точного определения углов поворота. Для снижения уровня шумов сигналы сенсоров были подвержены программной фильтрации данных двумя наиболее распространенными фильтрами - фильтром нижних частот (Low pass filter) [11] и фильтром Калмана [7, 8]. Фильтр нижних частот -это фильтр, пропускающий частотный спектр сигнала ниже некоторой частоты и
подавляющий частоты выше заданной частоты. Простейшая реализация данного фильтра производится по следующей формуле:
где - отфильтрованное значение в данный момент времени;
1 - отфильтрованное значение в предыдущий момент;
X ■ - исходное значение в данный момент;
а - коэффициент фильтрации, который принимает значения от 0 до 1.
Фильтр Калмана - это рекурсивный фильтр, использующий динамическую модель системы (например, физический закон движения), известные управляющие воздействия и множество последовательных измерений для формирования оптимальной оценки состояния. В данном случае состояние сенсора представлено одной переменной, таким образом, формулы в скалярном виде выглядят следующим образом:
Предсказание значения:
%к = + Вий_ь (3)
Рк~ = FPíf_1F + Q. (4)
Корректировка:
= Ч + КкО* ~ Нх^Х (6)
Рк=(1КкН)Рк (7)
где - предсказание состояния системы в текущий момент времени;
- динамическая модель системы, переменная, описывающая динамику системы (в данном случае равно 1, то есть указываем, что предсказываемое значение будет равно предыдущему состоянию);
~ состояние системы в прошлый момент времени;
В - переменная, определяющая применение управляющего воздействия. Так как в данной модели нет информации об управляющем воздействии, то В = 0.
- управляющее воздействие в прошлый момент времени;
-предсказание ошибки;
1 - ошибка в прошлый момент времени;
0 - ковариация шума процесса. Так как не всегда представляется возможным определить дисперсию процесса, определение шума процесса является сложной задачей. В данном случае этот параметр подбирается для обеспечения нужной фильтрации.
Кк - усиление Калмана;
Н - матрица измерений, отображающая отношение измерений и состояний;
Е - ковариация шума измерения;
Г;- - измерение в текущий момент времени.
Данные фильтры были программно реализованы. На графиках (рис. 3) представлены значения сигналов сенсора и результаты применения фильтров нижних частот и Калмана.
Сравнение фильтров
rvwwv^
Калман
....... Исходные значения
....... Low-pass
1-1-1-1-1-1-I-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-r-1
0 200 400 600 800 1000 1200 1400
Рис. 3. Сравнение исходных данных датчиков с данными, полученными в результате применения фильтров нижних частот и Калмана
Представленные графики демонстрируют, что фильтр Калмана обеспечивает лучшую фильтрацию. При подборе значений ковариаций шумов процесса и измерения время, за которое обеспечивается фильтрация данных, снижается до допустимого минимума, обеспечивающего стабильную работу программно-аппаратного комплекса.
о -
-100-
-200 -
Заключение
Было разработано приложение с использованием описанных выше технологий для представления стереовидеоряда пользователю. Приложение на базе операционной системы Android. Такое решение обусловлено тем, что на сегодняшний день технические характеристики многих смартфонов позволяют использовать их в составе систем виртуальной и дополненной реальности.
На рис. 4 представлена диаграмма Activity, демонстрирующая порядок работы разработанного в процессе исследования приложения.
Рис. 4. Диаграмма Activity
Литература
1. Хьюбел, Д. Глаз, мозг, зрение /Д. Хьюбел //Пер. с англ. -М.:Мир, 1990.- 239 с. ISBN 5-03-001254-0.
2. Беклемишев, Н.Д. Оценка среднего параллакса стереоизображений / Н.Д. Беклемишев // Препринты ИПМ им. М.В. Келдыша. -2016. -№ 88. -12 с.
3. Форсайт, Д.А., Понс, Ж. Компьютерное зрение. Современный подход / Д.А. Форсайт, Ж. Понс /Пер. с англ. - М.: Издательский дом «Вильямс», 2004. - 928 с.
4. Воронин, В.В. Разработка и исследование алгоритма вычисления карты глубины стереоизображения / В.В. Воронин // Известия ЮФУ. Технические науки. -2013. - С.58-66.
5. Механизмы сознания и существования. Зрительная система человека. -Режим доступа: http://cyber-ek.ru/reading/ps-seeing.html
6. Диковицкий, В.В., Менькова, А.А. Повышение качества визуализации стереоизображений за счет изменения угла конвергенции / В.В. Диковицкий, А.А Менькова // Труды Кольского научного центра РАН. Информационные технологии. - Вып. 7. - 6/2016. -Апатиты: Изд-во КНЦ РАН, 2016. -С.62-70.
7. Greg Welch, Gary Bishop, «An Introduction to the Kalman Filter», 2001. - Режим доступа: http://www.cs.unc.edu/~welch/media/pdf/kalman intro .pdf
8. Фильтр Калмана - введение.- Режим доступа: https://habrahabr.ru/post/140274/
9. Kalman, R.E. «A New Approach to Linear Filtering and Prediction Problems», 1960. -Режим доступа:
https://www.cs.unc.edu/~welch/kalman/media/pdf/Kalman1960.pdf
10. Фильтр Калмана. - Режим доступа: https://habrahabr.ru/post/166693/
11. Популярная робототехника. Фильтр низких частот. -Режим доступа: http://www.poprobot.ru/theory/low pass filter
12.Swarthmore College. Frequency Response and Active Filters. -Режим доступа: http://www.swarthmore.edu/NatSci/echeeve1/Ref/FilterBkgrnd/Filters.html
Сведения об авторах
Диковицкий Владимир Витальевич - к.т.н., старший научный сотрудник, е-mail: [email protected]
Vladimir V. Dikovitsky - PhD (Tech. Sci), senior researcher
Панфилов Михаил Михайлович - инженер-исследователь
e-mail: panfilov@iimm. ru
Mikhail M. Panfilov - research engeneer
Менькова Анастасия Александровна - инженер-исследователь,
е-mail: AMenkova@iimm. ru
Anastasia A. Menkova - research engeneer