1

Hi,

I have been dealing with one problem for a long time - the multipurpose use of the "Track path" function. Thanks to this function, it is possible to track the selected point accurately. During the analysis, it is essential to set the object and search window correctly, the windows are visible with this function during tracking.
Unfortunately, I don't know how to avoid redundant tracking of the same point when using other tracking functions - for example angle, line, ..., for which the comfort of tracking is significantly worse (windows are missing, it is necessary to track and correct several points at the same time).
How to ensure the location or sticking of the tracked point to an already existing tracked path?

Thanks for the advice and help, and also for the great work on Kinovea.

2

Yes, this has been a problem for a long time and I want to address it.

There are two directions: 1. improving tracked drawings interface to have the same utilities as the trajectory, and 2. being able to convert multiple trajectories into a single drawing. The second one is interesting but feels much more complex in terms of logistics. The first one is important to have anyway, so I think it will start in this direction.

One of the next things I intend to do is move the drawings' configuration dialog to the new right-hand side panel and it looks like the tracking configuration for drawings and trajectories could be moved in a tab there as well.

It will probably always be necessary to correct multiple points at the same time since the tracking might fail only for one tracked point of the drawing.

3

Thank you for your reply. I'm glad that at least it's not my fault and this function is simply not supported yet smile

My suggestion is to display a list of tracked trajectories and have them assigned to functions that use tracking. It would not be necessary to track the same point again, nor would new trajectories be created.

In my opinion, the most efficient way of creating trajectories is to do them one by one (if there is a risk of losing the tracked marker) with the help of windows functions. Having multiple trajectories in one place is a bit less practical.

I look forward to further improvements to an already great program.

By the way, is version 2024 still beta? It is not yet published on the Kinovea website.

Thanks and have a great day.
Jan

4

So if I understand correctly you would rather track every joint independently with the trajectory tool and then later be able to bind say an angle object's points to these trajectories. Something like creating a new angle object and having an "Attach to trajectories" menu where you can assign each point to one of the existing trajectory objects. Does that sound correct?

This might be simpler to implement than the full conversion between object types I was thinking about. Ideally this mapping would be temporary so that you could assign the angle object to another set of 3 trajectories.

What should happen if the selected trajectories don't have the same start/stop frames? I imagine the angle would just keep the last known value for each point.

I guess with this approach it would also be interesting to leave one or two points unassigned or assign them to a static marker. In any case it must work in the case the bound trajectory object is deleted at some point.

Version 2024.1 is in the phase where it's published but I'm waiting a bit to see if someone reports a catastrophic bug before setting up the main page link.

5

Exactly, I think that tracking individual joints / markers separately with the help of the existing function is more efficient and clear.

I'm using the angle function as an example, but I think all functions that use tracking should work the same way.

What to do in case of different start/stop events? Leaving the last known position sounds good.

As a variant of the solution when the original trajectory is lost or deleted, it could be taking over (copying) the positions of the trajectory into the trajectory of the angle. This would create two trajectories in the same position, but independent of each other.

I look forward to any further improvements and thanks for the great work.

6

I think the most pressing issue is that when tracking drawings we don't see what's happening and there is no way to configure the tracking parameters. This has been a problem for too long and it's time to address it.

This is my current tentative roadmap/priorities regarding tracking improvements (these may or may not make sense, more personal notes than anything)

Roadmap
1. Move tracking configuration to a new tab in the side panel.
2. Have a visual feedback of the tracking always visible in this panel.
3. Have an option to keep the trajectory alive and recover when tracking fails for a few frames (occlusions).
4. Make it possible to configure and visualize the parameters of each tracked point of drawings in this same panel.
5. Make it possible to display the individual trajectories of the tracked points of drawings.
6. Implement new tracking algorithms for round markers and for "quadrants" markers (2x2 checker board pattern).
7. Implement new style option to see the trajectories as a series of points.
8. Implement "onion skinning" for segments of tracked drawings, to see multiple positions at once.

Now a system to attach trackable points of a drawing to existing trajectories would come after this, depending on feedback. At that point the purpose of this would be to support the workflow of tracking individual points one after the other instead of all at once. But I feel the quest for this workflow is mainly a consequence of the current system not being robust nor user friendly enough.

I think points 4 and 5 will alleviate most of the pain of tracking drawings.


I also want to distinguish (at least in my mind) between the two contexts in which we do tracking.

1. Tracking for visual feedback (qualitative)
- typically without any well defined plane of motion or impossible to calibrate.
- typically markerless.
- may or may not have camera motion.
- trajectories might be very complex in 3D space.
- lots of occlusions and unclear positions, motion blur.

Use cases: pretty much everything filmed in the field, tv footage, golf/disc golf shot tracing, track and field, gymnastics, dance, etc.
Tools: pattern matching, ball tracking, human pose estimation, spline tool.

2. Tracking for measurement
- typically with a very well defined plane of motion perpendicular to the camera axis.
- joints positions identified by markers.
- static camera.
- 2D motion only.
- limited occlusions.

Use cases: gait analysis, posture analysis, biomechanics studies, bike fit.
Tools: round marker tracking, quadrants marker tracking, 6DoF tracking.