SLIDE 1, titre, logo, refs Bonjour, et merci de m'accueillir pour cette présentation. Je vais vous parler d'un projet développé depuis 2 ans par l'équipe de traitement et analyse d'images du CMLA, laboratoire de l'ENS Cachan. Ce projet est nommé aipol (ou ipol selon votre prononciation) pour "Image Processing On Line" et il s'agit d'une nouvelle methodologie de publication, de diffusion et d'échange de la recherche en imagerie. Je pense que ce modele pourrait également s'appliquer à d'autres types de recherche, à vous de voir. SLIDE 2: reproducible research facts Je vais commencer par décrire la situation actuelle en quelques chiffres, issus d'une étude de 2009: * 3 articles sur 10 en traitement du signal ne fournissent pas les valeurs des parametres qu'ils utilisent * 7/10 ne fournissent pas de description détaillée de leur algorithme, sous forme de pseudo-code ou diagramme * 7/10 ne fournissent pas non plus de données * et 9/10 ne fournissent pas de code SLIDE 2bis On pourrait étendre cette étude: sur les 10% d'articles pour lesquels on a une implémentation, combien sont utilisables sur un autre ordinateur que celui de leur auteur? Combien de codes sont clairs, documentées, compréhensibles? Vous avez probablement vous aussi eu l'occasion de vous intéresser à un algorithme, récupérer le code de l'auteur, et perdre plusieurs jours à essayer de l'utiliser, parfois en vain. Et même, lorsque le code est compilable et utilisable chez vous, vous aimeriez probablement l'étudier pour apprendre et comprendre les détails d'implémentation, et vous observez alors, lorsque le code est compréhensible, qu'il est assez différent de ce qui est décrit dans l'article. Ou bien, en l'utilisant sur vos propres données, vous pouvez observer que les performances sont moins intéressantes qu'avec les exemples judicieusement choisis et publiés dans l'article. C'est peut-être différent ailleurs, mais c'est la réalité de la situation ctuelle en traitement d'images. SLIDE 2ter On rencontre ici deux problèmes: d'une part, la recherche est difficile à reproduire, et d'autre part la procédure de publication d'articles n'évalue que ce que l'auteur a bien voulu présenter de son algorithme. SLIDE 3: reproductibilité Le terme et les idées de "recherche reproductible" (reproducible research) et ont été développés dans le domaine du traitement du signal depuis 1995 avec des et articles et des initiatives concrètes de Claerbout et Donoho, mais le principe est simple et remonte au moins à Descartes: une assertion scientifique n'est valable que si il est possible de la reproduire. En biologie, après quelques scandales d'impostures il y a quelques années, les procédures expérimentales doivent maintenant être intégralement décrites et les expériences reproduites avant d'être acceptées. Certains journaux de bio informatique font la distinction entre les articles qui ont pu être indépendemment reproduits par un reviewer indépendant et les autres. En chimie, les procédures expériementales sont répertoriées et publiées dans un catalogue utilisé pour décrire exactement les manipulation. En traitement d'image, par contre, cette approche nous semble trop rare. SLIDE 4: évaluation d'algorithmes D'autre part, on ne "démontre" pas un algorithme comme on démontre un théorème. Pour faire du débruitage, par exemple, on ne va pas prouver une assertion logique, on va proposer une méthode efficace de résoudre un problème. Notre algorithme n'est pas vrai ou faux, il est ou n'est pas utile, efficace, robuste, rapide. Il répond ou non à un besoin. Son évaluation passe donc par l'évaluation d'une implémentation. SLIDE 5: comment Plusieurs efforts peuvent contribuer à obtenir une meilleure reproductibilité de la recherche: 1. Les algorithmes doivent être complètement décrits. avec les détails. tous les détails, de telle sorte qu'un autre chercheur de la discipline puisse le réimplémenter sans la moindre ambiguité. 2. Cette réimplémentation doit être possible, mais on ne veut pas passer une semaine ou un mois à coder quelquechose qui existe déjà juste pour l'évaluer; les algorithmes doivent être publiés avec une implémentation. Cette implémentation doit être utilisable. Elle doit donc être codées dans un langage ou un environnement standard, public, stable. Le code doit fonctionner sur la plupart des ordinateurs, et doit continuer à fonctionner plusieurs années plus tard. Et, cette implémentation doit être lisible, parce qu'elle est l'expression la plus détaillée de l'algorithme. Il faut que le code soit compréhensible, largement documenté, clairement organisé. On préfère éviter les astuces de programmation virtuose et obscure, on préfère la simplicité et la clarté. Enfin, tout cela, qualité de la description et qualité de l'implémentation, doit être pris en compte dans la procédure de validation et publication d'un article. SLIDE 6 ipol Ces objectifs ont mené à la création d'IPOL. IPOL est un journal de traitement d'image, qui publie des algorithmes en exigeant pour chacun une description très détaillée et une implémentation. Les article proposés sont évalués sur deux critères: * est-ce que l'algorithme est intéressant, est-ce que sa publication dans le modèle IPOL est utile à la communauté de recherche? on accepte la republication augmentee d'algorithmes déjà présentés ailleurs, même par d'autres auteurs. * est-ce que l'implémentation fournie est portable, claire et documentée, et est-ce qu'elle correspond exactement a l'algorithme tel qu'il est décrit? On essaie de contribuer à la compilation d'un état de l'art de la discipline et à ce titre, on pourrait faire une analogie avec les NR, dans une autre domaine avec l'aspect journal en plus. À ce jour, IPOL a publié 3 (bientôt 4) articles. C'est très peu. Nous avons une cinquantaine d'articles en cours de publication. Nous visons un régime de croisière d'une centaine d'articles par an. IPOL est un vrai journal, avec un comité éditorial international et des ressources propres. Il est soutenu par l'ERC et le CNES, et un partenariat avec un journal SIAM permet des publications croisées. Les articles publiés recoivent identifiant unique standard qui permet leur citation et leur référencement dans les bases de données academiques. C'est important pour motiver les auteurs à faire l'effort de suivre ls exigences IPOL. SLIDE 7 web Joindre le code à la description d'un algorithme dépasse ce qu'il est généralement possible de faire dans les journaux mathématiques. La plupart du temps, vous publiez un article sous forme de PDF, une sorte de e-encre sur e-papier, mais ce n'est pas très différent d'un article en vrai papier. Pour disposer d'un modèle de publication flexible, intégrant du texte, des formules et des images (comme actuellement), mais aussi du code source, des jeux de données, des données structurées (maillages, surfaces, etc), il faut un format flexible et extensible. Le meilleur compromis existant est simplement le HTML, al diversité di web est là pour en témoigner de sa versatilité. IPOL publie donc tout son contenu sur le web, directement sous forme de pages HTML. SLIDE 8 licences On est sur le web, le medium electronique le plus accessibles, donc on mêne la politique d'accessibilité au bout. IPOL n'a pas de frais de publication. Tout est librement consultable. Tout est publié sous licence Creative-Commons: les articles sont réutilisables, à condition de citer correctement les auteurs. Et les codes sources sont aussi publiés sous licence libre, GPL/BSD. Les auteurs conservent le copyright de leur travail, et peuvent librement le réutiliser ailleurs sous d'autres conditions. L'idée de base est que la recherche scientifique est un partage de connaissance et que tout obstacle à ce partage est inefficace. SLIDE 8 demo Enfin, publier sur le web nous permet d'ajouter une facette supplémentaire à la publication: une interface de démonstration interactive des algorithmes. C'est un système web permettant de tester librement les algorithmes publiés dans son navogateur, en temps réel, sur des données librement uploadées, avec exactement le même code que celui qui est distribué. Cela permet une évaluation immédiate et très accessible des algorithmes. De plus, tout utilisation de cette implémentation sur des donnes originales est archivée; cela permet aux visiteurs de voir les performances ou défauts sur un large échantillon. Et cela permet aux auteurs de découvrir des propriétés ou utilisations originales de leur travail. C'est aussi une certaine mesure de popularité et d'utilité d'un algorithme. Et on atteint aujourd'hui 22000 archives! Concrêtement, l'ajout de la couche "interface web" à un code publié nécessite un peu de travail supplémentaire. Ce travail est assuré par un groupe de collaborateurs du journal sur la base d'un outil développé sur mesure. SLIDE 10 demonstration bench SLIDE X merci http://www.ipol.im/ pour en savoir plus, * poster, jeudi matin * mon article dans le thème "Executable paper", ICCS 2011, Procedia Computer Science merci de votre attention ---- * numéro spécial de "Computing in Science and Engineering", janvier/fevrier 2009 ref: P. Vandewalle, J. Kovacevic and M. Vetterli, Reproducible Research in Signal Processing}, IEEE Signal Processing Magazine, 2009 SLIDE Y stats