How Far Can You Get By Combining Change ...

91 downloads 418 Views 1MB Size Report
ways, and perform the most suitable post-processing operations. Using different ..... of-art,” Recent patents on computer science, vol. 1, no. .... CP3-online. 2014.
1

How Far Can You Get By Combining Change Detection Algorithms? Simone Bianco, Gianluigi Ciocca, and Raimondo Schettini

Abstract—In this paper we investigate if simple change detection algorithms can be combined and used to create a more robust change detection algorithm by leveraging their individual peculiarities. We use Genetic Programming to combine the outputs (i.e. binary masks) of the detection algorithms with unary, binary and n-ary functions performing both masks’ combination and post-processing. Genetic Programming allows us to automatically select the best algorithms, combine them in different ways, and perform the most suitable post-processing operations. Using different experimental settings, we created two algorithms that we named IUTIS-1 and IUTIS-2 (“In Unity There Is Strength”). These algorithms are compared against state-of-the-art change detection algorithms on the video sequences and ground truth annotations of the ChandeDetection.net (CDNET 2014) challenge. Results demonstrate that starting from simple algorithms we can achieve comparable results of more complex stateof-the-art change detection algorithms, while keeping the computational complexity affordable for real-time applications. Moreover, when our framework is applied to more complex algorithms, the resulting IUTIS-3 outperforms all the 33 state-of-the-art algorithms considered. Index Terms—Change detection, algorithm combining and selection, genetic programming, CDNET.

I. I NTRODUCTION ANY computer vision applications require the detection of changes within video streams. For example, video surveillance applications need to track moving objects or identify abandoned ones to trigger event-related actions [1] by analyzing and monitoring the video content. Other applications that need video change detection are smart environments and video indexing and retrieval. For all these applications, a robust change detection algorithms with low false alarm rates is required as a pre-processing step. In the last decades, many algorithms have been proposed to solve the problem of video change detection [2]–[6]. Most of these algorithms rely on background subtraction techniques to segment the scene into foreground and background components trying to cope with the challenges that can be found in a real-world videos such as high variation in environments conditions, illumination changes, shadows, camera-induced distortions and so on. The output of a background subtraction algorithm is thus generally noisy, with isolated pixels, holes, and jagged boundaries. Postprocessing of the foreground component, ranging from simple noise removal to complex object-level techniques, has been investigated to improve algorithm accuracy. Results indicate that significant improvement in performance are possible, if a specific post-processing algorithm and the corresponding parameters are set appropriately [7]. To cope with the variability of real-world videos, algorithms are becoming increasingly complex and thus computationally expensive. Parallelization of background subtraction algorithms on GPU is a possible way to make them usable in real time applications [8]–[10]. Notwithstanding the improvements, change detection algorithms have been demonstrated to perform well on some types of videos but there is no single algorithm that is able to tackle all the challenges in a robust and computationally efficient way. This can be clearly seen in the ChangeDetection.net (CDNET) 2014 competition [11]

M

S. Bianco, G. Ciocca, and R. Schettini are with the Department of Informatic Systems and Communications, University of Milano-Bicocca, Milano, 20126 Italy, e-mail: {bianco, ciocca, schettini}@disco.unimib.it.

(which follows the CDNET 2012 competition [12]) where change detection algorithms are evaluated on a common dataset composed of different types of videos sequences and classified according to their performance. In this paper we investigate an alternative way to perform video change detection. We asked ourselves: can simple change detection algorithms be combined and used to create a new algorithm? Instead of designing from scratch a new complex algorithm, we take existing, simple algorithms, and rely on their individual peculiarities to build a robust algorithm. By using simple algorithms, we aim at obtaining a new algorithm which is both robust and computationally affordable for different computer vision applications. To build our change detection algorithm we use Genetic Programming [13]. As input we feed it the set of the binary foreground/background masks that correspond to the outputs of the simple change detection algorithms, and a set of unary, binary, and nary functions to perform both mask’s combination (e.g. logical AND, logical OR) as well as mask’s post-processing (e.g. filter operators). The solution tree obtained by Genetic Programming will give our change detection algorithm. The problem of combining the change detection algorithms is similar to the problem of classifier combining or fusion. By considering the output masks generated by the algorithms as responses of pixelbased classifiers, the problem can be seen as selection and combination of, in our case, binary classifiers (foreground vs. background). Several works studied the problem of classifier combining or fusion (e.g. [14]–[19]) but evolutionary algorithms appear to be the most suitable techniques providing reasonable balance between searching complexity and the performance of the solutions found [20]. In our case, the advantage of using Genetic Programming is threefold. First, we are able to automatically select a subset of the algorithms that gives the best overall results (with respect to a provided ground truth) further reducing the complexity of the final algorithm. Second, how to combine a simple algorithm with which other ones to generate intermediate masks is automatically deduced. Third, which kind of post-processing of the original or intermediate masks to be applied in order to improve the results, is automatically chosen. The organization of the paper is as follows. Section II illustrates how Genetic Programming is used to generate the combined change detection algorithm. In Section III we describe the experimental setup used in the evaluation of the proposed solutions. Results are reported and discussed in Sections IV and V. Computational times of the proposed solutions are reported in Section VI. Finally Section VII concludes the paper. II. T HE PROPOSED APPROACH Since there is no clear procedure to obtain a robust change detection algorithm by combining simple ones, a possible solution could be that of designing it by a trial-and-error process. Instead, we propose an approach to automatically determine the best selection and combination of algorithms using Genetic Programming (GP) [13]. The major difference between GP and the other evolutionary algorithms is that GP is a domain-independent evolutionary method

2

TABLE I T HE SET OF FUNCTIONAL SYMBOLS USED IN GP.

Algorithm 1: GP 1 2

3 4 5

6 7 8

9

10

11 12

13 14 15

begin Generate a population P composed of an even number N of individuals ; Generation ← 0 ; repeat Calculate the fitness f of all the individuals in population P ; Create a new empty population P 0 ; repeat Select two individuals Ci , Cj ∈ P using the chosen selection algorithm ; Perform the crossover between Ci and Cj with ei and C ej be the offspring. If probability pc , and let C ei = Ci and C ej = Cj ; crossover is not applied, let C ei and C ej with certain Mutate each character of C bi and C bj be the offspring; probability pm , and let C bi and C bj into population P 0 ; Insert C until until population P 0 is composed of exactly N individuals; Perform the copy P ← P 0 and delete P ; Generation ← Generation + 1 ; until a termination condition is satisfied;

that genetically breeds a population of functions, or more generally, computer programs to solve a problem. The solutions can be represented as trees, lines of code, expressions in prefix or postfix notations, strings of variable length, etc. We use the representation first introduced in [13]: potential solutions are represented as LISP-like tree structures built using a set of terminal symbols T and a set of nonterminal or functional symbols F. The iterative process of GP is given in Algorithm 1. Before running GP, we need to set a number of parameters, which are as follows: − The sets F and T of functional (or nonterminal) and terminal symbols that are used to build the potential solutions. − The fitness function f (·). − The population size N . − The maximum size of the individuals, typically expressed as the maximum number of tree nodes or the maximum tree depth. − The maximum number of generations. − The algorithm used to initialize the population. A set of initialization algorithms can be found in [13]). − The selection algorithm. − The crossover rate. − The mutation rate. − Presence or absence of elitism. Given a set of n change detection algorithms C = {Ci }n i=1 , the solutions evolved by GP are built using the set of functionals (or nonterminal) symbols F and the set of terminal symbols T = C. We build the set of functionals symbols considering functions that operate in the spatial neighborhood of the image pixel, or combine (stack) the information at the same pixel location but across different change detection algorithms. The list of functional symbols used is given in Table I. We define the fitness function used in GP taking inspiration from the CDNET website, where change detection algorithms are evaluated using different performance measures and ranked accordingly. Given a set of video sequences V = {V1 , . . . , VS }, a set of performance

Function ERO

Inputs 1

Domain spatial

DIL

1

spatial

MF OR AND MV

1 2 2 >2

spatial stack stack stack

Effect Morphological erosion with a 3× 3 square structuring element Morphological dilation with a 3 × 3 square structuring element Median filter with a 5 × 5 kernel Logical OR operation Logical AN D operation Majority vote

measures M = {m1 , . . . , mM } the fitness function of a candidate solution C0 , f (C0 ) is defined as the average rank across video sequences and performance measures: M    n   1 X f (C0 ) = rankC0 C0 ; mj Ck (V) k=1 + M j=1  2 X + wi Pi (C0 )

(1)

i=1

where rankC0 (·) computes the rank of the candidate solution C0 with respect to the set of algorithms C according to the measure mj . P1 (C0 ) is defined as the signed distance between the candidate solution C0 and the best algorithm in C according to the measure mj :   mj (Ck (V)) −mj (C0 (V)) + Cmax  k ∈C    if the higher mj the better P1 (C0 ) =  mj (C0 (V)) − min mj (Ck (V))   Ck ∈C    if the lower mj the better

(2)

and P2 (C0 ) is a penalty term corresponding to the number of different algorithms selected for the candidate solution C0 : P2 (C0 ) =

# of algorithms selected in C0 # of algorithms in C

(3)

The role of P1 is to produce a fitness function f (C0 ) ∈ R, so that in case of candidate solutions having the same average rank, the one having better performance measures is considered a fitter individual in GP. The penalty term P2 is used to force GP to select a small number of algorithms in C to build the candidate solutions. The relative importance of P1 and P2 is independently regulated by the weights w1 and w2 respectively. III. E XPERIMENTAL SETUP The change detection algorithms C to be combined are selected among those implemented in the BGSLibrary [32]. BGSLibrary is a free, open source and platform independent library which provides a C++ framework to perform background subtraction using code provided by different authors. We used the 1.9.1 version of the library which implements more than 30 different algorithms. We base our choice of the algorithms on the recent review paper of the authors of BGSLibrary [6] where the computational costs as well as the performances of the different algorithms have been assessed. The rationale is to use computationally efficient algorithms having above average performances, and possibly exploiting different background subtraction strategies. Based on the results in [6], and on some preliminary tests that we have performed, we selected the algorithms

3

TABLE II L IST OF BACKGROUND SUBTRACTION ALGORITHMS CONSIDERED .

BGSLibrary ID StaticFrameDifference AdaptiveSelectiveBackgroundLearning DPAdaptiveMedian DPWrenGA DPZivkovicAGMM LBMixtureOfGaussians DPGrimsonGMM DPEigenbackground VuMeter SigmaDelta SJNMultiCue

Method ID SFD ASD AM GA ZMM MoG GMM EIG VM SD MC

TABLE III D EFAULT PARAMETERS : T = THRESHOLD , α= LEARNING RATE , LF = LEARNING FRAMES , SR= SAMPLING RATE , n= GAUSSIANS , σn = NOISE VARIANCE , ρ= SENSITIVITY, f = AMPFACTOR , σmin = MIN VARIANCE , σmax = MAX VARIANCE , HS= HISTORY, ED= EMBEDDED DIMENSIONS , b= BIN SIZE .

Method ID SFD ASB AM GA ZMM MoG GMM EIG VM SD MC

Parameters T = 15 T = 25, α = 0.05, αupd = 0.05, LF = 90 T = 30, SR = 7, LF = 30 T = 12, α = 0.005, LF = 30 T = 25, n = 3, α = 0.001 T = 83, α = 59, σn = 206, ρ = 81 T = 9, n = 3, α = 0.02 T = 225, HS = 20, ED = 10 T = 0.03, α = 0.995, b = 8 f = 1, σmin = 15, σmax = 255

-

reported in Table II. All the algorithms have been tested in [6] with the exception of SigmaDelta and SJNMultiCue algorithms. These have been added in recent versions of the BGSLibrary. We decide to include them since although they are slightly more computationally intensive with respect to the simpler algorithms, they show interesting performances. The performance measures M are computed using the framework of the CDNET 2014 challenge [11]. The framework implements the following seven different measures [11]: recall, specificity, false positive ratio (FPR), false negative ratio (FNR), percentage of wrong classifications (PWC), precision, and f-measure. A ranking of the tested algorithms is also computed starting from the partial ranks on these measures. The framework uses 11 video categories, with four to six videos sequences in each category. The categories exhibit different video contents and are chosen to test the background subtraction algorithms under different operating conditions. The challenge rules impose that each algorithm should use only a single set of parameters for all the video sequences. For this reason we set the parameters of the algorithms in Table II to their default values, i.e. the values in the configuration files provided in the BGSLibrary. These values are reported in Table III. In order to assess the potential of solutions generated by GP, we performed two different experiments. In the first experiment, we used GP to generate a change detection algorithm by considering all the video sequences in a single category of the CDNET 2014 dataset. We

Method Name Static Frame Difference Adaptive-Selective Background Learning Adaptive Median Gaussian Average Gaussian Mixture Model Gaussian Mixture Model Gaussian Mixture Model Eigenbackground/ SL-PCA VuMeter Σ∆ Background Estimation Multiple Cues

Reference [21] [22] [23], [24] [25] [26] [27] [28] [29], [30] [31]

TABLE IV S ET OF PARAMETERS USED IN GP.

Parameter name Functional symbols Terminal symbols Fitness function Population size Max tree depth Max number of generations Initialization algorithm Selection algorithm Crossover rate Mutation rate Elitism

Setting F (see Sec. II) T (see Sec. II) f (·) defined in Eq. 1 with [w1 , w2 ] = [0.01, 0.01] 50 Dynamic 100 Ramped half-and-half [13] Tournament, with tournament size 5 Adaptive [33] Adaptive [33] Yes

named this algorithm IUTIS-11 . As category, we choose the Baseline one. This category is the easiest of the set and since we use all the video sequences in it we expect the solution to perform well. To verify if the same algorithm can be effectively used on different and more challenging video sequences (i.e. if it shows a good generalization ability), we also tested IUTIS-1 on the other categories. In the second experiment, we use GP to generate a change detection algorithm, named IUTIS-2, by considering the shortest video sequence in each of the 11 CDNET 2014 categories. In this case we expect the generated algorithm to be more robust across the different categories, while minimizing the over-specialization effect. In both experiments we use the same set of parameters for GP. They are reported in Table IV. We compare IUTIS-1 and IUTIS-2 against the following state-ofthe-art algorithms: flux tensor with split Gaussian models (FTSG) [34], self-balanced local sensitivity (SuBSENSE) [35], [36], weightless neural networks (CwisarDH) [37], Spectral-360 [38], self tuning (Bin Wang Apr 2014) [39], KNN [24], SC-SOBS [40], region-based mixture of Gaussians (RMoG) [41], non-parametric model (KDE) [42], SOBS-CF [43], Mahalanobis distance [44], GMM-Stauffer & Grimson [26], CP3-online [45], GMM-Zivkovic [23], Multi Scale Spatio Temporal BG Model [46], Euclidean distance [44]. It should be noted that the implementation and parameters for the GMMZivkovic and GMM-Stauffer & Grimson algorithms are different from the same algorithms in Table II. We use again the framework provided by the challenge to automatically evaluate and compare these algorithms. 1 Quoting the Greek fabulists Aesop (620 BC-560 BC): “In Unity There Is Strength”

4

Output Result

Output Result

MF

AND

AND

OR

AND

MF

ERO

MF

MF

EIG

DIL

GMM

ASB

OR

AND

MoG

ERO

ASB

Fig. 1. IUTIS-1 solution tree and example masks.

IV. R ESULTS The IUTIS-1 solution obtained in the first experiment is reported as a tree structure in Figure 1 while the tree structure for the IUTIS-2 solution is shown in Figure 2. In the same figures, for each solution tree, an example of the output at each node on a sample frame is also reported. From the solution trees it is possible to notice that both IUTIS-1 and IUTIS-2 selected and combined a subset of four simple change detection algorithms out of the 11 available. IUTIS-1 selected GMM, EIG, ASB, and MoG. IUTIS-2 selected GA, ZMM, MC, and ASB. Also, the structure of the tree is very different for the two solutions. Even if both trees have equal depth, IUTIS-1 presents a more balanced tree, while IUTIS-2 presents a single long branch in its right-hand side. Starting from the functionals defined in Table I, GP was able to create new ones. For instance, both trees use a sequence of the operator MF, which can be seen as an approximation of what could be obtained using a larger kernel for the median filter. Furthermore, IUTIS-1 in its right-most branch, uses a sequence of ERO and DIL which is known as “opening” in mathematical morphology. The detailed results of the IUTIS-1 and IUTIS-2 algorithms, computed using the evaluation framework of the CDNET 2014 challenge on its 11 video categories, are reported in Table V and VI respectively. The average rank across categories as well as the rank in each category of all the change detection algorithms considered, are reported in Table VIII. The set of algorithms C given in input to the GP are reported in light red, our solutions IUTIS-1 and IUTIS-2 are reported in green, and the remaining entries correspond to algorithms whose results are available on the CDNET 2014 web page. Entries

MF

DIL

MF

AND

DIL

OR

DIL

EIG

MF

GA

ZMM

MV

MC

ASB

MF

MF

DIL

MV

GA

ZMM

MC

ASB

Fig. 2. IUTIS-2 solution tree and example masks.

are ordered with respect to the average rank. Detailed comparisons in terms of all the seven performance measures in the Overall scenario are reported in Table IX. From the rankings reported in Table VIII it is possible to see that both our solutions are better than the best algorithm fed to GP (i.e. MC). In particular, the average ranking of IUTIS-2 is almost half of that of MC. As expected, IUTIS-2 has a greater generalization ability than IUTIS-1, which is more specialized for the Baseline video sequence on which it was generated. It is remarkable that IUTIS-2 ranks just after more complex, and recent, algorithms with very close rank to Spectral-360. Moreover, we remark that IUTIS-2 was generated using only a subset of 11 video sequences (the shortest one for each category) and not on the whole 52 video sequences available in the dataset. Notwithstanding this, the algorithm achieves top results. Outputs of some of the tested algorithms on sample frames in the CDNET 2014 dataset are shown in Figure 4 together with input images and ground truth masks. V. F URTHER E XPERIMENTS Having demonstrated that combining simple change detection algorithms we are able to achieve comparable results with respect to the more complex ones, we now ask ourselves if the same applies by combining the top algorithms in Table VIII. First we select the top 3 algorithms, namely SuBSENSE (SBS), FTSG (FTS), and CwsarDH (CWS). Then we apply the GP combination algorithm using the shortest video sequences as in the second experiment in Section IV. The resulting algorithm, named IUTIS-3, is shown in Figure 3. To demonstrate that the solution provided by the GP algorithm is optimal, we also apply a simple combining strategy of these three algorithms based on majority vote (Top3-MV). Moreover, also apply the same majority vote strategy on the set of algorithms

5

TABLE V D ETAILED EVALUATION RESULTS OF THE IUTIS-1 ALGORITHM FOR EACH CATEGORY OF THE EVALUATION DATASET.

Scenarios Overall Bad Weather Low Framerate Night Videos PTZ Turbulence Baseline Dynamic Background Camera Jitter Intermittent Object Motion Shadow Thermal

Recall 0.7653 0.6588 0.7095 0.6045 0.8635 0.8885 0.9214 0.8811 0.7936 0.6050 0.8748 0.6171

Specificity 0.9490 0.9907 0.9960 0.9796 0.6647 0.9971 0.9979 0.9487 0.9480 0.9280 0.9912 0.9972

FPR 0.0510 0.0093 0.0040 0.0204 0.3353 0.0029 0.0021 0.0513 0.0520 0.0720 0.0088 0.0028

FNR 0.2347 0.3412 0.2905 0.3955 0.1365 0.1115 0.0786 0.1189 0.2064 0.3950 0.1252 0.3829

PWC 5.7761 1.4183 1.1861 2.9057 33.4112 0.3784 0.4538 5.1263 5.8053 9.5356 1.3512 1.9653

Precision 0.5938 0.7479 0.6231 0.3967 0.0310 0.6320 0.9391 0.3305 0.5299 0.5485 0.8291 0.9245

FMeasure 0.5873 0.6717 0.5714 0.4464 0.0583 0.6898 0.9298 0.4189 0.5997 0.5073 0.8494 0.7174

TABLE VI D ETAILED EVALUATION RESULTS OF THE IUTIS-2 ALGORITHM FOR EACH CATEGORY OF THE EVALUATION DATASET.

Scenarios Overall Bad Weather Low Framerate Night Videos PTZ Turbulence Baseline Dynamic Background Camera Jitter Intermittent Object Motion Shadow Thermal

Recall 0.6703 0.6388 0.7295 0.6089 0.8329 0.8444 0.7452 0.8027 0.7209 0.3735 0.6636 0.4125

Specificity 0.9846 0.9995 0.9947 0.9861 0.8939 0.9988 0.9978 0.9828 0.9867 0.9973 0.9946 0.9987

in C (Simple11-MV). The performance of these new variants are reported in Table X. We can see that Top3-MV outperforms the three algorithms on which it is based on, while Simple11-MV is able to outperform most of the combined algorithms with the exception of MC and VM. The solution provided by GP on the Top 3 algorithms (IUTIS-3), is able to outperform all the considered algorithm. It ranks first among a total of 33 change detection algorithms. This shows that, even considering the best algorithms in the state-of-the-art, with a proper combination of their outputs we can achieve better overall performance. Detailed results for the IUTIS-3 algorithm are shown in Table XI. VI. C OMPUTATIONAL T IME Both IUTIS-1 and IUTIS-2 algorithms have been implemented in C++ and use the OpenCV [47] library for image processing. Table VII reports the computational time of the proposed algorithms in frames per seconds. “Sequential” refers to the implementation of the algorithms without any particular optimization. While “OpenMP” refers to an optimized implementation of the algorithms obtained by exploiting parallelism on a multicore CPU. We used the OpenMP [48] directives (parallel for and sections) to parallelize both the computation of the masks, and the execution branches of the solution trees. We carried out timing measurements on a 3.3Ghz Intel Core-i5 (quadcore) with 16GB RAM and Windows 7 Professional operating system. As it can be seen, the algorithms can be efficiently parallelized. Specifically, the frame rates of the OpenMP versions of IUTIS-1 and IUTIS-2 are, on average, about 2 times those of the respective non parallelized versions.

FPR 0.0154 0.0005 0.0053 0.0139 0.1061 0.0012 0.0022 0.0172 0.0133 0.0027 0.0054 0.0013

FNR 0.3297 0.3612 0.2705 0.3911 0.1671 0.1556 0.2548 0.1973 0.2791 0.6265 0.3364 0.5875

PWC 2.9932 0.6290 1.2079 2.2366 10.6978 0.2349 1.5115 2.0051 2.4236 4.7669 2.2199 4.9923

Precision 0.7191 0.9380 0.7160 0.4706 0.1884 0.7737 0.9100 0.5564 0.7184 0.8374 0.8621 0.9395

FMeasure 0.6163 0.7525 0.6395 0.5157 0.2397 0.7967 0.7913 0.5741 0.7165 0.4836 0.7393 0.5306

Output result

MF

OR

ERO

MF

CWS

MV

CWS

FTS

SBS

Fig. 3. IUTIS-3 solution tree and example masks. SBS, FTS, and CWS refer to SuBSENSE, FTSG, and CwsarDH algorithm respectively.

6

TABLE VII S EQUENTIAL VS . O PEN MP IMPLEMENTATION OF IUTIS-1 AND IUTIS-2 ON A I [email protected] HZ COMPUTER WITH 16 GB RAM. A S COMPARISON , WE REPORT ALSO THE COMPUTATIONAL TIME OF SOME OF THE BEST RANKED ALGORITHMS IN TABLE VIII. (1) IS AN ESTIMATE BY EXECUTING THE COMBINED ALGORITHMS IN PARALLEL . (2) MATLAB IMPLEMENTATION . (3) C++ IMPLEMENTATION .

Frame Rate (fps)

320 × 240 px

720 × 480 px

Sequential OpenMP Sequential OpenMP

30 58 18 40

7 14 13 29

IUTIS-3

(1)

10

NA

FTSG SubSENSE CwsairDH Spectral-360

(2) (3) OpenMP (3)

10 31 18 12

NA NA 4 NA

IUTIS-1 IUTIS-2

If we compare the computational time of our solutions with the four top ranked algorithms in Table VIII, we have that, for a 320×240 video, IUTIS-1 runs at 58fps, and IUTIS-2 at 40fps, while FTSG runs at 10fps, SubSENSE at 31fps, CwisarDH at 18fps, and Spectral-360 at 12fps. Since the source codes are not available for all the three algorithms used in IUTIS-3, the reported time for this combination is an estimate. The three algorithms can be executed in parallel so the overall time required for IUTIS-3 corresponds to the most demanding algorithm, that is FTGS with 10 fps on a 320 × 240 video. The same applies for Top3-MV. Since Simple11-MV performs worse than our solutions, its time has not been included in the table. VII. C ONCLUSION In this paper we have presented an evolutionary approach, based on Genetic Programming, to combine simple change detection algorithms to create a more robust algorithm. The solutions provided by Genetic Programming allow us to select a subset of the simple algorithms. Moreover, we are able to automatically combine them in different ways, and perform post-processing on their outputs using suitable operators to produce the best results. Using two different experimental settings, we have created and implemented two algorithms, IUTIS-1 and IUTIS-2, that differs in the grade of their robustness on specific video contents. Compared against state-of-the-art change detection algorithms within the framework of the CDNET 2014 challenge, they demonstrate that, starting from simple algorithms, we can achieve comparable results of more complex state-of-the-art change detection algorithms. In particular, the parallelized version of IUTIS-2 exhibits remarkable performance while being computationally affordable for real-time applications. Furthermore we have shown that applying our approach on the best algorithms in the state-of-the-art, we are able to create the IUTIS-3 algorithm that ranks first among a total of 33 change detection algorithms on the CDNET 2014. R EFERENCES [1] M. Sedky, M. Moniri, and C. Chibelushi, “Classification of smart video surveillance systems for commercial applications,” in Advanced Video and Signal Based Surveillance, 2005. AVSS 2005. IEEE Conference on, 2005, pp. 638–643. [2] R. Radke, S. Andra, O. Al-Kofahi, and B. Roysam, “Image change detection algorithms: a systematic survey,” Image Processing, IEEE Transactions on, vol. 14, no. 3, pp. 294–307, 2005.

[3] S. Y. Elhabian, K. M. El-Sayed, and S. H. Ahmed, “Moving object detection in spatial domain using background removal techniques-stateof-art,” Recent patents on computer science, vol. 1, no. 1, pp. 32–54, 2008. [4] M. Cristani, M. Farenzena, D. Bloisi, and V. Murino, “Background subtraction for automated multisensor surveillance: a comprehensive review,” EURASIP Journal on Advances in signal Processing, vol. 2010, p. 43, 2010. [5] T. Bouwmans, “Recent advanced statistical background modeling for foreground detection - a systematic survey,” Recent Patents on Computer Science, vol. 4, no. 3, pp. 147–176, 2011. [6] A. Sobral and A. Vacavant, “A comprehensive review of background subtraction algorithms evaluated with synthetic and real videos,” Computer Vision and Image Understanding, vol. 122, no. 0, pp. 4–21, 2014. [7] D. H. Parks and S. S. Fels, “Evaluation of background subtraction algorithms with post-processing,” in Advanced Video and Signal Based Surveillance, 2008. AVSS’08. IEEE Fifth International Conference on. IEEE, 2008, pp. 192–199. [8] V. Pham, P. Vo, V. T. Hung, and L. H. Bac, “Gpu implementation of extended gaussian mixture model for background subtraction,” in Computing and Communication Technologies, Research, Innovation, and Vision for the Future (RIVF), 2010 IEEE RIVF International Conference on, Nov 2010, pp. 1–4. [9] L. Cheng, M. Gong, D. Schuurmans, and T. Caelli, “Real-time discriminative background subtraction,” Image Processing, IEEE Transactions on, vol. 20, no. 5, pp. 1401–1414, 2011. [10] G. Szwoch, D. Ellwart, and A. Czyewski, “Parallel implementation of background subtraction algorithms for real-time video processing on a supercomputer platform,” Journal of Real-Time Image Processing, pp. 1–15, 2012. [11] Y. Wang, P.-M. Jodoin, F. Porikli, J. Konrad, Y. Benezeth, and P. Ishwar, “Cdnet 2014: An expanded change detection benchmark dataset,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on. IEEE, 2014, pp. 393–400. [12] N. Goyette, P. Jodoin, F. Porikli, J. Konrad, and P. Ishwar, “Changedetection.net: A new change detection benchmark dataset,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2012 IEEE Computer Society Conference on, 2012, pp. 1–8. [13] J. R. Koza, Genetic programming: on the programming of computers by means of natural selection. MIT press, 1992, vol. 1. [14] J. Kittler, M. Hatef, R. Duin, and J. Matas, “On combining classifiers,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 20, no. 3, pp. 226–239, 1998. [15] L. I. Kuncheva, Combining Pattern Classifiers: Methods and Algorithms. Wiley-Interscience, 2004. [16] D. Ruta and B. Gabrys, “An overview of classifier fusion methods,” Computing and Information systems, vol. 7, no. 1, pp. 1–10, 2000. [17] ——, “Classifier selection for majority voting,” Information Fusion, vol. 6, no. 1, pp. 63–81, 2005, diversity in Multiple Classifier Systems. [18] H. Wang, Y. Zhang, and G. Qian, “Multiple binary classifiers fusion using induced intuitionistic fuzzy ordered weighted average operator,” in Information and Automation (ICIA), 2011 IEEE International Conference on, 2011, pp. 230–235. [19] N. Garc´ıa-Pedrajas and D. Ortiz-Boyer, “An empirical study of binary classifier fusion methods for multiclass classification,” Information Fusion, vol. 12, no. 2, pp. 111–130, 2011. [20] B. Gabrys and D. Ruta, “Genetic algorithms in classifier fusion,” Applied Soft Computing, vol. 6, no. 4, pp. 337–347, 2006. [21] N. McFarlane and C. Schofield, “Segmentation and tracking of piglets in images,” Machine Vision and Applications, vol. 8, no. 3, pp. 187–193, 1995. [22] C. Wren, A. Azarbayejani, T. Darrell, and A. Pentland, “Pfinder: realtime tracking of the human body,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 19, no. 7, pp. 780–785, Jul 1997. [23] Z. Zivkovic, “Improved adaptive gaussian mixture model for background subtraction,” in Pattern Recognition, 2004. ICPR 2004. Proceedings of the 17th International Conference on, vol. 2, Aug 2004, pp. 28–31. [24] Z. Zivkovic and F. van der Heijden, “Efficient adaptive density estimation per image pixel for the task of background subtraction,” Pattern Recognition Letters, vol. 27, no. 7, pp. 773–780, 2006. [25] T. Bouwmans, F. E. Baf, and B. Vachon, “Background modeling using mixture of gaussians for foreground detection a survey,” in Recent Patents on Computer Science, vol. 1, no. 3, 2008, pp. 219–237. [26] C. Stauffer and W. Grimson, “Adaptive background mixture models for real-time tracking,” in Computer Vision and Pattern Recognition, 1999. IEEE Computer Society Conference on., vol. 2, 1999, pp. 246–252.

7

TABLE VIII AVERAGE RANK OVER THE DIFFERENT VIDEO CATEGORIES IN CDNET 2014 COMPETITION AS WELL AS THE RANK IN EACH CATEGORY OF ALL THE CHANGE DETECTION ALGORITHMS CONSIDERED . T HE SET OF ALGORITHMS C GIVEN IN INPUT TO THE GP ARE REPORTED IN LIGHT RED , OUR SOLUTIONS IUTIS-1 AND IUTIS-2 ARE REPORTED IN GREEN , AND THE REMAINING ENTRIES CORRESPOND TO ALGORITHMS AVAILABLE ON THE CDNET 2014 WEB PAGE .

Method ID

Year

Avg rank

Overall

SuBSENSE FTSG CwisarDH Spectral-360 IUTIS-2 Bin Wang Apr 2014 KNN IUTIS-1 SC-SOBS RMoG GMM-Stauffer & Grimson MC KDE - ElGammal SOBS-CF GMM-Zivkovic VM CP3-online Mahalanobis dist. AM ZMM Multi Scale S.T. BG Model GMM MoG Euclidean dist. GA EIG SD ASD SFD

2014 2014 2014 2014 2015 2014 2006 2015 2012 2013 1999 2013 2000 2010 2004 2006 2014 1995 2004 2014 1999 2008 1997 2000 2004 -

2.33 2.42 4.67 6.00 6.67 8.33 8.83 10.17 10.75 10.83 12.08 12.67 13.00 13.25 13.42 14.00 14.00 15.58 16.00 16.17 17.58 17.83 19.33 19.50 21.33 21.92 22.33 22.42 23.83

1 1 2 2 4 3 5 10 6 7 9 16 13 11 14 8 9 12 15 17 18 18 21 19 21 20 24 22 23

Bad Weath. 1 2 12 6 4 3 5 23 20 13 11 15 7 25 8 21 10 19 18 9 28 17 14 16 22 26 24 29 27

Low F.rate 2 1 5 6 3 21 7 4 14 15 8 9 10 19 9 17 18 12 15 16 24 11 20 18 13 22 21 19 23

Night Videos 3 4 9 5 2 23 14 6 8 15 16 1 17 13 16 18 22 10 7 11 18 12 20 21 19 23 22 18 24

PTZ

Turb.

Base.

1 2 3 7 4 11 10 19 18 8 13 15 23 21 16 6 5 14 20 17 22 9 12 26 19 24 10 24 25

1 6 7 11 2 5 12 3 19 14 15 4 15 22 17 9 20 15 8 13 10 19 23 21 16 22 25 18 24

1 6 5 7 14 11 10 4 2 13 17 18 8 3 15 20 9 17 16 19 14 25 22 12 24 21 25 21 23

Dynam. Backg. 4 1 3 5 16 2 7 18 8 6 9 20 14 10 11 12 13 17 19 24 15 28 23 21 27 22 29 25 26

Camera Jitter 2 3 1 6 5 5 7 9 5 8 10 13 12 4 14 12 18 11 15 19 16 22 17 20 24 20 21 23 23

Interm. Obj. M. 2 1 4 7 6 3 9 19 8 5 10 18 26 11 12 13 13 27 23 16 17 15 14 20 22 21 18 25 24

Shadow

Therm.

2 1 3 5 9 6 10 4 13 12 15 11 7 14 16 17 22 18 20 19 8 21 28 24 27 23 26 25 24

8 1 2 5 11 7 10 3 8 14 12 12 4 6 13 15 9 15 16 14 21 17 18 16 22 19 23 20 20

TABLE IX C OMPARISON OF IUTIS-1 AND IUTIS-2 TO THE ALGORITHMS IN THE STATE - OF - THE - ART IN TERMS OF ALL THE SEVEN PERFORMANCE MEASURES IN THE OVERALL SCENARIO . T HE SET OF ALGORITHMS C GIVEN IN INPUT TO THE GP ARE REPORTED IN LIGHT RED , OUR SOLUTIONS IUTIS-1 AND IUTIS-2 ARE REPORTED IN GREEN , AND THE REMAINING ENTRIES CORRESPOND TO ALGORITHMS AVAILABLE ON THE CDNET 2014 WEB PAGE .

Method ID SuBSENSE FTSG CwisarDH Spectral-360 IUTIS-2 Bin Wang Apr 2014 KNN IUTIS-1 SC-SOBS RMoG GMM-Stauffer & Grimson MC KDE - ElGammal SOBS-CF GMM - Zivkovic VM CP3-online Mahalanobis dist. AM ZMM Multi Scale S.T. BG Model GMM MoG Euclidean dist. GA EIG SD ASD SFD

Year 2014 2014 2014 2014 2015 2014 2006 2015 2012 2013 1999 2013 2000 2010 2004 2006 2014 1995 2004 2014 1999 2008 1997 2000 2004 -

Recall 0.8070 0.7657 0.6608 0.7345 0.6703 0.7035 0.6650 0.7653 0.7621 0.5940 0.6846 0.8252 0.7375 0.7805 0.6604 0.3269 0.7225 0.1644 0.3830 0.5808 0.6621 0.6548 0.7539 0.6803 0.5967 0.8688 0.7160 0.7215 0.8653

Specificity 0.9884 0.9922 0.9948 0.9861 0.9846 0.9794 0.9802 0.9490 0.9547 0.9865 0.9750 0.9268 0.9519 0.9442 0.9725 0.9962 0.9705 0.9931 0.9817 0.9750 0.9542 0.9711 0.9294 0.9449 0.9627 0.7920 0.9264 0.9310 0.7485

FPR 0.0116 0.0078 0.0052 0.0139 0.0154 0.0206 0.0198 0.0510 0.0453 0.0135 0.0250 0.0732 0.0481 0.0558 0.0275 0.0038 0.0295 0.0069 0.0183 0.0250 0.0458 0.0289 0.0706 0.0551 0.0373 0.2080 0.0736 0.0690 0.2515

FNR 0.1930 0.2343 0.3392 0.2655 0.3297 0.2965 0.3350 0.2347 0.2379 0.4060 0.3154 0.1748 0.2625 0.2195 0.3396 0.6731 0.2775 0.8356 0.6170 0.4192 0.3379 0.3452 0.2461 0.3197 0.4033 0.1312 0.2840 0.2785 0.1347

PWC 1.8416 1.3763 1.5273 2.2722 2.9932 2.9009 3.3200 5.7761 5.1498 2.9638 3.7667 7.9785 5.6262 6.0709 3.9953 2.8147 3.4318 3.4750 3.9285 4.0006 5.5456 4.3098 8.0770 6.5423 5.2265 20.5108 8.5005 7.6162 24.7814

Precision 0.7463 0.7696 0.7725 0.7054 0.7191 0.7163 0.6788 0.5938 0.6091 0.6965 0.6025 0.4969 0.5811 0.5831 0.5973 0.7277 0.5559 0.7403 0.6581 0.5842 0.5536 0.4752 0.4196 0.5480 0.5166 0.2458 0.3959 0.4208 0.1902

FMeasure 0.7331 0.7283 0.6812 0.6732 0.6163 0.6577 0.5937 0.5873 0.5961 0.5735 0.5707 0.5445 0.5688 0.5883 0.5566 0.3990 0.5805 0.2267 0.4030 0.5176 0.5141 0.4590 0.4305 0.5161 0.4535 0.3215 0.3970 0.4501 0.2627

CVPR 8 CVPR 2015 Submission #****. CONFIDENTIAL REVIEW COPY. DO NOT DISTRIBUTE.

input gtruth IUTIS-1 IUTIS-2 IUTIS-3 EIG1 MoG1 ASB1,2 GMM1 ZMM2 GA2 MC2 SuBSENSE3 FTSG3 CwisarDH3 Spectral-360 Bin Wang Apr 2014 KNN

#****

054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104

105 106 4. Examples binarymasks masks created created by tested algorithms. The superscript 1 refers to the set to of the simple in IUTIS-1, the Figure Fig. 1. Examples of of binary by some someofofthethe tested algorithms. The superscript 1 refers setalgorithms of simpleused algo107 superscript 2 refers to those used in IUTIS-2, while the superscript 3 refers to those used in IUTIS-3.

rithms used in IUTIS-1, while the superscript 2 refers to those used in IUTIS-2. The frames refer to the video sequences (from left to right): baseline/highway/828, badWeather/skating/1923, dynamicBackground/fall/2603, intermittentObjectMotion/sofa/2119, lowFrameRate/turnpike 0 5 fps/822, PTZ/twoPositionPTZCam/1010, nighVideos/tramStation/1215, and turbulence/turbulence3/930. 1

9

TABLE X C OMPARISON OF IUTIS-1, IUTIS-2, AND IUTIS-3 TO THE ALGORITHMS IN THE STATE - OF - THE - ART IN TERMS OF ALL THE SEVEN PERFORMANCE MEASURES IN THE OVERALL SCENARIO . T HE T OP 3 RANKED ALGORITHMS IN TABLE VIII USED IN THE T OP 3-MV ALGORITHM ( SHOWN IN GRAY ) ARE REPORTED IN LIGHT GRAY. T HE SET OF ALGORITHMS C ALSO USED IN THE S IMPLE 11-MV ALGORITHM ( SHOWN IN RED ) ARE REPORTED IN LIGHT RED . O UR SOLUTIONS ARE REPORTED IN GREEN . T HE REMAINING ENTRIES CORRESPOND TO ALGORITHMS AVAILABLE ON THE CDNET 2014 WEB PAGE .

Method ID

Year

Avg rank

Overall

IUTIS-3 Top3-MV FTSG SuBSENSE CwisarDH Spectral-360 IUTIS-2 Bin Wang Apr 2014 KNN IUTIS-1 SC-SOBS RMoG GMM-Stauffer & Grimson MC SOBS-CF KDE - ElGammal VM GMM-Zivkovic CP3-online Simple11-MV Mahalanobis dist. AM ZMM Multi Scale S.T. BG Model GMM MoG Euclidean dist. GA EIG SD ASD SFD

2015 2015 2014 2014 2014 2014 2015 2014 2006 2015 2012 2013 1999 2013 2010 2000 2006 2004 2014 2015 1995 2004 2014 1999 2008 1997 2000 2004 -

1.50 2.58 3.83 4.00 6.33 8.08 8.83 10.92 11.08 12.00 12.67 13.33 14.58 15.25 15.42 15.50 16.08 16.42 16.50 17.25 18.08 18.50 19.25 20.58 21.33 22.58 22.92 24.67 24.92 25.67 26.25 26.83

1 2 4 3 5 6 8 7 9 14 10 11 13 19 15 17 11 18 12 20 16 20 21 23 22 26 25 28 24 29 28 27

Bad Weath. 1 4 3 2 11 8 5 5 6 21 18 12 11 14 25 9 19 10 10 7 16 14 10 26 17 13 15 20 23 22 27 24

Low F.rate 1 2 3 4 7 8 5 27 9 6 17 19 10 12 20 13 18 11 21 14 15 16 19 29 16 24 22 16 26 25 23 28

Night Videos 4 2 5 3 10 6 2 25 16 7 10 15 17 1 14 17 17 17 22 8 11 9 12 18 13 18 21 18 23 20 19 24

PTZ

Turb.

Base.

1 3 4 2 5 9 6 15 11 21 20 10 16 18 24 26 7 19 8 13 17 23 20 25 11 14 30 22 27 12 29 28

1 2 7 1 8 10 3 6 13 4 23 17 15 5 27 18 11 20 22 16 19 9 14 12 22 26 24 16 25 29 21 28

1 2 8 3 7 9 17 12 13 6 4 16 22 23 5 10 24 18 11 20 21 19 25 15 30 27 14 29 26 30 26 28

Dynam. Backg. 1 3 2 6 5 7 18 4 9 20 10 8 12 22 11 16 13 14 15 25 19 21 27 17 31 26 23 30 24 32 28 29

Camera Jitter 1 2 5 4 3 10 9 8 11 13 7 12 15 18 6 16 17 19 24 20 14 21 25 22 30 23 28 32 26 27 31 29

Interm. Obj. M. 3 2 1 5 6 10 8 4 11 23 9 7 12 22 14 29 16 15 17 13 30 27 20 21 18 19 24 25 24 22 28 26

Shadow

Therm.

1 2 3 4 5 7 11 8 12 6 15 14 17 13 16 9 20 18 24 23 19 22 21 10 23 31 27 30 25 29 28 26

2 5 1 11 4 7 14 10 13 3 9 19 15 16 8 6 20 18 12 28 20 21 17 29 23 24 22 30 26 31 27 25

TABLE XI D ETAILED EVALUATION RESULTS OF THE IUTIS-3 ALGORITHM FOR EACH CATEGORY OF THE EVALUATION DATASET.

Scenarios Overall Bad Weather Low Framerate Night Videos PTZ Turbulence Baseline Dynamic Background Camera Jitter Intermittent Object Motion Shadow Thermal

Recall 0.7896 0.7502 0.8183 0.6243 0.6508 0.7708 0.9712 0.8778 0.7923 0.6987 0.9478 0.7832

Specificity 0.9944 0.9993 0.9964 0.9839 0.9885 0.9998 0.9981 0.9993 0.9924 0.9946 0.9914 0.9945

[27] N. Oliver, B. Rosario, and A. Pentland, “A bayesian computer vision system for modeling human interactions,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, no. 8, pp. 831–843, 2000. [28] Y. Goyat, T. Chateau, L. Malaterre, and L. Trassoudaine, “Vehicle trajectories evaluation by static video sensors,” in Intelligent Transportation Systems Conference, 2006. ITSC ’06. IEEE, 2006, pp. 864–869. [29] A. Manzanera and J. C. Richefeu, “A robust and computationally efficient motion detection algorithm based on sigma-delta background estimation,” in Indian Conference on Computer Vision, Graphics and Image Processing (ICVGIP’04), 2004, pp. 46–51. [30] L. Lacassagne, A. Manzanera, and A. Dupret, “Motion detection: Fast and robust algorithms for embedded systems,” in Image Processing (ICIP), 2009 16th IEEE International Conference on, 2009, pp. 3265– 3268. [31] S. Noh and M. Jeon, “A new framework for background subtraction using multiple cues,” in Computer Vision ACCV 2012, ser. Lecture

FPR 0.0056 0.0007 0.0036 0.0161 0.0115 0.0002 0.0019 0.0007 0.0076 0.0054 0.0086 0.0055

[32]

[33] [34]

[35] [36]

FNR 0.2104 0.2498 0.1817 0.3757 0.3492 0.2292 0.0288 0.1222 0.2077 0.3013 0.0521 0.2168

PWC 1.1813 0.5010 0.8224 2.4354 1.4869 0.1823 0.3002 0.1985 1.5231 3.2481 1.0410 1.2552

Precision 0.7951 0.9280 0.7813 0.4312 0.3886 0.9368 0.9393 0.9239 0.8520 0.8146 0.8585 0.8922

FMeasure 0.7694 0.8246 0.7949 0.4814 0.4230 0.8416 0.9546 0.8960 0.8139 0.7136 0.8984 0.8210

Notes in Computer Science, K. Lee, Y. Matsushita, J. Rehg, and Z. Hu, Eds. Springer Berlin Heidelberg, 2013, vol. 7726, pp. 493–506. A. Sobral, “BGSLibrary: An opencv c++ background subtraction library,” in IX Workshop de Viso Computacional (WVC’2013), Rio de Janeiro, Brazil, Jun 2013. [Online]. Available: https: //github.com/andrewssobral/bgslibrary L. Davis, “Adapting operator probabilities in genetic algorithms,” in International Conference on Genetic Algorithms’89, 1989, pp. 61–69. R. Wang, F. Bunyak, G. Seetharaman, and K. Palaniappan, “Static and moving object detection using flux tensor with split gaussian models,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on. IEEE, 2014, pp. 420–424. P.-L. St-Charles, G.-A. Bilodeau, and R. Bergevin, “Flexible background subtraction with self-balanced local sensitivity,” pp. 414–419, 2014. ——, “Subsense: A universal change detection method with local adaptive sensitivity,” Image Processing, IEEE Transactions on, vol. 24,

10

no. 1, pp. 359–373, 2015. [37] M. D. Gregorio and M. Giordano, “Change detection with weightless neural networks,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on. IEEE, 2014, pp. 409–413. [38] M. Sedky, M. Moniri, and C. C. Chibelushi, “Spectral-360: A physicsbased technique for change detection,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on. IEEE, 2014, pp. 405–408. [39] B. Wang and P. Dudek, “A fast self-tuning background subtraction algorithm,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on. IEEE, 2014, pp. 401–404. [40] L. Maddalena and A. Petrosino, “The sobs algorithm: what are the limits?” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2012 IEEE Computer Society Conference on. IEEE, 2012, pp. 21–26. [41] S. Varadarajan, P. Miller, and H. Zhou, “Spatial mixture of gaussians for dynamic background modelling,” in Advanced Video and Signal Based Surveillance (AVSS), 2013 10th IEEE International Conference on. IEEE, 2013, pp. 63–68. [42] A. Elgammal, D. Harwood, and L. Davis, “Non-parametric model for background subtraction,” in Computer VisionECCV 2000. Springer, 2000, pp. 751–767. [43] L. Maddalena and A. Petrosino, “A fuzzy spatial coherence-based approach to background/foreground separation for moving object detection,” Neural Computing and Applications, vol. 19, no. 2, pp. 179–186, 2010. [44] Y. Benezeth, P.-M. Jodoin, B. Emile, C. Rosenberger, and H. Laurent, “Comparative study of background subtraction algorithms,” Journal of Electronic Imaging, vol. 19, no. 3, pp. 033 003–033 003, 2010. [45] D. Liang and S. Kaneko, “Improvements and experiments of a compact statistical background model,” arXiv preprint arXiv:1405.6275, 2014. [46] X. Lu, “A multiscale spatio-temporal background model for motion detection,” in Image Processing (ICIP), IEEE International Conference on. IEEE, 2014. [47] OpenCV, “Open source computer vision library. http://www.opencv.org.” [48] OpenMP, “The OpenMP API specification for parallel programming. http://www.openmp.org.”