Difference between revisions of "Movement Capture"
(→HuMoS: An integrated approach to sharing movement data) |
(→Are you going to be tracking very small movements?) |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | = | + | = Introduction = |
− | + | There are currently two major systems for movement capture and recognition in the Blackbox: The Vicon system and the Kinect. There are also a set of accelerometers that you can use: | |
− | There are currently two major systems for movement capture and recognition in the Blackbox: The Vicon system and the Kinect. There are also a set of accelerometers that you can use | ||
− | |||
− | |||
* [http://wiki.iat.sfu.ca/BlackBox/index.php/Vicon Vicon] | * [http://wiki.iat.sfu.ca/BlackBox/index.php/Vicon Vicon] | ||
Line 9: | Line 6: | ||
* [http://wiki.iat.sfu.ca/BlackBox/index.php/EffortDetect#Wearable_Accelerometers EffortDetect Wearable Accelerometers] | * [http://wiki.iat.sfu.ca/BlackBox/index.php/EffortDetect#Wearable_Accelerometers EffortDetect Wearable Accelerometers] | ||
− | + | In addition, [http://wiki.iat.sfu.ca/BlackBox/index.php/HuMoS HuMoS] is a suggested integrated approach to sharing movement data and is a work in progress. | |
+ | |||
+ | This page discusses movement capture systems in the Blackbox. A separate page is dedicated to discussing [[Movement_Recognition| movement recognition]]. | ||
+ | |||
+ | = What type of sensor is best? = | ||
What kinds of sensors best fit the motion phenomena you wish to capture. Motion capture systems use different kinds of sensors. To find out which type of sensor best suits your application, see the section on [http://wiki.iat.sfu.ca/BlackBox/index.php/White_Paper:_Sensor_Selection Sensor Selection]. In general: | What kinds of sensors best fit the motion phenomena you wish to capture. Motion capture systems use different kinds of sensors. To find out which type of sensor best suits your application, see the section on [http://wiki.iat.sfu.ca/BlackBox/index.php/White_Paper:_Sensor_Selection Sensor Selection]. In general: | ||
− | * Low-frequency movement is best captured using measurements of position (the Vicon or the Kinect will be your best) | + | * '''Low-frequency movement''' is best captured using measurements of position (the Vicon or the Kinect will be your best) |
− | * Intermediate-frequency movement is best captured using measurements of velocity | + | * '''Intermediate-frequency''' movement is best captured using measurements of velocity |
− | * High-frequency movement is best captured using measurements of acceleration (accelerometers | + | * '''High-frequency''' movement is best captured using measurements of acceleration (accelerometers would be appropriate). Generally, human movement tends to be slow enough that measurements of position are adequate. There are exceptions. See the section on [[Kinect#Errors_in_using_the_Kinect_for_motion_tracking| errors in using the Kinect for motion tracking]] for a discussion on when position-based sampling fails. |
− | + | = Kinect versus Vicon = | |
− | The Vicon is a powerful motion capture tool and can be used to capture an enormous variety of movement. However, using the Vicon isn't always ideal | + | The Vicon is a powerful motion capture tool and can be used to capture an enormous variety of movement. However, using the Vicon isn't always ideal. Consider the following questions when deciding whether to use the Vicon or the Kinect. |
− | == | + | == What kind of movement do you need to capture? == |
What kind of movement do you need to capture? Consider the following. | What kind of movement do you need to capture? Consider the following. | ||
− | ==== Do you need to identify individual body parts or is it sufficient to treat the body as a blob? | + | <div style = "background-color: #ddd; padding: 10px"> |
+ | === Do you need to identify individual body parts or is it sufficient to treat the body as a blob? === | ||
If all you need to do is treat the body as a blob (for example, tracking the position of a body in space in order to project an image around that body), the Kinect is a more convenient choice than the Vicon. Recognizing human skeleton data using the Vicon data takes more work than processing Kinect data. While many of the Kinect APIs map the cloud of points to a human skeleton, for the Vicon, you will need to set up the skeleton yourself. | If all you need to do is treat the body as a blob (for example, tracking the position of a body in space in order to project an image around that body), the Kinect is a more convenient choice than the Vicon. Recognizing human skeleton data using the Vicon data takes more work than processing Kinect data. While many of the Kinect APIs map the cloud of points to a human skeleton, for the Vicon, you will need to set up the skeleton yourself. | ||
− | + | === Are you capturing movements of the ''entire body'' or only ''some body parts'' (only finger gestures, or only full arm movements, or only the torso, or only leg bending and swinging)? Do you need to track both large movements (e.g., lunging, jumping, turning around) ''and'' small gestures (e.g., foot tapping, fingers drumming, head slightly tilting)? === | |
− | In his seminal book on acting, | + | In his seminal book on acting, ''An Acrobat of the Heart'', theater theorist and director Jerzy Grotowski distinguishes the two kinds of movements as ''plastiques'' and ''corporeals''. If you are tracking movement that happens on similar scales (either mostly plastiques or mostly corporeals) and for body parts that close to each other, then you can use the Kinect effectively by using the appropriate Kinect API.Otherwise, you are better off using the Vicon. |
− | === | + | ===Is the entire body going to be moving through a large volume of space (greater than about 5 feet by 5 feet) (e.g., walking, running, many forms of dancing)? === |
− | + | If so, then you must use the Vicon. Otherwise, if the body will within a space of about 5 feet by 5 feet, you might be able to stick with the Kinect. | |
− | + | === Are you going to be tracking movement in the transverse plane of the body? === | |
− | |||
− | |||
− | These movements | + | These movements include... |
− | + | * supination and pronation of the legs or arms | |
+ | * left or right rotation of the head | ||
+ | * twisting of the spine | ||
− | These movements | + | These movements ''cannot'' be tracked by the Kinect APIs available. You will have to search for APIs that do this, or build it yourself using the cloud point data. The Vicon is a better choice for this task. |
− | === | + | === Do you need to track movements of the separate parts of the torso (the cervical, lumbar, thoracic, and sacral areas)? === |
− | + | These movements ''cannot'' be tracked by the Kinect APIs available. You will have to search for APIs that do this, or build it yourself using the cloud point data. The Vicon is a better choice for this task. If you don't need to track precise movements of the parts of the torso, the Kinect is fine.<br /><br /> | |
− | === | + | ===Will the mover be changing their frontal orientation (e.g., by turning around or spinning)?=== |
+ | <br /> The change in front ''cannot'' be automatically tracked by the Kinect APIs available. You will have to search for APIs that do this, or build it yourself using the cloud point data. The Vicon is a better choice for this task.<br /> | ||
− | + | === Are you going to be tracking very fast movements? === | |
− | + | The sampling rate of the Vicon is 200 Hz, which is sufficiently large to capture many nuances of human movement. The Kinect's, however, is (as most) 30 Hz. Is this fast enough? The answer is: in many instances, yes, but it really depends on what you want to do. See the section on [http://wiki.iat.sfu.ca/BlackBox/index.php/Kinect#Errors_in_using_the_Kinect_for_motion_tracking Errors and limits in using the Kinect for motion tracking]. | |
− | + | === Are you going to be tracking very small movements? === | |
− | + | See the section on [[Kinect#Spatial_resolution_errors| spatial resolution errors for the Kinect]] to learn about considerations you need to take into account if you intend to track small movements.<br /> | |
− | + | </div> | |
− | = | + | == How much time do you have to plan and set up your motion capture session? == |
− | |||
− | + | If you can prepare adequately for it, use the Vicon. But if you want to quickly capture movement data and don't have a lot of time on your hands, use the Kinect. | |
− | + | == Do you need to process the movement data in real-time?== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The current Vicon setup in the Blackbox prevents you from using it for real-time motion capture. A kludge was devised a long time ago by a former SIAT student, Rob Lovell, but the technical details on how to do this has been lost. Plans for upgrading the Vicon system are underway. In the meantime, the Kinect will allow you to stream real-time movement data very easily. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 13:39, 23 December 2011
Contents
- 1 Introduction
- 2 What type of sensor is best?
- 3 Kinect versus Vicon
- 3.1 What kind of movement do you need to capture?
- 3.1.1 Do you need to identify individual body parts or is it sufficient to treat the body as a blob?
- 3.1.2 Are you capturing movements of the entire body or only some body parts (only finger gestures, or only full arm movements, or only the torso, or only leg bending and swinging)? Do you need to track both large movements (e.g., lunging, jumping, turning around) and small gestures (e.g., foot tapping, fingers drumming, head slightly tilting)?
- 3.1.3 Is the entire body going to be moving through a large volume of space (greater than about 5 feet by 5 feet) (e.g., walking, running, many forms of dancing)?
- 3.1.4 Are you going to be tracking movement in the transverse plane of the body?
- 3.1.5 Do you need to track movements of the separate parts of the torso (the cervical, lumbar, thoracic, and sacral areas)?
- 3.1.6 Will the mover be changing their frontal orientation (e.g., by turning around or spinning)?
- 3.1.7 Are you going to be tracking very fast movements?
- 3.1.8 Are you going to be tracking very small movements?
- 3.2 How much time do you have to plan and set up your motion capture session?
- 3.3 Do you need to process the movement data in real-time?
- 3.1 What kind of movement do you need to capture?
Introduction
There are currently two major systems for movement capture and recognition in the Blackbox: The Vicon system and the Kinect. There are also a set of accelerometers that you can use:
In addition, HuMoS is a suggested integrated approach to sharing movement data and is a work in progress.
This page discusses movement capture systems in the Blackbox. A separate page is dedicated to discussing movement recognition.
What type of sensor is best?
What kinds of sensors best fit the motion phenomena you wish to capture. Motion capture systems use different kinds of sensors. To find out which type of sensor best suits your application, see the section on Sensor Selection. In general:
- Low-frequency movement is best captured using measurements of position (the Vicon or the Kinect will be your best)
- Intermediate-frequency movement is best captured using measurements of velocity
- High-frequency movement is best captured using measurements of acceleration (accelerometers would be appropriate). Generally, human movement tends to be slow enough that measurements of position are adequate. There are exceptions. See the section on errors in using the Kinect for motion tracking for a discussion on when position-based sampling fails.
Kinect versus Vicon
The Vicon is a powerful motion capture tool and can be used to capture an enormous variety of movement. However, using the Vicon isn't always ideal. Consider the following questions when deciding whether to use the Vicon or the Kinect.
What kind of movement do you need to capture?
What kind of movement do you need to capture? Consider the following.
Do you need to identify individual body parts or is it sufficient to treat the body as a blob?
If all you need to do is treat the body as a blob (for example, tracking the position of a body in space in order to project an image around that body), the Kinect is a more convenient choice than the Vicon. Recognizing human skeleton data using the Vicon data takes more work than processing Kinect data. While many of the Kinect APIs map the cloud of points to a human skeleton, for the Vicon, you will need to set up the skeleton yourself.
Are you capturing movements of the entire body or only some body parts (only finger gestures, or only full arm movements, or only the torso, or only leg bending and swinging)? Do you need to track both large movements (e.g., lunging, jumping, turning around) and small gestures (e.g., foot tapping, fingers drumming, head slightly tilting)?
In his seminal book on acting, An Acrobat of the Heart, theater theorist and director Jerzy Grotowski distinguishes the two kinds of movements as plastiques and corporeals. If you are tracking movement that happens on similar scales (either mostly plastiques or mostly corporeals) and for body parts that close to each other, then you can use the Kinect effectively by using the appropriate Kinect API.Otherwise, you are better off using the Vicon.
Is the entire body going to be moving through a large volume of space (greater than about 5 feet by 5 feet) (e.g., walking, running, many forms of dancing)?
If so, then you must use the Vicon. Otherwise, if the body will within a space of about 5 feet by 5 feet, you might be able to stick with the Kinect.
Are you going to be tracking movement in the transverse plane of the body?
These movements include...
- supination and pronation of the legs or arms
- left or right rotation of the head
- twisting of the spine
These movements cannot be tracked by the Kinect APIs available. You will have to search for APIs that do this, or build it yourself using the cloud point data. The Vicon is a better choice for this task.
Do you need to track movements of the separate parts of the torso (the cervical, lumbar, thoracic, and sacral areas)?
These movements cannot be tracked by the Kinect APIs available. You will have to search for APIs that do this, or build it yourself using the cloud point data. The Vicon is a better choice for this task. If you don't need to track precise movements of the parts of the torso, the Kinect is fine.
Will the mover be changing their frontal orientation (e.g., by turning around or spinning)?
The change in front cannot be automatically tracked by the Kinect APIs available. You will have to search for APIs that do this, or build it yourself using the cloud point data. The Vicon is a better choice for this task.
Are you going to be tracking very fast movements?
The sampling rate of the Vicon is 200 Hz, which is sufficiently large to capture many nuances of human movement. The Kinect's, however, is (as most) 30 Hz. Is this fast enough? The answer is: in many instances, yes, but it really depends on what you want to do. See the section on Errors and limits in using the Kinect for motion tracking.
Are you going to be tracking very small movements?
See the section on spatial resolution errors for the Kinect to learn about considerations you need to take into account if you intend to track small movements.
How much time do you have to plan and set up your motion capture session?
If you can prepare adequately for it, use the Vicon. But if you want to quickly capture movement data and don't have a lot of time on your hands, use the Kinect.
Do you need to process the movement data in real-time?
The current Vicon setup in the Blackbox prevents you from using it for real-time motion capture. A kludge was devised a long time ago by a former SIAT student, Rob Lovell, but the technical details on how to do this has been lost. Plans for upgrading the Vicon system are underway. In the meantime, the Kinect will allow you to stream real-time movement data very easily.