586

(7 replies, posted in General)

Wow, this is awesome!

Yes kinetics computations would be nice, but we must be careful at not giving a false sense of accuracy… Any prior art showing how accurately this can be measured from video alone compared to a ground truth would be nice.

For example the acceleration is usually very approximate. We tested against the gravity ground truth by tracking a falling ball, and you have to have a very controlled environment to get correct results.

At the moment you cannot export speed and acceleration simultaneously on the same graph. I don't think having two different paths would help, you'll see the two trajectories in one graph, but still only one graph for each kinematic value. This would probably require a dedicated exporter with some options because some people will want the data sources in columns and others will want the type of data in columns.

588

(35 replies, posted in General)

getpa wrote:

detected issue nr 1: win32 Version has no support for the PSeye. (V26 win32 has no issues there)

I can't reproduce this at the moment. I can still see and open the PSEye camera on the win32 version (definitely not working on the x64 version as the driver is win32 only).

Do you not see it at all or do you see the "No camera found" placeholder image from the driver?
Can you check the log and search for "PS3Eye" to see if there is any error related to opening but not being able to connect to the camera?

589

(35 replies, posted in General)

So if you put a line somewhere it's in centimeters according to calibration but the speed measurement on the trajectory is in pixels/s?
Is it on a brand new file or re-opening a file that you already calibrated in the previous version?
Are you calibrating using a line or a grid?
What if you go to menu Tools > Linear kinematics, is the speed in px/s there too?

For the bandwidth we use this general formula:

BW in megabytes per second = (width * height * bytes per pixels * frames per second) / (bytes per megabyte)

The bandwidth in uEye cockpit camera properties ("Average bandwidth") is the bandwidth between the camera and the computer. The one limited by the physical interface like the USB cable.

The bandwidth in Kinovea is the bandwidth between the camera API and the recording module.

For color cameras, the camera sensor captures a Bayer image which is a grayscale image but each pixel has a small color filter in front of it. The image then needs to be converted (aka: debayered or demosaiced) to produce a color image.

In uEye cockpit > camera properties > Image, you can set whether this conversion happens directly on the camera hardware (if supported), or in software, which means on the PC side.

So for a color camera using "software" debayering, the bandwidth in uEye cockpit will be reported as for grayscale images since this is what transit between the camera and the computer, whereas the one in Kinovea will be reported as for color images since the images provided by the API are already converted.

For the example of using 1280x1024 at 60 fps.

  • Mono 8 : (1280*1024*1*60)/(1024*1024) = 75 MB/s.

  • RGB 24 : (1280*1024*3*60)/(1024*1024) = 225 MB/s.

  • RGB 32 : (1280*1024*4*60)/(1024*1024) = 300 MB/s.

Note: Some vendors use 10^6 bytes per megabyte, IDS and Kinovea use 2^20 bytes per megabyte.

OK, I'll be adding a slider for pixel clock as soon as possible, sorry for the oversight. The default value is not the max possible and thus it restricts the selectable framerates. I'm not sure how that default value is computed.

It also looks like they have the dependency between framerate and exposure in the other way compared to other manufacturers, and I think their way is better. You set the framerate and the exposure is automatically constrained and capped to the reciprocal of the framerate. Other vendors do it the other way around and it confuses a lot of people that the framerate they set is not respected.

Very cool thanks. I'll make some more tests with mine and report.

Some quick notes.

You'll need to set the exposure to less than 16 666 µs for the 60fps. It will become darker indeed. You might need to add lights if you are indoors and increasing the gain creates too much noise.

Yes when you reduce the frame size it crops the image rather than resize it. It's the way these "industrial" cameras work, unlike regular webcams. The nice thing about this is that you can access much higher framerates by reducing the size. Usually it's only when you change the height that you can get the new framerates due to how the sensor is read out. The new values might only be available after you apply the changes and re-open the configuration dialog.

I'll double check the pixel clock setting and what it does under the hood.

593

(35 replies, posted in General)

This is Kinovea 0.8.27.
This version introduces image rotation and a host of usability improvements in drawings and measurements.


1. Player

Image rotation

The player now supports rotation of the input video by 90°, 180° or 270°. Videos that have been filmed in portrait mode on a handheld device should be automatically detected from their metadata. You can also force the rotation from the menu.

http://www.kinovea.org/screencaps/0.8.27/0827-imagerotation.png


2. Annotations

Copying and pasting objects

It is now possible to cut, copy and paste drawings around.

http://www.kinovea.org/screencaps/0.8.27/0827-clipboard.png

Once a drawing is copied, you may paste it in the same video or in another video in Kinovea, but not outside Kinovea. It will not use or interfere with the Windows clipboard.

The pasted drawing will retain the shape and style of the original and will be given a new name.

You can also paste images from the Windows clipboard directly as Image objects.

Labeling things

The text tool was somewhat lacking in usability. It is now created directly as a ready-to-use object with its name as the value and the editing mode has a similar styling than the normal rendering mode.

All text objects have a new secret arrow that you can show and adjust to create a pointing label.

http://www.kinovea.org/screencaps/0.8.27/0827-texttool.gif

As an alternative, the measurement objects like lines, markers, trajectories and circles now have the option to show their names in the mini label attached to them.

http://www.kinovea.org/screencaps/0.8.27/0827-linename.png

Styling

The style of arrows and squiggly lines was a bit broken and has been improved.

http://www.kinovea.org/screencaps/0.8.27/0827-arrows.png

It is now possible to select an existing drawing and set its style as the default style for all drawings of this type. This makes it much easier to quickly change the default style of a certain tool.

http://www.kinovea.org/screencaps/0.8.27/0827-setstyleasdefault.gif

Rectangle tool

Simple but always useful to draw attention to something, the rectangle tool is a newcomer to this version.

http://www.kinovea.org/screencaps/0.8.27/0827-rectangle.png

Custom tools debugging

Designing custom tools is not an easy task so a special rendering mode was added to show the various components of the custom tool as it is being worked on.
This is a global option and can be changed under menu Options > Preferences > Drawings > General > Custom tools debug mode.

http://www.kinovea.org/screencaps/0.8.27/0827-customtooldebug.png

Middle mouse moving

It is now possible to use the middle mouse button for panning around when zoomed or moving objects while a tool is still active. Previously you would have had to deselect the tool in order to pan or adjust an existing drawing.

3. Measurements

Precision cursors

The precision cursors have been improved and moving an existing drawing now uses the precision cursor instead of the opaque "closed hand" cursor as in previous versions.

Circle tool

The circle tool has graduated from being a descriptive object to being a measurement object. You can now display the coordinates of the circle center, its radius, diameter or circumference, all based on the current calibration.

http://www.kinovea.org/screencaps/0.8.27/0827-circle.png

The circle tool is "perspective aware" so it will display correctly (as a rotated ellipse of the correct size) when the perspective grid calibration method is used.

http://www.kinovea.org/screencaps/0.8.27/0827-perspectivecircle.gif

Archery tool redesign

The archery tool was redesigned to leverage recent changes in the custom tools framework.

http://www.kinovea.org/screencaps/0.8.27/0827-archery.png

4. Capture

Delay modes

The Mosaic compositing system introduced in version 0.8.25 was simplified and renamed "Delay mode". It now only supports the most important use cases of live delay, live slow motion and the quadrants view. The slow motion mode is now showing a countdown to the reset of the live stream for when the delay buffer will need to catch up to real time.

http://www.kinovea.org/screencaps/0.8.27/0827-delaymodes.png

Mirror

Mirroring the image is now supported in the capture screen via the menu Image > Mirror. Note that this is implemented at the display level only. It will not have any impact on frames recorded using the "Camera" mode of recording which takes frames directly from the camera and save them as-is (see Options > Preferences > Capture > Recording).

5. Feedback

Feel free to use this post for feedback, bug reports, usability issues, feature suggestions, etc.

Hi,
The fact that you mention a drop down makes me think you are using version 0.8.15, can you try in 0.8.26 and see if it works there? The way to select cameras has changed by the way, there is a new tab on the main explorer/window with the list of cameras.

Also, make sure you close their viewer before trying it in Kinovea as the link with the camera is exclusive.

Hi,

There is currently no tool for measuring an area in Kinovea.
I was also thinking about this recently while updating the tools for the next version.

I was thinking about a drawing tool where you "paint" an area and then you can right click that shape and make it show the measured cm² or whatever based on calibration. This way you could draw exactly the silhouette of the person.

I think what you are mentioning is to discard all pixels that are similar enough to a given hue and count the rest. That might be simpler to use if the room can be set up this way. I'm not sure how accurate that will be though, there will always be missed pixels in the background and false positive in the foreground.

The advantage of the green screen method is that it could be dynamic for free, whereas the painted area would only work for a single frame and you would have to edit it after each change of posture. The drawback of the green screen method though is that it doesn't readily fit in the tool framework and the player pipeline so it will complicate the architecture.

So far there is no clear path. Are you or anyone aware of other software that provide that type of area measurement feature (and that are not using a depth camera to do so)? Can the green screen approach be mocked up in Photoshop or something to see how accurate it would be and what is influencing the results precision?

Thinking of it a bit more, key images are the best way to set time marks. So it would be interesting to be able to right click on a key image and say "set as time origin", forcing the timing information to be relative to this point, like for the synchronized videos. Then a simple tool showing the current time would fill the need. It seems all the mechanisms are already existing. Except for the remaining UX difficulty to be able to flexibly set start/end visibility points.

I agree it would be interesting and useful to have this feature with negative time.

Right now I'm not satisfied with how the stopwatch works and at some point I'll attempt to improve it.

To better understand the way it works internally consider that it has a "visibility start" and "visibility stop" and it has a "counting start" and "counting stop". The "counting" segment is always nested inside the "visibility" segment. The countdown mode is simply "inverting" the value of the counting.

The shortcomings at the moment is that you can't move the "visibility start" point, so once you put a stopwatch on the video it can never be moved back to an earlier point. And you can only move the "visibility end" point backwards in time with the "hide" menu.

I am trying to think of a way to make it more flexible.

The system you describe with the countdown going on in the negative makes me think that this would be better suited for a new tool that would let you set a single point in time, rather than a segment in time.

There is also another time tool that is missing, one that allow the measuring of several segments in a row, with or without gaps between them.

Another interesting one would be a "cyclic timer" tool that counts to a given time and auto-resets and starts counting again.

598

(6 replies, posted in Bug reports)

I reviewed this and I still think it's a 32bit/64bit issue.

It looks like they never released 64bit version of their drivers, so it only works when called from a 32 bit application.

The CL-EyeTest.exe application is 32bit.

They mention it supports x86 and x64 but that's because you can always run a 32bit application on an 64bit system so technically it "supports" it.

Users of other softwares like OBS or Chrome have reported the same problem. Only works with the 32bit variant of the host application.

599

(8 replies, posted in Bug reports)

Hi,

I have addressed the following points for the next release:

1. Position of the text for angles

There is now a "textDistance" attribute on the angle node.

<Angle origin="1" leg1="2" leg2="3" signed="true" ccw="true" supplementary="false" radius="0" textDistance="40" tenth="true"/>

2. Double constraint fixed length + rotation steps.

The rotation steps constraint now has an attribute "keepDistance" that will force the point to stay at the same distance from the origin. I think it still didn't make sense to have a full multi-constraints system, as this was the only meaningful combination of two constraints.

<Constraint type="RotationSteps">
        <RotationSteps origin="1" leg1="0" step="5" keepDistance="true" />
</Constraint>

Note that the existing "DistanceToPoint" constraint supports the SHIFT modifier that forces segments to lock onto 45° steps. This is supported out of the box and doesn't need any specifics in the tool file.

3. Completely locked points.

There is now a "LockedInPlace" constraint that will simply ignore the applied motion.

<Constraint type="LockedInPlace" />

In addition to that, there is now a debug mode for the custom tools. It will be available from menu Options > Preferences > Drawings > General, check box "Custom tools debug mode". It will show the points ids, the segments ids and names, and angles ids and parameters. Counting starts at 0.

http://www.kinovea.org/screencaps/0.8.27/customtooldebug3.png

600

(16 replies, posted in Cameras and hardware)

Does it still crash if you set the following: Preferences > Capture > General > Display synchronization, set to Forced framerate and value to 25 or 30.