Как анализировать / вычислять окружность частей человеческого тела из облаков точек или трехмерных объектов? - PullRequest
0 голосов
/ 18 июня 2019

Я использую win10, python и c #. Я хочу рассчитать окружность человеческих частей (живот, бицепс и т. Д.) С использованием облака точек или трехмерного сканирования, например .stl .obj .ply. Теперь я могу получить облако точек человеческого тела с помощью kinect v2. У меня есть облако точек человеческого тела, отсканированное человеческое тело в формате .stl .obj .ply.

Мне нужны идеи и информация об этом. Я не знаю, как анализировать то, что у меня есть, и как рассчитывать то, что я хочу.

Здесь я нашел пример того, что я пытаюсь сделать, но это не обязательно должно быть абсолютно стабильным, это для школьной домашней работы. Может быть, вы можете дать мне несколько идей о том, как достичь моей цели. Спасибо за вашу помощь.

https://www.youtube.com/watch?time_continue=48&v=jOvaZGloNRo

Я получаю 3D-отсканированный объект с помощью kinect v2 и использую PCL для преобразования его в облако точек.

1 Ответ

1 голос
/ 18 июня 2019

Я не знаю, как использовать PCL с Python или C #.В общем, вы смотрите на следующие шаги:

  1. Фильтрация точек в интересующий регион
  2. Сегментация фигуры
  3. Извлечение параметров

Если вас интересует только Python, тогда OpenCV может быть лучшим вариантом.Вы также можете разработать основную логику на C ++ и обернуть ее для Python или C #.C ++ также имеет несколько хороших библиотек пользовательского интерфейса (Qt, nanogui ), пожалуйста, смотрите следующие детали для достижения цели с помощью PCL

Фильтрация

CropBox*Для этого можно использовать 1019 * или PassThrough.Это приведет к аналогичным результатам, как показано на рисунке, при условии, что кадр был выбран правильно.Если нет, облако точек может быть легко преобразовано

Сегментируя форму

Предполагая, что вы хотите среднюю окружность, вам, возможно, придется поэкспериментировать с Circle 2D, Circle 3D иМодели цилиндров.Более подробная информация об использовании и API: здесь .Выбранный метод может быть простым SAC (выборочный консенсус), например RANSAC (случайный SAC), или расширенным методом, таким как LMEDS (наименьшая медиана квадратов) или MLESAC (SAC оценки максимального правдоподобия)

Извлечение параметров

Все модели имеют поле радиуса, которое можно использовать для определения длины окружности по стандартной формуле (2 *pi*r)

Отказ от ответственности : Обратите внимание, что формакруговой, а не эллипс, а цилиндр - это прямоугольные цилиндры.Таким образом, если измеряемый объект (рука или бицепс) не является круглым, вычисленное значение может не совпадать с истинным значением в крайних случаях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...