H-Anim
Contents
- 1 Humanoid Animation (H-Anim) WG Meeting
- 2 ISO Meeting
- 3 New work items and working draft
- 4 NWIP's scope and responsibility
- 5 New proposals submitted to H-Anim WG
- 6 Procedure for H-Anim character design
- 7 H-Anim wrl to x3d converter
- 8 H-Anim LOA Figures
- 9 Previous work
- 10 Resources
- 11 Standards Development: Specifications
- 12 H-Anim WG Charter
- 13 WG Members
- 14 Use Cases
- 15 Current Work
- 16 Anthropometry
- 17 Before
- 18 William's Section!
- 19 BVH conversion issues
- 19.1 1. Is there an X3D H-Anim skeleton that corresponds to the BVH ROOT/JOINT HIERARCHY?
- 19.2 2. However many similarities also exist. Maybe they can be exploited?
- 19.3 3. Once we have the skeleton mapping, we can work on the animation values.
- 19.4 4. The arrays can then be driven by a TimeSensor and key values at frame-time increments of 0.016667
- 19.5 5. How to convert?
- 19.6 BVH references of possible value
- 19.7 Questions (2013-10-16)
Humanoid Animation (H-Anim) WG Meeting
- Regular Meetings: Wednesday at 5pm, PDT or PST for 1 hour
- Next Meeting: October 30 (Wednesday), 2013, at 5pm, PDT
- Agenda and Minutes
ISO Meeting
- 2013 ISO/IEC JTC 1/SC 24 Plenary & WG Meetings, Sydney, Australia, August 26-30, 2013.
- H-Anim proposals at WG6 meetings
- H-Anim Architecture and Motion Capture-NWIPs and WD Outlines, and H-Anim Developments Updates, Myeong Won Lee File:HAnimRevisionUpdates130827.pdf (direct link)
- These slides describe the NWIP for H-Anim revision, the H-Anim character modeling procedure, and H-Anim motion definitio including an H-Anim motion viewer and an H-Anim motion editor.
- H-Anim Facial Animation, Jung-Ju Choi File:FA-HAnim-Sydney20130826.pdf (direct link)
- These slides describe the proposal for H-Anim facial animation.
- H-Anim Hands and Feet, Kwan-Hee You File:Khyoo HandAndFeetAnimation.pdf (direct link)
- These slides describe the proposal for H-Anim hands and feet animation.
- H-Anim Architecture and Motion Capture-NWIPs and WD Outlines, and H-Anim Developments Updates, Myeong Won Lee File:HAnimRevisionUpdates130827.pdf (direct link)
Editor's note: links to uploaded images/documents available at http://web3d.org/wiki/index.php/Special:ListFiles
New work items and working draft
- New Work Item Proposal, ISO/IEC 19774 Humanoid Animation - Part 1: Architecture (Submitted to ISO) nwip_HAnim130724(1)
- New Work Item Proposal, ISO/IEC 19774 Humanoid Animation - Part 2: Motion Capture (Submitted to ISO) nwip_HAnim130724(2)
- Working Draft Outline for Humanoid Animation - Part 1 HAnimArchitectureWD130724
- Working Draft Outline for Humanoid Animation - Part 2 HAnimMotionWD130724
NWIP's scope and responsibility
Please add responsible persons for each item. We recommend that the persons of responsibility work on draft and/or examples for conformance.
- 1) Definition of a humanoid character model capable of generating motion from captured motion data → Myeong and Joe
- 2) Definition of a humanoid character model capable of generating motion using 3D scanner data → Myeong and William
- 3) Definition of a humanoid character model capable of generating motion using a general motion definition such as keyframe, interpolation, kinematics, and dynamics for human figures → Myeong and Joe
- 4) Definition of motion parameters for transferring or exchanging motion between different human character models → Myeong and Dick
- 5) Definition of a motion data interface for including motion data → Myeong and Dick
- 6) Definition of a motion viewer’s functionality → Myeong and Joe
- 7) Definition of interoperable human behavior prototypes → Don, Myeong and William
- 8) Guidelines for adding 3D skinning to humanoid characters → Joe and Don
- 9) Definition of a recording interface for human motion such as gait → Don and William
- 10) Provision for easier exchange of characters from design systems to H-Anim systems. → Myeong and Joe
This work is intended to define a standard model for humanoid animation including motion interfaces. It is an enhancement to the original H-Anim model of ISO/IEC 19774, and ISO/IEC 19774 Working Draft Amendment (WDAM) 1 in progress.
Document plan
- The motion-related work is expected to be integrated with the 19774 specification and the 19774 WDAM 1 documents into a new document.
- It may become appropriate and necessary to split the revised 19774 specification into multiple parts.
Formal submission of the H-Anim NWIP to ISO depends on working-group preparation of
- Initial Committee Draft (CD) specification text
- At least one draft implementation (with plans for a second)
- Working examples, validation, quality assurance (QA)
New proposals submitted to H-Anim WG
- 2013-07-21, H-Anim Facial Animation, Prof. Jung-Ju Choi (Ajou Univresity, Korea) FA_HAnim_LA20130721
- 2013-07-21, Modeling and Animation of Hands and Feet, Prof. Kwan-Hee You (Chungbuk National University, Korea) HandAndFeetAnimation130821
Procedure for H-Anim character design
H-Anim wrl to x3d converter
- Converter from H-Anim WRL to H-Anim X3D
- test version
H-Anim LOA Figures
- LOA1 example figure: [Names of Joints]
Previous work
- Web3D members-only H-Anim wiki
- Accommodating Diverse Models (also linked there for members: Proposed amendment to H-Anim Specification)
- Proposed amendment to H-Anim Specification
- H-Anim http://www.web3d.org/files/specifications/19774/V1.0/HAnim/HAnim.html
- ISO 19774 H-Anim Specification http://www.web3d.org/files/specifications/19774/V1.0/
- X3D Humanoid animation (H-Anim) component http://www.web3d.org/files/specifications/19775-1/V3.2/Part01/components/hanim.html
- H-Anim examples http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/
- Player support - shows five full implementations and three partial implementations http://www.web3d.org/x3d/wiki/index.php/Player_support_for_X3D_components
- Tool support - shows five full implementations and two partial implementations http://www.web3d.org/x3d/wiki/index.php/Tool_support_for_X3D_components
- X3D Tool-tips includes multilingual synopses of H-Anim nodes and fields http://www.web3d.org/x3d/content/examples/X3dResources.html#Tooltips
- Previous incomplete works: H-Anim: Accommodating Diverse Models, on the member wiki:
- H-Anim mailing list and archives (for subscribers):
Resources
- [1] for Open Virtual Reality Testbed page on human joint types and counts
- H-Anim Executive Summary for more Working Group information
- H-Anim working group
- Humanoid Animation V1.0 Specification (.zip)
- H-Anim Examples in the X3D Basic Examples Archive
- H-Anim examples archive:
H-Anim Behavior Prototypes
Prototypes for HAnimBehavior node, which collects OrientationInterpolators for aggregate animation of an H-Anim humanoid model, and
HAnimBodyBehaviorChooser, which selects one body and enables/disables multiple aggregate behaviors.
- http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/
- http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/Web3D2007BlendedBehaviorsChangeableBodies.pdf
- http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/ApaydinThesis.pdf
H-Anim examples designed with a general tool (10 H-Anim characters)
- 1Jin wrl, x3d, texture image
- 2Chul wrl, x3d, texture image
- 3Hyun wrl, x3d, texture image
- 4Young wrl, x3d, texture image
- 5Ju wrl, x3d, texture image
- 6Ga wrl, x3d, texture image
- 7No wrl, x3d, texture image
- 8Da wrl, x3d, texture image
- 9Ru wrl, x3d, texture image
- 10Mi wrl, x3d, texture image
Standards Development: Specifications
Two primary specifications govern this work: the X3D and the H-Anim International Standards. The H-Anim standard describes functional information in full detail, while the X3D specification simply references this work and maps constructs into X3D nomenclature. Working group members: only refer to the official version as we confirm current capabilities and rejuvenate future work.
X3D v3.3 specification, H-Anim Component
- version 3.3 Draft International Standard (DIS)
H-Anim specification, current
- Official version: ISO/IEC 19774:2006 (listed on Web3D Specifications - All Documents)
H-Anim specification, incomplete draft change
- H-Anim Working Draft Amendment WDAM1
- http://igraphics.com/Standards/ISO_IEC_19774_WAM1_2009_01_12/index.html
- This draft amendment proposed new capabilities for H-Anim and is a reasonably complete document.
- It was never approved by Web3D Consortium nor submitted to ISO.
- We are interested in learning whether any implementations exist that demonstrate these proposed changes.
- It stalled when working group activity ceased circa January 2009.
- Added items in this draft "change document" can be reconsidered by the reactivated working group.
H-Anim specification, historical efforts Note: the following versions have no official standing and are no longer active. * Intermediate draft version, ISO/IEC 19774:2005 ** http://www.web3d.org/x3d/specifications/ISO-IEC-19774-HumanoidAnimation/HAnim/HAnim.html * H-Anim 200x specification (ISO_IEC_FCD_19774) ** http://h-anim.org/Specifications/H-Anim200x/ISO_IEC_FCD_19774 * H-Anim working group version 1.1, unofficial ** http://h-anim.org/Specifications/H-Anim1.1 * H-Anim working group version 1.0, unofficial ** http://h-anim.org/Specifications/H-Anim1.0
H-Anim WG Charter
- March 2012: H-Anim Working Group Draft Charter materials by Web3D Korean Chapter
WG Members
- Myeong Won Lee (Chair)
- William O. Glascoe III (Co-Chair)
- Joe D. Williams (Subject Matter Expert)
- Sandy Ressler
- Keith Victor
- David Bruner
- Anita Havele
- Richard F. Puk
- Don Brutzman
- Jung-Ju Choi
- Kwan-Hee Yoo
Use Cases
Working Group chairs keep the following pages up to date:
- We estimate there are upwards of 1,000 H-Anim Use Cases to fully characterize the human experience from the time all the bones of a human are formed or developed through
final disposition of the human body (mummification, cremation, burial, etc.). The vocabulary for human behavior (including misbehaving in all cultures, societies, etc.) serves as our baseline. Ontologies, taxonomies, classifications, encyclopedia and handbooks for human behavior are starting points for deriving the skeletal and skin motions for each concept, term and are categorized by:
1. duration of animation (measured in seconds: 3 - 30,000) 2. total joint angle displacement (displacement spectrum-percent of total possible displacement per joint) 3. angular rate of displaced joints (displacement speed spectrum - percent of maximum displacement) 4. simultaneity of joint displacement (percent of total joints in motion)
Moreover, this Working Group shall bin Use Cases in to those the WG are 1) likely to prototype 2) not likely to prototype and 3) will not prototype.
The complexity and duration of H-Anim scenes will correlate with the (actions) terms, (motions) concepts and (movements) behaviors of humans in natural and man-made environments with and without constraints of hand-held objects, clothing, etc.
Below are sample H-Anim Customer Segments (Authors and Consumers):
- Use Cases (titles only) by Customer Segment (Authors and Consumers):
High Schoolers (half gross and half fine motor control)
Animate individual performance on sport team using official contest times (and/or video footage, body sensors, MoCap, etc.) <6 minutes Animate a schoolyard fight between only two students (<4 minutes) Animate his/her character in a school play's scene (< 5 minutes)
Undergraduates (some fine motor control)
Animate assembly of consumer product requiring three or more tools and the assistance of another person (<15 minutes) Animate the operation of a motor vehicle's controls while the vehicle is in motion (<15 minutes) Animate the operation of a human powered vehicle on various surfaces (<10 minutes)
Graduates (a lot of fine motor control)
Animate playing a musical instrument during a concert performance (< 15 minutes) Animate folding a load of functionally realistic clothes (< 20 minutes) Animate hunting wild game (<20 minutes)
Post-Graduates
Animate four classes of surgical procedures with Bio-CAD and patients' images (replacement, implantation, ...tetomy and transplantation) [<60 minutes] Animate a job interview for a white collar position (e.g., Chief Executive Officer of a mid-size corporation) [<30 minutes] Animate dying (fratricide, suicide and homicide) [<15 minutes]
Professionals
Animate long duration spaceflight effects [<180 minutes; representing 18,000 minutes] Animate the bends (scuba diving incident) [<60 minutes] Animate drug addiction [<60 minutes]
Current Work
Working group chairs keep the following pages up to date:
- Humanoid Animation (H-Anim) overview on web3d.org site
- This wiki page
Joe and Don are working each Monday night [1700-1900 pacific, Web3D teleconference line) on
- Confirming first the status of all current work relative to the approved H-Anim Specification
- X3D Basic Examples for H-Anim
- X3D tooltips, X3D DOCTYPE Documentation and X3D Schema Documentation for the H-Anim nodes
- X3D Player Support for H-Anim
- X3D Authoring Tool Support for H-Anim including X3D-Edit
- X3D Quality Assurance (QA) and X3D Validator
- As those issues get sorted out, we are re-visiting all the important details regarding H-Anim skinning
- Definitions, example test scenes, tool support
- Proposing an improved H-Anim component for X3D v3.4
- Editing a corresponding update to H-Anim ISO 19774 Specification
The larger group is also working on
- interoperable, swappable behaviors
- motion capture
- facial animation
Anthropometry
Published References for review and citation
Professional Societies: Professional Certifications, Licenses in Anthropometry International Standards: ISO - Basic human body measurements for technological design -- Part 1: Body measurement definitions and landmarks IEEE -
North American Standards:
ANSI
South, Central, Latin American Standards:
European, Middle Eastern and African Standards:
Asian Standards:
Before
This wiki page is the site for the recently renewed Humanoid Animation (H-Anim) Working Group.
Humanoid Animation (H-Anim) WG Meeting
- H-Anim WG Meeting at Web3D Conference & SIGGRAPH 2012, Los Angeles, USA, August 3, 2012
- Teleconferences: 1st Wednesday at 9:00am PDT every month
- Our August 2012 meeting will be replaced by the face-to-face H-Anim WG meeting (Hilton Checkers Hotel, 03 August at 16:00).
March 2012: H-Anim Working Group Draft Charter materials by Web3D Korean Chapter
Links of interest:
- H-Anim Executive Summary for more Working Group information
- H-Anim working group
- Humanoid Animation V1.0 Specification (.zip)
- H-Anim Examples in the X3D Basic Examples Archive
There has been previous work by the H-Anim working group during 2008-2009 that was not completed. Here are some additional links on the members-only wiki:
- Web3D members-only H-Anim wiki
- Accommodating Diverse Models (also linked there for members: Proposed amendment to H-Anim Specification)
- Proposed amendment to H-Anim Specification
- TODO list progress and problems
- TODO determine visibility permissions for items on the members-only sites (this is a decision by the working group, assuming that no proprietary information is included)
- TODO find prior working group charter
Much additional work has been proposed by the Korea Chapter.
- Definition of a humanoid character model capable of generating motion from captured motion data
- Definition of a humanoid character model capable of generating motion using a general motion definition such as keyframe, interpolation, kinematics and dynamics for human figures.
- Definition of motion parameters for transferring or exchanging motion between different human character models
- Definition of motion data interface for including motion data
- Definition of behavior modeling data
- Definition of motion viewer’s functionality
- Video human functionality and gestures will be considered in AR/MR working group efforts
We agreed on the 1 Feb 2012 teleconference that it is a good idea to document work on these many good ideas using this H-Anim public wiki. Further comment is welcome about this.
The main thing that is needed next is to get the H-Anim Working Group restarted and rejuvenated.
- H-Anim WG Charter
- TODO: we need 1-2 members who are willing to volunteer to serve as working group co-chairs.
- Working Draft for the H-Anim motion definition (in preparation) H-Anim Motion Definition
William's Section!
Human joint articulation of any type (there are six) can be expressed using Euler angles or quaternions. The word quaternion is modified based on how it is used--rotation, orientation or attitude modifiers are germane but there are others for different use cases. There are multiple approaches to convert Euler angles into quaternions (http://en.wikipedia.org/wiki/Hamilton_product#Hamilton_product, http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation).
BVH conversion issues
Myeong Won Lee example: http://web3d.org/wiki/images/4/4b/197_a.bvh.txt
Proposed investigation procedure: divide and conquer! Let's take each skeleton apart and put them back together again.
1. Is there an X3D H-Anim skeleton that corresponds to the BVH ROOT/JOINT HIERARCHY?
The structures used by BVH and H-Anim are different. There is not a direct correspondence between them. Differences include:
- The hierarchical nesting of parent-child relationships is different
- Values are therefore in different coordinate frames (one might be relative to parent joint, the other absolute coordinates for the human)
- Formats are quite different
- (others will be listed here)
2. However many similarities also exist. Maybe they can be exploited?
Perhaps we can build a mapping between the two. If we perform rotation transformations, a conversion algorithm can be computed for each hierarchy and corresponding units.
Here is a possible set of correspondences between a BVH model and an X3D H-Anim LOA-1 model.
- BVH :: X3D H-Anim
- ROOT :: HAnimHumanoid
- JOINT :: HAnimJoint
- JOINT name:: HAnimJoint name
- OFFSET :: HAnimJoint center
- CHANNEL definitions :: HAnimJoint rotation, translation
- MOTION array of Euler-degree rotations :: OrientationInterpolator MFRotation array with ROUTE connections
- CHANNEL array of position translations :: PositionInterpolator MFVec3f array with ROUTE connections
- End Site :: HAnimSite
- Anything else?
TODO
- map the BVH names to the approved H-Anim X3D names.
3. Once we have the skeleton mapping, we can work on the animation values.
Let's look at the BVH file next. Hypothesis:
- BVH MOTION arrays providing Zrotation Xrotation Yrotation values
to
- corresponding MFRotation arrays with 4-tuple SFRotation values
Example reconstruction follows. First is an extract from the BVH file, then a counting exercise of how many floats appear.
* ROOT Hips CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation * JOINT Chest CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftCollar CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftShoulder CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftElbow CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftWrist CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightCollar CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightShoulder CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightElbow CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightWrist CHANNELS 3 Zrotation Xrotation * JOINT Neck CHANNELS 3 Zrotation Xrotation Yrotation * JOINT Head CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftHip CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftKnee CHANNELS 3 Zrotation Xrotation Yrotation * JOINT LeftAnkle CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightHip CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightKnee CHANNELS 3 Zrotation Xrotation Yrotation * JOINT RightAnkle * CHANNELS 3 Zrotation Xrotation Yrotation
Defines a MOTION array consisting of numeric values:
3 floats [Hip location] 3 floats [Hip rotation] 3 floats[Chestrotation] 3 floats [LeftCollar rotation] 3 floats [LeftShoulder rotation] 3 floats [LeftElbow rotation] 3 floats [LeftWrist rotation] 3 floats [RightCollar rotation] 3 floats [RightShoulder rotation] 3 floats [RightElbow rotation] 3 floats [RightWrist rotation] 3 floats [Neck rotation] 3 floats [LeftHip rotation] 3 floats [LeftKnee rotation] 3 floats [LeftAnkle rotation] 3 floats [RightHip rotation] 3 floats [RightKnee rotation] 3 floats [RightAnkle rotation] = 18*3 = 54 floats
Each line of the MOTION data has 19 triples.
4. The arrays can then be driven by a TimeSensor and key values at frame-time increments of 0.016667
5. How to convert?
With a little debugging, we can then combine the pieces to show corresponding animations in HAnim and BVH. We can build an application program (or even a Script node) that uses these mappings.
BVH references of possible value
- Biovision BVH
- Motion Capture File Formats Explained, M. Meredith S.Maddock
- BVH File Specification: www.character-studio.net/bvh_file_specification.htm
- Human Movements - The Easiest Motion Capture File Format
Questions (2013-10-16)
- Excerpted from 1Jin_new20130730.x3d
<Group DEF='WalkAnimation'> <TimeSensor DEF='WalkTimer' cycleInterval='1.73' enabled='true' loop='true'/> <OrientationInterpolator DEF='Walk_r_kneeRotInterp' key='0 0.125 0.2083 0.2917 0.375 0.5 0.6667 0.7917 0.9167 1' keyValue='1 0 0 0.8573 1 0 0 0.8926 1 0 0 0.5351 1 0 0 0.1756 1 0 0 0.1194 1 0 0 0.3153 1 0 0 0.09354 1 0 0 0.08558 1 0 0 0.2475 1 0 0 0.8573'/> <ROUTE fromField='fraction_changed' fromNode='WalkTimer' toField='set_fraction' toNode='Walk_r_kneeRotInterp'/> <ROUTE fromField='value_changed' fromNode='Run_r_kneeRotInterp_Run' toField='rotation' toNode='hanim_r_knee'/>