## 4 Experimental validation  
### Experimental setup  
A video has been recorded at 25 fps on a corridor using a Sony SSC-DC598P video surveillance camera located about 3 meters from the ground. An actor has performed six different small duration activities: _walking_, _stopped_, _bending_, _falling_, _lied down_ and _rising_ (see Figure 4). A blob tracker has been used to extract the actor bounding box on each frame where the actor appears. Using the bounding box, all the features presented on section 2.2. have been extracted, using temporal windows from 3 to 25 frames, giving 780 different features per frame. The blob tracker has divided the original video on 11 video sequences where the activity being performed on each frame has been manually annotated. The content of each sequence could be seen on Table 3.  
The blob tracker has produced some erroneous outputs, where the bounding box does not contain the actor for some frames (see Figure 5. These errors may be produced by scene illumination changes, or by the initialization of a false track that is associated to the actor later. In this cases, the frame has been annotated with the especial activity _error_. It has been considered that is important to have that label to be able to detect these type of false alarms when the system is working. An HMM is going to be build for each set of small duration activities to be recognized using both BFS and GA. To evaluate the utility of a candidate feature subset, leave-one-out cross-validation (LOOCV) of the generated HMM is going to be performed with the sequences to be employed on each experiment. LOOCV consist on generate the model with all the sequences unless one and test the model with that sequence. This process is repeated for every sequence to be employed. Using this training strategy, possible overfittings are minimized, because the model has not been built with the sequence used to measure its quality. _Algorithms_**2009**, 2  
Figure 4: Examples of the activities to recognize. First row, _walking_. Second row, _stopped_. Third row, _lowing_. Fourth row, _falling_. Fifth row, _lied down_. Last row, _rising_  
_Algorithms_**2009**, 2 \begin{table}
\begin{tabular}{c|l} Sequence & Content \\ \hline
1 & W(220), S(214), W(113), E(197), S(161), W(221) \\
2 & W(107), S(172), W(116), S(268), W(12) \\
3 & W(50), S(134), W(112), S(202), W(224), S(181), W(145), S(239), E(5), S(30), \\  & W(269), S(190), W(250), E(55) \\
4 & W(56), S(131), W(215), F(27), D(211), R(64), W(174), F(57), D(171), R(97), \\  & W(115), S(69), W(156), F(68), D(58), R(61) \\
5 & W(139), F(57), D(79), R(88), W(130), F(54), D(172), R(80), W(176), F(52), D(52), \\  & R(82), W(236), E(22) \\
6 & L(281), W(283), L(208), W(213), L(173), W(156), L(168), W(167), E(23) \\
7 & W(62), L(134), W(146), L(43), W(222), L(157), W(158), L(110), W(80), L(180), \\  & W(133), L(168), W(28), E(18) \\
8 & W(733), E(10) \\
9 & W(760), E(48) \\
10 & E(155), W(271), E(307) \\
11 & W(65), E(1) \\ \end{tabular}
\end{table} 
Table 3: Content of the sequences used. W stands for _walking_, S for _stopped_, F for _falling_, D for _lyed down_, R for _rising_, L for _bending_ and E for _error_. The number of frames that the activity last is shown between parenthesis  
Figure 5: Example of the _error_ activity. Bounding box (in green) does not contain the actor. GA has been employed using a configuration of 780 individuals and a mutation rate of \(\frac{1}{780}\). The selection technique employed has been tournament selection of 3 individuals. The population of the genetic algorithm is initialized with one random gen set to _true_. As the length of the individual is 780 and the population 780, it is expected to have each bit set to _true_ in the population at least one time. Population evolution has stopped when the fitness value of the best individual has been without changing for 10 generations. The algorithm has been run 20 times for each experiment, because GAs are random search techniques and different results may be achieved in different trials.