Some of main issues in machine vision and attracted so much attention because of various applications in recent years are video surveillance, target tracking in military applications, video objects tracking and extracting. Target tracking in video images has important role in advanced applications based on machine vision like surveillance systems, human and robot communication and the field of medical engineering     . In tracking as usual, target is expressed as object contour; therefore any information about deformation in the framework of contour area would be useful  . This deformation can be accomplished by bi-dimensional affine transformation on contour area obtained by geometrical movement of object. We can imagine different features and features for target tracking system. This system must progress in different unusual situations with calculated costs and appropriate speed. A desirable tracking system should have capability in facing different optical and climatic situations  . For example, a transportation vehicle tracking system should be able to perform well at night, day, dawn and sunset and also its efficiency should not be reduced in sunny, rainy and foggy weather  . The extant tracking systems, in special climatic and light situations, indicate good performance but they have weak points in other situations. Noise is inevitable in images. Since the quality of an image is affected by many factors like video recording tool, climatic situations, the context of the desired vision and changes in light intensity during day and night brings about challenges for proposed algorithms in machine vision. Therefore, deleting noise or decreasing it can have better results for these algorithms. After removing noise, good features for track are obtained in frame in the moment of t using Shi and Tonasi method  . They calculated the good features with special values using second derivative (applying Sobel operator) and the obtained points by this method are introduced as good features for tracking. The next step is matching with KLT. In this step using Lucas-Kanade Method  , good correspondent features between two frames in moment of t and t + 1 are found. The basic idea of KLT Method is based on the assumptions: brightness constancy, temporal persistence or small movements and spatial coherence. According to these three assumptions, brightness constancy of pixels related to one object in sequential frames would be fixed and pixels in this sequence would have small movements and also points related to special pixel vicinity would have similar properties and movements. One of the mostly used characteristics for tracking is corner features which has attracted so much attention because of less sensitivity to light intensity variations. Using corner points for tracking has been used in many methods. Discovering corner points in tracking literature are: Moravec  , Harris  , KLT  , SIFT  . Authors in  and  assessed feature points for tracking.
In  and  , authors have used background subtraction method with upgrading along tracking. In    , authors used another clustering method known as K- means for color and place characteristics. The main idea of this method is at first object features and background near to object are clustered and then by deleting common clusters, object is identified from its near background and tracked. Most algorithms for tracking moving targets can be tracked from one frame to another frame in sequence of images. With respect to the performed examinations, we can divide tracking methods into five main groups   .
1) Tracking based on model.
2) Tracking based on area.
3) Tracking based on static and dynamic (active) contour.
4) Tracking based on feature (tracking based on feature points).
5) Tracking based on mesh.
This object model usually during a repetitive process is modified with images and the best matching area is considered as object observation area. Other systems based on model according to moving detection methods identify moving areas from image and if these areas have appropriate features they are considered as targets and are tracked in next steps. Systems based on model unlike these systems that use only tracking swarm of pixels, attain to level of image appreciation and are more advance.
2. Tracking Using Model
For tracking an object a two dimensional or three dimensional models are used usually during repetitive process it is matched with image and the place with best matching is considered objection observation spot  . System not based on model separate moving area from image through movement detection methods, therefore if these spots have suitable specifications, are assumed as target and tracked in the next steps. In model-based methods, at first a hypothetical method based on primary data is established about figure or object movement. Then this model is applied for estimating object in a number of predicted locations and finally the status of target object is estimated by the help of situation estimation techniques like Kalman filter   . Model-based methods partially function well and obviate the problem of overlapping. Using model based tracking has high capability for analyzing behaviour, body movements, and detection of people. The main problem of these methods is the high calculation complexity level of them that have less capability of immediate implementation  . In template matching as a part of model-based method, a predetermined target in input image templates are tracked using SAD (sum of absolute differences), SSD (sum of squared differences) and NCC (normalized cross correlation) and detects the target position of each input template as output. Calculation complexity of these methods increases with greater target and search window. For removing this problem we can disclose set of image features like corners, areas and edges and implement template matching operations on these features  . As object contours usually have more lighting intensity variations edge finding is used for disclosing these variations. One of the most features of edges is their less sensitivity to lighting intensity variations  . In outer environments, there are many challenges like lighting variations and environment noises. Fuzzy edging is efficient for dealing with these challenges.
Tracking Using Template Matching in Gray Images
In this method a piece of image is slipped onto input image and we detect and matching of two proposed normalized methods using SSD and NC techniques. Template featuring methods don’t require primary and final process. The complexity of correlational methods is rather less and these methods are suitable for immediate implementing  . We can obtain more precise matchings with price of more calculations with movement from simple criteria SAD to more complex criteria NCC. Templeate matching methods are in most cases the best and most appropriate solutions but their calculation complexity increases with higher target dimensions. The most common template matching method in gray images is NCC  . This method is common in object tracking and position finding applications and in the lighting changes in environment is more powerful than other methods.
c(m,n) is the rate of template matching in row m and column n, Us and Ut are mean rates in search window and template window, S represents search window and t stands for template window.
3. Area-Based Methods
In this method, an area in image is detected corresponding to considered target. In this method, information like movement, color and feature is used for detecting areas. By combining different areas we can make the object. The considered target usually is disclosed by subtracting two images. In  , Wen used small bubbles for tracking a person in an image. In this step body of human kind is shown by small bubbles each representing special part of body. Meanwhile the number of pixels relating to body of human kind and background is modeled by a Gaussian Model. Therefore by tracking each of the bubbles, the desired target is tracked. This method functions well when objects move freely without hitting each other but when objects overlap each other the disclosure is problematic, also this method has high calculation complexity. In area- based tracking method, the video objects are quantified primarily by object detection algorithm or user and then clusters of video images are grouped by classic tools like Watershed Algorithm. Clustered area matching is applied in sequential templates in order to perform tracking in next templates   .
4. Tracking Based on Dynamic and Static Contour
Contour-based methods in fact are detecting desired target by presenting a surrounding of the target in active contour systems this upgrading is dynamic. The advantage of this method is less calculation complexity. Therefore, object clustering overlapped slightly is faced with problem. If in overlapping a new contour is built for each object, even in this case objects can be tracked  . Object tracking based on active contour models is performed by tracking target object contours. In this method, contour curve is defined surrounding target object automatically or by user. Then, this contour influenced by energy function is modified to match with target object contours   . Contour is used for defining object range. In images by detecting foreground areas (as set of pixels in an area), it can be detected contour or edge of Foreground. Also the information is used for obtaining descriptors. Edges are suitable tools for compressing Foreground information for simplification of descriptor calculations  . Contour-based methods have been studied extensively in recent years. Some of the advantages of this method in relation to other tracking methods are:
1) Capability in representing objects with complex edges.
2) Tracking capability of objects like human which are modified dynamically.
The advantage of using a representation based on object contour in relation to area- based representation is less calculation complexity. In active contours in changing points of contour we face with a problem. Connecting codes are used for representing borders by connection and sequential line directions. Directions typically are divided into 4 or 8 parts. Each line is coded with numerical template as shown in Figure 1.
Figure 1.Code template of sequences (a) code template for four directional sequences (b) code template for eight directional sequences.
Active contour models are distinct from each other because of special figure and movement as snake models and for the first time were defined as curves with minimum energy by Kass et al.  in 1987 influenced by energy function inclined to image prominent features like lines, edges, corners, … This method was suggested for clustering and video image tracking but for minimizing energy function, precision and speed, the proposed method faced with numerous problems. Amini et al. (1990)  proposed a dynamic programming method for minimizing energy of contour allowing harder contours added for optimizing contour treatment , but this algorithm was slow and had time complexities O (nm3) that n is contour points and m is possible locations repeating of point movement.
Shah and Williams (1992)  proposed a speedy greedy algorithm for minimizing tracking and counter energy which its time complexity was O (nm). The problem of this method was incorrect detection of objects with concave contours. Caselles et al. (1993)  proposed Geometric Active Contour Models solved the problem of concave contour detection and reliance on topology in previous models. However this method had so many calculation problems reduced algorithm speed and was not suitable for tracking. Terzopoulos and McInerney (2000)  proposed T-Snakes (Topology Adaptive Snakes) solved the problem of reliance on topology with less calculations in comparison with Caselles Method and was suitable for tracking objects with complex structures. Ivins  (1994), Hamarneh  (2000) and Schaub  (2003) proposed different models of Color-Snake forwarded contour curve toward target object with distinct color through a color pressure force to contour energy function, performing a set of statistical calculations on target area and background. The problem with this method was that the object color and background should be simple in this method but this method cannot track objects with complex and contextual colors.
5. Feature-Based Tracking
Feature based systems are categorized into two sets according to kind of features applied in tracking.
Tracking with capability of movement detection.
Tracking with capability of object detection.
These systems track objects using features inside tracked object. Feature points can be edges or lines in tracked object, theses points may belong to special object or a group of objects. For instance, top finger salience arrangement is related to a special person but symmetry features belong to group of objects. The advantage of feature-based tracking is that even in time of slight overlapping in two or few objects, some of the features of the object are visible. In feature points based methods, at first a number of appropriate points in target window is disclosed (like corner points by corner Detector) operators then in the next frame the corresponding point is detected and template vector for movement is determined, finally tracking window is adjusted based on movement template vector  .
6. Mesh-Based Tracking
In mesh-based tracking, at first a set of nodes in target object contours are defined. Then these nodes are connected together through triangulation procedure. These sets of points are tracked using sampling from node moving vectors according to visual flow movement estimation   . Two-dimensional mesh model is movement tracking method based on space object changes in mesh structure cells and neighbor correlations between different cells. Movement in this method is tracked through transfer of corner points of mesh structure cells calculated by estimated movement field   . Two dimensional meshes can be divided into monotonous meshes with the same size for all cells and non monotonous meshes like hierarchical and content-based models with variable cell sizes related to image frame    . Cells in monotonous mesh may overlap each other in video image sequential frames while a non monotonous mesh is adapted to object contours. In addition when there is more than one movement in image frame, monotonous mesh has not enough efficiency   . A successful tracking is dependent on precision in overlapping area detection, MF areas and estimation of movement field near object contours. Movement compensation is needed for determining deletion points from set of mesh structure points and detecting new point locations. In standard mesh models, there is necessity in movement continuity in all frames and this is not desired in multi movements and overlapping areas in image frame   . The concept of adaptive mesh expressed in movement tracking for dealing with this restriction. Movement field estimation algorithm, estimates movement vectors independently in each pixel of optical flow using Horn-Schunck  . One movement field estimation method operates based on optical flow field better that other methods (for example block matching method) as optical flow-based methods are monotonous movement fields appropriate for parameterizing movement fields  . In  , the other method for estimating movement field based on split and merge was expressed by Kanade and Lucas. Detection algorithm of BTBC area in mesh-based tracking has been used including steps explained in   .
7. Performed Works
Techniques as Kalman Filter, Markov Chain Monte Carlo, Optical Flow and Particle Filter are known object tracking methods. Although the number of proposed methods in this field is so numerous, but each has its own advantages and disadvantages, for instance Kalman Filter Estimates the object condition and the measurement used to update the state estimation Therefore, Kalman Filter is live estimation predicting linear processes and correcting object position  . Extended Kalman Filter for solving non-linear problems, we can use this developed filter to make linear the estimation and measurement calculation relations  . Markov Monte Chain is one of the techniques used for tracking vehicles  . Although this algorithm can track overlapped vehicles adapted with sample sizes, is still unstable and there is error in tracking results. Moreover, optical flow is also used for tracking objects as a known method. In research  optical flow has been used for detection and moving object tracking. But optical flow reflects moving background of captured image. So, when there is overlapping or moving object is lost by obstacles, optical flow hardly overlaps with moving object. Tracking algorithm using particle filter is a safe method, it can deal with non-linear conditions  . In research  , a usual particle filter along with tracking faced with the problem of Particle Degeneracy. The degeneracy event of particles is because of lower weights of particles chosen after some repetitions; therefore this problem impedes most algorithm advancements. In  it is stated that particle degeneracy is solved by resampling or implementing so many particles in this algorithm. But, it isn’t practical to implement so many particles because of huge amount of calculations. Therefore, resampling of particles is a suitable method for dealing with this problem  . In addition, color feature in research  has been used for vehicles and other hard objects. According to their results, algorithm with color features can carefully track automobile as color feature is resistant in scale variation, turning and blocking automobiles. But color feature is restricted when there are disharmonies in background or the color of background is similar to target. In addition, in research  it has been shown that tracking algorithm with some features would have better tracking results.
8. Particle Filter
Obtained calculations from video sensors (camcorders) have been combined with noise. In addition, object movements can also be vulnerable to random disorders. Random tracking methods like particle filters solve these problems along object position estimations considering not precise model and calculations. Particle filter algorithm is considerable in image tracking as strong estimation tool in non-linear systems     . One of the challenges in Particle filter is choosing function with appropriate importance for random sampling which has considerable effect on algorithm function. There has been so many attempts to estimation of importance function to replace position transient distribution   . Particle filter is a set of filters in which Monte Carlo (Sequential Monte Claro) is used for estimation of previous distribution  . Capability of these methods depends on their ability in non-linear non-Gaussian model descriptions. In other words, as Particle filter is a numerical method for estimation of signal, non-linearity of model or non-Gaussian noise is unimportant. Simplicity in their implementation is among other reasons for usefulness of these set of methods. Particle filter is in fact implementation based on sampling in which intensity of previous possibility is estimated with set of given weight particles  . Generally, particle filter is based on three important stages, Prediction Stage, Measurement stage and resampling. In prediction stage, a set of particles indicating floating model position transfer (ship) are generated. In measurement stage particle weights are calculated based on possibility measurement. Resampling stage prevents from particle degeneracy problems. Particle filter is extended for float tracking with dynamic changes. Therefore previous possibilty intensity function and observation possibility intensity function measured in Particle filter algorithm are often non-Gussian. In previous possibility intensity function, position vector xt identifies tracked floating position space while zt determines all of estimations of position space. Main idea of particle filter is estimation of previous distribution based on limited set of weighed random samples called NP particle. Moreover each weighed sample is drawn to indicate target floating position estimation based on previous distribution. determines target floating position and identifies weights related to particle. As is weight related to each particle, therefore there is restriction for each set of particle weights that should be in the range of. Complete set of particle weights should be normalized and their sum should be one that these relations are indicated as following (1) and (2):
9. Extended Kalman Filter
Extended Kalman Filter or EKF is extensively is used for tracking systems with non-linear measurements. EKF is based on first grade linearization. EKF in facing with problem of tracking has some limitations. First in EKF linearization stage requires Jacobian Matrix calculation and matrix calculation of Hk is faced with so many problems in target tracking with high maneuver because of sudden changes in target acceleration. Also, using first grade estimation in EKF algorithm for calculation of error covariance matrix occasionally leads to filter divergence. Moreover, high amounts of calculations in this algorithm related to immediate need in target tracking are one of the problems of this method  .
10. Mathematical Description of Active Contour Models
Active contour model (Snake) proposed for the first time by Kass, is parametric curve in image frame defined by
This curve is deformed influenced by energy function and guided to desired features in image. Energy function is defined as following   .
Having internal energy and image energy:
In which internal energy is dependent on internal features of contour like Elasticity and curvature and it is calculated by
The first part of internal energy causes that counter act like a spring determining elasticity level of curve. The second part of internal energy determines resistance level of curve against turning. In the above relation coefficients of α and β are weighed parameters controlling sensitivity level of contour against elasticity and turning. Image energy forwards contour curve toward desired and prominent features of image like edges, lines, corners, …this energy in the first relation of active contour models is estimated by edge detection and it is calculated by  .
which relation 8 is used for decreasing noise effect where in p is parameter for image energy size, Ñ stands for gradient function, Gs × I Convolution of image with Gaussian Filter having standard deviation of ∂. Therefore total energy of active contour is defined by:
If there are prominent image features (strong edges), energy function guides contour curve toward target correctly but unfortunately in case of not existing strong edges, contour curve is faced with difficulty in finding target object. For dealing with this problem, a new energy named color pressure energy will be used to replace edge energy in relation 9    . This energy is a function of model statistical features and by generating a pressure force compresses or extends contour toward target object area. Color pressure energy is defined as:
ρ is a parameter determines pressure energy magnitude and quantified by user. G is a function defined as following according to  :
In which T is image intensity threshold. G function is also defined as following according to 
In which μ is mean and is standard deviation of target object pixels extant in form of previous data or obtained through calculation of image. K is constant determined by user. The above method functions well when object target and its background are simple but is problematic when target or background has color or context complexity.
Events like overlapping, hiding behind background of fixed objects, maneuver, dimension change, object distance variation related to camera along with clustering defects, forming shades, etc. are obstacles that should be dealt with guide algorithms. Constant tracking criteria (retaining target while making tracking progressive events) on sea level (water) comes up with many challenges. In this paper, it has been attempted to discuss algorithms and techniques for object tracking.