ВВЕДЕНИЕ 4
1. ОПИСАНИЕ РОБОТОТЕХНИЧЕСКОЙ СИСТЕМЫ И ПОСТАНОВКА ЗАДАЧИ 6
1.1. Мотивация 6
1.2. Мобильный робототехнический комплекс «Сервосила Инженер» 7
1.3. Недостатки системы 11
1.4. Постановка задачи 13
2. ОБЗОР МЕТОДОВ КОДИРОВАНИЯ ВИДЕО 16
2.1 Проблема избыточности видео 16
2.2. Обзор кодеков 17
2.2.1 H.264/Advanced Video Coding 17
2.2.2 High Efficiency Video Coding 20
2.2.3 VP9 22
2.2.4 Другие кодеки 23
2.3 Сравнение кодеков 24
2.3.1 Методы оценки качества видео 24
2.3.2 Обзор литературы 27
3. ОБЗОР РЕШЕНИЙ ДЛЯ ПОТОКОВОЙ ПЕРЕДАЧИ ВИДЕО ПО СЕТИ 31
3.1. Протоколы 31
3.2. Инструменты, библиотеки и фреймворки 34
4. КАЛИБРОВКА ОПТИЧЕСКИХ СЕНСОРОВ 37
4.1 Описание проблемы 37
4.2 Обзор методов 38
5. РЕАЛИЗАЦИЯ СИСТЕМЫ ПОТОКОВОЙ ТРАНСЛЯЦИИ ВИДЕО 43
5.1 Используемые инструменты 43
5.2. Архитектура системы 44
5.3 Захват, предобработка и кодирование видео 45
5.4 RTSP сервер 48
6. ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТОВ 51
6.1 Калибровка камер 51
6.2 Поиск оптимальных параметров потоковой трансляции видео по
беспроводной сети 55
6.2.1 Используемые параметры 55
6.2.2 Подготовка тестового окружения 56
6.2.3 Запуск тестов и обработка результатов 57
6.3 Результаты 59
ЗАКЛЮЧЕНИЕ 65
ГЛОССАРИЙ 66
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 68
ПРИЛОЖЕНИЕ А 75
ПРИЛОЖЕНИЕ Б 81
ПРИЛОЖЕНИЕ В 83
ПРИЛОЖЕНИЕ Г
В целях взаимодействия с динамической окружающей средой мобильной робототехнической системе (РТС) необходимо постоянно получать и обновлять данные с различных сенсоров, в том числе и камер [1-3]. Камеры используются в решении таких задач, как визуальная одновременная локализация и картографирование (SLAM) [4, 5], реконструкция трехмерного окружения, обнаружение и преодоление препятствий, телеоперация и т.д. В большинстве случаев (например, SLAM и телеоперация) есть необходимость получать данные с камер в режиме реального времени. Более того, так как вычислительные мощности мобильной РТС в основном являются ограниченными, как в случае с рассматриваемым в данной работе мобильной РТС «Сервосила Инженер» [6], появляется необходимость в передаче данных на более мощное удаленное устройство. Связь с роботом осуществляется через беспроводной канал, в результате чего возникает множество проблем, а именно: ограниченная ширина канала связи, потери данных, искажения, задержки [7]. Стоит отметить, что существующие решения по передаче данных с камер робота «Сервосила Инженер» (в виде API производителя) обладают рядом ограничений и не позволяют эффективно решать поставленные задачи.
Следовательно, актуальность темы данной работы заключается в необходимости решения проблемы по передаче видеоданных с камер мобильной РТС «Сервосила Инженер», которая позволит реализовать алгоритмы удаленного управления роботом, визуального SLAM и взаимодействия с окружающей средой (например, распознавание и открывание дверей).
Поскольку существует множество факторов, влияющих на оптимальность решения, что включает в себя различные сетевые параметры, параметры кодирования и многое другое., теоретическая часть данной работы посвящена изучению влияния данных параметров на эффективность работы системы потоковой трансляции видео по беспроводной сети.
Практическая значимость состоит в реализации программного обеспечения по захвату, обработке и передаче видеоданных с камер мобильной РТС по беспроводному каналу связи. Данное решение будет интегрировано в уже существующий графический интерфейс для управления роботом в режиме телеоперации.
Объектом исследования является мобильная РТС «Сервосила Инженер», оборудованная четырьмя видеокамерами. Предмет исследования - разработка и реализация оптимального механизма потоковой передачи видеоданных с мобильной РТС «Сервосила Инженер».
Целью дипломной работы является реализация системы потоковой передачи видеоданных со всех камер мобильного робота «Сервосила Инженер» в режиме реального времени и изучение влияния различных параметров на эффективность реализации. Для достижения цели данной работы поставлены следующие задачи:
1. провести обзор форматов кодирования видеоданных;
2. провести обзор методов потоковой передачи видеоданных по сети;
3. изучить влияние различных параметров на эффективность потоковой трансляции видео по сети;
4. изучить методы калибровки камер;
5. в рамках подготовки оборудования осуществить калибровку камер робота «Сервосила Инженер»;
6. при помощи выбранных инструментов реализовать систему потоковой передачи видеоданных со всех камер робота в режиме реального времени;
7. провести экспериментальную работу по нахождению оптимальных параметров трансляции для системы стереозрения робота.
В результате выполнения данной работы была разработана система потоковой передачи видео по сети со всех камер мобильного робота «Сервосила Инженер», что позволило решить проблемы API производителя. В рамках работы была проведена успешная калибровка оптических сенсоров робота на базе метода circle gird, что позволило значительно снизить присутствующие искажения в линзах. Проведены эксперименты по нахождению оптимальных параметров для системы потоковой трансляции видео со стереопары робота по беспроводной сети. Данные экспериментов были проанализированы, в результате чего разработанная система потоковой передачи будет использовать наиболее оптимальные параметры при реализации алгоритмов стереозрения.
Цель работы - реализация системы потоковой передачи видеоданных с камер мобильного робота «Сервосила Инженер» и изучение влияния различных параметров системы на ее оптимальность - была достигнута.
В процессе выполнения работы были решены все поставленные задачи:
• проведена калибровка оптических сенсор робота;
• разработана система потоковой передачи видео по беспроводной сети со всех камер робота в режиме реального времени;
• проведена экспериментальная работа по нахождению оптимальных параметров потоковой передачи с системы стереозрения робота «Сервосила Инженер»
Планы на будущее включают в себя:
• оптимизация передачи видеопотока со стереопары методами MVC (Multi-view Video Coding);
• внедрение разработанной системы в графический интерфейс для выполнения задач телеоперации;
• разработка алгоритмов визуального SLAM на базе стереопары и камеры с оптическим увеличением;
1. Alishev N., Lavrenov R., Gerasimov Y. Russian mobile robot Servosila Engineer: designing an optimal integration of an extra laser range finder for SLAM purposes // Int. Conf. on Art. Life and Robotics. - 2018. - pp. 204-207.
2. Brand C. et al. Stereo-vision based obstacle mapping for indoor/outdoor SLAM // Intelligent Robots and Systems (IROS 2014), 2014 IEEE/RSJ Int. Conf. on. - IEEE, 2014. - pp. 1846-1853.
3. Karpov A. et al. Two similar different speech and gestures multimodal interfaces // Mult. User Interfaces. - Springer, Berlin, Heidelberg, 2008. - pp. 155-184.
4. Fuentes-Pacheco J., Ruiz-Ascencio J., Rendon-Mancha J. M. Visual simultaneous localization and mapping: a survey // Artificial Intelligence Review. - 2015. - Vol. 43. - №. 1. -pp. 55-81.
5. Buyval A., Afanasyev I., Magid E. Comparative analysis of ROS-based monocular SLAM methods for indoor navigation // Ninth Int. Conf. on Machine Vision (ICMV 2016). - Int. Society for Optics and Photonics, 2017. - Vol. 10341. - p. 103411K.
6. Sokolov M. et al. 3D modelling and simulation of a crawler robot in ROS/Gazebo // Proc. of the 4th Int. Conf. on Control, Mechatronics and Automation. - ACM, 2016. - pp. 61-65.
7. Greco C. et al. Multimedia Streaming // Academic Press Library in Signal Processing. - Elsevier, 2014. - Vol. 5. - pp. 327-381.
8. Мобильные роботы Сервосила - Технические характеристики: Робот «Инженер» [Электронный ресурс] // www.servosila.com. URL: https://www.servosila.com/ru/mobile-robots/index.shtml#16 (дата обращения: 05.06.2018).
9. iPerf - iPerf3 and iPerf2 user documentation [Электронный ресурс] // iperf.fr. URL: https://iperf.fr/iperf-doc.php (дата обращения: 05.06.2018).
10. H.264 : Advanced video coding for generic audiovisual services [Электронный ресурс] //www.itu.int. URL: https://www.itu.int/rec/T-REC-H.264-201704-I(дата обращения: 05.06.2018).
11. Cattaneo G., Bruno A., Petagna F. H-264/RTSP Multicast Stream Integrity // Int. Conf. on Image Analysis and Proc. - Springer, Cham, 2017. - pp. 558-568.
12. Wiegand T. et al. Overview of the H. 264/AVC video coding standard // IEEE Trans. on circuits and systems for video technology. - 2003. - Vol. 13. - №. 7.
- pp. 560-576.
13. Naccari M., Mrak M. Perceptually Optimized Video Compression // Academic Press Library in Signal Processing. - Elsevier, 2014. - Vol. 5. - pp. 155-196.
14. Juurlink B. et al. Understanding the application: An overview of the h. 264 standard // Scalable Parallel Programming Applied to H.264/AVC Decoding. - Springer New York, 2012. - pp. 5-15.
15. Marpe D. et al. Context-based adaptive binary arithmetic coding in JVT/H. 26L // Image Processing. 2002. Proc. 2002 Int. Conf. on. - IEEE, 2002. - Vol. 2. - pp. II-II.
16. H.265 : High efficiency video coding [Электронный ресурс] //www.itu.int.
URL: https://www.itu.int/rec/T-REC-H.265-201802-I/ (дата обращения
05.06.2018).
17.Sze V., Budagavi M., Sullivan G. J. High efficiency video coding (HEVC) // Integrated Circuit and Systems, Algorithms and Architectures. Springer. - 2014.
- Vol. 39. - p. 40.
18. Liu Z., Lin T. L., Chou C. C. HEVC coding-unit decision algorithm using tree-block classification and statistical data analysis // Multimedia Tools and Applications. - 2017. - Vol. 76. - №. 6. - pp. 9051-9072.
19. Garcia R. et al. HEVC decision optimization for low bandwidth in video conferencing applications in mobile environments // Multimedia and Expo Workshops (ICMEW), 2013 IEEE Int. Conf. on. - IEEE, 2013. - pp. 1-6.
20. Zhang Y. et al. Low complexity HEVC INTRA coding for high-quality mobile video communication // IEEE Trans. on Industrial Informatics. - 2015. - Vol. 11. - №. 6. - pp. 1492-1504.
21. Sullivan G. J. et al. Overview of the high efficiency video coding (HEVC) standard // IEEE Trans. on circuits and systems for video technology. - 2012. - Vol. 22. - №. 12. - pp. 1649-1668.
22. Pinol P. et al. Slice-based parallel approach for HEVC encoder // The Journal of Supercomputing. - 2015. - Vol. 71. - №. 5. - pp. 1882-1892.
23. Misra K. et al. An overview of tiles in HEVC // IEEE journal of selected topics in signal processing. - 2013. - Vol. 7. - №. 6. - pp. 969-977.
24. The WebM Project | VP9 Video Codec Summary [Электронный ресурс] // www.webmproject.org. URL: https://www.webmproject.org/vp9/ (дата обращения: 05.06.2018).
25. Bankoski J. et al. Towards a next generation open-source video codec // Visual Information Processing and Comm. IV. - Int. Soc. for Optics and Photonics, 2013. - Vol. 8666. - p. 866606.
26. Microsoft Word - VP9_Bitstream_Specification_v0.6_doc.doc - vp9-bitstream- specification-v0.6-20160331-draft.pdf [Электронный ресурс] // URL: http://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf (дата обращения: 05.06.2018).
27. Mukherjee D. et al. The latest open-source video codec VP9-an overview and preliminary results // Picture Coding Symposium (PCS), 2013. - IEEE, 2013. - pp. 390-393.
28. Theora Specification - June 3, 2017 [Электронный ресурс] //www.theora.org. URL: https://www.theora.org/doc/Theora.pdf (дата обращения: 05.06.2018).
29. Grois D., Nguyen T., Marpe D. Performance comparison of AV1, JEM, VP9, and HEVC encoders // Applications of Digital Image Processing XL. - Int. Soc. for Optics and Photonics, 2018. - Vol. 10396. - p. 103960L.
30. Maia O. B., Yehia H. C., de Errico L. A concise review of the quality of experience assessment for video streaming // Computer Comm. - 2015. - Vol.
57. - pp. 1-12.
31. Khan A., Sun L., Ifeachor E. QoE prediction model and its application in video quality adaptation over UMTS networks // IEEE Trans. on Multimedia - 2012.
- Vol. 14. - №. 2. - pp. 431-442.
32. Huynh-Thu Q., Ghanbari M. Temporal aspect of perceived quality in mobile video broadcasting // IEEE Trans. on Broadcasting. - 2008. - Vol. 54. - №. 3. - pp. 641-651.
33. Tommasi F., De Luca V., Melle C. Packet losses and objective video quality metrics in H. 264 video streaming // Journal of Visual Comm. and Image Representation. - 2015. - Vol. 27. - pp. 7-27.
34. Boumehrez F. et al. Quality of experience enhancement of high efficiency video coding video streaming in wireless packet networks using multiple description coding // Journal of Electronic Imaging. - 2018. - Vol. 27. - №. 1. - p. 013028.
35. Kang Y., Chen H., Xie L. An artificial-neural-network-based QoE estimation model for video streaming over wireless networks //Communications in China (ICCC), 2013 IEEE/CIC Int. Conf. on. - IEEE, 2013. - pp. 264-269.
36. Juluri P., Tamarapalli V., Medhi D. Measurement of quality of experience of video-on-demand services: A survey // IEEE Comm. Surveys & Tutorials. - 2016. - Vol. 18. - №. 1. - pp. 401-418.
37. Dissanayake M. B., Abeyrathna D. L. B. Performance Comparison of HEVC and H. 264/AVC Standards in Broadcasting Environments // Journal of Information Processing Systems. - 2015. - Vol. 11. - №. 3. - pp. 483-494.
38. Grois D. et al. Comparative assessment of H. 265/MPEG-HEVC, VP9, and H. 264/MPEG-AVC encoders for low-delay video applications // Applications of Digital Image Processing XXXVII. - Int. Soc. for Optics and Photonics, 2014.
- Vol. 9217. - p. 92170Q.
39. Rerabek M., Ebrahimi T. Comparison of compression efficiency between HEVC/H. 265 and VP9 based on subjective assessments // Applications of Digital Image Processing XXXVII. - Int. Soc. for Optics and Photonics, 2014. - Vol. 9217. - p. 92170U.
40. Tan T. K. et al. Video quality evaluation methodology and verification testing of HEVC compression performance // IEEE Trans. on Circuits and Syst. for Video Tech. - 2016. - Vol. 26. - №. 1. - pp. 76-90.
41. De Cock J. et al. A large-scale video codec comparison of x264, x265 and libvpx for practical VOD applications // Applications of Digital Image Processing XXXIX. - Int. Soc. for Optics and Photonics, 2016. - Vol. 9971. - pp. 997116.
42. Horowitz M. et al. Informal subjective quality comparison of video compression performance of the HEVC and H. 264/MPEG-4 AVC standards for low-delay applications // Applications of Digital Image Processing XXXV. - Int. Soc. for Optics and Photonics, 2012. - Vol. 8499. - p. 84990W.
43. Psannis K. E. HEVC in wireless environments // Journal of Real-Time Image Processing. - 2016. - Vol. 12. - №. 2. - pp. 509-516.
44. Rerabek M. et al. Quality evaluation of HEVC and VP9 video compression in real-time applications // Quality of Mult. Exp. (QoMEX), 2015 Seventh Int. Workshop on. - IEEE, 2015. - pp. 1-6.
45. Trochimiuk M. Comparison of H. 265/HEVC encoders // Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2016. - Int. Soc. for Optics and Photonics, 2016. - Vol. 10031. - p. 100314X.
46. RFC 2326 - Real Time Streaming Protocol (RTSP) [Электронный ресурс] // tools.ietf.org. URL: https://tools.ietf.org/html/rfc2326 (дата обращения: 05.06.2018).
47. RFC 1889 - RTP: A Transport Protocol for Real-Time Applications [Электронный ресурс] // tools.ietf.org. URL: https://tools.ietf.org/html/rfc1889(дата обращения: 05.06.2018).
48. GitHub - RobotWebTools/ros_web_video [Электронный ресурс] // github.com. URL: https://github.com/RobotWebTools/ros_web_video (дата обращения: 05.06.2018).
49. GitHub - RobotWebTools/mjpeg_server [Электронный ресурс] // github.com. URL: https://github.com/RobotWebTools/mjpeg_server (дата обращения: 05.06.2018).
50. GitHub - RobotWebTools/web_video_server [Электронный ресурс] // github.com. URL: https://github.com/RobotWebTools/web_video_server (дата обращения: 05.06.2018).
51. GitHub - j0r1/JRTPLIB [Электронный ресурс] // github.com. URL: https://github.com/j0r1/JRTPLIB(дата обращения: 05.06.2018).
52. LIVE555 Streaming Media [Электронный ресурс] //www.live555.com. URL: http://www.live555.com/liveMedia/ (дата обращения: 05.06.2018).
53.Suriansky J., Cmarada M. Analysis of methods for camera calibration in 3D scanning systems // Annals & Proc. of DAAAM Int. - 2012. - Vol. 23. - №. 1. - pp. 0365-0368.
54. Heikkila J., Silven O. A four-step camera calibration procedure with implicit image correction // Computer Vision and Pattern Recog., 1997. Proc., 1997 IEEE Computer Soc. Conf. on. - IEEE, 1997. - pp. 1106-1112.
55. Fiala M., Shu C. Fully automatic camera calibration using self-identifying calibration targets // Techn. Rep. - 2005. - Vol. 48306. - p. 26.
56. Tsai R. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses // IEEE Journal on Robotics and Automation. - 1987. - Vol. 3. - №. 4. - pp. 323-344.
57. Zhang Z. A flexible new technique for camera calibration // IEEE Trans. on pattern analysis and machine intelligence. - 2000. - Vol. 22. - №. 11. - pp. 1330-1334.
58. Zhang Z. Camera calibration with one-dimensional objects // Eur. Conf, on Computer Vision. - Springer, Berlin, Heidelberg, 2002. - pp. 161-174.
59. x265 Documentation - x265 documentation [Электронный ресурс] // x265.readthedocs.io. URL: http://x265.readthedocs.io/en/default/index.html(дата обращения: 05.06.2018).
60. camera_calibration - ROS Wiki. [Электронный ресурс] // wiki.ros. URL: http://wiki.ros.org/camera_calibration (дата обращения: 05.06.2018).
61. Luo P. F., Wu J. Easy calibration technique for stereo vision using a circle grid // Optical Engineering. - 2008. - Vol. 47. - №. 3. - p. 033607.