[Résolu] Algorithme recherche d'image Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-67%
Le deal à ne pas rater :
Carte Fnac+ à 4,99€ au lieu de 14,99€ (nouveaux clients / ...
4.99 € 14.99 €
Voir le deal

 

 [Résolu] Algorithme recherche d'image

Aller en bas 
+2
arthuro
onilink_
6 participants
AuteurMessage
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Algorithme recherche d'image Empty
MessageSujet: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMar 26 Juin 2012 - 17:40

Bonjour.
Il faut que je code un algo de recherche d'image performant, et j'ai bien une idée de comment m'y prendre, mais je préfère demander si vous n'avez pas une meilleur solution, avant de me lancer :p (ou si vous trouvez que mon algo est pourris, afin de m'éviter de perdre du temps dessus)

Mon algo actuellement, pas encore testé :
Création de la base de donnée
-on rétrécis l'image a une taille fixée, par exemple 64*64
-on crée quelques images a partir de celle ci, avec la perte d'un bit de précision a chaque fois.
Par exemple pour une couleur 24bits 0x29F283, soit 10100111 11001010 000011
On auras, pour par exemple 4 images :
10100111 11001010 000011
10100110 11001010 000010
10100100 11001000 000000
10100000 11001000 000000
-on hache les images obtenus, et on les ajoutes a la base de données

Recherche de l'image
Même méthode pour transformer l'image.
Ensuite on compare le hachage obtenue avec ceux de la base de données.
Et la fonction retourne s'il on a trouvé l'image et la précision de la correspondance.

Qu'en pensez vous ?


Dernière édition par onilink_ le Jeu 28 Juin 2012 - 16:18, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité




[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMar 26 Juin 2012 - 19:36

je suppose que ça ne peut fonctionner que si les deux images sont exactes au pixel près, non ?

enfin, je suppose que t'aura du mal à trouver l'image correspondante si la balance de couleurs est différente, ou si elle à été retouchée.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMar 26 Juin 2012 - 19:43

Ouaip c'est le but, deux images exactement identiques.
La marge d'erreur en fait c'est au cas ou une image aurais subit quelques pertes après une compression jpeg, et encore, suis pas sur que ça fonctionne très bien.
Je devrais peut être séparer la luminance de la chrominance, et ne faire les tests que sur la luminance, au moins comme tu dit si y a eu une petite retouche ça devrais passer.
Bref c'est une ébauche d'algorithme, je suis sur que d'autres idées me viendrons pour améliorer le truc de base :b
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro


Messages : 1483
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMar 26 Juin 2012 - 19:52

bin pour des images aux pixels pret:

tu hache directement l'image.
tu fait un tableau code de hachache <-> chemin image

si tu veux que ça marche pour des images pas exactement pareil.
Tu fait un algorithme qui détruit peut à peut l'image, la simplifie ( genre passage en niveau de gris avec 8 niveau)
puis pareil hachache et tableau.


Bon après, les optimisations peuvent être faite sur le tableau.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMar 26 Juin 2012 - 20:27

Ok, bah c'est l'algo que je proposais donc x)

Sinon tu connais des algos pour images semi différentes ? Genre comme tineye.
(a titre instructif seulement :p)
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro


Messages : 1483
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMar 26 Juin 2012 - 20:54

Moi j'en connais aucun.
Mais je peux en imaginer un.

Pour deux images de même dimension

Tu définis une distance sur l’ensemble des images ( comme en math)

je te propose
D2(imgA,imgB) = Somme(pixel(x,y)) de ( imga.(x,y)-imgb(x,y) )²
D1(imgA,imgB) = Somme(pixel(x,y)) de abs( imga.(x,y)-imgb(x,y) )
Doo(imgA,imgB) = sup(pixel(x,y)) de abs ( imga.(x,y)-imgb(x,y) )

Deux images sont égales si elle sont peux éloigné au sens d'une de ces norme.

Ceci devrait marche bien. ( petite préférence pour la distance D2 )

Ensuite tu peux lancer un flou sur les images avant de mesurer la distance de l'un à l'autre, sa peux compenser un peux mieux un décalage entre deux images.
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMer 27 Juin 2012 - 3:18

Moi, je passerais en YUV ou en HSL (HSV fera l'affaire) et je réduirait en 64*64, mais en moyennant les pixels.
Ensuite, je ferais :
- un hash sur les U et V (ou H et S, bref, l'info de la couleur),
- un hash sur le Y (la chroma / Luminosité),
- un hash sur un passe haut 4 bits sur le Y (V / L, la chroma).

Je sais pas si un hash ça fait bien ce que tu veux ... pour chercher la 'distance' d'une image à l'autre, je préconiserais plutôt de calculer la somme, la moyenne, la médiane et l'écart-type, et de tester tout ça.
Et je les testerais avec le passe-haut, c'est là où tu à ta dynamique d'image.


Après, c'est ce que je ferais, c'est pas dit que ça marcherais mieux ...
Revenir en haut Aller en bas
http://www.tdms.fr
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyMer 27 Juin 2012 - 11:48

Pourquoi HSL ? YUV je comprend, mais pour HSL les opérations sont complexes, puis je vois pas non plus l'intérêt, mis a part d'avoir la luminance.
(car l'œil est plus réceptif a la luminance qu'a la chrominance, pour ceux qui suivent pas :b)

Sinon y a YCbCr qui demande quasiment pas d'opérations (moins que YUV), et il donneras de même la luminance séparé de la chrominance :p
C'est d'ailleurs utilisé dans le format jpeg, donc pour comparer deux images de ce type, a mon avis c'est le mieux. (puis faut prendre en compte les sous échantillonnages)

En tout cas, on a tous a peu près la même idée d'algorithme, ça veux donc dire que j'étais pas parti sur n'importe quoi :p
J'vais pouvoir commencer a coder, je vous tient au jus happy1
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyJeu 28 Juin 2012 - 13:53

Juste pour dire que l'algo marche du tonnerre :p
Et finalement, quand on rétrécis l'image en 64*64, on perd tellement de détails que même les artefacts jpeg ne sont pas détectés, et on a (d'après mes tests actuels) même pas besoin d'utiliser plusieurs hashs.
De plus créer la base de données pour ~1100 images prend a peu près 20sec, puis une fois fait, chercher une image met quelques fractions de secondes :b
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyJeu 28 Juin 2012 - 14:18

Epic win :p
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyJeu 28 Juin 2012 - 15:17

Joli, t'as plus qu'à ajouter des systèmes d'analyse de formes/couleurs /techniques pour retrouver l'auteur d'une œuvre ! mrgreen2

Tu as deux semaines crossa
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyJeu 28 Juin 2012 - 16:04

Héhé, si ça faisais parti du projet j'aurais ptêtre essayé mrgreen2
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
Mobi


Messages : 1256
Localisation : Dijon

[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image EmptyJeu 28 Juin 2012 - 19:11

Cool, merci, je vois que tu bosses dur Yum!
Revenir en haut Aller en bas
Contenu sponsorisé





[Résolu] Algorithme recherche d'image Empty
MessageSujet: Re: [Résolu] Algorithme recherche d'image   [Résolu] Algorithme recherche d'image Empty

Revenir en haut Aller en bas
 
[Résolu] Algorithme recherche d'image
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Pathfinding Algorithme A* - exemple exe gmk
» [Resolu] recherche aide
» Algorithme de pathfinding sans boucle.
» [Resolu] recherche aide pour GM
» [résolu] recherche d'un sprite zelda

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: