Conference PaperPDF Available

Improving Animal Tracking Algorithms with Adaptive Search Windows and Kalman Filters

Authors:

Figures

Content may be subject to copyright.
Improving Animal Tracking Algorithms with
Adaptive Search Windows and Kalman Filters
Hugo Trindade, Guiomar Evans, Jos´
e Soares Augusto
Dep. de F´
ısica, Fac. de Ciˆ
encias
da Universidade de Lisboa
Campo Grande, Edif´
ıcio C8, P-1749-016
Lisboa, Portugal
Email: jasa@fisica.fc.ul.pt
Paulo Fonseca
Dep. de Biologia Animal and
Centro de Biologia Ambiental,
Fac. de Ciˆ
encias da Universidade de Lisboa
Campo Grande, Edif´
ıcio C2, P-1749-016
Lisboa, Portugal
Email: pjfonseca@fc.ul.pt
Abstract This work presents the development of a low-cost
vision system for animal monitoring and tracking, to be used
both in real-time and off-line (with recorded movies), in academic
teaching and research laboratories. It aims the study of animal
behavior in a controlled laboratory environment, and records
the traveled distances and the instant vector (direction and
speed) of the targets. The system integrates a video camera,
a data acquisition card connected to a PC workstation, and a
commercial software development package offering several native
image processing algorithms. After several experiments, it was
concluded that recognition and tracking using uniquely the algo-
rithms in the software package was not robust in our application
scenario. To overcome this drawback, some proprietary image
processing components were developed and used, what improved
the success of target identification and tracking precision. The
components consisted of a reduced search window with adaptive
positioning from frame to frame, and a Kalman filter applied
to the raw tracking data. The system monitored and tracked
several animals (insects and fishes). Some experimental results
are presented in this paper.
Keywords: image processing; animal recognition and tracking;
Kalman filter; LabVIEW/IMAQ Vision.
I. INTRODUCTION
There are countless practical applications that make use
of the tracking of moving objects or living beens [1]. The
application scenarios vary: the target may move in an envi-
ronment where it is easily recognized; but, on the other hand,
it can be very similar to the background (e.g. a chameleon
in bushes). The object can eventually present the same shape
to the camera, such as a car seen from the top; but it can
change shape, such is the case of a fish, which presents itself
to the camera from any angle and changes the body shape
(e.g. when it turns direction). In other situations several similar
objects (or animals) share the scenario, what makes difficult a
singular identification. In fact, tracking animal targets is more
demanding than tracking objects with stable shapes. Other
difficult situation is occlusion, when the target goes behind
some objects in the scenario (a car in a tunnel, a fish behind
a rock in an aquarium).
The tracking of animals in captivity or in its natural envi-
ronment is important for behavioral studies. To quantitatively
monitor animal behavior requests the measurement of selected
parameters, such as the total length of a trajectory, its orien-
tation or its speed. Other important issue is to assess animal
interactions, such as during mating or in agonistic conflicts.
Other applications may involve the need to obtain quantitative
information about the kinetic reaction of animals to sound, to
image or to chemical stimuli (e.g. odor).
Animal monitoring can be done through permanent human
observation, but this solution obviously presents serious prob-
lems: if it is done for long periods of time, and the relevant
observations occur seldom and very rapidly, they are often
missed; only a rough estimate of the distance traveled by a
target can be calculated by a human observer. In many cases,
tracking a large number of animals simultaneously is desirable,
but usually there is not enough manpower (or money) to track
them all. Moreover, different observers may not keep the same
criteria during observations, difficulting the comparison of the
results.
The animal species under study in the present work are
insects and fishes. The main goal of the project was to develop
a system that could be deployed into computers used in
academic teaching laboratories, at a reasonable cost. It was
decided to develop the system on top of a LabVIEW platform
with the NI Vision extension, which was available to the
research team.
The development followed two lines of action: one focused
on-line tracking, what excluded the use of time-consuming
algorithms for target recognition and tracking; the other aimed
off-line recognition and tracking, by processing recorded
movies frame by frame, and thus was able to use more
complex and time-consuming algorithms.
This paper is organized under the following guidelines.
In the next section we briefly present the state-of-the art
of animal recognition and tracking. Then we describe the
platform used for the implementation of the system, from both
the hardware and software points of view. In the following
section, we review the image processing techniques commonly
used in recognition and tracking. In section V the algorithms
developed by the team for improving the performance of
the native algorithms in LabVIEW-NI Vision platform are
described. In section VI results are presented. Finally, the
conclusions and a summary of the results are given.
II. STATE-OF-THE -ART
The problem of target recognition and tracking belongs to
the areas of Artificial Intelligence and Automatic Learning
[1]. There are several companies offering quite expensive
imaging systems specialized in tracking animals. Some of
them are Noldus Ethovision (http://www.noldus.com)
[2], ANY maze (http://www.anymaze.com), Med As-
sociates Inc. (http://www.med-associates.com) and
Columbus Instruments (http://www.colinst.com). An-
imal tracking systems have to be robust enough to cope with
practical difficulties, such as the temporary occlusion of the
target behind obstacles, changes in the image background,
the presence of several targets of the same kind (e.g. several
animals sharing the same cage). Some systems also follow
more than one target simultaneously.
Some decades ago, before the widespread availability of
digitized images, the tracking of animals was done with
quite different technologies. Among them were arrays of
infrared sensors and/or pressure sensors spread in the scenario,
capacitive sensors, ultra-sound sensors, Doppler radars or
microwaves.
The dissemination of digital systems for image digitization
and acquisition brought more precision to target tracking,
and the increase in computational power and speed of the
workstations led to the implementation of more complex,
robust and time-consuming vision algorithms. The image color
histogram is commonly used in recognition because it is quite
invariant to rotations and translations of the target.
Recognition and tracking has inherently some degree of
uncertainty and can be modeled by stochastic processes.
Most work along this line uses the Markov property, which
postulates that the future state of the process only depends
on the present and on a few recent states, and not on all past
states. One of the models relying on that property is the Hidden
Markov Model (HMM) [3] where the state variables are not
directly observable, but some system variables depending on
them are. The HMM has been used for tracking multiple
animal targets [4], for snakes behavior identification [5] and
for modeling shapes [6], just to mention a few relevant
applications.
Other models based on the Markov property are linear
dynamic models [3] corrupted by white Gaussian noise, which
are related with the Kalman Filter (KF) discussed in a later
section. The Kalman filter is widely used in many real-time
tracking applications since its inception fifty years ago. In
Biology the Kalman filter has been used, for instance, to
track rats in complex environments [7] and to track objects
underwater [8].
III. THE EX PER IMENTAL SET UP
The experimental setup consists in a Sony camera, the
LabVIEW programming environment and an image acquisition
board from National Instruments (http://www.ni.com)
(NI). The hardware performance never compromised the many
experiments which made use of with the system.
A. The Camera and the Image Acquisition Board
The hardware consists in a color Sony camera and in an
IMAQ image acquisition board from NI, plugged into the PCI
slot of a modern PC (dual Core Pentium, 1 Gbyte of RAM,
Windows XP.) LabVIEW includes native drivers for the IMAQ
board.
The image acquisition board is an IMAQ PCI-1405 which
acquires color images at a rate up to 25 Hz in PAL mode,
and has a 16 MB SDRAM memory for image buffering.
The IMAQ 3.7 software module has routines for commanding
image acquisition, for memory allocation, and for triggering
the control of the camera and of the user interface.
The color CCD camera Sony DXC-101P allows to adjust
the brightness of the images. It has a 16 mm objective Ernitec
Auto Iris with 1.3 focus depth. The hardware produces 32 bit
RGB images with a resolution of 756×576 pixels.
B. The LabVIEW Image Processing Toolbox
The Vision Development Module from NI, named NI Vision
(shown in action in Fig. 1), is a set of tools and algorithms
for digital image processing. It includes an interactive work
environment and libraries for development with LabVIEW,
Microsoft Visual C and Microsoft Visual Basic. We used NI
Vision version 8.0 on top of LabVIEW 8.2.
Fig. 1. Tracking an insect with NI Vision 8.0.
IV. ON-LINE AND OFF-L INE TRACKING
In the LabVIEW/NI Vision there are implemented three main
methods for recognising and tracking targets.
Image subtraction involves subtracting the current frame, at
instant tj, from the previous one, at instant ti, and thresholding
the difference (Tis the threshold)
di,j (x, y) = 1if |f(x, y, ti)f(x, y , tj)|> T
0if |f(x, y, ti)f(x, y, tj)| ≤ T
The result is a binarized image di,j (x, y).xand yare the
horizontal and vertical coordinates.
In the second method, background subtraction, a static
image of the environment background, g(x, y, t0), is saved at
the beginning; then it is subtracted from all frames at instants
tito get the differences di(x, y)
di(x, y) = |f(x, y, ti)g(x, y , t0)|
from which the position of the target can be estimated.
Image subtraction poses problems when the targets are
(almost) immobilized, what happens often with certain in-
sects. Background subtraction has problems when the animals
change their environment during the course of the experiment.
Due to these drawbacks, we opted for a third method that
consists in contrast adjustment and binarization. The original
image f(x, y, ti)is transformed into a black-and-white image
g(x, y, ti)using thresholding
g(x, y, ti) = 1if |f(x, y, ti)|> T
0if |f(x, y, ti)|< T
This is a flexible method, as the parametrization can be adapted
to the scenarios, and works well as long as there are no
reflecting surfaces.
These algorithms are already available in the NI Vision.
A. Real-time (on-line) tracking
To test the on-line algorithms, a Crustacean Isopode (wood-
louse) was tracked (Fig. 1). The functions for image segmen-
tation available in LabVIEW/NI Vision assume the image is
gray. RGB color images consist in three color planes: red,
green and blue. In the woodlouse experiment any of those
planes was suitable, and arbitrarily the red plane was chosen
to build the gray image.
Then, vertical and horizontal Sobel Operator kernels
101
202
101
121
000
121
(1)
were applied to the gray-scale image to perform edge detec-
tion, and a later binary thresholding step produced a black-and-
white image. Finally, the thickness of the edges was increased
to create joined regions (particles) and an erosion process
removed isolated pixels (image noise) [1]. The final image
in this example is shown in Fig. 2.
Fig. 2. Black-and-white image of the woodlouse shown in Fig. 1 after
applying the algorithms for segmentation.
To record the position and the velocity, the center-of-mass
(CoM) of the animal, under the assumption of an ellipsoidal,
is calculated. The coordinates of the CoM are
CM (x) = X
x
/A CM (y) = X
y
/A
where each sum encompasses all the pixels inside the particle,
and the ellipsoid area is estimated by A=π a b, where aand
bare the axes’ half-lengths. These CoMs were calculated with
NI-Vision routines.
We wrote scripts in MathScript to calculate and record the
instantaneous velocity of the target. The scripts were inserted
in the LabVIEW virtual instrument that implements real-time
tracking. The performance of the real-time system was enough
to process images at a rate of 10 Hz. An algorithm for
tracking simultaneously two targets [9] was also implemented
with MathScript. The system recognised the presence of two
targets until their separation was about 2±0.5mm: for closer
distances, the targets appeared as a single one.
B. Off-line recognition and tracking
The implementation of real-time processing constrains the
speed and complexity of the algorithms. This don’t usually
happens in off-line processing of recorded movies.
The LabVIEW/NI-Vision works with AVI films and the
IMAQ has several functions to manipulate them. One of them
is IMAQ Construct ROI that allows defining the ROI1of the
target (see Fig. 8). The ROI shape can be circular, rectangular
or piecewise-linear. The data extracted from the ROI (which is
a sub-image) generates a pattern (or template) which is used
for tracking the target in successive frames.
The NI Vision image tracking module is claimed to be robust
to variations in light intensity, to poor focusing, to a modest
amount of noise and to geometric transformations of the target,
such has rotations and translations. The tracking algorithms
combine color recognition (using the HSL color model) with
the normalized cross-correlation applied to gray-scale images.
First, the color histogram of the target is compared with that
of sub-regions in the image; then is calculated the cross-
correlation between the promising sub-region and the saved
sub-image, to locate the position of the CoM of the target.
The cross-correlation C(i, j)is obtained by overlapping
a sub-image w(x, y)(the target template), with dimension
K×L, to a larger image f(x, y)(the frame image), with
dimension M×N, where KMand LN(Fig. 3), and
then calculating
C(i, j) =
L1
X
x=0
K1
X
y=0
w(x, y)f(x+i, y +j)(2)
i= 0,1, ..., M 1; j= 0,1, ..., N 1
This is the cross-correlation between w(x, y)and f(x, y),
centered in the pixel (i, j). The sum covers only pixels where
wand foverlap. Calculating (2) is time consuming and
proportional to K×L×M×N. However, Fast Fourier
Transforms can speed-up this calculation. The higher C(i, j)
indicates the position of the target.
Fig. 3. Positioning of images and indexes in cross-correlation.
To overcome fluctuations in image intensities, NI Vision
calculates the normalized cross-correlation instead of (2). The
normalization desensitizes C(i, j)by dividing it by the square
1Region Of Interest.
root of the average intensities of the frame and of the target
template [10].
Several parameters of the LabVIEW recognition algorithms
can be regulated: the maximum size of the targets; the propor-
tion pixel/unit (px/mm, px/cm,...); and the relative weighting
of the color against the cross-correlation criteria.
V. IMPROV EME NT IN IM AGE RECOGNITION AND
TRACKING
Section VI presents results from on-line and off-line track-
ing of animals with our system, where is evident that the native
functions in Ni Vision deliver insufficient performance.
The extreme sensitivity to ROI definition is notorious when
tracking a winged insect (Hemiptera, family Pentatomidae)
which is quite faster than the woodlouse. One image of the
film is shown in Fig. 4. The film has 22 seconds and the off-
line processing took 105 seconds.
Fig. 4. Tracking a Hemiptera from the family Pentatomidae.
In Fig. 5 are the results of tracking the insect. The ROI,
defined over the first frame, includes the insect and some
background area. It is seen that the position is, more often
then not, calculated with error. When the ROI for tracking is
defined just over the insect body, the results are much better
(Fig. 6).
Fig. 5. Graphic with the position (in mm) of the Hemiptera. In this case,
the poorly defined ROI included the insect and some background.
Fig. 6. Graphic with the position (in mm) of the Hemiptera. In this case,
the ROI included only the insect.
The sub-optimal performance was more serious in fish
tracking. To overcome the problem, recognition was improved
by developing proprietary strategies and the corresponding
LabVIEW VIs (Virtual Instruments) which proved to be ef-
fective. They were: implementation of an adaptive moving
window and of the algorithm to move its position from frame
to frame, where the target is searched; and filtering the target
trajectory with a Kalman Filter.
When LabVIEW fails target recognition in one frame, it
returns the position (0,0) for the center of mass of the target.
This allowed us to implement a basic error mitigation strategy,
that consisted in recording the last valid position when (0,0)
was returned. However, due to the heavy rate of failures
(compare the point densities in Figs. 9 and 10 to have an
idea of the rate of failed recognitions), the results were not
good enough and other strategies had to be devised.
A. Adaptive search window
LabVIEW allows the user to select a window, defined on
the complete image, which limits the area for searching the
target. The window is defined by the user in the first frame,
with its center being the CoM of the target. In the remaining
frames the search is done only inside the window defined in
the previous frame, and the window center is updated to the
CoM of the target recognized in the current frame. With an
”adaptive” center the window follows the target from frame
to frame. This adaptive algorithm was implemented by us –
LabVIEW would have kept the window steady in the starting
position for all the frames.
The dimension of the window must be large enough to war-
rant that the animal don’t ”leave” the search area and is thus
”lost” between frames: i. e., the window size depends on the
velocity of the target. This approach has two advantages: by
reducing the search area, the cross-correlation (2) is computed
faster; and the probability of failing the target recognition is
smaller, as the search region is smaller.
Results on the improvement achieved with this technique are
given in the next section. The number of detection successes
improved, but the position of the CoMs was still noisy. This
problem was solved with a Kalman Filter.
B. The Kalman Filter
The Kalman filter [11], [12], [13] is an efficient compu-
tational (recursive) algorithm used to estimate the state of a
process in such a way that minimizes the mean of the squared
estimation error. The filter is very powerful in several aspects:
it supports estimation of past, present, and even can predict
future states; and it can do so very effectively, even when the
precise nature of the modeled system is unknown.
The KF combines previous observations with the a priori
knowledge of the system, to offer an estimate of the wanted
variables. The (stochastic) system model is described by a set
of state-variable linear equations corrupted by Gaussian noise.
One of its main areas of application is autonomous or assisted
navigation. It was first used by NASA for tracking satellite
and other vehicles in early space missions.
The original KF models linear systems, but several exten-
sions have been developed for modeling nonlinear processes
[12], [13]. The linear model comprises the state and the output
equations, with the noises (or errors) in the system, wk, and
in the measurement (of the output), zk, added:
xk+1 =A xk+B uk+wk(3)
yk=Cxk+zk
xis the state variable vector, uis the input vector and yis
the output vector. Ais called the state-transition matrix. Both
noises are white, Gaussian and with zero average, which means
wN(0, Sw)and zN(0, Sz), where Sw=E[w wT]and
Sz=E[z zT]are the respective covariance matrices.
The Kalman filter produces a new estimate, ˆxk+1, of the
state variables after each observation, based on the following
set of equations [13], [14], [15]:
ˆx
k+1 =Aˆxk+B uk(4)
P
k+1 =A PkAT+Sw
Kk+1 =P
k+1 CT(C P
k+1 CT+Sz)1
ˆxk+1 = ˆx
k+1 +Kk+1(ˆyk+1 Cˆx
k+1)
Pk+1 = (IKk+1 C)P
k+1
The matrices Pand K(the Kalman gain) are updated with
each observation. These matrices ”memorize” the information
from all the past observations, and this economy in memory
space is one of the powerful features of the KF that contributes
to its wide use. As a disadvantage, the KF corresponds to a
low pass filter and thus smooths the variables.
1) The discrete Kalman filter for tracking: To keep compu-
tational effort to a minimum, we implemented a second order
KF for each coordinate of the image. If pis the position and
vis the velocity of the target, the movement is modeled with
linear equations pk+1 =pk+T vk+ ˜pkand vk+1 =vk+ ˜vk,
where ˜pkand ˜vkare, respectively, position and velocity noises.
kis the time index and Tis the frame period.
This one is a constant velocity model, and is often used in
tracking; the present velocity and position are predicted with
the previous velocity. The model is justified by the fact that,
most of the time, the fishes and insects have almost constant
velocity, with occasional sudden changes in direction.
Thus, for each of the two 2-D coordinates, xx and yy, we
use the following model:
pk+1
vk+1 =1T
0 1 pk
vk+ ˜wk(5)
yk= [1 0] pk
vk+ ˜zk(6)
where ˜wk= [ ˜pk˜vk]. The position and velocity units are
respectively mm and mm/frame. The initial errors and the cor-
responding covariance matrices are estimated in the beginning
(the initial values are not critical, as they will ”auto-correct”
with the time, which is a property of the KF). Comparing
(6) with the general model (4), it is concluded that the input
matrix Bis zero in this animal tracking model.
VI. RES ULTS
Results were obtained with the real-time and with the off-
line tracking systems. Quantitative data gathered by the system
(position, velocity and distance traveled by the targets) were
stored in a spreadsheet-ready format: the graphics starting at
Fig. 9 come from that data.
A. Real-time tracking
As an example of real-time trajectory analysis, we show
a graphic of the CoM of a woodlouse during a 10 minute
observation (Fig. 7). The scenario is a 18×10 cm box. The
length of the path was calculated as 1578 mm, and the
maximum recorded instant velocity was 2 mm/s. Observe in
Fig. 7. Position of the CoM of the woodlouse in a 10 minute observation.
Fig. 7 the wrong positions returned by the tracking system,
appearing as single points scattered in the plane, which means
the recognition loudly fails even in an optimized scenario
(black target over white background).
B. Off-line tracking
The improvements brought by the adaptive search window
and the Kalman filter are noteworthy in fish tracking. The ROI
and the fish itself (a Cichlidae) are shown in Fig. 8. The fish
changes its shape several times along the trajectory. The movie
lasts for 12 seconds and has 300 frames.
Fig. 8. a) ROI selected around the fish boundary when starting an off-line
tracking session.
The trajectory returned by the raw IMAQ Vision system is
shown in Fig. 9. This is the best result achieved after several
trials of weights for the color versus the cross-correlation
relevances, in the recognition algorithms implemented in the
IMAQ. There are many recognition failed attempts: the IMAQ
returns a center-of-mass coordinate (0,0) when fails the detec-
tion, and these are the missing points in the trajectory. Only
57% of the frames had a successful recognition. Moreover,
even when the target is found, the CoM coordinates suffer
from heavy noise (or position error).
In Fig. 10 it is shown the trajectory returned by the off-line
tracking system after implementing (only) the adaptive search
window algorithm, with a square window of 10 cm size. The
number of successful recognitions improved to 80%. However,
in this picture is not yet easy to identify the trajectory of the
Fig. 9. Fish trajectory with the native tracking algorithms in IMAQ (in this
and the two next figures, axis units are mm).
fish due to detection noise corrupting the positions, and it is
not possible to calculate good estimates of the total distance
traveled by and of the velocity of the target.
Fig. 10. Fish trajectory using the IMAQ Vision tracking algorithms and the
adaptive window (compare with Fig. 9).
In Fig. 11 is the output of the Kalman filter when applied
to the data in Fig. 10. It very effectively filters out the noise
corrupting the CoM of the target: the trajectory becomes
detailed and clear.
Fig. 11. Trajectory using the IMAQ Vision tracking algorithms, the adaptive
moving window and the bi-dimensional Kalman Filter (compare with Figs. 9
and 10).
The state model (6) provides also the instant velocities. V x
is shown in Fig. 12, both before (blue) and after (yellow) the
application of the Kalman filter.
VII. CONCLUSION
Tracking animals is very important in experimental Biology.
The assembling of tracking systems in teaching laboratories,
at a reasonable cost, is possible only if implemented with
standard vision packages, such as LabVIEW/IMAQ Vision.
Fig. 12. V x component of the velocity versus time t. The blue points were
obtained with standard Labview algorithms, and the yellow points are the
Kalman estimates.
However, the robustness of the native algorithms in the
image processing packages often is not good enough for
real scenarios. To overcome this drawback, we implemented
techniques on top of the LabVIEW/IMAQ Vision algorithms,
that substantially improved its capabilities of recognition and
tracking: an adaptive search window and a Kalman filter for
tracking the center of mass of the target. The improvement,
implemented with MathScript scripts, made possible the ex-
traction of meaningful data about the target: the position, the
velocity and the travelled distance. The goal of developing a
low-cost vision system, by re-using standard vision software,
was achieved.
REFERENCES
[1] R. Gonzalez and R. Woods, Digital Image Processing. Prentice Hall,
1992.
[2] L. Noldus, A. Spink, and R. Tegelenbosch, “Ethovision: A versatile
video tracking system for automation of behavioral experiments,Be-
havior Research Methods, Instruments, & Computers, vol. 33, p. 398,
2001.
[3] C. M. Bishop, Pattern Recognition and Machine Learning. New York:
Springer., 2006.
[4] H. Tao, H. Sawhneye, and R. Kumar, “A sampling algoritm for tracking
multiple objects,” in Workshop on Vision Algorithms, 1999.
[5] W. N. Gonc¸alves, J. A. Silva, B. B. Machado, H. Pistori, and A. S.
de Souza, Lecture Notes in Computer Science, Volume 4872/2007
(Advances in Image and Video Technology). Springer, 2007, ch. Hidden
Markov Models Applied to Snakes Behavior Identification.
[6] R. Huang, V. Pavlovic, and D. N. Metaxas, “A profile hidden markov
model framework for modeling and analysis,” in Proceedings of ICIP,
2006, 2006.
[7] R. Dielenberg, P. Halasz, and T. Day, “A method for tracking rats in
a complex and completely dark enviroment using computerized video
analysis,” Journal of Neuroscience Methods, no. 158, p. 279, 2006.
[8] D. Walther, D. Edgington, and C. Koch, “Detection and tracking of
objects in underwater video,” in Proceedings of the 2004 IEEE Computer
Society Conference on Computer Vision and Pattern Recognition (CVPR’
04), p. 1063, 2004.
[9] T. Balch, Z. Khan, and M. Veloso, “Automatically tracking and analyzing
the behavior of live insect colonies,” in Proc. 5th Int. Conf. Autonomous
Agents, Lisboa, Portugal, 2001, pp. 269–280.
[10] U. Author, “Ni vision concepts manual,” National Instruments, Tech.
Rep., June 2008.
[11] R. E. Kalman, “A new approach to linear filtering and prediction
problems,” Transactions of the ASME–Journal of Basic Engineering,
vol. 82, no. Series D, pp. 35–45, 1960.
[12] D. Simon, Optimal State Estimation: Kalman, H, and Nonlinear
Approaches. New York, NY: John Wiley, 2006.
[13] R. Brown and P. Hwang, Introduction to Random Signals and Applied
Kalman Filtering (2nd ed.). New York, NY: John Wiley, 1992.
[14] R. Stengel, Optimal Control and Estimation. Dover, 1994.
[15] G. Welch and G. Bishop, “An introduction to the kalman filter,TR95-
041, Un. of North Carolina at Chappel Hill, 2006.
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
In this paper we propose a new framework for modeling 2D shapes. A shape is first described by a sequence of local features (e.g., curvature) of the shape boundary. The resulting description is then used to build a profile hidden Markov model (PHMM) representation of the shape. PHMMs are a particular type of hidden Markov models (HMMs) with special states and architecture that can tolerate considerable shape contour perturbations, including rigid and non-rigid deformations, occlusions and missing contour parts. Different from traditional HMM-based shape models, the sparseness of the PHMM structure allows efficient inference and learning algorithms for shape modeling and analysis. The new framework can be applied to a wide range of problems, from shape matching and classification to shape segmentation. Our experimental results show the effectiveness and robustness of this new approach in the three application domains
Article
This book offers the best mathematical approaches to estimating the state of a general system. The author presents state estimation theory clearly and rigorously, providing the right amount of advanced material, recent research results, and references to enable the reader to apply state estimation techniques confidently across a variety of fields in science and engineering.
Article
The classical filtering and prediction problem is re-examined using the Bode-Sliannon representation of random processes and the “state-transition” method of analysis of dynamic systems. New results are: (1) The formulation and methods of solution of the problem apply without modification to stationary and nonstationary statistics and to growing-memory and infinitememory filters. (2) A nonlinear difference (or differential) equation is derived for the covariance matrix of the optimal estimation error. From the solution of this equation the coefficients of the difference (or differential) equation of the optimal linear filter are obtained without further calculations. (3) The filtering problem is shown to be the dual of the noise-free regulator problem. The new method developed here is applied to two well-known problems, confirming and extending earlier results. The discussion is largely self-contained and proceeds from first principles; basic concepts of the theory of random processes are reviewed in the Appendix.
Article
2 7212 Bellona Ave. 3 Numbers in brackets designate References at end of paper. 4 Of course, in general these tasks may be done better by nonlinear filters. At present, however, little or nothing is known about how to obtain (both theoretically and practically) these nonlinear filters. Contributed by the Instruments and Regulators Division and presented at the Instruments and Regulators Conference, March 29-Apri1 2, 1959, of THE AMERICAN SOCIETY OF MECHANICAL ENGINEERS. NOTE: Statements and opinions advanced in papers are to be understood as individual expressions of their authors and not those of the Society. Manuscript received at ASME Headquarters, February 24, 1959.Paper No. 59, IRD-11.