Aller au contenu


pmdd

Inscrit(e) (le) 26 sept. 2017
Déconnecté Dernière activité aujourd'hui, 12:39
-----

Messages que j'ai postés

Dans le sujet : Naissance de mon robot autonome IA

hier, 17:03

C'est quand même très très compliqué...

 

* En voulant apprendre un objet hors objets de la camera IA, j'ai énormément compliqué les choses

* En voulant non seulement reconnaitre l'objet , mais aussi filmer sur mon smartphone en live et enregistrer en MP4, c'est carrément la galère pour faire les trois opérations conjointement par la même caméra.

* Puis en voulant visualiser la position du rectangle de reconnaissance de la souris sur la vidéo en live sur mon smartphone !!!

 

Le résultat est top. Pour l'instant je n'ai pas développé la fonction recherche, mais la reconnaissance et toutes les options vidéo fonctionnent, heureusement grâce à l'aide de Chat GPT. Impossible de faire autrement et malgré cela ça été un gros boulot fastidieux.

 

Si j'étais parti sur une caméra Huskylens, tout le travail était fait: la possibilité d'apprentissage d'un objet spécifique, l'écran vidéo en live avec les rectangles de reconnaissance ! Le projet était largement abordable. En fait c'est comme s'il avait fallu développer une library spécifique ce qui n'est ni de ma compétence, ni dans mes centres d'intérêt.

 

Maintenant, ça sera plus intéressant, développer un algorithme de recherche et de capture de la souris.

 

Voici pour l'instant ce que je visualise sur mon téléphone, envoyé en live par le robot:

 

 

detect_souris.mp4   8,98 Mo


Dans le sujet : Naissance de mon robot autonome IA

07 octobre 2026 - 06:36

J’étais resté sur une note optimiste… sans envisager la galère qui m’attendait !

 

Sur la plateforme Ultralytics , l’apprentissage se passe très bien. Je suis même monté à 300 photos de ma souris dans toutes les conditions de position, distance et éclairage pour obtenir un modèle très performant dépassant souvent les 80% de fiabilité.

 

Le gros problème a été l’exportation vers la camera IA , ce qui ne fonctionne pas malgré l’option disponible dans Ultralytics !

 

Après de nombreuses tentatives j’ai laissé la main à chat GPT, qui pendant près de deux jours a pondu des centaines de lignes de code, a fait des tentatives dans tous les sens, pour finalement échouer aussi.

 

Mes recherches sur le web montre qu’effectivement il y a un gros bug. En résumé ma caméra IA est tout à fait adaptée si on utilise les modèles intégrés comme les personnes, chat, chien, oiseau, cheval, voiture, camion, bus, vélo, moto, bouteille, tasse, verre, fourchette, couteau, cuillère, chaise, canapé, lit, table, télévision, ordinateur portable, téléphone portable, clavier, souris d'ordinateur, livre, horloge, sac à dos, etc. Elle est en particulier très performante pour les gestes humains.

 

Mais pas pour un modèle spécifique !!!

 

Je me suis donc rabattu sur un autre moteur, Openvino, permettant d’exporter mon modèle entrainé directement sur le Pi5.

 

Et là c’est simple et ça marche nickel, mais c’est le Pi5 qui travaille, la caméra prend juste des images standard. Une caméra 3 fois moins chère aurait suffit et du coup le CPU de la Pi5 va être sollicité, à voir !

 

Je continue, mais en résumé il ne faut pas acheter cette caméra pour faire du spécifique. La caméra Huskylens qui a aussi une IA embarquée aurait été plus performante, puisque le mode apprentissage fonctionne en local, mais avec une définition beaucoup moins élevée.

 

En résumé j’ai donc :

 

  • Pris les photos de l'objet à reconnaître : angles, distances, éclairages et arrière-plans différents.
  • Importé les photos dans Ultralytics Platform et dessiné les rectangles autour de la souris à reconnaître
  • Entraîné YOLO11n dans Ultralytics,  300 images en  960 × 960.
  • Vérifié les performances du modèle obtenu dans Ultralytics et conservé le meilleur modèle.
  • Exporté depuis Ultralytics via OpenVINO
  • Téléchargé le modèle OpenVINO puis copié son dossier sur le Raspberry Pi 5.
  • Installé sur le PI5 OpenVINO dans un environnement Python ayant accès à la caméra IA.

Et par conséquent la caméra capture simplement les images. Elle ne réalise ici aucun traitement IA. OpenVINO exécute YOLO11n sur le CPU du Raspberry Pi 5.

 

Le programme d'Orba, mon robot,  récupère finalement quelque chose de très simple : souris détectée ou non + niveau de confiance + position dans l'image.

 

Mon premier objectif reste la détection de la souris fixe par Orba.

 

Mais je rajoute un objectif ultérieur, détecter la souris en mouvement, la suivre et la capturer !  Cela suppose aussi que je vais devoir installer un dispositif de capture sur Orba.


Dans le sujet : Naissance de mon robot autonome IA

05 octobre 2026 - 12:43

Bonjour,
Je viens de lire tout le sujet... Mâtin, quel talent !

Comme l'on dit sur d'autres forums : Je prends une chaise, quelques cacahuètes et je m'installe confortablement pour suivre la suite  :-)


Coyotte

Merci c'est sympa, mais le talent je sais pas, j'apprends , je teste, je bosse... et j'avance.

 

Là je suis un peu dans le dur. Faire l'apprentissage d'une image pour être reconnaissable par la suite, demande de l'expérience. Il faut que les images soient suffisamment significatives mais aussi différentes, dans tous les environnements, les conditions d'éclairage... Laà j'en suis à ma 3ème série de photos que je traite sur Ultralytics en entourant à chaque fois l'objet à reconnaître. il faut aussi prendre des photos de l'environnement vide.

 

Ultralytics semble être la bonne plateforme. J'ai tout fait manuellement pour une meilleure efficacité et une bonne compréhension mais il y a des IA sur tous ces sites apparemment. Cette plateforme est payante mais des crédits alloués à l'inscription suffisent à faire le job.

 

Mes images sont traitées mais il y a une bizarrerie , c'est que si je teste mes images, la souris n'est reconnue qu'avec un niveau de confiance de 0.01, ce qui est très bas. Plus le seuil est bas plus la probabilité de détecter est forte, mais plus la probabilité de faux positif est forte aussi, ce que n'est pas le cas dans le test sur mes images sans souris. Bizarre, à voir.

 

Quand je teste, ça donne ça:

 

Fichier joint  image ecarn ultralytics.jpg   81,82 Ko   0 téléchargement(s)

 

Les étapes sont celles-ci:

 

1 Collecter environ 100 à 150 photos.

2 Dessiner un rectangle autour de la souris sur chaque photo.

3 Entraîner YOLO11n avec la classe souris.

4 Tester le modèle sur des photos qu’il n’a jamais vues.

5 Convertir le résultat pour l’IMX500.

6 Installer le nouveau modèle sur Orba.

 

Je vais valider la 4 malgré ce taux de confiance et aller à l'étape 5, qui semble être très technique et complexe. Si c'est le cas l'IA fera le job, aucun intérêt pour moi de perdre du temps sur une conversion.

 

En fait cette plateforme Ultralytics est top , la conversion vers ma caméra est prévue avec le modèle YOLO-11n

 

Fichier joint  ecran export.jpg   66,42 Ko   0 téléchargement(s)

 

Fichier joint  ecran2.jpg   47,54 Ko   0 téléchargement(s)

 

 

 

 

Edit: après essai ce problème de taux confiance vient de la taille d'image entraînée vs la taille réelle. En corrigeant on obtient des valeurs de photos avec souris de 10% à 80% mais surtout zéro faux positif même à taux de confiance de 5% ! ca veut dire pour l'instant que ma détection devrait être très fiable; Ce taux de confiance sera un paramètre à régler dans le programme sur le Pi5.


Dans le sujet : Naissance de mon robot autonome IA

04 octobre 2026 - 03:50

Première étape fastidieuse, prendre une centaine de photos de la souris sous tous les angles, toutes les distances , tous les environnements. Probablement que cet essai ne sera pas le meilleur et qu'il faudra optimiser cet apprentissage. Je prends aussi des photos de l'environnement sans souris. Dans tous les cas les photos sont prises avec la caméra du robot pour avoir le même point de vue.

 

Ensuite il faut annoter chaque photo, c'est à dire indiquer graphiquement sur chaque photo la position de la souris. Je fais cela dans Roboflow version gratuite, le traitement de 125 photos passe dans cette version free à priori.

 

Mes premières photos sont ratées, seules 46 ont été annotées , et l'annotation manuelle montre que mes photos sont beaucoup trop éloignées; Au-delà de 2m il semble que la reconnaissance soit difficile.

 

Je me relance dans la prise des photos...

 

Et je recommence la démarche dans Roboflow mais sans utiliser son IA, en faisant les annotations manuelles des 125 photos...

 

Mais avec Roboflow je suis arrivé à une impasse à la fin sur la version gratuite...

 

J'essaie alors ultralytics... avec le même jeu des dernières photos...

 

L'explication du principe est clair ici: https://docs.ultralytics.com/guides/data-collection-and-annotation


Dans le sujet : Naissance de mon robot autonome IA

03 octobre 2026 - 02:15

Par rapport à mon planning initial je laisse tomber la cartographie (inutile pour l'instant) et j'attaque la reconnaissance d'image avec la caméra Pi2 Sony IMX500.

Je suis largement en avance sur ce planning, il faut dire que le premier mois j'ai passé près de 6h par jour ! mais ça me va bien, je n'aime pas les longs projets qui trainent.

 

J'ai jeté un coup d'oeil à certains  modèles fournis officiellement par Raspberry. Ceux que j'ai regardés donnent en général une très bonne performance pour la reconnaissance des êtres humains mais très moyenne pour les objets. Je vais partir sur YOLO 11n, qui semble connu et commun, même si il me déclare un ballon jaune avec des hexagones noirs comme un baseball glove..

 

Mon objectif est de trouver la souris de la photo (une ancienne réalisation) d'abord positionnée fixe, puis mobile (elle circule de façon autonome) pour la coincer. Pour cela je devrai apprendre cette souris de façon détaillée.

 

Mon idée derrière est que peut-être je développerai plus tard un quadrupède intelligent... une sorte de Jagbot avec un gros QI !

 

 

Fichier joint  souris_0002.jpg   58,54 Ko   0 téléchargement(s)

 

L'idée est de prendre des photos à l'aide de la caméra directement du robot pour garder son angle de vue et sa mise au point.