Comment nous avons configuré le comptage et la reconnaissance du pain sur la bande transporteuse avec une caméra vidéo
Résumé
Client. Fabricant de pain. L’entreprise produit 14 types de pain populaires : baguettes, 8 grains, pain finlandais, pain rustique et autres.
Tâche. Compter et reconnaître les produits sortis sur la bande transporteuse. À la fin de la journée, afficher un tableau avec les résultats.
Résultat. CamContador reconnaît et compte tous les types de pain, y compris les rebuts, avec une précision de 99,8 %. Un rapport sur la production est généré en temps réel et envoyé au département comptable à la fin du poste.
Situation
Une boulangerie fonctionne 24 heures sur 24, sans week-end. Chaque jour, l’entreprise expédie 14 types de pain vers les comptoirs des points de vente et des chaînes de distribution.
Avec de tels volumes de production, des écarts dans le comptage des produits sont inévitables. Par exemple, les matières premières ont été utilisées pour produire 1000 unités de pain, mais l’emballage indiquait 980 pièces. Pour connaître le nombre exact de produits fabriqués, les responsables de la boulangerie ont décidé d’installer un compteur de produits par vidéo.
Auparavant, la technologie ne permettait pas de compter les produits sur la bande transporteuse à l’aide d’une caméra vidéo. Les solutions traditionnelles : compteurs laser, infrarouge et à impulsions nécessitent un budget supplémentaire pour l’achat d’équipements, leur installation et leur configuration. Par conséquent, le client comptait les produits sortis à l’étape de l’emballage.
Aujourd’hui, la technologie de vision par ordinateur permet de compter les produits en mouvement directement sur la bande transporteuse. Peu importe si le pain sort du four en rangées sur des palettes ou éparpillé de manière chaotique sur la bande. CamContador compte et reconnaît les produits sous toutes leurs formes.
Javi Martínez, Chef de projet
Le défi
L’entreprise dispose de deux lignes de production. La première produit 11 types de pain, la seconde trois. Les produits sur la bande changent constamment : d’abord un type de pain passe sur la bande transporteuse, quelques minutes plus tard un autre, puis un troisième.
Le client a fixé la tâche de reconnaître et de compter tous les produits sortis. Le compteur doit déterminer quel type de pain passe sur la bande transporteuse, compter sa quantité et, à la fin de la journée, produire un tableau avec les résultats.
Solution
Le client a envoyé des vidéos pour chaque type de pain. Au début, il y en avait 9, mais leur nombre est progressivement passé à 14 types. Nous avons sélectionné 30 captures d’écran pour chaque produit, les avons marquées pour le comptage et avons entraîné l’algorithme à reconnaître les produits.
Il a fallu 3 jours pour préparer et entraîner le réseau neuronal. Une fois tout prêt, nous avons lancé le compteur vidéo en mode test et, avec le client, nous avons commencé à repérer les erreurs.
Erreurs dues à la couleur du pain
En raison des conditions de cuisson, le pain change parfois de couleur. Un lot peut être pâle, tandis que le suivant est doré. Un algorithme entraîné sur des produits pâles peut faire des erreurs sur les dorés. Ils ont la même forme mais des couleurs de croûte différentes.

Le client a enregistré ces erreurs et nous a envoyé la vidéo. Nous avons réétiqueté les images et réentraîné le modèle. Après cela, les erreurs ont disparu.
Pains similaires dans le cadre
Lorsque le client a envoyé une vidéo du 14e type de pain, il s’est avéré qu’il était similaire à deux autres types, seulement légèrement plus clair. S’il y a plusieurs unités de pain sur la ligne, les différences sont immédiatement visibles. Mais lorsqu’une seule pièce était dans le cadre, l’algorithme se trompait.


Un entraînement supplémentaire du réseau neuronal n’a pas résolu le problème. Par conséquent, nous avons implémenté une amélioration au niveau du comptage.
Plusieurs minutes s’écoulent entre différents lots de pain. Cela signifie que si, par exemple, 24 produits sont visibles dans le cadre, ils sont tous identiques. Il ne peut pas y avoir différents pains sur la bande transporteuse en même temps. Si le système trouvait un pain dans un lot différent des autres, nous éliminions cette erreur par programmation.
Grâce à cette modification, CamContador a appris une logique proche de celle humaine. Le compteur a mémorisé qu’il ne peut pas y avoir de produits différents dans une masse homogène de pain. Si l’algorithme trouve plusieurs pains différents, le compteur les comptera avec la masse principale de pain.
Tas de pain sur la bande
Parfois, le pain passe sur la ligne empilé en tas. Les pains se superposent : un en bas, un autre en haut, et un troisième est caché en dessous. Ces tas de pain doivent être éliminés. La caméra ne peut pas voir les éléments en dessous.

Heureusement, ce problème est rapidement résolu en installant une barre au-dessus de la bande transporteuse. C’est exactement ce qu’a fait le client. Maintenant, lorsque les pains se superposent, la barre fait tomber le pain supérieur sur la bande. Le résultat est une seule couche de pain facile à compter et à reconnaître.
Difficultés techniques
Qualité de capture. Habituellement, lorsqu’il y a beaucoup de caméras dans une usine de production, CamContador se contente de compter les produits – sans les reconnaître. Par exemple, c’est le cas pour le comptage des œufs ou des carcasses de volaille. Mais dans ce projet, la situation était plus compliquée.
Bien qu’il n’y ait que deux caméras, nous devions non seulement compter mais aussi reconnaître 14 types de produits. D’abord, pour éviter de surcharger le réseau et le processeur, nous avons considérablement réduit la qualité du flux vidéo. Nous avons réduit le débit binaire et la fréquence d’images des caméras. Cependant, plus tard, avec le représentant du client, nous avons décidé d’améliorer la qualité de l’image. Ils ont augmenté le débit binaire à 4000 kbps et le FPS à 20 images. Grâce à cela, les images sont devenues plus nettes et la précision du comptage a augmenté.
Angle de prise de vue. Initialement, une caméra était placée trop loin de la ligne de production. Cet angle rendait la reconnaissance des produits difficile. Il y avait trois types de pain sur la bande : blanc, noir et gris. L’algorithme faisait une erreur sur le pain gris : le compteur l’attribuait au pain noir, puis au pain blanc.
Le client a abaissé la caméra pour que les pains soient mieux visibles. Nous avons réentraîné le réseau neuronal sur les images du nouvel angle et redémarré le compteur. Après cela, les erreurs de reconnaissance du pain gris ont disparu et la précision du comptage a dépassé 99 %.


Problèmes avec Windows 11. Habituellement, les clients utilisent les systèmes d’exploitation Windows 10 et Ubuntu. CamContador est entièrement compatible avec ces systèmes. La boulangerie a été le premier client à utiliser Windows 11. Nous pensions que, techniquement, la version 11 ne différait pas beaucoup de la version 10, mais il s’est avéré que c’était différent.
Il y a eu un problème imprévu avec les pilotes pour la carte graphique NVIDIA et la bibliothèque CUDA. Pour une raison inconnue, la charge de la carte graphique passait constamment de 30 à 100 %. Aux moments de charge maximale, elle n’avait pas le temps de traiter le flux. Cela provoquait des erreurs de comptage.

Pendant un mois, nous avons modifié les paramètres et réinstallé les pilotes. Le problème n’a pas disparu. Puis, après consultation avec le client, nous avons décidé de passer au système d’exploitation gratuit Ubuntu.
La transition a été rapide et facile. Après l’installation d’Ubuntu et le redémarrage du compteur, les erreurs de la carte graphique ont disparu. Aujourd’hui, le programme fonctionne de manière stable et fiable depuis six mois.
Le résultat
Aujourd’hui, CamContador reconnaît et compte avec succès 14 types de pain. Techniquement, l’algorithme compte même 15 types de produits, y compris les rebuts de production.
Les caméras sont installées sur deux lignes de production et comptent les deux flux de produits. La précision du comptage est de 99,8 %.

À la fin du poste, le client reçoit un rapport sur la production par type de produit. Ces rapports aident à contrôler la quantité de pain produit. Ces informations sont ensuite transmises au département comptable du client :

De la première communication avec le client jusqu’au lancement du compteur sur la ligne de production, il a fallu un mois. C’est plus long que les projets habituels pour le comptage de produits sur la bande transporteuse, qui sont lancés en quelques jours. Cependant, dans ce cas, nous n’avons pas seulement compté les mêmes produits, mais reconnu 14 types de pain différents et les défauts.
Le pain est un produit assez spécifique dont l’apparence change en raison des conditions de cuisson. Après le lancement, nous avons réentraîné le réseau neuronal 12 fois pour réduire le taux d’erreur, et en conséquence, la précision du comptage a atteint 99,8 %. Cela signifie qu’il n’y a que 1 à 2 erreurs par millier d’unités de pain. C’est un pourcentage de précision très élevé par rapport aux équipements de comptage classiques. Cependant, pour le compteur CamContador, une précision de 99,7 à 99,9 % est une donnée habituelle que nous affichons dans chaque projet et garantissons dans le contrat.
Javi Martínez, Chef de projet
Exemple vidéo du fonctionnement du compteur :