Изменения

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

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

1175 байт добавлено, 00:07, 9 января 2021
Сверточные нейронные сети
#'''Виртуальная реальность: '''оценка положения, как технология, является критически важной для достижения эффекта погружения в виртуальную реальность. В сочетании с отслеживанием ориентации становится возможным измерять и передавать в виртуальную реальность все 6 степеней свободы ([https://en.wikipedia.org/wiki/Six_degrees_of_freedom 6-DoF]) реального мира.
#'''Робототехника: '''роботы (медицинские, научные, промышленные и др.), которые основывают свое движение на построении карты окружения и препятствий.
#'''Веб-технологии: '''исследование пользовательского опыта и удобства использования продукта. Можно [http://neerc.ifmo.ru/wiki/index.php?title=[Отслеживание_направления_взгляда_пользователя_в_браузере |отслеживать взгляд пользователя]], чтобы понимать какие блоки сайта привлекают наибольшее внимание.
== Методы решения задачи оценки положения ==
=== Задача Perspective-n-Point (PnP) ===
[[Файл:Pnp.gif |400px|thumb| right| Рис. 1 Задача При оптическом отслеживании для определения положения объекта в пространстве решается так называемая задача PnP (PnPPerspective-n-Point)]], когда по перспективной проекции объекта на плоскость сенсора камеры необходимо определить положение объекта в 3D-пространстве.
При оптическом отслеживании для определения положения Для заданной 3D-модели объекта в пространстве решается так называемая задача PnP (Perspectiveи 2D-n-Point), когда по перспективной проекции объекта на плоскость сенсора камеры необходимо определить положение объекта решается система уравнений. В результате чего получается множество возможных решений. Количество решений зависит от числа точек в 3D-пространствемодели объекта. Однозначное решение для определения 6-DoF положения объекта можно получить как минимум при 4 точках. Для треугольника получается от 2 до 4 возможных решений, то есть положение не может быть определено однозначно.  <div style="text-align: center"><ul> <li style="display: inline-block;"> [[Файл:Pnp.gif |400px|thumb|center| Рис. 1 Задача (PnP)]] </li><li style="display: inline-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 удобен для мобильных решений виртуальной и дополненной реальности. Недостатком данного подхода является большая вычислительная сложность.
== Оценка положения человека ==
 [[Файл: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 networkConvolutional Neural Network, CNN'')]] и [[Глубокое обучение|глубокого обучения (англ. ''Deep learning'')]]. Большинство последних систем оценки положения человека используют именно этот подход, в значительной степени заменяя созданные вручную функции и графические модели. Использование машинного обучения значительно улучшило результаты.
==См. также==
*[[Отслеживание направления взгляда пользователя в браузере]]
*[[Сегментация изображений]]
*[[Вписывание части изображения]]
*[[Глубокое обучение]]
*[[Сверточные нейронные сети]]
== Примечания ==
<references/>
== Источники информации==
118
правок

Навигация