Difference between revisions of "Application Settings: Live Reconstruction"

Line 18: Line 18:
If you want to dedicate real-time resources to 2D recording, turn this one off. Just remember that you will need to reconstruct later. Another use case for this could be when you have numerous cameras or markers and the data coming in is just too much for the computer to handle. [[#top|↑]]
If you want to dedicate real-time resources to 2D recording, turn this one off. Just remember that you will need to reconstruct later. Another use case for this could be when you have numerous cameras or markers and the data coming in is just too much for the computer to handle. [[#top|↑]]

Revision as of 05:27, 25 August 2014

Reconstruction properties pane

Back To Main Motive Reference Page

The Reconstruction Pane contains all the settings to modify the 3D Point Cloud parameters. You will find that this pane is used most often during Live, 2D playback and when trajectorizing a take.


The Point Cloud is the engine that converts two dimensional coordinates into three dimensional points in space. As the frame data is sent to the host PC the information is processed and the final outcome is a three dimensional trajectory. Restrictions can be set for this engine's parameters to modify the resulting trajectories. An understanding of these parameters is can help in getting good data.

Enable Point Cloud Reconstruction

Default: ON

This toggles real-time 3D reconstruction on and off.

By turning this off, you will notice that 3D points will no longer update in live and will appear to remain in place. However, by turning reconstruction off you can improve system performance on machines with less powerful processing capabilities.

If you want to dedicate real-time resources to 2D recording, turn this one off. Just remember that you will need to reconstruct later. Another use case for this could be when you have numerous cameras or markers and the data coming in is just too much for the computer to handle.


Residual (mm)

Default: 10.00 mm

The residual sets the maximum allowable distance between rays contributing to a single 3D point.

If you are working with smaller markers, then set this lower. On the other hand if you're working with larger markers, set this higher. A starting point is to set this to the diameter of the smallest marker you're using and go down from there until you start seeing ghost markers. The ghost markers can appear on larger markers if this is set to low. If you're working with 3 mm and 14 mm markers in the same volume, make sure to set this for the 3 mm markers instead of the 14.

Two figures are shown to the right to illustrate the affect of the residual. In Figure 1 the residual is set appropriately and in Figure 2 the residual is set low enough to have several cameras dropped from the markers reconstruction, shown by the Untracked Rays (Purple Lines) as opposed to the Tracked Rays (Blue Lines). So the residual can act as a flag to prevent cameras from contributing rays that are not within tolerance. Be careful, the untracked rays could be close enough to create a ghost marker. Make sure that when you set the residual low that you have a high Tracked Ray to Untracked Ray ratio and that your Minimum Rays is set appropriately.

It also can be viewed as the minimum distance that two markers can be from each other before their rays contribute to a single markers. If two markers have a separation distance smaller than the residual (in mm), only one marker can be reconstructed, which is undesirable because you really want rays to contribute to each marker. Remember that for a 3D point to be reconstructed, it needs to have a least 2 rays contributing and more if you increase the "Minimum Rays" setting.

If your calibration is not very good, you may need to set this higher because rays contributing to a single marker will have higher separation distances. This can only be pulled off if your markers are further apart in the 2D views throughout the given marker motion. This is because there is more errors in the system. However, you should always work with a calibration with minimal error.

Minimum Angle (degrees)

Default: 5 degrees

The minimum number of degrees (from the marker's point of view) that must separate two cameras to consider both camera's rays valid for marker reconstruction.

Ideal reconstruction, if you only had 2 cameras, occurs when the two cameras are 90 degrees apart from the perspective of the marker(s) being captured.

If you are working with a small number of cameras that are separated evenly around the capture volume, set this lower. On the other hand, if you have numerous cameras, and some very close together, you can set this a bit higher to get rid of contributing rays that are coming from the cameras that are close together. The reason you would want to do this is that there is higher error in 3D reconstruction from rays that are coming from very close cameras, but can only be achieved with good, overall camera coverage. If you have two cameras that are close together on one wall and another camera on an adjacent wall, then this could be set lower so the close cameras add to the contribution.

Minimum Rays

Default: 2 rays

This sets the minimum number of cameras that must see the marker for it to be reconstructed.

At least 2 cameras need to see the marker for it to be reconstructed. If you have 4 cameras and set this to 4, all cameras must see that marker for it to reconstruct. Generally, you don't need all cameras to see a marker . Keep in mind that this setting could be used to get better results as the more rays that contribute, the more accurate the 3D reconstruction. Having a higher value comes at a disadvantage though, as now your affective capture volume will likely decrease.

If you have a lot of cameras that see a marker, you can safely set this higher to get rid of ghost markers. Generally ghost markers usually only come from 2 or 3 rays that happen to connect. If you have 20 cameras and they all see a large portion of your capture volume than you can set this to 10 or more to eliminate pesky ghost markers. If a marker is only seen be 8 camera in a part of the volume, it won't reconstruct, so be careful setting this higher.

Minimum Ray Length (m)

Default: 0.2 m

This sets the minimum distance a marker can be from the camera for the camera to contribute to the marker's reconstruction. If you are getting ghost markers close to the cameras you can increase this setting to get rid of those but if you actually have markers getting close to the camera lens then you will need to decrease this. Remember that this setting is specified in meters.

Maximum Ray Length (m)

Default: None, the calibration solver will give a suggested value based on the wanding. But this can still be set by the user after calibrating.

The maximum distance a marker can be from the camera and still be used for 3D reconstruction. In very large volumes with higher resolution cameras, this value can be increased to allow for more camera contributions to the position of the marker. It can be also be reduced to filter longer rays (which can produce less accurate data than shorter rays) out of 3D point reconstruction. Remember, this value is specified in meters.

A particularly good use for this setting is when you have a medium size system (around 20 - 50 cameras) and a fairly large capture volume and a low chance for marker occlusion. Cameras at one end of the volume could have a harder time contributing good rays to a marker at the opposite end, causing ghost markers. If you have cameras like this then, just lower the maximum ray length a bit to prevent those cameras far away from contributing to a marker. This would not be recommended for captures with higher occlusion chance. Note that lowering this can take a toll on performance at higher camera count and marker count because the solver has to perform numerous calculations per second to see which rays are good.

Pixel Gutter (pixels)

Default: 0 pixels

Establishes a dead zone, measured in pixels, around the edge of the 2D camera image, within which any 2D objects detected will be discarded before calculating the point cloud. This should be increased in small amounts in cases where lens distortion is potentially causing issues with marker detection. In essence, it is a way getting only the best part of the data as markers seen at the edges of the sensors tend to have higher errors. Another use case is if you want to limit the amount of data going to the reconstruction solver which may help when you have a lot of markers and/or cameras. Be careful with this as the data that is blocked with this setting can't be acquired post-process.

Maximum 2D Objects

Default: 512 objects

The maximum number of 2D markers, per camera, that will be used to reconstruct the point cloud. Increasing this will allow the cameras to detect more markers, but the trade off is lower performance. If you have low marker counts, this setting should be left alone but if you have several hundred markers in view of your cameras you may need to increase this if your markers are not reconstructing.

Maximum Calculation Time (ms)

Default: 50 ms

Maximum amount of time Motive will spend attempting to reconstruct the point cloud per frame per camera group.

The value is specified in milliseconds or 0.001 seconds.

Adjusting this value can help in situations where latency is causing issues with real time capture, and lowering the value during recording can significantly decrease the likelihood of dropped frames during recording. However due to lower calculation times your data could be less accurate.


Filter Type

Default: Size and Roundness

Toggles 2D object filtering on or off. Select Size and Roundness to turn on. If you want every 2D pixel to be counted then turn this off, but only do this if the 2D data is clean. If you see flickering pixels or pixels that are not from a marker in the 2D view, you should turn filtering on.

One way to use this feature to your advantage is if you don't want to block out a lot of pixels with the "Block Visible" feature, but you still want to get rid of those pixels coming from reflections in the volume. If you're certain your markers are showing up as several pixels then you could filter out the small groups of pixels that are coming from reflections. Likewise, you could filter large groups of pixels, which could help you reconstruct only the smaller markers if your using variable sized markers. Note that when you calibrate, you should always "Block Visible", but this blocking can be disregarded, with caution, when you're ready to capture.

Min Thresholded Pixels (pixels)

Default: 4 pixels

The minimum pixel size of a 2D object, which is a collection of pixels grouped together, in order for it to be included in point cloud reconstruction. The default is 4, which means that a group of pixels needs to be greater than 4 for a ray to be generated. Using this to filter out those stray reflections that are blinking in and out.

Max Thresholded Pixels (pixels)

Default: 2000 pixels

The maximum size of a 2D object, in pixels, in order for it to be included in point cloud reconstruction. Default is 2000 which means that you basically want to include everything, unless your marker is very close to the camera lens. Use this to filter out larger markers in a variable marker capture. For instance, if you have 4 mm markers on an actor's face and 14 mm markers on their body, use this setting to filter out the larger markers if the need arises.


Default: 0.6

Sets the sensitivity of the roundness filter. Valid range is between 0 and 1 with 0 being not round and 1 being perfectly round. This setting is relative to the resolution of the camera you are using. If your have a Flex 13 system, a marker will appear more pixelated than a Prime 41. If the marker is only 5 pixels in the Flex 13 at a set distance, then it will appear as many more pixels from a Prime 41, which means the marker will be more circular in the Prime 41. With lower resolution cameras, smaller markers and greater distances, you will need to lower the circularity filter a bit if you're having a hard time getting markers to reconstruct.


Bound Reconstruction

Default: OFF

This toggles bound reconstruction which refers to ranges where reconstruction will take place in the volume. The Point Cloud will reconstruction markers outside of these bounds, realize it's out of bounds and hid the 3D point. Using reconstruction bounds can be an easy way to clean up unneeded points outside of a specified range.

Visible Bounds

Default: OFF

Select whether the reconstruction bounds are displayed in the 3D viewport. This setting is ignored if Bound Reconstruction is turned off.

Minimum & Maximum Bounds (meters)

Defaults: 6 m in all directions

Sets the bounding volumes minimums and maximums. The Minimum should be a lower number than the Maximum.

Diameter Calculations

Default: OFF

This will enable the calculation of the diameter of a marker. Use this in conjunction with Min/Max Marker Size.

Two Ray Marker Optimization

Default: OFF

Turning this on will increase the accuracy of reconstruction for markers that only have 2 contributing rays by adding an extra evaluation step. There are several cases where a ray will incorrectly contribute to a marker. At a Minimum Ray of 2, this can be seen as noisy data, which can occur often when working with numerous markers. For this to work you'll need to set the Minimum Rays to 2. If your application requires a Minimum Ray setting of 2 and you're working with many markers, you'll want to enable this setting.

Invalidate Markers Below Floor

Default: OFF

Turning this setting on will eliminate points from being reconstruction below the floor. Unlike bound reconstruction, this setting works before 3D reconstruction to improve performance when reconstruction large marker counts. If you happen to get points reconstructing below the floor, and they are not needed, turn this on to reduce the computation load on the system.

Ray Ranking

Default: 4

This setting enables Ray Ranking which increases point reconstruction stability but at a heavy performance cost. If you're working with small to medium marker counts turning this on will likely not impact performance. When working with hundreds of markers and numerous cameras, it may be best to turn this setting off if real-time performance is required.

Setting this to zero means that ray ranking is off, while 1 through 4 set the number of iterations it cycles through, 4 being 4 iterations.

Full Residual Threshold (%)

Default: 60%

This sets the maximum error, as a percentage, that a ray can have for it to contribute fully to a reconstructed point. The default is 60%. Setting this to 0 means you don't want any rays to contribute fully as there is some error in all contributing rays. On the other hand setting this to 100 means all rays will contribute fully. Ignored if Ray Ranking is turned off.

Zero Residual Threshold (%)

Default: 100%

Sets the maximum error, as a percentage, that a ray can have for to to partial contribute to a reconstructed point. The default is 100% which allows all rays to contribute to some degree. However, if you bump this setting down to 80% it could clean up noise in a 3D point because of one or two poor rays that are contributing to it. If you only have a few cameras, keep this at 100%, you'll want every ray to contribute to the reconstruction.

Minimum Marker Size (mm)

Default: 0 mm

This sets the minimum marker size that will be reconstructed. If a marker has a calculated diameter smaller than this, the marker will not be reconstructed. Unlike the 2D filters, these setting do not affect the raw data when recording in Object Mode. This setting is given in mm.

Maximum Marker Size (mm)

Default: 0 mm

This sets the maximum marker size that will be reconstructed. If a marker has a calculated diameter larger than this, the marker will not be reconstructed. Unlike the 2D filter, this setting does not affect the raw data when recording in Object Mode. This setting is given in mm.

Realtime Speed Boost

Default: OFF

This enables real-time speed boost which enhances system performance at the cost of accuracy. There are two type of enhancements, Type A and Type B. Type A modifies the Point Cloud algorithm to reduce processing time. Type B adds the utilization of system hardware. In some cases Type B will not help. If you get no performance boost when using Type B, use Type A only.

Small Marker Optimization

Default: OFF

This enables the optimization for smaller, crowded markers but decreases system performance slightly. Only use this if you are working with small markers that are close together, because this could adversely affect larger marker reconstruction. An instance where you will want to use this is when working with 3 to 5 mm markers. Note that this setting only works if you have Realtime Speed Boost set to Type B or Type A & Type B.


Prediction Radius (mm)

Default: 200 mm

To identify a marker from one frame to the next a prediction radius must be set. If the a marker is outside of this radius on the next frame, it will not be identified as the same marker. The prediction radius is used only to identify a marker and has no impact on reconstruction.

You can limit the prediction radius if the motions you record are slow which can help identify a marker throughout it's trajectory. With faster marker motions, the frame to frame distance traveled will increase. Set this higher if you are recording with lower camera frame rates, faster marker movements or both.

Rigid Body Assisted Labeling

Default: OFF

Rigid Body Assisted Labeling can be used to optimize the labeling of markers within a region defined by a rigid body. The option turns the functionality on or off. When turned on, the feature changes the way labeling is done during trajectorization.

Rigid Body Volume Radius

Default: 300 mm

The rigid body volume radius defines the region of space where the rigid body assisted labeling is applied. Increasing this radius will increase the trajectorization time so care should be made when setting this property.

Maximum Gap Frames

Default: 30 frames

The maximum gap frames property defines the maximum number of frames a marker can be hidden before it is truncated. Increase this value if larger gaps are to be anticipated. This will increase the processing time of trajectorization.

Prediction Radius

Default: 10 mm

The predication radius defines the size of the bounding region used to label markers. When labeling a marker from one frame to the next, a bounding region, relative to the rigid body, is created around each labeled marker. The labeling continuity is restricted to the bounding region from frame to frame. Increasing this can allow markers to swap if there there are occlusions in the data. Decreasing this restricts labeling from frame to frame but may lead to an increase in broken trajectories.

Discard External Markers

Default: OFF

Turing this property on will eliminate marker reconstruction outside of the region defined by the Rigid Body Volume.