Next Article in Journal
Plantar Pressure Variability and Asymmetry in Elderly Performing 60-Minute Treadmill Brisk-Walking: Paving the Way towards Fatigue-Induced Instability Assessment Using Wearable In-Shoe Pressure Sensors
Next Article in Special Issue
Safe Driving Distance and Speed for Collision Avoidance in Connected Vehicles
Previous Article in Journal
Noise Radar Technology: Waveforms Design and Field Trials
Previous Article in Special Issue
Limited Visibility Aware Motion Planning for Autonomous Valet Parking Using Reachable Set Estimation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

V-Spline: An Adaptive Smoothing Spline for Trajectory Reconstruction

1
SAGI West, School of Molecular and Life Sciences, Curtin University, Perth 6085, Australia
2
Department of Mathematics & Statistics, University of Otago, Dunedin 9054, New Zealand
3
Department of Physics, University of Otago, Dunedin 9054, New Zealand
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(9), 3215; https://doi.org/10.3390/s21093215
Submission received: 22 March 2021 / Revised: 14 April 2021 / Accepted: 24 April 2021 / Published: 6 May 2021

Abstract

:
Trajectory reconstruction is the process of inferring the path of a moving object between successive observations. In this paper, we propose a smoothing spline—which we name the V-spline—that incorporates position and velocity information and a penalty term that controls acceleration. We introduce an adaptive V-spline designed to control the impact of irregularly sampled observations and noisy velocity measurements. A cross-validation scheme for estimating the V-spline parameters is proposed, and, in simulation studies, the V-spline shows superior performance to existing methods. Finally, an application of the V-spline to vehicle trajectory reconstruction in two dimensions is given, in which the penalty term is allowed to further depend on known operational characteristics of the vehicle.

1. Introduction

Global Positioning System (GPS) technology has become an essential tool in a wide range of applications involving moving vehicles, from transport management [1] and traffic safety studies [2] to modern precision farming [3]. Nevertheless, the accuracy of GPS tracking seems to be neglected in many applications [4,5]. Even if an accurate GPS device is utilized, GPS remains subject to various systematic errors due to the number of satellites in view, uncertainty in satellite orbits, clock and receiver issues, etc. [6,7]. These measurements are usually irregularly recorded, leading to what is known as irregularly spaced or intermittent data. Reconstruction or forecasting based on irregularly spaced data is usually more complicated and less accurate than that based on regularly spaced data [8].
To be fit for purpose, trajectory reconstruction must be accurate and robust. Two key issues for reconstruction are (i) how to handle observations that are inherently noisy measurements of the truth, and (ii) how to interpolate appropriately between observations, also known as path interpolation. In this context, statistical smoothing techniques can be useful processing tools because they are designed to minimize the impact of random error, and still typically require less time to detect random errors than visual inspection [9].
It has been shown previously that, if kinematic information such as velocity and acceleration can be included, interpolation and hence trajectory reconstruction can be greatly improved. The authors in [10,11] used B-splines to give a closed-form expression for a trajectory with continuous second derivatives that passes through the position points smoothly while ignoring outliers. The authors in [12] presented a quintic spline trajectory reconstruction algorithm connecting a series of reference knots that produces continuous position, velocity, and acceleration profiles in the context of computer (or computerized) numerical control (CNC). The authors in [13] gave a piecewise cubic reconstruction found by matching the observed position and velocity at the endpoints of each interval; this is essentially a Hermite spline. The authors in [14] also used Hermite interpolation to fit position, velocity and acceleration with given kinematic constraints. The authors in [15] implemented spline-based trajectories in order to overcome parametric singularities that occur in some reconstruction methods. The author in [16] proposed the kinematic interpolation approach that uses a set of kinematic equations to describe the motion of an object in terms of polynomial splines. Based on an adaptive cubic spline interpolation, the authors in [17] proposed an approach that, in the context of the Aircraft Communication Addressing and Reporting System, improves the smoothness and precision of trajectory reconstruction.
These approaches focus on optimal paths that are typically the shortest in either distance or time between starting and end points. Additionally, in some approaches, the moving object is assumed to be a point-like object. In this case, the object can rotate about itself to orient along the path in the direction of the goal point [15]. This assumption is unlikely to be appropriate for a real vehicle or vessel, particularly a tractor, which is the motivating example in our study.
Modern farming relies on the precise application of fertilizers, pesticides and irrigation. Large commercial farms typically operate a fleet of farm vehicles for these tasks, and it is of crucial importance for economic, environmental and regulatory reasons that the location and operational characteristics of these vehicles are recorded systematically and accurately. In order to do this, it is becoming standard to equip farm vehicles with GPS units to record the location of the vehicle on the farm. It is the goal of this study to develop an appropriate tool to reconstruct vehicle trajectories from such data, particularly when it is intermittent and noisy.
In this study, we assume that we have independent records of the position and velocity of a moving object at a sequence of observation times. Traditional methods often assume motion with constant speed between two observations times, but this will not work well in our case. Additionally, motivated by the fact that tractors often work in open fields, we assume no further information is available to constrain the position of the object. Initially, we constructed trajectories in terms of a Hermite cubic spline basis [18,19]. In each interval, the reconstruction is clearly continuous, as are its first and second derivatives. The goal is then to connect the piecewise splines keeping the trajectory and its first derivative continuous at the interior knots. In this approach, the trajectory is not required to pass through each knot and the main objective is the smoothness of the path, not a shortest or minimum-time path. To formalize this procedure, we propose a new objective function that incorporates velocity information and includes an adaptive penalty term. The penalty term utilises information about the distance and travel time on each interval. We dub the proposed smoothing spline the V-spline because it incorporates velocity information and can be applied to vehicle and vessel tracking. We show that the V-spline works better than other methods in simulation studies and that it produces satisfactory outcomes in a real-world application.
The structure of this paper is as follows: in Section 2, we introduce the basis functions and the V-spline objective function that depends both on position residuals y i f ( t i ) and velocity residuals v i f ( t i ) . A new parameter γ in the objective function controls the degree to which the velocity information is used in the reconstruction. We show that the V-spline can be written in terms of modified Hermite spline basis functions. We also introduce a particular adaptive V-spline that seeks to control the impact of irregularly sampled observations and noisy velocity measurements. In Section 3, a cross-validation scheme for estimating the V-spline parameters is given. Section 4 details the performance of the V-spline on simulated data based on the Blocks, Bumps, HeaviSine and Doppler test signals [20]. Finally, an application of the V-spline to a two-dimensional data set is presented in Section 5. R code for implementing V-spline and reproducing our outcomes is provided as Appendix A, Appendix B and Appendix C at the end of the manuscript.

2. V-Spline

2.1. Objective Function

Conventional smoothing spline estimates of f ( t ) appear as a solution to the following minimization problem: find f ^ C ( 2 ) [ a , b ] that minimizes the penalized residual sum of squares,
RSS = i = 1 n y i f ( t i ) 2 + λ a b f ( t ) 2 d t
for a pre-specified value λ > 0 [21,22,23]. The objective function combines goodness-of-fit to the data with a measure of roughness [24].
For V-splines, we consider the situation of paired position data y = y 1 , , y n and velocity data v = v 1 , , v n at a sequence of times satisfying a = t 0 t 1 < t 2 < < t n t n + 1 = b . For f C p . w . ( 2 ) [ a , b ] , where the second derivative of f ( t ) is piecewise continuous, we define the objective function
J [ f ] = 1 n i = 1 n y i f ( t i ) 2 + γ n i = 1 n v i f ( t i ) 2 + a b λ ( t ) f ( t ) 2 d t ,
where γ > 0 , and we have chosen the penalty function λ ( t ) to be a piecewise constant function on interior intervals, i.e for t [ t i , t i + 1 ) , i = 1 , , n 1 ,
λ ( t ) = λ i .
In fact, each f i C [ t i , t i + 1 ] ( 2 ) is a Hermite spline which satisfies the properties of a cubic spline. The complete spline function f, which connects all f i s, has piecewise continuous second derivative, and will be continuous if a particular condition is met. The second derivative f is zero on the exterior intervals [ a , t 1 ] and [ t n , b ] . From now on, we will understand λ ( t ) to be piecewise constant (3), and we will often use λ to refer to the set of  λ i .
Theorem 1.
For n 2 , the objective function J [ f ] is uniquely minimized by a V-spline, piecewise on the intervals [ t i , t i + 1 ) , i = 1 , , n 1 , and linear on [ a , t 1 ] and [ t n , b ] .
The proof of Theorem 1 is in Appendix B.
Remark: In the language of splines, the points t 1 , , t n are the interior knots of the V-spline, and a = t 0 , b = t n + 1 are the exterior or boundary knots.

2.2. Basis Functions

The cubic Hermite spline f ( i ) ( t ) on an arbitrary interval [ t i , t i + 1 ) with two consecutive points { y i , v i } and { y i + 1 , v i + 1 } is expressed as
f ( i ) ( t ) = h 00 ( i ) ( t ) y i + h 10 ( i ) ( t ) v i + h 01 ( i ) ( t ) y i + 1 + h 11 ( i ) ( t ) v i + 1 ,
where the basis functions are
h 00 i t = 2 t t i t i + 1 t i 3 3 t t i t i + 1 t i 2 + 1 t i t < t i + 1 0 otherwise ,
h 10 i t = t t i 3 t i + 1 t i 2 2 t t i 2 t i + 1 t i + t t i . t i t < t i + 1 0 otherwise ,
h 01 i t = 2 t t i t i + 1 t i 3 + 3 t t i t i + 1 t i 2 + t i t < t i + 1 0 otherwise ,
h 11 i t = t t i 3 t i + 1 t i 2 t t i 2 t i + 1 t i + t + 123 t i t < t i + 1 0 otherwise .
For V-splines, a slightly more convenient basis is given by { N k ( t ) } k = 1 2 n , where N 1 ( t ) = h 00 ( 1 ) ( t ) , N 2 ( t ) = h 10 ( 1 ) ( t ) , and for all i = 1 , 2 , , n 2 , we have
N 2 i + 1 ( t ) = h 01 ( i ) ( t ) + h 00 ( i + 1 ) ( t ) , N 2 i + 2 ( t ) = h 11 ( i ) ( t ) + h 10 ( i + 1 ) ( t ) ,
and
N 2 n 1 ( t ) = h 01 ( n 1 ) ( t ) if   t < t n 1 if   t = t n , N 2 n ( t ) = h 11 ( n 1 ) ( t ) .
Therefore, any f C p . w . ( 2 ) [ a , b ] can then be represented in the form
f ( t ) = k = 1 2 n N k ( t ) θ k ,
where θ k k = 1 2 n are parameters corresponding with the “true” position f ( t i ) and velocity f ( t i ) at the observation points.

2.3. Computing the V-Spline

In terms of the basis functions in the previous section, the objective function (2) is given by
n J [ f ] ( θ , λ , γ ) = y B θ y B θ + γ v C θ v C θ + n θ Ω λ θ ,
where B and C are n × 2 n matrices with components
[ B ] i j = N j ( t i ) = 1 , j = 2 i 1 0 , otherwise
[ C ] i j = N j ( t i ) = 1 , j = 2 i 0 , otherwise
and Ω λ is a 2 n × 2 n matrix with components [ Ω λ ] j k = a b λ ( t ) N j ( t ) N k ( t ) d t . In the following, we reserve the use of boldface for n × 1 vectors and n × n matrices.
The detailed structure of Ω λ is presented in Appendix A. It is convenient to write Ω λ = i = 1 n 1 λ i Ω ( i ) , where [ Ω ( i ) ] j k = t i t i + 1 N j ( t ) N k ( t ) d t . It is then evident that Ω λ is a bandwidth four matrix.
Since Equation (10) is a quadratic form in terms of θ , it is straightforward to establish that the objective function is minimized at
θ ^ = B B + γ C C + n Ω λ 1 B y + γ C v ,
which can be identified as a generalized ridge regression. The fitted V-spline is then given by f ^ ( t ) = k = 1 2 n N k ( t ) θ ^ k .
The V-spline is an example of a linear smoother [25]. This is because the estimated parameters in Equation (13) are a linear combination of y and v . Denoting by f ^ and f ^ the vector of fitted values f ^ ( t i ) and f ^ ( t i ) at the training points t i , we have
f ^ = B B B + γ C C + n Ω λ 1 B y + γ C v : = S λ , γ y + γ T λ , γ v
f ^ = C B B + γ C C + n Ω λ 1 B y + γ C v : = U λ , γ y + γ V λ , γ v
where S λ , γ , T λ , γ , U λ , γ and V λ , γ are smoother matrices that depend only on t i , λ ( t ) and γ . It is not hard to show that S λ , γ and V λ , γ are symmetric, positive semi-definite matrices. Note that T λ , γ = U λ , γ .
Corollary 1.
If f ( t ) is a V-spline, then, for almost all y and v , f ( t ) is continuous at the knots if and only if γ = 0 and λ i = λ 0 , for all i = 1 , , n 1 .

2.4. Adaptive V-Spline

Until now, we have not explicitly considered the impact of irregularly sampled observations of noisy measurements of velocity on trajectory reconstruction. In order to do this, it is instructive to evaluate the contribution to the penalty term from the interval [ t i , t i + 1 ) . Using (4), it is relatively straightforward to show that
f ^ ( t ) = 1 t i + 1 t i 6 ε i + + ε i t t i t i + 1 t i 2 2 ε i + + ε i ,
where ε i + = v i v ¯ i , ε i = v i + 1 v ¯ i and v ¯ i = ( y i + 1 y i ) / ( t i + 1 t i ) is the average velocity over the interval. The ε i ± can be interpreted as the difference at time t i and t i + 1 respectively between the velocity implied by an interpolating Hermite spline and the velocity implied by a straight line reconstruction.
The contribution to the penalty term is then
4 λ i ( ε i + ) 2 + ε i + ε i + ( ε i ) 2 Δ T i ,
where Δ T i = t i + 1 t i . We call the quantity ( ε i + ) 2 + ε i + ε i + ( ε i ) 2 , the square of the discrepancy of the velocity on the interval [ t i , t i + 1 ) .
As a consequence of (17), larger time intervals will tend to contribute less to the penalty term (other things being equal). However, this is exactly when we would expect the velocity at the endpoints of the interval to provide less useful information about the trajectory over the interval. In the case when the observed change in position is small, i.e., when y i + 1 y i = v ¯ i Δ T i 0 , over-reliance on noisy measurements of velocity will result in “wiggly” reconstructions. In these two instances—graphically depicted in Figure 1a—we would like the V-spline to adapt and to favor straighter reconstructions; this is a deliberate design choice. We can achieve this by choosing
λ i = η Δ T i v ¯ i 2 ,
where η is a parameter to be estimated. The penalty term then takes a particularly compelling form: the contribution from the interval [ t i , t i + 1 ) (17) is proportional to
discrepancy in velocity average velocity 2
for all i. We call the resulting spline the adaptive V-spline. The spline when λ i = λ 0 or, more accurately, when λ i is independent of Δ T i and v ¯ i , we call it the non-adaptive V-spline.

3. Parameter Selection and Cross-Validation

The issue of choosing the smoothing parameter is ubiquitous in curve estimation and there are two different philosophical approaches to the problem. The first is to regard the free choice of smoothing parameter as an advantageous feature of the procedure. The second is to let the data determine the parameter [22,26], using a procedure such as cross-validation (CV) or generalized cross-validation (GCV) [21]. We prefer the latter and use the data with GCV to train our model and find the best parameters.
In standard regression, which assumes the mean of the observation errors is zero, the true regression curve f ( t ) has the property that, if an observation y i is omitted at time point t i , the value f ( t i ) is the best predictor of y i in terms of mean squared error [22]. We use this observation to motivate a leave-one-out cross-validation scheme to estimate λ and γ for both the non-adaptive and the adaptive V-splines.
Let f ^ ( i ) ( t , λ , γ ) be the minimizer of
1 n j i y j f ( t j ) 2 + γ n j i v j f ( t j ) 2 + a b λ ( t ) f ( t ) 2 d t ,
and define the cross-validation score
arg min λ , γ > 0 C V λ , γ   =   arg min λ , γ > 0 i = 1 n y i f ^ ( i ) t i , λ , γ 2 .
We then choose λ and γ that jointly minimize C V ( λ , γ ) .
The following theorem establishes that we can compute the cross-validation score without knowing the f ^ ( i ) ( t , λ , γ ) :
Theorem 2.
The cross-validation score of a V-spline satisfies
arg min λ , γ > 0 C V λ , γ = arg min λ , γ > 0 i = 1 n y i f ^ ( t i ) + γ T i i 1 γ V i i ( v i f ^ ( t i ) ) 1 S i i γ T i i 1 γ V i i U i i 2 ,
where f ^ is the V-spline smoother calculated from the full data set with smoothing parameter λ and γ, and S i i = [ S λ , γ ] i i , etc.
The proof of Theorem 2 is in Appendix C.

4. Simulation Study

In this section, we give an extensive comparison of methods for equal-spaced data. The comparison is based on the ability to reconstruct trajectories derived from Blocks, Bumps, HeaviSine and Doppler, which were used in [20,27,28] to mimic problematic features in imaging, spectroscopy and other types of signal processing.
Letting g ( t ) denote any one of Blocks, Bumps, HeaviSine or Doppler, we treat g ( t ) as the instantaneous velocity of the trajectory f ( t ) at time t, i.e., f ( t ) = g ( t ) . Setting f ( t 1 ) = 0 , the position is then updated in terms of the average velocity over each interval:
f ( t i + 1 ) = f ( t i ) + g ( t i ) + g ( t i + 1 ) 2 ( t i + 1 t i ) ,
which is accurate to the second order in t i + 1 t i . Finally, the observed position and velocity are found by adding i.i.d. zero-mean Gaussian noise:
y i = f ( t i ) + ε i ( f ) , v i = g ( t i ) + ε i ( g ) ,
where ε i ( f ) N ( 0 , σ f / S N R ) , ε i ( g ) N ( 0 , σ g / S N R ) , σ f is the standard deviation of the positions f ( t i ) , σ g is the standard deviation of the velocities g ( t i ) , and SNR is the signal-to-noise ratio, which we take to be 3 or 7.
We compare the performance of the adaptive V-spline with a spatially adaptive penalized spline known as the P-spline with the function asp2 from the package AdaptFitOS [29,30,31], a generalized additive model gam from the package mgcv [32,33], the kinematic interpolation approach (KI) by [16], as well as the adaptive V-spline with γ = 0 , which becomes a conventional spline with Hermite basis functions, and the non-adaptive V-spline where λ 0 is a constant. It is important to note that only the KI approach, the non-adaptive and adaptive V-splines incorporate velocity information. The V-spline parameters are obtained by minimizing the cross-validation score (22). In the gam model, we use tp basis functions with 1024 knots. For the KI approach, the position at time t i is interpolated from the two neighbouring points at t i 1 and t i + 1 . (The positions at t 1 and t n are interpolated from points at ( t 1 , t 2 ) and ( t n 1 , t n ) , respectively.) Following [34], we fix n = 1024 in the simulations.
To examine the performance of the adaptive V-spline, we compute the true mean squared error for each of the reconstructions via:
TMSE = 1 n i = 1 n f ( t i ) f ^ ( t i ) 2 ,
and the Modified Nash–Sutcliffe efficiency (mNSE) [35] via:
mNSE = 1 i = 1 n f ( t i ) f ^ ( t i ) i = 1 n f ( t i ) f ¯ .
The results are shown in Table 1 and Table 2. The V-spline, either adaptive or non-adaptive, returns the best solution in all cases.
The reason for the poor performance of kinematic interpolation is two-fold: first, KI assumes v i is a good approximation to the velocity over the entire interval [ t i 1 , t i + 1 ) . Second, KI is not a true smoother so it is prone to errors in the observations. In contrast, the V-spline successfully smooths and interpolates in the presence of noise.
Table 3 shows the ability of the adaptive V-spline to retrieve the true SNR: for reconstruction f ^ , it is estimated by σ f ^ / σ ( f ^ y ) . Table 3 shows that the estimates from the V-spline f ^ are very close to the true values.
In summary, the simulation study has shown the ability of V-splines to accurately reconstruct trajectories from noisy and potentially problematic velocity profiles. The V-spline outperforms methods that do not use velocity information, and its smoothing strategy appears to be vastly superior to that of kinematic interpolation.

5. Inference of Tractor Trajectory

In this section, we apply the V-spline to a data set obtained from a GPS unit mounted on a tractor working in a horticultural setting. The motivating problem in this context is to accurately record where pesticide has been applied to ensure that neither over-spraying or under-spraying has occurred.
GPS units in vehicles provide y t , noisy measurements of the actual position x t , and v t , noisy measurements of the actual velocity u t , for a sequence of times t T , which is irregularly recorded with highly variable time differences Δ T i . These data may also be augmented with information on operating characteristics of the vehicle, b t , in this case data on whether the tractor boom was in a raised or lowered position. The trajectory reconstruction problem is the problem of estimating x s , for an arbitrary time s, given a subset of the observations { y t , v t , b t t T } . Note that, in this definition of trajectory reconstruction, we are not explicitly interested in estimating u s .
The original data set consists of n = 928 records of longitude, latitude, speed, bearing and the status of the tractor’s boom sprayer. The boom status, “up” and “down”, denotes the operational state of the tractor, and indicates different types of trajectories. For example, if boom status is “down”, the tractor is probably sowing, watering or harvesting on the farm. In this scenario, the speed is stable and its variance is low. On the contrary, when it is “up”, the speed could be high because the driver is travelling between jobs, it could be zero because the driver is having a break, or it might indicate the tractor is turning. In this last situation, however, the acceleration could be high. For this reason, we add further complexity to the model by allowing the penalty parameter to depend on boom status.
For trajectory reconstruction, this data set was converted from longitude and latitude in degrees ( ) into easting and northing in meters (m) by the Universal Transverse Mercator (UTM) coordinate system. The speed and bearing were converted into velocities ( m / s ) in those directions as well. See Figure 2.

5.1. The V-Spline in d-Dimensions

To generalize the V-spline to d-dimensions, we consider the situation preceding Equation (2) but where now y i , v i R d . Then, the function f : [ a , b ] R d is a d-dimensional V-spline if it minimizes:
J [ f ] = 1 n i = 1 n y i f ( t i ) d 2 + γ n i = 1 n v i f ( t i ) d 2 + a b λ ( t ) f ( t ) d 2 d t ,
where · 2 is the Euclidean norm in d-dimensions. For each direction α = 1 , , d , the fitted V-spline has the form f ^ α ( t ) = k = 1 2 n N k ( t ) θ ^ k α , where
θ ^ α = B B + γ C C + n Ω λ 1 B y α + γ C v α .
The parameters λ and γ are estimated by minimizing the cross-validation score:
arg min λ , γ > 0 CV λ , γ = arg min λ , γ > 0 i = 1 n y i f ^ ( t i ) + γ T i i 1 γ V i i ( v i f ^ ( t i ) ) 1 S i i γ T i i 1 γ V i i U i i d 2 .
In what follows, we allow the non-adaptive and adaptive V-splines to depend on the boom status. This is to demonstrate that our method can simply and usefully also incorporate known covariates. In this application, letting b i = 0 denote boom “up”, b i = 1 denote boom “down”, and v ¯ i = y i + 1 y i 2 / Δ T i be the average velocity on the interval [ t i , t i + 1 ) , the penalty term for the non-adaptive V-spline is
λ i = b i λ d + ( 1 b i ) λ u ,
and, for the adaptive V-spline, it is
λ i = b i λ d + ( 1 b i ) λ u Δ T i v ¯ i 2 .
Optimization in (29) is now simply with respect to positive λ d , λ u and γ .

5.2. Two-Dimensional Trajectory Reconstruction

The V-spline reconstruction from the tractor data is shown in Figure 3. The parameters λ d , λ u and γ are found by our proposed cross-validation scheme using the stats::optim function in R [36]. It is immediately evident from the trajectory that the tractor has been moving up and down rows of an orchard or travelling between parts of the orchard.
It is instructive to compare the performance of the adaptive V-spline to a line-based approach that simply and unrealistically connects observations by a straight line, kinematic interpolation which also utilizes velocity information, and the non-adaptive V-spline. Figure 4 shows finer detail of the tractor trajectory given by these reconstructions. A feature of the KI method is the hugely unrealistic excursions near the turn-around points at the end of each row as shown in Figure 4b. On the contrary, the adaptive V-spline, see Figure 4d, adapts to the information based on observed velocity discrepancy to avoid such excursions. Without the adaptive term (18), the non-adaptive V-spline performs in a similar way to KI, which can be seen from Figure 4c; this proves the power of the adaptive penalty.

6. Discussion

In this paper, a smoothing spline called the V-spline is proposed that minimizes an objective function which incorporates both position and velocity information. Given n knots, the V-spline has 2 n effective degrees of freedom corresponding to n 1 cubic polynomials with their value and first derivative matched at the n 2 interior knots. The effective degrees of freedom are then fixed by n position observations and n velocity observations. Note that, in the limit γ 0 , the V-spline reduces to having n effective degrees of freedom. An adaptive version of the V-spline is also introduced that seeks to control the impact of irregularly sampled observations and noisy velocity measurements.
The computational complexity of the V-spline method is equivalent to any smoothing spline that uses a cross-validation procedure to estimate the tuning parameters. The essential difference is that the V-spline incorporates 2 n data points (in each dimension), as opposed to n. The impact of this shows up in the time to solve for θ ^ in (13). Thus, the computation time of the V-spline is the same as a standard smoothing spline with 2 n observations. Modest computational gains can possibly be made by improving the CV parameter estimation step, but Theorem 2 already assures us that this step is highly efficient. Future research directions for the V-spline include application to ship tracking [18] and development of a fast filtering algorithm.

Author Contributions

Conceptualization, Z.C., D.B. and M.P.; methodology, Z.C., D.B. and M.P.; software, Z.C.; writing—original draft preparation, Z.C. and M.P.; writing—review and editing, Z.C., D.B., T.C.A.M., C.F. and M.P.; supervision, M.P.; project administration, D.B.; funding acquisition, D.B. All authors have read and agreed to the published version of the manuscript.

Funding

The authors gratefully acknowledge grant UOOX1208 from the Ministry of Business, Innovation and Employment (NZ), and the provision of GPS tractor data by TracMap (NZ).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
GPSGlobal Positioning System
CNCComputer (or Computerised) Numerical Control
KIKinematic Interpolation
RSSResidual Sum of Squares
CVCross Validation
GCVGeneralised Cross Validation
TMSETrue Mean Squared Errors
mNSEmodified Nash–Sutcliffe efficiency
SNRSignal-to-Noise Ratio
UTMUniversal Transverse Mercator

Appendix A. Penalty Matrix in (10)

We have Ω λ = i = 1 n 1 λ i Ω ( i ) , where [ Ω ( i ) ] j k = t i t i + 1 N j ( t ) N k ( t ) d t . Thus, Ω ( i ) is a 2 n × 2 n bandwidth four symmetric matrix and its non-zero, upper triangular elements are
Ω 2 i 1 , 2 i 1 ( i ) = t i t i + 1 d 2 h 00 ( i ) ( t ) d t 2 d 2 h 00 ( i ) ( t ) d t 2 d t = 12 Δ T i 3
Ω 2 i 1 , 2 i ( i ) = t i t i + 1 d 2 h 00 ( i ) ( t ) d t 2 d 2 h 10 ( i ) ( t ) d t 2 d t = 6 Δ T i 2
Ω 2 i 1 , 2 i + 1 ( i ) = t i t i + 1 d 2 h 00 ( i ) ( t ) d t 2 d 2 h 01 ( i ) ( t ) d t 2 d t = 12 Δ T i 3
Ω 2 i 1 , 2 i + 2 ( i ) = t i t i + 1 d 2 h 00 ( i ) ( t ) d t 2 d 2 h 11 ( i ) ( t ) d t 2 d t = 6 Δ T i 2
Ω 2 i , 2 i ( i ) = t i t i + 1 d 2 h 10 ( i ) ( t ) d t 2 d 2 h 10 ( i ) ( t ) d t 2 d t = 4 Δ T i
Ω 2 i , 2 i + 1 ( i ) = t i t i + 1 d 2 h 10 ( i ) ( t ) d t 2 d 2 h 01 ( i ) ( t ) d t 2 d t = 6 Δ T i 2
Ω 2 i , 2 i + 2 ( i ) = t i t i + 1 d 2 h 10 ( i ) ( t ) d t 2 d 2 h 11 ( i ) ( t ) d t 2 d t = 2 Δ T i
Ω 2 i + 1 , 2 i + 1 ( i ) = t i t i + 1 d 2 h 01 ( i ) ( t ) d t 2 d 2 h 01 ( i ) ( t ) d t 2 d t = 12 Δ T i 3
Ω 2 i + 1 , 2 i + 2 ( i ) = t i t i + 1 d 2 h 01 ( i ) ( t ) d t 2 d 2 h 11 ( i ) ( t ) d t 2 d t = 6 Δ T i 2
Ω 2 i + 2 , 2 i + 2 ( i ) = t i t i + 1 d 2 h 11 ( i ) ( t ) d t 2 d 2 h 11 ( i ) ( t ) d t 2 d t = 4 Δ T i
where Δ T i = t i + 1 t i and i = 1 , 2 , , n 1 .

Appendix B. Proof of Theorem 1

For n 2 , the objective function J [ f ] is uniquely minimized by a V-spline, piecewise on the intervals [ t i , t i + 1 ) , i = 1 , , n 1 , and linear on [ a , t 1 ] and [ t n , b ] .
Our proof is an extension of the smoothing spline proof in [22].
Proof. 
If g : [ a , b ] R is a proposed minimizer, construct a cubic spline f ( t ) that agrees with g ( t ) as well as f ( t ) agrees with g ( t ) at t 1 , , t n , and is linear on [ a , t 1 ] and [ t n , b ] . Let h ( t ) = g ( t ) f ( t ) . Then, for i = 1 , , n 1 ,
t i t i + 1 f ( t ) h ( t ) d t = f ( t ) h ( t ) | t i t i + 1 t i t i + 1 f ( t ) h ( t ) d t = 0 f t i + t i t i + 1 h ( t ) d t = f t i + h ( t i + 1 ) h ( t i ) = 0 .
Additionally, a t 1 f ( t ) h ( t ) d t = t n b f ( t ) h ( t ) d t = 0 , since f ( t ) is assumed linear outside the knots. Thus, for i = 0 , , n ,
t i t i + 1 | g ( t ) | 2 d t = t i t i + 1 | f ( t ) + h ( t ) | 2 d t = t i t i + 1 | f ( t ) | 2 d t + 2 t i t i + 1 f ( t ) h ( t ) d t + t i t i + 1 | h ( t ) | 2 d t = t i t i + 1 | f ( t ) | 2 d t + t i t i + 1 | h ( t ) | 2 d t t i t i + 1 | f ( t ) | 2 d t .
The result J [ f ] J [ g ] follows since λ i > 0 .
Furthermore, equality of the curvature penalty term only holds if g ( t ) = f ( t ) . On [ t 1 , t n ] , we require h ( t ) = 0 but since h ( t i ) = h ( t i ) = 0 for i = 1 , , n , this means h ( t ) = 0 . Meanwhile on [ a , t 1 ] and [ t n , b ] , f ( t ) = 0 so that equality requires g ( t ) = 0 . Since f ( t ) agrees with g ( t ) and as well as f ( t ) agrees with g ( t ) at t 1 and t n , equality is forced on both intervals. □

Appendix C. Proof of Theorem 2

The cross-validation score of a V-spline satisfies
arg min λ , γ > 0 C V λ , γ   =   arg min λ , γ > 0 i = 1 n y i f ^ ( t i ) + γ T i i 1 γ V i i ( v i f ^ ( t i ) ) 1 S i i γ T i i 1 γ V i i U i i 2 ,
where f ^ is the V-spline smoother calculated from the full data set with smoothing parameter λ and γ, and S i i = [ S λ , γ ] i i , etc.
Proof. 
We start with the following lemma:
Lemma A1.
For λ ( t ) , γ and for fixed i, let f ( i ) be the vector with components f j ( i ) = f ^ ( i ) t j , λ , γ , f ( i ) by the vector with components f j ( i ) = f ^ ( i ) t j , λ , γ , and define vectors y be the vector of y i and v be the vector of v i by
y j = y j j i y i = f ^ ( i ) ( t i ) o t h e r w i s e
v j = v j j i v i = f ^ ( i ) ( t i ) o t h e r w i s e
Then,
f ^ ( i ) = S y + γ T v
f ^ ( i ) = U y + γ V v
Proof of Lemma A1.
For any smooth curve f with y and v , we have
1 n j = 1 n y j f ( t j ) 2 + γ n j = 1 n v j f ( t j ) 2 + j = 1 n λ j t j t j + 1 ( f ( t ) ) 2 d t 1 n j i y j f ( t j ) 2 + γ n j i v j f ( t j ) 2 + j = 1 n λ j t j t j + 1 ( f ( t ) ) 2 d t 1 n j i y j f ^ ( i ) ( t j ) 2 + γ n j i v j f ^ ( i ) ( t j ) 2 + j = 1 n λ j t j t j + 1 f ^ ( i ) ( t ) 2 d t = 1 n j = 1 n y j f ^ ( i ) ( t j ) 2 + γ n j = 1 n v j f ^ ( i ) ( t j ) 2 + j = 1 n λ j t j t j + 1 f ^ ( i ) ( t ) 2 d t .
By the definition of f ^ ( i ) , f ^ ( i ) and the fact that y i = f ^ ( i ) ( t i ) , v i = f ^ ( i ) ( t i ) . It follows that f ^ ( i ) is the minimizer of the objective function (2), so that
f ^ ( i ) = S y + γ T v f ^ ( i ) = U y + γ V v
as required.    ☐
As a consequence of lemma A1, we obtain expressions for the deleted residuals y i f ^ ( i ) ( t i ) and v i f ^ ( i ) ( t i ) in terms of y i f ^ ( t i ) and v i f ^ ( t i ) , respectively:
f ^ ( i ) ( t i ) y i = j = 1 n S i j y j + γ j = 1 n T i j v j y i = j i n S i j y j + γ j i n T i j v j + S i i f ^ ( i ) ( t i ) + γ T i i f ^ ( i ) ( t i ) y i = j = 1 n S i j y j + γ j = 1 n T i j v j + S i i f ^ ( i ) ( t i ) y i + γ T i i f ^ ( i ) ( t i ) v i y i = f ^ ( t i ) y i + S i i f ^ ( i ) ( t i ) y i + γ T i i f ^ ( i ) ( t i ) v i
and
f ^ ( i ) ( t i ) v i = j = 1 n U i j y j + γ j = 1 n V i j v j v i = j i n U i j y j + γ j i n V i j v j + U i i f ^ ( i ) ( t i ) + γ V i i f ^ ( i ) ( t i ) v i = j = 1 n U i j y j + γ j = 1 n V i j v j + U i i f ^ ( i ) ( t i ) y i + γ V i i f ^ ( i ) ( t i ) v i v i = f ^ ( t i ) v i + U i i f ^ ( i ) ( t i ) y i + γ V i i f ^ ( i ) ( t i ) v i .
Thus,
f ^ ( i ) ( t i ) v i = f ^ ( t i ) v i 1 γ V i i + U i i f ^ ( i ) ( t i ) y i 1 γ V i i .
By substituting Equation (A17) into (A15), we obtain
f ^ ( i ) ( t i ) y i = f ^ ( t i ) y i + γ T i i 1 γ V i i f ^ ( t i ) v i 1 S i i γ T i i 1 γ V i i U i i .
Consequently,
arg min λ , γ > 0 C V ( λ , γ ) = arg min λ , γ > 0 i = 1 n f ^ ( t i ) y i + γ T i i 1 γ V i i f ^ ( t i ) v i 1 S i i γ T i i 1 γ V i i U i i 2 .
    ☐

References

  1. Grengs, J.; Wang, X.; Kostyniuk, L. Using GPS Data to Understand Driving Behavior. J. Urban Technol. 2008, 15, 33–53. [Google Scholar] [CrossRef]
  2. Kubo, N.; Hou, R.; Suzuki, T. Decimeter Level Vehicle Navigation Combining Multi-GNSS with Existing Sensors in Dense Urban Areas. In Proceedings of the 2014 International Technical Meeting of The Institute of Navigation, San Diego, CA, USA, 27–29 January 2014; pp. 450–459. [Google Scholar]
  3. Neményi, M.; Mesterházi, P.Á.; Pecze, Z.; Stépán, Z. The Role of GIS and GPS in Precision Farming. Comput. Electron. Agric. 2003, 40, 45–55. [Google Scholar] [CrossRef]
  4. Sun, Q.C.; Odolinski, R.; Xia, J.C.; Foster, J.; Falkmer, T.; Lee, H. Validating the Efficacy of GPS Tracking Vehicle Movement for Driving Behaviour Assessment. Travel Behav. Soc. 2017, 6, 32–43. [Google Scholar] [CrossRef]
  5. Martin, A.; Parry, M.; Soundy, A.W.R.; Panckhurst, B.J.; Brown, P.; Molteno, T.C.A.; Schumayer, D. Improving Real-Time Position Estimation Using Correlated Noise Models. Sensors 2020, 20, 5913. [Google Scholar] [CrossRef]
  6. Zito, R.; D’este, G.; Taylor, M.A.P. Global Positioning Systems in the Time Domain: How Useful a Tool for Intelligent Vehicle-Highway Systems? Transp. Res. Part C Emerg. Technol. 1995, 3, 193–209. [Google Scholar] [CrossRef]
  7. Gates, T.J.; Schrock, S.D.; Bonneson, J.A. Comparison of Portable Speed Measurement Devices. Transp. Res. Rec. J. Transp. Res. 2004, 1870, 139–146. [Google Scholar] [CrossRef]
  8. Ye, Q.; Szeto, W.Y.; Wong, S.C. Short-Term Traffic Speed Forecasting Based on Data Recorded at Irregular Intervals. IEEE Trans. Intell. Transp. Syst. 2012, 13, 1727–1737. [Google Scholar] [CrossRef] [Green Version]
  9. Jun, J.; Guensler, R.; Ogle, J.H. Smoothing Methods to Minimize Impact of Global Positioning System Random Error on Travel Distance, Speed, and Acceleration Profile Estimates. Transp. Res. Rec. 2006, 1972, 141–150. [Google Scholar] [CrossRef]
  10. Komoriya, K.; Tanie, K. Trajectory Design and Control of a Wheel-Type Mobile Robot Using B-Spline Curve. In Proceedings of the IEEE/RSJ International Workshop on Intelligent Robots and Systems ’. (IROS ’89) ’The Autonomous Mobile Robots and Its Applications, Tsukuba, Japan, 4–6 September 1989; pp. 398–405. [Google Scholar] [CrossRef]
  11. Ben-Arieh, D.; Chang, S.; Rys, M.; Zhang, G. Geometric Modeling of Highways Using Global Positioning System Data and B-Spline Approximation. J. Transp. Eng. 2004, 130, 632–636. [Google Scholar] [CrossRef]
  12. Erkorkmaz, K.; Altintas, Y. High Speed CNC System Design. Part I: Jerk Limited Trajectory Generation and Quintic Spline Interpolation. Int. J. Mach. Tools Manuf. 2001, 41, 1323–1345. [Google Scholar] [CrossRef]
  13. Yu, B.; Kim, S.H.; Bailey, T.; Gamboa, R. Curve-Based Representation of Moving Object Trajectories. In Database Engineering and Applications Symposium, 2004. IDEAS’04. Proceedings International; IEEE: Coimbra, Portugal, 2004; pp. 419–425. [Google Scholar] [CrossRef] [Green Version]
  14. Zhang, K.; Guo, J.X.; Gao, X.S. Cubic Spline Trajectory Generation with Axis Jerk and Tracking Error Constraints. Int. J. Precis. Eng. Manuf. 2013, 14, 1141–1146. [Google Scholar] [CrossRef]
  15. Walambe, R.; Agarwal, N.; Kale, S.; Joshi, V. Optimal Trajectory Generation for Car-Type Mobile Robot Using Spline Interpolation. IFAC-PapersOnLine 2016, 49, 601–606. [Google Scholar] [CrossRef]
  16. Long, J.A. Kinematic Interpolation of Movement Data. Int. J. Geogr. Inf. Sci. 2016, 30, 854–868. [Google Scholar] [CrossRef] [Green Version]
  17. Ma, L.; Tian, S.; Song, Y.; Wu, Z.; Yue, M. An Approach of ACARS Trajectory Reconstruction Based on Adaptive Cubic Spline Interpolation. In International Conference on Security, Privacy and Anonymity in Computation, Communication and Storage; Springer: Berlin/Heidelberg, Germany, 2019; Volume 11637, pp. 245–252. [Google Scholar] [CrossRef]
  18. Hintzen, N.T.; Piet, G.J.; Brunel, T. Improved Estimation of Trawling Tracks Using Cubic Hermite Spline Interpolation of Position Registration Data. Fish. Res. 2010, 101, 108–115. [Google Scholar] [CrossRef]
  19. Jia, R.Q.; Liu, S.T. Wavelet Bases of Hermite Cubic Splines on the Interval. Adv. Comput. Math. 2006, 25, 23–39. [Google Scholar] [CrossRef] [Green Version]
  20. Donoho, D.L.; Johnstone, J.M. Ideal Spatial Adaptation by Wavelet Shrinkage. Biometrika 1994, 81, 425–455. [Google Scholar] [CrossRef]
  21. Craven, P.; Wahba, G. Smoothing Noisy Data with Spline Functions. Numer. Math. 1978, 31, 377–403. [Google Scholar] [CrossRef]
  22. Green, P.J.; Silverman, B.W. Nonparametric Regression and Generalized Linear Models: A Roughness Penalty Approach; CRC Press: Boca Raton, FL, USA, 1993. [Google Scholar] [CrossRef]
  23. Aydin, D.; Tuzemen, M.S. Smoothing Parameter Selection Problem in Nonparametric Regression Based on Smoothing Spline: A Simulation Study. J. Appl. Sci. 2012, 12, 636. [Google Scholar] [CrossRef] [Green Version]
  24. Schwarz, K.P. Geodesy Beyond 2000: The Challenges of the First Decade, IAG General Assembly Birmingham, July 19–30, 1999; Springer Science & Business Media: New York, NY, USA, 2012; Volume 121. [Google Scholar]
  25. Hastie, T.; Tibshirani, R.; Friedman, J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2009; p. 533. [Google Scholar] [CrossRef]
  26. Gu, C. Model Indexing and Smoothing Parameter Selection in Nonparametric Function Estimation. Stat. Sin. 1998, 8, 607–623. [Google Scholar]
  27. Donoho, D.L.; Johnstone, I.M. Adapting to Unknown Smoothness via Wavelet Shrinkage. J. Am. Stat. Assoc. 1995, 90, 1200–1224. [Google Scholar] [CrossRef]
  28. Abramovich, F.; Sapatinas, T.; Silverman, B.W. Wavelet Thresholding via a Bayesian Approach. J. R. Stat. Soc. Ser. B (Stat. Methodol.) 1998, 60, 725–749. [Google Scholar] [CrossRef]
  29. Krivobokova, T.; Crainiceanu, C.M.; Kauermann, G. Fast Adaptive Penalized Splines. J. Comput. Graph. Stat. 2008, 17, 1–20. [Google Scholar] [CrossRef] [Green Version]
  30. Ruppert, D.; Wand, M.P.; Carroll, R.J. Semiparametric Regression; Cambridge Series in Statistical and Probabilistic Mathematics; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar] [CrossRef]
  31. Wiesenfarth, M.; Krivobokova, T.; Klasen, S.; Sperlich, S. Direct Simultaneous Inference in Additive Models and Its Application to Model Undernutrition. J. Am. Stat. Assoc. 2012, 107, 1286–1296. [Google Scholar] [CrossRef] [Green Version]
  32. Wood, S.N.; Pya, N.; Säfken, B. Smoothing Parameter and Model Selection for General Smooth Models. J. Am. Stat. Assoc. 2016, 111, 1548–1563. [Google Scholar] [CrossRef]
  33. Wood, S.N. Generalized Additive Models: An Introduction with R, 2nd ed.; Chapman and Hall/CRC: Boca Raton, FL, USA, 2017. [Google Scholar] [CrossRef]
  34. Nason, G. Wavelet Methods in Statistics with R; Springer Science & Business Media: New York, NY, USA, 2010. [Google Scholar]
  35. Krause, P.; Boyle, D.P.; Bäse, F. Comparison of Different Efficiency Criteria for Hydrological Model Assessment. In Advances in Geosciences; Copernicus GmbH: Antalya, Turkey, 2005; Volume 5, pp. 89–97. [Google Scholar] [CrossRef] [Green Version]
  36. Team, R.C. R: A Language and Environment for Statistical Computing. In R Foundation for Statistical Computing; R Foundation for Statistical Computing: Vienna, Austria, 2013. [Google Scholar]
Figure 1. Comparing cubic Hermite spline reconstruction and straight line reconstruction. When Δ T i = t i + 1 t i is large or v ¯ i Δ T i = y i + 1 y i is small, the adaptive V-spline favours straighter reconstructions.
Figure 1. Comparing cubic Hermite spline reconstruction and straight line reconstruction. When Δ T i = t i + 1 t i is large or v ¯ i Δ T i = y i + 1 y i is small, the adaptive V-spline favours straighter reconstructions.
Sensors 21 03215 g001
Figure 2. A real GPS data set of tractor movements. Observed positions in two dimensions on the left and irregular time differences indicated on the right. In trajectory reconstruction, the positions are combined with velocity information and operating characteristics of the tractor to infer actual positions for times of interest. Crosses indicate the boom is working; circles indicate it is not working.
Figure 2. A real GPS data set of tractor movements. Observed positions in two dimensions on the left and irregular time differences indicated on the right. In trajectory reconstruction, the positions are combined with velocity information and operating characteristics of the tractor to infer actual positions for times of interest. Crosses indicate the boom is working; circles indicate it is not working.
Sensors 21 03215 g002
Figure 3. Reconstruction of the complete real GPS data set; “start” and “end” indicate the start and end points of the trajectory.
Figure 3. Reconstruction of the complete real GPS data set; “start” and “end” indicate the start and end points of the trajectory.
Sensors 21 03215 g003
Figure 4. A comparison of the reconstructions by a line-based approach, kinematic interpolation, non-adaptive V-spline, and adaptive V-spline. KI relies on misleading velocity information that generates unrealistic trajectories. The non-adaptive V-spline also generates unrealistic trajectories at sharp-turning and braking points. However, the adaptive V-spline adapts to the information based on observed velocity discrepancy and generates plausible trajectories.
Figure 4. A comparison of the reconstructions by a line-based approach, kinematic interpolation, non-adaptive V-spline, and adaptive V-spline. KI relies on misleading velocity information that generates unrealistic trajectories. The non-adaptive V-spline also generates unrealistic trajectories at sharp-turning and braking points. However, the adaptive V-spline adapts to the information based on observed velocity discrepancy and generates plausible trajectories.
Sensors 21 03215 g004
Table 1. TMSE: * indicates the best solution (smallest error).
Table 1. TMSE: * indicates the best solution (smallest error).
TMSE ( 10 6 )SNRAdpt VSNon-Adpt VSVS γ = 0 P-SplinegamKI
Blocks71.753 *1.77854.25752.70253.224826.497
317.03615.339 *152.391145.118154.4674499.818
Bumps71.7011.568 *23.43623.44723.446219.259
38.865 *8.98077.77478.80876.0801193.743
HeaviSine71.558 *1.5627.7689.3377.873207.412
34.360 *8.55733.49234.36133.1321129.242
Doppler71.5160.956 *6.6686.4066.43556.910
38.092 *8.25522.13522.08822.655309.842
Table 2. mNSE: * indicates the best solution (closest to 1).
Table 2. mNSE: * indicates the best solution (closest to 1).
mNSESNRAdpt VSNon-Adpt VSVS γ = 0 P-SplinegamKI
Blocks 70.9954 *0.99530.97490.97500.97520.9037
30.9864 *0.98700.95620.95690.95550.7753
Bumps 70.99170.9921 *0.97000.97000.97030.9097
30.9811 *0.98100.94420.94280.94430.7893
HeaviSine 70.9915 *0.99150.98200.98020.98180.9058
30.9855 *0.98020.96240.96170.96250.7803
Doppler 70.98200.9857 *0.96460.96480.96460.8928
30.9579 *0.95750.93470.93330.93230.7499
Table 3. Retrieved SNR by adaptive V-spline.
Table 3. Retrieved SNR by adaptive V-spline.
SNRTrue Valuef KnownV-Spline f ^
Blocks76.94426.9485
32.97612.9817
Bumps76.94426.9548
32.97612.9953
HeaviSine76.94426.9207
32.97612.9891
Doppler76.94426.8757
32.97612.9372
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Cao, Z.; Bryant, D.; Molteno, T.C.A.; Fox, C.; Parry, M. V-Spline: An Adaptive Smoothing Spline for Trajectory Reconstruction. Sensors 2021, 21, 3215. https://doi.org/10.3390/s21093215

AMA Style

Cao Z, Bryant D, Molteno TCA, Fox C, Parry M. V-Spline: An Adaptive Smoothing Spline for Trajectory Reconstruction. Sensors. 2021; 21(9):3215. https://doi.org/10.3390/s21093215

Chicago/Turabian Style

Cao, Zhanglong, David Bryant, Timothy C.A. Molteno, Colin Fox, and Matthew Parry. 2021. "V-Spline: An Adaptive Smoothing Spline for Trajectory Reconstruction" Sensors 21, no. 9: 3215. https://doi.org/10.3390/s21093215

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop