Archive for the ‘CBIR’ Category

November 1st, 2008 @ 1:58am | njames | Categories CBIR, Research, XML/XSD | No Comments »
J'investigue sur LabelMe, en ce moment sur les annotations faites manuellement et disponible sous la forme de fichiers XML générés par la toolbox MATLAB du projet. Ainsi je traite les documents XML, et un outil très pratique est http://www.hitsw.com/xml_utilites/ pour retrouver une grammaire XSD à partir d'une instance, c'est très pratique. Cela m'a permis d'obtenir une grammaire des annotations LabelMe, d'où la génération d'un XML-Binding et un (un)marshalling en Java.
September 3rd, 2008 @ 11:54am | njames | Categories CBIR | No Comments »
Un lien intéressant listant différentes bases de donnée d'images classées par tâche de traitement d'image, dont le CBIR.
March 31st, 2008 @ 3:49pm | njames | Categories CBIR, XML/XSD | No Comments »
Dans le cadre d'un prototype sur mes recherches, j'investigue sur MPEG-7. Au début, j'avais définit un format de fichier de description, j'ai écrit une grammaire XML assez sommaire pour avancer assez rapidement, et produire des fichiers XML pour décrire, stocker des descripteurs, et annoter mes documents multimédia, mais au fur et à mesure que j'avançais, je m'approchais vraiment de ce que propose la norme. C'est pourquoi depuis quelques temps, je m'attaque à un XML binding en Java de la norme MPEG-7.
Java XML binding
Le langage Java propose dans son API un mécanisme de XML binding (depuis Java1.6, dans les versions précédente de Java c'était l'API Jaxb, Java API for XML binding, qui était située dans un package externe, le JWSDP Java Web Services Developer Pack), et pour les normes comme MPEG-7 basé sur des XML-schemas, c'est très pratique. (J'aurais bientôt a travailler sur MPEG-21 pour les besoins d'un projet de labo, j'essayerai la même approche pour la production d'une requête MPEG-21, j'en reparlerai ici en temps et en heure). Pour la génération du binding, il y a JAXB (Sun) et XMLBeans (Apache), avec ces 2 frameworks, il y a des problèmes de compilations du bindings (grammaire non valide), dans les deux cas il semble y avoir un problème avec des définitions d'éléments au noms identique, ce n'est pas un problème de définition dans la norme, mais plutôt des outils JAXB et XMLBeans2.3 qui ne gèrent pas correctement l'inheritance à outrance utilisé dans la norme MPEG-7. (réf. nécessaire). Quelques liens web parlant du problème: Il semble plus sérieux d'utiliser XMLBeans2.3, car malgré une petite modification aux schemas MPEG-7 à faire, la modification reste acceptable. JAXB quand à lui nécessite de modifier le nom de certains éléments, ce qui pourrait amener à des problèmes (fichiers MPEG-7 générés non MPEG-7 compliant).
Avec JAXB
Avec JAXB (version java1.6) des collisions de noms sont un problème, voir http://cbvr.ims.tuwien.ac.at/user-documentation/mpeg7-java-binding-1.pdf. Il y en a plusieurs, c'est bloquant. La correction à apporter aux schemas est de modifier les noms de plusieurs éléments (à priori pas très pratique donc, car le MPEG-7 résultant ne valide plus la norme). La correction proposée ci-dessous pour XMLBeans2.3 fonctionne également avec JAXB, mais elle ne suffit pas, il y a des propriétés au nom identique dans mds-2001.xsd et Jaxb génère une erreur "already define"; Une solution pour contourner cela semble l'utilisation de custumizations JAXB.
Avec XMLBeans
Avec XMLBeans2.3, il y a un problème dans audio-2001.xsd mais qui peut être corrigé rapidement, voir http://iiss039.joanneum.at/cms/index.php?id=231 (recherche menée par Joanum Research propose également un profile mpeg-7, le DAVP detailed AudioVisual Profile, pour la description de contenu audiovisuel simple, dans le sens de single);
Quelques liens:
  • VizIR web server project: équipe autrichienne, membre du noe DELOS, utilise JAXB pour la génération du binding;
  • le laboratoire Joaennum propose une librairie en C++ pour manipuler des documents MPEG-7, (avec un XML-binding en C++ développé maison), cette librairie de contient pas de features extractors. Ce laboratoire propose également une génération de XML-binding en Java utilisant XMLBeans (déjà cité plus haut);
  • mpeg-7 and mpeg-21 community portal, voir dans la section "software and tools" une liste de projet autour de ou utilisant MPEG-7;
  • LAS, Lightweigth Application Server for mpeg-7, utilise XMLBeans, dans le cadre du projet MECCA;
  • un projet d'élève de l'université polytechnique de catalogne d'annotation de photographie, utilise XMLBeans. D'autres projets d'élèves de la même université qui utilise également XMLBeans;
  • le site du NIST pour récupérer les schemas, et qui propose un validateur;
June 13th, 2007 @ 4:47pm | njames | Categories CBIR | No Comments »
LIRe, Lucene Image Retrival, c'est une library de Mathias Lux, j'ai découvert son blog par del.ico.us, http://www.semanticmetadata.net/. LIRe create a Lucene index of image feature for CBIR. Three of the available image retrieval features are taken from the MPEG-7 standard: ScalableColor, ColorLayout, EdgeHistogram, and an Auto Color Correlogram. LIRe is part of Caliph&EMIR project. Rien à voir avec le projet européen EMIR. EMIR, European Multilingual Information Retrieval, finalisé en 1994, c'est un projet ancien maintenant, spirit est de la même époque. Le système SPIRIT est monolingue, repose sur une analyse linguistique du document et une pondération statistique. PRISME a pour objectif la conception et la réalisation d'un outil de veille technologique multilingue sur Internet. PRISME utilise les technologies multilingues développées dans le cadre du projet européen EMIR, et du produit SPIRIT de T.GID. Un test rapide de LireDemo, une application en java pour tester LIRe, ne fonctionne pas, pourtant sur le site de l'auteur il est bien indiqué qu'un JDK1.6 est requis mais des exceptions sont catchées lors de la construction de l'index.


 Valid XHTML 1.0 Transitional Valid CSS! WordPress