• Aucun résultat trouvé

La figure4.27présente un des montages effectué pour la prise de séquences vidéo au centre de recherche de la forêt Macpès.

Figure 4.27 – Montage au centre de recherche de la forêt Macpes

(a) (b)

(c) (d)

Les photos (a), (c) et (d) montrent le montage utilisé pour la reconstruction 3D lors de ces expériences. On peut remarquer qu’à l’époque de ces tests, l’approche de reconstruction 3D que nous utilisions reposait sur la géométrie épipolaire. En effet, l’approche correspondait à chercher dans la deuxième caméra les pixels le long des droites épipolaires qui avaient survécu à la soustraction de l’arrière-plan dans la première caméra. La mise en correspondance des points était basée sur leur apparence locale. Nous avions aussi essayé une caméra infrarouge, afin de comparer le résultat de la détection d’animaux lors de l’utilisation de cette caméra avec celle sensible dans les longueurs d’ondes du visible. La photo (b) montre aussi que nous avons testé une caméra doté d’un détecteur infrarouge qui prend une photo seulement lorsque ce détecteur capte suffisamment d’énergie dans ces longueurs d’onde. Ce test nous a permis de réaliser que cette caméra ne détectait que très peu d’animaux en comparaison avec ceux qui avaient réellement passé dans l’environnement surveillé.

La figure 4.28 présente un des montages effectué pour la prise de séquences vidéo dans la forêt de Cap-Rouge à Québec. On peut observer que le positionnement des caméras est bien meilleur.

Chapitre 5

Logiciel

Le logiciel résultant du projet Dievra a été principalement développé en utilisant le langage c++ et en cuda à l’intérieur de l’environnement QT Creator dans le système d’exploitation Ubuntu. Quelques tests ont aussi été effectués dans Matlab. Les figures5.1,5.2,5.3,5.4,5.5et

5.6présentent les principales vues de l’interface utilisateur. Il est à noter que cette interface n’a pas été polie pour une utilisation professionnelle du système, mais plutôt pour tester différentes approches et stratégies présentées dans ce mémoire.

Figure 5.1 – Menu

Le menu d’accueil donne accès aux configurations du système, à la calibration et à l’analyse de séquences. Lors d’une première utilisation dans un environnement, on doit commencer par calibrer notre système.

Figure 5.2 – Calibration du système

L’interface de calibration du système permet d’obtenir la matrice qui fait la correspondance entre les coordonnées du monde et celles de deux caméras à la fois. Pour cela, on doit positionner à la main les points dans chacune des images et inscrire leurs coordonnées que l’on a mesurées dans le monde réel. De préférence, on présente aux caméras une cible de calibration dont on connait d’avance précisément la position relative des points entre eux. Une cible comme présentée ici permet d’avoir des points dans deux plans différents, ce qui évite d’avoir un système d’équations linéaires dégénéré lors du calcul de l’équation (2.16). On peut aussi remarquer que la transparence de cette cible permet de bien positionner les points dans plusieurs caméras simultanément, sans devoir la bouger.

On peut vérifier si nos matrices de calibration que l’on a obtenues sont bonnes en observant les droites épipolaires des points dans l’autre caméra. Un message nous indique aussi l’erreur obtenue en calculant la distance euclidienne avec les points réels connus.

On peut aussi faire la balance des blancs pour calibrer la couleur dans chacune des caméras en présentant une surface plane de couleur unie. Il s’agit ensuite de sélectionner cette surface dans l’image de la caméra à l’aide d’un rectangle que l’on obtient en cliquant sur le bouton balance des blancs. On peut aussi faire un ajustement manuel des couleurs si on le désire. Lors de nos expériences, nous exportions le résultat du calcul des matrices de calibration et l’entrions à la main dans le code de l’analyse de séquences. Cette étape pourrait assez facilement être automatisée, mais cela n’a pas été fait.

Figure 5.3 – Analyse d’une séquence

L’interface d’analyse d’une séquence permet de traiter une ou plusieurs images à la fois. Nous pouvons choisir ce qui est affiché dans l’image du coin en bas à gauche pour pouvoir observer visuellement le résultat du traitement de l’algorithme.

Le bouton analyse harmonique permet d’en effectuer une sur l’image suivante et de stocker le résultat dans des fichiers textes, que l’on peut ensuite parser pour l’observer dans Matlab et aussi de manière similaire le résultat de la segmentation en groupe dans Blender, à l’aide d’un algorithme en python fourni dans les sources du logiciel. On peut aussi choisir le nombre de groupes lors de l’analyse harmonique en l’inscrivant dans la case sous le bouton d’analyse harmonique.

Figure 5.4 – Résultat d’une analyse

La page affichant les résultats d’une analyse présente d’abord un résumé sommaire du nombre d’animaux détectés par catégorie d’animal. On peut aussi y voir une image de chaque animal détecté et le résultat de son identification.

On peut cliquer sur un bouton associé à chaque animal détecté, afin d’ouvrir l’interface de gestion de cette détection. Cette interface nous permet soit d’aller modifier son identification ou de visionner la séquence en entier où l’animal était présent. Cette interface de gestion d’un item du résultat de l’analyse nous permet aussi d’ajouter l’animal identifié à la base de données et/ou d’y ajouter le résultat de son analyse.

Figure 5.5 – Gestion d’un item du résultat de l’analyse

Comme expliqué précédemment, cette interface nous permet de visionner la séquence en entier où l’animal était présent et de modifier l’identification d’un animal au besoin. Cette interface de gestion nous permet aussi d’ajouter un animal détecté à la base de données et/ou d’y ajouter le résultat de son analyse dans n’importe laquelle image traitée. On peut visualiser le résultat du traitement à chaque image avant de décider si l’on ajoute à la base de connaissances.

Figure 5.6 – Gestion de la base de connaissances

La page de gestion de la base de connaissances nous permet d’observer tous les animaux et leurs modèles contenus dans la base de connaissances. On peut aussi regarder chacune des décompositions harmoniques d’un modèle. On peut voir combien de fois une décomposition a servi à identifier correctement un animal et combien de fois un utilisateur a infirmé une iden- tification provenant de cette décomposition. Ainsi, on peut plus facilement décider d’enlever une décomposition qui semble toujours amener de mauvaises identifications.

Chapitre 6

Limites de l’approche

Une des premières limites de mon approche est le cout de son implémentation. La qualité et le nombre de caméras nécessaires pour obtenir une reconstruction 3D qui est suffisamment précise pour obtenir une identification impliquent une dépense importante à l’achat. Les performances du système sont directement liées au cout de son implémentation. L’objectif initial de ce projet était de simplifier le travail des biologistes en leur évitant l’obligation d’être constamment sur place afin d’observer un territoire ou de devoir analyser le contenu de longues séquences vidéos. Malheureusement, le cout actuel de l’implémentation de ce système risque de dépasser le cout des salaires qui seraient versés aux étudiants pour faire ce travail.

La deuxième limite majeure de mon système est la nécessité d’avoir un utilisateur expert en vision numérique pour installer le système. La procédure de calibration n’est actuellement pas suffisamment simple et nécessite d’être effectuée avec précision. Le choix de l’emplacement des caméras doit être fait de manière judicieuse. Le choix du modèle des caméras doit l’être aussi. Les caméras doivent être fixées de manière très stable pour obtenir des résultats corrects. Les résultats de l’identification automatisée ne sont pas suffisamment fiables. Si l’on doit obte- nir des données ne contenant aucune erreur d’identification, un utilisateur expert en biologie se doit de confirmer tous les résultats de l’identification. La détection automatisée d’animaux étant très efficace, les parties des séquences vidéos qui ne contiennent pas d’animaux n’ont pas besoin d’être validées. On obtient dans ces cas un système qui nous fait épargner du temps en faisant de la réduction de données.

À l’heure de l’écriture de ces lignes, l’identification n’est pas faite en temps réel. Cela empêche son utilisation pour un système d’alarme intelligent. Il est probablement possible de paralléliser le traitement de la décomposition en harmoniques sphériques et de la comparaison à la base de connaissances afin qu’elle s’exécute en temps réel, si l’on conserve un nombre raisonnable de modèles d’animaux dans notre base, mais cela n’a pas été testé encore.

Chapitre 7

Suggestions de travaux futurs

La prochaine étape de ce projet de recherche pourrait être de mettre sur pied un banc d’essai et donner l’accès aux séquences vidéos à tous afin de pouvoir comparer cette approche avec d’autres, pour vraiment évaluer ses performances. Afin d’y intéresser la communauté scienti- fique, nous devrions améliorer notre prise de données, en utilisant de meilleures caméras et un plus grand nombre d’entre elles. Pour améliorer le contenu de la base de données, on pourrait filmer des animaux dans un endroit où ils sont en semi-liberté, par exemple au Zoo sauvage de Saint-Félicien ou au Biodôme de Montréal.

Le système est conçu de façon à ce que chacune de ses parties puisse être optimisée et améliorée de manière indépendante. En fait, plusieurs de ces parties sont des domaines de recherche en soi. Il existe beaucoup d’approches de soustraction d’arrière-plan et il serait intéressant d’en tester d’autres. Dans un objectif d’amélioration de la comparaison avec la base de connais- sances, on pourrait tester différentes approches de comparaison de vecteurs, afin de pénaliser ceux qui ne contiennent pas beaucoup d’informations dans les basses fréquences.

Certains points devraient être améliorés en priorité avant d’envisager de commercialiser le système, par exemple, remplacer l’algorithme d’identification par un qui s’exécute en temps réel changerait considérablement les applications possibles de ce projet. Il est à noter qu’il est probablement possible d’implémenter notre approche d’analyse harmonique pour l’identifica- tion pour qu’elle s’exécute en temps réel, si l’on conserve un nombre raisonnable de modèles d’animaux dans notre base de connaissances. Il serait intéressant de tester cela.

Améliorer, automatiser et simplifier la procédure de calibration, éliminerait la nécessité d’avoir un utilisateur expert lors de l’installation du système.

Il serait intéressant d’utiliser diverses méthodes d’apprentissage supervisé afin d’ajuster l’im- portance que l’on accorde à chacun des critères d’identification (la manière de combiner le résultat de chacune des méthodes et l’importance de la différence de volume). Cela améliore- rait probablement nos résultats d’identification. Observer le résultat obtenu par un algorithme

d’apprentissage supervisé nous permettrait de comprendre quelle partie de l’algorithme est la plus efficace pour identifier les animaux dans différents environnements.

Il serait aussi vraiment intéressant d’explorer des tactiques différentes pour la détection et l’identification des animaux qui reposeraient sur de l’apprentissage automatique (machine learning).

Conclusion

J’ai présenté dans ce document les résultats du projet Dievra à ce jour. Vous pouvez trouver à l’adresse www.dievra.com le code source et les avancées futures de ce projet de recherche. L’approche présentée a amalgamé plusieurs techniques déjà existantes. Mes contributions ma- jeures sont la création d’une nouvelle approche de comparaison des objets 3D qui performe bien avec les modèles soumis à diverses déformations et la création d’un système complet de détection et d’identification des animaux.

Il est intéressant de remarquer que plusieurs composantes de ce projet sont des projets de re- cherche en soi. Ils peuvent ainsi aisément être améliorés de manière indépendante. Nous n’avons pas la prétention d’affirmer que les idées présentées dans ce document sont les meilleures pour résoudre chacun des problèmes de vision numérique rencontrés lors de nos expériences, mais les approches présentées dans ce mémoire sont fonctionnelles. Sans avoir réussi à développer un système qui identifie tous les animaux qu’il observe, j’ai démontré que les concepts que je propose obtiennent des résultats satisfaisants.

Il est important de retenir que de développer un système général n’aura jamais d’aussi bons résultats que de moduler la méthode aux besoins réels de chaque utilisateur du système. On obtient de meilleurs résultats simplement en choisissant un algorithme de soustraction de l’arrière-plan approprié à l’environnement d’installation du système et des animaux d’intérêt. La qualité du matériel avec lequel on fait l’acquisition a un impact direct sur les résultats de l’approche et la taille de l’environnement que l’on peut surveiller. Si le budget des utilisateurs le permet et en fonction du besoin de fiabilité des résultats, la possibilité d’ajouter d’autres outils d’acquisition de données, par exemple à l’aide d’appareils de type lidar ou des caméras captant dans les longueurs d’onde de l’infrarouge peut aussi être envisagée. Pour d’autres utilisateurs, utiliser simplement une seule caméra avec une bonne soustraction d’arrière-plan et une méthode simple de regroupement de pixels afin de détecter la présence d’animaux, ceux- ci pourraient ensuite identifier eux-mêmes ce que le système a détecté. Pour ces utilisateurs, cela correspond peut-être à la meilleure approche.

Le partage de connaissances étant primordial en recherche, tout ce que vous trouvez dans ce document qui n’émerge pas des idées d’autres chercheurs qui pourraient avoir protégé leurs

travaux est complètement libre de droits, mais n’oubliez pas que comme l’a écrit H.G. Wells, «si l’on n’en finit pas avec les guerres, les guerres en finiront avec nous». Je crois qu’il est important de ne jamais oublier que nous sommes tous des citoyens de la terre.

Gandhi a dit : «un oeil pour un oeil finira par rendre le monde aveugle». Je crois que la clé pour atteindre la paix est l’apprentissage du pardon et de ne jamais désespérer de se réconcilier avec nos ennemis. Comme l’aurait dit Anne Frank, «une chose importante à garder en tête est qu’il ne faut jamais attendre une minute pour commencer à changer le monde».

Si la détection et l’identification des êtres vivants du règne animal vous intéressent et que vous avez envie d’en discuter autour d’un café, cela me ferait vraiment plaisir de vous rencontrer.

Annexe A

Plan des boites de protection des

caméras Pointgrey DragonFly2 et

FLIR PathFindIR

Bibliographie

Arfken, G. B., H. J. Weber et F. E. Harris. 2012, Mathematical Methods for Physicists, Seventh Edition : A Comprehensive Guide, 7eéd., Academic Press, ISBN 9780123846549. URLhttp:

//amazon.com/o/ASIN/0123846544/.

Atev, S., O. Masoud et N. Papanikolopoulos. 2004, «Practical mixtures of gaussians with brightness monitoring», dans Intelligent Transportation Systems, 2004. Proceedings. The 7th International IEEE Conference on, p. 423–428, doi :10.1109/ITSC.2004.1398937. Atkins, P. W. 1970, Molecular Quantum Mechanics : v.1 : An Introduction to Quantum Che-

mistry (Vol 1), Oxford University Press, ISBN 9780198551294. URLhttp://amazon.com/ o/ASIN/0198551290/.

Axler, S., P. Bourdon et W. Ramey. 2001, Harmonic Function Theory (Graduate Texts in Mathematics), 2e éd., Springer, ISBN 9780387952185. URL

http://amazon.com/o/ASIN/ 0387952187/.

Bernoulli, J. 1713, Ars conjectandi, opus posthumum. Accedit Tractatus de seriebus infinitis, et epistola gallicé scripta de ludo pilae reticularis., Thurneysen Brothers.

Biasotti, S., D. Giorgi, M. Spagnuolo et B. Falcidieno. 2008, «Size functions for comparing 3d models», Pattern Recognition, vol. 41, no 9, doi :DOI:10.1016/j.patcog.2008.02.003, p.

2855 – 2873, ISSN 0031-3203. URL http://www.sciencedirect.com/science/article/ B6V14-4RWH86V-1/2/ff23e28d0dc904798b3487b97898cf8a.

Cohen-Tannoudji, C. 1997, Mécanique quantique, tome 1. Deuxième et troisième cycles (French Edition), 0e éd., Hermann, ISBN 9782705660741. URL http://amazon.com/o/

ASIN/2705660747/.

Courant, R. et D. Hilbert. 1953, Methods of Mathematical Physics, Vol. 1, volume 1 éd.. URL

https://archive.org/details/MethodsOfMathematicalPhysicsVolume1.

Dobkin, D., T. Funkhouser, A. Finkelstein et S. Rusinkiewicz. «Princeton shape retrieval and analysis group»,http://gfx.cs.princeton.edu/proj/shape/.

Edmonds, A. R. 1996, Angular Momentum in Quantum Mechanics (Investigations in Phy- sics), Princeton University Press, ISBN 9780691025896. URLhttp://amazon.com/o/ASIN/ 0691025894/.

Fehr, J., A. Streicher et H. Burkhardt. 2009, «A bag of features approach for 3d shape retrieval», dans Proceedings of the 5th International Symposium on Advances in Visual Computing : Part I, ISVC ’09, Springer-Verlag, Berlin, Heidelberg, ISBN 978-3-642- 10330-8, p. 34–43, doi :10.1007/978-3-642-10331-5_4. URLhttp://dx.doi.org/10.1007/ 978-3-642-10331-5_4.

Funkhouser, T., P. Min, M. Kazhdan, J. Chen, A. Halderman, D. Dobkin et D. Jacobs. 2003, «A search engine for 3d models», ACM Trans. Graph., vol. 22, no 1, doi :10.1145/588272.

588279, p. 83–105, ISSN 0730-0301. URLhttp://doi.acm.org/10.1145/588272.588279. Green, R. 2003, «Spherical Harmonic Lighting : The Gritty Details», Archives

of the Game Developers Conference. URL http://www.research.scea.com/gdc2003/ spherical-harmonic-lighting.pdf.

Griffiths, D. 2008, Introduction to Elementary Particles, 2e éd., Wiley-VCH, ISBN

9783527406012. URLhttp://amazon.com/o/ASIN/3527406018/.

Henocq, G. B. . H. 1995, «3d invariants and their application to object recognition», Signal Processing, vol. 45, no 1, p. 1–22, ISSN 0730-0301. URLhttp://pagesperso.univ-brest.

fr/~gburel/publis/Articles/post/1995_07_SignalProcessing_invar3d.pdf.

Kazhdan, M. M. 2004, Shape Representations and Algorithms for Three-dimensional Model Retrieval, thèse de doctorat, Princeton, NJ, USA. AAI3123433.

Kristensen, F., P. Nilsson et V. Öwall. 2006, «Background segmentation beyond rgb», dans Computer Vision–ACCV 2006, Springer, p. 602–612.

Kwon, Y.-H. «Direct linear transformation camera calibration»,

http ://www.kwon3d.com/theory/dlt/dlt.html.

Lévesque, O. et R. Bergevin. 2010, «Detection and identification of animals using stereo vision», dans Visual observation and analysis of animal and insect behavior workshop of the international conference on pattern recognition. URLhttp://vision.gel.ulaval.ca/ ~olevesque/detection_and_identification_of_animals_using_stereo_vision.pdf. Macrobert, T. 1967, Spherical Harmonics : An Elementary Treatise on Harmonic Functions

with Applications, 3eéd., Pergamon Press, ISBN 9780080121154. URLhttp://amazon.com/

o/ASIN/0080121152/.

Messiah, A. 1959, Mécanique quantique. Tome 1, Dunod. URLhttp://amazon.com/o/ASIN/ B000U2ERKC/.

Metropolis, N. 1987, «The beginning of the monte carlo method», Los Alamos Science. URL

http://jackman.stanford.edu/mcmc/metropolis1.pdf.

Press, W. H., S. A. Teukolsky, W. T. Vetterling et B. P. Flannery. 2007, Numerical Recipes 3rd Edition : The Art of Scientific Computing, 3e éd., Cambridge University Press, ISBN

9780521880688. URLhttp://amazon.com/o/ASIN/0521880688/.

Ribeiro, H. L. et A. Gonzaga. 2006, «Hand image segmentation in video sequence by gmm : a comparative analysis», dans Computer Graphics and Image Processing, 2006. SIBGRA- PI’06. 19th Brazilian Symposium on, IEEE, p. 357–364.

Rodrigues, O. 1815, De l’attraction des sphéroïdes, thèse de doctorat, Paris.

Sansone, G. 2012, Orthogonal Functions : Revised English Edition (Dover Books on Mathe- matics), revised éd., Dover Publications, ISBN 9780486667300. URLhttp://amazon.com/ o/ASIN/0486667308/.

Schindler, K. et H. Wang. 2006, «Smooth foreground-background segmentation for video pro- cessing», dans Proceedings of the 7th Asian Conference on Computer Vision - Volume Part II, ACCV’06, Springer-Verlag, Berlin, Heidelberg, ISBN 3-540-31244-7, 978-3-540-31244-4, p. 581–590, doi :10.1007/11612704_58. URLhttp://dx.doi.org/10.1007/11612704_58. Schweitzer, A. 1923, Kulturphilosophie, Olaus Petri Vorlesungen an der Universität Upsala,

Beck. URLhttp://books.google.ca/books?id=_RhEygAACAAJ.

Schweitzer, A. 1976, La civilisation et l’éthique, Philosophie de la civilisation, Éd. Alsatia. URLhttp://books.google.ca/books?id=_22JPQAACAAJ.

Schönefeld, V. 2005, «Contents spherical harmonics», .

Shilane, P., P. Min, M. Kazhdan et T. Funkhouser. «The princeton shape benchmark»,http: //shape.cs.princeton.edu/benchmark/.

Sobral, A. 2013, «BGSLibrary : An opencv c++ background subtraction library», dans IX Workshop de Visão Computacional (WVC’2013), Rio de Janeiro, Brazil. URL https:// github.com/andrewssobral/bgslibrary.

Sonka, M., V. Hlavac et R. Boyle. 2008, Image Processing, Analysis, and Machine Vision, Third Edition, Thompson Learning, Toronto, Ontario, Canada.

Stauffer, C. et W. E. L. Grimson. 1999, «Adaptive background mixture models for real-time tracking», dans Computer Vision and Pattern Recognition, 1999. IEEE Computer Society Conference on., vol. 2, ISSN 1063-6919, p. –252 Vol. 2, doi :10.1109/CVPR.1999.784637. Sullivan, W. 1985, «Vision through animal eyes reveals surprising color», .

T. Bouwmans, B. V., F. El Baf. 2008, «Background modeling using mixture of gaussians for foreground detection - a survey», Recent Patents on Computer Science, vol. 1 No 3, p. 219–237.

Vranić, D. 2003, «An improvement of rotation invariant 3d-shape based on functions on concentric spheres», dans Image Processing, 2003. ICIP 2003. Proceedings. 2003 Interna- tional Conference on, vol. 3, ISSN 1522-4880, p. III–757–60 vol.2, doi :10.1109/ICIP.2003. 1247355.

Vranić, D. V., D. Saupe et J. Richter. 2001, «Tools for 3d-object retrieval : Karhunen-loeve transform and spherical harmonics», dans IEEE MMSP 2001, p. 293–298.

Yoshinaga, S., A. Shimada, H. Nagahara et R.-i. Taniguchi. 2013, «Background model based

Documents relatifs