Réduction de 96 % du coût de l’annotation d’images : dans un contexte où le budget et le temps manquent, ce cas concret d’ingénierie montre comment une fonctionnalité clé a été mise en œuvre en remplaçant le travail répétitif humain par un pipeline logiciel.
Résumé des points clés
• Constat du problème : il n’existait pas de modèle adapté à la reconnaissance et à l’enregistrement automatiques de poupées de personnages célèbres, et l’annotation humaine montrait clairement ses limites en coût, en vitesse et en passage à l’échelle.
• Approche : au lieu de se demander « faut-il mobiliser plus de personnes ? », le processus de jugement humain a été décomposé et transformé en pipeline système.
Conception d’un pipeline d’automatisation en 4 étapes
1. Filtrage CLIP – suppression massive des images inutiles pour réduire les coûts liés au LLM
2. Détection YOLO – recadrage du seul objet principal afin de réduire le périmètre d’analyse
3. Étiquetage LVM – utilisation d’un VLM haute performance uniquement sur les données nettoyées
4. Vérification LVM – validation conditionnelle fondée sur le niveau de confiance pour réduire encore le nombre d’appels
Résultats :
• coût de l’annotation humaine : environ 2,16 millions de wons → 90 000 wons
• environ 95,7 % de réduction des coûts, et un temps de travail ramené de plusieurs jours à quelques heures
• valeur fondamentale : au-delà d’une économie ponctuelle, mise en place d’un système réutilisable
Cela démontre que les limites du capital peuvent être dépassées par la technologie, et que le logiciel est un outil capable de transformer un problème de coût en problème de structure.
9 commentaires
Merci de partager ce contenu intéressant.
Oh, très bonne lecture. Vous avez dit que vous décidiez ou non de procéder à une validation supplémentaire sur la base d’un niveau de confiance ; je serais aussi curieux de savoir comment cette valeur de confiance était mesurée.
À titre de référence, le modèle gpt-4o-mini est excessivement coûteux en tokens d’entrée pour les images, donc je vous recommande d’envisager aussi d’autres modèles légers !
Bonjour winterjung, merci de l’intérêt que vous portez à mon travail. Pour la fiabilité, j’utilise la valeur de confidence renvoyée directement par le VLM (GPT-4o). Comme vous l’avez indiqué, il y a une limite au fait que la base de calcul de la confidence de GPT-4o n’est pas claire et qu’elle n’est pas reproductible. Mais d’un point de vue pratique, en partant de l’hypothèse que la confidence renvoyée par le VLM est raisonnablement précise, j’ai implémenté le système de façon à décider, lors de la dernière étape de vérification (Verifier), s’il faut valider ou non sur la base d’un threshold.
Je ne savais absolument pas que les tokens d’entrée image du modèle got-4o-mini étaient excessivement chers, merci de me l’avoir signalé. Je l’ai immédiatement intégré au code haha
Je me demande vraiment pourquoi le prix de 4o mini est comme ça. Il me semble que le 4o classique est moins cher, hahaha.
C’est un article qui résout bien le problème en utilisant un VLM, je l’ai lu avec intérêt.
J’ai toutefois une question en le lisant :
Je me demande comment vous avez intégré cette étape.
En lisant l’article, je me suis dit que le VLM devait probablement être plus performant que YOLO, donc qu’en recadrant, il pouvait au contraire y avoir un problème où le modèle YOLO se trompe et fait perdre des informations importantes avant même qu’elles ne soient transmises au VLM.
Je serais curieux de savoir à partir de quel problème vous en êtes venu à envisager le recadrage, et comment vous avez validé la précision avant de l’intégrer.
Bonjour, merci d’avoir lu l’article avec intérêt !
Je comprends tout à fait le point que vous soulevez. Vous avez raison : le VLM est plus performant que YOLO, et des erreurs de YOLO peuvent entraîner la perte d’informations importantes. Cela dit, nous avons ajouté l’étape de crop pour les raisons suivantes.
Premièrement, il y a la question du coût. Si l’on envoie directement l’image entière au VLM, le traitement d’images haute résolution fait grimper les coûts de manière brutale. C’était la principale raison de l’introduction du crop.
Deuxièmement, il y a la question de la vitesse de traitement.
Pour traiter de grands jeux de données dans un délai réaliste, ce gain de vitesse était indispensable.
Troisièmement, il y a l’amélioration de la précision.
Le crop améliore en réalité la précision de jugement du VLM. Une image complète peut contenir un arrière-plan complexe, plusieurs personnages, du texte, des éléments décoratifs, etc., ce qui peut perturber le VLM sur l’objet à évaluer. Par exemple, il peut devenir difficile de savoir s’il s’agit d’un personnage sur une affiche en arrière-plan, de la figurine principale ou d’un autre personnage placé à côté. À l’inverse, avec le crop, seul l’objet cible est clairement isolé, ce qui permet au VLM de se concentrer uniquement sur cet objet pour prendre sa décision.
Bien sûr, les problèmes de non-détection ou de faux positifs de YOLO ne sont pas entièrement résolus. Cependant, nous avons atténué ce problème en fixant le
confidence thresholdde YOLO à 0.5 afin d’augmenter le recall, puis en éliminant les faux positifs aux étapes suivantes de filtrage CLIP et de vérification par Verifier. De plus, comme nous traitons de très grands volumes de données, même s’il subsiste quelques non-détections, nous pouvions tout de même obtenir statistiquement une quantité suffisante de données de haute qualité.En définitive, l’objectif était de construire une pipeline pratique en trouvant un équilibre entre coût, vitesse et précision, et l’étape de crop a eu des effets positifs sur ces trois aspects.
Merci pour votre réponse.
Je pensais moi aussi à la question du coût, et il semble en effet qu’il varie fortement selon la résolution des images d’entrée. Et je n’avais même pas pensé au lien entre la taille de l’image d’entrée et la vitesse de traitement ; c’est assez fascinant. Donc le recadrage permet aussi d’accélérer le traitement.
Et l’amélioration de la précision est vraiment impressionnante !
Les performances des VLM se sont beaucoup améliorées, mais malgré cela, est-ce qu’elles ne dépassent toujours pas, pour l’instant, celles d’un modèle YOLO entraîné pour un objectif unique ?
Merci d’avoir pris le temps de consigner par écrit le savoir-faire acquis en situation réelle.
Si je rencontre un problème similaire, je ne manquerai pas de m’inspirer des méthodes que vous avez utilisées.
J’ai l’impression que, plus qu’une résolution après conversion en problème structurel, vous avez plutôt créé un nouveau modèle.
Merci pour cette excellente remarque !
L’expression « conversion en problème de structure » était peut-être un peu abstraite.
Ce que je voulais dire dans l’article, c’est :
Before: "labellisation = intervention humaine = coût proportionnel"
After: "labellisation = pipeline = coûts variables minimisés après la mise en place initiale"
Autrement dit, j’ai transformé un problème de coût ponctuel en problème de construction de système.
La formulation « créer un nouveau modèle de travail » est également juste !
Plus précisément, on peut dire que j’ai « remplacé le travail humain par un pipeline logiciel » haha