Home › Forums › Software Development › Head Tracking data
Tagged: head tracking
- This topic has 22 replies, 2 voices, and was last updated 4 years, 1 month ago by
Grant [Tobii].
- AuthorPosts
- 09/05/2018 at 02:13 #8333
Austin Tung
ParticipantHi, I’m playing around with the Tobii Eye Tracker 4c, and I’m kinda new to C#.
I trying to read head tracking data, but I am unsure how. As of now I want to at least read the output values related to head location and rotation.
I would appreciate if someone could help me, and explain a few things.
Thanks,
Austin09/05/2018 at 13:41 #8335Grant [Tobii]
KeymasterHi @tungtwister, thanks for your query. Head tracking is one of several streams available via the Tobii Core SDK. I assume you are using the Interaction API?
That being the case, we have available a substantial number of sample programs included that demonstrate capturing the data received from the eye tracker, including head position information. You can download the samples freely @ https://github.com/Tobii/CoreSDK
And within the samples folder, you will find the ‘streams’ applications that should hopefully give you exactly what you need to get up and running. Please kindly try this out and don’t hesitate to let us know if you require any further assistance. Thanks.
20/05/2018 at 23:52 #8356Austin Tung
ParticipantHi,
I have a question about the head tracking data being outputted.
There are two coordinates that can be tracked, the head location and head rotation.
Both are identified on the 3 dimensional space (x,y,z).
Where are the origin points for both coordinates, and what directions are the axises x,y,z?
It is unclear what which axis x, y ,z refers too.Thanks,
Austin21/05/2018 at 16:58 #8361Grant [Tobii]
KeymasterHi @tungtwister, This graphic represents the axis should for head position and rotation, with origin 0,0,0 at the screen.
Let me know of any further questions.
24/05/2018 at 19:24 #8374Zamir Khan
ParticipantHi Grant,
The diagram provided is helpful, but I’m wondering if you can fill in some of the blanks around it:
For the position, assuming it is a translation, what are the units?
For the rotation, what does it represent and how are we to apply it? Does it represent the direction in which the user’s face is pointing? I feel like your diagram needs two separate 3D axes to show this – the original one shown in the diagram and the post-rotation axis relative to a 3D head.
Do we rotate the “head” about (0,0,0) before translating it? After?
An explanation (or even better, a code sample with visual output) would be much appreciated. Thank you!
29/05/2018 at 16:26 #8407Grant [Tobii]
KeymasterHi @tungtwister, the position is given in mm whilst for the rotation, this represents an array of three floats, for the x, y and z rotation of the head of the user. The rotation is expressed in Euler angles using right-handed rotations around each axis. The z rotation describes the rotation around the vector pointing towards the user.
You can get further details with respec to the Core SDK streams @ https://github.com/Tobii/stream_engine/blob/master/docs/index.md
There is indeed a simple program you can run to demonstrate this graphically which I will send you via PM
25/06/2018 at 16:51 #8499Peter
ParticipantThank you for the helpful illustration.
Which point of a user’s head does the data provided in the HeadPose stream resemble? Is it the center point between the eyes?02/07/2018 at 14:15 #8530Grant [Tobii]
KeymasterHi @treep, glad you found the illustration useful. The point of the user’s head in the HeadPose stream corresponds approximately to the centre of the tracked head.
Please let us know if you have any further queries.
02/07/2018 at 16:42 #8534Peter
ParticipantI appreciate the clarification and hope you do not mind me digging deeper: How do you define ‘centre of the tracked head’ physiologically speaking (glabella/ nasion/ center of gravity/ something else)?
The reason I ask is that I am using the provided data to retarget users’ head movements to an avatar. What I aim to do is represent the head movement as realistically as possible. To not add a systematic error when displaying tracked head movement, the 3d model’s head would need to be translated and turned around the correct pivot point.
03/07/2018 at 19:06 #8539Daniel
ParticipantI would also like to ask a follow-up question:
how do you know the center of the screen considering the screen can be angled with regard to the tracker. Is this something that should be totally fixed according to the way of fixing the tracker to the screen (i.e. predefined angle) or is the screen when beeing angled affecting the center of the system.
I guess what I am asking in clearer words is: Is the coordinate system just calculated on the basis of the tracker in world space or on the basis of screen/tracker relation in world space.
Best,
D04/07/2018 at 11:27 #8541Grant [Tobii]
KeymasterHi @treep, the centre of the tracked head is in fact defined at the centre of the ‘track box’ that contains the user head and so will vary from person to person (and across environment) and so therefore does not have any particular biological correspondence. In any event, it may make a realistic rendering tricky if your pivot point is at the centre. for example, a nodding action would look unnatural if the axis is centre based. You would need to make some estimations to make the head rotations (x,y,z) around the centre translate into a neck-based pivot point for a more realistic representation.
@refuzee, yes you are right in that the mounting brackets for the 4C (And other Tech Trackers) are designed in such a way to ensure the angle between the tracker and the screen is constant. Therefore any intentional changing of the angle will results in a reduction in eye trackability.Please let us know if we can be of any further assistance.
30/07/2018 at 11:58 #8660pilipala
ParticipantHi @grant , is it able to track head using the SDK for Tobii Pro trackers, such as Tobii TX300 ?
I cannot find the specifications about this subject.30/07/2018 at 13:44 #8664Grant [Tobii]
KeymasterHi @pilipala119, thanks for your query. Unfortunately, I can confirm that the Tobii Pro SDK does not include head tracking data regardless of the Eye Tracking model being used. Apologies for any inconvenience.
Please let us know if we can be of any further assistance.
09/08/2018 at 21:05 #8710Jing
ParticipantHi Grant,
Could you please PM me a copy of the program which can run to demonstrate the head tracking coordinate system graphically? Thanks.Also I want to double check that the origin point of the coordinate system to get TobiiAPI-HeadRotation(pitch yaw roll) IS at the center of Display Screen. It’s not the user’s head or the centre of the ‘track box’. And the track point of user’s head is the the centre of the “Track Box” as the TBCS shown (http://developer.tobiipro.com/commonconcepts/coordinatesystems.htm). Is this correct?
I got the SceenDisplyInfo(width, height) and HeadCoordinate(x,y,z) info correct (they matched with the measurement), but I can’t figure out/understand the HeadRotation(pit,yaw,roll) data. It seems very weird and much smaller than it should be.
I know you probably can’t let me know how Tobii calculate the HeadRotation, but I want to get the HeadHeading angle which is the user’s head rotation horizontally (the Yaw based on users’ head center or neck). If you have any suggestion or examples, please let me know.
Many Thanks
Jing10/08/2018 at 18:22 #8714Grant [Tobii]
KeymasterHi @leah, the origin point of the coordinate system to get TobiiAPI-HeadRotation (pitch yaw roll) is in fact not the centre of display screen but rather defined at the centre of the ‘track box’ that contains the user head, so hopefully this explains the values you are receiving.
Thanks for waiting whilst I track down the program for you… If you could kindly PM me with your personal email address, I will send along to you when ready. Thanks.
Please let us know if we can provide any further information for you.
- AuthorPosts
- You must be logged in to reply to this topic.