other:amass:documentation:system_calibration
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
other:amass:documentation:system_calibration [2024/06/19 12:45] – sgranger | other:amass:documentation:system_calibration [2024/07/17 15:44] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{{{{{the | + | ====== System |
- | during | + | The calibration |
- | during the calibration the wand is identified by the software, provided | + | During |
- | **note. if you have trouble with the calibration | + | During |
- | ===== parameters ===== | + | |
- | the // | + | **Note. If you have trouble with the calibration process failing, please contact support@c-motion.com and send the .cen files that you collected |
+ | ==== Parameters ==== | ||
- | parameters_track.jpg | + | The // |
- | ==== mm /unit ==== | + | {{: |
- | in amass all distance measures are expressed in terms of a single | + | === mm /unit === |
- | ==== units name ==== | + | In AMASS all distance measures are expressed in terms of a single unit of length whose size is specified through this parameter. The user should enter their size of the desired length |
- | this entry allows the user to enter the name of the length units being used. it accepts a name length of up to 20 characters, and the default name is millimeters (mm). | + | === Units name === |
- | ==== frame increment ==== | + | This entry allows the user to enter the name of the length units being used. It accepts a name length of up to 20 characters, and the default name is millimeters (mm). |
- | in situations where a large number of frames are collected for a calibration, | + | === Frame Increment === |
- | ==== maximum | + | In situations where a large number of frames |
- | this entry specifies the maximum frame number to be used for the calibration. an entry of zero implies all frames | + | === Maximum |
- | ==== cameras | + | This entry specifies the maximum frame number |
- | occasionally it may be useful | + | === Cameras |
- | ==== viewlin ==== | + | Occasionally it may be useful to exclude one or more cameras from the calibration because a camera is malfunctioning, |
- | check this box if you want viewlin to run automatically after every calibration. | + | === ViewLin === |
- | ==== reference marker file ==== | + | Check this box if you want ViewLin to run automatically after every calibration. |
- | this entry holds the full name of the file that contains the x, y, and z coordinates of the static reference markers that will be used to translate the calibration data to the desired global coordinate system. you may browse for an existing //.ref// file or create a new one. | + | === Reference marker |
- | to create a new reference marker | + | This entry holds the full name of the file that contains |
- | the location | + | To create a new Reference marker file select // |
- | each row of the ref file contains the x y x components of the marker. | + | The location of each marker is specified in the " |
- | there is no specified order to the rows, which means that you can list the markers in any order that you want. amass creates a laboratory coordinate system, such that the markers are located at the specified | + | Each row of the ref file contains |
- | if, for example, the centroids of all markers are at a height of 20 mm, the z-component of each row should have the value 20. | + | There is no specified order to the rows, which means that you can list the markers in any order that you want. AMASS creates a laboratory coordinate system, such that the markers are located |
- | === no reference marker file === | + | If, for example, the centroids of all markers are at a height of 20 mm, the z-component of each row should have the value 20. |
- | the system will calibrate without any reference marker file, i.e. .ref file and provide a default global system defined by the first three camera locations. any time there is a ref file with recognized maker distribution, | + | == No Reference Marker File == |
- | to clear the file name select //browse…// followed by //cancel// in the browse window. | + | The system will calibrate without any reference marker file, i.e. .ref file and provide a default global system defined by the first three camera locations. Any time there is a ref file with recognized maker distribution, |
+ | |||
+ | To clear the file name select //Browse…// followed by //Cancel// in the browse window. | ||
\\ | \\ | ||
- | === example | + | == Example |
+ | |||
+ | An example reference file for an L-Frame that has four markers. | ||
- | an example reference file for an l-frame that has four markers. | + | Comment line 30.0 20.0 49.5 130.0 20.0 49.5 260.0 20.0 49.5 20.0 260.0 49.5 |
- | comment line 30.0 20.0 49.5 130.0 20.0 49.5 260.0 20.0 49.5 20.0 260.0 49.5 | + | ==== The wand ==== |
- | ===== the wand ===== | + | An AMASS calibration wand must be used to perform the calibration. It consists of a tensioned cable on which is mounted six markers spaced more or less evenly. A seventh marker is attached to the frame tensioning the cable. The function of extra marker is to better define the orientation of the wand about the axis of the cable, but it is not used in the final calibration computation and has no effect on the final system accuracy. The tensioned cable scheme generally provides the maximum unobstructed views of the markers, and the tension in the cable is sufficient to make it behave as a rigid body. The resulting calibration can thus be made free of wand distortion and reduced marker obscuring artifacts, providing the highest degree of confidence in the resulting camera calibration parameters. |
- | an amass calibration wand must be used to perform the calibration. it consists of a tensioned cable on which is mounted six markers spaced more or less evenly. a seventh marker is attached to the frame tensioning the cable. the function of extra marker is to better define the orientation of the wand about the axis of the cable, but it is not used in the final calibration computation and has no effect on the final system accuracy. the tensioned cable scheme generally provides the maximum unobstructed views of the markers, and the tension in the cable is sufficient to make it behave as a rigid body. the resulting calibration can thus be made free of wand distortion and reduced marker obscuring artifacts, providing the highest degree of confidence in the resulting camera calibration parameters. | + | [[File: |
- | {{wand_3_small.jpg}} | + | Even though the cable markers are quite evenly spaced, there are subtle differences in their locations in relation to each other. After an initial crude calibration the relative marker position measurements are refined sufficiently to enable the subtle differences to be measured, and the program attempts to identify the marker distribution as belonging to one of the wands distributed by ADTech. If the wand cannot be identified then it is assumed that there were some deficiencies in the wand motions, camera setup, or data capture, and the calibration is aborted. This technique ensures that a successful calibration guarantees high accuracy. |
- | even though the cable markers are quite evenly spaced, there are subtle differences in their locations in relation to each other. after an initial crude calibration the relative marker position measurements are refined sufficiently to enable the subtle differences to be measured, and the program attempts to identify the marker distribution as belonging to one of the wands distributed by adtech. if the wand cannot be identified then it is assumed that there were some deficiencies in the wand motions, camera setup, or data capture, and the calibration is aborted. this technique ensures that a successful calibration guarantees high accuracy. | + | === Marker Alignment === |
- | ==== marker alignment ==== | + | {{: |
- | blackdot.jpg | + | The black dot on each marker must point towards the wand structure. |
- | the black dot on each marker must point towards | + | The marker wand is identified by the distribution of markers |
- | the marker | + | Dots on the wand should all be facing the structure. If the markers |
- | dots on the wand should all be facing the structure. if the markers | + | To properly align the dots, the wand must be twisted in the correct direction. While facing the expanded wand, with the fixed arm to the left and the rotating free arm to the right, note the direction the dots are twisting. If the dots are rotating away (to the front up back down) rotate |
- | to properly align the dots, the wand must be twisted in the correct direction. while facing the expanded wand, with the fixed arm to the left and the rotating free arm to the right, note the direction the dots are twisting. if the dots are rotating away (to the front up back down) rotate the free end towards you. if the dots are twisting away (to the back up front down), rotate the free end away from you. depending on how twisted the wand has become, it may be necessary to rotate the wand multiple times until all dots are facing the wand structure. | + | === Wand size === |
- | ==== wand size ==== | + | The size of the volume that you wish to calibrate will determine the wand size that is needed. The largest wand currently available is 1000mm between outside markers, and it typically uses 25.4mm markers. Wands scaled to ½, ¼, and 1/8th sizes are also available, as are custom sized wands by special order. |
- | the size of the volume that you wish to calibrate will determine the wand size that is needed. the largest | + | Ideally wand markers should span 1/3 to ½ of the each camera’s horizontal field-of-view. If a camera does not record sufficient number of frames |
- | ideally wand markers | + | It should |
- | it should be noted that the calibration does not assume any specific lens model for optical distortions and is capable of computing accurate parameters even for lenses that show extreme distortions (of at least up to 10%). | + | ==== Data capture ==== |
- | ===== data capture ===== | + | === Preparation |
- | ==== preparation ==== | + | === Wand motions |
- | ==== wand motions | + | The motions of the wand are critical in providing a successful (and good) calibration because the wand image data constitute the only input to the calibration. The motions should be smooth and continuous, and at a comfortable speed. It is also important to rotate the wand about the handle as it is moved, but not continuously in one direction. Movement speed will be somewhat dependent on the frame rate of the camera system. For systems with frame rates 100 fps or above, the wand can be moved fairly quickly, but for 30 fps or less the motions |
- | the motions of the wand are critical in providing a successful (and good) calibration | + | In the calibration |
- | in the calibration parameters | + | The goal of the movement is to have the wand in all orientations at every location in the 3D volume. This is obviously not possible, but the user should |
- | the goal of the movement is to have the wand in all orientations at every location in the 3d volume. this is obviously not possible, but the user should endeavor to rotate the wand in all 3d orientations throughout the motion capture volume. | + | === Number |
- | ==== number of frames | + | The number of frames |
- | the number of frames required for a good calibration will depend on a several factors including the camera system’s frame rate and the size of the volume being calibrated. for standard video systems collecting data at rates of 50 – 100 fps, between 1000 and 2000 frames are recommended. this number may need to be increased if the cameras observe many “junk” | + | === Reference |
- | ==== reference markers | + | From the above discussion it should be obvious that complete coverage of the measurement volume with the wand is essential for reliable measurements. Of special concern should be static |
- | from the above discussion it should be obvious that complete coverage of the measurement volume with the wand is essential for reliable measurements. of special concern should be static reference markers locations, because if they do not fall inside of the calibration volume they will not be reconstructed and cannot be used to define the global coordinate system. if they are at floor level, care should be taken to ensure that the wand is moved close to the floor and in the vicinity of every static marker. | + | See [[# |
- | see [[# | + | ==== Camera interdependence ==== |
- | ===== camera | + | This section points out an important aspect of the calibration process. The only input to the calibration is the image marker locations digitized from all cameras. Initially the system has no knowledge of camera |
- | this section points out an important aspect of the calibration process. the only input to the calibration | + | The recommendation |
- | the recommendation is that problems with individual | + | === Cameras seeing other cameras |
- | ==== cameras | + | AMASS allows |
- | amass allows cameras to see other cameras without masking | + | This situation is, however, not ideal because extra markers will be reconstructed at the camera strobe locations. |
- | this situation is, however, not ideal because extra markers will be reconstructed at the camera | + | AMASS attempts to exclude "strobe |
- | amass attempts to exclude " | + | If you track with a minimum of 2 cameras, a lot of these camera strobes appear as multiple short segments. |
- | if you track with a minimum of 2 cameras, | + | If you track with a minimum of 3 cameras, |
- | if you track with a minimum of 3 cameras, all of the short stuff goes away, and we recommend using that when necessary. | + | ==== ViewLin ==== |
- | ===== viewlin ===== | + | A successful calibration’s results may be viewed by the ViewLin program. The user is presented with the screen shown below. The main graphics view shows the area of a camera’s image that was calibrated, with the grid indicating the lens distortions present for the particular camera. |
- | a successful calibration’s results may be viewed by the viewlin program. the user is presented with the screen shown below. the main graphics view shows the area of a camera’s image that was calibrated, with the grid indicating the lens distortions present for the particular camera. | + | {{:a10.png}} |
- | a10.png | + | === Items in group box === |
- | ==== items in group box ==== | + | The first line indicates the name of the file the calibration created. The first item in the second line displays the time of capture of the .cen file used for the calibration, |
- | the first line indicates the name of the file the calibration | + | **Frames used:** The //**number of frames actually used / the total number |
- | **frames | + | **Rays used: |
- | **rays used:** this is a similar measure but pertains to the total number | + | **Point residuals:** This is an average |
- | **point residuals: | + | **Wand residuals: |
- | **wand residuals:** the wand may be considered to be a rigid body having a much greater extent than a single marker. in certain circumstances a calibration could produce very low residuals in every location where individual wand markers are found, yet the connection | + | **Wand length SD:** This value presents |
- | **wand length sd:** this value presents | + | It should be noted that the residual values are a function |
- | it should be noted that the residual values | + | Here it should |
- | here it should also be pointed out that a calibration with a smaller number of frames may have smaller residual values than one with a large number of frames, yet the calibration will usually be less accurate. the reason is that it is easier to fit the many camera system parameters to a smaller number of input data point because the calibration is minimizing the overall residuals of all rays. it biases the resulting calibration to produce very low residuals at the participating points, at the expense of locations that are elsewhere in the volume where the residuals may be quite high. | + | === Camera list box === |
- | ==== camera | + | This area provides some results for individual cameras, as well as letting the user select the camera |
- | this area provides some results for individual cameras, as well as letting the user select | + | **Rays:** This is the number of rays from a camera |
- | **rays:** this is the number of rays from a camera | + | **Residual:** is the average residual (in user units) for all rays that could be used from the camera. Again, it should not be much larger than for the other cameras, and it is somewhat dependent upon the resolution of the camera’s sensor. |
- | **residual:** is the average residual (in user units) for all rays that could be used from the camera. again, it should not be much larger than for the other cameras, and it is somewhat dependent upon the resolution of the camera’s sensor. | + | **% Image:** The percentage of the camera’s image area that was successfully calibrated. Any marker image falling outside |
- | **% image:** the percentage of the camera’s image area that was successfully calibrated. any marker image falling outside the shown grid area will be ignored during tracking when this calibration is used. | + | === Reference points === |
- | ==== reference | + | This list box provides a report on the reference |
- | this list box provides a report on the reference | + | **Point #:** The reference |
- | **point #:** the reference marker number as defined by the position | + | **Point residual:** The RMS residual |
- | **point residual: | + | **Body residual: |
- | **body residual:** the rms residual of all rays to all reference | + | If reference marker coordinates |
- | if reference marker coordinates are provided but less than three reference points are be found, the calibration program provides the option of saving the calibration. in that case the resulting gcs is defined as follows; camera 1 is at the origin, the line from camera 1 to camera 2 is the x-axis, and camera 3 lies in the positive y of the x-y plane. if there are only two cameras then orientation of the x-y plane is arbitrary. | + | === Button Controls === |
- | ==== button controls ==== | + | **Close:** Closes the ViewLin program. |
- | **close:** closes | + | **Next:** Closes |
- | **next:** closes | + | **Exit:** Terminates |
- | **exit:** terminates | + | **Apply:** Writes |
- | **apply:** writes the name of the currently displayed calibration file to the current project file’s tracking parameters, to be used for the next tracking computation. | + | **Delete:** Deletes |
- | **delete:** deletes the currently displayed calibration file. | ||
- | }}}}}} |
other/amass/documentation/system_calibration.1718801133.txt.gz · Last modified: 2024/06/19 12:45 by sgranger