Keywords

1 Introduction

For a long period of time, tracking has been an important theme in terms of computer vision, and it remains a challenging task. Computer-vision tracking involves the detection of the moving regions of images, the separation of foreground pedestrians from the background, and movement prediction. The tracking of a pedestrian is straightforward, as the pedestrian can easily be found in each frame, and the elapsed time can be used to determine the trajectory of the detected pedestrian; however, the generation of the trajectories of multiple tracked pedestrians is more complicated. During the tracking of multiple pedestrians, it is possible to mistakenly identify one of the other pedestrians as the target pedestrian, or to miss the detection of a pedestrian due to inter-pedestrian interactions such as occlusions.

The objects tracking and detection is the most important and essential step in computer vision. The main target of object tracking is to detect and track the moving objects such as pedestrians.

Occlusions and overlaps occur very commonly in pedestrian scenes. Depending on incomplete object detection, tracking algorithm is more complex. Calculation for connecting the tracklets belonging to the same individual is NP-complete problem.

Yilmaz et al. [1] categorize the tracking methods on the basis of the object and motion representations used. There are two main processes in motion-based recognition: One is a motion representation, another is the extraction of motion information from a sequence of images. In general, for extracting motion information, using the two methods as follows: motion correspondence and optical flow [2]. Eom et al. [3] proposed a heuristic search-based motion correspondence algorithm using fuzzy clustering. They focused on the motion corresponding algorithm. And in the experiment, corresponding points is a preprocessing. In this paper is an improved version of their pre-processing phase. Pasquale Foggia et al. [6] proposed system is able to simultaneously track single objects and groups of objects. The object classifier module classifies each single blob into different classes.

2 Proposed Method

The diagram of the proposed method is shown in Fig. 1. We separated the foreground from the background by using a Gaussian mixture model whereby the separated foreground consists of blobs. Each pedestrian blob is represented by features such as area, perimeter, aspect ratio, center of mass, average color, and the distance to the closest blob in the previous frame; based on training-set learning, these features are used for the construction of the decision trees. The resultant learned decision trees are used to classify the blobs as either “split” or “merged,” and the splitting and merging processes assign blobs to each pedestrian.

Fig. 1.
figure 1

Diagram of the proposed method

To associate a blob in the current frame with a tracked pedestrian from a previous frame, we devised a modified A* heuristic search algorithm. For each blob, the search for the most-probable pedestrian from the previous frame is based on the Euclidean distance and the difference between the velocity angles of the blob and the pedestrian. The required heuristic function that computes the possibility that a tracked pedestrian corresponds with a blob was designed using a fuzzy-C-means (FCM) clustering algorithm. It is the association of the blobs with the pedestrians over the entire frame sequence that produces the trajectories, each of which is a trajectory for a single pedestrian.

2.1 ID3 Decision Trees

The ID3 decision tree is an information-theoretical algorithm invented by Ross Quinlan [7]. Each iteration of the ID3 involves the attainment of the largest information gain (or smallest entropy value), and a probability of p is determined from the occurrence frequency. The entropy of a given B M is computed as follows:

$$ E(B_{M} ) = - \sum\limits_{{C_{i} \in C}}^{{}} {p(C_{i} )} \log_{2} p(C_{i} ) $$
(1)

where C is a set of classes in B M that is either of a positive (merging) class or a negative (not-merging) class, and p(C i ) is the proportion of the number of pairs labeled as class C i in B M to \( \left| {B_{M} } \right| \). The information gain(IG) from the partitioning of B M according to the value of the feature f M is computed using Eq. (2), as follows:

$$ IG(f_{{M_{i} }} ,B_{M} )\text{ = }E(B_{M} ) - \sum\limits_{{v_{j} \in v_{{M_{i} }} }} {p(v_{j} )E(B_{{v_{j} }}^{M} )} $$
(2)

In Eq. (2), \( E(B_{{v_{j} }}^{M} ) \) is the entropy of the subset \( B_{{v_{j} }}^{M} \) that is constructed through the collection of pairs, each of which has a value of v j for the feature \( f_{{M_{i} }} \), from B M . \( V_{{M_{i} }} \) denotes a set of values for \( f_{{M_{i} }} \); therefore, \( B_{M} = \mathop {\bigcup }\limits_{{v_{j} \in M_{i} }} B_{{v_{j} }}^{M} \). The probability \( p(v_{j} ) \) is computed using Eq. (3), as follows:

$$ p(v_{j} ) = \frac{{\left| {B_{{v_{j} }}^{M} } \right|}}{{\left| {B^{M} } \right|}} $$
(3)

At each iteration of the construction of a decision tree, the feature that provides the maximum information gain is selected as a decision node. To deal with the numeric features, the C4.5 [8] ID3 algorithm is used.

2.2 Trajectory Generation

A* algorithm is a typical heuristic shortest path search algorithm. A* algorithm select the node with the minimum value of the values that have been calculated by guidance function that uses a heuristic estimate to a depth first search [5]. The evaluation function in search node n is given in Eq. (4).

$$ f(n) = g(n) + h(n) $$
(4)

With g(n): path cost to the n node from the starting node. h(n): estimated cost of the path to the target node from the n node. h(n) usually use the manhattan distance. The Algorithm progress that the node with a value of shortest guidance function in node to be connected form the starting node is to be a node that make up the shortest path, but it will end by selecting the target node. A* algorithm has the advantage that a search time is shortened in accordance with finding the target node without comparison with other paths. However, in a complex and unstable network, there is the potential for that to fail the search for shortest path. The number of clusters and the initial cluster center value at the approximate point are calculated by using a Mountain method [5]. With many changes by the FCM algorithm repeatedly, the positions of the cluster centers that are determined roughly is determined the final cluster center. Using the degree of affiliation calculated by the FCM algorithm, cost of all correspondence are calculated then the cost is used in making the correspondence matrix. Finally, an optimal trajectory is generated by the correspondence matrix and the A* algorithm.

2.3 Experiment Results

We used the Caviar “Crowd of four people meet, walk and split” sequence, PETS 2009 dataset S2 from the L1 sequence view 001 and the L2 sequence view 001 as shown in Fig. 2. The Caviar sequence is used only for tracking in clean environment. WEKA (Waikato Environment for Knowledge Analysis) version 3.7, written in JAVA, is an experimental tool used for machine learning [11] that we used for ID3 machine learning and the visualization of the decision trees. Blob detection and a trajectory-generation algorithm were implemented in OpenCV 2.4.2 with Visual Studio 2010.

Fig. 2.
figure 2

Merge or split situation

Figure 2 shows splitting or merging situations for the detected blobs in the image. Two pedestrians are detected as one blob, so the blob number 0 of Fig. 2 (a) needs to be split; furthermore, one pedestrian is detected as two blobs, so the blob number 0 and the blob number 1 of Fig. 2 (b) need to be merged.

Figure 3 shows the generated trajectories for the S2 views of the L1 and L2 sequences from the PETS 2009 dataset. The pedestrian group consists of nine people in the (a) L1 sequence and 33 people in the (b) L2 sequence. The pedestrians of (a) frequently change their moving direction in comparison with those of (b). The L1 and L2 sequences generated trajectories of 30 frames and 26 frames, respectively.

Fig. 3.
figure 3

Multiple trajectories of pedestrians

3 Conclusion

Generating a trajectory in the multiple pedestrian have a lot of difficult factors. In the previous research, presented excellent results from trajectory generation of multiple target. The biggest problem for the application of previous research to multiple pedestrian tracking is the interaction between each other. We apply the ID3 algorithm to solve the problem of the interaction of the pedestrian. ID3 algorithm, the blobs overlap between the pedestrian was used to define the split and merge situations. Redefine the blobs to display a multiple-pedestrian in the experiment, to calculate the corresponding cost. Multiple-pedestrian trajectory is connection of the minimum cost of the node in A* search algorithm. Our experiments solved several constraints problems for the applied of point correspondence method to trajectory generation of multiple-pedestrian. The experimental results are classified as unclear blob splitting and merging situations. Thereafter, to generate a trajectory of each multiple-pedestrian as FCM based point correspondence method. The results of the research was successful in generating the trajectory of the multiple-pedestrian to the frequent interaction. In the future, to improve the accuracy of classification, via the ID3 algorithm for improved accuracy, generating the trajectory of each multiple-pedestrian with Datasets in diversity of experiments is expected to proceed to the next research challenge.