Pb de detection de types d'image :s

Pb de detection de types d'image :s - Algo - Programmation

Marsh Posté le 25-02-2005 à 22:51:20    

Bonsoir tout le monde :)  
 
Je suis nouvelle sur ce forum (c sympa c ptits smylies  :hello: )  
Bref, j'ai un projet a faire en C sur la compression d'image.
J'ai deja commencé a manipuler differents algos de compression... mais pour la detection de type je bug un peu bcp! et j'aimerais savoir si quelqu'un pouvait m'aider un peu la dessus.  
En fait, ce qui me bloque, c'est que, dans une image qui contient plusieurs types (photo, dessin, texte, etc.), je  dois identifier ces parties pour pouvoir ensuite les decouper. Mais, le truc, c'est que je ne sais pas comment caractériser ces parties pour pouvoir les decouper :s! selon quel critère peut on dire que cette partie est une photo ou que celle-ci est un dessin??!!  
 
Si je suis pas tres claire desolee mais faites le moi savoir et si quelqu'un aurai des ptits tuyeau ca serait sympa :)
 
voila merci  :jap: .

Reply

Marsh Posté le 25-02-2005 à 22:51:20   

Reply

Marsh Posté le 25-02-2005 à 22:53:46    

[:wam] oh ! une fille ...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 25-02-2005 à 23:02:01    

sanna a écrit :

Bonsoir tout le monde :)  
 
Je suis nouvelle sur ce forum (c sympa c ptits smylies  :hello: )  
Bref, j'ai un projet a faire en C sur la compression d'image.
J'ai deja commencé a manipuler differents algos de compression... mais pour la detection de type je bug un peu bcp! et j'aimerais savoir si quelqu'un pouvait m'aider un peu la dessus.  
En fait, ce qui me bloque, c'est que, dans une image qui contient plusieurs types (photo, dessin, texte, etc.), je  dois identifier ces parties pour pouvoir ensuite les decouper. Mais, le truc, c'est que je ne sais pas comment caractériser ces parties pour pouvoir les decouper :s! selon quel critère peut on dire que cette partie est une photo ou que celle-ci est un dessin??!!  
 
Si je suis pas tres claire desolee mais faites le moi savoir et si quelqu'un aurai des ptits tuyeau ca serait sympa :)
 
voila merci  :jap: .


sois tu n'es pas clair et alors je n'ai pas compris, soit tu l'es est dans ce cas ton problème, la reconnaissance de formes,  qui est difficile fait l'objet de nombreuses recherches dans les laboratoires.  
 
Dans ce cas, cela m'étonnerait que ce soit à faire pour un projet scolaire ou même en entreprise.

Reply

Marsh Posté le 26-02-2005 à 02:26:41    

sanna => C'est quoi pour toi une image ? Juste un .jpg ou un .bmp ?


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 26-02-2005 à 09:24:32    

ca se trouve elle parle de fichier .pdf ou du type MIME...

Reply

Marsh Posté le 26-02-2005 à 18:19:48    

Bonsoir,
 
Merci a tous d'avoir lus et repondu! c'est gentil, je croyais pas qu'on me repondrait aussi vite :)
 
En fait, je voudrais que mon programme puisse analyser une image et qu'il puisse me dire qu'ici il y'a une photo, ici il y aurait un dessin et la un texte. Je veux un programme qui puisse me dire qu'a une position preceise se trouve ceci ou cela. Et ensuite pouvoir compresser chaque type avec une compression appropriée.  
Je pense qu'a la base l'image doit etre en format non compressé (en bmp pas de jpeg).
 
ps : il est trop marrant KangOl ;)
 
Si vous avez des idées ou des avis mm quelconque ca serait sympa :) merci.

Reply

Marsh Posté le 26-02-2005 à 18:29:17    

:sol:
 
non plus sérieusement, ca me fait penser a du ocr : on détècte le texte et tout le reste est considéré comme image...
 
au fait, comment tu différencie une photo d'un dessin ??


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 26-02-2005 à 19:24:49    

KangOl a écrit :

:sol:
 
non plus sérieusement, ca me fait penser a du ocr : on détècte le texte et tout le reste est considéré comme image...
 
au fait, comment tu différencie une photo d'un dessin ??


En fréquences (DCT ou FFT), et en variance/écart-type.
Dans le premier cas, tu ne te choppes que des hautes fréquences, et peu de basses fréquences.  
 
Dans le 2ème cas, tu te choppes beaucoup de "bruit", c'est à dire que les écarts sont très élevés par rapport à la moyenne. Tu peux même utiliser une bête DOG (Difference of Gaussian) pour détecter ça.
 
Après, il n'y a qu'à faire une analyse par bloc de 8x8 par exemple (parce qu'il y a plein d'algos de DCT dispos pour cette résolution), puis à rafiner là où c'est nécessaire....

Reply

Marsh Posté le 26-02-2005 à 19:43:26    

pas grand chose à ajouter à ce qu'a dit Lam's
Pour détecter les textes, tu peux te baser sur le nombre de couleurs utilisées par petite région (et si le texte est antialiasé, travailler sur la chrominance)  
tu peux également te baser sur le fait que les zones de texte comportent en général des espaces entre les lignes, facilement repérable.
Et pour finir pourquoi ne pas utiliser un petit réseau de neurone (si tu es pas pressée) et l'éduquer à détecter certaines zones?

Reply

Marsh Posté le 26-02-2005 à 19:53:51    

moi, pour la détection de visages, j'utilise les reseaux de neurones..
 
mais je n'ai pas réinventé la roue, j'ai utilisé opencv de intel (perso je l'utilise sous .NET), c'est gratuit et meme open source..  :)  
 
http://www.intel.com/research/mrl/research/opencv/
 
le package telechargeable inclus pas mal de reseaux déjà entrainés.. (hum.. il y a visage de face, visage de profil, corps humain debout face / profil.. etc..)
mais rien ne t'empeches d'entrainer tes propres reseaux de neurones pour qu'ils puissent trouver, dans la photo, la forme que tu souhaites..  
 
voili voilou..  :hello:

Reply

Marsh Posté le 26-02-2005 à 19:53:51   

Reply

Marsh Posté le 27-02-2005 à 20:22:15    

Rebonsoir :)
 
C'est très interessant ce que vous dites ;) ca m'aide bcp... franchement merci!  
 
Est ce que quelqu'un aurait des exemples de programmes sur la detection ou sur tout ce qui touche l'image??  
 
J'ai une question aussi, pour la detection est ce que le format de l'image est important??
 
Si j'ai le temps, j'utiliserai surement les reseaux de neurones... (mais bon si j'arrive a avancer sur mon projet).
 
ps : ca veut dire quoi "antialiasé" (je sais que ca vient de "aliasing" mais j'ai oublié ce que ca voulait dire)

Reply

Marsh Posté le 27-02-2005 à 20:33:50    

<remarque hs="hs">C'est marrant, toutes les meufs qui passent par Prog, écrivent leur topic dans une couleur différente :??:</remarque>

Reply

Marsh Posté le 27-02-2005 à 20:45:09    

FlorentG a écrit :

<remarque hs="hs">C'est marrant, toutes les meufs qui passent par Prog, écrivent leur topic dans une couleur différente :??:</remarque>


tiens, mes couleurs perso overwrite les couleur du post...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 27-02-2005 à 20:53:09    

au fait non !
la couleur qu'elle utilise est proche de celle de mes couleur perso alors j'ai pas vu la différence :D


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 27-02-2005 à 21:40:21    

lol, j'ai mm pas fait attention mais bonne ID FlorentG ;)

Reply

Marsh Posté le 28-02-2005 à 12:42:26    

Bonjour,
 
Toujours pas de reponse :(
 

Citation :

Pour détecter les textes, tu peux te baser sur le nombre de couleurs utilisées par petite région (et si le texte est antialiasé, travailler sur la chrominance)  
tu peux également te baser sur le fait que les zones de texte comportent en général des espaces entre les lignes, facilement repérable.


 
Si le texte est noir et blanc et s'il est sur une seule ligne c'est pas bon... (mais merci quand meme ;) ) au fait, ca veut dire quoi "antialiasé"?  
 
D'autres idées pour detecter le texte??
 

Reply

Marsh Posté le 28-02-2005 à 14:36:25    

L'analyse de document "mixte" n'est pas une mince affaire
aujourd'hui on maîtrise le traitement de document typographié (OCR), on bidouille un peu sur du dessin (vectorisation), mais pour le manuscrit et le mixte on rame encore pas mal.
Tu peux faire projection des pixels sur les côtés du document pour faire une analyse des profils; ainsi, si c'est écrit "droit" ça te donnera une idée sur la présence de texte et son organisation.
Tu peux aussi, comme on t'en a parlé, faire une analyse en fréquences (Fourier). Tu ne conserve que les basses fréquences dans un premier temps, tu fais un découpage en région et tu peux raffiner en augmentant ta fréquence d'échantillonage et en construisant un arbre de relation entre les régions que tu créeras ainsi au fur et à mesure.
Je peux même te conseiller, pour ce genre d'approche, d'utiliser les ondelettes ainsi tu auras directement l'approche multi-résolution, l'information temporelle et l'information fréquentielle.
Tu peux d'autre part tenter 2, 3 trucs avec les transformées de Hough voir si tu peux retrouver des choses "connues" (genre un cadre).
Pour terminer, sur les formes que tu vas extraire de ton document (segmentation), tu utilises les techniques classiques de descriptions de formes (moments géométriques, description grammaticale etc.). J'ai un topic à ce propos qui traine sur le forum.
La prise de décision tu la fait avec une analyse statistique, un classifieur, un réseau de neurones etc. Ce domaine propose un grand choix de méthodes, difficile d'être exhaustif.
Pour ma part je te conseillerai d'utiliser une carte de Kohonen, voir si tu peux faire des regroupement par similarités.
Voilà... bon courage

Reply

Marsh Posté le 28-02-2005 à 14:46:58    

... et en attendant, elle ne sait toujours pas ce que signifie 'antialiasé', donc les transformées de Hough et les ondelettes, ça sera peut-être pour un autre jour, non ?


Message édité par Lam's le 28-02-2005 à 14:47:13
Reply

Marsh Posté le 28-02-2005 à 14:54:09    

Lam's a écrit :

... et en attendant, elle ne sait toujours pas ce que signifie 'antialiasé', donc les transformées de Hough et les ondelettes, ça sera peut-être pour un autre jour, non ?


Je suis désolé mais mon approche est de donner le nom des outils à utiliser en ce qui concerne son problème principal, c'est à dire le traitement et l'analyse de document mixte. Ensuite, pour ce qui est de l'algo de compression, de l'aliasing et de ce genre de choses, ça porte sur un aspect purement technique. Et à mon avis, la pure technique est la dernière chose à aborder. On commence par réflechir "haut niveau", c'est à dire: "Qu'est-ce que je veux faire?". Et petit à petit, on raffine sur le "Comment vais-je le faire?". J'ajouterai en dernier lieu qu'il ce qu'il faut en définitions sur le net à partir des mots clés "aliasing", "aliasé" etc. Les moteurs de recherche et les bouquins vont lui être plus utiles que nous.

Reply

Marsh Posté le 28-02-2005 à 14:59:24    

(en tout cas j'en connais une qui va pas s'ennuyer...[:dawa])


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 28-02-2005 à 15:01:35    

Moktar1er a écrit :

Je suis désolé mais mon approche est de donner le nom des outils à utiliser en ce qui concerne son problème principal, c'est à dire le traitement et l'analyse de document mixte. Ensuite, pour ce qui est de l'algo de compression, de l'aliasing et de ce genre de choses, ça porte sur un aspect purement technique. Et à mon avis, la pure technique est la dernière chose à aborder. On commence par réflechir "haut niveau", c'est à dire: "Qu'est-ce que je veux faire?". Et petit à petit, on raffine sur le "Comment vais-je le faire?". J'ajouterai en dernier lieu qu'il ce qu'il faut en définitions sur le net à partir des mots clés "aliasing", "aliasé" etc. Les moteurs de recherche et les bouquins vont lui être plus utiles que nous.


Ce que je voulais dire par là, c'est qu'avant de s'exciter sur la vision par ordinateur, il lui faudra sans doute les bases: quelle est la différence profonde entre un JPEG et un GIF, que signifie anti-aliasing,  comment tripatouiller une image, etc.  
Et je ne pense justement pas que ce soit le but du forum de couvrir ça (ou alors très légèrement). Donc tes messages sont nickels (et intéressants), mais ils risquement malheureusement de lui être peu utiles, vu que je connais peu de gens qui sachent faire de la "compression d'images" un peu poussée sans savoir ce qu'est l'antialiasing ou comment afficher une image à l'écran...
 
Y a qu'à voir le flou de ses messages:

Citation :

Est ce que quelqu'un aurait des exemples de programmes sur la detection ou sur tout ce qui touche l'image??  


Reply

Marsh Posté le 28-02-2005 à 15:08:09    

Je n'aurais qu'une question qui s'adresse directement à la redactrice de ce topic: c'est pour quel type de projet?
Parceque si c'est pour une thèse et que c'est juste le début, je pense qu'en 3 ans il y a moyen de faire quelque chose, mais si c'est un projet de 4h/semaine sur 3 mois, là il ne faut pas rêver.

Reply

Marsh Posté le 28-02-2005 à 15:25:03    

ok, merci!  
je vais essayer de me debrouiller avec ce que j'ai pu comprendre... Mon but etant de faire une premiere approche sur le sujet... je vois qu'il y'a bcp de choses a etudier... mais bon qui ne tente rien n'a rien ;) et faut vraiment que je réussisse! je sais que j'ai l'air un peu bcp perdu... et c'est pour ca que j'ai besoin qu'on m'oriente... mais ne me decouragez pas svp!

Reply

Marsh Posté le 28-02-2005 à 15:29:14    

http://www.icdar2005.org/
C'est LA conférence du moment sur l'analyse de document. Je te conseille de regarder les noms des organisateurs et co., et de chercher un peu ce qu'ils ont pu faire comme publis. Il y a aussi la revue "Pattern recognition" qui contient pas mal de papiers sympas à ce sujet.

Reply

Marsh Posté le 28-02-2005 à 16:05:09    

Merci moktar1er :) j'vais voir ca!
 
J'ai enfin compris ce que voulait dire antialiasing ;)  
Anti-aliasing :  
Technique qui lisse les surfaces de différentes couleurs en mélangeant les bords et les surfaces de différentes couleurs, c'est-à-dire, en mélangeant les pixels qui se touchent pour que le rendu soit meilleur (il peut toutefois y avoir un petit effet de flou). Ceci évite ou atténue les "effets d'escalier" sur le contour de certaines surfaces.

Reply

Marsh Posté le 28-02-2005 à 18:20:20    

oui enfin je te conseillerais quand même de faire un peu de traitement du signal et de ne pas te contenter de ta petite définition ;)  
Sans rire, je vois pas comment on peut se lancer dans ton projet sans unminimum de connaissances sur fourier, et cie..
Bon courage ;)

Reply

Marsh Posté le 28-02-2005 à 18:57:10    

Lamarmotte a écrit :

oui enfin je te conseillerais quand même de faire un peu de traitement du signal et de ne pas te contenter de ta petite définition ;)  
Sans rire, je vois pas comment on peut se lancer dans ton projet sans unminimum de connaissances sur fourier, et cie..
Bon courage ;)


 
A mon avis on peut s'en passer, enfin je l'espere. :)  
http://www.inria.fr/rrrt/rr-4081.html
 
 
sanna => Question indiscrete: tu est en quelle année ?


Message édité par Chronoklazm le 28-02-2005 à 18:58:11

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 28-02-2005 à 20:33:22    

on peut sûrement s'en passer je ne répond plus de rien :)

Reply

Marsh Posté le 28-02-2005 à 21:59:45    

Chronoklazm a écrit :

A mon avis on peut s'en passer, enfin je l'espere. :)  
http://www.inria.fr/rrrt/rr-4081.html
 
 
sanna => Question indiscrete: tu est en quelle année ?


flute, le serveur ftp est out... :/

Reply

Marsh Posté le 17-03-2005 à 22:05:16    

ça faisait longtemps :)
 
J'y vois un ptit peu plus clair. Je prends des cours de traitement du signal en ce moment (mais bon j'en suis a mon premier cours)... Bref, j'ai appliqué une DCT a mon image (par bloc de 8*8 comme pour la compression JPEG) ce qui me donne une matrice contenant des frequences differentes... et donc comme j'ai pu le constater, pour un dessin ou un texte on aura plus de basses frequences (et moins de hautes frequences) cad une matrice genre :

Citation :


2014    2    2    1    1    1    1    0  
 12    0    0    0    0    0    0    0  
 -1    0    0    0    0    0    0    0  
  1    0    0    0    0    0    0    0  
 -1    0    0    0    0    0    0    0  
  1    0    0    0    0    0    0    0  
  1    0    0    0    0    0    0    0  
  0    0    0    0    0    0    0    0  

 
 
et pour une photo on aura plus de choses comme ca :

Citation :


741    -8  -16    30    3    3    7    2  
113    11  -25    11  -14   8   -8    6  
135    37  -27    -8  -16   14  -14  7  
-144   22   -8    29   -1    6    6    4  
 70     19  -16   24  -10   -3   -1   1  
162    31  -11  -19  -13    9  -12   4  
114    15   15    -3    2    11   2    3  
107    -16  -12  19   -2   -10   3   -3  


 
Jusqu'ici ca va! mais pour une image qui contient un dessin et une photo, je vois pas trop comment séparer les 2 types et comment coder tout ça :s!!  
 
J'ai besoin de votre aide please  :jap:

Reply

Marsh Posté le 17-03-2005 à 23:16:10    

Faut de la magie ...
 
Je dis ca comme ca :
 
 Peut on appliquer des outils statistiques pour comparer cet echantillon avec des echantillons d'une base de données qui contiendrait quelques variantes distinctes d'objets ?
 
Avec les valeurs propres as t'on des differences de proportionalité exploitables ?
 
Comment savoir si il y a plus de basses ou de hautes frequences ?  
 - On compte le nombre de "0" presents et si il y en a beacoup (definir un seuil ?) ... :D
 - Appliquer des filtres ?  
 
Bon j'arrete :)


Message édité par Chronoklazm le 17-03-2005 à 23:17:18

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 18-03-2005 à 08:46:17    

Il faut surtout retrouver, "en gros" dans un premier temps, les différentes zones. On peut imaginer une espèce de segmentation hyper grossière (pour ça il existe des tas de méthodes). Une fois la segmentation faite, on peut prendre les pixels de chaque région (ou du moins, les pixels des plus grands rectangles inscrits dans la région) et y aller à grands coup de DCT, de DFT etc. et regarder ce que ça donne. Mais personnellement, je reste attiré par une approche ondelettes :)

Reply

Marsh Posté le 20-03-2005 à 23:55:54    

Oui, je vais essayer d'appliquer une segmentation par région pour isoler
les zones les unes des autres. Je me bases que sur les frequences pour  
determiner les caracteristiques pour la segmentation?
 
 

Citation :


Une fois la segmentation faite, on peut prendre les pixels de chaque
région(ou du moins, les pixels des plus grands rectangles inscrits dans
la région) et y aller à grands coup de DCT, de DFT etc.  
et regarder ce que ça donne.


 
euuu :??: pourquoi une DCT après une segmentation? j'ai pas compris!  
 
En espèrant que vous me trouviez pas trop chiante  :jap: mais franchement
j'ai du mal toute seule...

Reply

Marsh Posté le 21-03-2005 à 08:47:39    

sanna a écrit :

Oui, je vais essayer d'appliquer une segmentation par région pour isoler
les zones les unes des autres. Je me bases que sur les frequences pour  
determiner les caracteristiques pour la segmentation?
 
euuu :??: pourquoi une DCT après une segmentation? j'ai pas compris!  
 
En espèrant que vous me trouviez pas trop chiante  :jap: mais franchement
j'ai du mal toute seule...


 
Sincèrement ça ne m'étonne pas trop que tu aies du mal, c'est loin d'être un sujet simple...
Alors, pour la segmentation, tu n'es pas obligée de passer dans le domaine fréquentiel. Il y a tout un tas d'autres méthodes, en regroupant les pixels voisins et similaires par exemple, ce genre de choses (relaxation etc.). Je pense qu'il te faut réaliser une étude exploratoire juste pour ça (faire une review des méthodes les plus utilisées dans ce domaine, les tester et garder celle qui semble le mieux adaptée).

Reply

Marsh Posté le 09-04-2005 à 13:50:04    

hello tous ,
 
Sanna, peut tu poster une image type que tu as a analyser, afin de nous donner une idee des traitements qu'on pourrait appliquer dessus.
 
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed