A survey of moving target tracking algorithms
Moving target tracking is an indispensable link in video surveillance system. In certain scenes, some classical algorithms can achieve better target tracking effect. This paper introduces the general target tracking algorithm, compares several common algorithms, and introduces particle filter algorithm and contour based target tracking algorithm in detail. Finally, the processing of target occlusion, multi camera target tracking and target tracking under camera motion are briefly introduced. First, the general target tracking algorithm
In general, target tracking is divided into two parts: feature extraction and target tracking algorithm. The extracted target features can be roughly divided into the following categories:
1) with the color histogram of the target area as the feature, the color feature has rotation invariance, and is not affected by the size and shape of the object, the distribution in the color space is roughly the same.
2 The contour characteristics of the target, the algorithm speed is faster, and in the case of a small part of the target occlusion also has a good effect.
3 The texture feature of the target, and the tracking effect of the texture feature is better than the contour feature.
Target tracking algorithm can be roughly divided into the following four kinds:
1 mean drift algorithm, that is, meanshift algorithm, this method can be a few iterations to quickly find the most similar to the target location, the effect is very good. But it can not solve the occlusion problem of the target and can not adapt to the shape and size of the moving target. The improved algorithm has camshift algorithm, this method can adapt to the change of the size and shape of the moving object, and has good tracking effect, but when the background color and the target color are close, it is easy to make the area of the target larger, which may lead to the loss of target tracking.
2 Based on Kalman filter target tracking, the method is that the object's motion model obeys the Gaussian model to predict the moving state of the target, and then, by comparing with the observation model, updating the state of the moving object according to the error, the precision of the algorithm is not very high.
3 The target tracking based on particle filter, each time through the current tracking results to resample the distribution of particles, and then according to the distribution of particles to spread the particles, and then through the diffusion of the results to re-examine the state of the target, and finally normalized to update the target State. The characteristic of this algorithm is that the tracking speed is very fast, and it can solve the problem of partial occlusion of the target, and it is used more and more in the practical engineering application process.
4) based on the method of modeling the moving object. This method requires prior knowledge to know what target objects are tracked, such as vehicles, pedestrians, faces, etc. The target to be tracked is modeled, and then the model is used for actual tracking. The method must know in advance what the target object is to be tracked and then follow the specified target, which is its limitation, so its generalization is comparatively poor. Moving target tracking based on particle filter
Particle filter realizes moving target tracking is divided into four steps: 1 initialization of moving target feature, 2 feature search stage, 3 decision stage, and 4 particle resampling. This is followed by a sequential loop of three processes to track the moving target.
1) Extract the characteristics of moving objects
In this stage, we need to select the target to be tracked by human-computer interaction, and compute the histogram of the color space of the region by calculating the characteristics of the tracking target, such as the color feature of the target, as a description of the target.
2 Feature Search phase
After initializing the feature of the target, it is possible to scatter particles around the target to search for the target object. There are many ways to sprinkle particles, such as: A, evenly distributed: The entire video screen evenly scattered particles. (b) Scatter the particles around the target in a Gaussian distribution, that is, the place near the target is more than the target, and a little bit farther away. Each particle calculates the color characteristic of its position according to the target characteristic obtained at initialization time, and calculates the similarity degree between the histogram vector and the object's histogram vector. Then the similarity of each particle to the target is normalized so that the similarity of all the particles is added up and equal to 1.
3) Decision Stage
The weighted average is based on the similarity of each particle to the target. The coordinate of the first particle is the similarity of the target, and the most probable position of the target is:, and N is the number of particles.
4) Particle resampling
A particle resampling is the number of particles that are redistributed according to the size of the similarity, that is, the particles with the highest similarity are given more particles and less particles in the lower-similarity particles. The core idea of particle filter algorithm is the random sampling of particles and the importance resampling of particles. Because we don't know where the target is, we randomly scatter the particles. After the particles are scattered, the similarity of each particle is calculated according to the characteristic similarity of the target, and then the particles are scattered in the place with high similarity, and this is the idea of particle filtering. Three, contour based tracking
The goal of complex shapes is difficult to describe with simple geometric shapes. The contour based target tracking method provides a more accurate description of the shape. The main idea of this method is to find the target region of the current frame by using the target model established in the previous frame. The model can be the color histogram, edge, or outline of the target area. The contour based target tracking method can be divided into shape matching and contour tracking. The former searches for the target in the current frame feature, and the latter deduces the initial contour at the current frame position through the state space model or the direct minimization energy function. 1, Shape matching method
This method is similar to the target tracking method based on template, and the basic idea is to search for the contour of the target and the related model of the target in the current frame. Another method is to look for the correlation contour in the continuous frame, use the object's appearance characteristic, establish the Contour association, or is called the Contour match, and the point match method is similar.
Firstly, the contour is detected by the background subtraction, again, after the contour is extracted, the model of the target is calculated and the distance between each contour is matched; the target's model can be a density function (color feature or edge straight square graph), Target edge, contour boundary or combination of this information. 2, Contour Tracking
Forecasts the outline of the current frame from the outline position of the previous frame. The target contour of the current frame and the previous frame has overlapping parts, which can be divided into two realization ways, modeling the shape and motion state of the contour of the object by the state space model, or using the gradient search to deduce the contour. Gradient search is a method of contour energy minimization.
1 target tracking of state space model
The state of the target is defined by the shape of the contour and the moving parameters of the object (e.g., velocity, acceleration, direction of motion, etc.), and the target State is updated when the posterior probability of the contour is greatest.
2 target tracking of energy minimization method
This method is similar to the target segmentation method, in which the segmentation and tracking parts minimize energy by gradient descent or greedy algorithms.
3) Discussion
Contour tracking is usually used when tracking the entire target area, and its most outstanding advantage is that it can better adapt to the change of the target shape. In contour tracking algorithm, target expression can be a combination of appearance model, shape model, motion model or some models. The target model can be modeled by the density function, and the object shape is modeled by the contour subspace form. Shape expression based on appearance is widely used in intuitive contour search. Hausdroff distance is the most widely used method of measuring the expression based on the edge shape. Four, occlusion processing
Usually, occlusion can be divided into three kinds of conditions: target occlusion, background occlusion, self occlusion. For the mutual occlusion between targets, we can choose to deal with the problem according to the position of the target and the prior knowledge of the target feature. This method is difficult to judge because of the partial occlusion caused by the structure of the scene, because it is difficult to identify whether the shape of the target is changed or obscured. Therefore, the general method of dealing with occlusion problem is to use linear or nonlinear dynamic modeling method for moving target, and to predict the possible position of target when the target is occluded, and then revise its position until the target appears again. The Kalman filter can be used to estimate the position of the target, and the particle filter can be used to estimate the target state. or use: Contour projection, optical flow characteristics and other methods. Five, multi-camera target tracking
Multi-camera target tracking needs generally come from the following two aspects:
1 depth tracking and occlusion processing;
2) to expand the tracking scene area.
An important problem in multi-camera tracking is how to deal with the correspondence between different camera angles. In general, it can be defined manually, and it can be calculated automatically according to the observed scene and moving target. Six, target tracking under the camera motion
When the camera is moving, it is impossible to get the exact position and the size description of the target by the background subtraction, in which case the feature description and the target tracking algorithm are more demanding. The following methods are commonly used:
centroid Tracking algorithm
This tracking method is mainly used to track bounded targets, such as aircraft, the difference between the target and the background is larger. The target is completely in the video scene, when tracking, often need to use some image preprocessing algorithms, such as contrast enhancement, image denoising, bipolar enhancement, etc.
Edge Tracking algorithm
Edge tracking works best when the target you want to track has one or more edges and has an indeterminate edge at the same time. The typical tracking object is the launch of the rocket, it has a good front edge, but the tail edge is due to jet and uncertainty.
Scene Lock Tracking algorithm
This algorithm is mainly used for target tracking in complex scenes. It is suitable for monitoring the ground or ground scene from the air. This algorithm will track multiple targets in the video screen, then follow the motion state of each point to estimate the whole scene motion, and the location of the moving and moving objects in the scene is automatically selected. When a tracked target is moved outside the video screen, the new target can be automatically identified.
Combined tracking algorithm
This approach, by definition, is the combination of two or more complementary algorithms: the Centroid class algorithm and the related class algorithm are combined. The combination of the algorithm can be suitable for the target size, shape, and surface characteristics of large changes in the scene.