[x3d-public] HAnim Schematron output sampled
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Sat Jan 21 19:23:13 PST 2023
Joe and John, thanks for in-depth sleuthing and this clear writeup. So far so good.
The current Humanoid Animation (HAnim) International Standard (IS) is of course the authoritative source to decide all mismatches.
* ISO/IEC 19774-1:2019 HAnim architecture
* https://www.web3d.org/documents/specifications/19774/V2.0/index.html
Of encouraging note is that all of our X3D4 diagnostics are generated by
a. Parent-child relationships defined in X3D4 XML Schema, for example vl5:
https://www.web3d.org/specifications/x3d-4.0.xsd
https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_hanimJointNameValues.html
https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_hanimSegmentNameValues.html
<xs:enumeration value="vl5">
<xs:annotation>
<xs:appinfo>
<xs:attribute name="index" type="xs:integer" fixed="59"/>
<xs:attribute name="default" type="SFVec3f" fixed="0.0028 1.0568 -0.0776"/>
<xs:attribute name="parent" type="hanimJointNameValues" fixed="sacroiliac"/>
<xs:attribute name="loa" type="loaType" fixed="1"/>
</xs:appinfo>
<xs:documentation source=https://en.wikipedia.org/wiki/Vertebral_column/>
</xs:annotation>
</xs:enumeration>
b. Which in turn are used to generate X3DUOM,
c. Which in turn is used to generate diagnostic rules checking on parent-child relationships,
d. Which in turn are copied/pasted into X3D Schematron for in-depth quality assurance (QA).
e. Additional X3DUOM-based checks get found in X3DJSAIL Java and X3DPSAIL x3d.py Python libraries.
So, as discussed with John during yesterday’s weekly X3D Working Group meeting, the key for continued sleuthing is to simply:
* Go through diagnostics to see if the error is actually in the .x3d model content (which is the usual case).
* Build a list of incorrect parent child relationships that appear to be mistaken schema definitions and diagnostics.
* We then double/triple check that list together, correct any confirmed errors in the X3D XML Schema accordingly, and all other diagnostics gets updated.
PLEASE DO NOT attempt any further programming heroics. Not helpful.
So, worthy “attention to detail” efforts followed by simple adjustments. Good hunting…
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, Navy robotics https:// faculty.nps.edu/brutzman
From: Joseph D Williams <joedwil at earthlink.net>
Sent: Friday, January 20, 2023 5:02 PM
To: John Carlson <yottzumm at gmail.com>; Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics public mailing list <x3d-public at web3d.org>; Humanoid Animation (H-Anim) Working Group <h-anim at web3d.org>
Subject: RE: HAnim Schematron output sampled
Hi HAnim folks,
Again, this is something we might want to actually file a bug on.
The errors detected validation of this model are counter to the spec hierarchy diagrams.
Specifically the root and sacro, vl5, hips, vc7, and sternos. .
I have looked back at the oldest and see that the text and art of current hierarchy diagrams and example user code look consistent throughout the ages.
For the basic humanoid, the root parents the sacro and the vl5. Then the sacro parents right and left hips for lower body and vl5 parents the base of the spine and upper body. Analyzing these connections by animating the figure shows that these structures were connected this way to provide greater realism than by parenting vl5 and both hips by sacro.
So, something to recommend is that we have the schema and all recognize the hierarchy defined by the diagrams in the spec, which are, with only one minor space problem, are correct historically.
This leaves the other vc7 and sterno siblings errors to discuss. Again, the model represented by the diagrams are not matching the schema, apparently, from the results John is getting. Likewise, the difference between the specification and the schematron result is mainly medical, being the medical distinction at vt1.
Anyway, as we see this along with the typical models emerging into x3d from bvh animation files, very interesting how to adapt these very common models, both with history, into the ‘Standard’ model.
I would see this as more of a problem in our validation rather than any problem in the basic definitions.
We do have examples that pass, and examples that fail.
Thanks and Best,
Joe
From: John Carlson <mailto:yottzumm at gmail.com>
Sent: Sunday, January 15, 2023 8:27 PM
To: Joe D Williams <mailto:joedwil at earthlink.net> ; Don Brutzman <mailto:brutzman at nps.edu> ; X3D Graphics public mailing list <mailto:x3d-public at web3d.org> ; Humanoid Animation (H-Anim) Working Group <mailto:h-anim at web3d.org>
Subject: Re: HAnim Schematron output sampled
Hold on! vl5 is a child of humanoid_root! There are 3 places in JohnJoint2.x3d fails the schematron, and Joe and I are now thinking the schematron/X3DUOM may be wrong.
I'm not sure if Don has a way to generate a hierarchy from X3DUOM or XML schema for HAnim-LOA4 that I can parse with perl?
Thanks!
Below edited
John
On Sun, Jan 15, 2023 at 7:46 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com> > wrote:
vl5 has parent humanoid_root rather than expected sacroiliac. No, vl5 is not a child of sacroiliac, rather a sibling, according to Joe. The standard wins!
l_sternoclavicular has parent vt1 rather than expected vc7. Schematron/X3DUOM wrong.
r_sternoclavicular has parent vt1 rather than expected vc7. Schematron/X3DUOM wrong.
I will now check XML schema.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230122/d17f6376/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5353 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230122/d17f6376/attachment-0001.p7s>
More information about the x3d-public
mailing list