Recherche sur Ornithomedia.com

  Conseils
   Livre recommandé

Bird Census Techniques
de C. J. Bibby et al.

Commander
sur Amazon

  Un logiciel de comptage des oiseaux par Raymond Fetiveau
 

Date de mise en ligne: 17/06/09 - Visé par le Comité de Lecture

Raymond Fetiveau, professeur de mathématiques et d'informatique en Vendée, a toujours été impressionné par les grands vols d'Étourneaux sansonnets. De même, il a découvert que les comptages quotidiens de Pigeons ramiers dans le Sud-ouest de la France étaient toujours visuels et approximatifs. Il a écidé de concevoir un logiciel simple dénombrant automatiquement les oiseaux à partir d'une photo.

Cet article a été soumis à notre Comité de Lecture virtuel (En savoir plus)

Abstract

Impressed by huge flights of Starlings, Raymond Fetiveau, a French professor in Mathematics, conceived a easy-to-use and free software to count birds on a photo. In this article, he presents us the algorithm, the way to use the program, and its advantages and disadvantages.


Le logiciel de comptage

L'origine du projet

Raymond Fetiveau
Raymond Fetiveau

Professeur de mathématiques et d'informatique en classe préparatoire au lycée Saint-Joseph de la Roche-sur-Yon (Vendée), Raymond Fetiveau a eu l'idée de développer un logiciel de comptage des oiseaux en novembre 2005 lorsque il découvrit que les dénombrements quotidiens de Pigeons ramiers (Columba palumbus) au Pays Basque (France) étaient toujours visuels et approximatifs. Il s'est donc lancé dans un projet de comptage automatique sur photo numérique simplifiée avec ses élèves, avec le logiciel de calcul formel Maple.
Actuellement à la retraite, il en a amélioré
l'interface avec le langage de programmation Delphi. Le but de cette interface est de corriger manuellement les erreurs de comptage des oiseaux.


L'algorithme de calcul

Principe de l'algorithme de calcul
Principe de l'algorithme de calcul: le programme parcourt la photo ligne par ligne; dès qu'il rencontre un pixel (en vert) d'un oiseau sur une photo, une procédure teste_ligne(j0,i0) d'effacement et de comptage est appelée. Dans le schéma ci-dessus, les coordonnées du premier pixel de l'oiseau sont i0=2 et j0=4
Source: Raymond Fetiveau
Le programme fonctionne à partir d'une photo au format bmp en noir et blanc (la photo originale en couleurs doit donc subir une transformation qui est abordée dans le paragraphe suivant).
Le programme parcourt l'image ligne par ligne: dès qu'il rencontre un pixel (aux coordonnées x=j0 et y=i0 ) constituant un oiseau sur une photo, une procédure teste_ligne(j0,i0)
est appelée. Sa fonction est de compter et d'effacer tous les pixels qui constituent un même oiseau. Cette procédure récursive est rappelée pour la ligne en dessous.
Afin de surmonter certaines difficultés (comme le fait qu'un "bout" d'oiseau soit situé plus loin (ou avant) sur la ligne suivante), la procédure analyse pour chaque ligne d'oiseau la ligne au-dessous et la ligne au-dessus
(en savoir plus sur cet algorithme).
Cet algorithme est original. Il existe déjà des logiciels de comptage de bactéries comme Mesurim-pro (lire Comptages sur photographie), mais Raymond ne s'en est pas inspiré.
Raymond Fetiveau a pensé à cette technique de détection des pixels sur une photo en noir et blanc en s'imaginant en fourmi qui se baladerait sur un grand damier aux cases noires disposées aléatoirement et qui ne verrait qu'une case à la fois: quand elle rencontre une case noire, elle visite toutes les cases proches en notant l'emplacement et le nombre total de case noires trouvées pour l'indiquer ensuite à ses "amies". Cette méthode est radicalement différente de celle analogique du cerveau humain qui a une vue d'ensemble et qui sait reconnaître du premier coup d'œil (même sur une image floue) un oiseau sur une photo et dire s'il y a un seul oiseau ou deux qui se chevauchent.

Téléchargez le logiciel

http://rfetiveau.fr/cms/index.php?page=comptage-d-oiseaux#telechargement

Fonctionnement


L'interface du logiciel de comptage
L'interface du logiciel de comptage (agrandir la photo): A) photo originale analysée, B) graphique indiquant le nombre de groupes d'oiseaux pour chaque taille en pixels, avec l'emplacement graphique du seuil automatique de détection C) cases indiquant les nombres de groupes ou blocs d'oiseaux (constitués de 0 à 4 oiseaux), et D) la valeur du seuil. Le total estimé du nombre d'oiseaux apparaît en bas à droite (304)
Source: Raymond Fetiveau

Tout d'abord, la photo à analyser (dans l'exemple ci-contre, un vol de Cigognes blanches par Vincent Palomares) doit être transformée en fichier au format bmp en noir et blanc et à la résolution maximum de 800x600 avec un logiciel de retouche d'images comme Photofiltre (www.photofiltre.fr) (lire l'annexe 1 pour la méthode de création de la photo en noir et blanc).
On charge ensuite ce fichier bmp pour qu'il soit analysé par le logiciel (le fichier original correspondant se charge automatiquement).
Dans l'interface, un graphique indique le nombre de groupes d'oiseaux pour chaque taille en pixels. Dans l'exemple de la photo de cigognes, le pic correspond à une taille de 20 pixels, et c'est la taille la plus fréquente.
Une barre verticale signale le seuil automatique de détection par défaut, qui représente le nombre de pixels à partir duquel on doit considérer qu'un bloc (ou groupe) est constitué de deux oiseaux. Il est égal à 1,5 fois la taille (en pixels) de ce bloc. Dans l'exemple des cigognes, le seuil proposé par défaut est de 20 x 1,5 = 30.
Il correspond graphiquement généralement à l'endroit où la courbe devient quasiment horizontale, dans la partie descendante de la courbe. Sa valeur s'affiche dans la case "Seuil". En diminuant ce seuil, quelques oiseaux isolés seront comptés comme groupe de deux, mais cela compensera peut-être les groupes de trois comptés comme des groupes de deux et l'approximation restera correcte.
Dans notre exemple, la partie descendante de la courbe correspond à un seuil de 30 environ: on considère que tous les blocs à gauche (la plupart) sont des blocs de 1, et tous ceux à droite sont des blocs de 2. Si on prend un seuil trop élevé, il restera des blocs de 2 non comptés et le nombre estimé sera trop faible. Si on le prend un peu trop bas (par exemple 26), il y aura des blocs de un oiseau considérés comme des blocs de deux. Si l'on choisir un seuil très bas, tous les blocs vont être considérés comme des blocs de deux et le nombre d'oiseaux sera donc presque multiplié par deux..
Sur la photo apparaissent encadrés en pointillés les oiseaux ou groupes d'oiseaux dont le nombre de pixels dépasse le seuil choisi. Ils contiennent en principe plusieurs oiseaux, mais ils sont comptés comme des groupes de deux oiseaux. Ils sont là pour attirer l'attention de l'utilisateur: à lui de corriger si le rectangle contient un seul, ou 3 ou 4 oiseaux en le déplaçant dans une des cases (blocs) du bas sous la photo.
Cliquez ensuite sur "Compter les oiseaux" pour avoir la valeur totale estimée d'oiseaux de la photo.

Démonstration en ligne

http://rfetiveau.fr/cms/uploads/telecharger/demo.htm

Avantages de ce logiciel

Ce logiciel donne assez rapidement une bonne idée du nombre d'oiseaux, et si on veut l'affiner, il n'est pas nécessaire de cliquer sur chaque oiseau comme dans Mesurim-pro: il suffit de s'occuper des cas qui posent problème (encadrés sur la photo) de façon très conviviale en faisant un glisser-déposer dans les cases sous le photo.

Limites et faiblesses

Taille maximale de l'image : 800x600.
Taille maximale d'un groupe d'oiseaux: 400 pixels.
Nombre maximal de groupes: 2000.
Format accepté pour l'analyse: bmp
En outre, tout n'est pas automatique: il faut d'abord transformer manuellement l'image en noir et blanc: si l'on garde trop de noir, des oiseaux séparés vont se trouver regroupés, et si l'on laisse trop de blanc, des oiseaux plus clairs vont être effacés. C'est une affaire d'appréciation visuelle. Le programme ne sait pas analyser la forme d'un groupe de pixels pour en déduire le nombre d'oiseaux correspondant.
L'utilisateur doit en outre choisir un seuil pour décider à partir de combien de pixels on peut considérer qu'il y a plusieurs oiseaux.
Il faut enfin corriger manuellement les erreurs du logiciel.

Les difficultés rencontrées

La première étape (détection des oiseaux ou groupes d'oiseaux sur une image en noir et blanc) est intéressante, mais elle n'a pas réellement posé de problème: il faut seulement faire attention à considérer comme un seul oiseau (ou groupe d'oiseaux) tous les pixels noirs qui se touchent. Le problème, c'est que le programme ne peut pas reconnaître automatiquement le nombre d'oiseaux constituant un groupe (ou bloc) (il arrive souvent que des oiseaux se chevauchent sur la photo).
Le but de l'interface graphique est d'aider l'utilisateur à préciser ce nombre pour les blocs de pixels les plus gros (ceux qui dépassent le seuil et sont encadrés). Là non plus, pas de réelle difficulté: il s'agit d'un programmation d'interface classique avec du glisser-déplacer. Raymond a passé deux semaines à développer ce logiciel, avec de multiples essais, mais quand on aime la programmation on ne compte pas!

Projets d'amélioration

Raymond a plusieurs projets d'amélioration de ce logiciel:
- afficher le nombre de pixels d'un groupe quand la souris reste dessus
- revoir la mise en page de l'interface pour qu'elle soit contenue dans un écran 1024x768
- étoffer la démonstration en ligne pour que les visiteurs puissent insérer leurs propres images

Site web et contact

Site web à visiter: http://rfetiveau.fr/cms/index.php?page=comptage-d-oiseaux
Vous pouvez contacter
Raymond Fetiveau pour lui faire des propositions ou lui poser vos questions: raymond.fetiveau AT freesbee.fr

A lire

Comment dénombrer les groupes d'oiseaux?

Réagissez à cet article sur nos forums ou par e-mail à david.bismuth@ornithomedia.com.

Vous pouvez soutenir Ornithomedia.com

    
 

 



  Pratique


   Débuter
   Identification
   Conseils
   Equipement
   Voyages ornitho
   Enfants
   Téléchargement
   Handi-spots

   Livre recommandé

African Waterfowl Census
de Tim Dodman, Valerie Taylor, Mark Hulme (Illustrations)
80,70 €
Commander
sur Amazon

   Info-Pub
  
  
  
   Livre recommandé
 
Modelling Bird Population Changes Using Data from the Common Birds Census and the Breeding Bird Survey
de D.G. Noble
73,68 €


   Newsletter

   Recevez chaque mois
   notre lettre d'infos
   gratuite.
    Inscription
   
Desinscription
        
         

   Livre recommandé
 
Alimentation des oiseaux
de L. Peter
14,48 €
Commander
sur Amazon
ORNITHOMEDIA (c) 2000 Tous droits réservés