Finger Detection Demo

This is a kinect demo found in the mit-ros-pkg repository. For more MIT kinect demos check out the MIT Kinect Demos page.

How to Run this Demo

  Show EOL distros: 

Installation

  1. Like all MIT kinect demos, you must first perform the General Installation

  2. Once your environment is setup, run:
     rosmake hand_interaction

Execution

  • roslaunch hand_interaction finger_detector.launch

To view with rviz, use the configuration:

  • `rospack find hand_interaction`/config/fingerdetection.vcg

Installation

  1. Like all MIT kinect demos, you must first perform the General Installation

  2. Once your environment is setup, run:
     rosmake hand_interaction

Execution

  • roslaunch hand_interaction finger_detector.launch

To view with rviz, use the configuration:

  • `rospack find hand_interaction`/config/fingerdetection.vcg
  • If this instruction dosen't work, try the one in electric.

Installation

  1. Like all MIT kinect demos, you must first perform the General Installation

  2. Make sure you've got Hand Detection demo running, and what you see in rviz on your computer is exactly the same with those in the video.

  3. In the file finger_detector.launch, replace <node pkg="hand_interaction" type="detectskelhands" name="handdetector" output="screen" > with <node pkg="hand_interaction" type="detectskelhands" name="handdetector" output="screen" respawn="true">

    rosed hand_interaction hand_detector.launch 
  4. In file "analyze_hands.cpp", replace "530" with "830", "570" with "870". This will gives you a very good finger detection at a distance of 60~80cm from Kinect sensor. There was a discussion about this, and se7oluti0n have solved it.

    rosed hand_interaction analyze_hands.cpp 

    Note: when you see finger norms(red lines pointing out from your finger tips) in rviz, it means your fingers are detected. Otherwise they're not.

  5. make hand_interaction
    roscd hand_interaction
    make

Execution

  • roslaunch hand_interaction finger_detector.launch

To view with rviz, use the configuration:

  • rosrun rviz rviz -d $(rospack find hand_interaction)/config/fingerdetection.vcg

Tips

  • present your hand with fingers spread, palm facing the kinect
    • tilting currently hampers the finger segmentation
    • if your fingers are pointing toward the kinect, it often will not see them
  • your palm must be within 2 m of the sensor. If you are watching the hand's point cloud, you will notice it gets much more dense at ~2m.
  • moving quickly presents motion blur, which is not compensated for.

Effects of motion blur

Development Info

Nodes Involved

Dependencies

  • ni
  • pcl
  • hand_interaction
  • skeletal_tracker

Wiki: mit-ros-pkg/KinectDemos/FingerDetection (last edited 2012-04-06 12:32:42 by azureviolin)