Reconnaissance de voiture

magiciendoz

Membre confirmé
20 Juillet 2007
32
0
Bonjour,

J'ai un projet (sur 1an) à réaliser qui consiste à recevoir en entrée une photo (jpeg, png etc...) et le programme consiste à reconnaitre la marque et le modèle de voiture (sûrement à l'aide d'une Base de Données en ressource).

à coder en Java ou Cpp (je pense plutôt Java).




Quelqu'un aurait-il des pistes de réflexion à me proposer ?

Merci de m'avoir lu :zen:
 
Une petite histoire, je ne sais si elle est vraie...
Il y a quelques années les Americains avaient écrit un logiciel pour reconnaitre les tanks.
Ils s'étaient basés sur les reseaux neuronaux.
Au bout d'un certain temps d'apprentissage la reconnaissance entre tank "Ami" et "Ennemi" était parfaite.
Manque de bol, le réseau neuronal avait simplement apris a reconnaitre les photos de moins bonne qualité (tanks russes) et les photos de bonne qualité (americain)


Cordialement
 
  • J’aime
Réactions: grumff et p4bl0
Bonjour,

J'ai un projet (sur 1an) à réaliser qui consiste à recevoir en entrée une photo (jpeg, png etc...) et le programme consiste à reconnaitre la marque et le modèle de voiture (sûrement à l'aide d'une Base de Données en ressource).

à coder en Java ou Cpp (je pense plutôt Java).




Quelqu'un aurait-il des pistes de réflexion à me proposer ?

Merci de m'avoir lu :zen:
Je peux déjà te donner une piste... Ce type de traitement ça commence par de l'analyse d'image. Et la première consigne qui m'ait été donnée à l'université dans ce domaine, c'est de ne SURTOUT PAS utiliser le java.
L'analyse d'image ça requiert beaucoup de calcul et de mémoire. Autrement dit, le garbage collector java qu'est un vrai gâchi de mémoire, ainsi que ses structures de données volumineuses, c'est déjà à oublier d'entrée.
Et niveau calculs, c'est pas un langage compilé, les performances n'ont rien à voir avec du c/c++.

Bref, le Java c'est un langage très sympa à programmer, très haut niveau, très riche, mais c'est pas fait pour faire n'importe quoi, et là en l'occurrence, c'est vraiment un cas où il faut l'éviter à tout prix.

Après je pense que tu trouveras beaucoup plus d'informations via google que via ce forum pour avoir des méthodes efficaces, c'est pas le genre de techniques qu'on va t'expliquer en 2 messages de 20 lignes.
 
Bonjour,

J'ai un projet (sur 1an) à réaliser qui consiste à recevoir en entrée une photo (jpeg, png etc...) et le programme consiste à reconnaitre la marque et le modèle de voiture (sûrement à l'aide d'une Base de Données en ressource).

à coder en Java ou Cpp (je pense plutôt Java).




Quelqu'un aurait-il des pistes de réflexion à me proposer ?

Merci de m'avoir lu :zen:
java oublie

ici il y a une equipe de chercheurs qui travaillent sur genre d'algo
pour d'autre finalite mais le principe est le meme

ce que tu decris est un gros travaille et pour des gens qui n'ont aucune difficulte avec un language ou plein d'autres concepts ...

voila ma reflexion
 
Hello, je dirai choisi le langage que tu préfères parce que tu va en bouffer si tu souhaites faire qqc de correct!

et tu peux très bien choisir le java. Faut être ouvert et ne pas se baser sur un historique stéréotypé de java lent..

sun te fournit à la base qq api bien pratiques pour la manipulation, en particulier la JAI : http://java.sun.com/javase/technologies/desktop/media/
ca permet de faire pas mal de truc comme tu peux le voir ici

pour tes pistes de reflexion : http://www.jens-langner.de/lrecog/

Après si je peux donner un conseil, c'est un gros projet, 1 an c'est très court, fixe toi des paliers concrets a difficulté croissante!

Bon courage!!
 
tu peux très bien choisir le java. Faut être ouvert et ne pas se baser sur un historique stéréotypé de java lent..
Non, je suis désolé je peux pas laisser dire ça, c'est pas un "historique stérotoypé", c'est un constat de tous les jours et une obligation technique, Java c'est un langage interprété, du bytecode, c'est pas compilé, les performances n'ont rien à voir et n'auront jamais rien à voir avec du c. C'est un rapport de 2 à 10, plus souvent 10 d'ailleurs, voir beaucoup plus. C'est le principe même du langage qui rend impossible d'obtenir les mêmes performances.
 
:rose:

Franchement je veux remercier tout le monde d'avoir répondu (pas mal l'anectode sur les tanks russes et les tank américains) mais en fait j'ai trop mal compris le sujet ! Lol
Bref c'est pas du tout une histoire de reconnaissance d'image (je me disait aussi !) mais carrément autre chose !

Bref Merci :zen:
 
Non, je suis désolé je peux pas laisser dire ça, c'est pas un "historique stérotoypé", c'est un constat de tous les jours et une obligation technique, Java c'est un langage interprété, du bytecode, c'est pas compilé, les performances n'ont rien à voir et n'auront jamais rien à voir avec du c. C'est un rapport de 2 à 10, plus souvent 10 d'ailleurs, voir beaucoup plus. C'est le principe même du langage qui rend impossible d'obtenir les mêmes performances.

Avec une rapide recherche google on se rend vite compte que c'est bien loin d'être si évident ce rapport de performance.
Je ne conteste pas que dans certains cas c++ va être plus performant. Mais ce n'est vraiment pas le cas tout le tps. Surtout que avoir cette "super performance" de c++ n'est clairement pas accessible au developpeur débutant, et le rapport de tps de dev va là aussi être de 2 à 10 en faveur de java!
le langage interprété est compensé par la JIT aujourd'hui et a désormais peu à envier à un prog compilé.
Bref, java ETAIT lent, cultiver aujourd'hui cette image du "java est lent", là non je ne suis pas d'accord, et je le constate aussi tout les jours!!!

http://blog.taragana.com/index.php/archive/java-is-slow-revisited/
 
Et bien quand tu développes et bosses toute la journée sur un programme Java, je peux te dire que c'est plus lent que du C ou ses dérivés, au moins au niveau de la réaction de l'interface graphique.
Je suis de l'avis de grumff, du moment qu'il y a une couche d'interprétation à passer les performances ne peuvent qu'être dégradées, pas de miracle. :D D'ailleurs ce n'est pas pour rien que des sociétés proposent des compilateurs pour transformer ton bytecode Java en un vrai exécutable. :siffle:
 
bon je vais dire un truc quand tu lis une image tu dois lire ses couches (je fais simple)

apres tu dois trouver dans tout ca une shape qui pourrait ressembler a quelque chose d'existant, ici les gas le font pour essayer de reconnaitre l'evolution d'une meme cellule a different stade au milieu d'autres trucs bien sur

je sais pas si vous avez conscience de l'algo et des resources que ca demande
par exemple ils existent des applis de barcodes (super plus simple) il en existe une pour l'iphone qui te sature les 128 de mem d'un coup et qui met environ 1 a 4 sec pour rendre
le resultat depend bien sur de la photo un barcodes sur une image noir et blanc pas evident
une ferrari sur fond rouge ecetera,

les gas ici sont des monstres de code et de math et luttent depuis des annees sur cette problematique, l'anecdote de Didier c'est juste pour dire que beaucoup ont tente ce genre de jeux et ca ne date pas d'hier, c'est juste une problematique de computer science
si tu veux faire un Phd / these cela peut etre une problematique risquee (pour avoir des resultats pour l'obtention de ton diplome)

:zen: