• Aucun résultat trouvé

Courbe d’entraînement de la preuve de concept

2.1.3 Résultats

Afin de potentiellement bénéficier de l’effet de régularisation d’un grand nombre de classesAzizpour et collab.(2014), nous en avons inclus pendant l’entraînement sans les utiliser en test. Les images de l’arboretum n’ayant pas eu d’effet sur les résultats, nous avons plutôt opté pour des images provenant d’ImageNet. Pour ce faire, nous avons choisi sept nouvelles classes : baleine, chat, chien, oiseau, poisson, serpent et singe, chacune contenant entre 1000 et 2000 images, qui ont été employées à titre de classe supplémentaire pendant l’entraînement. Pour l’entraînement final, nous avons pris un resnet50 pré-entraîné sur ImageNet et avons utilisé les hyper-paramètres indiqués dans la table2.5. En apprentissage profond, il est souvent conseillé de réduire le taux d’apprentissage pendant l’en- traînement afin de permettre au réseau de trouver un meilleur minimum. Par défaut, le taux d’ap- prentissage est souvent réduit de façon graduelle tout au long de l’entraînement. Toutefois, une autre technique qui est souvent encouragée est d’utiliser une descente par palier. Ceci permet au réseau de rester plus longtemps avec un grand taux d’apprentissage, et possiblement trouver une meilleure zone avant de diminuer celui-ci. Cependant, diminuer le taux d’apprentissage par palier signifie qu’il faut aussi savoir à quel cycle le diminuer, et de combien. Dans la table2.5, le paramètre "Diminution du taux d’apprentissage" indique que celui-ci était diminué de moitié à chaque numéro de cycle indiqué par le paramètre "Cycle pour la diminution du taux d’apprentissage".

Pour trouver les cycles auxquels diminuer le taux d’apprentissage, plusieurs entraînements sont né- cessaires. Tout d’abord, on entraîne un réseau avec un taux d’apprentissage relativement élevé et on regarde vers quel cycle l’entraînement semble avoir atteint un minimum. Ensuite, on ajoute ce cycle dans la liste et on entraîne un nouveau réseau avec les nouveaux hyper-paramètres. Il suffit ensuite de répéter ces opérations jusqu’à ce qu’il n’y ait plus de gains à obtenir.

Les tableaux2.5et2.6indiquent les hyper-paramètres et les résultats finaux qui ont été obtenus. Dans la table 2.5, le pourcentage d’image provenant d’image net indique que lors de l’entraînement, 30%

Hyper-paramètres Valeur

Nombre de cycles 5

Taux d’apprentissage initial 0.0001

Pourcentage d’image provenant d’ImageNet 30

Taille du lot 32

Diminution du taux d’apprentissage 0.5 Cycle pour la diminution du taux d’apprentissage [3] TABLE2.5 – Hyper-paramètres pour la preuve de concept

des images présentées au réseau provenait d’ImageNet. Comme on peut le voir dans la table2.6, nous avons obtenus un taux de classification final de 94,44% ce qui était très proche de notre objectif initial de 95%. Nous avons donc pu conclure que l’apprentissage profond était effectivement efficace pour faire la classification d’écorce. Cependant, nous n’étions pas très confiant de la qualité de notre jeu de données. En partie à cause des erreurs possibles d’annotations dans le jeu de données, mais aussi à cause du faible nombre d’images. De plus, nous n’avions qu’un seul chêne dans le jeu de données et les images de tests pour cette classe provenait du même arbre que les images d’entraînement (voir section2.3.1).

Entraînement Test

96,80% 94,44%

TABLE2.6 – Résultats finaux pour la preuve de concept

2.2

BarkNet 1.0

Suite aux résultats obtenus lors de la preuve de concept, nous étions confiants qu’il était possible de procéder à la classification d’essence d’arbres en utilisant uniquement des images de l’écorce. Nous avons donc décidé de continuer en créant un nouveau jeu de données plus vaste, mais aussi de manière beaucoup plus rigoureuse. D’une part, le large volume de données nous permettrait de mieux entraîner le réseau. D’autre part, les résultats en test sont statistiquement plus significatifs lorsque l’approche est testée sur un plus grand nombre d’arbres. De plus, la création d’un jeu de données de qualité nous a permis d’apporter une contribution significative à la communauté scientifique, en le rendant public. Cette section présente BarkNet11.0, le jeu de données que nous avons produits ainsi que la façon dont les données ont été récoltées.

2.2.1 Récolte des données

BarkNet 1.0et un jeu de données qui a été spécialement conçu pour entraîner les réseaux de neurones profonds. Il contient 23 000 images en haute résolution de 23 différentes essences d’arbres trouvées

dans les forêts et les parcs près de la ville de Québec. Il est possible d’en extraire plus de 800 000 crops uniques de 224x224 pixels. Les essences sont typiques des forêts de l’est du Canada et possèdent, pour la plupart, une valeur commerciale. En plus de contenir les annotations sur l’essence, il contient aussi le diamètre à hauteur de poitrine (DBH), une métrique communément employée dans les inventaires forestiers. Le DBH capture, en quelque sorte, l’âge de l’arbre ce qui donne la possibilité de donner cette information auxiliaire au réseau pendant l’entraînement. En effet, l’apparence de l’écorce peut changer de façon drastique en fonction de l’âge. En sachant ce DBH, il est possible aussi de s’assurer que les jeux de données d’entraînement et de tests sont bien balancés en terme de diversité d’âge (et donc d’apparence). De plus, avoir cette étiquette supplémentaire ouvre la possibilité d’effectuer des expérimentations multi-tâches (voir section3.4), pour lesquelles très peu de jeu de données existent dans la littérature (Zhang et Yang (2017)). Cette information pourrait donc aider le réseau à trouver des solutions ayant de meilleures capacités de généralisation. Finalement, afin de contribuer à la com- munauté scientifique et d’accélérer la recherche sur ce problème, mais aussi sur la classification fine en général, nous avons rendus le jeu de données public2.

Pour nous aider dans la création de ce jeu de données, nous avons engagé un spécialiste en foresterie (Luca Gabriel Serban, étudiant au doctorat en foresterie) pour qu’il identifie les arbres directement sur place. Il est, en effet, beaucoup plus facile d’effectuer l’identification lorsqu’on se fie à d’autres attributs comme la forme des feuilles, la grosseur des fruits ou la distribution des aiguilles.

Pour accélérer la collecte de données, nous avons procédé de façon systématique selon la procédure suivante. Tout d’abord, nous commencions par sélectionner un parc ou une forêt où aller effectuer la récolte de données. En général, cet endroit était choisi en fonction des arbres présents, car nous voulions nous assurer d’avoir le jeu de donnée le plus balancé possible. C’est-à-dire que le nombre d’arbres et d’images par classe soit relativement le même. De même, pendant la collecte de données, nous avons aussi essayé de récolter plus d’images pour les essences difficiles. Par exemple, en entraî- nant un réseau sur notre jeu de données incomplets, nous avons réalisé que certaines combinaisons d’arbres comme l’érable rouge, l’érable à sucre et le frêne étaient souvent mélangés entre eux. Pour tenter de contrer ce problème, nous avons essayé de récolter un plus grand nombre d’images pour ces essences, comparativement à d’autres plus facile comme le thuya occidental.

Une fois l’endroit choisi, nous allions sur place et choisissions des arbres au hasard. En pratique, il s’agissait souvent de l’arbre le plus près qui était d’une essence clé pour laquelle on souhaitait récolter plus d’images. Une fois l’arbre sélectionné, le spécialiste en foresterie confirmait l’essence de l’arbre et l’écrivait sur un petit tableau blanc. Ensuite, il mesurait la circonférence de l’arbre et inscrivait celle-ci sur le tableau en dessous de l’essence. Pour cette identification, nous avons utilisé les codes qui sont fréquemment utilisés en industrie. Ces codes sont visibles dans le tableau2.7qui montre la composition finale du jeu de données.

Une fois l’arbre choisi et identifié, une autre personne commençait à prendre des photos de l’arbre

pendant que le spécialiste allait sélectionner le prochain. La première photo pour chaque arbre en était toujours une du tableau blanc, afin de pouvoir identifier les photos suivantes lors de la phase d’anno- tation des données. Pour chaque arbre, entre 10 et 40 images de l’écorce ont été prises à différents endroits et à différentes hauteurs tout autour du tronc. Le nombre d’images dépendaient grandement de la grosseur du tronc, car plus celui-ci était gros, plus il était possible de prendre un nombre élevé de photos qui représentaient une partie différente du tronc. Les images ont été prises à une distance qui variaient entre 20 et 60 cm de l’écorce. Cette distance était cependant très variable à cause des conditions physiques dans lesquelles les photos ont été prises. Certains facteurs influençant cette dis- tance incluent, entre autres, des obstacles, la taille de l’arbre, le dénivelé, etc. Ce type de variabilité peut toutefois être bénéfique, car il permet de réduire le sur-apprentissage sur une distance précise de la caméra. Finalement, toutes les images ont été prises en s’assurant que le tronc soit parallèle à l’axe vertical par rapport au plan image de la caméra.

Pour collecter les images, nous nous sommes aussi assurés que celles-ci soient le plus variées pos- sible, ce qui nous a permis d’obtenir un jeu de données très diversifié. Pour ce faire, nous avons, tout d’abord, utilisé quatre caméras différentes. Les trois principales provenaient de téléphones cellulaires : Nexus 5, Samsung Galaxy S5, Samsung Galaxy S7. La dernière caméra était un appareil photo Pa- nasonic Lumix DMC-TS5. Nous avons choisi ces appareils, car ils étaient facilement accessibles et parce qu’ils sont peu coûteux. En effet, être en mesure de procéder à l’identification de façon peu coûteuse représente un avantage important comparativement aux autres méthodes qui peuvent coûter des milliers de dollars, comme l’utilisation de caméras hyper-spectrales.

Pour augmenter la diversité au niveau de l’illumination, nous avons pris les photos sous un grand éventail de conditions météorologiques. Certaines photos ont été prises alors qu’il faisait plein soleil tandis que d’autres ont été prises sous une pluie légère. Nous avons aussi pris des images dans des environnements variés. Certains étaient ouverts, comme le campus de l’université, donnant des images généralement plus claires. Toutefois, dans les emplacements où le nombre d’arbres étaient très élevé comme à la forêt de Montmorency, l’apparence de l’écorce pouvait être grandement affectée. En effet, dans les hautes densités de végétation, la canopée pouvait être réfléchie sur l’écorce et ainsi lui faire prendre différentes teintes de vert. Au total, nous avons effectué 15 sorties au cours de l’été 2017. Chaque sortie prenant entre 2 et 6 heures. La figure 2.2 indique la position de chacune des sorties effectuées. Il est important de noter que certains emplacements ont été visités plus d’une fois et que la forêt de Montmorency n’apparaît pas sur la carte, celle-ci étant trop éloignée.

2.2.2 Curation des données

À partir des photos des tableaux blancs, nous avons pu annoter l’essence et la circonférence pour chacune des images subséquentes. Au final, l’annotation complète comprend un nombre unique iden- tifiant l’arbre, son essence, son diamètre à hauteur de poitrine (celui-ci a été calculé à partir de la circonférence mesurée), la caméra utilisée pour la prise de photo et la date et l’heure à laquelle la photo a été prise. Pour procéder à cette annotation, il fallait compter un temps équivalent à celui de la

Documents relatifs