28

通常の Webcamを使用して、スケルトンの関節を特定しようとしています (または、少なくとも 1 つの手のひらを追跡できるようにするため) 。私はウェブ全体を見てきましたが、そうする方法を見つけることができないようです。

私が見つけたすべての例は、Kinect を使用しています。単一の Web カメラを使用したい。

ジョイントの深さを計算する必要はありません。フレーム内の X、Y 位置を認識できればよいだけです。Kinect ではなく、ウェブカメラを使用しているのはそのためです。

これまでのところ、私は見てきました:

  • OpenCV (その「スケルトン」機能はグラフィカル モデルを単純化するプロセスですが、人体の検出やスケルトン化ではありません)。
  • OpenNI (NiTE を使用) - ジョイントを取得する唯一の方法は Kinect デバイスを使用することです。そのため、これは Web カメラでは機能しません。

私はC/C++ライブラリを探しています(ただし、この時点では他の言語を検討します)、できればオープンソース(ただし、ライセンスを検討します)で、次のことができます:

  • 与えられた画像 (Web カメラからのフレーム) から、目に見えるジョイントの X、Y 位置を計算します。
  • [オプション] ビデオ キャプチャ ストリームが与えられた場合、ジョイントの位置のイベントを使用してコードにコールバックします
  • 超正確である必要はありませんが、非常に高速であることが望まれます (フレームあたりの処理時間は 0.1 秒未満)。

誰かがこれで私を助けることができれば、本当に感謝しています。私はこれに数日間立ち往生しており、先に進むための明確な道筋がありません.

アップデート

2 年後、解決策が見つかりました: http://dlib.net/imaging.html#shape_predictor

4

8 に答える 8

19

深度情報なしで単一のカメラを使用して手を追跡することは、進行中の科学的研究の重要な課題でありトピックです。このトピックに関する興味深い、および/または引用率の高い科学論文を多数提供できます。

  • M. de La Gorce、DJ Fleet、N. Paragios、「単眼ビデオからのモデルベースの 3D ハンド ポーズ推定」、パターン分析と機械知能に関する IEEE トランザクション、vol. 2011 年 2 月 33 日。
  • R. Wang と J. Popović、「カラー グローブを使用したリアルタイム ハンド トラッキング」、ACM Transactions on Graphics (TOG)、2009 年。
  • B. Stenger、A. Thayananthan、PHS Torr、R. Cipolla、「階層型ベイジアン フィルターを使用したモデルベースのハンド トラッキング」、パターン分析と機械知能に関する IEEE トランザクション、vol. 28、いいえ。9、pp.1372–84、2006 年 9 月。
  • JM Rehg および T. Kanade 共著、「モデルベースの自己閉塞多関節オブジェクトの追跡」、Proceedings of IEEE International Conference on Computer Vision、1995 年、pp. 612–617。

第 2 章のハンド トラッキング文献調査:

  • T. de Campos、「多関節オブジェクトと手の 3D ビジュアル トラッキング」、2006 年。

残念ながら、自由に利用できるハンド トラッキング ライブラリについては知りません。

于 2013-06-18T14:21:17.660 に答える
2

あなたの制約を考慮して、私の提案は次のようなものを使用することです: http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html

顔検出に使用するためのチュートリアルは次のとおり です。

あなたが説明した問題は非常に難しく、ウェブカメラだけを使って解決しようとするのが合理的な計画かどうかはわかりませんが、おそらくこれが最善の策です。ここ ( http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=load#cascadeclassifier-load ) で説明されているように、次のような方法で分類器をトレーニングする必要があります。

http://docs.opencv.org/doc/user_guide/ug_traincascade.html

覚えておいてください:デプス情報を使用する必要はありませんが、この情報があると、ライブラリがハンドを識別しやすくなります。

于 2013-06-24T15:28:08.383 に答える
0

可能な既存のソリューションについては知りません。教師あり (または半教師あり) 学習がオプションである場合は、決定木またはニューラル ネットワークのトレーニングで十分かもしれません (kinect はランダム フォレストを使用していると聞いています)。そのような道に進む前に、既存の解決策を見つけるためにできる限りのことをしてください。機械学習を正しく行うには、多くの時間と実験が必要です。

OpenCV には機械学習コンポーネントがあり、必要なのはトレーニング データです。

于 2013-06-24T13:34:44.010 に答える
0

オープン ソースのBlender プロジェクトモーション トラッキング機能を使用すると、2D 映像に基づいて 3D モデルを作成できます。キネクトは必要ありません。Blender はオープン ソースであるため、独自の目的で Blender フレームワークの外で pyton スクリプトを使用できる場合があります。

于 2013-06-24T14:30:20.840 に答える