Create Gesture Project

To create a new gesture for your collection, set focus to the solution node in the Explorer and then select File > Create New Project or right-click on the solution and select Create New Project from the context menu.

VGB contains a simple dialog to help with gesture creation. Specify the tag name, body side, detection technology, and common training settings for each gesture that you create.

Figure 1.  Create Gesture Project dialog

Gesture Item Description
Gesture Name

The name of the gesture tag. This name should be descriptive enough to capture the intent of the action. If your gesture corresponds to a particular side (Left vs Right) do not include “Left” or “Right” in the tag name, as that will be appended later when you select a Body Side.

Examples: Jump, Punch, Kick, Sit, FireWeapon, etc.

Body Side

Indicates which side of the body the gesture corresponds to. If Left is selected, "_Left" will be appended to the gesture name. If Right is selected "_Right" will be appended to the gesture name.

Options:

  • Any – The gesture is symmetrical and/or depends on both sides of the body (ex: Flap, Glide).
  • Left – The gesture depends predominantly on the motion/position of the left leg or left arm (ex: Kick_Left, Punch_Left).
  • Right – The gesture depends predominantly on the motion/position of the right leg or right arm (ex: Kick_Right, Punch_Right).
Gesture Type

Indicates which detection technology to use for gesture training and detection.

Options:

  • AdaBoostTrigger – This is a discrete gesture type. Boolean values of true/false are used to indicate when the gesture is occurring.
  • RFRProgress – This is a continuous gesture type. Float values are assigned to indicate the progress of the user as they perform the gesture.
Training Setting Description
Duplicate and Mirror Data During Training

If set to true (default value), all data for the gesture will be duplicated and mirrored during training. If data exists for the opposite body side (Left vs. Right), that data will also be mirrored and used during training.

Set to false if your gesture requires motion from both sides of the body (Body Side = Any) and the gesture is asymmetrical. For example, if the gesture requires that the right arm be up while the left arm is down.

Use Hands

If set to true, supported hand states (open/closed/lasso) will be used during training and detection.

Warning: Do not use this option if your application supports more than two simultaneous users.

Ignore Left Arm

If set to true, all joints in the left arm will be ignored during training and detection.

Set to true if your gesture does not depend on motion/position of the left arm (Punch_Right, Push_Right, Kick, etc.).

Ignore Right Arm

If set to true, all joints in the right arm will be ignored during training and detection.

Set to true if your gesture does not depend on motion/position of the right arm (Punch_Left, Push_Left, Kick, etc.).

Ignore Lower Body

If set to true, all joints below the hip region will be ignored during training and detection.

Set to True if your gesture does not depend on motion/position of the lower body. Such a gesture can usually be performed while seated or standing.

The joint mask is displayed on the right of the Training Settings. Toggling the Use/Ignore settings will update the joint mask. Green joints will be used during training and detection, and grey joints will be ignored. A blue circle around the hand indicates if hand state will be used.

Figure 2.  A right arm gesture

When you are ready to create your gesture, select the Confirm button and save to the gesture to the desired location. The new gesture projects (both training and analysis), and will then appear in the Explorer.

If you are confused about any of the options on the Create Gesture Project dialog, try using the Gesture Wizard link which is available at the top of the dialog. This will launch the Gesture Wizard tool, which will guide you step-by-step through the gesture creation process.

See also

Visual Gesture Builder user interface