Изменения

Перейти к: навигация, поиск

Оценка положения

4466 байт добавлено, 19:13, 4 сентября 2022
м
rollbackEdits.php mass rollback
#'''Виртуальная реальность: '''оценка положения, как технология, является критически важной для достижения эффекта погружения в виртуальную реальность. В сочетании с отслеживанием ориентации становится возможным измерять и передавать в виртуальную реальность все 6 степеней свободы ([https://en.wikipedia.org/wiki/Six_degrees_of_freedom 6-DoF]) реального мира.
#'''Робототехника: '''роботы (медицинские, научные, промышленные и др.), которые основывают свое движение на построении карты окружения и препятствий.
#'''Веб-технологии: '''исследование пользовательского опыта и удобства использования продукта. Можно [http://neerc.ifmo.ru/wiki/index.php?title=[Отслеживание_направления_взгляда_пользователя_в_браузере |отслеживать взгляд пользователя]], чтобы понимать какие блоки сайта больше всего привлекают вниманиянаибольшее внимание.
== Методы решения задачи оценки положения ==
*'''Трекинг с использованием маркеров:''' предполагает заранее заданную модель объекта, которую можно отслеживать даже с одной камерой. Маркерами обычно служат источники инфракрасного излучения (как активные, так и пассивные), а также видимые маркеры наподобие [https://ru.wikipedia.org/wiki/QR-код QR]-кодов. Такой вид трекинга возможен только в пределах прямой видимости маркера.
=== Задача Perspective-n-Point (PnP) === При оптическом отслеживании для определения положения объекта в пространстве решается так называемая задача PnP (Perspective-n-Point), когда по перспективной проекции объекта на плоскость сенсора камеры необходимо определить положение объекта в 3D-пространстве. Для заданной 3D-модели объекта и 2D-проекции объекта на плоскость камеры решается система уравнений. В результате чего получается множество возможных решений. Количество решений зависит от числа точек в 3D-модели объекта. Однозначное решение для определения 6-DoF положения объекта можно получить как минимум при 4 точках. Для треугольника получается от 2 до 4 возможных решений, то есть положение не может быть определено однозначно.
<div style="text-align: center"><ul> <li style="display: inline-block;"> [[Файл:Pnp.gif |400px|thumb| rightcenter| Рис. 1 Задача (PnP)]]</li>При оптическом отслеживании для определения положения объекта в пространстве решается так называемая задача PnP (Perspective<li style="display: inline-n-Point), когда по перспективной проекции объекта на плоскость сенсора камеры необходимо определить положение объекта в 3D-пространствеblock;"> [[Файл:triangles.gif |400px|thumb|center| Рис.2 Решение "треугольников"]] </li></ul></div>
Для заданной 3D-модели объекта и 2D-проекции объекта на плоскость камеры решается система уравнений. В результате чего получается множество возможных решений. Количество решений зависит от числа точек в 3D-модели объекта. Однозначное решение для определения 6-DoF положения объекта можно получить как минимум при 4 точках. Для треугольника получается от 2 до 4 возможных решений, то есть положение не может быть определено однозначно. [[Файл:triangles.gif |400px|thumb| right| Рис. 2 Решение "треугольников"]]
Решение предлагается достаточно большим количеством алгоритмов, реализованных в виде библиотек:
#'''[http://sv-journal.org/2015-4/09/index.php?lang=ru POS]''' ''(Pose from Orthography and Scaling)'', аппроксимирующий перспективную проекцию с помощью масштабированной ортогональной проекции и находящий матрицу поворота и вектор сдвига объекта путём решения линейной системы уравнений.
#'''[https://opencv.org/ OpenCV]''' {{---}} библиотека компьютерного зрения широкого назначения с открытым исходным кодом. Основные части библиотеки {{---}} интерпретация изображений и алгоритмы машинного обучения. Список возможностей, предоставляемых OpenCV, весьма обширен: интерпретация изображений, калибровка камеры по эталону, устранение оптических искажений, анализ перемещения объекта, определение формы объекта и слежение за объектом, сегментация объекта и др. Нам же интереcен метод [https://docs.opencv.org/3.1.0/d9/d0c/group__calib3d.html#ga549c2075fac14829ff4a58bc931c033d solvePnP].
=== SLAM <ref>[https://ru.wikipedia.org/wiki/SLAM_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4) simultaneous localization and mapping ]</ref> {{---}} Simultaneous Localization and Mapping ===
Метод одновременной локализации и построения карты (SLAM) {{---}} наиболее популярный способ позиционирования, который применяется для отслеживания положения в пространстве.[[Файл:Slam.png |400px|thumb| right| Рис. 3 Метод SLAM]]
Алгоритм состоит из двух частей: первая {{---}} составление карты неизвестного окружающего пространства на основе измерений (данные с [https://ru.wikipedia.org/wiki/Одометр одометра] или [https://ru.wikipedia.org/wiki/Стереоскопический_фотоаппарат стерео-камеры]), вторая {{---}} определение своего местоположения (локализация) в пространстве на основе сравнения текущих измерений с имеющейся картой пространства. Данный цикл непрерывно перевычисляется, при этом результаты одного процесса участвуют в вычислениях другого процесса. Наиболее популярные методы решения задачи включают в себя фильтр частиц и расширенный [https://ru.wikipedia.org/wiki/Фильтр_Калмана фильтр Калмана]. SLAM удобен для мобильных решений виртуальной и дополненной реальности. Недостатком данного подхода является большая вычислительная сложность.
Так как ни один из методов не является безупречным, и все они имеют свои слабые места, наиболее разумно комбинировать различные методы отслеживания. Так инерциальный трекинг (IMU) может обеспечить высокую частоту обновления данных (до 1000 Гц), в то время как оптические методы могут дать стабильную точность в длительные периоды времени (корректирование дрифта).
== Оценка положения человека ==
 
[[Файл:Deformable.png|600px|thumb|right|Рис. 5 Изобразительные структуры в классическом подходе решения задачи оценки положения человека.]]
 
[[Оценка положения человека|Оценка положения человека (англ. ''Human Pose Estimation'')]] {{---}} одна из важных задач последних нескольких десятилетий в области компьютерного зрения, которая является необходимым шагом к распознаванию людей на изображениях и видео. Задачу разбивают на 2 категории:
 
* Оценка положения в плоскости (англ. ''2D Human Pose Estimation'') {{---}} определение расположения отдельных частей тела и суставов человека (англ. ''keypoints/body joints'') на изображении.
* Оценка положения в пространстве (англ. ''3D Human Pose Estimation'') {{---}} предсказание пространственного расположения тела человека.
 
Оценку положения человека использует множество областей. В частности, распознавание жестов, упрощение анимации персонажей, в разработке игр, и другое.
 
Существуют различные подходы к решению данной задачи. Классический подход {{---}} использование изобразительных структур (англ. ''pictoral structures''). Основная идея заключается в том, чтобы представить объект в виде набора "частей", соединенных пружинами (Рис. 5). Каждая "часть" является деталью внешности(нога, рука, глаз и др.), соответствующим изображению. Когда части параметризованы расположением пикселей и ориентацией, полученная структура может моделировать "каркас" в положении человека. Однако этот подход ограничен количеством таких заранее построенных блочных структур, ведь они не зависят от входного изображения. Проводившиеся исследования были сосредоточены на обогащении репрезентативной силы этого метода, однако существуют более удачные подходы. Альтернативный подход {{---}} использование [[Сверточные нейронные сети|сверточных нейронных сетей (англ. ''Convolutional Neural Network, CNN'')]] и [[Глубокое обучение|глубокого обучения (англ. ''Deep learning'')]]. Большинство последних систем оценки положения человека используют именно этот подход, в значительной степени заменяя созданные вручную функции и графические модели. Использование машинного обучения значительно улучшило результаты.
==См. также==
*[[Отслеживание направления взгляда пользователя в браузере]]
*[[Сегментация изображений]]
*[[Вписывание части изображения]]
*[[Глубокое обучение]]
*[[Сверточные нейронные сети]]
== Примечания ==
<references/>
== Источники информации==
* [https://habr.com/ru/post/397757/ Обзор методов и технологий отслеживания положения для виртуальной реальности.]
* [https://nanonets.com/blog/object-tracking-deepsort/ DeepSORT: Deep Learning to Track Custom Objects in a Video.]
* [https://nanonets.com/blog/human-pose-estimation-2d-guide/ Оценка положения человека.]
{{В разработке}}
1632
правки

Навигация