$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Los datos utilizados en este estudio procedían de una base de datos pública de investigación con imágenes microscópicas de sedimentos de orina. Durante el estudio, no se utilizó información personal que identificara al paciente. Los elementos comercialmente disponibles asociados a este protocolo se enumeran en la Tabla de Materiales.
Adquirir y preparar conjuntos de datos
Se obtuvieron imágenes microscópicas de sedimentos urinarios que comprendían glóbulos rojos, glóbulos blancos, células epiteliales, cristales, molduras, bacterias y levaduras. Todas las imágenes se guardaban en formato PNG o JPEG usando convenciones de nombres consistentes. Se eliminaron imágenes borrosas o de mala calidad que contenían artefactos sedimentarios incompletos. Se utilizó software de anotación de caja delimitadora para la anotación a nivel de objeto de partículas de sedimento de orina. A cada tipo de sedimento se le asignó un número de clase, y se exportaron anotaciones en formato YOLO que contenían el identificador de clase, las coordenadas centrales normalizadas, el ancho de la caja delimitadora y la altura de la caja delimitadora. La calidad de la anotación se validaba manualmente seleccionando aleatoriamente imágenes anotadas.
El conjunto de datos se dividió aleatoriamente en tres subconjuntos que consistían en un 70% de datos de entrenamiento, 15% de datos de validación y 15% de datos de pruebas. Usamos la función Scikit-learn train_test_split() en Python con muestreo estratificado para dividir el conjunto de datos. Cada subconjunto mantuvo la representación proporcional de todas las clases de sedimentos. Se empleó la división aleatoria estratificada para minimizar la disparidad de clases entre particiones de conjuntos de datos. La distribución por clases de las imágenes a las categorías de sedimentos urinarios se ilustra en la Tabla 1.
Todas las imágenes microscópicas se redimensionaron a 640 × 640 píxeles usando interpolación bilineal con OpenCV. Los valores de intensidad de píxeles se normalizaron al rango [0,1]. La mejora de datos se realizó mediante volteo horizontal, vertiginado vertical, rotación aleatoria (±15°), ajuste de brillo y ajuste de contraste durante el entrenamiento. Las imágenes preprocesadas se guardaban en carpetas separadas de entrenamiento, validación y prueba.
Configuración del sistema
El entorno experimental se configuró para el análisis de sedimentos urinarios basados en aprendizaje profundo. Se instalaron la versión 3.10 de Python, el framework de aprendizaje profundo PyTorch y la versión 12.1 de CUDA Toolkit para aceleración de GPU. Se instalaron paquetes adicionales en Python, incluyendo OpenCV, NumPy, Pandas, Matplotlib y Scikit-learn. El repositorio para la implementación de YOLOv10 fue descargado y configurado antes de la experimentación. Se habilitó el cálculo determinista por GPU cuando fue posible, y todas las versiones de los paquetes utilizadas durante la experimentación se registraron para soportar reproducibilidad.
Detección de sedimentos urinarios basada en YOLOv10
Un diagrama esquemático de YOLOv10 se muestra en la Figura 1. Se cargaron pesos YOLOv10 preentrenados con el conjunto de datos COCO. La capa final de detección fue reemplazada por una capa de salida personalizada, sustituyendo el recuento predeterminado de clases COCO por el conteo de clase de sedimentos de orina. Se implementó una configuración de detección sin anclas basada en la estructura YOLOv10.
Los hiperparámetros de entrenamiento se inicializaron con una tasa de aprendizaje de 0,001, tamaño de lote de 16.300 épocas, optimizador AdamW y decaimiento de peso de 0,0005. Se aplicó la programación de tasas de aprendizaje con recocido coseno, y durante la formación se habilitó la parada temprana con un valor de paciencia de 20.
El conjunto de datos de entrenamiento se introdujo en la red YOLOv10 para generar predicciones de caja delimitadora y probabilidades de clase. Durante el entrenamiento se calcularon la pérdida por localización, la pérdida de clasificación, la pérdida de confianza y la pérdida total. Los pesos del modelo se actualizaron utilizando retropropagación y optimización de descenso por gradiente. La validación se realizaba después de cada época utilizando el conjunto de datos de validación.

Figura 1: Arquitectura de YOLOv10. Representación esquemática de la arquitectura de detección de objetos YOLOv10 utilizada para el análisis automatizado de sedimentos de orina. La figura ilustra la columna vertebral, el cuello y los componentes de la cabeza de detección implicados en la extracción de características, la fusión de características a escala múltiple y la detección de objetos sin ancla para partículas microscópicas de sedimento urinario. Por favor, haz clic aquí para ver una versión ampliada de esta figura.
Optimización de la Elección de Líderes de Chimpancés (CLEO)
Un diagrama esquemático de CLEO se muestra en la Figura 2. El espacio de búsqueda de optimización incluyó tasa de aprendizaje 0,0001–0,01, tamaño de lote 8–32, momento 0,8–0,99, decaimiento en peso 0,0001–0,001 y umbral de confianza 0,25–0,75. Se generó una población inicial de chimpancés que contenía soluciones candidatas aleatorias. YOLOv10 se entrenó utilizando hiperparámetros representados por cada chimpancé candidato, y el rendimiento del modelo se evaluó mediante la Precisión Media de Validación (mAP). La función de aptitud se definió como:

Aquí,
, y
representan coeficientes de ponderación. El candidato chimpancé con la puntuación de aptitud más alta era seleccionado como líder. Las soluciones restantes de candidatos se actualizaron según las reglas de actualización de puestos de CLEO. Los procesos de exploración y explotación se realizaron iterativamente para identificar hiperparámetros óptimos. El proceso de optimización se repitió durante 50 iteraciones o hasta que la mejora de la aptitud < 0,001. Los pesos asignados fueron
0,5,
0,25 y
0,25. Los hiperparámetros óptimos generados por CLEO se aplicaron al marco YOLOv10. La red fue reentrenada utilizando el conjunto de datos completo de entrenamiento, y los pesos de mejor rendimiento del modelo se guardaron en función del rendimiento de validación. El flujo de trabajo del modelo propuesto se ilustra en la Figura 3.

Figura 2: Algoritmo de optimización de elecciones de líderes de chimpancés. Flujo de trabajo del algoritmo de optimización CLEO que muestra la inicialización de soluciones candidatas, evaluación de aptitud, selección de líderes, estrategia de actualización de exploración y explotación y convergencia iterativa para la optimización de hiperparámetros del framework YOLOv10. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

Figura 3: Flujo de trabajo del modelo propuesto. Flujo de trabajo general del marco propuesto YOLOv10 + CLEO para el análisis automatizado de sedimentos urinarios, incluyendo adquisición de conjuntos de datos, preprocesamiento de imágenes, anotación, entrenamiento de modelos, optimización de hiperparámetros basada en CLEO, detección y evaluación del rendimiento. Por favor, haz clic aquí para ver una versión ampliada de esta figura.
Evaluación del modelo
El modelo optimizado YOLOv10 + CLEO se probó utilizando el conjunto de datos independiente de pruebas. Se calcularon métricas de evaluación de desempeño como precisión, precisión, recuerdo, puntuación F1, mAP50 y mAP50-95. Se usaron funciones métricas scikit-learn para los cálculos. También se registró el tiempo medio de inferencia por imagen. Las clases de sedimentos predichas se compararon con anotaciones de la verdad fundamental para generar matrices de confusión para todas las categorías de sedimentos. Se identificaron partículas de sedimento frecuentemente erróneamente clasificadas basándose en resultados de clasificación. Se entrenaron y evaluaron modelos comparativos como YOLOv5, YOLOv8 y Faster R-CNN utilizando el conjunto de datos UMID bajo configuraciones de hardware idénticas.