<figure><img src="image_1.png" /></figure>

**Titre:** Segmentation mutuelle d'objets d'intérêt dans des séquences
d'images stéréo multispectrales

**Auteur:** Pierre-Luc St-Charles
Author:

**Date:** 2018

**Type:** Mémoire ou thèse / Dissertation or Thesis

**Référence:** St-Charles, P.-L. (2018). Segmentation mutuelle d'objets d'intérêt dans des séquences d'images stéréo multispectrales [Thèse de doctorat, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/3070/

<figure><img src="image_2.png" /></figure>

Document en libre accès dans PolyPublie
Open Access document in PolyPublie

**URL de PolyPublie:** https://publications.polymtl.ca/3070/
PolyPublie URL:

**Directeurs de recherche:** Guillaume-Alexandre Bilodeau, & Robert Bergevin
Advisors:

**Programme:** Génie informatique
Program:
UNIVERSITÉ DE MONTRÉAL

SEGMENTATION MUTUELLE D'OBJETS D'INTÉRÊT DANS DES SÉQUENCES
D'IMAGES STÉRÉO MULTISPECTRALES

PIERRE-LUC ST-CHARLES

DÉPARTEMENT DE GÉNIE INFORMATIQUE ET GÉNIE LOGICIEL

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

THÈSE PRÉSENTÉE EN VUE DE L'OBTENTION
DU DIPLÔME DE PHILOSOPHIÆ DOCTOR
(GÉNIE INFORMATIQUE)

AVRIL 2018
UNIVERSITÉ DE MONTRÉAL

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

Cette thèse intitulée :

SEGMENTATION MUTUELLE D'OBJETS D'INTÉRÊT DANS DES SÉQUENCES
D'IMAGES STÉRÉO MULTISPECTRALES

présentée par : ST-CHARLES Pierre-Luc

en vue de l'obtention du diplôme de : Philosophiæ Doctor

a été dûment acceptée par le jury d'examen constitué de :

M. DAGENAIS Michel, Ph. D., président

M. BILODEAU Guillaume-Alexandre, Ph. D., membre et directeur de recherche

M. BERGEVIN Robert, Ph. D., membre et codirecteur de recherche

M. ALOISE Daniel, Ph. D., membre

M. PEDERSOLI Marco, Ph. D., membre externe
REMERCIEMENTS

Je tiens d'abord à exprimer ma reconnaissance et ma profonde gratitude envers mon directeur de recherche, Guillaume-Alexandre Bilodeau, qui a su me guider à travers de trop nombreuses impasses, et qui a toujours été présent pour discuter autant de méthodes que de météo. De plus, je remercie profondément mon codirecteur de recherche, Robert Bergevin, pour son immense aide lors de la rédaction de nos nombreuses publications, et pour ses encouragements répétés au fil des ans.

Je remercie le Conseil de Recherches en Sciences Naturelles et en Génie du Canada (CRNSG), le Fonds de Recherche du Québec – Nature et Technologies (FRQ-NT), et la Fondation de Polytechnique pour leur soutien financier lors de mes études. Merci aussi au CRIM qui m'a permis de travailler à temps partiel sur de nombreux projets de vision depuis 2011.

Par ailleurs, je souhaite remercier de façon globale tous les chercheurs qui publient leur code source : ce travail n'aurait jamais pu être réalisé sans la contribution de vos idées et de votre temps libre.

Sur une note plus personnelle, je remercie tous mes collègues du laboratoire (actuels, anciens, et très anciens !) qui ont transformé toutes ces années en pur plaisir. Un gros merci aussi à ma famille, qui a toléré mon travail excessif lors de certaines de nos fins de semaines ensemble, et plus particulièrement à mon frère et colocataire Jean-Christophe, qui a dû écoper de mon humeur massacrante dans les moments plus sombres.

Je remercie finalement les membres de mon jury, qui ont eu l'amabilité d'examiner ce travail au printemps 2018.
# RÉSUMÉ

Les systèmes de vidéosurveillance automatisés actuellement déployés dans le monde sont encore bien loin de ceux qui sont représentés depuis des années dans les œuvres de science-fiction. Une des raisons derrière ce retard de développement est le manque d'outils de bas niveau permettant de traiter les données brutes captées sur le terrain. Le pré-traitement de ces données sert à réduire la quantité d'information qui transige vers des serveurs centralisés, qui eux effectuent l'interprétation complète du contenu visuel capté. L'identification d'objets d'intérêt dans les images brutes à partir de leur mouvement est un exemple de pré-traitement qui peut être réalisé. Toutefois, dans un contexte de vidéosurveillance, une méthode de pré-traitement ne peut généralement pas se fier à un modèle d'apparence ou de forme qui caractérise ces objets, car leur nature exacte n'est pas connue d'avance. Cela complique donc l'élaboration des méthodes de traitement de bas niveau.

Dans cette thèse, nous présentons différentes méthodes permettant de détecter et de segmenter des objets d'intérêt à partir de séquences vidéo de manière complètement automatisée. Nous explorons d'abord les approches de segmentation vidéo monoculaire par soustraction d'arrière-plan. Ces approches se basent sur l'idée que l'arrière-plan d'une scène peut être modélisé au fil du temps, et que toute variation importante d'apparence non prédite par le modèle dévoile en fait la présence d'un objet en intrusion. Le principal défi devant être relevé par ce type de méthode est que leur modèle d'arrière-plan doit pouvoir s'adapter aux changements dynamiques des conditions d'observation de la scène. La méthode conçue doit aussi pouvoir rester sensible à l'apparition de nouveaux objets d'intérêt, malgré cette robustesse accrue aux comportements dynamiques prévisibles. Nous proposons deux méthodes introduisant différentes techniques de modélisation qui permettent de mieux caractériser l'apparence de l'arrière-plan sans que le modèle soit affecté par les changements d'illumination, et qui analysent la persistance locale de l'arrière-plan afin de mieux détecter les objets d'intérêt temporairement immobilisés. Nous introduisons aussi de nouveaux mécanismes de rétroaction servant à ajuster les hyperparamètres de nos méthodes en fonction du dynamisme observé de la scène et de la qualité des résultats produits.

Par la suite, nous étudions les manières de recaler des données provenant de paires d'images multispectrales afin d'améliorer la qualité des masques de segmentation générés. L'utilisation de différentes modalités d'imagerie permet essentiellement d'augmenter le contraste dans les régions d'images où l'arrière-plan de la scène est trop similaire aux objets d'intérêt pour que ces derniers soient mieux identifiés. Par contre, le recalage d'images multispectrales n'est pas
une opération triviale, car la mise en correspondance de points entre deux images qui ne se ressemblent pas visuellement est un problème paradoxal. Nous abordons d'abord ce problème à l'aide d'une approche de mise en correspondance de contours d'objets provenant des résultats obtenus par segmentation vidéo. Une première méthode est alors formulée permettant de recaler le contenu d'images multispectrales pour des scènes planaires. Cette méthode est ensuite généralisée aux scènes non-planaires, et combinée à une méthode de segmentation mutuelle d'images basée sur l'intégration des données multispectrales. La solution obtenue permet ainsi d'optimiser itérativement le recalage des données multispectrales à l'aide de points de contours, et la segmentation des objets d'intérêt à l'aide des données recalées. Les résultats finaux recueillis après la convergence du processus d'optimisation sont alors meilleurs que ceux qui peuvent être obtenus par une approche de segmentation directe ou en cascade.

Nous évaluons la performance des différentes méthodes proposées dans ce travail sur de nombreux ensembles de données, et nous démontrons que celles-ci surpassent largement l'état de l'art en segmentation vidéo sans supervision. Il est aussi démontré que ces méthodes sont assez robustes pour être utilisées dans des cas réels où les conditions d'acquisition ne sont pas du tout adéquates, et lorsque l'initialisation des modèles doit être effectuée malgré la présence de bruit dans les données. Le code source de toutes les méthodes développées ainsi que les données utilisées dans nos expériences ont été publiés en ligne dans le but de stimuler le développement de nouvelles méthodes et pour encourager la recherche reproductible.
ABSTRACT

The automated video surveillance systems currently deployed around the world are still quite
far in terms of capabilities from the ones that have inspired countless science fiction works
over the past few years. One of the reasons behind this lag in development is the lack of low-
level tools that allow raw image data to be processed directly in the field. This preprocessing
is used to reduce the amount of information transferred to centralized servers that have to
interpret the captured visual content for further use. The identification of objects of interest
in raw images based on motion is an example of a preprocessing step that might be required
by a large system. However, in a surveillance context, the preprocessing method can seldom
rely on an appearance or shape model to recognize these objects since their exact nature
cannot be known exactly in advance. This complicates the elaboration of low-level image
processing methods.

In this thesis, we present different methods that detect and segment objects of interest from
video sequences in a fully unsupervised fashion. We first explore monocular video segmenta-
tion approaches based on background subtraction. These approaches are based on the idea
that the background of an observed scene can be modeled over time, and that any drastic
variation in appearance that is not predicted by the model actually reveals the presence of an
intruding object. The main challenge that must be met by background subtraction methods
is that their model should be able to adapt to dynamic changes in scene conditions. The de-
signed methods must also remain sensitive to the emergence of new objects of interest despite
this increased robustness to predictable dynamic scene behaviors. We propose two methods
that introduce different modeling techniques to improve background appearance description
in an illumination-invariant way, and that analyze local background persistence to improve
the detection of temporarily stationary objects. We also introduce new feedback mechanisms
used to adjust the hyperparameters of our methods based on the observed dynamics of the
scene and the quality of the generated output.

Next, we study how the registration of multispectral data sources can improve the quality of
video segmentation results. In short, using different imaging modalities allows us to essen-
tially increase the contrast in image regions where the observed background is too similar to
the objects of interest, which then helps us identify these objects more easily. However, the
registration of multispectral images is not a trivial task, as the matching of points between
two images that are visually dissimilar creates a paradox. We first address this issue using a
registration approach that relies on the matching of object contour points obtained via video
segmentation. A method is then proposed to tackle the registration of multispectral image
data in planar scenes based on this strategy. After that, we generalize this method to non-
planar scenes, and combine it with a mutual segmentation method based on multispectral
data integration. This combined solution allows us to iteratively optimize multispectral data
registration using object contour points and object segmentation using the registered multi-
spectral data. The final results obtained after convergence then outperform those obtained
via direct or cascaded approaches.

We evaluate the performance of the different methods proposed in this work on numerous
datasets, and show that these methods largely outperform the state of the art in unsupervised
video segmentation. We also show that these methods are robust enough to be used in real
scenarios where capture conditions are not ideal, and where model initialization may need to
be done despite the presence of noise in the input data. The source code for all developed
methods as well as the datasets used for our evaluations have been published online to
stimulate the development of new methods and to encourage reproducible research.
TABLE DES MATIÈRES

<table><tr><td>REMERCIEMENTS</td><td>iii</td></tr><tr><td>RÉSUMÉ</td><td>iv</td></tr><tr><td>ABSTRACT</td><td>vi</td></tr><tr><td>TABLE DES MATIÈRES</td><td>viii</td></tr><tr><td>LISTE DES TABLEAUX</td><td>xii</td></tr><tr><td>LISTE DES FIGURES</td><td>xiii</td></tr><tr><td>LISTE DES SIGLES ET ABRÉVIATIONS</td><td>xx</td></tr><tr><td>CHAPITRE 1 INTRODUCTION</td><td>1</td></tr><tr><td>1.1 Définitions et concepts de base</td><td>2</td></tr><tr><td>1.2 Éléments de la problématique</td><td>4</td></tr><tr><td>1.2.1 Détection et segmentation d'objets par modélisation d'arrière-plan</td><td>4</td></tr><tr><td>1.2.2 Recalage de paires d'images multispectrales</td><td>5</td></tr><tr><td>1.2.3 Segmentation mutuelle de paires d'images</td><td>6</td></tr><tr><td>1.2.4 Paradoxe : recalage et segmentation mutuelle</td><td>7</td></tr><tr><td>1.3 Objectifs de recherche</td><td>7</td></tr><tr><td>1.4 Contributions</td><td>8</td></tr><tr><td>1.5 Plan du mémoire</td><td>10</td></tr><tr><td>CHAPITRE 2 REVUE DE LITTÉRATURE</td><td>11</td></tr><tr><td>2.1 Segmentation vidéo</td><td>11</td></tr><tr><td>2.1.1 Soustraction d'arrière-plan par modélisation paramétrique</td><td>13</td></tr><tr><td>2.1.2 Soustraction d'arrière-plan par modélisation non-paramétrique</td><td>13</td></tr><tr><td>2.1.3 Mécanismes de contrôle et de rétroaction</td><td>16</td></tr><tr><td>2.1.4 Segmentation par décomposition globale</td><td>16</td></tr><tr><td>2.1.5 Segmentation par apprentissage profond</td><td>17</td></tr><tr><td>2.2 Recalage d'images multispectrales</td><td>17</td></tr><tr><td>2.2.1 Mise en correspondance par mesures de similarité locales</td><td>19</td></tr><tr><td>2.2.2 Mise en correspondance par représentation de haut niveau</td><td>20</td></tr></table>
<table>
  <tbody>
    <tr>
      <td>2.2.3</td>
      <td>Modélisation de la transformation de recalage</td>
      <td>21</td>
    </tr>
    <tr>
      <td>2.3</td>
      <td>Segmentation mutuelle et cosegmentation d'images</td>
      <td>22</td>
    </tr>
    <tr>
      <td>2.3.1</td>
      <td>Segmentation multi-instance (cosegmentation)</td>
      <td>22</td>
    </tr>
    <tr>
      <td>2.3.2</td>
      <td>Segmentation instance unique (segmentation mutuelle)</td>
      <td>24</td>
    </tr>
    <tr>
      <td>2.3.3</td>
      <td>Applications dans le domaine multispectral</td>
      <td>25</td>
    </tr>
    <tr>
      <td colspan="2">CHAPITRE 3 SURVOL DES ARTICLES</td>
      <td>27</td>
    </tr>
    <tr>
      <td>3.1</td>
      <td>Exploration des principes de modélisation et d'ajustements dynamiques</td>
      <td>27</td>
    </tr>
    <tr>
      <td>3.2</td>
      <td>Soustraction d'arrière-plan par modélisation de persistance</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.3</td>
      <td>Exploration du recalage par mise en correspondance de contours</td>
      <td>28</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>Recalage et segmentation mutuelle de paires d'images multispectrales</td>
      <td>29</td>
    </tr>
    <tr>
      <td colspan="2">CHAPITRE 4 ARTICLE 1 : SUBSENSE : A UNIVERSAL CHANGE DETECTION METHOD WITH LOCAL ADAPTIVE SENSITIVITY</td>
      <td>30</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Introduction</td>
      <td>30</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Related Work</td>
      <td>33</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Methodology</td>
      <td>35</td>
    </tr>
    <tr>
      <td>4.3.1</td>
      <td>Pixel-level modeling</td>
      <td>36</td>
    </tr>
    <tr>
      <td>4.3.2</td>
      <td>Change Detection via Sample Consensus</td>
      <td>39</td>
    </tr>
    <tr>
      <td>4.3.3</td>
      <td>Background Monitoring and Feedback Scheme</td>
      <td>43</td>
    </tr>
    <tr>
      <td>4.3.4</td>
      <td>Further Details</td>
      <td>48</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>Experiments</td>
      <td>48</td>
    </tr>
    <tr>
      <td>4.4.1</td>
      <td>CDnet 2012</td>
      <td>50</td>
    </tr>
    <tr>
      <td>4.4.2</td>
      <td>CDnet 2014</td>
      <td>54</td>
    </tr>
    <tr>
      <td>4.4.3</td>
      <td>Processing speed</td>
      <td>56</td>
    </tr>
    <tr>
      <td>4.5</td>
      <td>Conclusion</td>
      <td>57</td>
    </tr>
    <tr>
      <td colspan="2">CHAPITRE 5 ARTICLE 2: UNIVERSAL BACKGROUND SUBTRACTION USING WORD CONSENSUS MODELS</td>
      <td>59</td>
    </tr>
    <tr>
      <td>5.1</td>
      <td>Introduction</td>
      <td>59</td>
    </tr>
    <tr>
      <td>5.2</td>
      <td>Related Work</td>
      <td>62</td>
    </tr>
    <tr>
      <td>5.3</td>
      <td>Methodology</td>
      <td>65</td>
    </tr>
    <tr>
      <td>5.3.1</td>
      <td>Word consensus for pixel-level modeling</td>
      <td>65</td>
    </tr>
    <tr>
      <td>5.3.2</td>
      <td>Word consensus for frame-level modeling</td>
      <td>71</td>
    </tr>
    <tr>
      <td>5.3.3</td>
      <td>Pixel-level feedback</td>
      <td>73</td>
    </tr>
    <tr>
      <td>5.3.4</td>
      <td>Model adaptability</td>
      <td>76</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Experiments</td>
      <td>77</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>5.4.1</td>
      <td>CDnet 2012</td>
      <td>78</td>
    </tr>
    <tr>
      <td>5.4.2</td>
      <td>CDnet 2014</td>
      <td>82</td>
    </tr>
    <tr>
      <td>5.4.3</td>
      <td>Processing speed and memory footprint</td>
      <td>84</td>
    </tr>
    <tr>
      <td>5.5</td>
      <td>Conclusion</td>
      <td>86</td>
    </tr>
    <tr>
      <td colspan="2">CHAPITRE 6 ARTICLE 3: ONLINE MULTIMODAL VIDEO REGISTRATION BASED ON SHAPE MATCHING</td>
      <td>87</td>
    </tr>
    <tr>
      <td>6.1</td>
      <td>Introduction</td>
      <td>87</td>
    </tr>
    <tr>
      <td>6.2</td>
      <td>Related Work</td>
      <td>89</td>
    </tr>
    <tr>
      <td>6.3</td>
      <td>Proposed method</td>
      <td>90</td>
    </tr>
    <tr>
      <td>6.3.1</td>
      <td>Shape extraction</td>
      <td>91</td>
    </tr>
    <tr>
      <td>6.3.2</td>
      <td>Contour points description and matching</td>
      <td>91</td>
    </tr>
    <tr>
      <td>6.3.3</td>
      <td>Correspondence reservoir and voting</td>
      <td>92</td>
    </tr>
    <tr>
      <td>6.3.4</td>
      <td>Homography smoothing</td>
      <td>94</td>
    </tr>
    <tr>
      <td>6.4</td>
      <td>Evaluation</td>
      <td>95</td>
    </tr>
    <tr>
      <td>6.5</td>
      <td>Conclusion</td>
      <td>100</td>
    </tr>
    <tr>
      <td colspan="2">CHAPITRE 7 ARTICLE 4: ONLINE MUTUAL FOREGROUND SEGMENTATION FOR MULTISPECTRAL STEREO VIDEOS</td>
      <td>101</td>
    </tr>
    <tr>
      <td>7.1</td>
      <td>Introduction</td>
      <td>101</td>
    </tr>
    <tr>
      <td>7.2</td>
      <td>Previous Work</td>
      <td>104</td>
    </tr>
    <tr>
      <td>7.3</td>
      <td>Proposed Approach</td>
      <td>108</td>
    </tr>
    <tr>
      <td>7.3.1</td>
      <td>Stereo Registration Model</td>
      <td>109</td>
    </tr>
    <tr>
      <td>7.3.2</td>
      <td>Segmentation Model</td>
      <td>113</td>
    </tr>
    <tr>
      <td>7.3.3</td>
      <td>Inference and Implementation Details</td>
      <td>117</td>
    </tr>
    <tr>
      <td>7.4</td>
      <td>Experiments</td>
      <td>118</td>
    </tr>
    <tr>
      <td>7.4.1</td>
      <td>Evaluation Methodology</td>
      <td>118</td>
    </tr>
    <tr>
      <td>7.4.2</td>
      <td>VAP 2016 Dataset</td>
      <td>120</td>
    </tr>
    <tr>
      <td>7.4.3</td>
      <td>Bilodeau et al. 2014 Dataset</td>
      <td>121</td>
    </tr>
    <tr>
      <td>7.4.4</td>
      <td>Parameters and Ablation Study</td>
      <td>122</td>
    </tr>
    <tr>
      <td>7.4.5</td>
      <td>LITIV 2018 Dataset</td>
      <td>124</td>
    </tr>
    <tr>
      <td>7.5</td>
      <td>Conclusion</td>
      <td>126</td>
    </tr>
    <tr>
      <td colspan="2">CHAPITRE 8 DISCUSSION GÉNÉRALE</td>
      <td>130</td>
    </tr>
    <tr>
      <td>8.1</td>
      <td>Segmentation vidéo par soustraction d'arrière-plan</td>
      <td>130</td>
    </tr>
    <tr>
      <td>8.2</td>
      <td>Recalage de paires d'images multispectrales</td>
      <td>131</td>
    </tr>
    <tr>
      <td>8.3</td>
      <td>Segmentation mutuelle d'images multispectrales</td>
      <td>132</td>
    </tr>
  </tbody>
</table>
<table><tr><td>8.4</td><td>Efficacité du pipeline de traitement pour usage temps-réel</td><td>133</td></tr><tr><td>CHAPITRE 9</td><td>CONCLUSION</td><td>135</td></tr><tr><td>9.1</td><td>Recommandations pour travaux futurs</td><td>136</td></tr><tr><td>RÉFÉRENCES</td><td></td><td>138</td></tr></table>
LISTE DES TABLEAUX

<table>
  <tr>
    <td>Tableau 2.1</td>
    <td>Taxonomie des approches de segmentation vidéo par soustraction d'arrière-plan</td>
    <td>12</td>
  </tr>
  <tr>
    <td>Table 4.1</td>
    <td>Average performance comparison of different model configurations on the 2012 CDnet dataset</td>
    <td>51</td>
  </tr>
  <tr>
    <td>Table 4.2</td>
    <td>Complete results for SuBSENSE on the 2012 CDnet dataset</td>
    <td>51</td>
  </tr>
  <tr>
    <td>Table 4.3</td>
    <td>Overall and per-category F-Measure comparisons, CDnet 2012 dataset</td>
    <td>52</td>
  </tr>
  <tr>
    <td>Table 4.4</td>
    <td>Complete results for SuBSENSE on the 2014 CDnet dataset</td>
    <td>53</td>
  </tr>
  <tr>
    <td>Table 4.5</td>
    <td>Overall and per-category F-Measure comparisons, CDnet 2014 dataset</td>
    <td>53</td>
  </tr>
  <tr>
    <td>Table 4.6</td>
    <td>Average performance comparison of different methods on the 2012 CD-net dataset</td>
    <td>55</td>
  </tr>
  <tr>
    <td>Table 4.7</td>
    <td>Average performance comparison of different methods on the 2014 CD-net dataset</td>
    <td>55</td>
  </tr>
  <tr>
    <td>Table 5.1</td>
    <td>Segmentation results of PAWCS on CDnet2012</td>
    <td>79</td>
  </tr>
  <tr>
    <td>Table 5.2</td>
    <td>Average per-category and overall scores on CDnet2012</td>
    <td>80</td>
  </tr>
  <tr>
    <td>Table 5.3</td>
    <td>Average recall, precision and F-Measure scores on the intermittent object motion category of CDnet2012</td>
    <td>82</td>
  </tr>
  <tr>
    <td>Table 5.4</td>
    <td>Segmentation results of PAWCS on CDnet2014</td>
    <td>83</td>
  </tr>
  <tr>
    <td>Table 5.5</td>
    <td>Average per-category and overall scores on CDnet2014</td>
    <td>84</td>
  </tr>
  <tr>
    <td>Table 6.1</td>
    <td>Minimum overlap errors achieved for all video sequence pairs of the LITIV dataset (bold entries indicate the best result).</td>
    <td>99</td>
  </tr>
  <tr>
    <td>Table 7.1</td>
    <td>Evaluation results on the multispectral video segmentation dataset of Palmero et al. (2016). Bold results are the best in that category across all methods.</td>
    <td>119</td>
  </tr>
  <tr>
    <td>Table 7.2</td>
    <td>Evaluation results on the multispectral video registration dataset of Bilodeau et al. (2014). Bold results are the best in that category across all methods.</td>
    <td>122</td>
  </tr>
  <tr>
    <td>Table 7.3</td>
    <td>Overall performance for various configurations of the proposed method on the datasets of Palmero et al. (2016); Bilodeau et al. (2014).</td>
    <td>123</td>
  </tr>
  <tr>
    <td>Table 7.4</td>
    <td>Overall segmentation performance for various temporal pipeline depths on the dataset of Palmero et al. (2016).</td>
    <td>123</td>
  </tr>
  <tr>
    <td>Table 7.5</td>
    <td>Evaluation results for the proposed method on our newly captured multispectral video dataset.</td>
    <td>125</td>
  </tr>
</table>
LISTE DES FIGURES

Figure 1.1 Exemple de système de vidéo surveillance avec traitement en cascade. Les couches de “bas niveau” (à gauche) sont responsables du pré-traitement des données brutes, et les couches de “haut niveau” (à droite) utilisent leurs résultats afin d’analyser et d’interpréter le contenu de la scène. Ici, les couches de bas niveau effectuent une détection et une segmentation de certains objets, qui sont ensuite reconnus et identifiés par les couches de haut niveau. La section encadrée en pointillé identifie les couches d’intérêt étudiées dans cette thèse. 2

Figure 1.2 Exemples de paires d’images visible-infrarouge dans un environnement de faible contraste. À gauche, une paire provenant du jeu de données de Palmero et al. (2016), et à droite, de notre propre jeu de données. La deuxième ligne illustre le résultat idéal qui devrait être obtenu par segmentation mutuelle des objets d’intérêt (dans ce cas, des personnes) dans ces paires d’images. 5

Figure 1.3 Exemples de problèmes pouvant affecter une méthode de détection et de segmentation d’objets d’intérêt tirés du jeu de données de Goyette et al. (2012). À gauche, l’eau présente une surface d’arrière-plan d’apparence dynamique difficile à modéliser. À droite, les changements d’illumination causés par les reflets de phares sont difficiles à ignorer. 6

Figure 1.4 Paire stéréo visible-infrarouge utilisée pour la capture de séquences vidéo synchronisées dans notre laboratoire, constituée d’une caméra FLIR A40 et d’une Kinect v2 (a); et représentation schématique de la géométrie épipolaire liant ces deux caméras (b). La projection sur le plan Image 1 d’un des points réels X peut correspondre à plusieurs points dans le plan Image 2 tous situés sur l’épipole dessinée en rouge. Cette image provient de Arne Nordmann et est distribuée sous license CC BY-SA. 7

Figure 2.1 Exemple d’image typiquement analysée par des méthodes de segmentation vidéo génériques (a) tirée du jeu de données SegTrack v2 (Li et al., 2013), et exemple d’image typiquement analysée dans un contexte de vidéosurveillance (b), tirée du dataset de Wang et al. (2014a). 12
Figure 2.2 Exemple de modélisation paramétrique d'un pixel d'arrière-plan (illustré par le point rouge dans l'image à gauche) à l'aide d'un amalgame de gaussiennes avec quatre composantes pour les canaux Cb et Cr. Deux composantes sont utilisées pour représenter l'eau, et deux composantes pour représenter les feuilles de l'arbre. 14

Figure 2.3 Illustration du fonctionnement de l'approche de modélisation et de détection d'objets d'intérêt non-paramétrique de ViBe pour le pixel "x" encerclé en rouge dans l'image de gauche. La valeur observée pour x, notée I(x), est comparée aux échantillons déja présents dans le modèle du pixel x, noté B(x). Si au moins deux échantillons de B(x) sont intersectés dans un rayon R de l'observation I(x), alors le pixel est classifié comme arrière-plan (par S(x) = 0). Dans le cas contraire (vrai ici), il est classifié comme avant-plan (S(x) = 1). 15

Figure 2.4 Exemple de recalage par paramétrisation d'homographie permettant de mettre en correspondance tous les points de l'image du bas dans le référentiel de l'image du haut. Ce recalage est uniquement possible puisqu'il s'agit d'une scène planaire, i.e. où les objets d'intérêt sont observés de loin par rapport à la distance entre les deux caméras. 18

Figure 2.5 Exemple de recalage par mise en correspondance dense; la carte en niveau de gris obtenue dans ce cas est une carte de disparités servant au recalage de chaque pixel. Celle-ci peut aussi servir à calculer la profondeur de tous les pixels de la scène. 19

Figure 2.6 Exemple de problème de cosegmentation typique; ici, un même type d'objet est observé dans des conditions variées, à des moments différents, et sous des points de vue uniques. La deuxième ligne illustre les résultats de segmentation attendus. Les images sont tirées du jeu de données de Winn et al. (2005). 23

Figure 2.7 Exemple de problème de segmentation mutuelle; ici, un objet unique est observé dans des conditions similaires, à des moments quasi-identiques, et sous des points de vue semblables. La deuxième ligne illustre les résultats de segmentation attendus. Les images sont tirées du jeu de données de Kowdle et al. (2011). 25
Figure 4.1 Block diagram of SuBSENSE; dotted lines indicate feedback relations. The role of each block and variable is detailed in Sections 4.3.1 through 4.3.4. In our case, post-processing used to generate the output segmentation maps from raw labeling data is based on typical median filtering and blob smoothing operations. This component is an integral part of our method since it provides segmentation noise levels to our feedback process. 36

Figure 4.2 Simplified description and comparison of LBSP features using frames picked from the copyMachine sequence of CDnet. In row (a), an intra-LBSP feature is computed to serve as the basis for other comparisons; in rows (b) and (c), inter-LBSP features are computed using (a)'s reference intensity (the green x), while soft shadow and foreground are respectively visible. Row (b)'s feature can be matched with (a)'s since textures are similar and the relative intensity threshold is correctly scaled in bright-to-dark transitions; this is not the case in row (c). Note that in fact, LBSP features are computed and compared on each color channel. 37

Figure 4.3 Examples of gradient magnitude maps obtained in different CDnet sequences by computing the Hamming weight of dense intra-LBSP descriptors with $T_r = 0.3$ (central column) and an automatically set $T_r$ (right-hand column); bright areas indicate highly textured regions and sharp edges, while dark areas indicate flat regions. 40

Figure 4.4 Average F-Measure scores obtained on the 2012 CDnet dataset for different numbers of background samples, using *color-only* and *color-LBSP* configurations of our method (without feedback). 42

Figure 4.5 Typical 2D distributions for our monitoring variables ($D_{min}$ and $v$), local distance thresholds ($R$) and local update rates ($T$) on a baseline sequence of CDnet ("highway", row a), and on a sequence with important dynamic background elements ("fall", row b). In $R$'s 2D map, bright areas indicate high distance thresholds (thus easier sample-observation matches), while in $T$, they indicate low update probabilities (meaning the pixel models stay mostly unchanged over time). We can notice in both cases that trees carry high $R$ and low $T$ values, and vice-versa for road; this means that foreground objects will more easily be detected on the road, and are less likely to corrupt the model over time. 45
<table>
  <tr>
    <td>Figure 4.6</td>
    <td>Segmentation results obtained with our proposed model on a baseline sequence of CDnet ("highway", row a), and on a sequence with important dynamic background elements ("fall", row b), where (i) used no feedback or post-processing, (ii) used feedback but without post-processing, (iii) used post-processing but without feedback, and (iv) used both. While false classifications are present in all variations, we can note that the results of (iv) are the most consistent with object boundaries.</td>
    <td>47</td>
  </tr>
  <tr>
    <td>Figure 4.7</td>
    <td>By-products of the proposed frame-level analysis component at various times of CDnet sequences; column (i) shows the downscaled input frame used to update the moving averages, and columns (ii) and (iii) respectively show the sequence's short-term and long-term moving averages. While the difference between these two is negligible for the entire highway (row a) and fall (row b) sequences, it quickly becomes significant in the twoPositionPTZCam sequence (row c) right after the camera rotates. The pixel-wise analysis of discrepancies between these two moving averages allows the detection of such drastic events.</td>
    <td>49</td>
  </tr>
  <tr>
    <td>Figure 4.8</td>
    <td>Typical segmentation results for various sequences of the 2012 version of the CDnet dataset; column a) shows groundtruth maps, b) shows our segmentation results, c) Spectral-360's results and d) GMM's results. From top to bottom, the sequences are highway (from the baseline category), fall (dynamic background), traffic (camera jitter), and copyMachine (shadow). Note that gray areas are not evaluated.</td>
    <td>56</td>
  </tr>
  <tr>
    <td>Figure 4.9</td>
    <td>Typical segmentation results for various sequences of the 2014 version of the CDnet dataset; column a) shows groundtruth maps, b) shows our segmentation results, c) FTSG's results and d) GMM's results. From top to bottom, the sequences are snowFall (from the bad weather category), streetCornerAtNight (night videos), twoPositionPTZCam (PTZ), and turbulence1 (turbulence). Note that gray areas are not unevaluated.</td>
    <td>57</td>
  </tr>
  <tr>
    <td>Figure 5.1</td>
    <td>Block diagram of the Pixel-based Adaptive Word Consensus Segmenter. Each block represent a major component detailed in Section 5.3.</td>
    <td>63</td>
  </tr>
</table>
<table>
  <tbody>
    <tr>
      <td>Figure 5.2</td>
      <td>Illustrations of possible local dictionary content for dynamic and static background regions. The bars next to each word represents their relative importance in the dictionary based on persistence. In (a), different words are kept active simultaneously while new words are inserted. In (b), the dictionary is shown right after model initialization, and many overlapping words are present due to local neighborhood sampling. In (c), the same dictionary as (b) is presented but at a later time in the sequence, showing a reduced number of active words.</td>
      <td>67</td>
    </tr>
    <tr>
      <td>Figure 5.3</td>
      <td>Snapshots of the actual global word persistence maps used in the CD-net2012 fountain02 sequence at frame 500. The top-left corners show the pixel color description of each word; texture is omitted for illustration purposes. Brighter spots indicate where matches occurred and the map was updated; those points are the “seeds” from which the persistence is diffused. In total, 24 global words were active (the 12 with highest total persistence are shown here), covering over 95% of the image space with non-zero persistence values.</td>
      <td>72</td>
    </tr>
    <tr>
      <td>Figure 5.4</td>
      <td>Qualitative comparison of our segmentation results with the groundtruth on various sequences of CDnet2012. Gray regions in the groundtruth are not evaluated.</td>
      <td>81</td>
    </tr>
    <tr>
      <td>Figure 5.5</td>
      <td>Qualitative comparison of our segmentation results with the groundtruth on various sequences of CDnet2014. Gray regions in the groundtruth are not evaluated. An obvious false positive blob is visible in the last row's segmentation map; this is a temporary “ghost” artifact caused by a van that left the scene after being parked there.</td>
      <td>85</td>
    </tr>
    <tr>
      <td>Figure 6.1</td>
      <td>Overview of our proposed method's principal processing stages.</td>
      <td>91</td>
    </tr>
    <tr>
      <td>Figure 6.2</td>
      <td>Example of shape context description on a human shape contour point using 5 radius bins and 8 angle bins.</td>
      <td>93</td>
    </tr>
    <tr>
      <td>Figure 6.3</td>
      <td>Homography smoothing algorithm used for each frame.</td>
      <td>95</td>
    </tr>
    <tr>
      <td>Figure 6.4</td>
      <td>Example of the polygons used for quantitative evaluation formed with manually identified keypoints in the ninth sequence pair of the LITIV dataset.</td>
      <td>96</td>
    </tr>
  </tbody>
</table>
<table>
  <tr>
    <td>Figure 6.5</td>
    <td>Registration results obtained at various moments of the first, second and fourth sequence pairs of the LITIV dataset using our proposed method. The left image in each pair shows the estimated frame-wide registration, and the right shows foreground shape registration at the same moment. The red dashed polygon shows the estimated transformation applied to the infrared image boundary, and the green one shows the ground truth transformation applied to this same boundary.</td>
    <td>97</td>
  </tr>
  <tr>
    <td>Figure 6.6</td>
    <td>Polygon overlap errors obtained using our method (solid red), the method of Sonn et al. (2013) (dashed blue), and the ground truth homography (dotted gray) for the full lengths of all sequence pairs of the LITIV dataset.</td>
    <td>98</td>
  </tr>
  <tr>
    <td>Figure 6.7</td>
    <td>Polygon vertices Euclidean distance errors (in pixels) obtained using our method (solid red), the method of Sonn et al. (2013) (dashed blue), and the ground truth homography (dotted gray) for all sequences of the LITIV dataset. Note that the Y axis has been cropped similarly for all graphs.</td>
    <td>100</td>
  </tr>
  <tr>
    <td>Figure 7.1</td>
    <td>Examples of mutual foreground segmentation in low contrast conditions for RGB-LWIR image pairs. On the left, the person is only partly perceptible in the LWIR spectrum due to a winter coat, but is clearly perceptible in the visible spectrum. The opposite is true on the right, where legs are hard to perceive in the visible spectrum, but easy to perceive in the LWIR spectrum.</td>
    <td>104</td>
  </tr>
  <tr>
    <td>Figure 7.2</td>
    <td>Flowchart of the proposed method. A monocular video segmentation method is first used to initialize segmentation masks for both cameras individually. Then, the energies of the stereo and segmentation models (described in Sections 7.3.1 and 7.3.2, respectively) are alternately minimized until a proper global solution is reached. The output of our method then consists of the refined segmentation masks of the input frames, and of the reciprocal disparity labelings computed for both cameras.</td>
    <td>107</td>
  </tr>
  <tr>
    <td>Figure 7.3</td>
    <td>Simplified case of saliency evaluation during a correspondence search on an epipolar line. On the left, for the "A" pair, low contrast in one image leads to roughly uniform affinity scores and matching costs, which translate into a low local saliency value. On the right, for the "B" pair, good contrast leads to varied affinity scores and matching costs, and a high local saliency value.</td>
    <td>111</td>
  </tr>
</table>
LISTE DES SIGLES ET ABRÉVIATIONS

<table><tr><td>CCTV</td><td>Closed-Circuit Television</td></tr><tr><td>CDnet</td><td>ChangeDetection.net</td></tr><tr><td>DASC</td><td>Dense Adaptive Self-Correlation</td></tr><tr><td>FIFO</td><td>First In, First Out</td></tr><tr><td>FN</td><td>False Negative</td></tr><tr><td>FP</td><td>False Positive</td></tr><tr><td>FPS</td><td>Frames Per Second</td></tr><tr><td>GMM</td><td>Gaussian Mixture Model</td></tr><tr><td>IJCV</td><td>International Journal of Computer Vision</td></tr><tr><td>KDE</td><td>Kernel Density Estimation</td></tr><tr><td>LBP</td><td>Local Binary Pattern</td></tr><tr><td>LBSP</td><td>Local Binary Similarity Pattern</td></tr><tr><td>LSS</td><td>Local Self-Similarity</td></tr><tr><td>LWIR</td><td>Long-Wavelength Infrared</td></tr><tr><td>MI</td><td>Mutual Information</td></tr><tr><td>MCC</td><td>Matthew's Correlation Coefficient</td></tr><tr><td>NCC</td><td>Normalized Cross-Correlation</td></tr><tr><td>NIR</td><td>Near-Infrared</td></tr><tr><td>PAWCS</td><td>Pixel-based Adaptive Word Consensus</td></tr><tr><td>PBAS</td><td>Pixel-based Adaptive Segmenter</td></tr><tr><td>PCA</td><td>Principal Component Analysis</td></tr><tr><td>PTZ</td><td>Pan-Tilt-Zoom</td></tr><tr><td>PWC</td><td>Percentage of Wrong Classifications</td></tr><tr><td>RANSAC</td><td>Random Sample Consensus</td></tr><tr><td>SC</td><td>Shape Context</td></tr><tr><td>SIFT</td><td>Scale-Invariant Feature Transform</td></tr><tr><td>SSD</td><td>Sum of Squared Differences</td></tr><tr><td>SUBSENSE</td><td>Self-Balanced Sensitivity Segmenter</td></tr><tr><td>TN</td><td>True Negative</td></tr><tr><td>TP</td><td>True Positive</td></tr><tr><td>ViBe</td><td>Video Background Extractor</td></tr></table>
# CHAPITRE 1 INTRODUCTION

La vidéosurveillance appliquée à des fins de sécurité publique, d'analyse de trafic routier, ou encore de contrôle de procédés industriels ne date pas d'hier. Déjà dans les années 1970 et 1980, de grands systèmes centralisés de caméras étaient mis en place dans des lieux publics. Toutefois, l'analyse automatique des données générées par de tels systèmes était alors impossible, principalement à cause du manque de puissance de calcul des ordinateurs de l'époque. Aujourd'hui, les méthodes permettant de traiter de telles quantités d'information en temps réel (ou en différé) de façon complètement automatisée sont en pratique encore inexistantes. Tel qu'identifié par Gorodnichy et al. (2016), cela est attribuable en partie au manque de méthodes de pré-traitement avancées.

Bien que la reconnaissance de gestes ou de comportements à partir d'une séquence vidéo peut paraître simple à nos yeux, il ne s'agit pas d'une tâche aussi simple à traduire au niveau d'une application logicielle. En pratique, une séquence vidéo doit être traitée à plusieurs niveaux afin d'y extraire différents éléments de contenu qui deviennent de plus en plus facile à analyser et interpréter. C'est au fil de ces nombreuses transformations de données qu'un ordinateur peut éventuellement reconnaître des objets ou des actions parmi toutes les informations peu pertinentes contenues dans une vidéo. Les méthodes de pré-traitement mentionnées plus haut sont typiquement celles qui effectuent la première transformation de données, par exemple l'identification et le suivi de régions d'intérêt dans des images brutes. Ces régions d'intérêt peuvent ensuite être transmises à une méthode de plus haut niveau, qui pourra par exemple y détecter des individus et localiser leur visage. Une méthode d'encore plus haut niveau pourra finalement tenter de reconnaître et d'associer ces visages à ceux contenus dans une base de données déjà existante. Pour arriver aujourd'hui à un système de vidéosurveillance intelligent et complètement automatisé, chaque couche de transformation de données doit être revisitée et modernisée.

Dans le cadre de cette thèse, nous nous intéressons aux tâches dites de bas niveau, ou de pré-traitement. Plus spécifiquement, nous étudions principalement la détection et la segmentation d'objets d'intérêt à travers des séquences d'images provenant d'une ou de plusieurs caméras synchronisées. Un exemple de ces traitements est présenté à la figure 1.1.
<figure><img src="image_3.png" /><figcaption>Figure 1.1 Exemple de système de vidéo surveillance avec traitement en cascade. Les couches de “bas niveau” (à gauche) sont responsables du pré-traitement des données brutes, et les couches de “haut niveau” (à droite) utilisent leurs résultats afin d’analyser et d’interpréter le contenu de la scène. Ici, les couches de bas niveau effectuent une détection et une segmentation de certains objets, qui sont ensuite reconnus et identifiés par les couches de haut niveau. La section encadrée en pointillé identifie les couches d’intérêt étudiées dans cette thèse.</figcaption></figure>

## 1.1 Définitions et concepts de base

Notons d'abord que nous ne contraignons pas la nature des objets qualifiés comme étant “d'intérêt” (ou “ciblés”) dans notre définition du problème. En pratique, ceux-ci sont généralement des individus ou des véhicules, mais aucune connaissance *a priori* de leur apparence, de leur forme ou de leur taille n'est nécessaire pour assurer le fonctionnement des méthodes que nous proposons. Cela nous permet donc, en théorie, de cibler n'importe quel type d'objet à travers une séquence vidéo, ce qui est crucial dans un contexte de vidéosurveillance sans supervision humaine. De plus, cela permet à nos méthodes d'être réutilisées dans n'importe quel contexte sans nécessiter de réajustement par rapport au contenu vidéo analysé.

La première tâche visée, soit la détection d'objets d'intérêt, se base sur la supposition qu'un objet est considéré comme intéressant seulement s'il perturbe l'état naturel de la scène observée. En d'autres termes, dans un contexte de vidéosurveillance, si un objet apparaît subitement ou se déplace à travers le champ de vue d'une caméra, celui-ci devrait être localisé et classifié comme cible pour de futurs traitements. Puisque cette hypothèse est basée uniquement sur le comportement des objets, notons qu'il est possible que deux objets visiblement identiques puissent être classifiés différemment, ou encore qu'un même objet puisse être classifié différemment à deux moments de la séquence analysée (par exemple, s'il est manipulé par quelqu'un). Notons aussi ici que le nombre d'objets d'intérêt présent dans une scène n'est
pas contrôlé, et que ces objets peuvent être de taille et d'apparence variées.

La deuxième tâche visée, soit la segmentation d'objets d'intérêt, est couplée au problème de détection de ces objets et permet d'identifier les régions d'image qui correspondent à ceux-ci. Cette tâche est compliquée par le fait que nous ne disposons au préalable d'aucune information sur l'apparence des objets ciblés, mais elle peut toujours être accomplie à l'aide de deux approches. D'abord, puisque nous traitons des séquences d'images, il est possible de synthétiser un modèle d'apparence pour ces objets au fur et à mesure que les données sont traitées. Ce modèle peut alors servir à correctement identifier toutes les régions d'image appartenant aux objets ciblés lorsque ceux-ci gardent une apparence assez uniforme au fil du temps. Cette approche de modélisation directe des objets d'intérêt (ou de "l'avant-plan") est liée au problème classique de suivi (*tracking*) en vision par ordinateur (voir Yilmaz et al., 2006). La deuxième approche se base sur l'hypothèse qu'au contraire, un modèle d'apparence de la scène sous observation peut être construit avant l'arrivée des objets perturbateurs, et que ceux-ci peuvent être détectés et segmentés par l'analyse de leur différence d'apparence avec ce modèle. Cette deuxième approche englobe toutes les méthodes de segmentation par modélisation et soustraction d'arrière-plan (Bouwmans, 2014), et constitue en fait l'approche préconisée ici pour la détection initiale des objets d'intérêt. Dans les deux cas, le résultat de la segmentation est un masque de classification binaire séparant les pixels de l'image appartenant à un objet d'intérêt (i.e. à l'avant-plan) de ceux appartenant à l'arrière-plan.

Enfin, notons que si nous disposons d'une paire de caméras synchronisées pour observer une même scène sous deux points de vue différents, le recalage et l'intégration des données captées peut nous permettre d'éliminer certaines ambiguïtés présentes lors de la détection ou de la segmentation des objets d'intérêt (voir Zitová and Flusser, 2003). Ces ambiguïtés peuvent être causées par une occultation de l'objet ciblé par un autre élément d'avant-plan dans une des images, ou plus communément par un manque de contraste dans la scène observée (voir l'exemple de la figure 1.2). L'utilisation d'une paire de caméras multispectrale peut d'autant plus diminuer la redondance entre les représentations visuelles provenant des différentes sources de données, minimisant ainsi les chances de rencontrer une paire de régions de faible contraste. En ce qui concerne l'étape d'intégration des données lors de la segmentation, une fusion naïve des images brutes par une moyenne ou une concaténation de leurs canaux peut être suffisante. Toutefois, il est préférable d'utiliser une méthode capable de choisir la source de données à utiliser en fonction des conditions d'observation propres à chaque scène, car la pertinence des données peut varier de façon transitoire. Pour notre problème de segmentation d'objets d'intérêt présents à l'intérieur de plusieurs images, on parle alors de méthodes de co-segmentation (Rother et al., 2006), ou de segmentation mutuelle (Riklin-Raviv et al., 2008). Notons ici que ces méthodes sont généralement basées sur la modélisation de la forme ou
de l'apparence des objets d'intérêt eux-mêmes, contrairement aux méthodes de segmentation par soustraction d'arrière-plan mentionnées précédemment.

## 1.2 Éléments de la problématique

La détection et la segmentation d'objets d'intérêt dans des séquences vidéo synchronisées regroupent de nombreuses sous-tâches étudiées depuis longtemps en vision par ordinateur. Toutefois, celles-ci sont encore loin d'être considérées comme étant résolues, étant donné la vaste complexité des cas d'utilisation possibles dans des scénarios sans supervision. Dans cette section, nous détaillons les principaux enjeux qui compliquent la conception et le développement des méthodes visées dans le cadre de cette thèse.

### 1.2.1 Détection et segmentation d'objets par modélisation d'arrière-plan

La détection et la segmentation d'objets dans des séquences vidéo monoculaires selon une approche de modélisation d'arrière-plan est relativement simple lorsque l'environnement de capture est bien contrôlé. Un exemple parfait d'application dans de telles conditions est l'utilisation des écrans verts pour l'insertion d'effets spéciaux en cinématographie — l'illumination de la scène est gardée bien stable, l'arrière-plan est parfaitement uniforme, et le contraste avec les objets d'avant-plan est optimisé pour pouvoir bien les détecter en tout temps. Cela nous permet donc d'identifier facilement toutes les régions d'image qui n'appartiennent pas à l'arrière-plan, faisant indirectement ressortir tous les objets d'intérêt visibles par la caméra. Dans la réalité, il est presque impossible d'exercer un contrôle semblable sur une scène sous surveillance. Dans un lieu public, l'éclairage peut varier très rapidement, l'arrière-plan peut être constitué d'une multitude d'objets d'apparences variées, et certains éléments de la scène peuvent posséder un comportement dynamique à court ou à long terme (e.g. fontaines, arbres bougeant au vent). De plus, l'apparence des objets d'intérêt peut varier en fonction du temps (e.g. une personne qui change de vêtements), et ceux-ci peuvent affecter la disposition de leur environnement en y déplaçant des objets. Quelques exemples de ces défis dans des séquences réelles sont illustrés à la figure 1.3. Afin d'éviter de détecter tout changement d'apparence de l'arrière-plan d'une scène comme étant l'apparition d'un intrus potentiel, une méthode moderne doit donc pouvoir adapter son modèle d'arrière-plan à ces changements en continu. Le contrôle dynamique de cette adaptation est donc aussi un enjeu important, car dans le cadre de l'analyse d'images en temps réel, il est impossible de revenir sur des décisions déjà prises. La méthode doit donc déterminer automatiquement quel comportement adopter afin de faire évoluer adéquatement son modèle en fonction de la dynamique de la scène observée.
<figure><img src="image_4.png" /><figcaption>Paires RGB-LWIR de notre jeu de données</figcaption></figure>

Figure 1.2 Exemples de paires d'images visible-infrarouge dans un environnement de faible contraste. À gauche, une paire provenant du jeu de données de Palmero et al. (2016), et à droite, de notre propre jeu de données. La deuxième ligne illustre le résultat idéal qui devrait être obtenu par segmentation mutuelle des objets d'intérêt (dans ce cas, des personnes) dans ces paires d'images.

### 1.2.2 Recalage de paires d'images multispectrales

Le recalage d'images provenant d'une paire stéréo (telle que celle illustrée à la figure 1.4.a) peut être simplifié comme étant un problème de mise en correspondance de points dans un domaine unidimensionnel grâce aux contraintes de géométrie épipolaire (voir Hartley and Zisserman, 2003). En résumé, si on dispose des paramètres de calibration intrinsèques et extrinsèques des deux caméras, il est possible de rectifier les images produites par celles-ci. Cette rectification force alors la projection d'un point 3D visible par une des caméras à s'établir dans l'image de l'autre caméra sur une droite dont l'équation est connue d'avance (i.e. une épipole) — voir l'exemple illustré par la figure 1.4.b. Cela nous permet donc de réduire l'espace de recherche des correspondances de façon considérable et de recaler des objets dans une scène 3D, même lorsque la parallaxe est non-négligeable. La recherche de correspondances en 1D sur les épipoles est en soit peu compliquée lorsque les images captées proviennent du même type de caméra; pour un point donné, nous n'avons qu'à trouver son complément dans l'autre image qui maximise leur affinité visuelle commune. Toutefois, dans le cadre du recalage d'images multispectrales, les données visuelles brutes ne possèdent plus de similarités directes, ce qui complique la mise en correspondance de points. Par exemple, si on considère une caméra qui opère dans le spectre visible et une autre dans le spectre infrarouge "thermique" (Long-Wavelength Infrared), on peut comprendre que le lien entre l'apparence visible d'un objet et sa température est quasi inexistant. Il devient alors nécessaire d'utiliser
<figure><img src="image_5.png" /><figcaption>Figure 1.3 Exemples de problèmes pouvant affecter une méthode de détection et de segmentation d'objets d'intérêt tirés du jeu de données de Goyette et al. (2012). À gauche, l'eau présente une surface d'arrière-plan d'apparence dynamique difficile à modéliser. À droite, les changements d'illumination causés par les reflets de phares sont difficiles à ignorer.</figcaption></figure>

une représentation de plus haut niveau des objets (e.g. contours, trajectoires) afin de pouvoir trouver des correspondances adéquates entre les deux images. Ces représentations ne sont toutefois pas toujours faciles à calculer, et elles peuvent entraîner une perte de précision lors du recalage de petits objets.

### 1.2.3 Segmentation mutuelle de paires d'images

Pour ce qui est de la segmentation mutuelle de paires d'images, celle-ci nous permet de mieux identifier les régions de chaque image qui appartiennent à un objet commun en fusionnant les données captées simultanément. Puisque les caméras utilisées n'ont pas le même point de vue de la scène, il se peut que la parallaxe ainsi créée rende impossible la mise en correspondance parfaite de toutes les parties d'un objet d'intérêt. La méthode de segmentation mutuelle développée doit donc déterminer dans quels cas un manque d'information visuelle issu du recalage découle de la dissimulation d'une région par une autre partie de l'avant-plan, ou découle d'un trop faible contraste entre les différentes régions d'image. Par ailleurs, si les caméras utilisées sont uniquement synchronisées au niveau logiciel, il est possible que les images captées soient légèrement décalées dans le temps. Cela peut alors entraîner des distorsions incorrigibles autour des objets en mouvement dans une des deux images. La méthode développée doit donc être assez robuste pour accommoder ces distorsions sans affecter la forme réelle de l'objet ciblé dans l'autre image. Finalement, notons que dans notre contexte de vidéosurveillance automatisée, la méthode de segmentation mutuelle ne dispose pas d'une référence initiale pour modéliser parfaitement la forme ou l'apparence des objets ciblés. En effet, si le modèle d'avant-plan de la méthode de segmentation mutuelle est initialisé grâce à
<figure><img src="image_6.png" /><figcaption>Figure 1.4 Paire stéréo visible-infrarouge utilisée pour la capture de séquences vidéo synchronisées dans notre laboratoire, constituée d'une caméra FLIR A40 et d'une Kinect v2 (a) ; et représentation schématique de la géométrie épipolaire liant ces deux caméras (b). La projection sur le plan Image 1 d'un des points réels X peut correspondre à plusieurs points dans le plan Image 2 tous situés sur l'épipole dessinée en rouge. Cette image provient de Arne Nordmann et est distribuée sous license CC BY-SA.</figcaption></figure>

une méthode de segmentation monoculaire sans supervision (e.g. par soustraction d'arrière-plan), celui-ci pourrait être partiellement erroné. La méthode développée doit donc raffiner itérativement son propre modèle de référence au fur et à mesure que la segmentation des objets d'intérêt s'améliore.

### 1.2.4 Paradoxe : recalage et segmentation mutuelle

L'utilisation de modalités d'imagerie très différentes est avantageuse pour l'élimination des ambiguïtés reliées au manque de contraste dans les images produites, mais complique beaucoup la mise en correspondance des données, tel que mentionné précédemment. Une solution permettant d'améliorer cette mise en correspondance est d'utiliser les contours de formes is-sus de la segmentation mutuelle des paires d'images comme représentation de haut niveau des objets d'intérêt. L'étape de segmentation mutuelle nécessite toutefois que les données soient déjà recalées afin de pouvoir les intégrer, ce qui nous entraîne vers un paradoxe d'exigences pour ces deux étapes de traitement. Il est donc clair qu'une approche d'optimisation itérative doit être développée afin de répondre aux exigences de ces méthodes simultanément.

## 1.3 Objectifs de recherche

L'objectif principal de cette thèse est de concevoir et de développer un pipeline de pré-traitement de séquences d'images jumelées provenant de caméras synchronisées. Ce pipeline
a pour but principal de détecter et d'isoler automatiquement les objets en mouvement dans
le champ de vue de ces caméras, qualifiés comme étant “d'intérêt” dans un contexte de
vidéosurveillance. La détection de ces objets doit être accomplie, peu importe les conditions
d'acquisition, en tenant compte de la qualité des données provenant de chaque caméra. De
manière plus spécifique, nos objectifs sont de :

- Développer une méthode monoculaire de détection et de segmentation d'objets d'intérêt pour caméra stationnaire. Cette méthode doit pouvoir détecter n'importe quel type d'objet faisant irruption dans la scène surveillée tout en s'adaptant aux variations naturelles de son arrière-plan. Elle doit aussi permettre la détection et la segmentation en continu d'objets d'intérêt temporairement immobilisés (e.g. voitures à l'arrêt, personnes assises). Finalement, elle doit être applicable à n'importe quel type de modalité d'imagerie (e.g. spectre visible, infrarouge).

- Développer une méthode de recalage d'images multispectrales basée sur l'utilisation de masques de segmentation. Cette méthode doit être en mesure de fournir des résultats partiels, même lorsque les résultats de segmentation préliminaires fournis sont imparfaits. Celle-ci doit aussi être applicable aux scènes 3D où le point de vue des caméras peut affecter notre perception de la forme des objets d'intérêt (i.e. lorsque la parallaxe n'est pas négligeable).

- Développer une méthode de segmentation mutuelle d'images multispectrales. Cette méthode doit utiliser les résultats préliminaires de segmentation afin d'initialiser son propre modèle de segmentation, et utiliser les résultats préliminaires du recalage afin d'effectuer l'intégration du contenu multispectral. Elle doit aussi utiliser ces données préliminaires sans causer une dégénérescence de son modèle, et permettre à ce dernier d'évoluer dans le temps au fur et à mesure que de nouvelles paires d'images sont traitées.

- Développer une approche d'optimisation permettant d'alterner entre la recherche de correspondances de contours pour le recalage, et l'intégration des régions d'images pour la segmentation mutuelle. Cette approche doit être conçue de manière à converger naturellement vers une solution adéquate à chaque problème tout en restant relativement rapide.

La poursuite de ces objectifs de recherche a mené à plusieurs contributions scientifiques au cours des dernières années ; celles-ci sont décrites dans la prochaine section.

## 1.4 Contributions

Les travaux décrits dans cette thèse ont été réalisés en trois phases entre 2013 et 2018.
La première phase de travaux, entreprise entre 2013 et 2016, a porté sur le développement
de différentes méthodes de détection et de segmentation d'objets d'intérêt par modélisation
d'arrière-plan. La première génération de ces méthodes a servi à étudier différentes façons
d'incorporer des descripteurs binaires de texture à l'intérieur d'une approche de modélisation
non-paramétrique par pixel (St-Charles and Bilodeau, 2014). Ces descripteurs permettent
d'augmenter la sensibilité de la méthode aux variations de textures locales tout en ignorant
certaines variations d'illumination dans la scène. L'utilisation de ces descripteurs dans un
contexte de détection d'arêtes a d'ailleurs été explorée plus tardivement (St-Charles et al.,
2016b). Nous avons ensuite étudié l'effet de différents mécanismes de rétroaction ("feedback")
pour contrôler l'adaptation dynamique des modèles non-paramétriques à petite échelle (St-
Charles et al., 2014, 2015a). Un nouveau type de modèle non-paramétrique basé sur une
analyse de persistance locale a enfin été proposé dans le but de mieux traiter les scènes où
certains objets bougent de façon irrégulière (St-Charles et al., 2015b, 2016a).

La deuxième phase de travaux a porté sur le recalage d'images multispectrales, et elle s'est
tenue entre 2014 et 2016. D'abord, une étude de performance sur l'efficacité des descripteurs
d'images classiques dans la recherche de correspondances multispectrale a été réalisée en
collaboration avec d'autres chercheurs de notre laboratoire (Bilodeau et al., 2014). Suite à
celle-ci, l'utilisation de descripteurs de formes pour la mise en correspondance de points de
contours a été étudiée pour le recalage de scènes planaires, i.e. où la parallaxe est négligeable
(St-Charles et al., 2015c). Ce dernier travail a enfin été étendu aux scènes non-planaires dans
le cadre du projet d'un stagiaire de notre laboratoire (Nguyen et al., 2016).

La troisième phase de travaux a porté sur les méthodes de cosegmentation et de segmentation
mutuelle, et s'est déroulée entre 2017 et 2018. Lors de celle-ci, une méthode de segmentation
et de recalage combinée pour des paires d'images multispectrales a d'abord été proposée
(St-Charles et al., 2017). Cette méthode a ensuite été améliorée afin de pouvoir traiter des
séquences de paires d'images, et le résultat de ces travaux a enfin été soumis au *International
Journal of Computer Vision* (IJCV) en février 2018. Un nouvel ensemble de données mul-
tispectrales permettant l'évaluation combinée de méthodes de recalage et de segmentation a
d'ailleurs été publié au même moment.

Finalement, soulignons que le code source de toutes les méthodes développées dans le cadre
de cette thèse a été publié en même temps que leur article respectif<fnref n="1" />.

<footnote n="1">1. Voir https://github.com/plstcharles/litiv pour plus d'informations.</footnote>
## 1.5 Plan du mémoire

Cette thèse est structurée de la façon suivante. Dans le chapitre 2, nous présentons une revue des travaux pertinents reliés aux objectifs mentionnés dans la section 1.3. Dans le chapitre 3, nous présentons un survol du pipeline de traitement proposé et des articles qui s'y rattachent. Ces articles sont ensuite présentés individuellement dans les chapitres 4, 5, 6, et 7. Le chapitre 8 propose une discussion générale du travail accompli et quelques améliorations qui auraient pu être apportées à nos méthodes. Enfin, une conclusion est formulée dans le chapitre 9 donnant quelques pistes de recherche pour de futurs travaux.
# CHAPITRE 2 REVUE DE LITTÉRATURE

Dans ce chapitre, nous survolons les techniques de base et les travaux déjà réalisés qui sont reliés aux objectifs de recherche énumérés dans la section 1.3. Nous en profitons aussi pour identifier certaines tendances des travaux récents de la littérature dans le domaine, et nous discutons des avantages et des inconvénients de certaines techniques modernes.

## 2.1 Segmentation vidéo

Tel que mentionné dans le chapitre 1, les méthodes de segmentation binaires (i.e. qui séparent l'avant-plan d'une scène de son arrière-plan) doivent d'entrée de jeu se baser sur au moins une supposition afin de pouvoir détecter l'avant-plan de la scène, c'est à dire les objets d'intérêt. Lorsqu'on ne dispose que d'une seule image, il est nécessaire d'utiliser des hypothèses de saillance ("saliency") touchant les objets dans l'image. Par exemple, on peut supposer qu'il existe toujours un objet d'intérêt dans le champ de vue de la caméra, que cet objet possède un bon contraste par rapport au reste de la scène, ou encore qu'il est à peu près centré dans l'image (voir e.g. Arbelaez et al., 2011). La généralisation de cette approche aux séquences vidéo sans point de vue fixe permet d'exploiter la redondance temporelle d'apparence de l'avant-plan, sous l'hypothèse que les objets d'intérêt restent visibles au fil du temps. L'utilisation de modèles graphiques hautement connectés permet alors d'effectuer un suivi spatiotemporel très précis des objets d'intérêt tout en ignorant les variations de l'arrière-plan, qui lui peut être identifié par une analyse de flux optique. Les méthodes évaluées par Perazzi et al. (2016) fonctionnent à peu près toutes selon ce principe général.

L'utilisation de fortes suppositions sur la présence, la taille, le nombre ou la forme des objets d'intérêt dans une scène n'est toutefois pas idéale dans le contexte d'une application de vidéosurveillance. En pratique, les caméras utilisées sont souvent statiques et elles possèdent un champ de vue large qui n'est pas nécessairement centré sur les objets d'intérêt (un exemple comparatif est donné à la figure 2.1). Une stratégie de segmentation vidéo qui s'applique mieux à ce cas particulier est la soustraction d'arrière-plan. Cette stratégie permet de détecter et de segmenter des objets d'intérêt sous la seule supposition que le point de vue de la caméra est fixe. Cette supposition nous permet alors de modéliser l'arrière-plan de la scène en continu, et la détection d'objets en intrusion peut alors être effectuée en déterminant quelles régions de l'arrière-plan sont soudainement moins semblables à celles du modèle. La logique ici est que ces régions d'arrière-plan sont fort probablement cachées derrière un objet qui n'est pas naturellement présent dans la scène.
<figure><img src="image_7.png" /><figcaption>Figure 2.1 Exemple d'image typiquement analysée par des méthodes de segmentation vidéo génériques (a) tirée du jeu de données SegTrack v2 (Li et al., 2013), et exemple d'image typiquement analysée dans un contexte de vidéosurveillance (b), tirée du dataset de Wang et al. (2014a).</figcaption></figure>

<table><caption>Tableau 2.1 Taxonomie des approches de segmentation vidéo par soustraction d'arrière-plan</caption><thead><tr><th>Approche générale</th><th>Approche spécifique</th><th>Méthodes</th></tr></thead><tbody><tr><td rowspan="2">Modélisation paramétrique</td><td>Amalgame de gaussiennes</td><td>Friedman and Russell (1997)<br>Stauffer and Grimson (1999)</td></tr><tr><td>Amalgame dynamique</td><td>Zivkovic (2004)<br>Haines and Xiang (2014)</td></tr><tr><td rowspan="6">Modélisation non-paramétrique</td><td>Sample Consensus</td><td>ViBe (Barnich and Van Droogenbroeck, 2011)<br>PBAS (Hofmann et al., 2012)</td></tr><tr><td>Dictionnaires</td><td>Codebook (Kim et al., 2005)<br>Wu and Peng (2010)<br>Mayer and Mundy (2014)</td></tr><tr><td>Histogrammes</td><td>Heikkila and Pietikäinen (2006)<br>Zhang et al. (2008)</td></tr><tr><td>Estimation de densité</td><td>Elgammal et al. (2000)<br>Zivkovic and van der Heijden (2006)<br>Liao et al. (2010)</td></tr><tr><td>Robust-PCA</td><td>DECOLOR (Zhou et al., 2013)<br>Candès et al. (2011)</td></tr><tr><td>Subspace tracking</td><td>GRASTA (He et al., 2012)<br>pROST (Seidel et al., 2014)</td></tr></tbody></table>
Il existe trois grandes approches de modélisation pour la stratégie de soustraction d'arrière-plan ; celles-ci sont décrites dans les sous-sections 2.1.1, 2.1.2, et 2.1.4 ci-dessous. Une taxonomie de certaines des méthodes citées plus loin est présentée dans le tableau 2.1. Pour plus d'information sur d'autres approches atypiques ainsi qu'une revue des récentes méthodes de soustraction d'arrière-plan, nous redirigeons le lecteur vers les travaux de Brutzer et al. (2011) et de Bouwmans (2014).

### 2.1.1 Soustraction d'arrière-plan par modélisation paramétrique

L'approche de modélisation paramétrique est basée sur l'idée que l'arrière-plan peut être décrit à l'aide d'un ensemble de distributions de probabilité exprimées par leurs paramètres. L'exemple le plus simple de cette approche de modélisation a été introduit par Friedman and Russell (1997) et Stauffer and Grimson (1999) ; ceux-ci proposent d'utiliser un modèle d'amalgame de gaussiennes ("Gaussian Mixture Model") dans le but de décrire l'apparence de chaque pixel de l'arrière-plan d'une scène. Tel qu'illustré à la figure 2.2, la combinaison de ces gaussiennes permet de capturer plusieurs représentations (ou "modes") de l'arrière-plan en un point, ce qui est très avantageux lorsque certains éléments de la scène possèdent un comportement dynamique (e.g. arbres, eau). La modélisation paramétrique est une approche populaire principalement à cause de sa simplicité d'implémentation et de son efficacité en termes de temps de calcul. Celle-ci a d'ailleurs fait l'objet de nombreuses études proposant différentes façons de contrôler le nombre de composantes de chaque pixel, ou proposant une amélioration à l'adaptation des paramètres des distributions en fonction du dynamisme de l'arrière-plan (Zivkovic, 2004; Lee, 2005; Haines and Xiang, 2014).

### 2.1.2 Soustraction d'arrière-plan par modélisation non-paramétrique

Le but de l'approche de modélisation non-paramétrique est d'utiliser des représentations compactes basées sur les données déjà observées afin de décrire l'arrière-plan de la scène de façon plus spécifique. Cette approche est mieux adaptée que l'approche paramétrique lorsque la complexité de la scène est difficile à décrire à l'aide de distributions de probabilité. Par contre, celle-ci requiert généralement l'observation de plus de données et l'utilisation d'une plus grande quantité de mémoire pour entreposer les représentations de l'arrière-plan. Un exemple de modélisation non-paramétrique classique est la méthode de Elgammal et al. (2000). Cette méthode effectue une estimation de la densité de probabilité de l'apparence de l'arrière-plan pour chaque pixel du modèle à partir d'observations d'intensités locales par la méthode de Parzen-Rozenblatt (voir Parzen, 1962, il s'agit d'une généralisation de l'estimation par histogramme). Une simplification assez récente et très efficace de cette méthode a
<figure><img src="image_8.png" /><figcaption>Figure 2.2 Exemple de modélisation paramétrique d'un pixel d'arrière-plan (illustré par le point rouge dans l'image à gauche) à l'aide d'un amalgame de gaussiennes avec quatre composantes pour les canaux Cb et Cr. Deux composantes sont utilisées pour représenter l'eau, et deux composantes pour représenter les feuilles de l'arbre.</figcaption></figure>

été proposée par Barnich and Van Droogenbroeck (2011). ViBe, leur nouvelle méthode, modélise l'arrière-plan pour un pixel donné en gardant tout simplement en mémoire un ensemble d'observations récentes d'intensités captées dans le voisinage local du pixel (voir l'exemple de la figure 2.3). Grâce à la mise à jour aléatoire des échantillons de cet ensemble, cette nouvelle méthode est très robuste face aux comportements dynamiques de l'arrière-plan.

Afin de mieux gérer l'importance des échantillons contenus dans un modèle d'arrière-plan non-paramétrique, Kim et al. (2005) ont proposé d'associer un poids relatif à chaque échantillon. Cette valeur permet alors de déterminer quel échantillon devrait être remplacé dans un modèle lorsque celui-ci est mis à jour (importance minimale), et quel échantillon a le plus de chance d'être observé dans une nouvelle image (importance maximale). L'utilisation de ces poids est un principe clé des approches de modélisation par dictionnaire (ou par "codebooks"). Celles-ci permettent de réduire la quantité de mémoire nécessaire pour modéliser l'arrière-plan d'une scène de façon non-paramétrique tout en gardant la flexibilité d'une approche multimodale. De plus, cette approche permet de garder intacte la représentation intégrale de l'arrière-plan d'une scène malgré la présence à long terme d'un objet d'intérêt immobilisé dans celle-ci. Ce type de modèle a d'ailleurs été amélioré dans de nombreux travaux au fil des ans (voir e.g. Wu and Peng, 2010; Mayer and Mundy, 2014). Notons ici que l'approche de modélisation que nous avons choisi d'utiliser dans notre méthode de soustraction d'arrière-plan finale (présentée dans le chapitre 5) est une combinaison de modélisation non-paramétrique par codebooks, mais qui profite des avantages de l'échantillonnage stochastique de ViBe.

D'autre part, il existe de nombreuses façons d'interpréter l'apparence d'un pixel ou d'une région pour l'échantillonnage d'un modèle d'arrière-plan non-paramétrique. L'utilisation di-
<figure><img src="image_9.png" /><figcaption>Figure 2.3 Illustration du fonctionnement de l’approche de modélisation et de détection d’objets d’intérêt non-paramétrique de ViBe pour le pixel “x” encerclé en rouge dans l’image de gauche. La valeur observée pour x, notée I(x), est comparée aux échantillons déja présents dans le modèle du pixel x, noté B(x). Si au moins deux échantillons de B(x) sont intersectés dans un rayon R de l’observation I(x), alors le pixel est classifié comme arrière-plan (par S(x) = 0). Dans le cas contraire (vrai ici), il est classifié comme avant-plan (S(x) = 1).</figcaption></figure>

recte de la couleur (sous un modèle RGB, HSV ou autre) reste l'approche la plus simple, mais celle-ci omet l'information sur la structure spatiale ou spatiotemporelle de la sous-région avoisinante du pixel analysé. Plusieurs auteurs se sont donc penchés sur l'utilisation de descripteurs locaux binaires dans le but d'améliorer la perceptibilité des changements de textures. Heikkila and Pietikäinen (2006) étaient les premiers à proposer un modèle basé strictement sur ce genre de descripteur (*Local Binary Pattern*); ils ont démontré que leur méthode était très tolérante aux variations d'illumination et robuste face aux régions d'arrière-plan dynamiques. Cette robustesse a toutefois été obtenue en s'appuyant sur le calcul et la comparaison d'histogrammes de descripteurs, ce qui rend leur approche moins sensible aux variations de texture dont l'échelle est inférieure à celle du patron binaire utilisé. Une amélioration de cette méthode a d'ailleurs été proposée par Zhang et al. (2008); ceux-ci ont décidé de calculer les histogrammes de descripteurs sur différentes trames et de les fusionner, exploitant ainsi une partie de l'information temporelle qui n'était pas considérée dans l'algorithme original. Une autre approche a été suggérée par Liao et al. (2010) qui ne requiert pas l'utilisation d'histogrammes; un nouveau type de descripteur invariable aux changements d'illumination a été introduit et utilisé directement dans un modèle d'arrière-plan par échantillonnage similaire à celui de Elgammal et al. (2000). Finalement, les descripteurs de type "*Local Binary Similarity Pattern*" ont été introduits par Bilodeau et al. (2013) et il a été démontré que ceux-ci caractérisent mieux l'apparence de l'arrière-plan pour des scènes intérieures et extérieures que le modèle de couleur RGB. Notons d'ailleurs que dans ce dernier travail, les descripteurs sont comparés directement à l'aide de la distance de Hamming. Nous utilisons ces descripteurs dans nos méthodes présentées dans les chapitres 4 et 5.
### 2.1.3 Mécanismes de contrôle et de rétroaction

De nombreux travaux modernes ont proposé de combiner des approches de soustraction d'arrière-plan avec différents mécanismes leur permettant d'adapter leur processus de détection d'avant-plan ou d'adaptation de modèles locaux. Par exemple, dans l'amélioration de ViBe proposée par Van Droogenbroeck and Paquot (2012), le niveau de bruit observé dans la carte de segmentation est utilisé pour contrôler la stratégie de mise à jour du modèle. Pour la méthode de Hofmann et al. (2012) qui est aussi basée sur ViBe, c'est une analyse du niveau de dynamisme de l'arrière-plan ("background dynamics") pour chaque pixel qui dicte comment modifier les paramètres d'adaptation et de sensibilité de l'algorithme. Du côté des méthodes paramétriques, de nombreux travaux se basent sur l'analyse de la variance d'intensité locale dans le but de déterminer le nombre de distributions à utiliser dans la représentation de l'arrière-plan (voir e.g. Zivkovic and van der Heijden, 2006). Des composantes de post-traitement peuvent aussi être utilisées avec n'importe quelle approche pour déclencher des mécanismes de mise à jour du modèle d'arrière-plan ; pensons par exemple ici aux modules de détection d'objets statiques de Evangelio and Sikora (2011); Morde et al. (2012) ou bien au module d'analyse de changements au niveau des trames de Toyama et al. (1999). Plusieurs mécanismes de contrôle et de rétroaction sont d'ailleurs proposés pour les méthodes des chapitres 4 et 5, mais ceux-ci sont conçus de façon à éviter les complications provoquées par l'immobilisation à long terme d'objets d'avant-plan.

### 2.1.4 Segmentation par décomposition globale

La modélisation d'arrière-plan par analyse des composantes principales de la scène observée ou par l'approximation de ses matrices de bas rang ("low-rank approximation") permet de séparer l'avant-plan de l'arrière-plan dans une vidéo de façon globale (Zhou et al., 2013; Gao et al., 2014; Bouwmans et al., 2016). Cette approche est basée sur l'hypothèse que la vidéo analysée, prise sous la forme d'une matrice ou d'un tenseur 3D, possède un arrière-plan linéairement corrélé dans le domaine temporel. La vidéo peut alors être décomposée entièrement sous la forme d'une matrice représentant l'arrière-plan et de *outliers* qui représentent les formes d'avant-plan. L'avantage principal de ce type d'approche est que les séquences vidéo sont considérées de façon intégrale afin de détecter tous les objets d'intérêt qu'elles contiennent. En d'autres mots, il n'est pas nécessaire d'analyser les trames une par une afin d'y détecter les objets en mouvement. Cela élimine donc certaines ambiguïtés reliées à la classification initiale des objets s'introduisant lentement dans une scène. Par contre, cette stratégie n'est pas idéale pour le traitement en temps réel, car elle nécessite l'utilisation de nombreuses trames consécutives pour son analyse, et elle demande beaucoup de ressources
de calcul lorsquels les séquences traitées sont longues.

### 2.1.5 Segmentation par apprentissage profond

Notons finalement l'existence d'un nombre grandissant de méthodes de segmentation basées sur l'utilisation de techniques d'apprentissage profond. Contrairement aux méthodes basées sur la modélisation progressive et le suivi d'avant-plan et aux méthodes de soustraction d'arrière-plan, les méthodes par apprentissage profond utilisent des données externes afin d'apprendre à reconnaître la présence d'un objet d'intérêt dans une scène a priori. Cet apprentissage hors-ligne est effectué de façon supervisée à l'aide d'une série d'unités de traitement non-linéaires qui encodent la représentation des objets recherchés de façon de plus en plus abstraite. Lors de l'analyse d'une image, la couche créée au plus haut niveau de l'architecture d'encodage peut alors être interprétée pour détecter la présence d'un objet, ou encore être réinjectée dans une série d'unités de traitement inversée afin d'obtenir une carte de segmentation sémantique (voir e.g. l'architecture U-Net de Ronneberger et al., 2015). De nombreuses méthodes telle Mask-RCNN (He et al., 2017) ont été conçues pour segmenter des images individuellement, mais elles performent tout aussi bien lorsqu'elles sont appliquées sur des séquences d'images. Celles-ci sont par contre limitées par la quantité et la variété des données disponibles lors de l'entraînement, et par les classes d'objets qu'elles peuvent reconnaître lors de tests réels.

Une stratégie alternative aussi basée sur l'apprentissage profond a été étudiée par Braham and Van Droogenbroeck (2016) afin d'éliminer le besoin de connaître toutes les classes d'objets d'avance. Leur méthode est basée sur l'apprentissage et la classification des différences entre l'arrière-plan construit de manière traditionnelle et le contenu de la scène sous observation. Il est aussi possible d'entraîner un réseau de neurones à partir de données annotées provenant de la séquence traitée elle-même ; cela produit une méthode de segmentation supervisée capable de produire des résultats comparables à ceux d'un annotateur humain (voir e.g. Wang et al., 2017). Notons finalement que ces méthodes ne gèrent jusqu'à maintenant pas très bien les cas où certains objets s'immobilisent temporairement, car leur approche de modélisation ne comporte généralement pas de composante temporelle.

## 2.2 Recalage d'images multispectrales

Il existe de nombreuses approches de recalage permettant de combiner le contenu de deux images à l'échelle de leurs pixels, mais ces approches nécessitent toutes d'obtenir en premier lieu un certain nombre de correspondances entre ces deux images. Notons que cette étape
<figure><img src="image_10.png" /><figcaption>Figure 2.4 Exemple de recalage par paramétrisation d'homographie permettant de mettre en correspondance tous les points de l'image du bas dans le référentiel de l'image du haut. Ce recalage est uniquement possible puisqu'il s'agit d'une scène planaire, i.e. où les objets d'intérêt sont observés de loin par rapport à la distance entre les deux caméras.</figcaption></figure>

de mise en correspondance peut être simplifiée par certaines contraintes géométriques, tel qu'expliqué dans la section 1.2.2. Une fois les correspondances trouvées, celles-ci peuvent être utilisées afin d'estimer un modèle de transformation paramétrique permettant de recaler tous les points des deux images (voir l'exemple de la figure 2.4). Par contre, dans les cas où la parallaxe causée par la profondeur des objets de la scène n'est pas négligeable (i.e. pour les scènes dites "non-planaires"), les modèles paramétriques ne peuvent plus être appliqués, car le recalage n'est plus global. Il faut donc utiliser une approche de modélisation non-paramétrique basée sur le calcul de correspondances denses (i.e. pour chaque pixel), tel qu'illustré dans l'exemple de la figure 2.5. La mise en correspondance dense produit alors une carte de disparités encodant le vecteur de déplacement requis pour trouver le complément de n'importe quel point dans une des deux images. Dans le cas des paires d'images rectifiées, il existe un lien direct entre la disparité estimée de chaque pixel et sa profondeur réelle dans la scène (Hartley and Zisserman, 2003). La carte de disparités peut donc être considérée comme une carte de profondeur, à un facteur d'échelle près.

Dans le domaine multispectral, le problème de mise en correspondance est beaucoup plus compliqué, car la combinaison de régions d'images qui ne se ressemblent visuellement pas est paradoxale. Par exemple, dans le cas du spectre visible et de l'infrarouge thermique (Long-Wavelength Infrared, LWIR), un pic d'intensité dans l'infrarouge indique la présence d'un objet "chaud", mais cela ne donne à peu près pas d'information sur son apparence visible. Il faut donc faire abstraction du contenu visuel brut des images à l'aide de mesures comparatives
<figure><img src="image_11.png" /><figcaption>Figure 2.5 Exemple de recalage par mise en correspondance dense ; la carte en niveau de gris obtenue dans ce cas est une carte de disparités servant au recalage de chaque pixel. Celle-ci peut aussi servir à calculer la profondeur de tous les pixels de la scène.</figcaption></figure>

d'auto-similarité, ou encore utiliser des représentations de plus haut niveau des objets de la scène. Ces deux approches sont décrites dans les sections 2.2.1 et 2.2.2, respectivement. La section 2.2.3 présente ensuite quelques approches de modélisation paramétrique utilisées dans des travaux de recalage multispectral, en plus de certains exemples de recalage par estimation de cartes de disparités.

Notons enfin qu'il existe certains moyens physiques d'effectuer le recalage d'images de différents spectres au moment même de l'acquisition ; l'approche de (St-Laurent et al., 2010) qui repose sur un miroir semi-réfléchissant en est un exemple. Cette stratégie ne permet toutefois pas d'exploiter l'information 3D de la scène puisque les capteurs sont virtuellement superposés, ce qui brise la perception de profondeur. De plus, ces systèmes sont généralement fragiles, et ils peuvent altérer les couleurs captées par les deux capteurs.

## 2.2.1 Mise en correspondance par mesures de similarité locales

Pour la mise en correspondance de points dans des images de même spectre, des mesures de similarité basées directement sur l'intensité des pixels telles *Normalized Cross-Correlation (NCC)* et *Sum of Squared Differences (SSD)* ont souvent été utilisées dans la littérature (Brown, 1992; Zitová and Flusser, 2003). Ces mesures sont toutefois rarement utilisées dans le cas de paires d'images multispectrales, car les liens d'apparence entre les objets des deux images sont souvent trop faibles. En supposant que les régions d'intérêt sont assez contrastees et qu'elles possèdent des formes similaires dans les deux spectres analysés, il est possible d'utiliser le critère d'information mutuelle (*Mutual Information*, MI) comme mesure de si-
milarité (Egnal and Daniilidis, 2000; Pluim et al., 2003; Krotosky and Trivedi, 2007). Une autre alternative est de calculer la distance entre descripteurs *Local Self-Similarity* (LSS) afin d'obtenir une mesure de similarité pour chaque paire de pixels des deux images analysées, tel que démontré par Torabi and Bilodeau (2013). Ce descripteur est basé sur l'idée que la structure locale des éléments d'une image peut être encodée à l'aide de comparaisons d'apportre dans l'image même. Une évaluation de la fiabilité de différentes mesures de similarité et de différents descripteurs pour le problème de recalage visible-infrarouge a d'ailleurs été proposée par Bilodeau et al. (2014). Notons ici que l'approche de recalage proposée dans le chapitre 7 de cette thèse est basée sur la mise en correspondance de points à l'aide un descripteur de similarités locales similaire à LSS, nommé DASC (*Dense Adaptive Self-Correlating descriptor*; Kim et al., 2015).

D'autre part, notons qu'il est possible de remplacer l'approche de recherche de correspondances selon une mesure de similarité locale par l'utilisation d'un détecteur-descripteur de points-clés (e.g. SIFT; Lowe, 2004) combiné avec une approche d'association de points-clés. Il est toutefois difficile de trouver une stratégie de détection et de description convenable au problème multispectral (voir e.g. Aguilera et al., 2012; Ricaurte et al., 2014).

### 2.2.2 Mise en correspondance par représentation de haut niveau

Au lieu de se limiter à l'information de bas niveau (e.g. intensités, gradients) pour la recherche de correspondances, il est possible de construire des représentations de plus haut niveau du contenu visuel des images à recaler (e.g. arêtes, contours) et d'utiliser ces nouvelles représentations dans le but d'établir des correspondances entre les images. Cette stratégie est intéressante dans le cas du recalage multispectral puisque, tel que mentionné dans la section précédente, les paires d'images analysées ont souvent peu d'affinités visuelles directes. Le traitement de séquences de paires d'images est encore plus intéressant, car la redondance temporelle entre les images consécutives peut aussi être exploitée dans le but de construire d'autres types de représentations de haut niveau (e.g. trajectoires).

D'abord, parmi les types de représentations qui peuvent être construites à partir d'une seule image, notons que les silhouettes d'objets et les cartes d'arêtes ont souvent été utilisées pour la recherche de correspondances multispectrales. Coiras et al. (2000) ont proposé une méthode de recalage basée sur l'extraction de lignes droites des cartes d'arêtes générées à partir d'images provenant d'environnements urbains (i.e. où les scènes contiennent de nombreux repères rectilignes). Pistarelli et al. (2013) ont proposé d'utiliser l'espace de Hough comme domaine de recherche pour trouver des correspondances entre segments de droites dans des conditions similaires. Tian et al. (2015) ont utilisé des cartes d'arêtes tirées de gradients pour
le recalage de visages dans les spectres visible et infrarouge, mais ils ont décrit leurs ensembles de points en utilisant la technique de *Shape Context* de Belongie et al. (2002). Cette technique de description permet de représenter de façon compacte le voisinage d'un point de contour en fonction de la disposition des autres points autour de lui. Notons que la méthode que nous proposons dans le chapitre 6 utilise le descripteur de Belongie et al. (2002) pour son approche de mise en correspondance de contours d'objets. Ce descripteur est réutilisé une deuxième fois dans la méthode du chapitre 7 afin de calculer une carte d'affinités dense entre deux masques de segmentation.

Pour ce qui est des méthodes exploitant l'aspect temporel du recalage de vidéos, les solutions de Bilodeau et al. (2011a); Sonn et al. (2013); Zhao and Sen-ching (2014) se basent toutes sur la mise en correspondance de points de contours tirés de masques de segmentation obtenus par soustraction d'arrière-plan. Les méthodes de Caspi et al. (2002); Bilodeau et al. (2011b); Torabi et al. (2012) se basent aussi sur ce type de segmentation, mais elles utilisent plutôt les trajectoires des objets d'avant-plan comme source de correspondances. Ces deux approches ont l'avantage d'être robustes et efficaces pour des cas simples, mais elles ne peuvent pas gérer les cas où un objet d'avant-plan est occulté par un autre, ce qui combine les contours des deux objets. De tels cas sont communs lorsque les scènes traitées sont non-planaires. De plus, il est supposé que l'avant-plan peut toujours être adéquatement séparé de l'arrière-plan dans les deux spectres analysés, et que la forme des régions obtenues est à peu près équivalente, ce qui n'est pas toujours vrai. Notre méthode présentée dans le chapitre 7 s'attaque à ce problème en optimisant les résultats de recalage et de segmentation de manière itérative.

### 2.2.3 Modélisation de la transformation de recalage

En ce qui concerne enfin la modélisation de la transformation de recalage entre deux images, nous décrivons deux grands types d'approches, soit encore une fois les approches paramétriques et non-paramétriques.

Les approches paramétriques sont employées ici par les méthodes qui considèrent peu de correspondances par paire d'images analysées. Selon le modèle utilisé, celles-ci ajustent une équation qui approxime la transformation de recalage globale recherchée à partir de seulement quelques paires de points. Ces approches utilisent généralement une méthode d'ajustement telle la transformée linéaire directe (Direct Linear Transform; Hartley and Zisserman, 2003) ou le *Random Sample Consensus* (RANSAC; Fischler and Bolles, 1981) pour déduire les paramètres de cette équation. Les modèles de transformation paramétriques les plus simples sont basés sur des transformations rigides ou projectives (i.e. homographiques, voir la figure 2.4 pour un exemple) et de nombreuses méthodes en font directement usage pour assurer
la rapidité du calcul de leurs résultats (Sonn et al., 2013; Caspi et al., 2002; Torabi et al., 2012). Ces méthodes sont toutefois contraintes au recalage de scènes planaires puisque de tels modèles ne tiennent pas compte de l'effet de parallaxe. Par scènes planaires, il est question ici de scènes où les capteurs sont proches et où les cibles sont très loin de ces derniers (recalage homographique à l'infini), ou encore de scènes où toutes les cibles sont localisées sur un même plan (recalage par *planar ground*), tel que décrit par Krotosky and Trivedi (2007). Goshtasby (2005) énumèrent enfin de nombreux types de modèles paramétriques et non-linéaires qui peuvent être utilisés pour le recalage d'images.

Les approches non-paramétriques sont quant à elles plus souvent utilisées par les méthodes de recalage basées sur la mise en correspondance 1D par mesure de similarité locale, car elles nécessitent un très grand nombre de correspondances. Dans le cas où les images à recaler sont rectifiées (i.e. lorsque les plans d'image des deux capteurs coïncident), le problème revient en fait à estimer une carte de disparités, telle qu'illustrée à la figure 2.5. Cette carte représente alors le modèle de transformation lui-même et elle peut être lissée en 3D afin de mieux respecter la géométrie des différentes surfaces la scène (Kohli et al., 2009; Zhang et al., 2015). Pour un traitement plus rapide dans un contexte de vidéosurveillance en ligne, il est aussi possible d'effectuer un lissage par morceau des régions d'intérêt (*piecewise planar*; Gallup et al., 2010; Barrera et al., 2013) ou bien par colonnes de pixels (Torabi and Bilodeau, 2013).

## 2.3 Segmentation mutuelle et cosegmentation d'images

Tel que mentionné précédemment, le problème entourant la segmentation combinée de l'avant-plan de plusieurs images sans information *a priori* peut être abordé de deux façons différentes. L'approche par cosegmentation est celle qui est la plus générique, car elle ne nécessite pas le recalage des images analysées, mais elle suppose certaines propriétés des objets ciblés. Elle est décrite dans la section 2.3.1 ci-dessous. Le deuxième type d'approche que nous distinguons ici est la segmentation mutuelle, qui elle nécessite le recalage des images, mais qui offre aussi en général une meilleure précision avec moins de suppositions. Celle-ci est décrite dans la section 2.3.2. Enfin, nous recensons différents travaux déjà publiés étudiant la segmentation combinée d'images multispectrales dans la section 2.3.3.

### 2.3.1 Segmentation multi-instance (cosegmentation)

L'idée de partager les données provenant de plusieurs images afin de mieux segmenter les objets d'intérêt qu'elles ont en commun provient originalement de Rother et al. (2006). Ceux-ci ont d'ailleurs introduit le terme "cosegmentation" en même temps que leur méthode basée
<figure><img src="image_12.png" /><figcaption>Figure 2.6 Exemple de problème de cosegmentation typique ; ici, un même type d'objet est observé dans des conditions variées, à des moments différents, et sous des points de vue uniques. La deuxième ligne illustre les résultats de segmentation attendus. Les images sont tirées du jeu de données de Winn et al. (2005).</figcaption></figure>

sur l'élaboration d'un modèle graphique de cohérence visuelle. Ici, le principe de maximisation de cohérence entre l'apparence de régions d'avant-plan vient combler le besoin en information nécessaire pour l'identification des objets saillants qui avait été discuté dans la section 2.1. Fait intéressant, la méthode de cosegmentation de Rother et al. (2006) ne nécessite pas qu'un même objet soit présent dans toutes les images ; différentes instances d'un même type d'objet peuvent aussi être proprement segmentées, tant que ces instances sont visuellement similaires (voir l'exemple de la figure 2.6). Aucune contrainte de forme n'est d'ailleurs imposée aux objets segmentés afin de garder la méthode robuste face aux objets articulés, et invariante par rapport à la pose des caméras. Par contre, cette approche suppose qu'un même modèle d'apparence peut être partagé parmi tous les objets d'intérêt et que leur taille par rapport à la surface de l'arrière-plan est à peu près connue (ce ratio est utilisé comme hyperparamètre). Pour améliorer leurs résultats, Vicente et al. (2011) ont proposé d'incorporer la notion d'*objectness* ("objectivité"; Carreira and Sminchisescu, 2010) déjà popularisée ailleurs à l'intérieur de leur modèle d'avant-plan. Dans cette nouvelle méthode, de nombreuses propositions de sous-régions d'avant-plan sont générées puis évaluées par un modèle entraîné sur une base de données de régions d'images possédant les caractéristiques d'*objectness* recherchées (e.g. contraste aux frontières, uniformité visuelle). Les sous-régions les plus saillantes sont alors conservées pour la segmentation finale. L'approche de Faktor and Irani (2013) poursuit un objectif similaire en considérant que les "bonnes" sous-régions d'avant-plan partagent certaines particularités qui sont plus rares dans le reste de la scène,
leur permettant d'être assemblées tel un casse-tête.

Par ailleurs, une extension de la cosegmentation au domaine temporel a été proposée par Rubio et al. (2012) en se basant sur la propagation de caractéristiques de saillance et d'objectness à travers des "tubes" de superpixels connectés dans un modèle graphique. Cette approche a été généralisée par Chiu and Fritz (2013), qui se sont intéressés à la segmentation simultanée d'objets provenant de plusieurs classes, et par Guo et al. (2013), qui ont travaillé sur le problème de reconnaissance d'actions à partir d'un processus d'appariement de trajectoires.

Notons que de telles méthodes de cosegmentation génériques n'offrent pas de bons résultats lorsque les objets d'intérêt dans les images à segmenter sont de nature trop variée, lorsqu'ils sont difficiles à distinguer de l'arrière-plan, ou encore lorsqu'ils sont cachés par d'autres objets moins intéressants. Les méthodes de cosegmentation interactives (i.e. utilisant une intervention humaine) peuvent résoudre certains de ces problèmes (e.g. Batra et al., 2010), mais elles ne sont pas applicables dans un contexte d'application entièrement automatisée.

### 2.3.2 Segmentation instance unique (segmentation mutuelle)

Contrairement à la cosegmentation générique, la tâche de segmentation mutuelle définie dans le cadre de cette thèse considère que les images analysées contiennent les mêmes objets à l'avant-plan et qu'elles sont prises à peu près en même temps (voir l'exemple de la figure 2.7). Cela permet donc l'application de certaines contraintes qui ne peuvent pas être utilisées dans le cas générique, par exemple sur la géométrie commune des surfaces d'objets ciblés, et sur leurs mouvements dans le domaine temporel (s'il s'agit de séquences d'images). Par contre, afin de pouvoir bien exploiter l'information provenant de chaque source simultanément, les images analysées doivent être recalées, ce qui n'était pas le cas pour les méthodes de cosegmentation de la section 2.3.1.

Lorsqu'un sous-ensemble des images analysées provient de capteurs de profondeur, la détection d'objets d'intérêt et le recalage de ceux-ci peuvent être accomplis beaucoup plus facilement. Par exemple, Djelouah et al. (2015) ont proposé un modèle probabiliste pour le traitement mixte d'images du spectre visible et de cartes de profondeur dans le but d'obtenir la silhouette 2D des objets d'avant-plan. Leur solution permet de combiner des indices de géométrie et d'apparence des objets d'intérêt afin de déterminer quel partitionnement avant-plan/arrière-plan utiliser dans chaque image, sans nécessiter de reconstruction 3D de la scène.

Le cas de segmentation mutuelle qui nous intéresse plus particulièrement dans le cadre de cette thèse est celui où seules les images de deux caméras sont analysées, et où nous ne
<figure><img src="image_13.png" /><figcaption>Figure 2.7 Exemple de problème de segmentation mutuelle ; ici, un objet unique est observé dans des conditions similaires, à des moments quasi-identiques, et sous des points de vue semblables. La deuxième ligne illustre les résultats de segmentation attendus. Les images sont tirées du jeu de données de Kowdle et al. (2011).</figcaption></figure>

disposons pas d'information simplifiant le recalage des objets de la scène. Les données né-
cessaires au recalage doivent donc être déduites des images en même temps que les objets
d'intérêt sont détectés et segmentés. Dans ce contexte, le travail le plus pertinent est celui
de Riklin-Raviv et al. (2008). Ces auteurs proposent une approche par laquelle les contours
d'objets provenant d'une image sont utilisés comme indices dynamiques pour l'optimisation
itérative des contours dans l'autre image (et vice-versa). Ils modélisent la transformation de
recalage par homographie entre les points de contours extraits, et ils sont capables de cor-
rectement segmenter les d'objets d'intérêt même en cas d'occultation et de faible contraste.
Leur méthode doit toutefois disposer d'une identification grossière des régions d'intérêt dans
chaque paire d'images, et elle nécessite l'utilisation d'un hyperparamètre pour contrôler la
force du lissage de formes dans les cas ambigus de segmentation. Notre travail présenté dans
le chapitre 7 est en fait une généralisation de cette approche qui traite de multiples objets
dans des scènes non-planaires de façon complètement automatisée.

2.3.3 Applications dans le domaine multispectral

Nous discutons finalement de quelques travaux qui ont porté spécifiquement sur les problèmes
de recalage et de segmentation de paires d'images multispectrales en simultané, qui est le but
ultime du pipeline de traitement proposé dans cette thèse. Notons que les bandes spectrales
utilisées dans ces travaux sont le spectre visible (RGB) et l'infrarouge thermique (LWIR).

D'abord, Torabi et al. (2012) proposent une solution basée sur le recalage par points de trajec-
toire des objets d'intérêt dans des scènes planaires, et qui fusionne des cartes de segmentation
à l'aide d'une approche d'intégration probabiliste. La solution de Zhao and Sen-ching (2014)
est relativement semblable ; ceux-ci utilisent une approche de recalage basée sur la mise en
correspondance de contours pour des scènes semi-planaires, et utilisent une approche de seg-
mentation considérant les images fusionnées afin de produire une carte de segmentation finale.
Puisque l'approche de recalage de ces deux solutions est basé sur la forme des objets d'avant-
plan, il leur est impossible de gérer les cas où des objets d'intérêt se croisent, ou lorsqu'ils
sont occultés par d'autres éléments de la scène dans une des images. De plus, la segmentation
des objets d'intérêt finale produite pour une paire d'images n'est pas considérée dans le but
d'améliorer le recalage de ces objets dans une deuxième passe d'optimisation. En d'autres
termes, ces solutions ne résolvent pas la problématique mentionnée dans la section 1.2.4 de
manière itérative.

D'un autre côté, Davis and Sharma (2007) proposent de combiner le résultat d'une méthode de soustraction d'arrière-plan à une carte d'arêtes saillantes dans le but d'améliorer la fusion d'objets d'intérêt par contours. Leur segmentation finale est alors obtenue en remplissant les cartes de contours combinées par une approche de type watershed. Li et al. (2017) proposent quant à eux d'utiliser une méthode de soustraction d'arrière-plan par décomposition globale traitant des paires d'images RGB-LWIR, tel qu'expliqué dans la section 2.1.4. Dans ce cas-ci, le principal défaut des solutions proposées est qu'elles ne peuvent que considérer des scènes parfaitement planaires (i.e. où la parallaxe est négligeable).

Au meilleur de nos connaissances, le travail présenté dans cette thèse est le premier qui
s'attaque au problème de recalage et de segmentation de paires d'images multispectrales
pour des scènes non-planaires.
# CHAPITRE 3 SURVOL DES ARTICLES

Cette thèse propose une structure par articles pour les quatre prochains chapitres. Les articles recensés dans ces chapitres sont directement reliés aux objectifs spécifiques énoncés dans la section 1.3. La combinaison de deux des méthodes proposées dans ces articles (chapitres 5 et 7) constitue une solution globale au problème de segmentation de paires d'images multispectrales sous la forme d'un pipeline de traitement automatisé. Les deux autres articles (chapitres 4 et 6) constituent des travaux préliminaires ayant servi à l'exploration de solutions pour la version finale de notre pipeline de traitement. Les articles choisis et les liens entre ceux-ci sont résumés brièvement ci-dessous.

## 3.1 Exploration des principes de modélisation et d'ajustements dynamiques

L'article présenté dans le chapitre 4 propose une méthode de segmentation vidéo monoculaire par soustraction d'arrière-plan. Cette méthode se base sur une approche de modélisation non-paramétrique par échantillonnage similaire à ViBe (Barnich and Van Droogenbroeck, 2011), et sur l'usage de mécanismes de rétroaction au niveau de chaque pixel. Ces mécanismes permettent d'ajuster les hyperparamètres d'adaptation du modèle et de détection d'intrus de manière automatique en fonction des données observées. La première contribution de cet article est une étude de l'efficacité des descripteurs locaux binaires (Local Binary Similarity Pattern, LBSP) dans la représentation des régions de l'arrière-plan. Combinés à l'information d'intensité locale provenant de l'image, ces descripteurs permettent de mieux caractériser les régions observées dans la scène. Cela se traduit en une meilleure performance de détection des objets d'intérêt, et en une meilleure robustesse du modèle d'arrière-plan face aux changements d'illumination. La deuxième contribution de cet article est l'introduction de deux nouveaux indices utilisés pour l'analyse du niveau de dynamisme de l'arrière-plan de chaque pixel. Le premier indice est basé sur les distances calculées entre les observations et les prédictions du modèle, et le deuxième indice est basé sur la quantité de pixels bruités présents dans les cartes de segmentation produites. Ces indices sont combinés dans de nouveaux mécanismes de rétroaction permettant d'ajuster les hyperparamètres du modèle de chaque pixel. Le but de cette combinaison est d'isoler les changements locaux causés par la présence d'objets d'intérêt à l'avant-plan des changements causés par une région d'arrière-plan instable. La solution de segmentation proposée est évaluée sur un vaste ensemble de données et il est démontré que sa performance surpasse largement celle de dizaines de méthodes déjà publiées. Ce premier article a servi de base pour l'élaboration de notre méthode de segmentation vidéo monoculaire
finale, résumée dans la section 3.2.

## 3.2 Soustraction d'arrière-plan par modélisation de persistance

L'article présenté dans le chapitre 5 propose une méthode ayant un but similaire à celle de la section 3.1 (chapitre 4). Toutefois, cette nouvelle méthode introduit une approche de modélisation non-paramétrique basée sur l'utilisation de dictionnaires assignant une valeur de persistance à chaque représentation de l'arrière-plan. Inspirées par les poids de la technique des codebooks de Kim et al. (2005), ces valeurs de persistance sont calculées en fonction du degré de récurrence des représentations de l'arrière-plan. L'analyse de persistance aide alors à compresser le modèle d'arrière-plan de chaque pixel sans affecter sa complexité, mais permet aussi de raisonner sur les comportements dynamiques réguliers à long terme de l'arrière-plan. En d'autre termes, il devient possible, sur de longues périodes, de modéliser (toujours au niveau de chaque pixel) les régions d'une scène qui changent régulièrement d'apparence, e.g. la chaussée d'une route malgré la présence de voitures temporairement arrêtées. La méthode présentée est donc capable de détecter des objets d'intérêt immobilisés dans une scène même à très long terme. D'autre part, la modélisation par dictionnaire emprunte certains principes de mise à jour des modèles stochastiques afin d'améliorer sa robustesse aux comportements irréguliers de l'arrière-plan, et elle utilise aussi des mécanismes d'ajustement par rétroaction pour contrôler ses hyperparamètres. Finalement, une approche de modélisation d'arrière-plan au niveau de l'image entière est proposée et combinée avec l'analyse de persistance locale. La solution complète est encore une fois évaluée sur un vaste ensemble de données et elle surpasse les performances de l'état de l'art, particulièrement dans les séquences où les objets d'intérêt se déplacent de manière intermittente. Cette méthode est utilisée dans notre pipeline de traitement final afin de détecter les objets d'intérêt présents dans une scène ; elle fournit ses résultats sous forme de cartes de segmentation pour initialiser la méthode de la section 3.4.

## 3.3 Exploration du recalage par mise en correspondance de contours

L'article présenté dans le chapitre 6 propose une méthode de recalage de paires d'images multispectrales tirées de séquences vidéo synchronisées. La stratégie utilisée est basée sur la mise en correspondance de points de contours obtenus à partir d'une méthode de segmentation vidéo par soustraction d'arrière-plan — il s'agit en fait de la méthode résumée dans la section 3.2. Pour chaque paire d'images, les points de contours des objets d'avant-plan sont décrits à l'aide du descripteur *Shape Context* de Belongie et al. (2002), et assortis entre les images à l'aide de l'algorithme Hongrois (Kuhn, 1955). Les meilleures correspondances sont
alors sauvegardées et maintenues stochastiquement dans un réservoir temporel. Ce réservoir est ensuite utilisé afin de calculer par RANSAC (Fischler and Bolles, 1981) les paramètres d'une transformation de recalage projective permettant de mettre en correspondance tout le contenu des deux images. Cette transformation est réévaluée pour toutes les trames de la vidéo, permettant un recalage continu idéal même pour des scènes "presque planaires". Ce travail exploratoire a permis de confirmer que le recalage de forme est viable même lorsque les résultats de segmentation utilisés en entrée sont bruités. Cette conclusion a mené en partie à l'élaboration de la stratégie de recalage du chapitre 7 (résumée dans la section 3.4 ci-bas), qui s'étend aux scènes non-planaires dans un processus d'optimisation itératif.

## 3.4 Recalage et segmentation mutuelle de paires d'images multispectrales

Enfin, l'article présenté dans le chapitre 7 propose une solution complète permettant de résoudre les problèmes de recalage et de segmentation de paires d'images multispectrales simultanément et de manière automatisée. Cette solution est basée sur un processus d'optimisation itératif; d'un côté, des indices locaux d'apparence ainsi que les contours d'objets d'intérêt obtenus par segmentation sont utilisés pour effectuer le recalage, et de l'autre, l'intégration des données multispectrales recalées est utilisée pour améliorer la précision des masques de segmentation. Ces deux objectifs sont exprimés par des fonctions d'énergie qui sont minimisées de manière alternative pour chaque paire d'images. Le modèle de chaque fonction est construit selon une approche graphique permettant de tisser des liens complexes entre tous les pixels d'une image. L'utilisation de tels liens résulte en une solution qui considère le problème d'optimisation de façon globale. Une structure à plusieurs couches permettant le lissage spatiotemporel des résultats produits est aussi proposée. D'autre part, l'initialisation du modèle de segmentation est réalisée à l'aide de masques fournis par la méthode résumée dans la section 3.2. Ces masques permettent l'identification partielle des objets d'intérêt dans la scène, tâche que la solution proposée ici ne peut pas effectuer par elle-même. Les résultats de cette nouvelle solution sont évalués sur de nombreux ensembles de données, et il est démontré que l'approche proposée améliore grandement la qualité des masques initiaux provenant de la segmentation vidéo.
# CHAPITRE 4 ARTICLE 1 : SUBSENSE : A UNIVERSAL CHANGE DETECTION METHOD WITH LOCAL ADAPTIVE SENSITIVITY

St-Charles, P.-L., Bilodeau, G.-A., Bergevin, R.

IEEE Transactions on Image Processing, Vol. 24, Issue 1, 2015, pp. 359-373.

(© 2015 IEEE; Reprinted with permission.)

https://doi.org/10.1109/TIP.2014.2378053

## Abstract

Foreground/background segmentation via change detection in video sequences is often used as a stepping stone in high-level analytics and applications. Despite the wide variety of methods that have been proposed for this problem, none has been able to fully address the complex nature of dynamic scenes in real surveillance tasks. In this paper, we present a universal pixel-level segmentation method that relies on spatiotemporal binary features as well as color information to detect changes. This allows camouflaged foreground objects to be detected more easily while most illumination variations are ignored. Besides, instead of using manually-set, frame-wide constants to dictate model sensitivity and adaptation speed, we use pixel-level feedback loops to dynamically adjust our method's internal parameters without user intervention. These adjustments are based on the continuous monitoring of model fidelity and local segmentation noise levels. This new approach enables us to outperform all 32 previously tested state-of-the-art methods on the 2012 and 2014 versions of the ChangeDetection.net dataset in terms of overall F-Measure. The use of local binary image descriptors for pixel-level modeling also facilitates high-speed parallel implementations: our own version which used no low-level or architecture-specific instruction reached real-time processing speed on a mid-level desktop CPU. A complete C++ implementation based on OpenCV is available online.

## 4.1 Introduction

The use of change detection algorithms to identify regions of interest in video sequences has long been a stepping stone in high level surveillance applications. In their simplest form, they allow the subtraction of static background from scenes where relevant objects are always in motion. In most cases however, “foreground” objects may move intermittently (e.g. cars at a traffic light), they may not be focal points in a camera’s field of view, and uninteresting background regions may also exhibit dynamic behavior (e.g. swaying tree branches, water fountains). Simplistic background subtraction methods and traditional image
segmentation approaches are thus ill-suited for active region labeling in real video surveillance
tasks. Modern change detection algorithms are generally split into three parts: first, a
background model of the scene is created and periodically updated by analyzing frames
from the video sequence. Then, preliminary foreground/background segmentation labels (or
probabilities) are assigned to all pixels of every new frame based on their similarity to the
model. Finally, regularization is used to combine information from neighboring pixels and to
make sure uniform regions are assigned homogeneous labels.

Background modeling can be approached in many different ways: to allow high-speed imple-
mentations, most methods rely on independent pixel-level models which are assembled into
a larger background model. Color intensities are typically used to characterize local pixel
representations in non-parametric models or for local distribution estimation in parametric
models. Due to its simplicity, this kind of approach cannot directly account for spatiotem-
poral coherence between pixels and instead delegates this responsibility to the regularization
step. This often culminates in less-than-ideal segmentation results due to the absence of
texture analysis, especially when camouflaged foreground objects are involved.

Because this is a two-class segmentation problem and because of the wide range of possible
scenarios, parameters that control model sensitivity and adaptation rate are usually left to
the user to define. These can be very difficult to adjust for particular problems, especially
when illumination variations, dynamic background elements and camouflaged objects are all
present in a scene at the same time. Additionally, good knowledge of the data and of the
change detection algorithm itself is required to achieve optimal performance in any given
situation. Previously, most methods have used global thresholds under the assumption that
all observations would show similar behavior throughout the analyzed sequences, which is
rarely the case. While it is possible to dynamically adjust such parameters based on compar-
isons between observations and values predicted by the model, this approach cannot be used
continuously due to disparities caused by foreground objects. In all cases, a typical outcome
of bad parameterization is segmentation noise: usually observed under the form of “blinking
pixels” (i.e. pixels that often switch between foreground and background classification over
time), such noise indicates that the model is too sensitive to change in a certain region.

In this paper, we present a *universal* method for change detection, meaning it can be directly applied on most video surveillance scenarios and still result in near-optimal performance. Our work has already been partially described before (St-Charles and Bilodeau, 2014; St-Charles et al., 2014). Here, we give new and more detailed explanations on the different parts of our method while providing in-depth analyses of new results. In short, we first use an improved spatiotemporal binary similarity descriptors along with color intensities to
characterize pixel representations in a nonparametric paradigm. This novel approach allows the detection of subtle local changes caused by camouflaged foreground objects, which are not typically visible at the pixel level. It also ignores disturbances caused by soft shadows and other types of illumination variations or noise. Pixel representations are captured and stored as “samples” in pixel-level models, which as a whole form our background model. Due to the conservative update strategy and neighbor-spread rules used to update these samples, our model is resistant to shaking cameras and intermittent object motion.

Then, in order to improve out-of-the-box flexibility in complex scenarios, we propose a new feedback scheme to dynamically control our algorithm’s sensitivity and adaptation speed. This component is based on the continuous analysis of background dynamics at the pixel level: it treats frame regions differently based on recent observations, their similarity to pixel models as well as local segmentation noise levels. While segmentation noise is often seen as detrimental in foreground/background labeling tasks, we show that it can be used to guide feedback when it is managed correctly, thus solving the dynamic adjustment problem in the presence of foreground objects. In our case, the highly sensitive nature of our pixel representations allows sparse noise to be generated very easily, also improving the efficiency of our approach. Ultimately, our feedback scheme can identify complex motion patterns and adjust our model’s parameters locally without compromising segmentation performance elsewhere.

To keep our method’s complexity minimal and its implementation simple, we avoid using preprocessing and color conversion/normalization on analyzed frames. Furthermore, our segmentation decisions do not rely on pixel-wise probabilities or on an energy function, and require no region-level or object-level processing. Our regularization step is also simplified to morphological operations and median blurring, which are able to eliminate all salt-and-pepper segmentation noise. A complete evaluation on the 2012 and 2014 versions of the ChangeDetection.net (CDnet) dataset (Goyette et al., 2012; Wang et al., 2014a) shows that we outperform all 32 previously ranked methods in terms of overall F-Measure, as well as in nine out of eleven categories (including baseline). These methods include ViBe (Barnich and Van Droogenbroeck, 2011) and ViBe+ (Van Droogenbroeck and Paquot, 2012), which use a similar sample-based background model that only relies on color, and PBAS (Hofmann et al., 2012), which uses a feedback scheme that does not monitor segmentation noise for its adjustments. In the end, our results demonstrate that our approach is suitable for most complex change detection challenges, but also that good generalization is not earned at the expense of performance in simple scenarios. The full C++ implementations of our method’s two stages presented in Section 4.3 (i.e. with and without feedback) are available online.
## 4.2 Related Work

Most methods used for change detection in video sequences are based on the idea that, when using stationary cameras, disparities between an analyzed frame and a background reference are usually indicative of foreground objects. The advantage behind this concept is that no prior knowledge is required to detect the objects, as long as their appearance differs enough from the background (i.e. they are not camouflaged). As opposed to solutions based on object detection, this approach can accurately describe the contour of moving objects instead of simply returning their bounding box. However, finding a good reference image in order to do actual "background subtraction" is almost always impossible due to the dynamic nature of real-world scenes.

Instead of relying on an existing reference image for change detection, the earliest adaptive methods used pixel-wise intensity averages and Kalman filtering to create parametric background models from which comparisons are made. This kind of approach is robust to noise and can slowly adapt to global illumination variations, but is generally inadequate against shadows and multimodal background regions. Gaussian Mixture Models (GMM, Friedman and Russell, 1997; Stauffer and Grimson, 1999) were introduced to solve the latter problem and remain to this day a very popular solution. They allow dynamic background elements to be modeled through color intensities at individual pixel locations using a mixture of Gaussian probability density functions. New adaptive and more flexible variations of GMM were also proposed over the years (Zivkovic, 2004; Zivkovic and van der Heijden, 2006; Lee, 2005; KaewTraKulPong and Bowden, 2002) to allow dynamic numbers of components for modeling as well as to improve their convergence rate.

Nonparametric models based on Kernel Density Estimation (KDE, Elgammal et al., 2000) were also introduced early on and improved in more recent state-of-the-art methods (Mittal and Paragios, 2004; Sheikh and Shah, 2005; Zivkovic and van der Heijden, 2006). Unlike parametric models, these rely directly on local intensity observations to estimate background probability density functions at individual pixel locations. Most of them however only incorporate observations on a first-in, first-out basis, and are thus unable to model both long-term and short-term periodic events without holding on to large amounts of data. The stochastic sampling approach presented by Barnich and Van Droogenbroeck (2011); Van Droogenbroeck and Barnich (2014) and improved by Van Droogenbroeck and Paquot (2012); Hofmann et al. (2012) solves this problem by using a random observation replacement policy in the model. Note that our own approach is derived from it. The codebook methods of Kim et al. (2004); Wu and Peng (2010) present another alternative to solve this problem: they cluster observations into codewords and store them in local dictionaries, allowing for a wider range of
representations to be kept in the background model. Kim et al. (2004) also proposed a
normalized color distance measure that quickly gained popularity in change detection due
to its relatively low cost and robustness to illumination variations. Non-parametric models
are also often considered for hardware or high-speed parallel implementations due to their
data-driven nature (Barnich and Van Droogenbroeck, 2011). For example, the method of
Wang and Dudek (2014), which relies on pixel-level template matching, reported on the CD-
net website exceeding 800 frames per second while processing 320x240 videos using a single
mid-level GPU (GTX 460).

Unprecedented methods based on artificial neural networks have been proposed and achieve
good results on various change detection scenarios without prior knowledge of the involved
motion patterns (Maddalena and Petrosino, 2008, 2012). However, they require a training
period of variable length depending on the presence of foreground objects in the early frames
of the video sequences. To address this problem, weightless neural networks based on bi-
nary nodes were instead used for online learning by Gregorio and Giordano (2014). Other
works have also focused on improving foreground/background label coherence using advanced
regularization techniques based on connected components (Van Droogenbroeck and Paquot,
2012; Morde et al., 2012), superpixels and Markov Random Fields (Schick et al., 2012), or
even static/abandoned object detection (Evangelio and Sikora, 2011; Morde et al., 2012).
Some methods instead rely on region-level (Jodoin et al., 2012), frame-level (Oliver et al.,
2000; Tsai and Lai, 2009) or hybrid frame/region-level (Toyama et al., 1999; Nonaka et al.,
2012) comparisons to explicitly model the spatial dependencies of neighboring pixels. The
recently proposed method of Wang et al. (2014b) also relies on a hybrid, multi-level system:
it combines flux tensor-based motion detection and classification results from a Split Gaus-
sian Mixture Model (SGMM), and uses object-level processing to differentiate immobilized
foreground objects from “ghost” artifacts.

The use of local binary descriptors to improve the spatial awareness of change detection meth-
ods has also been studied: Heikkila and Pietikäinen (2006) were the first to propose a solution
based on Local Binary Patterns (LBP). Their method was demonstrated to be tolerant to
illumination variations and robust against multimodal background regions. This robustness
is achieved using LBP histograms at the pixel level, but at the expense of sensitivity to
subtle local texture changes. An improved version of this method was proposed by Zhang
et al. (2008): by computing LBP feature histograms on consecutive frames and then merging
them, they benefit from using underexploited temporal motion information. Another ap-
proach was suggested by Liao et al. (2010) that does not require histograms: Scale-Invariant
Local Ternary Patterns (SILTP) can be used directly at the pixel level to detect local changes
when incorporated in a modified KDE framework. Finally, Local Binary Similarity Patterns
(LBSP) were demonstrated by Bilodeau et al. (2013) to surpass traditional color comparisons when used to detect subtle changes in baseline scenarios via Hamming distance thresholding. We chose to improve upon LBSP features for our complete method due to their simplicity and effectiveness in change detection (detailed in Section 4.3.1). We also chose not to use histograms in our model, and instead we directly incorporate LBSP descriptors in a simplified density estimation framework based on a step kernel (like the one used by Barnich and Van Droogenbroeck, 2011).

As for the use of feedback mechanisms to adjust parameters on-the-fly in this context, many parametric methods (such as Stauffer and Grimson, 1999; Zivkovic, 2004; Zivkovic and van der Heijden, 2006) already used local variance analysis or comparison results to guide segmentation behavior. Moreover, post-processing components are sometimes used to trigger model update mechanisms, like in the case of static object detectors (Evangelio and Sikora, 2011; Morde et al., 2012) or frame-level components (Toyama et al., 1999). However, feedback is rarely used solely at the pixel level to control both change detection sensitivity and model update rate. A notable exception is the Pixel-Based Adaptive Segmenter (PBAS, Hofmann et al., 2012), which exploits “background dynamics” (i.e. the study of background motion patterns and model fidelity) to control local decision thresholds and update rates. In Section 4.3.3, we improve upon their design by allowing continuous background monitoring and by restraining parameter adjustments to regions with unstable segmentation behavior. These regions are identified through the detection of blinking pixels, which were also used heuristically by Van Droogenbroeck and Paquot (2012) to guide model updates.

For more information on foreground/background segmentation via change detection, note that many review papers and surveys have been published over the years on the subject (Parks and Fels, 2008; Herrero and Bescós, 2009; Benezeth et al., 2010; Brutzer et al., 2011; Jodoin et al., 2014).

## 4.3 Methodology

As stated in the previous section, our proposed approach is based on the adaptation and integration of Local Binary Similarity Pattern (LBSP) features in a nonparametric background model that is then automatically tuned using pixel-level feedback loops. We coined our complete method SuBSENSE, short for “Self-Balanced SENsitivity SEgmenter”. We detail how it works in three steps: first, we show in Section 4.3.1 how individual pixels are characterized using spatiotemporal information based on RGB values and LBSP features; then, we present in Section 4.3.2 how these representations can be gathered, updated and used in a stochastic, sample-based model, resulting in a fairly simple and effective change detection
<figure><img src="image_14.png" /></figure>

Figure 4.1 Block diagram of SuBSENSE; dotted lines indicate feedback relations. The role of each block and variable is detailed in Sections 4.3.1 through 4.3.4. In our case, post-processing used to generate the output segmentation maps from raw labeling data is based on typical median filtering and blob smoothing operations. This component is an integral part of our method since it provides segmentation noise levels to our feedback process.

method; finally, we show in Section 4.3.3 how model fidelity and segmentation noise monitoring drives the feedback scheme we used to control our algorithm’s sensitivity and adaptation speed locally. Extra implementation details about our method and its frame-level analysis component are given in Section 4.3.4.

An overview of SuBSENSE’s architecture is presented in Fig. 4.1 based on a block diagram.

### 4.3.1 Pixel-level modeling

Pixel-level modeling, as opposed to region-level or object-level modeling, usually allows high-speed parallel implementations to be developed with relative ease due to how the workload is already split and kept isolated at a low level. However, the absence of information sharing between such local models puts the entire burden of spatial (or spatiotemporal) labeling coherence on the method’s regularization scheme. To counter this, we characterize pixel-level representations using not only their RGB values, but Local Binary Similarity Pattern (LBSP) features, which operate in the spatiotemporal domain. This approach improves the odds of detecting camouflaged objects when their texture differs from the background’s, and can even tolerate illumination changes when all local color intensities vary equally over time. Moreover, these features have a very low computational cost, and are discriminative enough to be used directly in pixel models without relying on local histograms.

As described by Bilodeau et al. (2013) and shown in Fig. 4.2, LBSP features are computed on a predefined 5x5 grid. They can be considered a counterpart to Local Binary Pattern (LBP) and Local Ternary Pattern (LTP) features: instead of assigning binary codes based on whether a given adjoining intensity is lesser or greater than the central reference, they
<figure><img src="image_15.png" /><figcaption>Figure 4.2 Simplified description and comparison of LBSP features using frames picked from the copyMachine sequence of CDnet. In row (a), an intra-LBSP feature is computed to serve as the basis for other comparisons; in rows (b) and (c), inter-LBSP features are computed using (a)'s reference intensity (the green x), while soft shadow and foreground are respectively visible. Row (b)'s feature can be matched with (a)'s since textures are similar and the relative intensity threshold is correctly scaled in bright-to-dark transitions; this is not the case in row (c). Note that in fact, LBSP features are computed and compared on each color channel.</figcaption></figure>

assign them based on similarity (via absolute difference thresholding). More specifically, the following equation is used to compute an LBSP binary string centered at a given location x:

$$ LBSP(x) = \sum_{p=0}^{P-1} d(i_p, i_x) \cdot 2^p \qquad (4.1) $$

with

$$ d(i_p, i_x) = \begin{cases} 1 & \text{if } |i_p - i_x| \le T_d, \\ 0 & \text{otherwise} \end{cases}, \qquad (4.2) $$

where $i_x$ is the “central reference” and corresponds to the intensity of the pixel at $x$, $i_p$ corresponds to the intensity of the $p$th neighbor of $x$ on the predefined pattern, and $T_d$ is the
internal similarity threshold. In short, LBSP features require the same number of internal operations per comparison as LBP and fewer than LTP, but are more discriminative in the context of change detection (see the experimental results of Section 4.4.1). Furthermore, the pattern seen in Fig. 4.2 covers more pixels than the basic version of LBP or LTP (typically the 8-connected neighbors) without having to interpolate intensity values. LBSP features can also be made sensitive to spatiotemporal variations by picking a central reference intensity ($i_x$) from a previous frame. This is called inter-LBSP by the original authors, in opposition to intra-LBSP when computations are kept within a single frame. Examples of inter-LBSP computations are also presented in Fig. 4.2.

The first major improvement we propose to traditional LBSP features is related to their internal threshold, $T_d$. As discussed by Liao et al. (2010), the replacement of a similar threshold used in LTP by a term that is relative to the reference intensity ($i_x$) makes the binary descriptors much more resistant to illumination variations. In our case, due to the nature of inter-LBSP features, this modification becomes even more effective against shadows, as presented in the middle row of Fig. 4.2. Simply put, since we always use a reference intensity from a previous frame (Fig. 4.2.a, the green X mark) to compute inter-LBSP descriptors (Fig. 4.2.b and c), and since shadows are always characterized by bright-to-dark color transitions, the similarity threshold will remain high and local pixels are likely to stay classified as background. However, in the case of dark-to-bright transitions (which are less likely to be shadows, and more likely to be relevant changes), the similarity threshold will remain low, thus avoiding possible false background classifications. In short, to apply this modification to LBSP features, we only need to replace (4.2) by the following equation, where $T_r$ is the new relative internal threshold (bound to [0,1]):

$$d(i_p, i_x) = \begin{cases} 1 & \text{if } |i_p - i_x| \le T_r \cdot i_x \\ 0 & \text{otherwise} \end{cases} \qquad (4.3)$$

We determined experimentally that using $T_r \approx 0.3$ resulted in noise-free, discriminative descriptors in nearly all tested video sequences. However, for optimal flexibility in our final method, this value was automatically scaled over time based on the texture content of the analyzed scenes so that all videos would bear approximately the same overall gradient magnitude sums. That way, scenes with very little background texture or few object edges would rely on much lower $T_r$ values than scenes with cluttered backgrounds, making the former much more sensitive to local texture variations than the latter. We measure the gradient magnitude of individual frames by summing the Hamming weights (rescaled to [0, 1]) of all its intra-LBSP descriptors. We then slowly adjust $T_r$ if this measure is too low or too high
(i.e. outside a pre-determined interval). In Fig. 4.3, we can see that the highway sequence of CDnet (a) is not affected by these automatic adjustments, as it presents a good balance between cluttered and flat regions. On the other hand, the mostly texture-less blizzard sequence (b) automatically settles for $T_r \approx 0.1$, which accentuates foreground object contours, and the fall sequence causes $T_r$ to increase above 0.3, reducing potential segmentation noise induced by noisy texture patterns in trees.

In summary, for our nonparametric pixel models, we define a single background pixel representation (or “sample”, as referred to in the following sections) in RGB space as a combination of color intensities (8-bit values) and intra-LBSP binary strings (16-bit vectors). We do not convert RGB values to a format with normalized brightness as we determined that the extra computational cost was not worth the improved resistance to illumination variations, to which LBSP features already provide ample flexibility. When trying to match a background sample to an actual observation on a given frame, we first compare color values using L1 distance. If a match is still possible after thresholding, we generate inter-LBSP binary strings using the color values of the sample as reference and using the 5x5 comparison grid on the current input frame. Then, inter-LBSP and intra-LBSP strings (see Fig. 4.2) are compared via Hamming distance thresholding. Therefore, to consider a background sample similar to a local observation, both color values and binary descriptors must be successfully matched. In contrast to a purely color-based approach, this two-step verification is inclined to reject more matches, thus to classify more pixels as foreground (and therefore generate more segmentation noise, as desired).

In the next section, we show how this kind of pixel-level modeling can be used in a basic sample consensus framework to achieve good change detection performance. Note that we tested our pixel models using different local binary descriptors and we present our results in Section 4.4.1.

### 4.3.2 Change Detection via Sample Consensus

To be properly used for change detection, our pixel-level modeling approach requires maintenance and classification rules that do not rely on the clustering or averaging of samples, as LBSP features cannot easily be combined. Thus, we opted for a basic sample consensus approach similar to ViBe's (Barnich and Van Droogenbroeck, 2011): derived from the work of Wang and Suter (2007), it determines if a given observation should be considered foreground or background based on its similarity to recently observed samples. This sample-based framework allows our *color-LBSP* pixel representations to be used effectively to detect even the most subtle local changes while staying quite robust to irrelevant motion in complex
<figure><img src="image_16.png" /><figcaption>Figure 4.3 Examples of gradient magnitude maps obtained in different CDnet sequences by computing the Hamming weight of dense intra-LBSP descriptors with $T_r = 0.3$ (central column) and an automatically set $T_r$ (right-hand column); bright areas indicate highly textured regions and sharp edges, while dark areas indicate flat regions.</figcaption></figure>

scenarios.

The way it works is rather simple: first, the background model, noted $B$, is formed through the combination of pixel models, which each contain a set of $N$ recent background samples:

$$B(x) = \{B_1(x), B_2(x), \dots, B_N(x)\} \qquad (4.4)$$

These samples, as described in the previous section, are matched against their respective observation on the input frame at time $t$, noted $I_t(x)$, to classify the pixel at coordinate $x$ as foreground (1) or background (0). A simplified version of this classification test where we ignore our two-step color-LBSP verification is presented in (4.5); pseudocode for the two-step approach is presented in the work of St-Charles and Bilodeau (2014).

$$S_t(x) = \begin{cases} 1 & \text{if } \#\{\text{dist}(I_t(x), B_n(x)) < R, \forall n\} < \#_{min} \\ 0 & \text{otherwise} \end{cases} \qquad (4.5)$$

where $S_t$ is the output segmentation map, $\text{dist}(I_t(x), B_n(x))$ returns the distance between the
current observation and a given background sample, *R* is the maximum distance threshold and *#min* is the minimum number of matches required for a background classification. In this context, a small *R* value means that the model has to be very accurate in order to successfully classify pixels as background. Using a larger *R* leads to better resistance against irrelevant change, but also makes it harder to detect foreground objects that are very similar to the background. We further discuss how this parameter is used to obtain individual color and LBSP distance thresholds in Section 4.3.3.

We fixed $\#min = 2$ for our method as it was demonstrated by Wang and Suter (2007); Barnich and Van Droogenbroeck (2011); Van Droogenbroeck and Barnich (2014); Van Droogenbroeck and Paquot (2012); Hofmann et al. (2012) to be a reasonable trade-off between noise resistance and computational complexity. However, the number of samples per pixel model ($N$) has to be raised above the usual $N = 20$ proposed by Barnich and Van Droogenbroeck (2011): this is due to the larger representation space induced by LBSP features, which are described using 16 bits instead of 8. Typically, $N$ is used to balance the precision and sensitivity of sample-based methods: using fewer samples leads to more sensitive but less precise models, and vice-versa. As it can be seen in Fig. 4.4, when using only color information, the overall *F-Measure* score (which indicates the “balanced” performance of an algorithm) tends to saturate when $N$ reaches 20. Yet, with our own pixel-level modeling approach, it stabilizes at a higher value.

Although these values depend on the complexity of the studied scenes, we determined that based on the 2012 CDnet dataset, a minimum of $N = 35$ samples was required for our method to be used universally, with $N = 50$ being preferred for better precision. Increasing $N$ does not directly affect the average pixel classification time in stable regions, as the first $\#min$ are usually enough to break off the matching process. It can however lengthen it in dynamic background regions (where matches are sparser) and when foreground is present. As a side note, the relative processing time difference between these two configurations was about 15% on the entire 2012 CDnet dataset.

We update pixel models using a conservative, stochastic, two-step approach similar to the one of Barnich and Van Droogenbroeck (2011): first, every time a pixel at *x* is classified as background using (4.5), a randomly picked sample of $B(x)$ has a $1/T$ probability to be replaced by the observation at $I_t(x)$, where *T* is a “time subsampling factor”, as defined by Barnich and Van Droogenbroeck (2011). Then, one of the neighbors of $B(x)$ also has a $1/T$ probability of seeing one of its samples replaced by this same observation. This new parameter controls the adaptation speed of our background model: small values lead to high update probabilities (and thus to the rapid evolution of the model) and vice-versa. It is
<figure><img src="image_17.png" /><figcaption>Figure 4.4 Average F-Measure scores obtained on the 2012 CDnet dataset for different numbers of background samples, using *color-only* and *color-LBSP* configurations of our method (without feedback).</figcaption></figure>

adjusted automatically, as described in the next section.

The fact that samples are replaced randomly instead of based on when they were last modified ensures that a solid history of long-term and short-term background representations can be kept in our pixel models. Likewise, since new samples can only be inserted when a local pixel is recognized as background, this approach prevents static foreground objects from being assimilated too fast (as is often the case for methods using “blind update” strategies). In theory, this conservative approach implies that, given enough contrast, some foreground objects will never be incorporated into the background model. In practice, noise and camouflage always cause gradual foreground erosion, meaning that all static objects will eventually be classified as background.

The second update step described earlier (i.e. the “spatial diffusion” step, as named by Barnich and Van Droogenbroeck, 2011) allows regions that are homogeneous with the background to be absorbed much faster. In other words, ghost artifacts, which are commonly defined as falsely classified background regions due to the removal of an object from the observed scene, can be eliminated rapidly since they share many similarities with other parts of the background. Moreover, this same “diffusion” step improves the spatial coherency of the background model to the point where limited camera motion can be tolerated. Besides, relying on texture information prevents the spread of samples across object boundaries. Simply put, even if a sample is wrongfully transported from one region to another, the odds that it
might be matched in the new region are much lower due to the use of LBSP features, which would detect a textural change near the border. In fact, a static foreground object with a color similar to the background may be correctly classified for a long time, given that its border is noticeable.

Overall, as presented in Section 4.4.1, this basic method is very robust against global illumination changes and soft shadows, and it can easily detect camouflaged foreground objects that are left unexposed when using a traditional color-based approach. However, using LBP-like features at the pixel level still results in false foreground classifications in most dynamic background regions, as textures are much harder to match than color values. The last part of our method, which is presented in the following section, benefits from this predicament.

### 4.3.3 Background Monitoring and Feedback Scheme

So far, we have seen how *R*, the maximum sample distance threshold, and *T*, the model update rate, are the two most important parameters in our method. They essentially control its precision and sensitivity to local changes and can determine how easily moving elements are integrated in the model. In the works of Barnich and Van Droogenbroeck (2011); Van Droogenbroeck and Paquot (2012), global values were determined empirically for both and used frame-wide. This kind of approach is flawed, as using a global strategy to control model maintenance and labeling decisions implies that all pixels will always present identical behavior throughout the analyzed video sequence. In reality, this assumption almost never holds since an observed scene can present background regions with different behaviors simultaneously, and these can vary over time. Moreover, even if it were possible to fix parameters frame-wide and obtain good overall performance, finding an optimal set of values for a specific application requires time as well as good knowledge of the method and dataset.

So, in our case, we consider *R* and *T* pixel-level state variables and adjust them dynamically to avoid these parameterization problems. Ideally, to increase overall robustness and flexibility, we would need to increase *R* in dynamic background regions to reduce the chance of generating false positives, and *T* wherever foreground objects are most likely to be immobilized to make sure they do not corrupt the model. However, wrongfully increasing *T* in dynamic regions can cause the model to stop adapting to useful background representations, and increasing *R* in static regions can worsen camouflage problems, leading in both cases to even more false classifications. Therefore, to properly adjust these variables, we first need to determine the nature of the region which overlies a given pixel *x* while avoiding region-level or object-level analyses because they are time-consuming.

A feedback approach based on the analysis of pixel-level background motion patterns (“back-
ground dynamics”) was proposed by Hofmann et al. (2012) for this purpose: it uses the results of recent comparisons between pixel models and local observations to control local distance thresholds and update rates. Their technique, albeit successful, has an important drawback: since local comparison results (i) cannot be used when $x$ is classified as foreground, and (ii) are only used for feedback when $B(x)$ is updated, the response time of variable adjustments is rather long (especially in noisy regions). This means that intermittent dynamic background motion (e.g. swaying tree branches due to wind bursts) will still cause many false classifications.

What we propose instead is a feedback scheme based on a two-pronged background monitoring approach. Similar to the solution of Hofmann et al. (2012), we first measure background dynamics based on comparison results between our pixel models and local observations, but we do this continuously, without any regards to classification results or model updates. This ensures an optimal response time to events in all observed frame regions. Additionally, we measure local segmentation noise levels based on the detection of blinking pixels. This allows dynamic background regions to be distinguished from static regions where foreground objects might be present, essentially guiding which local adjustments should be constrained to avoid over-adaptation and camouflage problems. Two new dynamic controllers for $R$ and $T$ are then introduced, which both rely on local “indicators” emanating from the monitoring of background dynamics and segmentation noise.

So, first of all, the idea behind analyzing background dynamics is to measure the motion entropy of a single pixel location over a small temporal window based on model fidelity. To obtain an indicator of such behavior, we use a recursive moving average, defined as

$$D_{min}(x) = D_{min}(x) \cdot (1 - \alpha) + d_t(x) \cdot \alpha \quad (4.6)$$

where $\alpha$ is the learning rate, and $d_t(x)$ the minimal normalized color-LBSP distance between all samples in $B(x)$ and $I_t(x)$. Since $D_{min}(x)$ is bound to the [0,1] interval, an entirely static background region would have $D_{min}(x) \approx 0$, and a dynamic region to which the model cannot adapt to would have $D_{min}(x) \approx 1$. Following the same logic, areas with foreground objects would also present high $D_{min}$ values since foreground detection is defined through disparities between pixel models and local observations. This is why Hofmann et al. (2012) avoided using a similar continuous monitoring approach; in our case, it simply means that we cannot use this indicator by itself to control $R$ and $T$, as both risk deteriorating when foreground objects stay in the same area for too long. This kind of behavior can be observed in Fig. 4.5: large foreground objects (in this case, cars), just like dynamic background elements, can steadily increase local $D_{min}(x)$ values.
<figure><img src="image_18.png" /><figcaption>Figure 4.5 Typical 2D distributions for our monitoring variables ($D_{min}$ and $v$), local distance thresholds ($R$) and local update rates ($T$) on a baseline sequence of CDnet (“highway”, row a), and on a sequence with important dynamic background elements (“fall”, row b). In $R$'s 2D map, bright areas indicate high distance thresholds (thus easier sample-observation matches), while in $T$, they indicate low update probabilities (meaning the pixel models stay mostly unchanged over time). We can notice in both cases that trees carry high $R$ and low $T$ values, and vice-versa for road; this means that foreground objects will more easily be detected on the road, and are less likely to corrupt the model over time.</figcaption></figure>

The monitoring of blinking pixels can help solve the complication behind our continuous approach for $D_{min}$. In this case, it is similar to measuring the segmentation entropy of individual pixel locations, and it allows our method to distinguish noisy regions from purely static regions. This kind of differentiation can guide adjustments so that dynamic background motion triggers feedback mechanisms that regular background or immobile foreground regions cannot. To obtain such an indicator, we first define a 2D map of pixel-level accumulators, noted $v$. Then, for every new segmented frame $S_t$, we compute the binary map of all blinking pixels at time $t$, noted $X_t$, by using an XOR operation with the previous segmentation results, $S_{t-1}$. Finally, we update $v$ using

$$v(x) = \begin{cases} v(x) + v_{\text{incr}} & \text{if } X_t(x) = 1 \\ v(x) - v_{\text{decr}} & \text{otherwise} \end{cases} \qquad (4.7)$$

where $v_{incr}$ and $v_{decr}$ are respectively 1 and 0.1, and $v(x)$ is always $\ge 0$. This formulation means that regions with little labeling noise would typically have $v(x) \approx 0$, while regions with unstable labeling would have large positive $v(x)$ values. Directly using an XOR operation to detect blinking pixels can be inconvenient since the borders of moving foreground objects would also be included in the result; this can however be dealt with by nullifying all areas in $X_t$ which intersect with the post-processed and dilated version of $S_t$. In the end, as shown in Fig. 4.5, the distribution of values in $v$ can help highlight all frame regions where dynamic background elements are truly present, as opposed to regions where change has been recently seen.
With $D_{min}$ and $v$ defined, we can now introduce dynamic controllers for the main parameters of our method. First, local distance thresholds can be recursively adjusted for each new frame using

$$R(x) = \begin{cases} R(x) + v(x) & \text{if } R(x) < (1+D_{min}(x)\cdot2)^2 \\ R(x) - \frac{1}{v(x)} & \text{otherwise} \end{cases}, \quad (4.8)$$

where $R(x)$ is a continuous value always $\ge 1$. The exponential relation between $R(x)$ and $D_{min}(x)$ is chosen over a linear relation since it favors sensitive behavior in static regions (and thus helps generate sparse segmentation noise), but also provides robust and rapidly scaling thresholds elsewhere. Here, the segmentation noise indicator $v(x)$ is used as a factor which, in dynamic regions, allows faster threshold increments and can even freeze $R(x)$ in place when $D_{min}(x)$ recedes to lower values. This is particularly helpful against intermittent dynamic background phenomena, as described earlier. However, in static regions, this same factor allows $R(x)$ to stay low even when $D_{min}(x) \approx 1$, which is especially useful when foreground objects are immobilized over $x$.

Besides, note that in (4.5), $R$ is only an abstract value used to simplify notation; the actual distance thresholds for color and LBSP comparisons are obtained from $R(x)$ using

$$R_{color}(x) = R(x) \cdot R_{color}^{0} \quad (4.9)$$

and

$$R_{lbsp}(x) = 2^{R(x)} + R_{lbsp}^{0}, \quad (4.10)$$

where $R_{color}^{0}$ and $R_{lbsp}^{0}$ respectively carry the default color and LBSP distance thresholds (30 and 3 in our case). These minima are reached when $R(x) = 1$ and they represent the smallest amount of relevant local change our model can perceive. We define the relation behind $R_{lbsp}(x)$ as nonlinear due to the binary nature of LBSP descriptors and their comparison operator (Hamming distance).

On the other hand, local update rates are recursively adjusted using

$$T(x) = \begin{cases} T(x) + \frac{1}{v(x) \cdot D_{min}(x)} & \text{if } S_t(x) = 1 \\ T(x) - \frac{v(x)}{D_{min}(x)} & \text{if } S_t(x) = 0 \end{cases}, \quad (4.11)$$

where $T(x)$ is limited to the $[T_{lower}, T_{upper}]$ interval (by default, $[2, 256]$), and $D_{min}(x)$ is used concurrently with $v(x)$ to determine the variation step size$^1$. In short, this relation dictates that regions with very little entropy (both in terms of segmentation and motion) will see rapid

<footnote n="1">1. Note that in practice, the indeterminate $\frac{0}{0}$ form cannot be achieved in the second right-hand statement of (4.11) as $D_{min}(x)$ never actually reaches 0 due to its infinite impulse response property.</footnote>
<figure><img src="image_19.png" /><figcaption>Figure 4.6 Segmentation results obtained with our proposed model on a baseline sequence of CDnet (“highway”, row a), and on a sequence with important dynamic background elements (“fall”, row b), where (i) used no feedback or post-processing, (ii) used feedback but without post-processing, (iii) used post-processing but without feedback, and (iv) used both. While false classifications are present in all variations, we can note that the results of (iv) are the most consistent with object boundaries.</figcaption></figure>

update rate increases (i.e. sudden drops in model update probabilities) whenever pixels are classified as foreground (noted $S_t(x) = 1$). In other words, in regions that are static and motionless ($v(x) \approx D_{min}(x) \approx 0$), once foreground is detected, the model adaptation process will be instantly halted (due to very high $T(x)$). This process can be resumed slowly based on the value of $v(x)$, and only once the foreground is gone. As for dynamic background regions (or otherwise unstable regions), this equation simply dictates that variations will be much smoother, allowing the model to keep adapting to new observations even through continuous foreground classifications.

Overall, our feedback process depends not only on the results of internal comparisons between pixel models and local observations, but also on past labeling results. Due to how $v(x)$ works, our approach is more effective when sparse segmentation noise is present under the form of blinking pixels in most analyzed frame regions. Fortunately, due to the sensitive nature of LBSP descriptors, such noise can easily be generated when local distance thresholds are properly adjusted. Furthermore, the use of a median filter as a post-processing operation eliminates all of it, leaving the actual output of our method intact at a very low cost. We present in Fig. 4.5 the typical 2D distributions of $R$, $T$, $D_{min}$ and $v$ on frames showing static and dynamic background regions. In Fig. 4.6 we present segmentation results obtained with and without our feedback process (as well as with and without post-processing). In the latter, we can observe that before post-processing, the feedback-less configuration (Fig. 4.6.i) displays many bad foreground blobs, but less random salt-and-pepper (blinking pixel) noise than the configuration that used feedback (Fig. 4.6.ii). After post-processing however, the version with feedback (Fig. 4.6.iv) is much more reliable. This demonstrates how important sparse segmentation noise is in our feedback process, and how easily we can eliminate it.
### 4.3.4 Further Details

We stated earlier that our pixel models can handle short-term and long-term motion patterns due to the stochastic nature of their update rules. This is however not the case for our feedback process, as $D_{min}$ is updated using a recursive moving average formula. To counter this, we keep two sets of $D_{min}$ variables simultaneously up-to-date using different learning rates (i.e. a short-term one, $\alpha^{ST} = 25$, and a long-term one, $\alpha^{LT} = 100$). Then, when updating $R(x)$ via (4.8) and $T(x)$ via (4.11), we respectively use the current minimum and maximum $D_{min}(x)$ value between the two moving averages. This modification allows smoother distance thresholds and update rates adjustments, increasing the stability and responsiveness of our feedback scheme against most types of periodic background disturbances.

Also, to improve performance in scenarios with drastic background changes (e.g. “light switch” events) or moving cameras, we added a lightweight frame-level analysis component to our method. Its goal is to automatically scale $T_{upper}$ and $T_{lower}$ and trigger partial model resets in extreme cases (like the frame-level component of Toyama et al., 1999). It works by analyzing discrepancies between short-term and long-term temporal averages of downscaled input frames (using the same learning rates as $D_{min}$). When disparities are omnipresent and persistent, it indicates that the analysis region suffered from an important change, and that the model should allow faster adaptations frame-wide. Downscaling the input frames allows faster overall processing and helps ignore shaking cameras while temporal averages are used to blur out and reduce the effects of foreground objects on the discrepancies analysis. This solution allows our method to compose with sudden and continuous camera movements, as long as the observed scene presents enough high-level detail. It is much less computationally expensive than analyzing camera movements using optical flow or feature detection/matching techniques. By-products of this component, namely the downscaled input frames and the temporal averages for different CDnet sequences, are shown in Fig. 4.7.

For implementation details on how the default parameters are scaled in this frame-level component, in the feedback process or for grayscale images, the reader is invited to refer to the source code<fnref n="2" />.

## 4.4 Experiments

To properly evaluate our method, we need to rely on more than a few hand-picked frames from typical surveillance videos. It is very difficult to compare state-of-the-art change detection methods, as many of them were tested on small datasets with few scenarios, and using

<footnote n="2">2. https://github.com/plstcharles/litiv</footnote>
<figure><img src="image_20.png" /><figcaption>Figure 4.7 By-products of the proposed frame-level analysis component at various times of CDnet sequences; column (i) shows the downscaled input frame used to update the moving averages, and columns (ii) and (iii) respectively show the sequence's short-term and long-term moving averages. While the difference between these two is negligible for the entire highway (row a) and fall (row b) sequences, it quickly becomes significant in the twoPositionPTZCam sequence (row c) right after the camera rotates. The pixel-wise analysis of discrepancies between these two moving averages allows the detection of such drastic events.</figcaption></figure>

different ground truth sources. Fortunately, a real benchmark was introduced for the 2012 CVPR Workshop on Change Detection (Goyette et al., 2012). Unlike its predecessors, the ChangeDetection.net (CDnet) dataset offers a wide variety of segmentation scenarios set in realistic conditions along with accurate ground truth data. More specifically, ~88,000 frames obtained from 31 video sequences were manually labeled and split into six categories: baseline, camera jitter, dynamic background, intermittent object motion, shadow and thermal. It was originally tested on 19 state-of-the-art methods, but has since been used to rank dozens more on their website, thus becoming a solid reference for method comparisons. This dataset was also updated for the 2014 version of the same CVPR Workshop (Wang et al., 2014a), adding 22 videos and ~70,000 annotated frames in five new, much harder categories: bad weather, low framerate, night videos, pan-tilt-zoom and turbulence. In both versions, the official metrics used to rank methods are *Recall* (Re), *Specificity* (Sp), *False Positive Rate* (FPR), *False Negative Rate* (FNR), *Percentage of Wrong Classifications* (PWC), *Precision*
(Pr) and *F-Measure* (FM). For their specific descriptions, refer to the works of Goyette et al. (2012); Wang et al. (2014a).

We primarily use *F-Measure* to compare the performance of different methods as it was found by Goyette et al. (2012) to be closely correlated with the ranks used on the CDnet website, and is generally accepted as a good indicator of overall performance. We chose not to compare methods using their overall ranks on the CDnet website based on three reasons: 1) due to the non-linearity of overall ranks, adding or removing a method from the “comparison pool” (even when it is clearly outperformed by others) can substantially affect how top methods are ranked; 2) since the ranking system relies on both FPR and Sp, which are reciprocal ($FPR = 1 - Sp$), “precise” methods are unduly favored over “sensitive” ones; and 3) because change detection is typically an unbalanced binary classification problem (there are far more background pixels than foreground pixels in analyzed sequences), using PWC as defined by Goyette et al. (2012) once again favors “precise” methods. To provide a better assessment of the overall performance of our method compared to others, we also evaluated top-ranked methods in separate tables using Matthew’s Correlation Coefficient (MCC). This metric is designed to appraise the performance of binary classifiers in unbalanced problems, and is defined by

$$MCC = \frac{(TP \cdot TN) - (FP \cdot FN)}{\sqrt{(TP+FP) \cdot (TP+FN) \cdot (TN+FP) \cdot (TN+FN)}}, \quad (4.12)$$

where TP, TN, FP and FN are defined like in the work of Goyette et al. (2012).

As required, we used a unique parameter set for all videos to determine the true flexibility of our method. Like we said earlier, the post-processing operations we use are only based on median blur and morphological operations and serve as our regularization step, eliminating irrelevant blobs/holes from segmentation maps. Note that all our segmentation results can be downloaded online via the CDnet website<fnref n="3" />.

### 4.4.1 CDnet 2012

To demonstrate our first key contribution (i.e. *color-LBSP* is preferable to other pixel-level characterization approaches), we present in Table 4.1 how our pixel models fare in comparison to similar alternatives when all are used on the 2012 CDnet dataset under the sample-based approach detailed in Section 4.3.2. Note that these scores are the averages obtained over six scenario categories based on the evaluation technique of CDnet. Here, we can immediately see that 3x3 LBP and SILTP features are ill-suited to this kind of pixel-level modeling. SILTP features can detect texture variations more easily, but just like LBP, they are far too sensitive

<footnote n="3">3. http://.wordpress-jodoin.dmi.usherb.ca/method/139/</footnote>
<table><caption>Table 4.1 Average performance comparison of different model configurations on the 2012 CDnet dataset</caption><thead><tr><th>Configuration</th><th>Pr</th><th>Re</th><th>FM</th></tr></thead><tbody><tr><td>Color</td><td>0.841</td><td>0.672</td><td>0.710</td></tr><tr><td>LBP</td><td>0.350</td><td>0.686</td><td>0.394</td></tr><tr><td>SILTP</td><td>0.402</td><td>0.628</td><td>0.410</td></tr><tr><td>LBSP</td><td>0.772</td><td>0.758</td><td>0.721</td></tr><tr><td>Color-LBP</td><td>0.727</td><td>0.782</td><td>0.713</td></tr><tr><td>Color-SILTP</td><td>0.712</td><td>0.801</td><td>0.715</td></tr><tr><td>Color-LBSP</td><td>0.743</td><td>0.821</td><td>0.745</td></tr><tr><td>Color-LBSP-Feedback</td><td>0.856</td><td>0.831</td><td>0.826</td></tr><tr><td>Color-LBSP-Feedback-LessNoise</td><td>0.790</td><td>0.877</td><td>0.816</td></tr></tbody></table>

<table><caption>Table 4.2 Complete results for SuBSENSE on the 2012 CDnet dataset</caption><thead><tr><th>Category</th><th>Re</th><th>Sp</th><th>FPR</th><th>FNR</th><th>PWC</th><th>Pr</th><th>FM</th></tr></thead><tbody><tr><td>baseline</td><td>0.9520</td><td>0.9982</td><td>0.0018</td><td>0.0480</td><td>0.3574</td><td>0.9495</td><td>0.9503</td></tr><tr><td>camera jitter</td><td>0.8243</td><td>0.9908</td><td>0.0092</td><td>0.1757</td><td>1.6469</td><td>0.8115</td><td>0.8152</td></tr><tr><td>dynamic background</td><td>0.7768</td><td>0.9994</td><td>0.0006</td><td>0.2232</td><td>0.4042</td><td>0.8915</td><td>0.8177</td></tr><tr><td>interm. object motion</td><td>0.6578</td><td>0.9915</td><td>0.0085</td><td>0.3422</td><td>3.8349</td><td>0.7957</td><td>0.6569</td></tr><tr><td>shadow</td><td>0.9419</td><td>0.9920</td><td>0.0080</td><td>0.0581</td><td>1.0120</td><td>0.8646</td><td>0.8986</td></tr><tr><td>thermal</td><td>0.8161</td><td>0.9908</td><td>0.0092</td><td>0.1839</td><td>2.0125</td><td>0.8328</td><td>0.8171</td></tr><tr><td>overall</td><td>0.8282</td><td>0.9938</td><td>0.0062</td><td>0.1718</td><td>1.5446</td><td>0.8576</td><td>0.8260</td></tr></tbody></table>

in most scenarios and cannot properly detect color changes between two frames when textures are unaffected. Nonetheless, both LBP and SILTP configurations obtain decent results when combined with color. According to *F-Measure* scores, only LBSP features are preferable to color information in this framework; this is due to their ability to detect color and texture changes simultaneously. Furthermore, the *color-LBSP* configuration offers performance on par with the best methods tested by Goyette et al. (2012). In general, we can note that configurations that used local binary descriptors were inherently more sensitive to change than the baseline color-based approach (as visible through *Recall* scores), albeit at the expense of segmentation precision. However, among all tested binary descriptor configurations, *color-LBSP* is the best choice because it combines good sensitivity and precision.

We also inserted into Table 4.1 the results obtained using our *color-LBSP* configuration with the proposed feedback process (noted *color-LBSP-Feedback*) to demonstrate our second key contribution, i.e. continuous dynamic parameter adjustments can drastically improve perfor-
<table><caption>Table 4.3 Overall and per-category F-Measure comparisons, CDnet 2012 dataset</caption><thead><tr><th>Method</th><th>overall(2012)</th><th>baseline</th><th>cam.jitter</th><th>dyn.bg.</th><th>int.obj.mot.</th><th>shadow</th><th>thermal</th></tr></thead><tbody><tr><td><strong>SuBSENSE (proposed)</strong></td><td><strong>0.826</strong></td><td><strong>0.950</strong></td><td><strong>0.815</strong></td><td><strong>0.818</strong></td><td><strong>0.657</strong></td><td><strong>0.899</strong></td><td><strong>0.817</strong></td></tr><tr><td>Gregorio and Giordano (2013)</td><td>0.778</td><td>0.908</td><td>0.781</td><td>0.809</td><td>0.567</td><td>0.841</td><td>0.762</td></tr><tr><td>Sedky et al. (2014)</td><td>0.777</td><td>0.933</td><td>0.716</td><td>0.787</td><td>0.566</td><td>0.884</td><td>0.776</td></tr><tr><td>Haines and Xiang (2014)</td><td>0.776</td><td>0.929</td><td>0.748</td><td>0.814</td><td>0.542</td><td>0.813</td><td>0.813</td></tr><tr><td>Evangelio and Sikora (2011)</td><td>0.766</td><td>0.921</td><td>0.672</td><td>0.688</td><td><strong>0.715</strong></td><td>0.865</td><td>0.735</td></tr><tr><td>Hofmann et al. (2012)</td><td>0.753</td><td>0.924</td><td>0.722</td><td>0.683</td><td>0.575</td><td>0.860</td><td>0.756</td></tr><tr><td>Schick et al. (2012)</td><td>0.737</td><td>0.929</td><td>0.750</td><td>0.696</td><td>0.565</td><td>0.791</td><td>0.693</td></tr><tr><td>Maddalena and Petrosino (2012)</td><td>0.728</td><td>0.933</td><td>0.705</td><td>0.669</td><td>0.592</td><td>0.779</td><td>0.692</td></tr><tr><td>Van Droogenbroeck and Paquot (2012)</td><td>0.722</td><td>0.871</td><td>0.754</td><td>0.720</td><td>0.509</td><td>0.815</td><td>0.665</td></tr><tr><td>Elgammal et al. (2000)</td><td>0.672</td><td>0.909</td><td>0.572</td><td>0.596</td><td>0.409</td><td>0.803</td><td>0.742</td></tr><tr><td>Barnich and Van Droogenbroeck (2011)</td><td>0.668</td><td>0.870</td><td>0.600</td><td>0.565</td><td>0.507</td><td>0.803</td><td>0.665</td></tr><tr><td>Stauffer and Grimson (1999)</td><td>0.662</td><td>0.825</td><td>0.597</td><td>0.633</td><td>0.520</td><td>0.737</td><td>0.662</td></tr></tbody></table>

mance. We can observe that *color-LBSP* obtains worse overall *Precision* and *Recall* scores (and thus a worse *F-Measure*) than our complete method. This is due to the sensitive nature of our pixel models, which cause many false classifications when they are not properly adjusted to their overlying regions. In the case of *color-LBSP*, a compromise had to be made to reach good overall flexibility (i.e. sensitivity had to be globally lowered to accommodate for complex scenarios). This comparison demonstrates that adjusting local parameters dynamically is extremely beneficial for this kind of approach, especially in terms of *Precision*. Note that for *color-LBSP* and *color-LBSP-Feedback*, the results were obtained by independently tuning their threshold values (i.e. $R_{color}^{0}$ and $R_{lbsp}^{0}$) for optimal overall *F-Measures*. Interestingly, and as we expected, the *color-LBSP-Feedback* configuration performed much better with lower default thresholds (i.e. with a higher theoretical sensitivity) than *color-LBSP*, even in simple scenarios with completely static backgrounds; this can be explained by the affinity of our feedback scheme for noisier segmentation results. Furthermore, we present how this same feedback scheme performs when some sparse noise is removed using a 3x3 median filter before detecting blinking pixels (under the *color-LBSP-Feedback-LessNoise* configuration). From these results, we can again see that guiding local change sensitivity and update rates using segmentation noise is beneficial, as the *Precision* and *F-Measure* scores obtained for this new configuration are lower than those of *color-LBSP-Feedback*.

The complete results of our best configuration (*color-LBSP-Feedback*, noted *SuBSENSE* below) on this same dataset are then displayed in Table 4.2. While these numbers may not mean much by themselves, we can see that overall performance in the baseline and shadow

<footnote>a Note that red-bold entries indicate the best result in a given column, and blue-italics the second best.</footnote>
<table><caption>Table 4.4 Complete results for SuBSENSE on the 2014 CDnet dataset</caption><thead><tr><th>Category</th><th>Re</th><th>Sp</th><th>FPR</th><th>FNR</th><th>PWC</th><th>Pr</th><th>FM</th></tr></thead><tbody><tr><td>bad weather</td><td>0.8213</td><td>0.9989</td><td>0.0011</td><td>0.1787</td><td>0.4527</td><td>0.9091</td><td>0.8619</td></tr><tr><td>low framerate</td><td>0.8537</td><td>0.9938</td><td>0.0062</td><td>0.1463</td><td>0.9968</td><td>0.6035</td><td>0.6445</td></tr><tr><td>night videos</td><td>0.6570</td><td>0.9766</td><td>0.0234</td><td>0.3430</td><td>3.7718</td><td>0.5359</td><td>0.5599</td></tr><tr><td>pan-tilt-zoom</td><td>0.8306</td><td>0.9629</td><td>0.0371</td><td>0.1694</td><td>3.8159</td><td>0.2840</td><td>0.3476</td></tr><tr><td>turbulence</td><td>0.8050</td><td>0.9994</td><td>0.0006</td><td>0.1950</td><td>0.1527</td><td>0.7814</td><td>0.7792</td></tr><tr><td>overall (2014)</td><td>0.7935</td><td>0.9863</td><td>0.0136</td><td>0.2064</td><td>1.8378</td><td>0.6228</td><td>0.6386</td></tr><tr><td>overall (2012+2014)</td><td>0.8124</td><td>0.9904</td><td>0.0096</td><td>0.1876</td><td>1.6780</td><td>0.7509</td><td>0.7408</td></tr></tbody></table>

<table><caption>Table 4.5 Overall and per-category F-Measure comparisons, CDnet 2014 dataset</caption><thead><tr><th>Method</th><th>overall(all)</th><th>overall(2014)</th><th>bad weather</th><th>low framerate</th><th>night videos</th><th>ptz</th><th>turbulence</th></tr></thead><tbody><tr><td><strong>SuBSENSE (proposed)</strong></td><td><strong>0.741</strong></td><td><strong>0.639</strong></td><td><strong>0.862</strong></td><td><strong>0.645</strong></td><td><strong>0.560</strong></td><td><strong>0.348</strong></td><td><strong>0.779</strong></td></tr><tr><td>Wang et al. (2014b)</td><td>0.728</td><td>0.600</td><td>0.823</td><td>0.626</td><td>0.513</td><td>0.324</td><td>0.713</td></tr><tr><td>Gregorio and Giordano (2014)</td><td>0.681</td><td>0.549</td><td>0.684</td><td>0.641</td><td>0.374</td><td>0.322</td><td>0.723</td></tr><tr><td>Sedky et al. (2014)</td><td>0.673</td><td>0.558</td><td>0.757</td><td>0.644</td><td>0.483</td><td><strong>0.365</strong></td><td>0.543</td></tr><tr><td>Wang and Dudek (2014)</td><td>0.658</td><td>0.501</td><td>0.767</td><td>0.469</td><td>0.380</td><td>0.135</td><td>0.756</td></tr><tr><td>Maddalena and Petrosino (2012)</td><td>0.596</td><td>0.437</td><td>0.662</td><td>0.546</td><td>0.450</td><td>0.041</td><td>0.488</td></tr><tr><td>Zivkovic and van der Heijden (2006)</td><td>0.594</td><td>0.492</td><td>0.759</td><td>0.549</td><td>0.420</td><td>0.213</td><td>0.520</td></tr><tr><td>Elgammal et al. (2000)</td><td>0.571</td><td>0.445</td><td>0.757</td><td>0.548</td><td>0.436</td><td>0.037</td><td>0.448</td></tr><tr><td>Stauffer and Grimson (1999)</td><td>0.569</td><td>0.461</td><td>0.738</td><td>0.537</td><td>0.410</td><td>0.152</td><td>0.466</td></tr></tbody></table>

categories is very good, and our method's *Recall* is generally high. These two categories consist of simple sequences where pedestrians and cars are the main focus with various types of camouflage and illumination variation problems involved. We can also notice that the intermittent object motion category poses the biggest challenge; this is true for any change detection solution that does not focus explicitly on static object detection and segmentation. This category mostly contains videos where objects are abandoned and parked cars suddenly start moving. The camera jitter and dynamic background scenarios are well handled by our approach, as in both cases, overall *F-Measure* and *Precision* are above 80%. The same can be said for thermal-infrared videos; in this case, our automatic distance threshold adjustments allow very good *Recall* despite numerous important camouflage problems in all sequences.

We show in Tables 4.3 and 4.6 how our method compares to recent and classic state-of-the-art solutions, based on their overall 2012 CDnet results. Due to a lack of space, we only listed the classic and top-ranked methods out of the 32 that were published as of July 2014.

<footnote>a Note that red-bold entries indicate the best result in a given column, and blue-italics the second best.</footnote>
In Table 4.3, SuBSENSE is better in five out of six categories, with a 6.2% relative overall *F-Measure* improvement over the previous best method (CwisarD, Gregorio and Giordano, 2013). Our performance in the intermittent object motion category is well above the average of the methods tested in Goyette et al. (2012), and is only surpassed by Evangelio and Sikora (2011), who used static object detection to specifically target this kind of scenario. While it cannot be deduced from the results shown here, our per-category *Recall* scores are the main reason why our *F-Measures* are so high compared to other methods; this again demonstrates that our approach can handle most camouflage problems due to its ability to detect very subtle spatiotemporal changes and locally adjust its sensitivity to change. The smaller overview shown in Table 4.6 also support this conclusion: both our overall Recall and Precision scores are much higher than most others. We can also note that overall MCC scores are somewhat correlated with F-Measure scores, and a similar gap between our method and the second best is visible. Typical segmentation results for our proposed method as well as for the next best method (Spectral-360, Sedky et al., 2014) and a classic one (GMM, Stauffer and Grimson, 1999) are shown in Fig. 4.8.

### 4.4.2 CDnet 2014

For the 2014 update of the CDnet dataset, we first show in Table 4.4 the complete results of SuBSENSE on all new scenario categories. It is easy to see how these new scenarios are much harder to deal with than the original ones: only bad weather and turbulence scenarios seem to result in acceptable performance (with *F-Measures* greater than 80%). The former consists of outdoor surveillance footage taken under snowy conditions and the latter shows long distance thermal-infrared video surveillance with important air turbulence due to a high temperature environment. Results in the pan-tilt-zoom category, on the other hand, are our worse so far; in this kind of scenario, the basic assumption behind all low-level change detection methods, i.e. the camera remains static, is violated. Our frame-level analysis component allows our method to have a minimum level of functionality, but despite the apparent simplicity of most sequences, half of the segmentation results would hardly be of any use to other applications. Using a more sophisticated, high-level approach would result in better performance than a pixel-level change detection solution in this kind of scenario. Besides, even though scores in the low framerate category are generally low, in reality, our method performed well on all but one video. In this particular sequence, a marina is filmed at 0.17 frames per second under wavering global lighting conditions while many background elements (boats, water) show intense dynamic behavior. Finally, night videos also pose a significant challenge: the footage in this category is only taken from urban traffic monitoring cameras at night, meaning that photon shot noise, compression artifacts, camouflaged objects and glare effects from car
<table><caption>Table 4.6 Average performance comparison of different methods on the 2012 CDnet dataset</caption><thead><tr><th>Method</th><th>Pr</th><th>Re</th><th>FM</th><th>MCC</th></tr></thead><tbody><tr><td>SuBSENSE</td><td><strong>0.858</strong></td><td><strong>0.828</strong></td><td><strong>0.826</strong></td><td><strong>0.827</strong></td></tr><tr><td>Sedky et al. (2014)</td><td><u>0.846</u></td><td>0.777</td><td><u>0.777</u></td><td><u>0.784</u></td></tr><tr><td>Haines and Xiang (2014)</td><td>0.793</td><td><u>0.827</u></td><td>0.776</td><td>0.782</td></tr><tr><td>Evangelio and Sikora (2011)</td><td>0.834</td><td>0.770</td><td>0.766</td><td>0.776</td></tr><tr><td>Gregorio and Giordano (2013)</td><td>0.774</td><td>0.818</td><td>0.778</td><td>0.773</td></tr><tr><td>Hofmann et al. (2012)</td><td>0.816</td><td>0.784</td><td>0.753</td><td>0.766</td></tr></tbody></table>

<table><caption>Table 4.7 Average performance comparison of different methods on the 2014 CDnet dataset</caption><thead><tr><th>Method</th><th>Pr</th><th>Re</th><th>FM</th><th>MCC</th></tr></thead><tbody><tr><td>SuBSENSE</td><td>0.751</td><td><strong>0.812</strong></td><td><strong>0.741</strong></td><td><strong>0.754</strong></td></tr><tr><td>Wang et al. (2014b)</td><td><u>0.770</u></td><td><u>0.766</u></td><td><u>0.728</u></td><td><u>0.753</u></td></tr><tr><td>Gregorio and Giordano (2014)</td><td><strong>0.773</strong></td><td>0.661</td><td>0.681</td><td>0.709</td></tr><tr><td>Sedky et al. (2014)</td><td>0.705</td><td>0.735</td><td>0.673</td><td>0.703</td></tr><tr><td>Wang and Dudek (2014)</td><td>0.716</td><td>0.704</td><td>0.658</td><td>0.671</td></tr><tr><td>Maddalena and Petrosino (2012)</td><td>0.609</td><td>0.762</td><td>0.596</td><td>0.615</td></tr></tbody></table>

headlights must all be handled simultaneously.

We then compare SuBSENSE to all other top-ranked methods tested on this same dataset in Tables 4.5 and 4.7. First, in Table 4.5, our *F-Measure* scores once again stand out as well above average. In fact, even in the PTZ category, all evaluated methods obtained similar or worse scores, despite some of them using more sophisticated frame-level motion analysis approaches. Overall, we still obtain the best *F-Measure* scores in four out of five categories, and surpass the second best method with a 6.5% relative improvement in overall *F-Measure* for the 2014 dataset only. This indicates that our method is extremely flexible and can adapt even to the most difficult change detection scenarios. In Table 4.7, we can see that MCC is not as correlated with F-Measure as it was for the 2012 dataset; our method still achieves the best overall score, but only marginally. Note that since part of the 2014 dataset is withheld for online testing, all MCC scores were computed based on the publicly available dataset, which may explain this difference. Besides, the second and third best methods, FTSG (Wang et al., 2014b) and CwisarDH (Gregorio and Giordano, 2014), receive noticeably better overall Precision scores. Again, we show in Fig. 4.9 segmentation results for our proposed method as well as for the second best one (FTSG) and a classic one (GMM). Note that for all 2014
<figure><img src="image_21.png" /><figcaption>Figure 4.8 Typical segmentation results for various sequences of the 2012 version of the CDnet dataset; column a) shows groundtruth maps, b) shows our segmentation results, c) Spectral-360's results and d) GMM's results. From top to bottom, the sequences are highway (from the baseline category), fall (dynamic background), traffic (camera jitter), and copyMachine (shadow). Note that gray areas are not evaluated.</figcaption></figure>

results, we used the same parameters as for the 2012 dataset.

### 4.4.3 Processing speed

We did not optimize any component of our final method; it ran on a third generation Intel i5 CPU at 3.3 GHz with no architecture-specific instruction, using OpenCV's background subtraction interface (C++) and saving output frames on a local hard drive. Nonetheless, the feedback-less version (color-LBSP in Section 4.4.1) clocked an average of over 90 frames per second on the entire 2012 CDnet dataset, and the complete method (SuBSENSE) processed the same dataset at 45 (both were running one sequence per CPU core). Comparing these results with those of recent state-of-the-art methods on the same dataset is impossible due to the wide variety of platforms involved for testing, the lack of a common reference and the rarity of openly available source code.

Besides, our method can be fully initialized with a single image, requires no training and performs all dynamic adjustments on-line, for every new frame. The low-level nature of our approach also favors high-speed parallel implementations, as no region-level or object-
<figure><img src="image_22.png" /><figcaption>Figure 4.9 Typical segmentation results for various sequences of the 2014 version of the CDnet dataset; column a) shows groundtruth maps, b) shows our segmentation results, c) FTSG's results and d) GMM's results. From top to bottom, the sequences are snowFall (from the bad weather category), streetCornerAtNight (night videos), twoPositionPTZCam (PTZ), and turbulence1 (turbulence). Note that gray areas are not unevaluated.</figcaption></figure>

level processing is required. Processing speed could be further improved by reducing the total number of samples in our pixel models (N), at the expense of some flexibility in complex scenarios. This same parameter could also be controlled dynamically to reduce overall computational cost since fewer samples are usually needed for good classifications in static background regions.

## 4.5 Conclusion

We presented a novel, highly efficient and *universal* foreground/background segmentation algorithm based on change detection in video sequences. Our method uses spatiotemporal information based on color and texture to characterize local representations in pixel-level models while staying robust to most types of illumination variations, including shadows. It also relies on a pixel-level feedback scheme that automatically adjusts internal sensitivity to change and update rates. Our approach continuously monitors both local model fidelity and segmentation noise to guide these adjustments, allowing for fast responses to intermittent dynamic background motion. As such, it can be effectively used in complex surveillance
scenarios presenting many different challenges simultaneously.

Experiments on the largest change detection dataset available yet have shown that, in terms of average *F*-Measure, we surpass all previously tested methods in nine out of eleven scenario categories as well as overall. Categories where our segmentation results were still inaccurate can be considered the next major challenge in change detection: in those cases, the assumptions that have been commonly followed since the late 1990s no longer hold (e.g. the camera no more static). These experiments have also confirmed the benefit of using LBSP features in our pixel models as well as the benefit of using our continuous parameter adjustment scheme based on model fidelity and segmentation noise.

A number of improvements can still be considered for our method; for example, region-level or object-level analyses could be used as extra regularization steps to improve the shape consistency of blobs over time. Also, more sophisticated post-processing operations based on connected components or Markov Random Fields could also help eliminate larger noise patches from our final segmentation results. Besides, since our method is relatively simple and operates at the pixel level, it has a lot of potential for hardware and high-speed parallel implementations.
# CHAPITRE 5 ARTICLE 2: UNIVERSAL BACKGROUND SUBTRACTION USING WORD CONSENSUS MODELS

St-Charles, P.-L., Bilodeau, G.-A., Bergevin, R.

IEEE Transactions on Image Processing, Vol. 25, Issue 10, 2016, pp. 4768-4781.

(© 2016 IEEE; Reprinted with permission.)

https://doi.org/10.1109/TIP.2016.2598691

## Abstract

Background subtraction is often used as the first step in video analysis and smart surveillance applications. However, the issue of inconsistent performance across different scenarios due to a lack of flexibility remains a serious concern. To address this, we propose a novel non-parametric, pixel-level background modeling approach based on word dictionaries that draws from traditional codebooks and sample consensus approaches. In this new approach, the importance of each background sample (or word) is evaluated online based on their recurrence among all local observations. This helps build smaller pixel models that are better suited for long-term foreground detection. Combining these models with a frame-level dictionary and local feedback mechanisms leads us to our proposed background subtraction method, coined "PAWCS". Experiments on the 2012 and 2014 versions of the ChangeDetection.net dataset show that PAWCS outperforms 26 previously tested and published methods in terms of overall F-Measure as well as in most categories taken individually. Our results can be reproduced with a C++ implementation available online.

## 5.1 Introduction

The segmentation of foreground and background regions in video sequences based on change detection is a fundamental, yet challenging early vision task. Often simply called background subtraction, it has been well studied over the years. It generally serves as a low cost, high accuracy alternative to unconstrained binary segmentation based on spatiotemporal feature clustering. Background subtraction is typically based on a single hypothesis: all images of a sequence share a common “background”, from which discrepancies are to be considered of interest (or “foreground”). Thus, it is especially useful in applications with static cameras, or when registration between images is possible, as background modeling and foreground classification can be solved solely at the pixel level. Furthermore, this type of segmentation requires no prior knowledge of the foreground, making it ideal for online surveillance applications (or more generally, in intelligent environments).
The main challenges of background subtraction lie in adaptive background modeling and in the definition of “relevant change”, i.e. deciding how discrepancies between observations and model predictions should be classified. In nearly all applications, the background cannot be considered timeless as it may present noisy or dynamic elements (e.g. rippling water, swaying trees), and its content may change over the sequence (e.g. cars entering and leaving a parking lot). Also, while easily detectable changes caused by illumination variations may not be relevant to most applications, subtle changes caused by “camouflaged” foreground objects (i.e. similar to the background) have to be detected correctly. Classic and modern background subtraction challenges have been highlighted by Goyette et al. (2014); Bouwmans (2014); Brutzer et al. (2011); Cucchiara et al. (2003).

Research has previously focused on improving modeling and classification for selected challenges individually, but very little work has been addressing them holistically. Therefore, most background subtraction methods require significant application-specific tuning to achieve good segmentation results in complex scenarios. Few of them actually perform well across many common use cases without supervision or preprocessing. A “universal” background subtraction solution has to:

1. learn the proper balance between sensitivity and precision based on past observations and segmentation coherence to make good unsupervised decisions;

2. ignore irrelevant changes in the observed scene which concur with previously recognized patterns; and

3. determine how and when foreground objects are absorbed in the background model, and avoid model corruption when the background is altered.

Achieving these objectives is complicated by the nature of most background subtraction approaches that, by design, operate online at the pixel level for better efficiency. As such, they cannot easily analyze large-scale change patterns, and must rely on complex regularization schemes (e.g. frame-wide energy minimization with higher order potentials) to produce good results.

What we propose in this paper is a background subtraction method that can be applied to a large variety of scenarios without manual parameter readjustment, coined PAWCS (Pixel-based Adaptive Word Consensus Segmenter). More specifically, we first introduce a new persistence-based word dictionary scheme for instance-based background modeling that simultaneously addresses short-term and long-term adaptation challenges at the pixel and frame level. Unlike traditional codebook or sample consensus approaches, this novel non-parametric modeling strategy allows for the online principled learning of static and dynamic background regions at a low memory cost. This is because it dynamically maintains the
minimal number of background samples (or words) required for proper segmentation. Persistence estimation is used to gauge the importance and reliability of each background word over time based on local match counts. Persistence values then influence the rate at which each word is updated and used for classifications. The long-term retention of good words despite the presence of static foreground and the rapid suppression of irrelevant words (e.g. captured while bootstrapping) are thus assured by design. In other words, PAWCS requires no explicit training to populate its background models, and keeps them up-to-date while processing new frames.

Our novel word models adopt the primary update and maintenance principles of stochastic sample consensus models, meaning that background words:1) do not need to be unique inside dictionaries; 2) can be built upon local image descriptors; and 3) are randomly updated in an online fashion. This strategy diverges from the traditional codebook maintenance strategy (i.e. Kim et al., 2005) as it allows words to overlap in feature space. This also means words can be shared between pixel-level dictionaries and can contribute to a frame-wide dictionary without having to solve costly unicity conflicts. As discussed by Barnich and Van Droogenbroeck (2011); Van Droogenbroeck and Barnich (2014); St-Charles et al. (2015a), spreading information between neighboring pixel models drastically improves segmentation coherence since it acts as a regularization step; the same is true for our method. The use of a frame-wide (“global”) dictionary as a complement to pixel-level (“local”) dictionaries further improves spatial coherence, and allows the capture of large-scale background change patterns.

Our proposed method also automatically adjusts its primary parameters by incorporating closed-loop controllers into each pixel-level model. That way, each background region can exhibit its own modeling and classification behavior, which can also evolve over the analyzed sequences. Parameter adjustments are regulated by monitoring:1) segmentation noise prior to regularization; 2) similarity between background models and observations; 3) region instability based on recurring label changes; and 4) the propagation of illumination updates in local neighborhoods. These four aspects are used to guide and/or trigger various feedback mechanisms that affect model update rates, matching and classification thresholds. Unlike previous methods that could also dynamically adapt to the scene (e.g. Zivkovic and van der Heijden, 2006; Hofmann et al., 2012), our strategy is not hindered by foreground, and it does not rely on a sliding window analysis of inputs/outputs. Instead, it relies on a causal infinite impulse response filter and simple heuristics to quickly and efficiently react to short-term and intermittent disturbances at the pixel level.

We evaluate PAWCS using the 2012 and 2014 versions of the ChangeDetection.net (CDnet)