Как определить ладонь руки и ее ориентацию (например, лицом наружу)? - PullRequest
0 голосов
/ 21 мая 2019

Я работаю над проектом по обнаружению рук. Есть много хороших проектов в сети, чтобы сделать это, но мне нужно определенное определение позы рук. Ему нужна полностью открытая ладонь и вся ладонь наружу, как показано на рисунке ниже:
left hand will not be detected

Первая рука направлена ​​внутрь, поэтому она не будет обнаружена, а правая направлена ​​наружу, она будет обнаружена. Теперь я могу обнаружить руку с OpenCV. а как определить ориентацию руки?

Ответы [ 3 ]

1 голос
/ 28 мая 2019

Проблема сопоставления с форхендом относится к классификации текстур, это классическая проблема распознавания образов. Я предлагаю вам попробовать один из следующих методов:

  1. Фильтры Габора: хорошо определять ориентацию и интенсивность пикселей (так как у форхенда есть разные функции), opencv имеет функцию getGaborKernel , очень важными параметрами этой функции являются тета (ориентация) и lambd: (частоты). Для простоты вы можете применить этот процесс к обрезанной зоне ладони (как вы уже заметили, было бы легко обрезать, например, большой палец или прямоугольную зону вокруг центра тяжести и т. Д.). Затем вы можете свернуть его с небольшой базой данных изображений той же зоны, чтобы получить показатель соответствия, или вы можете использовать классификатор SVM, где вам нужно обучить SVM на наборе изображений, создав матрицу обучения, необходимую для SVM ( проверьте этот вопрос ), эта бумага
  2. Local Binary Patterns (LBP): это важный дескриптор функции, используемый для сопоставления текстуры, вы можете применить его ко всему изображению ладони или к обрезанной зоне или пальцу изображения, его легко использовать в opencv, много уроков по коды доступны для этого метода. Я рекомендую вам прочитать эту статью , в которой говорится об классификации текстур инвариантов. с локальными двоичными образцами. вот хороший учебник
  3. Текстура Харалика: я читал, что он отлично работает, когда набор функций количественно определяет все изображение (дескрипторы глобальных функций). он не реализован в opencv, но прост в реализации, посмотрите этот полезный учебник

  4. Тренировочные модели: я уже предложил классификатор SVM в сочетании с некоторым дескриптором, который может работать отлично. В Opencv есть интересный класс FaceRecognizer для распознавания лиц, и было бы интересно использовать его, заменяя изображения лица ладонями (изменяя размеры и поворачивая, чтобы получить уникальную позу ладони), этот класс имеет три метода, которые нужно использовать Одним из них является гистограмма локальных бинарных паттернов, которая рекомендуется для распознавания текстур. и почему бы не попробовать другие модели (Eigenfaces и Fisherfaces), посмотрите этот учебник

0 голосов
/ 28 мая 2019

хорошо, если вы пойдете по пути MacGyver, вы можете заметить, что левая рука имеет кости, торчащие в определенном направлении, в то время как правая рука имеет все линии пальцев и несколько линий в ладонях руки.

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

Это предполагало, что у вас недостаточно данных, если у вас есть, то вы углубляетесь в изучение, просто берете базовую модель inceptionV3 и переобучаете последний плотный слой для классификации между двумя классами с softmax или для прогнозирования вероятности, если рука вверх / вниз с сигмовидной Проверьте эту ссылку , Tensorflow вернул вас к обучению этому, уже готовому к использованию чистому коду.

Вопросы? Спроси прочь

0 голосов
/ 28 мая 2019

Посмотрите на то, что прыгучая лягушка сделала с Oculus Rift.Я не уверен, что они используют внутри для того, чтобы сегментировать позы для рук, но есть другая бумага, которая эффективно создает позы для рук.Если у вас есть настройка стереокамеры, вы можете использовать методы этой статьи: https://arxiv.org/pdf/1610.07214.pdf.

Единственные многообещающие решения, которые я видел для монокамерного поезда на больших наборах данных.

...