УДК 681.518.3
В. Т. Чинь, В. В. Ткаченко, М. В. Недорезов
Московский физико-технический институт (национальный исследовательский университет)
Разработка стенда для моделирования видеопотока
Проектирование стенда для изучения алгоритмов определения траекторных параметров объекта по набору изображений.
Использование технологии обработки изображений с помощью смарт-камер для определения параметров объекта.
Ключевые слова: компьютерное зрение, видеопоток, смарт-камера, определение траекторных параметров.
V. Т. Trinh, V. V. Tkachenko, М. V. Nedorezov
Moscow Institute of Physics and Technology
Development of a stand for simulating a video stream
We design a stand for retrieving object trajectory parameters.
We use the technology of image processing with smart cameras to determine the parameters of an object.
Key words: computer vision, video stream, smart camera, estimation of trajectory-parameters.
1. Введение
Область компьютерного зрения сегодня активно развивается благодаря появлению систем, способных в режиме реального времени обрабатывать большие объёмы видеоинформации, а также соответствующих алгоритмов и исследований. Одной из прикладных задач области является определение траекторных параметров движущегося объекта по видеопотоку и удалённого управления объектом по полученным параметрам. Например, в [1] и [2] так решается задача посадки дрона на автомобиль.
Возникает необходимость отрабатывать подобные алгоритмы в пределах лаборатории. Зачастую такая отработка ограничивается тестированием модели с использованием сгенерированного набора синтетических изображений [3]. В данной статье предлагается совместно с компьютерным моделированием использовать для этих целей подвижный стенд с установленной на нём системой технического зрения (СТЗ).
Для демонстрации такого подхода в статье решаются следующие задачи:
1) Создание компьютерной модели стенда, пригодного для размещения СТЗ.
2) Подбор компонентов и разработка стенда.
3) Подбор компонентов для системы технического зрения и её сборка.
4) Написание программного обеспечения для управления стендом и СТЗ.
5) Демонстрация возможности использования СТЗ для определения траекторных параметров.
© Чинь В. Т., Ткаченко В. В., Недорезов М. В., 2021
(с) Федеральное государственное автономное образовательное учреждение высшего образования
«Московский физико-технический институт (национальный исследовательский университет)», 2021
Возможность использования полученной СТЗ для определения траскторных параметров демонстрируется экспериментом но определению расстояния до простейшей метки (точки, создаваемой лазером). Эту метку предполагается заменить физической моделью реальншх) объекта при отработке конкретной задачи распознания.
2. Постановка задачи
Функциональная схема стенда представлена на рис. 1.
Г Л
Блок
отображения
V_)
Рис. 1. Функциональная схема стенда
Блок управления состоит из двигателя и драйвера, получает от пользователя значения максимальной скорости, ускорения и расстояния, на которое стенду нужно переместиться, а затем преобразует их в управляющие сигналы для управления системой движения.
Лазерный дальномер создает цель для обнаружения (световое пятно). На схеме это отображено блоком «Создание объекта». Также лазерный дальномер используется для проверки точности измерения расстояния до пятна.
Блок съемки состоит из камер и роутера, передает полученные изображения на дисплей и вычислительный блок для идентификации объекта и вычисления параметров. При необходимости изображения также записываются на диск.
Блок расчета обнаруживает цель на полученных изображениях, рассчитывает расстояние до нее и мгновенную скорость. Полученные параметры выводятся на дисплей и сохраняются на диск.
Блок отображения (компьютер или ноутбук) визуализирует сигнал, поступающий с камер, параметры объекта (расстояние, скорость), параметры управления движением оборудования СТЗ.
Состав системы технических) зрения предполагает наличие двух одинаковых камер, осуществляющих съемку, и вычиелительншх) блока, обрабатывающих) полученные изображения, а также каналов связи между этими элементами. Одновременная съемка искомшх) объекта двумя камерами позволяет получить ехх) пространственные координаты.
3. Компьютерная модель стенда 3.1. Моделирование в 8оНс1\¥огкз
Проектирование стенда осуществлялось но следующим критериям:
- возможность движения но горизонтальной оси;
- максимальная доступность используемого оборудования;
- устойчивость и стабильность работы;
- лёгкость сборки и замены компонентов;
- компактность и простота установки. Полученная модель в БоНёШогкя приведена на рис. 2.
1000 1650
Рис. 2. Модель стенда в БоИс^огкз В модели использованы следующие элементы (табл. 1).
Т а б л и ц а 1
Список оборудования
Номер Название элементов Количество
1 Двигатель АД 200-21 01
2 Муфта соединительная ВР-2025-8-10 01
3 Подшипник В К 12 02
4 Рельсовая направляющая СНВ СН1120 1650мм 02
5 Дальномер СЕМ ЬБМ-20 01
6 Шариковый винт ЯП,' 1605 1500мм 01
7 Камера N1-1752 02
8 Подставка для двигателя и подшипники 03
9 Деревянные опоры 1650x200x50мм 02
10 Модуль опорный ГКт112()(^\7А?Т 04
11 Гайка ШВП БН; 1605 01
12 Стенд для крепления камер 01
На стенде установлены две камеры N1-1752 и дальномер СЕМ ЬВМ-20.
Двигатель соединен с шариковым винтом ББи 1605 через соединительную муфту ВВ-2025-8-10 (местный А). Система переходит от вращательших) движения к поступательному с помощью гайки ШВП Я Г I 1605 (местный В). Стенд скользит но рельсовой направляющей СНВ СН1120 с помощью опоржих) модуля Ш\ут 1ШН20СА2АН. Длина шариковохх) винта Я Г I 1605 составляет 1500 мм, а длина сниральнохх) участка 1435 мм, поэтому стенд может перемещаться максимум на 1435 мм. Камеры на стенде могут быть закреплены в нескольких положениях. В табл. 2 описаны возможные положения и зависимость линейнохх) размера слепой зоны стереосистемы от них. Рисунок 2 отображает положение с наибольшим расстоянием между камерами 930 мм.
Т а б л и ц а 2
Зависимость размера слепой зоны от расстояния между камерами
Расстояние между камерами(мм) Линейный размер слепой зоны (мм)
930 1570
720 1216
500 845
270 456
3.2. Создание подвижной модели
Рис. 3. Схема управления движением компьютерной модели
Для управления движением компьютерной модели в Lab View создано ПО, которое взаимодействует с SolidWorks через SoftMotion. Схема управления движением показана на рис. 3. На лицевой панели отображаются начальные настройки скорости и ускорения, информация о перемещении стенда и его скорости и индикаторы конечных точек. Управление движением стенда камеры осуществляется с помощью функций SoftMotion в Lab View. Интерфейс модуля показан на рис. 4.
ПРОГРАММА УПРАВЛЕНИЯ 3D МОДЕЛЬЮ
Рис. 4. Интерфейс модуля управления движением
4. Сборка стенда
На рис. 5 показана схема управления движением стенда.
( л с л Компьютер Arduino (Lab View) Nano V J ^ J ( л с Л Драйвер Двигатель (SMSD 4.2) (AD 200-21) V J V J . Перемещение (Стеяд камеры) _J
11 1Г ^ Питание ( АКИП-Б5-71/2М) I = 0,2^4,2А v U =12+48V j
Рис. 5. Схема управления движением
Рис. 6. Общий вид стенда
На рис. 6 показан общий вид собранного стенда.
Компоненты СТЗ включают следующее основное оборудование:
- смарт-камера N1 1752 [4] (х2);
- объектив М0814-МР2 [5] (х2);
- компьютер (в качестве вычислительного блока);
- роутер D-Link DIR-620 [6];
- блок питания NI PS-12 для камер;
- дальномер СЕМ I.DM 21) [7] (для верификации результатов).
Таблица 3 содержит основные характеристики выбранных камер. Важной особенностью является возможность записи на камеру программного обеспечения на Lab View. Это позволяет более тонко настроить взаимодействие внутри СТЗ при выборе Lab View в качестве среды разработки. В частности, имеется возможность частично или полностью выполнять обработку изображений непосредственно на камерах, существенно уменьшая объём передаваемых по сети данных.
Выбранный роутер поддерживает подключение по Wi-Fi, что упрощает подключение к камерам в процессе отладки ПО для стенда. В то же время для обеспечения больших скоростей работы, предпочтительно использовать подключение по Ethernet.
Выбранный дальномер обеспечивает измерения с погрешностью ±1.5мм на расстоянии до 10 метров, что позволяет использовать его для верификации измерений расстояния.
ТаблицаЗ
Характеристики камеры
Характеристика Значение
Тип изображения оттенки серого (8бит)
Максимальная частота съёмки 60 кадров в секунду
Максимальное разрешение 640x480 пикселей
Объём встроенной памяти 512 МБ
Объём оперативной памяти 256 МБ
Связь 2 Ethernet порта
Размер матрицы 1/3"
Тип матрицы пзс
5. Обработка видеопотока
Для поиска траекторных параметров объекта по набору изображений необходимо:
1) для каждого изображения проверить, содержит ли оно искомый объект;
2) определить положение объекта на изображении;
3) определить разницу в положении объекта для синхронно снятых кадров с обеих камер.
Для решения задач стереозрения часто выбирают схему съёмки, изображённую на рис. 7. Её особенностью является параллельность осей обеих камер, что позволяет существенно упростить вычисление координат искомого объекта.
5.1. Распознание объекта
Алгоритм обработки изображений создаётся в приложении N1 Vision Assistant. Vision Assistant работает со всеми функциями драйвера IMAQ-Vision и включает средства визуализации этапов работы алгоритма. Это упрощает и ускоряет процесс разработки и отладки
а.;п'оритма решаемой задачи для конкретной ситуации. Кроме toix), приложение NI Vision Assistant дает возможность интерактивно контролировать обработку изображения.
Для идентификации объекта используется алгоритм Pattern Matehing. Он проверяет наличие заданших) шаблона во веем изображении или в интересующей области.
После идентификации объекта параметры положения объекта на изображении будут определены как выходной сигнал функции Vision Assistant и использованы в программе Lab View для расчета.
Рис. 7. Схема съёмки
5.2. Определение расстояния и скорости
Для расчёта расстояния используются две идентичные камеры А и В, расположенные параллельно и разделённые расстоянием йо.
H Объект 1 1
d=? \
А / do \ в
1 д 1 1 Л 1
А А С f
-4-Г-»- * 1 \ Л -< . V
Рис. 8. Определение расстояния до объекта
На рис. 8 расстояние ^ от объекта Р до линии, соединяющей две камеры, определяется по изображениям, полученным с камер.
Зависимость расстояния й от значений йо, фокусного расстояния объектива / и положения объекта на изображениях определяется следующим образом [8|:
АЕ
~РС вн
EF GH
PC ВС
=>.АС =
ВС =
PC * EF
АЕ ' PC * GH
ВН '
.г, ^ ^ РС *EF РС *GH
АВ = АС + ВС =-—--+
АЕ
АЕ =ВН = f ^ АВ * f
ВН
РС =
EF + GH'
(1) (2)
(3)
(4)
(о)
где АВ = йо расстояние между двумя камерами, РС = й - расстояние от объекта до камер, Р - объект для наблюдения,
Р - изображение объекта Р, полученное через левую камеру, С - изображение объекта Р, полученное через правую камеру, / - фокусное расстояние объектива.
640
a дх 1
0 изображение
о оо
Рис. 9. Горизонтальное расстояние от объекта до центра изображения
В камерах N1 1752 используется монохромная матрица Sony ICX424AL с форматом оптики 1/3 дюйма, 640 х 480 пикселей. Пиксель равен 7,4 мкм х 7,4 мкм. Размеры светочувствительной части датчика составляют 4,736 мм в горизонтальном направлении и 3,552 мм в вертикальном направлении. Поэтому значения йь и (Ir рассчитываются следующим образом:
(1Ь/К = АХ х 0, 0074 (мм), (6)
где X (пиксель) - горизонтальное расстояние от объекта до центра изображения (рис. 9).
Для определения мгновенной скорости используются две нары снимков, полученных с известным промежутком по времени Ар.
лт - Хг . ,
=-А-•
5.3. Программная реализация
Рис. 10. Схема программной реализации
Ключевыми особенностями программной реализации методики для тестового стенда являются распределение ПО между элементами СТЗ и параллельная обработка данных с обеих камер.
На рис. 10 показана схема программной реализации.
Для начала рассмотрим модули, расположенные на смарт-камерах. Их основная функция непрерывная съемка изображений с заданными параметрами и отправка их на вычислительный блок но Ethernet-каналу. (Обмен данными осуществляется при помощи сетевых потоков [9].) Полученные изображения можно вывести на экран вычислительного блока.
Все остальные модули расположены на вычислительном блоке и имеют схожую структуру. Каждый из них содержит цикл с условием. Итерация цикла заключается в обработке сообщения из очереди и выполнении набора действий, зависящих) от пришедшего сообщения. Каждый цикл имеет собственную очередь сообщений и может записывать сообщения в свою очередь и в очередь управляющих) блока. (В соответствии с используемым шаблоном разработки [10], очереди сообщений представляют собой набор из текстового ноля и ноля данных тина Variant fill-)
Основная функция обработчика событий отслеживать действия пользователя.
Управляющий блок может записывать сообщения во все очереди и используется для управления работой остальных модулей.
Модули управления камерами получают изображения с камер но Ethernet-каналу и записывают их в очереди. Обработчики изображений обрабатывают полученные кадры методом геометрического соответствия, возвращая кластеры, содержащие данные распознания. (Многопоточная работа этих циклов для двух камер осуществляется с помощью предварительного клонирования пространства данных модуля [12].) Эти кластеры обрабатываются вычислителем траекторных параметров, чтобы получить расстояние до нужного объекта и при необходимости его мгновенную скорость.
Интерфейс программы показан на рис. 11.
Рис. 11. Интерфейс программы для управления стендом
6. Эксперимент по определению расстояния до объекта
Был проведён эксперимент но определению расстояния до объекта в процессе движения стенда. Точность перемещения стенда при этом проверялась вручную, а точность определения расстояния до объекта контролировалась дальномером. Схема проведения замеров приведена на рис. 12.
Рис. 12. Схема проведения замеров
Рис. 13. Назначение интервалов измерения
Точность перемещения стенда определяется статистическими показателями, которые находят по результатам измерений, выполняемых в контрольных точках отдельно для положительного и отрицательного направлений движения. Контрольными точками 1, 2, 3,
..., m (рис. 13) являются границы интервалов, на которые разбивается контролируемый участок Ах.
В эксперименте производилось определение точности перемещения стенда и точности определения расстояния до объекта. Результаты при перемещении стенда на 850 мм с шагом Ах = 50 мм представлены в табл. 4. На рис. 14 приведены графики относительной погрешности. Перемещение стенда и связанные с ним параметры обозначались буквой L, а расстояние до объекта - буквой S.
Таблица!
Полученные результаты
№ Перемещение стенда Расстояние до объекта
¿зад(мм) L(MM) AL(mm) 5Ц %) 5зад(мм) S (мм) AS'(mm) 5S{ %)
0 0 0 0 0,00 2837 2807 30 1,07
1 50 50 0 0,00 2787 2755 32 1,14
2 100 99 1 1,00 2738 2714 24 0,86
3 150 148 2 1,33 2688 2665 23 0,85
4 200 198 2 1,00 2638 2619 19 0,72
5 250 248 2 0,80 2588 2570 18 0,71
6 300 298 2 0,67 2537 2525 12 0,49
7 350 348 2 0,57 2486 2477 9 0,34
8 400 397 3 0,75 2437 2427 10 0,40
9 450 447 3 0,67 2387 2380 7 0,29
10 500 497 3 0,60 2337 2334 3 0,13
11 550 547 3 0,55 2287 2281 6 0,24
12 600 597 3 0,50 2236 2239 3 0,11
13 650 648 2 0,31 2186 2188 2 0,10
14 700 698 2 0,29 2136 2140 4 0,19
15 750 747 3 0,40 2086 2093 7 0,33
16 800 797 3 0,38 2037 2044 7 0,32
17 850 848 2 0,24 1987 1995 8 0,42
18 800 798 2 0,25 2037 2044 7 0,32
19 750 748 2 0,27 2086 2093 7 0,33
20 700 698 2 0,29 2137 2141 4 0,19
21 650 648 2 0,31 2186 2189 3 0,15
22 600 598 2 0,33 2236 2237 1 0,07
23 550 548 2 0,36 2286 2285 1 0,06
24 500 498 2 0,40 2337 2333 4 0,18
25 450 448 2 0,44 2386 2381 5 0,21
26 400 398 2 0,50 2436 2428 8 0,32
27 350 348 2 0,57 2486 2475 11 0,43
28 300 299 1 0,33 2536 2525 11 0,45
29 250 249 1 0,40 2587 2572 15 0,59
30 200 199 1 0,50 2637 2617 20 0,76
31 150 149 1 0,67 2687 2664 23 0,86
32 100 99 1 1,00 2737 2711 26 0,94
33 50 50 0 0,00 2787 2758 29 1,03
34 0 0 0 0,00 2837 2805 32 1,11
35 Средняя ошибка 1,80 0,48 Средняя ошибка 12,29 0,48
Средняя погрешность движения в эксперименте составила 1,8 мм, а средняя погрешность измерения расстояния системой технического зрения - 12,29 мм.
График относительной погрешности измерения
■o
1.00 0.80 0.60 0.40 0.20
0 5 10 15 20 25 30 -•-5L -в-SS 35 40 Номер шага(№)
Рис. 14. График результатов измерения
7. Результаты
Смоделирован и изготовлен подвижный стенд для проведения экспериментов но определению расстояния до объекта и ei'o мгновенной скорости. Разработано программное обеспечение на Lab View для управления движением стенда, получения и обработки информации с камер.
На данный момент система имеет следующие ограничения:
- низкая скорость движения;
- одна степень свободы;
- ненадежность иенользуемохх) метода обнаружения объектов на изображении.
В то же время стенд уже допустимо использовать для экспериментов но определению расстояния до объектов. Проведенный эксперимент показал, что стенд работает стабильно, с погрешностью движения, не превышающей 3 мм. Погрешность определения расстояния до объекта в эксперименте не превышала 32 мм.
Литература
1. Muskardin Т. \e.t al.}. Landing of a Fixed-wing UAV on a Mobile Ground Vehicle /7 IEEE International Conference on Robotics and Automation (ICRA). 2016. P. 1237 1242.
2. Borowczuk A. \e.t al.}. Autonomous Landing of a Multirotor Micro Air Vehicle on a High Velocity Ground Vehicle. 2016. URL: https://arxiv.org/abs/1611.07329 (10.03.2021)
3. Tsirikoglou A., Eilert.sen G., Unge.r J. A Survey of Image Synthesis Methods for Visual Machine Learning /7 Computer Graphics Forum. 2020. 39: 426-451
4. N1 17xx Smart Camera User Manual. URL: http:///4vww.ni.(x)m/pdf/manuals/372429c.pdf (10.3.2021).
5. M0814 MP2. URL: https://complitar.com/file?id 161 (10.3.2021).
6. D-Link DIR-320 User Manual. URL:https://www.dlink.ru/mn/products/5/786.html (10.3.2021).
7. LDM-20 Лазерный дальномер. URL: http://www.ccm-instrumcnts.ru/lazcrnic-dalnomc-ri/ldm-20-lazcrnyj-dalnomcr.html (10.3.2021).
8. Hartley R., Zisserman A. Multiple View Geometry in Computer Vision (2nd ed.). Cambridge : Cambridge University Press, 2004.
9. Lossless Communication with Network Streams: Components, Architecture, and Performance. URL: https://www.ni.com/ru-ru/innovations/white-papers/10/lossless-co-mmunication-with-network-streains-components-axchite.html (10.3.2021).
10. Queued Message Handler Template Documentation. URL: http://www.ni.com/tutorial/ 53391/en/ (10.3.2021).
11. Variant Data. URL: https://zone.ni.com/reference/en-XX/help/371361R-01/lvhowto/ variants/ (10.3.2021).
12. Reentrancv: Allowing Simultaneous Calls to the Same SubVI. LabVIEW 2015 Help. URL: http://zone.ni.com/reference/en-XX/help/371361M-01/lvconcepts/reentrancv/ (10.3.2021).
References
1. Muskardin T., et al., Landing of a Fixed-wing UAV on a Mobile Ground Vehicle. IEEE International Conference on Robotics and Automation (ICRA). 2016. P. 1237-1242.
2. Borowczuk A., et al, Autonomous Landing of a Multirotor Micro Air Vehicle on a High Velocity Ground Vehicle. 2016. URL: https://arxiv.org/abs/1611.07329 (10.03.2021)
3. Tsirikoglou A., Eilertsen G., Unger J. A Survey of Image Synthesis Methods for Visual Machine Learning. Computer Graphics Forum. 2020. 39: 426-451
4. N1 17xx Smart Camera User Manual. URL: http://www.ni.com/pdf/manuals/372429c.pdf (10.3.2021).
5. M0814-MP2 // URL: https://computar.com/file?id=161 (10.3.2021).
6. D-Link DIR-320 User Manual. URL: https://www.dlink.ru/mn/products/5/786.html (10.3.2021).
7. LDM-20 Laser rangefinder. URL: http://www.cem-instruments.ru/lazernie-dalnomeri/ldm-20-lazernvj-dalnomer.html (10.3.2021).
8. Hartley R., Zisserman A. Multiple View Geometry in Computer Vision (2nd ed.). Cambridge : Cambridge University Press, 2004.
9. Lossless Communication with Network Streams: Components, Architecture, and Performance. URL: https://www.ni.com/ru-ru/innovations/white-papers/10/lossless-co-mmunication-with-network-streams-components-archite.html (10.3.2021).
10. Queued Message Handler Template Documentation. URL: http://www.ni.com/tutorial/ 53391/en/ (10.3.2021).
11. Variant Data. URL: https://zone.ni.com/reference/en-XX/help/371361R-01/lvhowto/ variants/ (10.3.2021).
12. Reentrancv: Allowing Simultaneous Calls to the Same SubVI. LabVIEW 2015 Help. URL: http://zone.ni. com/reference / en-XX/help /371361M- 01 /1 vconcept s / reentrancv / (10.3.2021).
Поступим в редакцию 29.06.2021