BUG: YOLO incorrectly labels Toothbrush (Class ID 79) detections as Unknown

Abierto Apto para principiantes
#1,700 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 6 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
86/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

El issue identifica backend/app/utils/YOLO.py y YOLO_util_draw_detections(). Lee esa función y ejecuta la prueba unitaria fallida descrita en el issue con el ID de clase 79 y una confianza de 0.90. La tarea estará hecha cuando la visualización etiquete esta detección como toothbrush 90% en lugar de unknown 90%.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug possible-duplicate
Is there an existing issue for this?
  • I have searched the existing issues
What happened?
Bug Description

The YOLO detection visualization incorrectly labels the last COCO class,
"toothbrush" (class ID 79), as "unknown".

The issue is in backend/app/utils/YOLO.py, inside the
YOLO_util_draw_detections() function.

Root Cause

The current condition is:

if score < confidence_threshold or class_id >= len(class_names) - 1:

Since class_names contains 80 classes (indices 0–79), this condition
incorrectly treats class ID 79 as invalid.

Expected Behavior

Class ID 79 should be recognized as "toothbrush".

Actual Behavior

Class ID 79 is displayed as "unknown".

Impact

The issue causes incorrect object labels in the detection visualization for the last category in the COCO class list.

Testing

I reproduced the issue using a unit test with:

  • Class ID: 79
  • Confidence score: 0.90

Expected output: toothbrush 90%

Actual output: unknown 90%

The test fails with the current implementation.

Record
  • I agree to follow this project's Code of Conduct
Lenguaje dominante
Python
Estrellas
313
Forks
755
Merge medio
6 d 36 min
PR fusionados (30 d)
8

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de AOSSIE-Org/PictoPy

Todos los issues de AOSSIE-Org/PictoPy

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.