Comment nous configurons le comptage et la reconnaissance du pain sur le tapis roulant avec une caméra vidéo
Résumé
Client. Producteur de pain. L’entreprise produit 14 types de pain populaires : baguettes, 8 grains, pain finlandais, pain de campagne et autres.
Tâche. Compter et reconnaître les produits fabriqués sur le tapis roulant. À la fin de la journée, créez un tableau avec les résultats.
Résultat. CamContador reconnaît et compte tous les types de pain, y compris ceux rejetés, avec une précision de 99,8 %. Un rapport de production est établi en temps réel et envoyé au service comptable à la fin du quart de travail.
Situation
La boulangerie travaille 24h/24 sans week-end. Chaque jour, l’entreprise envoie 14 sortes de pain aux comptoirs des magasins et des chaînes de vente au détail.
Avec de tels volumes de production, des écarts dans le nombre de produits sont inévitables. Par exemple, les matières premières ont été utilisées pour produire 1 000 unités de pain, mais 980 unités figuraient sur l’emballage. Pour connaître le nombre exact de produits fabriqués, les responsables de la boulangerie ont décidé d’installer un compteur de produits vidéo.
Auparavant, la technologie ne permettait pas de compter les produits sur le tapis roulant à l’aide d’une caméra vidéo. Solutions traditionnelles : les compteurs laser, infrarouge et impulsions nécessitent un budget supplémentaire pour l’achat du matériel, son installation et sa mise en service. Le client a donc compté les produits fabriqués lors de la phase d’emballage.
Aujourd’hui, la technologie de vision par ordinateur permet de compter les produits en mouvement directement sur le tapis roulant. Peu importe que le pain sorte du four en rangées sur des palettes ou dispersé de manière chaotique sur le convoyeur. CamContador compte et reconnaît les produits sous quelque forme que ce soit.
Javi Martínez, chef de projet
Défi
Deux lignes de production fonctionnent dans l’entreprise. La première produit 11 sortes de pain, la seconde trois. Les produits sur le tapis changent constamment : d’abord un type de pain descend sur le tapis roulant, quelques minutes plus tard un autre, puis un troisième.
Le client a pour tâche de reconnaître et de compter tous les produits fabriqués. Le comptoir doit reconnaître quel type de pain se trouve sur le tapis roulant, compter sa quantité et, en fin de journée, afficher un tableau avec les résultats.
Solution
Le client a envoyé des vidéos pour chaque type de pain. Au début, ils étaient 9, mais petit à petit, le nombre est passé à 14. Pour chaque produit, nous avons sélectionné 30 captures d’écran, les avons marquées pour les compter et avons entraîné l’algorithme à reconnaître les produits.
Il nous a fallu 3 jours pour préparer et entraîner le réseau de neurones. Lorsque tout était prêt, nous avons démarré le compteur vidéo en mode test et, en collaboration avec le client, avons commencé à détecter les erreurs.
Erreurs dues à la couleur du pain
Parfois, le pain change de couleur en raison des conditions de cuisson. Un lot peut être pâle et le suivant rougeâtre. Un algorithme entraîné avec des produits pâles peut commettre des erreurs avec des produits rougeâtres. Ils ont la même forme mais des couleurs d’écorce différentes.
Un lot de pain sort du four avec plus ou moins de brunissement. L’algorithme peut être confus lors du comptage de ces types de produits. Le boulanger est visible au bas du cadre ; Il est également situé dans la zone de comptage, mais il n’affecte pas la précision du fonctionnement du compteur vidéo.
Le client a enregistré ces erreurs et nous a envoyé la vidéo. Nous avons réorganisé les cadres et recyclé l’algorithme. Après cela, les erreurs ont disparu.
Pains similaires dans le cadre
Lorsque le client a envoyé une vidéo du 14ème type de pain, celui-ci ressemblait aux deux autres types, juste légèrement plus léger. S’il y a plusieurs unités de pain sur la ligne, les différences sont immédiatement visibles. Mais lorsqu’il n’y avait qu’une seule unité dans la trame, l’algorithme devenait confus.
Une formation supplémentaire du réseau neuronal ne résoudrait pas le problème. Par conséquent, nous appliquons un raffinement au niveau du nombre.
Plusieurs minutes s’écoulent entre les différentes fournées de pain. Cela signifie que si, par exemple, vous voyez 24 produits dans le cadre, ils sont tous identiques. Il ne peut pas y avoir différents pains en même temps sur le tapis roulant. Si le système détectait du pain dans un lot différent des autres, nous éliminions cette erreur par logiciel.
Grâce à cette modification, CamContador a appris une logique proche de l’humain. Le comptable a appris qu’il ne peut y avoir de produits différents dans une pâte à pain homogène. Si l’algorithme trouve plusieurs pains différents, le compteur continuera à les compter avec la pâte à pain principale.
Une pile de pain sur le convoyeur
Parfois, le pain descend du convoyeur en tas. Les pains sont les uns sur les autres, un plus bas, un autre plus haut et un troisième est caché en dessous. Il faut enlever ces tas de pain. La caméra ne peut pas voir ce qu’il y a en dessous.
Les pains sont placés les uns sur les autres sur le tapis roulant. Il est impossible de compter les produits de qualité inférieure, car ils ne sont pas clairement visibles.
Heureusement, ce problème est rapidement résolu en installant une barre au-dessus du convoyeur. C’est exactement ce que le client a fait. Désormais, lorsque les pains sont placés les uns sur les autres, la barre transversale laisse tomber le pain du haut sur la ceinture. Le résultat est une seule couche de pain, facile à compter et à reconnaître.
Difficultés techniques
Qualité de capture. Normalement, lorsqu’il y a de nombreuses caméras dans une usine de production, le CamCounter compte simplement les produits, sans les reconnaître. C’est le cas par exemple du comptage des œufs ou des carcasses de volailles. Mais dans ce projet, la situation était plus compliquée.
Même s’il n’y avait que deux caméras, nous devions non seulement compter, mais aussi reconnaître 14 types de produits. Premièrement, pour éviter de surcharger le réseau et le processeur, nous avons drastiquement réduit la qualité du flux vidéo. Nous avons réduit le débit et la fréquence d’images des caméras. Cependant, plus tard, en collaboration avec le représentant du client, nous avons décidé d’améliorer la qualité de l’image. Ils ont augmenté le débit à 4 000 kbps et le FPS à 25 images. En conséquence, les images sont devenues plus claires et la précision du comptage a augmenté.
Angle de prise de vue. Au début, une caméra était suspendue trop loin de la chaîne de production. Cet angle rendait difficile la reconnaissance des produits. Sur la cassette, il y avait trois types de pain : blanc, noir et gris. L’algorithme s’est trompé sur le pain gris : le compteur l’a attribué au pain noir et au pain blanc.
Le client a baissé la caméra pour mieux voir le pain. Nous avons recyclé le réseau neuronal avec les trames sous le nouvel angle et réinitialisé 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. En règle générale, 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 à arriver avec Windows 11. Nous pensions que techniquement la version 11 n’était pas très différente de la 10, mais elle s’est avérée différente.
Un problème imprévu est survenu avec les pilotes de la carte graphique NVIDIA et de la bibliothèque CUDA. Pour une raison inconnue, la charge de la carte graphique sautait constamment de 30 à 100 %. Aux heures de charge maximale, nous n’avions pas le temps de traiter le flux. Cela a provoqué 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. Ainsi, après avoir consulté le client, nous avons décidé de passer au système d’exploitation gratuit Ubuntu.
La transition a été rapide et facile. Après avoir installé Ubuntu et réinitialisé le compteur, les erreurs de la carte vidéo ont disparu. Désormais, le système fonctionne de manière stable et fiable.
Le résultat
Actuellement, 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 %.
A la fin du quart de travail, le client reçoit un rapport sur la production par type de produit. Ces rapports permettent de surveiller la quantité de pain produite. Ces informations sont ensuite transmises au service comptable du client.
De la première communication avec le client au lancement du compteur sur la ligne de production, un mois s’est écoulé. C’est plus long que les projets classiques de comptage sur tapis roulant, qui démarrent en quelques jours seulement. Cependant, dans ce cas, nous ne nous sommes pas limités à compter les mêmes produits, mais nous avons reconnu 14 types différents de pain et de rebuts.
Le pain est un produit assez spécifique dont l’aspect change en fonction des conditions de cuisson. Après le lancement, nous avons recyclé le réseau neuronal 12 fois pour réduire le taux d’erreur et, par conséquent, la précision du comptage était de 99,8 %. Autrement dit, il n’y a que 1 à 2 erreurs pour mille unités de pain. Il s’agit d’un pourcentage de précision très élevé par rapport aux équipements de comptage conventionnels. Cependant, dans le cas du compteur CamContador, une précision de 99,7 à 99,9 % est le chiffre habituel que nous montrons dans chaque projet et garantissons dans le contrat.
Javi Martínez, chef de projet
Exemple vidéo :
Vous souhaitez faire connaître vos produits ?
Écrivez à info@camcontador.com