[x3d-public] Purpose of X3Dng -- Animation (of humanoid models)

Michael Aratow maratow at noegenesis.com
Tue Oct 25 19:19:05 PDT 2016


Hey John

I am from the Medical Working Group and a practicing physician. Use 
cases for healthcare should be created for both HAnim and X3D as it is a 
significant vertical market which we say these standards address.

I am not exactly sure what you mean by a prototype for each surgery.

Thanks,

Mike



On 10/24/16 1:34 AM, yottzumm at gmail.com wrote:
>
> The only thing that I can think of that isn’t more animation based 
> (abstract biological processes) and is more human based is surgeries 
> or injuries.  Should there be a place in the X3D or H-Anim examples 
> for surgeries?  A prototype for each surgery perhaps?   How do doctors 
> deal with unusual circumstances?  Can someone forward this to the 
> Medical Working Group (I don’t have their address handy).  Can we 
> digitally sign the examples so we know they haven’t been corrupted?
>
> John
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
> Windows 10
>
> *From: *Leonard Daly <mailto:Leonard.Daly at realism.com>
> *Sent: *Sunday, October 23, 2016 11:43 PM
> *To: *yottzumm at gmail.com <mailto:yottzumm at gmail.com>; 
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>; Human Animation 
> working group <mailto:h-anim at web3d.org>
> *Subject: *Re: [x3d-public] Purpose of X3Dng -- Animation (of humanoid 
> models)
>
> On 10/23/2016 8:30 PM, yottzumm at gmail.com <mailto:yottzumm at gmail.com> 
> wrote:
>
>     Leonard,
>
>     I think you wanted to say for your last sentence: “If X3Dng joint
>     animation and skin deformation was taken, perhaps wholesale, from
>     H-Anim, what would be left in H-Anim?”
>
>     But you can probably word-craft better than I can.  Have another
>     go at it if you like.
>
>
> John,
>
> Thanks for pointing this out. I am not too particular to get the 
> discussion going. What you said is correct, but I did want to give the 
> opportunity to include other material that might better fit the 
> mission of H-Anim. I do not know what that might be, nor do I wish to 
> presume anything about that mission. I did intend it to be an 
> open-ended question, though I could have improved the wording.
>
>
> Leonard Daly
>
>
>
>
>
>
>     John
>
>     Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986>
>     for Windows 10
>
>     *From: *Leonard Daly <mailto:Leonard.Daly at realism.com>
>     *Sent: *Sunday, October 23, 2016 11:22 PM
>     *To: *x3d-public at web3d.org <mailto:x3d-public at web3d.org>; Human
>     Animation working group <mailto:h-anim at web3d.org>
>     *Subject: *Re: [x3d-public] Purpose of X3Dng -- Animation (of
>     humanoid models)
>
>     I want to point out that my posting on X3Dng Animation
>     [http://realism.com/blog/purpose-x3d-animation] (BTW, ng == next
>     generation) is not necessarily for characters - human, humanoid,
>     or animal. It is a means of animation that is in standard use in
>     the animation industry. It is frequently applied to characters,
>     but that is not the only possible target of the animation.
>
>     This method of animation is not "fool-proof" - there are some edge
>     cases that cause problems -- for example a rotation of pi radians
>     on a joint that can twist causes the skin to "candy-wrap". See
>     http://www.cs.cmu.edu/~yaser/Lecture-9-Skinning%20and%20Body%20Representations.pdf
>     <http://www.cs.cmu.edu/%7Eyaser/Lecture-9-Skinning%20and%20Body%20Representations.pdf>,
>     pages 27-34 for a visual and technical description of the issue.
>     The charts also provide a lot of the mathematical framework that
>     Don discusses below including motion capture.
>
>     So I'll ask my question again, if X3Dng includes joint animation
>     with skin deformation at a profile that is generally used (e.g.,
>     Immersive or less); what should the H-Anim specification cover? I
>     am not trying to imply that H-Anim should not exist, but a big
>     chunk of the document does discuss joint animation with skin
>     deformation. If that capability were part of the X3D
>     specification, would it need to be repeated in H-Anim? (If so,
>     why?). If it was removed, what would be the appropriate material
>     to include in the document?
>
>
>     Leonard Daly
>
>
>
>         [cc: h-anim]
>
>         Summary: a lot of capability is steadily adding up with
>         H-Anim, and beginning to overlap with Medical and CAD.
>
>         Great observations below, Joe and Michalis!  8)  Thank you. 
>         Here are some reactions.
>
>         We have had a lot of work to achieve progress towards X3D
>         version 4.  (Don't know what the subject-line "X3Dng" refers
>         to.)  Recent progress is confirming that the work on X3D
>         Object Model has been fundamentally important as a way to
>         ensure that the entire X3D scene graph is consistent and
>         coherent across every file encoding and every programming
>         language binding.  So we are really building for scalable,
>         repeatable success.
>
>         Observation: SFRotation axis-angle representation is
>         mathematically equivalent to quaternions, so there is no
>         conversion issue there.  Matrix rotations are also
>         almost-fully equivalent with only a few edge-case anomalies
>         like the possibility of exceptions when computing inverses. 
>         So mapping to different forms of rotations is not particularly
>         difficult when using X3D SFRotation, it just takes close
>         attention to detail. (One virtue of programming, even when
>         challenging, is that You Only Have To Get It Right Once.)
>
>         Personally, am hoping to get back to work on the
>         BVH-mocap-to-X3D-interpolators converter code before the end
>         of the year.  Goal is to have this open source Java running
>         and producing X3D animations, just like Suwon University's C++
>         code did for their H-Anim Music Video competition.  That
>         should establish a baseline of 2 mocap-related implementations
>         that can help us continue to improve.
>
>         https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/tools/X3dEdit3.3/X3D/src/org/web3d/x3d/hanim/bvh/
>
>             BvhSkeletonParameters.java
>             Hierarchy.java
>             Joint.java
>             Motion.java
>
>         All of the recent review activity and interest during the
>         H-Anim specifications review is certainly a wonderful
>         development.  When all of the other H-Anim specification
>         comments are assembled from participating ISO national
>         standards bodies, we can plan on an Specification Editors
>         Meeting to consider issues and best plans for resolutions. 
>         Meanwhile, as time permits, the H-Anim and X3D Working Groups
>         can continue looking at the baseline mantis issues list to
>         prepare potential solutions.
>
>         I also agree that the path to success lies through
>         implementation and evaluation.  As we keep building examples,
>         and implementing conversions, and adding tool support, am
>         expecting the differences between different approaches will
>         appear simpler, clearer, more adaptable, and easier to
>         support.  Similarly, it makes no sense to change what we have
>         in H-Anim until we have direct evidence of problems or how to
>         accomplish potential improvements.
>
>         Current H-Anim example models:
>
>         http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation
>
>         Regarding importance of H-Anim tutorials: another point well
>         taken.  Here is one with 97 slides (second half includes
>         slides + annotation notes).  Questions, corrections and
>         suggestions for improvement welcome.
>
>         http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf
>
>
>         Does it make sense to add adaptation/conversion of Blender
>         character animations into H-Anim models as a goal? Blender
>         does have excellent general support for X3D export/import (on
>         its top-level File menu).  If so, we could add it to:
>
>             web3D.org > PARTICIPATE > Projects Wish List
>         http://www.web3d.org/projects/wish-list
>
>         Perhaps someone wants to look at Cobweb source and help out
>         with adding support for H-Anim nodes.  Not so hard, the
>         pattern is somewhat similar to CAD nodes, already implemented
>         in X3DOM; yet another open-source example implementation is
>         available as X3D prototypes (no Script needed) at:
>
>             X3D Example Archives: Basic, Humanoid Animation, HAnim
>         Prototypes
>         http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimPrototypesIndex.html
>
>
>             Cobweb Supported Components
>         http://titania.create3000.de/cobweb/#c426
>
>         Looking further ahead.  There is one more clarion priority for
>         H-Anim progress: modeling human joints, bones, skin and
>         motions at a resolution suitable for medical applications and
>         electronic health records.  Alignment of DICOM-standard
>         medical imagery as X3D volume presentations is another
>         emerging major asset.  Common interest with CAD group in
>         metadata annotations, 3D printed parts (splints, prostheses,
>         devices) and 3D scanning is also truly compelling.  The CAD
>         and medical workshops at the Web3D 2016 Conference in Anaheim
>         a few months back showed that much is possible. 
>         Early-exemplar case study:
>
>             3D Printed Heart for Printed Preoperative Planning
>             Two views of a printed heart from MRI data
>         http://www.web3d.org/example/3d-printed-heart
>
>         Assembled and aligned together, with working tools +
>         repeatable workflows + validation of correctness, the X3D
>         family of technologies holds tremendous promise to broadly
>         improve medical understanding and communication.
>
>         All of this technical scrutiny is super valuable.  Having a
>         constructive community is so valuable - we avoid blunders and
>         steadily build shared understanding.
>
>         Onward we go, step by step! Looking forward to continuing
>         progress together.
>
>
>         On 10/21/2016 5:06 PM, Joe D Williams wrote:
>
>
>                 It would be fantastic if e.g. Blender armature
>                 animation was exported
>                 to X3D. It is already possible, as H-Anim supports the
>                 necessary
>                 features --- what is miss is the actual code on the
>                 side of Blender
>                 (Python) exporter to X3D.
>
>
>             Good idea, perhaps if the Blender animation data exists so
>             it can be made to work in interpolators.
>             Sometimes the export of animation intended for rendering
>             to film or video is just a list of completely rendered
>             frames rather than an actual realtime animation style.
>
>             If the data exists to export keyframe keys and keyvalues,
>             then the rotations and translations should be easy to get.
>             In an 'old style' armature they were not interested in
>             joint rotation but depended upon bone orientation. That is
>             OK because the purpose was to pose the artatmure for the
>             next frame, not to worry about interpolation since they
>             knew the target frame intervals. That is OK, bone
>             orientation and joint rotation is the same.
>
>             Another detail is that the joint animation data may be in
>             unit quaternions, which is actually most likely since it
>             is the preferred form in collada and glTF.  Or, the data
>             may use euler-type angles (x-y-z) that need to be
>             converted to x3d axis-angle which can be straightforward.
>
>             That is what Part 2 of new HAnim is about, how to import
>             mocap and other types of animation data. First you
>             consider the capture skeleton, then you model it to a
>             model of an HAnim 'standard' playback skeleton, convert
>             the keyvalues as required, create the positon and
>             orientation interpolators, then run the thing. Everyone's
>             comments on this Part 2 is also appreciated.
>
>             I don't think we want to also cover the idea of no
>             interps, just itty through the mocap keyvalues for video
>             or film fixed frame interval rendering and capture. X3D's
>             target is realtime or anytime and everytime. Of course you
>             also make video or film using X3D. Same for 'general'
>             coverage of this anmation technology. Of course you can do
>             anything you want. You don't need study HAnim very long
>             until you learn that yes, you can define your own joint
>             hierarchy, use any names you wish, and attach any kind of
>             geometry and sensors you wish. If you want to do different
>             shaped skin, then fine. Finally, if you understand the
>             skelton setup, you can just fly them joints around to
>             achieve most any animations possible with your model. You
>             can easily adjust animations with a keyboard, a text
>             editor, and an X3D player.
>
>             Whatever you do, there are the same rules. Similar
>             skeletons with similar initial pose can exchange skeletal
>             animations. That is the most important point of this
>             entire effort. Exchange skins when skeleton joint
>             hierarchy, skin vertex count, order of appearance in the
>             user code, and feature point relationships are the same.
>             Sure we could tell that story in a series of tutorials but
>             this is a spec. Maybe not this example, but the spec does
>             not always need to spell out the history or details that
>             would be obvious to an expert in the field, just the bare
>             implementation requirements.
>
>             Again, capabilities in this spec can describe any skeleton
>             but I think we want to target something concrete.
>             Something that can have a set of reference inputs and a
>             set of reference outputs. Finally, we want a 'standard'
>             set of example animations that work with each of the
>             'standard' LOA definitions.
>
>             For this spec effort, the most important thing is that
>             Implementors get it right. If the implementation can
>             deliver a 'standard' humanoid that uses 'standard'
>             animations, then we have something. If the implemetation
>             gets it right, then the users can get most anything out of
>             it they want. So that is why the HAnim spec targets the
>             'standard' animatable humanoid.
>
>             When we discuss general X3D animation facilities, of which
>             there are many, then that is the job of a set of
>             tutorials. Please recall that the spec is addressing
>             Implementors, and technicallly-oriented users, not the
>             general user. Usually the spec will fail when it wanders
>             into general tutorials aimed at general users.
>
>             Still, the idea of bringing something like the HAnim
>             DIsplacer up into the same bag of tools as other styles
>             and types of interpolators would be a fine idea. I think
>             that might be what Leonard was mentioning when he said
>             there are other more basic tools than joint-actuated mesh
>             deformation. It is easy to recognize the Displacer as a
>             basic mesh animation tool that would be encountered in
>             early animation lessons.
>
>             Thanks and Best,
>             Joe
>
>
>             ----- Original Message ----- From: "Michalis Kamburelis"
>             <michalis.kambi at gmail.com> <mailto:michalis.kambi at gmail.com>
>             To: "Leonard Daly" <Leonard.Daly at realism.com>
>             <mailto:Leonard.Daly at realism.com>
>             Cc: "Joe D Williams" <joedwil at earthlink.net>
>             <mailto:joedwil at earthlink.net>; "X3D Public"
>             <x3d-public at web3d.org> <mailto:x3d-public at web3d.org>
>             Sent: Thursday, October 20, 2016 10:34 PM
>             Subject: Re: [x3d-public] Purpose of X3Dng -- Animation
>
>
>
>
>                 2016-10-21 6:23 GMT+02:00 Leonard Daly
>                 <Leonard.Daly at realism.com>
>                 <mailto:Leonard.Daly at realism.com>:
>
>
>                     In all your writings you appear to be making the
>                     assumption that joint-based
>                     animation with deformable skin is H-Anim. That is
>                     not true.
>
>
>                 Hi,
>
>                 From my point of view, I see H-Anim as "the way to do
>                 animation using
>                 skeletons, bones and (optional) skins in X3D". I can
>                 easily do
>                 skeletal animation of anything (humans, pipes,
>                 animals) with H-Anim. I
>                 actually implemented it in view3dscene, and really
>                 there's nothing
>                 limiting this system to "humanoids". You just
>                 transform the bones, and
>                 optionally deform a mesh following the per-vertex
>                 weights.
>
>                 Maybe we could solve the issues raised here by simply
>                 changing the
>                 wording (and some node names), to de-emphasize the
>                 "humanoid" part in
>                 the H-Anim specifications. (The X3D component
>                 http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html
>
>                 and the H-Anim spec on
>                 http://h-anim.org/Specifications/H-Anim200x/ISO_IEC_FCD_19774/
>                 ).
>
>                 Such change would more accurately reflect H-Anim's
>                 capabilities (in my view).
>
>                 How about we would simply rename H-Anim component in
>                 X3D to "Skeletal
>                 Animation"? Some additional renames would be nice,
>                 like removing the
>                 "HAnim*" prefix from nodes, and the main
>                 "HAnimHumanoid" node could be
>                 something simpler like just a "Skeleton" (with the
>                 primary field being
>                 "skeleton").
>
>                 The fact that the H-Anim standard defines also a
>                 standard "Structure
>                 of a humanoid" is just "an extra" for me. I mean, it
>                 is valuable!, but
>                 it can also be simply ignored if you don't model a
>                 humanoid (or don't
>                 care about standardizing your names, to transfer the
>                 animations
>                 between other humanoids).
>
>                 Also, adding such "Skeletal Animation" component to
>                 the "Immersive"
>                 (or even earlier) profile would be a nice touch. It is
>                 a major
>                 animation method. Putting it inside a component other
>                 than "Full" is a
>                 way of encouraging implementations of it. Especially
>                 since it seems we
>                 do have a lot of implementations of it.
>
>                 It would be fantastic if e.g. Blender armature
>                 animation was exported
>                 to X3D. It is already possible, as H-Anim supports the
>                 necessary
>                 features --- what is miss is the actual code on the
>                 side of Blender
>                 (Python) exporter to X3D.
>
>                 I hope that this opinion helps:)
>
>                 Best regards,
>                 Michalis
>
>
>             _______________________________________________
>             x3d-public mailing list
>             x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>             http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
>
>         all the best, Don
>
>     -- 
>     *Leonard Daly*
>     3D Systems & Cloud Consultant
>     LA ACM SIGGRAPH Chair
>     President, Daly Realism - /Creating the Future/
>
>
>
>
>     _______________________________________________
>
>     x3d-public mailing list
>
>     x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>
>     http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
> -- 
> *Leonard Daly*
> 3D Systems & Cloud Consultant
> LA ACM SIGGRAPH Chair
> President, Daly Realism - /Creating the Future/
>
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20161025/86129e13/attachment-0001.html>


More information about the x3d-public mailing list