76

(4 replies, posted in Bug reports)

Very interesting. So maybe it's the file explorer thing that's blocking everything for certain people. This part of the code is based on some truly ancient Windows APIs.

Do you have network drives bound to drive letters? Or some other slightly atypical things that might trip it up?

77

(4 replies, posted in Bug reports)

There have been several similar reports over the years but unfortunately I've never been able to reproduce it, so I don't know what to investigate. I have tested on several Windows 11 machines including a fresh install and never got the problem.

I'm not sure if this would work but assuming there are landmarks on the rail tracks or pylons that are equally spaced, one way might be to use the counter tool and mark one beat each time the pylon gets out of view.

Right now the counter tool data doesn't get exported in the spreadsheet export… that's an oversight. You could do the same adding a full key frame at each landmark crossing event. Then in the spreadsheet you would need to multiply the frame index by the distance between the pylons and that should give you a distance/time series that you could do further calculations on.

Thanks, I reproduce the problem. I'm not sure what's going on.

80

(5 replies, posted in General)

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.

This is the documentation draft for the page "Measuring repetitions and cadence" of the manual.

The first post contains the documentation that will be synchronized with the manual and you can post comments to add feedback or discuss points that are unclear.

-----------------------
Introduction

To count the repetitions of a cyclic activity use the Counter tool.

https://www.kinovea.org/screencaps/doc-drafts/counter/counter-tool.jpg

This tool lets us annotate cyclic activities: running strides, weight lifting repetitions, rotations in acrobatic sports, swimming strokes, etc.

Counting

Having added a counter to the video mark one repetition by using the menu Action > Add beat, or the shortcut key F7.

https://www.kinovea.org/screencaps/doc-drafts/counter/counter-count2.jpg

A typical procedure to annotate a cyclic sport is to reduce the playback speed and use the shortcut key to mark the cycles on the fly while the video is playing.

Displayed metric

The following metrics are available via the Label menu.

https://www.kinovea.org/screencaps/doc-drafts/counter/counter-labels.png

- Count: the current count. This can be configured to start at zero or one in the Options.
- Reverse count: this can be interesting to recount steps before an event, for example steps before take off in jumps.
- Cadence (instantaneous): the instantaneous frequency of the current cycle. That is, the reciprocal of the duration of the cycle (when the playback cursor is between two beats).
- Cadence (average): the number of full cycles divided by the time between the first and last beat.
- Period (instantaneous): the duration of the current cycle.
- Period (average): the average duration of full cycles between the first and last beat.

Accuracy of metrics

Note that the accuracy of the the "Period (instantaneous)" and "Cadence (instantaneous)" metrics is greatly affected by the frame rate of the video. The random error is up to half a frame interval on each side of the cycle.

On the other hand, if only the average cadence over a long period is required, it is not necessary to be frame-perfect on the intermediate cycles since only the total number of cycles over the period will be used for the calculation.

Cadence units

Each sport tend to count things differently. Cycling will typically count one for a full pedal revolution and measure that in revolutions per minute, while sprinting will count one for each step and measure it in steps per second.

By default the cadence unit is the Hertz (number of cycles per second) which is the most generic unit possible for frequency.

To set the displayed unit to something more appropriate for your application go the main menu Options > Preferences >  Drawings > Units > Cadence.

https://www.kinovea.org/screencaps/doc-drafts/counter/counter-units2.png

The following units are available:
- Hertz (Hz) - default unit.
- Cycles per second
- Cycles per minute
- Steps per second
- Steps per minute
- Strokes per second
- Strokes per minute
- Revolutions per minute

Note that Kinovea doesn't know if you are marking full cycles or half cycles, so you need to add beats in accordance to what you want to measure.

Tip
If the video is in slow motion don't forget to calibrate the time axis. See Measuring time.

Display options

The following toggles are available

https://www.kinovea.org/screencaps/doc-drafts/counter/counter-options.png

- Show label: this will show the name of counter object as an extra label above the value.
- Locked: when this is enabled this counter object will not listen to the F7 shortcut key.
- Zero-based numbering: if this is enabled the first beat displays a value of zero, and displays one only at the end of the first full cycle. This does not affect calculations.
- Half: when this is enabled the counter object will halve its value compared to the number of cycles that were annotated.
- Double: when this is enabled the counter object will double its value compared to the number of cycles that were annotated.

Locking the counter is important if you want to count several processes on the same video using the live annotation approach. Run through the video once for a counter, lock it, then run through the video again for another counter, lock it, and continue this way, with always having only one counter listening to the shortcut.

Using half or double can be useful when the metric of interest is for example single strokes but it is easier to count full cycles on the video footage. For example in swimming, counting one when the same arm goes into the water.

This is the documentation draft for the page "Lens calibration" of the manual.

The first post contains the documentation that will be synchronized with the manual and you can post comments to add feedback or discuss points that are unclear.

-----------------------
Introduction

Lens calibration is the process of calculating the internal parameters of the camera used to film the video. These include the field of view and distortion of the lens.

Lens calibration is currently used in two aspects of Kinovea:
- For measurements and display, the distortion is taken into account and coordinates are rectified before they are passed to the spatial calibration.
- In the Calibration validation dialog, to calculate the camera distance and measure the error of points that are outside the plane of motion. See Calibration validation.

https://www.kinovea.org/help/en/_images/distorted-coordinatesystem.png
Barrel distortion exposed by a GoPro action camera and the default coordinate system after lens distortion calibration.

Lens calibration is compatible with both line calibration and plane calibration. The coordinate system, lines and grid objects are drawn distorted to follow the distortion. The images themselves are not rectified.

Lens calibration procedure overview

Here is an overview of the lens calibration procedure
- Film a calibration pattern with the camera to be calibrated
- Open the calibration video in Kinovea
- Open the dedicated lens calibration mode
- Run the automated lens calibration
- Save the resulting data to a file
- When analyzing videos filmed with the same cameras, load the saved lens calibration profile

Calibration pattern

You can find a pattern here: https://github.com/opencv/opencv/blob/m … g?raw=true

Note:
The linked pattern image states that it is a 9x6 pattern because it's only counting the internal corners instead of the actual squares in the grid. Inside Kinovea the configuration dialog assumes the number given is the number of squares, so this pattern is referenced as a 10x7 pattern. Always count the number of squares to make sure the algorithm knows what to expect.

Guidelines for filming the pattern
- Film the pattern for a few seconds from various angles
- The dedicated mode is only available when images are cached so don't make the video too long
- When filming make sure the entire pattern is visible at all time, about a quarter of the image size
- Don't move too fast to avoid motion blur
- You don't have to print the image, just display it on a flat screen or a tablet
- The physical size of the filmed pattern doesn't matter
- You can either move the camera or move the checkerboard pattern, it doesn't matter
- You can use a different checker board pattern as long as you adjust the parameters in the configuration

https://www.kinovea.org/screencaps/doc-drafts/lens-calibration/lens-calibration-video.jpg

Open the lens calibration mode

Load the video of the calibration pattern in Kinovea.

Open the lens calibration mode using the menu Video > Lens calibration. This mode is also available from the menu Tools > Lens calibration > Lens calibration mode.

https://www.kinovea.org/screencaps/doc-drafts/lens-calibration/lens-calibration-mode-menu.png

Note: this will only be available when the video is short enough to trigger the “cached” mode (or
enough cache memory is allocated).

Run lens calibration

Right click the background and select menu Action > Run lens calibration.

It will show a progress bar while it calculates the parameters. When the calculation is complete it will paint the corners it has found on the checker board and display the results in the top left corner.

In this mode the player only shows the few frames used to perform the computation. Navigate the video and inspect the result. The colored patterns shows the detected corners and the reprojected corners based on the calculated calibration. There should not be any large divergence between the two.

Here is an example of a bad result due to poor lighting and motion blur on several frames
https://www.kinovea.org/screencaps/doc-drafts/lens-calibration/lens-calibration-bad.jpg

Lens calibration configuration

The algorithm can be configured by right clicking in the background of the video and selecting the menu Configuration…

https://www.kinovea.org/screencaps/doc-drafts/lens-calibration/lens-calibration-configuration.png

- Max images: number of images used for the computation
- Pattern size: the number of columns and rows of the checker board pattern to detect in the images. This must match the images
- Max iterations: number of iterations used by the optimization loop.

Save the data

Once you are happy with the result save the calibration data to a file by using the Save calibration data… menu.

Give it a descriptive name and save it preferably under the CameraCalibration folder in the Application Data folder of Kinovea to make it directly available as a menu in the program.

https://www.kinovea.org/screencaps/doc-drafts/lens-calibration/lens-calibration-mode.jpg

Load an existing calibration

If you have saved the calibration file in the Application data under the CameraCalibration folder, it will appear in the Tools > Lens calibration menu. Pick the calibration corresponding to the camera used to film the current video to load the data.

https://www.kinovea.org/screencaps/doc-drafts/lens-calibration/lens-calibration-menu2.png

If you saved the lens calibration file elsewhere you may load it manually using the Import menu.

https://www.kinovea.org/help/en/_images/distorted-coordinatesystem-plane.png

! Note
Any change of camera model, lens, or configuration options involving image resolution or zoom requires a new calibration procedure.

83

(14 replies, posted in General)

OK, so instead of cluttering the original post and duplicating the work of writing documentation I've decided to make dedicated threads for each feature/topic based on the documentation pages and I'll point the OP to these topics. Hope these will be useful to get feedback about the documentation itself (typos, clarifications needed, etc.).

This is the documentation draft for the page "Annotating videos" of the manual. (Generalities about the UI, there are other more detailed pages for the tools).

The first post contains the documentation that will be synchronized with the manual and you can post comments to add feedback or discuss points that are unclear.
-------------------------------------

Introduction

Annotation tools are used to add drawings, text and images to the video. Some tools can also be used to measure times, angles or distances.

Drawings are attached to a specific key image. Deleting the key image deletes all the drawings attached to it.

Drawings are vector-based: they can be modified after they have been added to the video.

Drawings have a context menu that can be used to access tool-specific functions, copy and paste, and deletion.

Background layer

The background layer sits between the video image and the drawings. It can be used to make the drawings more visible against the video or, at full opacity, show only the annotations and trajectories on a plain background.

To change the background layer color and opacity right click in the background of the video and choose Background… This option is also available in the main menu Tools > Background…

https://www.kinovea.org/screencaps/doc-drafts/annotating-videos/background-opacity.jpg
Ankle trajectory during a standing double back flip.

Tool bar

The tool bar is found under the main viewport.

https://www.kinovea.org/screencaps/doc-drafts/annotating-videos/toolbar.png

There are more tools than those immediately visible. Buttons with a small arrow in the top-left corner contain other tools that can be accessed by doing a right click or a long click (click and hold) on the button.

https://www.kinovea.org/screencaps/doc-drafts/annotating-videos/tools_notch.png

General tools

Hand

The hand tool is used to manipulate drawings or pan the whole image. To stop using a particular tool and come back to the hand tool use the Escape key or click the hand tool button.

Tip
You can also use the middle mouse button to directly manipulate drawings without changing back to the hand tool.

For presentation purposes the hand tool can use a large image instead of the normal cursor. To enable this mode go to the main menu Options > Pointers, and select a pointer from there. This list of image-based pointers can be customized by adding new images to the "Pointers" directory under application data.

https://www.kinovea.org/screencaps/doc-drafts/annotating-videos/pointer-big-hand.jpg

Add a key image

Adds a new key image at the current time.

See also: Key image management.

Show comments

The show comments button opens the side panel at the key images and comments tab, which lets you change the key image title, color, and add comments under the thumbnail.

https://www.kinovea.org/screencaps/doc-drafts/annotating-videos/keyimages.jpg

See also: Key image management.

85

(0 replies, posted in Documentation drafts)

This is the documentation draft for "Kinogram mode"

The first post contains the documentation that will go in the manual and you can post comments to add feedback or discuss points that are unclear.
---------------------------

Introduction

The Kinogram mode is used to display multiple images of the video at the same time. It is useful to create single-image summaries of the motion.

The two main use-cases for Kinograms are the full decomposition of the motion, typically using a large grid at regular intervals (fig. 1), and  the creation of reports highlighting the posture at standard key moments of the motion, using fewer images at non regular intervals (fig. 2).

https://www.kinovea.org/screencaps/doc-drafts/kinogram/kinogram-mahuchikh.jpg
Fig 1. Example of full decomposition

https://www.kinovea.org/screencaps/doc-drafts/kinogram/kinogram-baseball.jpg
Fig. 2. Example of key points

To enter the Kinogram mode, use the menu Video > Kinogram. To exit the Kinogram mode right click in the image background and use the menu Exit Kinogram. Alternatevely, use the exit button at the top right of the playback screen or select another video mode.

Tip
The Kinogram mode is only enabled when the entire working zone is cached in memory. To change the amount of memory used for the cache go to Options ‣ Preferences ‣ Playback ‣ Memory.

General
When the Kinogram mode is activated the main viewport displays a collection of frames taken from the video, by default spaced at regular intervals.

The playback controls are still active and the current frame is highlighted in blue. The drawing tools can be used to add annotations on top of the composite.

https://www.kinovea.org/screencaps/doc-drafts/kinogram/kinogram-furlani-annotations.jpg
Fig. 3 Annotations on top of Kinogram

Tip:
The Kinogram viewport is at the same aspect ratio as the original video, but the result can be saved at higher resolution and will not include the empty areas outside the Kinogram itself.

Adjusting the content of the cells

Using the left mouse button drag the tiles around to select which part of the original image should be displayed inside a particular cell.

To adjust the time reference of a cell, use ALT key and scroll backward or forward with the mouse wheel while hovering above the cell.

Parameters
The parameters of the Kinogram can be controlled by using right click and selecting the menu Configuration…

https://www.kinovea.org/screencaps/doc-drafts/kinogram/kinogram-configuration.png

- Table : The number of columns and rows of the Kinogram.
- Crop size : the size of the area of the original images extracted into the cells of the Kinogram.
- Border color : Color of the border between the cells.
- Label color: color used for the time or frame number labels.
- Label size: font size used for the time or frame number labels.

Tip:
All options in this dialog change the Kinogram in real time, except for the crop size. Use the Apply button to integrate crop size changes without quiting the configuration dialog.

Toggles
Other options are available via the Options menu.
https://www.kinovea.org/screencaps/doc-drafts/kinogram/kinogram-toggles2.png
- Right to left : Enable this if the athlete is moving right-to-left. This configures the Kinogram to use the top-right cell as the first cell and progress right to left for each row.
- Show border: whether to show the outline of the cells.
- Auto-interpolate: when this option is enabled dragging the cell content will automatically interpolate the neighboring cells to match the motion. If this is disabled you can still trigger it manually by using the menu Action > Interpolate tiles.

Information labels
Small labels giving information about each cell can be shown by using the Labels menu.
https://www.kinovea.org/screencaps/doc-drafts/kinogram/kinogram-labels2.png
- Clock: shows the time of the image in the cell, taking into account the time origin and scale if configured.
- Frame number: shows the cell index within the Kinogram.

The labels can be moved around by dragging. To move all the labels at once, use the SHIFT key while dragging them. This is typically used to move all the labels to a particular corner of their cell.

To reset the labels to their default location use the menu Action > Reset label positions.

tip:
The time shown uses the global time code format option, you can change this from menu Options > Time.

Saving

The Kinogram configuration is saved as part of the KVA file (menu Save annotations…) and will be restored when the video is opened again.

To save the Kinogram image itself use the menu "Save image" in the context menu of the Kinogram. This will ask for the output image size. Since the Kinogram is a composite of images of the original video you may save it at a larger resolution without loosing quality.

86

(14 replies, posted in General)

At what point did it fail? when starting? Do you see the splash screen at all?

87

(3 replies, posted in Français)

Il n'y a pas de son.

88

(3 replies, posted in Français)

Bonjour,
Si vous allez dans l'onglet des caméras depuis l'explorateur à gauche est-ce que vous voyez la vignette de la caméra ou pas?

89

(14 replies, posted in General)

I'm back from a week in Barcelona where I was with the ChronoJump team (if you like Kinovea check them out, it is an open hardware project with open source software for all kinds of sports related measurements).

Since I was preparing the trip I didn't really have time to explain in more details the new features of this version and how to use them, I will update the original post progressively.

While in Barcelona I met with several users and these discussions were very productive for me to understand some issues with the program and how to make it better. So if you have things you feel could be done more efficiently or long standing annoyances don't hesitate to mention them here, that's how the program evolves.

90

(5 replies, posted in General)

Right now it's not possible to change the font size for the little measure labels of lines or markers objects, I'm going to address this asap as part of a refactoring of the styling system.

edit: this will be in the next version.