Summary of the invention
The purpose of the embodiment of the present application provides a kind of image processing method and device based on optical flow algorithm, existing carry out video stabilization by BMA and handles and cause the big and not high problem of precision of amount of calculation to solve.
For solving the problems of the technologies described above, the embodiment of the present application provides following technical scheme:
A kind of image processing method based on optical flow algorithm comprises:
After obtaining the current frame image in the pending video sequence, obtain one group of pixel position in the next frame image in the described current frame image according to optical flow algorithm;
Global parameter model according to adjacent two two field pictures of setting up is in advance sampled to described one group of pixel, filters out the pixel of displacement in preset range;
According to the position coordinates of the described pixel that filters out in current frame image and next frame image, obtain global motion parameter from described current frame image to the next frame image by least square method;
According to described global motion parameter is carried out level and smooth result, described next frame image is compensated.
Describedly obtain according to optical flow algorithm that one group of pixel position in the next frame image comprises in the described current frame image:
Described current frame image is divided into several macro blocks, and obtains a pixel in each macro block;
Follow the tracks of and calculate the local motion vector of described each pixel in the next frame image by optical flow algorithm;
Calculate the position coordinates of described pixel in the next frame image according to the position coordinates and the local motion vector of described pixel in the next frame image of each pixel in current frame image.
Described global parameter model according to adjacent two two field pictures of setting up is in advance sampled to described one group of pixel and is filtered out the pixel of displacement in preset range and comprise:
The position coordinates of two pixels in the described current frame image of picked at random and the described global parameter model of the position coordinates substitution of described two pixels in the next frame image are obtained the global motion parameter, and described global motion parameter comprises image stretch parameter, image rotation parameter, image transverse translation parameter and image longitudinal translation parameter;
Global motion equation with the position coordinates input of the residual pixel point except that two pixels of described picked at random in one group of pixel in the described current frame image is determined according to described global motion parameter obtains the position coordinates of described residual pixel point in the next frame image;
Add up the pixel of distance in described preset range between described position coordinates that obtains according to the global motion equation and the described position coordinates that obtains according to optical flow algorithm.
Described method also comprises: set in advance described one group of number of times that pixel is sampled;
Described filtering out before the pixel of displacement in preset range also comprises:
According to described global parameter model described one group of pixel is carried out the sampling consistent with described frequency in sampling;
The number of the pixel of displacement in preset range that record sampling is each time obtained;
Pixel with the number of described pixel when maximum is as the described pixel that filters out.
Described described global motion parameter is smoothly comprised:
The curve movement of determining the global motion parameter according to the global motion parameter and the frame number of all two field pictures in the described video sequence;
By gaussian filtering the curve movement of described global motion parameter is carried out motion smoothing;
Asking for each global motion parameter after level and smooth on the curve movement behind the described motion smoothing according to frame number.
The described next frame image is compensated comprises:
Described global motion parameter after level and smooth and the described global motion parameter of obtaining by least square method asked be compensated parameter after differing from;
By described compensating parameter described next frame image is compensated.
A kind of image processing apparatus based on optical flow algorithm comprises:
The two field picture acquiring unit is used for obtaining the current frame image of pending video sequence;
The optical flow algorithm unit is used for obtaining one group of pixel position in the next frame image of described current frame image according to optical flow algorithm;
Sampling screening unit is used for according to the global parameter model of adjacent two two field pictures of setting up in advance described one group of pixel being sampled, and filters out the pixel of displacement in preset range;
The global parameter acquiring unit is used for according to the position coordinates of the described pixel that filters out at current frame image and next frame image, obtains global motion parameter from described current frame image to the next frame image by least square method;
The parameter smoothing unit is used for described global motion parameter is carried out smoothly;
Image compensation unit is used for according to the level and smooth result of described parameter smoothing unit described next frame image being compensated.
Described optical flow algorithm unit comprises:
The macroblock partitions subelement is used for described current frame image is divided into several macro blocks, and obtains a pixel in each macro block;
The Local Vector computation subunit is used for following the tracks of and calculate the local motion vector of described each pixel at the next frame image by optical flow algorithm;
The position coordinates computation subunit is used for calculating the position coordinates of described pixel in the next frame image according to each pixel at the position coordinates and the local motion vector of described pixel in the next frame image of current frame image.
Described sampling screening unit comprises:
Global parameter is obtained subelement, be used for the position coordinates and the described global parameter model of the position coordinates substitution of described two pixels in the next frame image of two pixels of the described current frame image of picked at random are obtained the global motion parameter, described global motion parameter comprises image stretch parameter, image rotation parameter, image transverse translation parameter and image longitudinal translation parameter;
Position coordinates obtains subelement, be used for the global motion equation that the position coordinates input of the residual pixel point except that two pixels of described picked at random in one group of pixel of described current frame image is definite according to described global motion parameter, obtain the position coordinates of described residual pixel point in the next frame image;
Pixel statistics subelement is used to add up the pixel of distance in described preset range between described position coordinates that obtains according to the global motion equation and the described position coordinates that obtains according to optical flow algorithm.
Also comprise:
Default unit is used to set in advance to described one group of number of times that pixel is sampled;
Described sampling screening unit also comprises:
The frequency in sampling control sub unit is used to control described global parameter acquiring unit, position coordinates acquiring unit and pixel statistic unit and carries out the sampling consistent with described frequency in sampling in proper order;
Sampling number record subelement is used to write down the number of the pixel of displacement in preset range that sampling each time obtained;
Sampling results is confirmed subelement, is used for the number of described pixel pixel when maximum as the described pixel that filters out.
Described parameter smoothing unit comprises:
Curve movement is determined subelement, is used for the curve movement of determining the global motion parameter according to the global motion parameter and the frame number of described all two field pictures of video sequence;
The motion smoothing subelement is used for by gaussian filtering the curve movement of described global motion parameter being carried out motion smoothing;
Smoothing parameter is asked for subelement, is used for asking for each global motion parameter after level and smooth on the curve movement behind the described motion smoothing according to frame number.
Described image compensation unit comprises:
Compensating parameter obtains subelement, is used for described global motion parameter after level and smooth and the described global motion parameter of obtaining by least square method asked being compensated parameter after differing from;
Two field picture compensation subelement is used for by described compensating parameter described next frame image being compensated.
As seen, after obtaining the current frame image in the pending video sequence in the embodiment of the present application, obtain one group of pixel position in the next frame image in the current frame image according to optical flow algorithm, global parameter model according to adjacent two two field pictures of setting up is in advance sampled to one group of pixel, filter out the pixel of displacement in preset range, according to the position coordinates of the pixel that filters out in current frame image and next frame image, obtain global motion parameter by least square method from current frame image to the next frame image, according to the global motion parameter is carried out level and smooth result, the next frame image is compensated.In the embodiment of the present application owing to two field picture is handled by optical flow algorithm and the global motion model mode that combines of sampling, therefore when guaranteeing global motion calculation of parameter precision, reduced amount of calculation, improve antijamming capability, satisfied real-time video stabilization alignment requirements.
Embodiment
The embodiment of the present application provides a kind of image processing method and device based on optical flow algorithm.
In order to make those skilled in the art person understand technical scheme in the embodiment of the present application better, and the above-mentioned purpose of the embodiment of the present application, feature and advantage can be become apparent more, below in conjunction with accompanying drawing technical scheme in the embodiment of the present application is described in further detail.
Referring to Fig. 1, be the first embodiment flow chart of the application based on the image processing method of optical flow algorithm:
Step 101: obtain the current frame image in the pending video sequence.
Step 102: obtain one group of pixel position in the next frame image in the current frame image according to optical flow algorithm.
Concrete, current frame image is divided into several macro blocks, and obtain a pixel in each macro block, follow the tracks of and calculate the local motion vector of each pixel in the next frame image by optical flow algorithm, calculate the position coordinates of this pixel in the next frame image according to the position coordinates and the local motion vector of this pixel in the next frame image of each pixel in current frame image.
Step 103: the global parameter model according to adjacent two two field pictures of setting up is in advance sampled to described one group of pixel, filters out the pixel of displacement in preset range.
Concrete, the global parameter model that the position coordinates of two pixels in the current frame image of picked at random and two the position coordinates substitutions of pixel in the next frame image are set up in advance obtains to comprise the image parameter of stretching, the image rotation parameter, image transverse translation parameter and image longitudinal translation parameter are in interior global motion parameter, the global motion equation that the position coordinates input of the residual pixel point except that two pixels of picked at random in one group of pixel in the current frame image is definite according to the global motion parameter, obtain the position coordinates of residual pixel point in the next frame image, the pixel of distance in preset range between position coordinates that statistics obtains according to the global motion equation and the position coordinates that obtains according to optical flow algorithm.
Step 104:, obtain global motion parameter from current frame image to the next frame image by least square method according to the position coordinates of the pixel that filters out in current frame image and next frame image.
Step 105: according to the global motion parameter is carried out level and smooth result, the next frame image is compensated, finish current flow process.
Concrete, the curve movement of determining the global motion parameter according to the global motion parameter and the frame number of all two field pictures in the video sequence, by gaussian filtering the curve movement of global motion parameter is carried out motion smoothing, asking for each global motion parameter after level and smooth on the curve movement behind the motion smoothing according to frame number, be compensated parameter after global motion parameter after level and smooth and the global motion parameter of obtaining by least square method asked difference, the next frame image compensated by this compensating parameter.
Referring to Fig. 2, be the second embodiment flow process of the application based on the image processing method of optical flow algorithm, this embodiment shows in detail the process of image being handled by optical flow algorithm:
Step 201: obtain the current frame image in the pending video sequence.
The embodiment of the present application is mainly used in to be handled the video sequence that produces shake, before processing, at first need to obtain pending video sequence, each video sequence is made up of some two field pictures, is exactly results set after each two field picture is handled respectively to the processing of video sequence.
Step 202: current frame image is divided into several macro blocks, and obtains a pixel in each macro block.
With the example that is treated to of a current frame image, this current frame image can be divided into m*n macro block, from each macro block, get central pixel point, get m*n pixel altogether.
Step 203: follow the tracks of and calculate the local motion vector of each pixel in the next frame image by optical flow algorithm.
Optical flow algorithm in the embodiment of the present application mainly refers to Lucas-Kanade optical flow algorithm (being called for short the L-K optical flow algorithm), this algorithm is a kind of light stream algorithm for estimating of two frame differences, its principle is owing to the information change amount of same pixel in adjacent two two field pictures is very little, therefore can think their conservations, conservation according to pixel obtains the two field picture constraint equation, suppose I (x, y) be that position coordinates is (x in the current frame image, y) pixel, the constraint equation to this pixel I in then adjacent two two field pictures is:
I(x,y,t)=I(x+σx,y+σy,t+σt)
Therefore can use above-mentioned constraint equation respectively to m*n the pixel that is obtained, use Taylor series expansion just can obtain the local motion vector of each pixel I, promptly can obtain m*n local motion vector altogether this equation.
Step 204: calculate the position coordinates of this pixel in the next frame image according to the position coordinates and the local motion vector of this pixel in the next frame image of each pixel in current frame image.
In step 203, calculate m*n the m*n of pixel in next frame image local motion vector in the current frame image, just can obtain the position coordinates of each pixel in the next frame image with the position coordinates of each pixel in current frame image in m*n the pixel with corresponding local motion vector addition respectively.
Step 205: the position coordinates and the position coordinates substitution global parameter model of two pixels in the next frame image of two pixels in the current frame image of picked at random are obtained the global motion parameter.
Because translation, rotation and flexible may appear in two field picture in motion process, therefore the global parameter model of setting up in advance is as follows:
In the above-mentioned model, s is the stretching motion parameter of two field picture, and α is the parameter that rotatablely moves of two field picture, d
xBe horizontal (being directions X in the coordinate system) the translational motion parameter of two field picture, d
yBe vertical (being Y direction in the coordinate system) translation parameters of two field picture; (x
i, y
i) be the position coordinates of pixel in the i two field picture, (x
I+1, y
I+1) be the position coordinates of pixel in the i+1 two field picture.
Because four global motion parameters in the above-mentioned global parameter model are unknown quantity to be asked, can try to achieve by four equations for four unknown quantitys, therefore adopt RANSAC (random sampling consistency) method from the m*n of aforementioned current frame image and next frame image to extracting any two pairs of pixels the pixel, the above-mentioned global parameter model of its coordinate figure substitution can be obtained four equations, can be according to these four equations in the hope of four kinematic parameter s, α, d
xAnd d
y
Step 206: the global motion equation with the position coordinates input of the residual pixel point except that two pixels of picked at random in one group of pixel in the current frame image is determined according to the global motion parameter obtains the position coordinates of residual pixel point in the next frame image.
Four kinematic parameter substitution global parameter models of trying to achieve in the step 205 are obtained the global motion equation, the position coordinates of the residual pixel point except that two pixels of picked at random in m*n the pixel of current frame image is updated in the global motion equation, can be in the hope of the position coordinates of each pixel in the next frame image.
Step 207: the pixel of distance in preset range between position coordinates that statistics obtains according to the global motion equation and the described position coordinates that obtains according to optical flow algorithm.
Suppose that preset range is 2 distances between the pixel, then for each position coordinates of pixel in the next frame image that obtains according to the global motion Equation for Calculating, difference between the position coordinates of this pixel in the next frame image that obtains with it and according to optical flow algorithm (i.e. the distance of determining according to two position coordinateses) with should default distance compare the pixel of statistics in this predeterminable range scope.
Step 208: the number that writes down this pixel of displacement in preset range of being obtained of sampling.
After the pixel of displacement in preset range that obtains in the sampling process each time added up, write down the number of all qualified pixels.
Step 209: judge whether to have carried out the sampling consistent, if then execution in step 210 with preset times; Otherwise, return step 205.
Step 210: according to the number of pixel of each sampling of record, the pixel with the number of pixel when maximum is as the pixel that filters out.
Wherein, frequency in sampling K can rule of thumb be worth by following formula and draws:
Wherein, z is the correct probability of arithmetic result, w is the ratio that the pixel that filters out accounts in whole pixel, thereby can think w 〉=0.5, l gets l=2 for the number of each point of getting in set, z=0.99, can obtain K=17, promptly repeat 17 random samplings, then the correct probability of outcome of the pixel that is filtered out is greater than 0.99.
Step 211:, obtain global motion parameter from current frame image to the next frame image by least square method according to the position coordinates of the pixel that filters out in current frame image and next frame image.
Step 212: the curve movement of determining the global motion parameter according to the global motion parameter and the frame number of all two field pictures in the video sequence.
Suppose total N two field picture in the video sequence, then can organize the global motion parameter in the hope of N-1, for each global motion parameter, with the global motion parameter d for all two field pictures in the video sequence
xBe example, then can be in coordinate system according to the d under every two field picture
xValue and corresponding frame number are determined d in this video sequence
xCurve movement; In like manner, can obtain the curve movement of other three global motion parameters.
Step 213: by gaussian filtering the curve movement of global motion parameter is carried out motion smoothing, and asking for each global motion parameter after level and smooth on the curve movement behind the motion smoothing according to frame number.
For by the smooth motion curve behind the gaussian filtering, can obtain the global motion parameter of this frame correspondence according to each frame in the video sequence.
Step 214: the global motion parameter after inciting somebody to action smoothly is compensated parameter after asking difference with the global motion parameter of obtaining by least square method.
Step 215: by compensating parameter the next frame image is compensated, finish current flow process.
Global motion parameter after supposing smoothly is T
iThe global motion parameter of obtaining by least square method is A
i, the compensating parameter Δ
i=T
i-A
i, with this compensating parameter corresponding two field picture is compensated, can obtain anti-shake two field picture.
In conjunction with above-mentioned the application's image processing method embodiment, the shake video sequence that is 352*288 with one section resolution is the detailed process that example is described the application's image processing below.
The i two field picture is divided into 11*9 macro block, gets the central pixel point of each macro block, thereby obtain 99 pixels, calculate the side-play amount of these pixels in the i+1 frame, can obtain 99 local motion vectors with the L-K optical flow method;
The global motion model of being set up that comprises four global motion parameters is as follows:
2 pairs of pixels in picked at random i two field picture and the i+1 two field picture, generation as above-mentioned global motion model are tried to achieve 4 global motion parameters, the coordinate that the above-mentioned global motion model of four global motion parameters substitution is obtained between i frame pixel and the i+1 frame pixel concerns, the coordinate of all the other 97 pixels of i frame is changed with this model, tried to achieve 97 corresponding in i+1 frame pixel coordinates.Meet this model if the distance between 97 pixel coordinates obtaining originally in corresponding 97 pixel coordinates and the i+1 frame in the i+1 frame after the conversion less than 2 pixel values, then is set at, write down the number n of all qualified pixels.Said process is repeated 20 times, the set of pixel when record n is maximum, the set of the pixel based on this n when maximum is determined 4 global motion parameters in the global motion model with least square method.
After obtaining the global motion parameter of successive frame, use Gaussian function level and smooth s respectively, α, d
x, d
yThe curve movement of these 4 global motion parameters, the Gaussian kernel of high speed function is:
In the following formula, σ is a standard deviation, can get σ=2 here, and k is the difference between present frame sequence number and the target frame sequence number, and for example present frame is the 5th frame, and target frame is the 10th frame, k=10-5=5 so.
The i two field picture is A to the global motion parameter of i+1 two field picture
I+1, smoothly the global motion parameter after is T
I+1, the motion compensation vector Δ
I+1=T
I+1-A
I+1, pass through Δ
I+1The i+1 two field picture is carried out motion compensation can obtain two field picture after stable.
Corresponding based on the embodiment of the image processing method of optical flow algorithm with the application, the application also provides the embodiment based on the image processing apparatus of optical flow algorithm.
Referring to Fig. 3, be the first embodiment block diagram of the application based on the image processing apparatus of optical flow algorithm.
This device comprises: two field picture acquiring unit 420, optical flow algorithm unit 430, sampling screening unit 440, global parameter acquiring unit 450, parameter smoothing unit 460 and image compensation unit 470.
Wherein, two field picture acquiring unit 420 is used for obtaining the current frame image of pending video sequence;
Optical flow algorithm unit 430 is used for obtaining one group of pixel position in the next frame image of current frame image according to optical flow algorithm;
Sampling screening unit 440 is used for according to the global parameter model of adjacent two two field pictures of setting up in advance this group of pixel being sampled, and filters out the pixel of displacement in preset range;
Global parameter acquiring unit 450 is used for according to the pixel that the filters out position coordinates at current frame image and next frame image, obtains global motion parameter from current frame image to the next frame image by least square method;
Parameter smoothing unit 460 is used for the global motion parameter is carried out smoothly;
Image compensation unit 470 is used for according to the level and smooth result of parameter smoothing unit 460 the next frame image being compensated.
Referring to Fig. 4 A, be the second embodiment block diagram of the application based on the image processing apparatus of optical flow algorithm.
This device comprises: default unit 410, two field picture acquiring unit 420, optical flow algorithm unit 430, sampling screening unit 440, global parameter acquiring unit 450, parameter smoothing unit 460 and image compensation unit 470.
Wherein, default unit 410 is used to set in advance the number of times that one group of pixel is sampled;
Two field picture acquiring unit 420 is used for obtaining the current frame image of pending video sequence;
Optical flow algorithm unit 430 is used for obtaining one group of pixel position in the next frame image of current frame image according to optical flow algorithm;
Sampling screening unit 440 is used for according to the global parameter model of adjacent two two field pictures of setting up in advance one group of pixel being sampled, and filters out the pixel of displacement in preset range;
Global parameter acquiring unit 450 is used for according to the pixel that the filters out position coordinates at current frame image and next frame image, obtains global motion parameter from current frame image to the next frame image by least square method;
Parameter smoothing unit 460 is used for the global motion parameter is carried out smoothly;
Image compensation unit 470 is used for according to the level and smooth result of parameter smoothing unit 460 the next frame image being compensated.
Concrete, referring to Fig. 4 B, the embodiment block diagram for optical flow algorithm unit 430 comprises:
Macroblock partitions subelement 431 is used for current frame image is divided into several macro blocks, and obtains a pixel in each macro block;
Local Vector computation subunit 432 is used for following the tracks of and calculate the local motion vector of each pixel at the next frame image by optical flow algorithm;
Position coordinates computation subunit 433 is used for calculating the position coordinates of this pixel in the next frame image according to each pixel at the position coordinates and the local motion vector of this pixel in the next frame image of current frame image.
Concrete, referring to Fig. 4 C, the embodiment block diagram for sampling screening unit 440 comprises:
Frequency in sampling control sub unit 441 is used to control that global parameter is obtained subelement 442, position coordinates obtains subelement 443 and pixel statistics subelement 444 orders are carried out the sampling consistent with frequency in sampling;
Global parameter is obtained subelement 442, be used for the position coordinates and the position coordinates substitution global parameter model of two pixels in the next frame image of two pixels of the current frame image of picked at random are obtained the global motion parameter, the global motion parameter comprises image stretch parameter, image rotation parameter, image transverse translation parameter and image longitudinal translation parameter;
Position coordinates obtains subelement 443, be used for the global motion equation that the position coordinates input of the residual pixel point except that two pixels of picked at random in one group of pixel of current frame image is definite according to the global motion parameter, obtain the position coordinates of residual pixel point in the next frame image;
Pixel statistics subelement 444, be used to add up the position coordinates that obtains according to the global motion equation and the position coordinates that obtains according to optical flow algorithm between the pixel of distance in preset range;
Sampling number record subelement 445 is used to write down the number of the pixel of displacement in preset range that sampling each time obtained;
Sampling results is confirmed subelement 446, is used for the number of pixel pixel when maximum as the pixel that filters out.
Concrete, referring to Fig. 4 D, the embodiment block diagram for parameter smoothing unit 450 comprises:
Curve movement is determined subelement 451, is used for the curve movement of determining the global motion parameter according to the global motion parameter and the frame number of all two field pictures of video sequence;
Motion smoothing subelement 452 is used for by gaussian filtering the curve movement of global motion parameter being carried out motion smoothing;
Smoothing parameter is asked for subelement 453, is used for asking for each global motion parameter after level and smooth on the curve movement behind the motion smoothing according to frame number.
Concrete, referring to Fig. 4 E, the embodiment block diagram for image compensation unit 460 comprises:
Compensating parameter obtains subelement 461, is compensated parameter after being used for global motion parameter after level and smooth and the global motion parameter of obtaining by least square method asked difference;
Two field picture compensation subelement 462 is used for by compensating parameter the next frame image being compensated.
As seen through the above description of the embodiments, after obtaining the current frame image in the pending video sequence in the embodiment of the present application, obtain one group of pixel position in the next frame image in the current frame image according to optical flow algorithm, global parameter model according to adjacent two two field pictures of setting up is in advance sampled to one group of pixel, filter out the pixel of displacement in preset range, according to the position coordinates of the pixel that filters out in current frame image and next frame image, obtain global motion parameter by least square method from current frame image to the next frame image, according to the global motion parameter is carried out level and smooth result, the next frame image is compensated.In the embodiment of the present application owing to two field picture is handled by optical flow algorithm and the global motion model mode that combines of sampling, therefore when guaranteeing global motion calculation of parameter precision, reduced amount of calculation, improve antijamming capability, satisfied real-time video stabilization alignment requirements.
As seen through the above description of the embodiments, those skilled in the art can be well understood to the application and can realize by the mode that software adds essential general hardware platform.Based on such understanding, the part that the application's technical scheme contributes to prior art in essence in other words can embody with the form of software product, this computer software product can be stored in the storage medium, as ROM/RAM, magnetic disc, CD etc., comprise that some instructions are with so that a computer equipment (can be a personal computer, server, the perhaps network equipment etc.) carry out the described method of some part of each embodiment of the application or embodiment.
Each embodiment in this specification all adopts the mode of going forward one by one to describe, and identical similar part is mutually referring to getting final product between each embodiment, and each embodiment stresses all is difference with other embodiment.Especially, for system embodiment, because it is substantially similar in appearance to method embodiment, so description is fairly simple, relevant part gets final product referring to the part explanation of method embodiment.
The application can be used in numerous general or special purpose computingasystem environment or the configuration.For example: personal computer, server computer, handheld device or portable set, plate equipment, multicomputer system, the system based on microprocessor, set top box, programmable consumer-elcetronics devices, network PC, minicom, mainframe computer, comprise distributed computing environment (DCE) of above any system or equipment or the like.
The application can describe in the general context of the computer executable instructions of being carried out by computer, for example program module.Usually, program module comprises the routine carrying out particular task or realize particular abstract, program, object, assembly, data structure or the like.Also can in distributed computing environment (DCE), put into practice the application, in these distributed computing environment (DCE), by by communication network connected teleprocessing equipment execute the task.In distributed computing environment (DCE), program module can be arranged in the local and remote computer-readable storage medium that comprises memory device.
Though described the application by embodiment, those of ordinary skills know, the application has many distortion and variation and the spirit that do not break away from the application, wish that appended claim comprises these distortion and variation and the spirit that do not break away from the application.