Subscribe RSS

Posts Tagged ‘représentation’

Fonction avec méta-données (Clojure). Représentation d’images #3

octobre 20th, 2009 by fmn | No Comments | Filed in Enseignement, Recherche

Résumé des épisodes précédents : une image est une fonction bornée qu’il est possible de représenter à l’aide d’une classe Java. L’écriture de cette classe passe par un grand nombre de lignes de code, même en Clojure. Explorons aujourd’hui la possibilité d’une façon plus canonique de faire la même chose.

Une fonction bornée est une fonction comportant une information supplémentaire : son domaine de définition. Clojure fournit un façon pratique d’ajouter des données : la méta-donnée (metadata). Une méta-donnée est une map de données qui peut être étendue à l’aide de la fonction with-meta. Tentons d’ajouter un domaine de définition à une fonction :

user> (defn indom? [dom pt]
        (let [[start end] dom
              [x y] pt]
          (and (>= x (first start))
               (<= x (first end))
               (>= y (second start))
               (<= y (second end)))))
#'user/indom?
user> (defn f [x y] (+ x y))
#'user/f
user> (def dom [[0 0] [4 4]])
#'user/dom
user> (def bf (with-meta f {:domain dom}))
java.lang.UnsupportedOperationException (NO_SOURCE_FILE:10)

(Lire la suite…)

Tags: , , ,

Représentation d’images (Clojure et Java) #2

octobre 14th, 2009 by fmn | No Comments | Filed in Enseignement, Recherche

La dernière fois j’avais montré comment représenter une image en tant qu’une fonction bornée (voir ce billet). La classe java était intégralement écrite en Clojure. Cette représentation correspond à la représentation mathématique d’une image, mais n’est pas très efficace. Habituellement une image est stockée sous forme d’un tableau à deux dimensions. Cette structure permet de courts temps d’accès aux pixels de l’image.

Ainsi dans la librairie ImageJ sous Java, une image est représentée par une classe abstraite : l’ImageProcessor. Quatre classe en héritent et propose une implémentation concrète : ByteProcessor, ShortProcessor, FloatProcessor et ColorProcessor (voir l’api pour plus de détails) Comme je l’avais déjà souligné, le défaut de ces structures de données est de ne pouvoir représenter des images avec des pixels de coordonnées négatives.

Nous allons donc coder une représentation d’image basée sur un ImageProcessor, mais autorisant l’emploi d’indices négatifs. La classe Image héritera de la classe précédente Imfun.

(Lire la suite…)

Tags: , , , , ,

Une similarité visuelle non-sémantique est-elle viable ?

juin 15th, 2009 by fmn | No Comments | Filed in Recherche

    Je viens de lire une communication issue d’une rencontre sur la recherche d’information : Une mesure de similarité sémantique utilisant des résultats de psychologie, par Anthony Ventresque (2006). Je trouve toujours enrichissant d’aller fureter dans d’autres disciplines.

    Cette communication décrit une similarité sémantique textuelle. Une similarité sémantique étant l’appréhension de la liaison entre deux concepts. La mesure proposée est une mesure asymétrique. S’appuyant sur des données textuelles, il est clair que la simple comparaison des mots ne peut permettre de lier crayon et stylo. C’est pourquoi des ontologies sont utilisées, c’est a dire des bases de connaissances. Ces ressources sémantiques contiennent des liens entre les concepts (hypéronymie, antonymie, méronymie, etc.). Sans ces connaissances, seule un comparaison des lettres et de leur position est possible, ce qui ne renseigne en rien sur la signification du mot.

    Mes recherches portent sur la mesure de similarité entre images. Comme l’indique l’adage : un dessin vaut mieux qu’un long discours. Tversky et Gati dans “Weighting common and distinctive features in perceptual and conceptual judgments”, Cognitive Psychology, 16, 341-37, détaillent cette distinction (librement traduit par mes soins) :

    Une différence majeure entre les représentations verbales et graphiques est que les mots désignent les objets alors que les images les illustrent. Un code verbal est simplement un symbol conventionnel pour un objet. Au contraire, une image partage de nombreuses caractéristiques avec l’objet qu’elle décrit. Dans un sens, les clefs pour comprendre le stimulus sont présents dans l’image alors que la compréhension d’un stimulus verbal requiert extraction de données.

    Ainsi la mesure d’une similarité de données textuelle passe quasiment obligatoirement par l’utilisation d’une base de connaissance. Alors que la mesure de similarité entre deux images peut se passer de données supplémentaire. Il est évident que sans ces données, certaines notions ne pourront être comparées. Par contre d’autres informations le pourront. Wang et al., via l’indice SSIM, mesurent ainsi une similarité structurelle, i.e. une comparaison des structures des images.

    La réponse la question posée dans le titre est donc positive. Simplement, les mêmes informations ne sont pas comparées dans ce que Tversky et Gati désignent comme le domaine perceptuel et le domaine conceptuel.

    FMN.

    Tags: , , ,