Smoothing

[FrontPage Include Component] Previous
Home
Up
Next

NAVIGATOR: Back - Home > Adi > Services > Support > Manuals > Apas > Dos :

Home

Smoothing

Up
Digitizing
Capture
Transformation
Smoothing
Viewing
Graphing
Printing

Categories

Products
Services
Site Map
Search
About us

Search

Contact us

General info

+1 949 858 4216

Sales & support

+1 619 992 3089

E-mail

Information

Sales

Support

CHECK OUT

[FrontPage Include Component]

SMOOTHING MODULE


9.1 SMOOTHING PROCESS   The smoothing module is used to remove small random digitizing errors or "noise" from the transformed image sequence. In addition, because the motion of each point is determined by a continuous smooth function, the smoothing module is able to compute point velocities and point accelerations for each frame in the image sequence. Smoothing is always performed following transformation and prior to the presentation phase.

It is not necessary to understand the technical basis for smoothing in order to run the smoothing module and as such this section may be skipped. Appendix B, Technical Aspects of Transformation and Smoothing, presents the mathematical basis for the smoothing algorithms used by this module for those desiring a more technical discussion of smoothing theory.

The digitizing process involves measuring the location of each body joint. As with any type of measurement, there is no correct value, only an estimate to some known level of accuracy. Therefore, each measurement consists of two parts: the actual or true value, plus an error value due to the inability to perform exact measurements. If there is only a single measurement, it is impossible to separate the error value from the true value. However, if repeated measurements are made, statistical theory allows the estimation and removal of the error, provided the error is of a random nature.

Digitized joint locations are a type of repeated measurement. For a number of consecutive frames or time intervals, the location of each joint is measured. These measurements consist of the true joint location plus a random digitizing error due to the inability to position the stylus or cursor to the exact joint location.

Two obvious questions are "What is Optional Smoothing?", and "How does one determine the best smoothing values for a given joint?". The smoothing module has been designed to allow visual determination of optimal smoothing by viewing smoothed curves on the graphic display. Often, there is very little difference between the raw displacement curves and the smoothed curves since digitizing errors tend to be small. It is necessary to highlight the differences in these curves in order to tell how well a given smoothing value approximates true joint motion.

One method would be to greatly enlarge each curve to allow small variations to be easily viewed. The smoothing module allows for this feature, but there is a better may.

In addition to the displacement curves, the smoothing module can display velocity and acceleration curves for each component. Since the derivative of a curve is the slope or rate of change of the values for that curve, taking successive derivatives has the effect of emphasizing or highlighting the variations or "noise" in the data. Thus, by viewing the acceleration curves, the extent of random error remaining in the data can more easily be determined. Smoothing values can then be adjusted accordingly.

9.2 SMOOTHING MAIN MENU   Select Smoothing from the Main APAS Menu. A list of all sequences on the current directory will be presented for selection. Be sure that the desired sequence has been completely digitized and transformed before attempting to perform the smoothing operation. It is possible to re-smooth a sequence at any time, as the original unsmoothed data is always retained along with the current smoothed data values.

The items on the Smoothing Main Menu are used to control the smoothing process.

9.2.1 F1-PVA3 Key   The F1-PVA3 key depends upon the set of curves select using the F2-Mode key. For mode, PVA3, F1 will toggle between the X, Y, and Z components. For mode, XYZ, F1 toggles through position, velocity, acceleration, and 3rd derivative. The value selected by F1 is displayed in the Display field located in the upper left corner of the center window of the Main Smoothing Menu.
bulletPosition - selected when the position or displacement curves are to be displayed. Position curves represent the actual X-Y-Z data being smoothed. Position variations are small compared to variations in velocity and acceleration and for this reason position curves are usually not used to determine "Optimal" smoothing. Position curves are only curves that may be used for the "Move" function discussed later on in Section 9.9, Options, as the actual data points must be viewed in order to move them.
bulletVelocity - selected when the velocity (first derivative) curve is to be displayed.
bulletAcceleration - selected for the acceleration (second derivative) curve display.
bullet3rd-derivative- - logical extension of the first three, since this is the next successive derivative of the displacement curve. The 3rd-derivative curve can often be of aid in the smoothing process when using the cubic spline method. Since cubic splines use third order polynomials to build the smoothed curves, the third derivative yields a constant term known as the residual value. Since these residuals are not a function of frame number or time, they should not show a smooth pattern. If the 3rd-derivative curves are very smooth then the smoothing values are too large and true variations in your data have been removed. "Optimal" smoothing yields 3rd-derivative curves showing appreciable random variation while the acceleration curves show little random variation. If this is a difficult criterion to achieve, the frame rate for the film or video recording may not be high enough to measure the true variations occurring in the motion sequence being studied.

NOTE
The maximum practical data frequency that can be measured is half of the frame rate (frames/second).
9.2.2 F2-Mode Key   The F2-Mode key toggles between the PVAS and XYZ set of curves which are displayed on the color monitor. PVA3 is the position, velocity, acceleration, and 3rd derivative curves. XYZ is the X, Y, and Z components of a vector. The value selected by F2 is displayed next to Mode in the upper right corner of the center window of the Main Smoothing Menu.

9.2.3 F3-Spectral   The F3-Spectral key may be used to display the Fourier spectrum or the power spectrum. The value selected using F3 is display next to Spectral in the top half of the of the screen.

9.2.4 F4-ReDisplay   The F4-ReDisplay key is selected to re-display the graphic display. Any changes in the display format as selected using the F1, F2, and/or F3 keys will be shown.

9.3 TONEXT   The smoothing module smooths the coordinate locations for a single point or body joint at a time. ToNext is used to select the next sequential body joint (in the order originally defined) for smoothing. ToNext is selected to start the smoothing process on the first joint. As smoothing on each joint is completed, the smoothed values for the current joint will be saved and the data values for the next joint will be read and smoothed with the default smoothing values. The smoothed curves will appear on the graphic display and the Main Smoothing Menu will remain on the screen for the next function. If the current joint is the last joint in the file, the program exit screen will be displayed with the message that there are no more joints in this sequence. This is the basic cycle or operation mode of the smoothing module.

9.4 XYZ_VALUES   As each joint is selected for smoothing, three data curves will appear on the graphic display and information about that joint will appear on the monochrome screen.

The data curves on the color monitor show the smoothed and raw values for each of the coordinate components, X, Y, and Z all frames in this sequence. The smoothing module automatically select cubic spline smoothing as well as an initial closeness of fit value for each X, Y, Z coordinate. These values are the default smoothing values and are used each time a new joint is selected in the Advance function.

The degree of smoothing for each coordinate of each body joint is controlled by the smoothing value. The smoothing values are shown in the table in the upper portion of the Smoothing Main Menu with columns Z, Y, and Z and rows Next, Current, Last.

The smoothing values used for the smoothed curves shown on the graphic display appear in the Current row. The default value is 1.0-SP, where SP is the SPline algorithm. The smoothing value for the spline algorithm is the average error allowance for each point on the curve in user units. Thus if the units for this sequence are centimeters the default smoothing value allows the smoothed curves to vary from the raw curves by an average of one centimeter for each point along the curves (i.e., for each frame in the sequence).

To change the degree of smoothing for one or more of the coordinate curves, new smoothing values must be entered. Smaller values allow less error and thus fit more closely. Larger values allow more error and thus produce smoother curves. New values are entered by selecting the XYZ-values form the Smoothing Main Menu. The Smoothing Values Screen will ask for the new values to be inserted in the X, Y and Z fields.

New smoothing values may be entered for one or more of the coordinate curves by typing a value under the coordinate name and pressing ENTER. To leave the current value unchanged just press ENTER. When all changes have been entered F10-Done is pressed to return to the Smoothing Main Menu.. New curves will be drawn on the color monitor to show the results of smoothing with the new values. At the same time the Next row values are copied to the Current row and the previous Current values now appear in the Last row. Since smoothing is a repetitive process, the smoothing value table keeps track of the changing values as optimal smoothing values are determined.

9.5 SMOOTH   Smooth is selected when the current joint curves are to be re-smoothed using the smoothing values that appear in the Next row in the upper portion of the screen. The Next values are set using the XYZ_values option. When the Smooth function is performed the Current values become the Last values and the Next values become the Current values. After a short pause for computation the new smoothed curves will appear on the graphic display monitor.

9.6 DISPLAY   The Display Option Menu is selected when one of the number of display oriented options is to be performed.

9.6.1 Last   This option is a toggle switch that allows the display of the last curves to be turned on or off. The Last curves setting is shown in the right hand side of the screen. The default mode is for last curves to be displayed along with the curves for the current smoothing value.

Last curves can be compared to the current curves to help determine optimum smoothing. Sometime, when smoothing with values appreciably larger than previous values, the scale of the last curves will be so large that the current curves appear flat along the horizontal axis. By turning off the display of the last curves, the current curves can be observed drawn to full scale. Once better smoothing values have been chosen, the last curves can be turned back on for final comparison.

When this option is selected an additional menu will be displayed with Yes for setting the option and No for clearing the option.

9.6.2 X_Y_Z   The XYZ is used to select various combinations of the X, Y, and Z coordinate curves for display. Each of these curves may be viewed individually using the entire display, thus giving maximum viewing resolutions. Any two of the three curves may be displayed at the same time for medium viewing resolution. The final choice is to view all three curves at the standard viewing resolution. This is the default mode for the smoothing module. This option is most often used when the current curve is very close to the raw curve or the last curve and an examination of these curves in greater detail is desired by increasing the vertical resolution this option may also be used when smoothing two-dimensional sequence, as the Z coordinate is not used and may be removed from the display.

Selection of this option displays an additional menu that lists all valid combinations of coordinate curves (single curves, two at a time or all three). When a combination is selected the display will be updated to show this new combination.

9.6.3 Time-Expand   The Time_expand is selected to expand a horizontal segment of the data curves to the full horizontal width of the display. Thus, this option increases horizontal viewing resolution when examining portions of the data curves in more detail. Suitable combinations of Time-expand and X_Y_Z can present data curves enlarged both horizontally and vertically for maximum resolution of detail.

When this option is selected an additional menu will be displayed to allow for Set of a new horizontal interval or to Reset the original display.

9.6.4 Color   This option allows the colors used for the curves to be changed. The color screen lists the various items that may be changed. When color selection is changed, the new colors are saved and will be used the next time the smoothing module is run.

When this option is selected an additional menu will appear showing the various display items for which the color may be set. Once an item is selected a third menu will appear displaying sixteen available colors. The display will then be re-drawn using the new color.

9.7 &bnsp;NEW_SEQ   The New_seq option is selected once the current sequence has been smoothed and another sequence is to be smoothed. When this option is selected a confirmation screen will appear. If No is selected the current sequence will be kept and the screen will return to the Smoothing Main Menu. If Yes is selected the current sequence will be saved and the Smoothing Main Menu will appear.

9.8 ALGORITHM   Algorithm is selected when the algorithm or computational method used to smooth the data is to be changed. When this option is selected the Algorithm Menu will be displayed listing the five smoothing algorithms that may be selected. The current algorithm is displayed in the upper right hand side of the screen. After selected the desired algorithm, Quit is used to return to the Main Smoothing Menu. 9.8.1 Cubic   Cubic selects the cubic spline smoothing algorithm. This algorithm is based on traditional spline function theory, but has been enhanced to allow approximate fitting rather than the traditional exact fitting to the data points. The cubic and quintic splines are the most sophisticated of the smoothing algorithms and give the best results in approximating complete data curves.

9.8.2 Digital_filter   This algorithm smooths the data points by removing or attenuating "noise" above the selected cutoff frequency while retaining the lower frequency data. The default value for digital filter is 10 Hz. Larger values produce a closer fit while smaller values produce smoother curves. This is just the opposite of spline smoothing.

9.8.3 Polynomial   Smoothing with this algorithm is accomplished by approximating the displacement curve with a polynomial of a user-selected order using a "least squares" fit. A third order polynomial is the lowest that can be selected if acceleration values are to be computed. Fourth or fifth order polynomials give better results. The default is fourth order polynomial. Higher degree polynomials tend to fit more closely, however there is a significant difference in endpoint behavior between odd and even order polynomial curves so increasing the order by one does not always produce a better fit.

9.8.4 Quintic   This algorithm is based on traditional spline function theory, but has been enhanced to allow "approximate" fitting rather than the traditional exact fitting to the data points. The cubic and quintic splines are the most sophisticated of the smoothing algorithms and five the best results in approximating complete data curves.

9.8.5 Fourier 9.9 OPTIONS   The smoothing module contains many options designed to enhance the smoothing process. The Options Menu is accessed from the Main Smoothing Menu.

9.9.1 Automatic   This mode smooths all the remaining joints in this sequence with the current default smoothing value. It is the equivalent of selecting the Advance function once for each joint after the current one. Automatic smoothing is used when completing the smoothing process, as rapidly as possible and without additional human interaction, is the concern and not obtaining optimal smoothing for each joint.

The curves for each joint will still be displayed as smoothing is performed, however, re-smoothing of joints is not allowed during the automatic sequence. At the end of this process individual joints may be re-smoothed if desired.

Typically, the first joint is smoothed and the default smoothing values are then adjusted accordingly and then the Automatic sequence may be selected. Alternately, smoothing with error values may be selected prior to performing the Automatic sequence, which often yields excellent results without additional smoothing. In general, the best smoothing is performed manually rather than in automatic mode.

9.9.2 Impact/Relax   This selection is used to change the closeness of fit in selected regions of the data curve, rather than over the entire curve. This option is only used with the cubic spline smoothing method. By applying this option, regions of one or more Impact or Relax points may be specified along the data curves.
bulletImpact points increase the closeness of fit by effectively reducing the smoothing value for the specified points while leaving the smoothing value for the rest of the curve unchanged. A typical application for impact points would be to accommodate a brief interval of impact in the motion sequence like a racket striking a ball. Normal smoothing values tend to spread the impact effect over a number of frames by removing high frequency changes in the data points. When the impact frame and one or two frames on either side are specified as impact points, the actual impact then appears in the smoothed curves as a sharply defined event more closely approximating true impact.
bulletRelax points are just the opposite of impact points. They decrease the closeness of fit by effectively increasing the smoothing value for the specified points while leaving the smoothing value for the rest of the curve unchanged. A typical application for relax points would be a short segment of a sequence where one or more joints were obscured during digitizing thus requiring joint locations to be estimated. Such segments typically have more noise or error associated with them than normally digitized points. By specifying the points along this segment to be relax points, the additional noise can be removed from these points without affecting the closeness of fit for the rest of the data curve.

CAUTION
The intervals should be kept small and the number of re-applications should be kept to a minimum. A decrease of the frequency of the allowed "noise" will result in a decrease of the amount of "true variation" that will be present in the smoothed data.
9.9.3 Move   The Move option allows the value of one or more of the raw data points to be changed before smoothing is performed. The optima derives its name from the fact that the raw data points are changed by moving them on the displacement curve shown on the graphic display. This option is only used when a large digitizing error has been made and was not corrected in the digitizing process. For example, digitizing the wrong point location. Usually such an error shows up as a sharp spike in the displacement curves for a single frame or at most a few frames. Such errors usually cannot be removed by smoothing unless abnormally high smoothing values are used. This causes true variations in the data to be lost. By correcting the raw data, smoothing can be accomplished with much lower smoothing values.

CAUTION
This option is not recommended for the correction of small digitizing errors. Small errors are much better corrected by the smoothing algorithm itself, as manual adjustment of small errors is itself prone to error and often introduces a "bias" based on the user's perception of what the data curve should look like.
9.9.3.1 Point-move   Point-move is selected when a single point is to be moved on one of the raw data curves. This feature is used when a large error has been made in digitizing and manual correction of the error is desired before smoothing is done.

The system will ask for the specific point to be moved and then the location where the point is to be moved. Only vertical motion of the cursor is considered, as data points may not be moved along the horizontal (time) axis. The raw data curve will be corrected by moving that point to its new location and the display will be re-drawn.

9.9.3.2 Block-move   Block-move is selected when a block or interval of data points are to be moved on one of the raw data curves. This feature is most often used when, in the process of digitizing, a point becomes obscured for a number of consecutive frames and must be estimated. The result sometimes produces a shifted interval of points along one or more of the data curves and these points can be moved back to a close approximation of their correct value using the block move command.

The system will ask for the end points of the block or interval to be moved, to be selected with the cursor, and then the location where the point is to be moved. Only vertical motion of the cursor is considered, as data points may not be moved along the horizontal (time) axis. The raw data curve will be corrected by moving that point to its new location and the display will be re-drawn.

9.9.3.4 Interpolate   Interpolate is selected when an interval or block of points on a raw data curve is to be replaced with values determined by linear interpolation between the endpoints of the interval. This function is used when a section of one or more of the data curves contains erroneous values, either from digitizing errors or from missing points during digitizing. Interpolation provides a method of approximating the data values for the interval in question. This method of correction is quite effective as long as the interval is relatively small and there are not large fluctuations in the data values for that interval. It is a good idea to use the Relaxed mode (Section 9.9.2) over interpolated intervals to allow the smoothing algorithm more flexibility in fitting a smoothed curve through these data points.

When this option is selected, the system will ask for the endpoints of the interval to be replaced. The interval should be large enough so that the endpoints are good data points, but if this is not possible the interval should be kept as small as possible. Once the endpoints have been entered, the data values will be replaced by the interpolated values and the display will be redrawn.

9.9.4 Joint   The Joint option is used to smooth a joint out of the normal consecutive sequence of joints accessed using the Advance function. For example, joint could be used to return to a previously smoothed joint to check smoothing or to re-smooth that data and ten to proceed to the next joint to be smoothed. Another application might be to smooth a specific joint or joints while skipping other joints. This would be the case if one wished to perform a partial analysis; perhaps only considering the motion of certain body joints or segments and ignoring others. In most cases, it is recommended that all body joints be smoothed. Otherwise certain joint and segment velocities and accelerations would be missing when subsequent analysis functions such as viewing, graphing, and printing were performed.

9.9.5 Default   The Default Menu is used to set or change the default smoothing values, which are the values used to perform initial smoothing on each joint. The better the choice of initial smoothing values the less re-smoothing is needed to complete the smoothing process.

bulletExamine/Smooth - selected when all unsmoothed joints are to be smoothed using the current default smoothing values, but only the current smoothing values for joints already smoothed are to be displayed.
bulletResmooth - selected when every joint is to be smoothed with the current default XYZ smoothing values. Joints that have been previously smoothed will be re-smoothed with these default values.
bulletSequence-values - selected when the smoothing values from the corresponding joint in a previously smoothed sequence is to be used as the default smoothing values for the current sequence. Corresponding joints are matched by joint ordinal (i.e. 1st, 2nd, 3rd, etc.) not be joint name. This option is frequently used when smoothing a number of sequences of the same activity that were digitized by the same person and is also frequently used in conjunction with the automatic mode.
bulletDefault-values - after smoothing one or two joints in a sequence, the default values can be reset to a closer approximation of optimal values than those initially provided by the smoothing module. Values for three coordinate curves are specified similarly to entering new smoothing values.
9.9.6 Error-values   Error-values is selected to use the error values calculated from frames that were re-digitized to scale the smoothing values used for this sequence. The digitizing module contains an option which will randomly request the user to re-digitize a certain percent of the frames being digitized. The measured differences or "error" between consecutive digitization of the same frame is used to generate a digitizing error factor for each joint in the sequence. This error factor can subsequently be used in the smoothing module to scale the default smoothing values so that a better estimate for smoothed data curves can be made.

When Error-values is selected the values on the line next to the Sigma field, in the upper portion of the screen, will be updated to show the current error factors for each data coordinate that will be applied to the current smoothing values. When the Error-values option is off, the Sigma field displays an "N.A." or not applicable. If the digitized views for this sequence do not contain re-digitizing information, the Sigma field will be set to 1.0, which is the identity error factor. Subsequent smoothing values will be modified by the error values computed from re-digitized data. The resulting smoothing values (the product of the current value and the sigma factor for each joint) are the ones that will be saved with the smoothed sequence and shown when the smoothing values are reviewed or displayed for each joint on the screen.

CAUTION
It is recommended that error-values not be used to smooth sequences , when default smoothing values have been read from a sequence in which error-values were used in smoothing. This would result in a "double" application of error value correction.
9.9.7 Summary   This option presents a table summary of the smoothing performed on the current sequence. This table shows, for each joint, if smoothing has been performed and the smoothing values and algorithm used. The summary option is helpful for quickly checking that smoothing has been completed for all the joints in the sequence. This is useful if joints have not been smoothed in the normal consecutive sequence, as when the Joint option is used.

9.10 TYPICAL SMOOTHING PROCESS   Set the display to Acceleration curve and return to the Smoothing Main Menu. With each curve type other than Position, it will be observed that there is no raw curve, but rather a last curve. This is because the only measured or raw data values are joint displacements. The other curve types are all computed from the smoothed displacement curves. By comparing the current curves to the last curves, the effect of changes in the smoothing values can be observed and used to hone in on the best values to use. This is the recommended procedure for obtaining optimal smoothing values for each joint.

While viewing the acceleration curves, try selecting a very low smoothing value for each of the coordinate curves, like a value of 0.3. This causes the smoothed displacement curves to fit very closely to the raw displacement curves; so closely that they actually fit as well as data.

The effect on the acceleration curves show large and almost random fluctuations; an impossibility for human motion. Now try smoothing again with an intermediate smoothing value, such as 1.0, for each curve. The acceleration curves become quite smooth; a reasonable approximation of true human motion. Now if a large value such as 5.0 is used for each curve the acceleration curves are virtually flat. True variations in the data have been removed along with the noise.

This exercise illustrates the goal of proper smoothing to remove random fluctuations from the acceleration curves while leaving as much of the true variation as possible. The smoothing process may start with higher smoothing values and work down, or with lower smoothing values and work up, until the acceleration curves show maximum smooth variation without random variation.

NOTE
Different smoothing values may be used for each of the coordinate curves. Also there is no exact best smoothing value since this is a process of approximation. Once satisfactory fitting is achieved, additional manipulations with very small changes in smoothing values will be of little benefit.
Once a joint has been properly smoothed, select the Advance function once again from the Smoothing Main Menu. The smoothed values for the current joint will be saved and the raw values for the next joint will be accessed and smoothed using the default smoothing values. Continue this process until all the joints in the sequence have been smoothed. At this point, one may either Exit from the Smoothing Module or select another sequence for smoothing using the New-seq option.

9.11 SMOOTHING QUICK REFERENCE For most sequences the system's default algorithm, cubic spline, will be adequate. However if the user desires a different smoothing algorithm; Digital Filter, Quintic Spline, Polynomial or Fourier is available. The following example is for cubic spline.

  1. Select sequence to be smoothed.
  2. The system defaults to smoothing position (in XYZ coordinates) using cubic spline and a smoothing factor of whatever unit the control is measure in. (If the control was measured in inches then the smoothing factor will be one inch.)
  3. Select ToNext to display the first joint to be smoothed.
  4. The XYZ values can be adjusted so that the smoothed data (the red line) better fits the raw data (yellow line).
    bulletThe smaller the XYZ value the better the fit. Example; "0.1" will cause the red line to follow the yellow better than a value of "1.0".
  5. Once the XYZ values are chosen, press F10.
  6. Select Smooth to display the recalculated smoothed XYZ coordinates.
  7. Select ToNext to advance to the next digitized joint and repeat procedure.
 

Previous Up Next

This page was last modified on 12/07/2008 at 22:47 PST. Copyright � 1994 - 2002, all rights reserved, Ariel Dynamics Inc. Please send your comments or feedback to webmaster@arielnet.com or proceed to our feedback form. This page has been accessed many times since Dec 12, 2002. Our privacy policy is here.