US9521326B2 - Misregistration correction using non-pinhole camera model and non-linear scan equations - Google Patents
Misregistration correction using non-pinhole camera model and non-linear scan equations Download PDFInfo
- Publication number
- US9521326B2 US9521326B2 US14/272,151 US201414272151A US9521326B2 US 9521326 B2 US9521326 B2 US 9521326B2 US 201414272151 A US201414272151 A US 201414272151A US 9521326 B2 US9521326 B2 US 9521326B2
- Authority
- US
- United States
- Prior art keywords
- scan
- equations
- motion
- updates
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- H04N5/23267—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/02—Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
- G01C11/025—Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures by scanning the object
-
- G06T5/003—
-
- G06T5/006—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G06T7/2033—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/71—Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
-
- H04N5/23254—
-
- H04N5/372—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Definitions
- This disclosure relates to generation of images of remote objects and, more particularly, to generation of corrected images generated from a scanning sensor on a moving platform.
- an electro-optical sensor can acquire image data for a remote object while in motion.
- Support data associated with each acquisition by the sensor contains measurement histories for position, velocity, attitude angles and rates, and a priori error variances. Accurate support data is important to the image formation process, as errors can manifest themselves as geometric artifacts.
- MRC Misregistration correction
- a method of misregistration correction in a line scanning imaging system includes: generating a model of scan motion over a focal plane of the imaging system, using a coupled system of non-linear scan equations with constant coefficients; estimating programmed motion positions across a plurality of detector junction overlap regions via a state transition matrix solution to the scan equations; at each detector junction overlap region, measuring actual motion positions via image correlation of overlapping detectors; generating differences between the actual motion positions and the estimated programmed motion positions; estimating updates to the constant coefficients based on the generated differences; generating corrections from the estimated updates to remove unwanted motion; and applying the updates to the constant coefficients.
- estimating updates is performed using least-squares estimation.
- the image correlation comprises normalized cross-correlation.
- the image correlation comprises lag product cross-correlation.
- the image correlation comprises least squares cross-correlation.
- the model of scan motion is generated over a predetermined time interval
- the scan equations comprise a set of differential equations with constant coefficients.
- the differential equations are first-order differential equations.
- the method further includes computing the scan equation coefficients using sensor platform parameters.
- the sensor platform parameters comprise at least one of sensor position, velocity, attitude angles and rates.
- the method further includes approximating errors in the scan equation coefficients from measurement errors in the platform parameters.
- the method further includes generating a covariance matrix of focal plane coordinate errors.
- the method further includes estimating platform parameter errors from the differences between the actual motion positions and the estimated programmed motion positions.
- FIG. 1 includes a schematic diagram of a focal plane scanning geometry/configuration.
- FIG. 2 is a schematic functional flow diagram of a detector junction correlation process.
- FIG. 3 includes a schematic functional block diagram of a detector junction measurement process.
- FIG. 4 is a schematic diagram of traditional pinhole camera projection equations.
- FIG. 5 includes a schematic logical flow diagram of generating correction terms to be added to the traditional pinhole camera model, according to some exemplary embodiments.
- FIG. 6 includes a schematic diagram of an approach to working around a singularity issue, according to some exemplary embodiments.
- FIG. 7 is a schematic diagram of an error perturbation model, according to some exemplary embodiments.
- FIG. 8 includes a schematic block diagram of an MRC process, according to some exemplary embodiments.
- FIG. 9 includes a schematic logical flow diagram of a line-by-line MRC computational process, according to some exemplary embodiments.
- MRC misregistration correction
- projections are formulated via bivariate polynomials curve fit to ray traced variations from a pinhole model. Differentiating these projection equations yields non-linear scan equations. A first-order Taylor series approximation reduces the scan equations to a coupled system of first-order differential equations with constant coefficients. Programmed motion positions across each detector junction are estimated via a state transition matrix solution. The actual motion positions are measured via correlation of the overlapping detectors and differenced with the predicted locations. A least-squares fit estimates updates to the scan coefficients based on these error residuals, to remove the unwanted motion.
- error propagation is formulated via perturbations to the state transition matrix and forcing vector, which does not require that motion errors be estimated separately by category (rectilinear, oscillatory, and random); a robust and computationally efficient algorithm results.
- the formulation of scan coefficient updates enables estimation of knowledge errors in sensor position, velocity, attitude angles, and attitude angle rates. Accuracy is enhanced by an iteration process based on these knowledge errors.
- a covariance model relates scan coefficient errors to focal plane coordinate errors for non-linear scan equations.
- a line scanning electro-optical sensor that does not follow a pinhole model is considered. Given all the support data values necessary to define the scan (sensor position and velocity, attitude angles and rates) and the accuracy with which these parameters are known (mean errors, covariance), the error statistics (means, covariance) in the projected location of a ground point's image at some small time increment later in the scan are computed, via closed-form expressions. These statistics are performance-important for the image formation chain; specifically, the formulation of an effective geometric correction process.
- the propagated coordinate errors are derived in terms of first-order error perturbations to the scan coefficients appearing in the state transition matrix and forcing vector. These scan coefficient errors arise from un-modeled vibrations and knowledge errors in the parameters employed to compute the coefficients. These scan coefficient errors are then determined via the detector junction measurement residuals. Next, closed-form approximations for the junction measurement residuals are derived from the measurement errors in the platform support parameters. Combining these steps completes the solution.
- this new approach of the present disclosure produces an accurate expression for predicting the errors in the projected focal plane scan coordinates of a non-pinhole camera system. This is a major improvement over the known method of Monte Carlo simulation, which is computationally cumbersome. Also, this accurate solution enables on-the-fly computation of performance quality measures for band-to-band registered exploitation products. Such metrics are in demand by the user community. Also, the approach described herein enables on-the-fly statistical consistency and outlier checks for the junction measurements.
- platform error estimation for non-linear scan equations is also provided.
- Unknown amounts of system error are introduced by modeling electro-optical line scanning sensors as pinhole cameras.
- Accurate support data including measurement histories for position, velocity, attitude angles and rates, and a priori error variances, is important for removing geometric artifacts in the images captured by these sensors.
- Projected focal plane coordinate errors are estimated during image formation via a correlation process in the detector junction overlap regions across the array. The problem solved is that of estimating knowledge errors in the support data from these measured coordinate errors; thus, improving image quality.
- this new approach produces accurate estimates for platform parameter knowledge errors on a line-by-line basis.
- the improved accuracy of the platform parameters will positively impact image quality.
- the error estimates obtained from the initial execution of this approach yields error estimates that can be applied to improve the original platform parameter measurement histories. Subsequently, the updated histories can be iterated through another pass of junction measurements to further tighten overall knowledge accuracy.
- the approach of the exemplary embodiments facilitates on-the-fly statistical consistency and outlier checks for the junction measurement process.
- the MRC approach of the present disclosure treats total error without the need for separately estimating linear, oscillatory and random errors. Its formulation is mathematically rigorous and computationally robust.
- the rigorous error propagation model employed in the approach described herein characterizes statistical consistency, which enables identification of junction measurement “outliers,” and reinforces robustness.
- Its formulation of scan coefficient updates enables estimation of knowledge errors in sensor position, velocity, attitude angles, and attitude angle rates via an inversion process. Accuracy is further enhanced by an iteration process based on these knowledge errors.
- an approach for mathematically modeling the non-linear variations from a pinhole model present in ray trace data characterizing the sensor optics via bivariate polynomial curve fits.
- These polynomial variation models are employed to derive the focal plane scan equations, which define the focal plane trajectory traced by the image of a specific point in object space during the scan.
- the resulting scan equations are a pair of coupled 1st-order non-linear differential equations.
- an accurate approximation is then introduced that reduces the non-linear differential equations to a set of linear differential equations, and which preserves the significant non-pinhole characteristics of the camera model.
- the solution to these approximate scan equations yield an error propagation model, which describes the flow of knowledge errors in the sensor position, velocity, attitude angles and rates into coordinate errors in the predicted position of an image point. These coordinate errors are measured via a correlation process in the detector junction overlap regions.
- the junction measurements serve as inputs into a least-squares process, which is based on the error flow model.
- the least-squares process yields error estimates to the nominal scan coefficients, which are consistent with the measured coordinate residuals. It is these scan coefficient errors that are employed to affect MRC.
- An inversion process derives estimates of knowledge errors in the sensor position, velocity, attitude angles and rates from the scan coefficient error updates.
- the MRC process feeds back the knowledge errors into the a priori platform support data and then iterates the MRC solution.
- programmed motion refers to commanded motion that is planned as part of the sensor's image acquisition process. Specifically, it is the motion of the image of a selected stationary ground point across the focal plane during a commanded scan.
- unprogrammed motion image motion error or “focal plane coordinate errors” refer to the motion of the image of a selected stationary ground point across the focal plane, which differs from the commanded motion, and can occur due to attitude errors, vibrations, or a number of other causes.
- the scan equations were derived by direct differentiation of the pinhole camera projection equations with respect to time. All pinhole camera model parameters were allowed to vary with time except for the coordinates of the ground point of interest, camera focal length, and the camera principal point coordinates.
- the resulting scan equations were a coupled system of linear, first-order differential equations with six time varying coefficients. Ideally, one would supply the time histories of the sensor position, velocity, attitude angles, and attitude angle rates, compute the scan six time varying coefficients, and solve the system of differential equations.
- FIG. 1 includes a schematic diagram of a focal plane scanning geometry/configuration.
- the scan configuration 10 includes a forward array 12 of sensor modules 14 and a trailing array 16 of sensor modules 14 .
- Each sensor module 14 includes a plurality of sensors 28 disposed linearly.
- the sensor modules 14 of the forward array 12 are staggered with respect to the sensor modules 14 of the trailing array 16 , such that an overlap 20 of sensor modules is created.
- the forward array 12 and trailing array 16 are offset by an offset 18 .
- the forward array 12 and trailing array 16 combine to form a synthetic array 26 , as shown in phantom in FIG. 1 .
- an object 24 is first detected by the forward array 12 , and, due to the motion of the sensor platform, the object 24 is then detected by trailing array 16 .
- the object 24 follows a scan trajectory 22 along the arrays 12 and 16 .
- Previous approaches involved electro-optical line scanning sensors with offset and overlapping detector placements, as illustrated in FIG. 1 .
- the solution to the scan equations was employed to predict the object crossing points of the leading (forward) array 12 and the trailing array 16 of the scan trajectory 22 of an image point.
- the correlated detector responses of the forward and trailing arrays within each overlap region 20 determined the actual shift in positions of the crossing points. Variations between the predicted and the measured shifts would be used to estimate the impact of any unplanned motion present, and correct for it during formation of the synthetic image array.
- FIG. 2 is a schematic functional flow diagram of a detector junction correlation process.
- the correlation process relies on the fact that the leading and trailing arrays “see” the same image but at different times.
- the correlator can be a normalized cross correlator, a lag product cross correlator, a least squares cross correlator, or other known cross correlator.
- the image correlator is used to determine where a selected portion of the image viewed by the leading array 12 best aligns with the image seen by the trailing array 16 . This provides a measured set of focal plane coordinates that can be compared with coordinates that were predicted via the scan equation solution using support data parameters.
- FIG. 3 includes a schematic functional block diagram of the detector junction measurement process 50 .
- the difference between the measured and predicted focal plane coordinates feed the MRC process.
- scan coefficients are computed 54 , using camera attitude and position data.
- programmed trajectory is also computed 56 .
- the trailing array crossing point is estimated 58 .
- junction overlaps are correlated 60 .
- the trailing array crossing point is measured 62 .
- the differences or residuals between the trailing array crossing estimate 58 and the measured trailing array crossing point are computed 64 . As noted above, these differences or residuals are fed to the MRC process 52 .
- the focal plane coordinate error residuals obtained from the detector junction measurements were exploited to estimate the amount of unprogrammed motion due to unwanted linear, oscillatory, and random motion.
- the quantified amount of unprogrammed motion in these categories was then “corrected” when forming the synthetic image array: The unwanted displacements were subtracted out when mapping the synthetic array interpolation locations.
- FIG. 4 is a schematic diagram of traditional pinhole camera model and projection equations.
- the pinhole camera model yields linear scan equations. However, it is unknown how much error is introduced into the system by using this traditional simplified model. It would be beneficial to construct a system of non-linear scan equations to evaluate the errors introduced by the traditional pinhole camera model.
- a non-linear model of the projection equations is numerically determined from ray trace data in accordance with the following.
- FIG. 5 includes a schematic logical flow diagram of generating correction terms to be added to the traditional pinhole camera model, according to some exemplary embodiments.
- ray traced points 302 through the optics are compared with locations 304 predicted from a pinhole model.
- the position residuals are then least-squares curve fit 306 to bivariate polynomial expressions to obtain correction terms 308 to be added to the traditional pinhole model.
- the order of the polynomial fit required to accurately model the variation from a pinhole camera may vary from design to design but the principle is the same. Once an accurate polynomial representation has been found; the numerical coefficients of the polynomial fit characterize the system's variation from a pinhole camera. In designs that allow for focus variation, it may be necessary to generate a set of polynomials for several different focus ranges.
- the scan equations are derived by direct differentiation of the non-pinhole camera projection equations with respect to time. All the parameters of the non-pinhole camera model are allowed to vary with time except for the coordinates of the ground point of interest, camera focal length, the polynomial coefficients of the variation models, and the camera principal point coordinates.
- FIG. 6 includes a schematic diagram of an approach to working around this singularity issue, according to some exemplary embodiments. Referring to FIG.
- the scan equation 2-9 is a couple system of first order, non-linear differential equations. Practically speaking, such equations can rarely be solved in closed form. Consequently, an accurate approximation is required that can (1) capture the significant non-pinhole character of the projection equations and (2) that leads to a soluble system. Such an approximation is provided in the next section.
- Exemplary desired initial conditions are selected: a point in the focal plane (x 0 ,y 0 ) at time t 0 . There exists a time increment and associated neighborhood of N(x 0 ,y 0 ) for which one may approximate to the first order (bivariate Taylor's series):
- ⁇ 1 [ ⁇ ⁇ x ⁇ ( D ⁇ ( x , y ) E ⁇ ( x , y ) ) ( x 0 , y 0 ) ] ⁇ P ⁇ ( t 0 ) - [ ⁇ ⁇ x ⁇ ( B ⁇ ( x , y ) E ⁇ ( x , y ) ) ( x 0 , y 0 ) ] ⁇ Q ⁇ ( t 0 ) Eq .
- each of the scan coefficients ⁇ 1 , . . . ⁇ 6 depends on all the polynomial coefficients of the variation models, and thus these scan coefficients reflect the significant contributions of the non-pinhole projection equations.
- Evaluation of the exponential function of the matrix ⁇ may be accomplished in closed form by employing the spectral resolution theorem:
- ⁇ is a function defined on the spectrum of A
- m k is the index of ⁇ k
- s ⁇ ⁇ ( t ) e ⁇ ⁇ ( t - t 0 ) ⁇ ⁇ ⁇ ( [ ⁇ ⁇ ⁇ ⁇ cos ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) + ⁇ ⁇ ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) ] ⁇ x 0 + [ ⁇ 2 ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ y 0 [ ⁇ 4 ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ x 0 + [ ⁇ ⁇ ⁇ ⁇ cos ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) - ⁇ ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ] ⁇ y 0
- s ⁇ ⁇ ( t ) e ⁇ ⁇ ( t - t 0 ) ⁇ ⁇ ⁇ ( [ ⁇ ⁇ ⁇ ⁇ cos ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) + ⁇ ⁇ ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) ] ⁇ x 0 + [ ⁇ 2 ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ y 0 [ ⁇ 4 ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ x 0 + [ ⁇ ⁇ ⁇ ⁇ cos ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) - ⁇ ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ] ⁇ y 0
- s ⁇ ( t ) e ⁇ ⁇ ( t - t 0 ) ⁇ ⁇ ⁇ ( [ ⁇ ⁇ ⁇ cos ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) + ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) ] ⁇ x 0 + [ ⁇ 2 ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ y 0 [ ⁇ 4 ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ x 0 + [ ⁇ ⁇ ⁇ cos ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ) - ⁇ sin ⁇ ( ⁇ ⁇ ⁇ ( t - t 0 ) ] ⁇ y 0 ) ⁇ + ⁇ ( ⁇ ⁇ ⁇ cos ⁇
- the constant scan coefficients employed in the approximate solution presented here depend on the coordinates X, Y, Z of the ground target point.
- a set of ground coordinates is chosen to be used in computing ⁇ 1 , . . . ⁇ 6 .
- FIG. 7 is a schematic diagram of an error perturbation model, according to some exemplary embodiments.
- FIG. 7 illustrates a state at time t 0 and two possible positions at some time t after t 0 .
- One of the positions is defined by the nominal state transition matrix and forcing vector provided in FIG. 7
- the other position is defined by a perturbed state transition matrix and forcing vector, also provided in FIG. 7 .
- the difference in position between the two points is the position error, which is defined by the fundamental error propagation equation, also provided in FIG. 7 and reproduced below as Eq. 4-1a.
- ⁇ ⁇ ⁇ s ⁇ ⁇ ( t ) [ e ( ⁇ + ⁇ ) ⁇ ( t - t 0 ) - e ⁇ ⁇ ( t - t 0 ) ] ⁇ s ⁇ ⁇ ( t 0 ) + [ ⁇ t 0 t ⁇ e ( ⁇ + ⁇ ) ⁇ ( t - ⁇ ) ⁇ ( F ⁇ + ⁇ ⁇ ⁇ F ⁇ - ⁇ ) e ⁇ ⁇ ( t - ⁇ ) ⁇ F ⁇ ] ⁇ d ⁇ Eq .
- ⁇ (t) represents the total error in the focal plane coordinates arising from propagating forward, from the initial conditions (t 0 ), in time by (t ⁇ t 0 ) in the presence of scan coefficient errors ⁇ 1 , . . . , ⁇ 6 . It is noted that this approach does not require the individual estimation of linear, oscillatory and random errors, as was the case with other previous applications.
- a first-order error propagation model is constructed by expanding the indicated state transition matrices in equation 4-1a in time, and retaining only the first order terms:
- ⁇ ⁇ ⁇ s ⁇ ⁇ ( t ) [ ⁇ ⁇ ( t - t 0 ) ] ⁇ s ⁇ ⁇ ( t 0 ) + ⁇ ⁇ [ ⁇ ⁇ ⁇ F ⁇ ⁇ ( t - t 0 ) ] + 1 2 ⁇ [ ( ⁇ ) ⁇ F ⁇ + ⁇ ⁇ ( ⁇ ⁇ ⁇ F ⁇ ) ] ⁇ ( t - t 0 ) 2 Eq . ⁇ 4 ⁇ - ⁇ 3
- equation 4-3 will be rewritten to establish a measurement sensitivity matrix, which relates the errors in the scan coefficients to the detector junction measured coordinate differences (between the predicted and correlation-determined positions).
- Equation 4-3 is expanded in terms of the individual scan coefficient errors ⁇ 1 , . . . , ⁇ 6 and terms are rearranged to obtain:
- equation 4-5a is only valid when the indicated matrix inversion exists. In the event that the matrix is not invertible for a particular line, this line would have its total motion error correction by interpolating the closest lines that yielded successful solutions.
- FIG. 8 includes a schematic block diagram of the MRC process described in detail in the foregoing text.
- the MRC correction process of the disclosure can be implemented as depicted in FIG. 8 .
- total motion error is removed prior to synthetic array generation.
- a least squares estimate of ⁇ 6 ⁇ 1 at 140 is computed using camera attitude and position data and measured junction residuals.
- position errors are computed at 142 .
- Scan coefficients are computed at 154 , also using the camera attitude and position data.
- the programmed trajectory is computed at 156 using the computed scan coefficients.
- the position errors computed at 142 are subtracted at 164 from the programmed trajectory computed in 156 to generate the synthetic array.
- an error model has been developed that relates a given set of scan coefficient errors to the resulting focal plane coordinate errors.
- the scan coefficient errors Considering the scan coefficient errors to be random variables with a known joint probability distribution, expressions for the mean and covariance of the resulting focal plane coordinate errors are obtained. These expressions are referred to herein as the covariance model.
- P ⁇ is the 6 ⁇ 6 covariance matrix of the scan coefficient errors.
- a representative scan coefficient covariance is computed by employing a sufficient number of the line-to-line individual scan coefficient error vectors from the least squares process via a “moving window” approach.
- the estimated errors in the scan coefficients are related on a line-by-line basis to knowledge errors in the fifteen parameters of the platform support data (sensor position (3) and velocity (3), attitude angles (3) and rates (3), ground point location (3)). It is assumed that the underlying platform parameter knowledge errors are constant across an image line.
- the MRC approach described herein in detail includes certain assumptions upon which the approach is constructed. These assumptions are:
- the non-pinhole camera model variations can be accurately modeled via nth-order bivariate polynomials obtained from curve fitting the non-pinhole disparities obtained from a sufficient number of ray traces.
- This disclosure describes quadratic bivariate polynomials for mathematical brevity and proof of concept, as an exemplary illustration only.
- FIG. 9 includes a schematic logical flow diagram of the line-by-line MRC computational process, according to some exemplary embodiments.
- initial platform support parameters are used in step 202 to project an initial point on the leading array to the trailing array at each detector junction across a line.
- correlation at each detector junction is performed to establish actual projected point location.
- a difference between projected and measured focal plane coordinates is computed.
- the coordinate differences computed at 206 are used to estimate, for example, by least-squares estimation, the scan coefficient errors for a line.
- step 212 the coordinate differences computed at 206 are used to estimate, for example, by least-squares estimation, errors in platform support parameters. If another iteration is required, in step 210 , the estimated errors in platform support parameters are used to correct the errors, and flow returns to step 202 . In contrast, after step 212 , if iteration is complete, in step 214 , the estimated scan errors are used to correct the projection from each position along the synthetic array to the actual detector locations. It is noted that the iteration branch depicted in FIG. 9 is optional based on the accuracy of the estimated errors in the support parameters.
- the rate at which the platform position, velocity, attitude angles and rates are measured by on-platform equipment may not support a line-by-line implementation. In these cases one would compute new corrections every m lines, where m is chosen to be consistent with the interpolation accuracy supported by the time sampling granularity.
- the implementation can be as a computer program product (i.e., a computer program tangibly embodied in an information carrier).
- the implementation can, for example, be in a machine-readable storage device and/or in a propagated signal, for execution by, or to control the operation of, data processing apparatus.
- the implementation can, for example, be a programmable processor, a computer, and/or multiple computers.
- a computer program can be written in any form of programming language, including compiled and/or interpreted languages, and the computer program can be deployed in any form, including as a stand-alone program or as a subroutine, element, and/or other unit suitable for use in a computing environment.
- a computer program can be deployed to be executed on one computer or on multiple computers at one site.
- Method steps can be performed by one or more programmable processors and/or controllers executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and an apparatus can be implemented as, special purpose logic circuitry.
- the circuitry can, for example, be a FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit).
- Modules, subroutines, and software agents can refer to portions of the computer program, the processor, the special circuitry, software, and/or hardware, e.g., a controller such as a microcontroller, that implements that functionality.
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor receives instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data.
- a computer can be operatively coupled to receive data from and/or transfer data to one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- Data transmission and instructions can also occur over a communications network.
- Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices.
- the information carriers can, for example, be EPROM, EEPROM, flash memory devices, magnetic disks, internal hard disks, removable disks, magneto-optical disks, CD-ROM, and/or DVD-ROM disks.
- the processor and the memory can be supplemented by and/or incorporated in special purpose logic circuitry.
- the above described techniques can be implemented on a computer having a display device.
- the display device can, for example, be a cathode ray tube (CRT) and/or a liquid crystal display (LCD) monitor.
- CTR cathode ray tube
- LCD liquid crystal display
- the interaction with a user can, for example, be a display of information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer, e.g., interact with a user interface element.
- Other kinds of devices can be used to provide for interaction with a user.
- Other devices can, for example, be feedback provided to the user in any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback.
- Input from the user can, for example, be received in any form, including acoustic, speech, and/or tactile input.
- the above described techniques can be implemented in a distributed computing system that includes a back-end component.
- the back-end component can, for example, be a data server, a middleware component, and/or an application server.
- the above described techniques can be implemented in a distributing computing system that includes a front-end component.
- the front-end component can, for example, be a client computer having a graphical user interface, a Web browser through which a user can interact with an example implementation, and/or other graphical user interfaces for a transmitting device.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, wired networks, and/or wireless networks.
- LAN local area network
- WAN wide area network
- the Internet wired networks, and/or wireless networks.
- the system can include clients and servers.
- a client and a server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- Packet-based networks can include, for example, the Internet, a carrier internet protocol (IP) network, e.g., local area network (LAN), wide area network (WAN), campus area network (CAN), metropolitan area network (MAN), home area network (HAN), a private IP network, an IP private branch exchange (IPBX), a wireless network, e.g., radio access network (RAN), 802.11 network, 802.16 network, general packet radio service (GPRS) network, HiperLAN, and/or other packet-based networks.
- IP carrier internet protocol
- LAN local area network
- WAN wide area network
- CAN campus area network
- MAN metropolitan area network
- HAN home area network
- IP network IP private branch exchange
- wireless network e.g., radio access network (RAN), 802.11 network, 802.16 network, general packet radio service (GPRS) network, HiperLAN, and/or other packet-based networks.
- RAN radio access network
- 802.11 802.11 network
- 802.16 general packet radio service
- Circuit-based networks can include, for example, the public switched telephone network (PSTN), a private branch exchange (PBX), a wireless network, e.g., RAN, Bluetooth, code-division multiple access (CDMA) network, time division multiple access (TDMA) network, global system for mobile communications (GSM) network, and/or other circuit-based networks.
- PSTN public switched telephone network
- PBX private branch exchange
- CDMA code-division multiple access
- TDMA time division multiple access
- GSM global system for mobile communications
- the computing system can also include one or more computing devices.
- a computing device can include, for example, a computer, a computer with a browser device, a telephone, an IP phone, a mobile device, e.g., cellular phone, personal digital assistant (PDA) device, laptop computer, electronic mail device, and/or other communication devices.
- the browser device includes, for example, a computer, e.g., desktop computer, laptop computer, with a World Wide Web browser, e.g., Microsoft® Internet Explorer® available from Microsoft Corporation, Mozilla® Firefox available from Mozilla Corporation.
- the mobile computing device includes, for example, a Blackberry®, iPAD®, iPhone® or other smartphone device.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Studio Devices (AREA)
- Geometry (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
Δx=a 00 +a 01 y+a 02 y 2 +a 10 x+a 11 xy+a 20 x 2 Eq. 1-1a
Δx=b 00 +b 01 y+b 02 y 2 +b 10 x+b 11 xy+b 20 x 2 Eq. 1-1b
This quadratic model provides six coefficients to represent the variation from a pinhole camera in each of two coordinates; for a total of twelve real-valued coefficients.
Hence, the non-pinhole camera projection equations are:
2 Non-Linear Scan Equations
These expressions may be immediately simplified to:
Rearranging terms yields:
Equations 2-3a and 2-3b may be rewritten in matrix form as:
Thus, assuming the indicated matrix is invertible, one may write that:
Consequently,
Now, let
Equation 2-7a then becomes
Substituting Equations 3-1a through 3-1g into Equation 2-9 and setting
Allows the scan equation 2-9 to be rewritten in the form:
Here Γ1, . . . Γ6 are constant coefficients. Hence, the approximate scan equations constitute a coupled system of first order differential equations with constant coefficients. One may now rewrite the scan equations in matrix form as:
It is noted that the function eΛ(t−t
As the exponential is an entire function in the complex plane, then the series in equation 3-5 converges for all complex 2×2 matrices.
Moreover, the matrices Zkj are linearly independent n×n complex matrices and commute with A.
Recall that the index mk of an eigenvalue λk of the matrix Λ is the power of the term (λ−λk)m
Successful application of this theorem requires that one first:
-
- Determine the eigenvalues of the matrix Λ.
- Compute the matrices Zkj.
The eigenvalues are determined via the characteristic equation:
The resulting characteristic equation is quadratic:
λ2−(Γ1+Γ5)λ+(Γ1Γ5−Γ2Γ4)=0
One finds the eigenvalues to be:
D=(Γ1+Γ5)2−4(Γ1Γ5−Γ2Γ4) Eq. 3-9
-
- Case 1: D>0 Two distinct real eigenvalues
- Case 2: D<0 Two distinct complex conjugate eigenvalues
- Case 3: D=0 One repeated real eigenvalue
Hence, expanding terms
Observe that one may rewrite the integral in equation 3-14 to obtain:
Direct integration establishes that:
Substituting equations 3-16a and 3-16b into 3-15 yields:
Consequently, the solution to Case 1 (D>0 two distinct real eigenvalues) is:
One can show that
Substituting equations 3-20a and 3-20b into 3-19 yields:
Hence, one finds the solution for Case 2 (D<0 Two distinct complex conjugate eigenvalues) to be:
Hence, one may write that;
A change of variables yields;
Consequently,
Integrating by parts yields that:
Substituting equations 3-27a and 3-27b into 3-26 yields the solution to Case 3 (D=0 One repeated real eigenvalue):
Here Δ(t) represents the total error in the focal plane coordinates arising from propagating forward, from the initial conditions (t0), in time by (t−t0) in the presence of scan coefficient errors ΔΓ1, . . . , ΔΓ6. It is noted that this approach does not require the individual estimation of linear, oscillatory and random errors, as was the case with other previous applications.
Substituting equations 4-2a and 4-2b into 4-1 and retaining only first order terms in the scan coefficient errors ΔΓ1, . . . , ΔΓ6 yields:
ƒ(ΔΓ1, . . . ,ΔΓ6)=∫∫∫ƒ(ΔΓ1, . . . ,ΔΓ6)p(ΔΓ1, . . . ,ΔΓ6)d(ΔΓ1) . . . d(ΔΓ6) Eq. 5-1
Δ(t)=H 2×6 Δ 6×1 Eq. 5-2
Likewise one can compute the covariance of the focal plane coordinate errors via:
≡(Δ(t)−Δ(t))(Δ(t)−Δ(t))T Eq. 5-3a
=H 2×6 Δ 6×1Δ T 1×6 H T 6×2 −H 2×6 Δ 6×1 Δ T 1×6 H T 6×2 Eq. 5-3b
=H 2×6 P ΔΓ H T 6×2 Eq. 5-3c
One can employ all the valid junction measurement for a particular line to write:
The resulting least squares solution over m valid junctions is:
Claims (13)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/272,151 US9521326B2 (en) | 2013-05-08 | 2014-05-07 | Misregistration correction using non-pinhole camera model and non-linear scan equations |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361820914P | 2013-05-08 | 2013-05-08 | |
| US14/272,151 US9521326B2 (en) | 2013-05-08 | 2014-05-07 | Misregistration correction using non-pinhole camera model and non-linear scan equations |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20140333783A1 US20140333783A1 (en) | 2014-11-13 |
| US9521326B2 true US9521326B2 (en) | 2016-12-13 |
Family
ID=50933523
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/272,151 Active 2034-08-15 US9521326B2 (en) | 2013-05-08 | 2014-05-07 | Misregistration correction using non-pinhole camera model and non-linear scan equations |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9521326B2 (en) |
| WO (1) | WO2014182815A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2653100C1 (en) * | 2017-02-09 | 2018-05-07 | Акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (АО "Российские космические системы") | Method for obtaining and processing images of earth's remote sensing deformed by turbulent air |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3710109B1 (en) * | 2016-11-21 | 2023-08-23 | Leo Cancer Care, Inc. | Three-dimensional tracking of a target in a body |
| EP3651451B1 (en) * | 2018-11-07 | 2022-08-17 | IMEC vzw | A device for time delay and integration imaging and a method for controlling time delay and integration imaging |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130011020A1 (en) * | 2011-07-06 | 2013-01-10 | Morpho, Inc. | Image processing device, image processing method and storage medium |
| US20150319379A1 (en) * | 2011-06-10 | 2015-11-05 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
-
2014
- 2014-05-07 WO PCT/US2014/037150 patent/WO2014182815A1/en not_active Ceased
- 2014-05-07 US US14/272,151 patent/US9521326B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150319379A1 (en) * | 2011-06-10 | 2015-11-05 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
| US20130011020A1 (en) * | 2011-07-06 | 2013-01-10 | Morpho, Inc. | Image processing device, image processing method and storage medium |
Non-Patent Citations (3)
| Title |
|---|
| Andrew W. Fitzgibbon, Simulataneous Linear Estimation of Multiple View Geometry and Lens Distortion, Proceedings of the 2001 IEEE Computer Vision and Pattern Recognition. vol. 1, Jan. 1, 2001 pp. 1-8. |
| Janschek et al., "Integrated Camera Motion Compensation by Real-Time Image Motion Tracking and Image Deconvolution", Proceedings of the 2005 IEEE/ASME, International Conference on Advanced Intellegent Mechatronics, Montery, CA Jul. 24-28, 2005, pp. 1437-1444. |
| Mingyang et al., "Real-Time Motion Tracking on a Cellphone using Inertial Sensing and a Rolling-Shutter Camera", 2013 IEEE International Conference on Robotics and Automation (ICRA), Karisruhe, Germany May 6-10, 2013, pp. 4712-4719. |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2653100C1 (en) * | 2017-02-09 | 2018-05-07 | Акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (АО "Российские космические системы") | Method for obtaining and processing images of earth's remote sensing deformed by turbulent air |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014182815A9 (en) | 2015-04-30 |
| WO2014182815A1 (en) | 2014-11-13 |
| US20140333783A1 (en) | 2014-11-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Le Gentil et al. | 3d lidar-imu calibration based on upsampled preintegrated measurements for motion distortion correction | |
| KR101912195B1 (en) | Method and device for real-time target location and map creation | |
| JP7297164B2 (en) | Image reconstruction using an artificial intelligence (AI) module that is agnostic to image acquisition settings | |
| US20140085462A1 (en) | Video-assisted target location | |
| CN111896914A (en) | A co-location method, apparatus, device and storage medium | |
| US20160165140A1 (en) | Method for camera motion estimation and correction | |
| CN113508308B (en) | Radar imaging by fusing measurements from an ensemble of antennas | |
| US10360688B2 (en) | Fast multi-spectral image registration by modeling platform motion | |
| Jwo et al. | Unscented Kalman filter with nonlinear dynamic process modeling for GPS navigation | |
| JP2016161570A (en) | Method of obtaining location of device and device | |
| US9521326B2 (en) | Misregistration correction using non-pinhole camera model and non-linear scan equations | |
| US20160034607A1 (en) | Video-assisted landing guidance system and method | |
| US9350917B2 (en) | Misregistration correction | |
| CN115790401A (en) | Displacement measurement method based on visual measurement and related equipment | |
| Sibley et al. | A sliding window filter for incremental SLAM | |
| Bordoy et al. | Robust tracking of a mobile receiver using unsynchronized time differences of arrival | |
| US10223331B2 (en) | Warp models for registering multi-spectral imagery | |
| RU2610831C1 (en) | Method for estimating parameters of object's trajectory | |
| JP7255690B2 (en) | Phase unwrapping device and phase unwrapping method | |
| CN120034277A (en) | Signal propagation loss acquisition method, device, electronic device and storage medium | |
| Zhou et al. | Distributed invariant kalman filter for cooperative localization using matrix lie groups | |
| JP6819797B2 (en) | Position estimation device, position estimation method and program, and position estimation system | |
| CN115774276B (en) | A method and system for eliminating pseudorange step skipping in GNSS receivers | |
| Wu et al. | Camera sensor model for visual SLAM | |
| Yang et al. | Robust LiDAR-inertial Calibration System and Refined Normal Estimation Module for 3D Mapping |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: RAYTHEON COMPANY, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAFARELLE, SARAH A.;MUSE, ARCHIE HENRY;REEL/FRAME:034545/0645 Effective date: 20140506 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |