$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Les données utilisées dans cette étude proviennent d’une base de données publique de recherche d’images microscopiques de sédiments urinaires. Au cours de l’étude, aucune information personnelle identifiant le patient n’a été utilisée. Les éléments commercialement disponibles associés à ce protocole sont listés dans le Tableau des Matériaux.
Acquérir et préparer un ensemble de données
Des images microscopiques des sédiments urinaires comprenant les globules rouges, les globules blancs, les cellules épithéliales, les cristaux, les motlages, les bactéries et la levure ont été obtenues. Toutes les images étaient sauvegardées au format PNG ou JPEG en utilisant des conventions de nommage cohérentes. Les images floues ou de mauvaise qualité contenant des artefacts sédimentaires incomplets ont été éliminées. Un logiciel d’annotation de boîte englobante était utilisé pour l’annotation au niveau objet des particules de sédiments urinaires. Chaque type de sédiment s’est vu attribuer un numéro de classe, et les annotations ont été exportées au format YOLO contenant l’identifiant de classe, les coordonnées centrales normalisées, la largeur de la boîte englobante et la hauteur de la boîte englobante. La qualité des annotations était validée manuellement en sélectionnant aléatoirement des images annotées.
L’ensemble de données a été divisé aléatoirement en trois sous-ensembles comprenant 70 % de données d’entraînement, 15 % de données de validation et 15 % de données de test. Nous avons utilisé la fonction Python Scikit-learn train_test_split() avec un échantillonnage stratifié pour diviser le jeu de données. Chaque sous-ensemble maintenait une représentation proportionnelle de toutes les classes de sédiments. Une division aléatoire stratifiée a été employée pour minimiser les disparités de classes entre les partitions de jeux de données. La répartition par classe des images par catégories de sédiments urinaires est illustrée dans le tableau 1.
Toutes les images microscopiques ont été redimensionnées à 640 × 640 pixels grâce à une interpolation bilinéaire avec OpenCV. Les valeurs d’intensité des pixels ont été normalisées à la plage [0,1]. L’augmentation des données a été réalisée en utilisant des basculements horizontaux, verticaux, rotations aléatoires (±15°), réglage de la luminosité et ajustement du contraste pendant l’entraînement. Les images prétraitées étaient sauvegardées dans des dossiers séparés d’entraînement, de validation et de test.
Configuration du système
L’environnement expérimental a été configuré pour une analyse des sédiments urinaires basée sur l’apprentissage profond. La version 3.10 de Python, le framework d’apprentissage profond PyTorch, et la version 12.1 de CUDA Toolkit pour l’accélération GPU ont été installés. D’autres paquets Python, dont OpenCV, NumPy, Pandas, Matplotlib et Scikit-learn, ont été installés. Le dépôt pour l’implémentation de YOLOv10 a été téléchargé et configuré avant l’expérimentation. Le calcul déterministe GPU était rendu possible lorsque cela était possible, et toutes les versions du package utilisées lors des expérimentations étaient enregistrées pour soutenir la reproductibilité.
Détection des sédiments urinaires basée sur YOLOv10
Un schéma de YOLOv10 est illustré à la Figure 1. Des poids YOLOv10 préentraînés entraînés sur le jeu de données COCO ont été chargés. La couche finale de détection a été remplacée par une couche de sortie personnalisée en remplaçant le comptage de classe COCO par défaut par celui des sédiments urinaires. Une configuration de détection sans ancre a été mise en œuvre basée sur la structure YOLOv10.
Les hyperparamètres d’entraînement ont été initialisés avec un taux d’apprentissage de 0,001, une taille de lot de 16 300 époques, un optimiseur AdamW et une décroissance de poids de 0,0005. Un calendrier du taux d’apprentissage par recuit cosinus a été appliqué, et un arrêt précoce avec une valeur de patience de 20 a été activé pendant la formation.
L’ensemble de données d’entraînement était entré dans le réseau YOLOv10 pour générer des prédictions de boîtes englobantes et des probabilités de classe. La perte de localisation, la perte de classification, la perte de confiance et la perte totale ont été calculées pendant l’entraînement. Les poids des modèles ont été mis à jour en utilisant la rétropropagation et l’optimisation de la descente de gradient. La validation était effectuée après chaque époque à l’aide du jeu de données de validation.

Figure 1 : Architecture de YOLOv10. Représentation schématique de l’architecture de détection d’objets YOLOv10 utilisée pour l’analyse automatisée des sédiments urinaires. La figure illustre la colonne vertébrale, le cou et les composants de la tête de détection impliqués dans l’extraction des caractéristiques, la fusion multi-échelle des caractéristiques et la détection d’objets sans ancre pour les particules microscopiques de sédiments urinaires. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
Optimisation des élections des chefs de chimpanzés (CLEO)
Un schéma de CLEO est montré à la Figure 2. L’espace de recherche d’optimisation comprenait le taux d’apprentissage 0,0001–0,01, la taille du lot 8–32, la quantité de mouvement 0,8–0,99, la décroissance pondérative 0,0001–0,001, et le seuil de confiance 0,25–0,75. Une première population de chimpanzés contenant des solutions candidates aléatoires a été générée. YOLOv10 a été entraîné en utilisant des hyperparamètres représentés par chaque chimpanzé candidat, et la performance du modèle a été évaluée à l’aide de la Précision Moyenne (mAP) de validation. La fonction de fitness était définie comme suit :

Ici,
, et
représentent les coefficients de pondération. Le candidat chimpanzé ayant le meilleur score de fitness était choisi comme leader. Les solutions candidates restantes ont été mises à jour selon les règles de mise à jour des positions CLEO. Les processus d’exploration et d’exploitation ont été réalisés de manière itérative afin d’identifier les hyperparamètres optimaux. Le processus d’optimisation a été répété pendant 50 itérations ou jusqu’à ce que l’amélioration de la fitness < 0,001. Les poids attribués étaient
0,5,
0,25 et
0,25. Les hyperparamètres optimaux générés par CLEO ont été appliqués au cadre YOLOv10. Le réseau a été réentraîné en utilisant l’ensemble complet de l’ensemble des données d’entraînement, et les poids des modèles les mieux performants ont été sauvegardés en fonction de la validation. Le flux de travail du modèle proposé est illustré à la Figure 3.

Figure 2 : Algorithme d’optimisation des élections des chefs de chimpanzés. Flux de travail de l’algorithme d’optimisation CLEO montrant l’initialisation des solutions candidates, l’évaluation de la fitness, la sélection du leader, la stratégie de mise à jour exploration-exploitation, et la convergence itérative pour l’optimisation des hyperparamètres du cadre YOLOv10. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 3 : Flux de travail du modèle proposé. Flux de travail global du cadre proposé YOLOv10 + CLEO pour l’analyse automatisée des sédiments urinaires, incluant l’acquisition de jeux de données, le prétraitement d’images, l’annotation, l’entraînement de modèles, l’optimisation des hyperparamètres basée sur CLEO, la détection et l’évaluation des performances. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
Évaluation du modèle
Le modèle optimisé YOLOv10 + CLEO a été testé à l’aide du jeu de données de tests indépendant. Des indicateurs d’évaluation de performance, notamment la précision, la mémoire, le score F1, le mAP50 et le mAP50-95, ont été calculés. Les fonctions métriques scikit-learn étaient utilisées pour les calculs. Le temps moyen d’inférence par image a également été enregistré. Les classes de sédiments prédites ont été comparées aux annotations de vérité de terrain pour générer des matrices de confusion pour toutes les catégories de sédiments. Des particules de sédiments fréquemment mal classées ont été identifiées à partir des résultats de classification. Des modèles comparatifs incluant YOLOv5, YOLOv8 et Faster R-CNN ont été entraînés et évalués à l’aide du jeu de données UMID sous des configurations matérielles identiques.