Ask Your Question
0

Hand Gesture OpenCV + OpenNI

asked 2015-02-28 18:11:58 -0600

Arif gravatar image

updated 2015-03-18 12:38:18 -0600

Hi,

I would like to create a program that does detect several hand gestures. I have 5 gestures which I would like to add to my program. The question is which method should i use to detect gestures?

Should I use PCL (Point Cloud Library) to detect the hand gestures? Is PCL build by OpenCV? What is the difference between OpenCV and PCL?

Thanks

edit retag flag offensive close merge delete

Comments

1

Please don't modify your questions but instead ask new ones! This one already has an accepted answer!

Guanta gravatar imageGuanta ( 2015-03-18 14:12:07 -0600 )edit

2 answers

Sort by ยป oldest newest most voted
2

answered 2015-03-02 04:15:27 -0600

Eduardo gravatar image

updated 2015-03-02 04:22:58 -0600

Hi,

By hand gestures, if you mean:

  • static gestures, you could use what Steven Puttemans said,
  • dynamic gesture, you could look at different methods like Dynamic Time Warping (DTW) or Hidden Markov Models (HMM) to model your gesture in different states

Also, if you use dynamic gestures, use the skeleton (if you have access, for example with a Kinect-like device) and not only the position of the hand.

Finally, a presentation made by Microsoft for the Gamefest 2011 showing how they did gesture recognition using machine learning and depth information: Gesture detection using machine learning (but in your case it is a bit overkill as you don't have the material that Microsoft have).

And a paper showing how they did pose recognition using depth features and randomized decision forests: Real-Time Human Pose Recognition in Parts from Single Depth Images

edit flag offensive delete link more

Comments

1

Thanks a lot for the answer. I was looking more into Dynamic gestures.

Do you suggest that I should use PCL?

Arif gravatar imageArif ( 2015-03-02 16:43:18 -0600 )edit

OpenCV has some depth based image processing algorithms also, but if you really want to dig into point clouds from your 3D setup, than PCL library is indeed the way to go.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-03-03 02:20:22 -0600 )edit
1

answered 2015-03-01 04:58:39 -0600

updated 2015-03-01 04:58:51 -0600

You have several questions, here are some answers:

  1. To detect hand gestures there are several approaches, from cascade classifiers, to shape based analysis. Try to define which technique you want to use first.
  2. You can use OpenCV and its OpenNI interface to detect the hands in 3D depth info images, BUT if you want to do more than that, move to PCL.
  3. PCL is not build by OpenCV, in fact it is a complete different library. PCL focusses on 3D point cloud operations and OpenCV (mainly) on 2D computer vision operations. However PCL does need a working OpenCV installation to work.
edit flag offensive delete link more

Comments

1

Thanks a lot for the answer. I got a better understanding and a few more questions. In question 2 you wrote that If I would like to do more than I should use PCL. Could you give me examples with what you mean by more?

You wrote that PCL is not built by the OpenCV Library. What kind of connections do they have in between and why does PCL require OpenCV to be installed on the computer?

requires me to have both PCL and OpenCV installed?

Arif gravatar imageArif ( 2015-03-02 16:46:51 -0600 )edit

If you want to perform operations on the actual 3D point cloud than you will need PCL. PCL has dedicated algorithms for that, as well as path planning in 3D space, 3D object matching, ... PCL requires OpenCV because internally it uses some of its 2D image processing techniques to achieve results on a 3D pointcloud. That is the only connection there exists. The other way around the OpenCV library is NOT dependent on PCL library. So in the case you want to use PCL, you indeed need both the PCL and the OpenCV library installed.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-03-03 02:22:42 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2015-02-28 18:10:08 -0600

Seen: 2,067 times

Last updated: Mar 18 '15