YOLOE: una herramienta de código abierto para la detección de vídeo en tiempo real y la segmentación de objetos
Últimos recursos sobre IAActualizado hace 4 meses Círculo de intercambio de inteligencia artificial 1.4K 00
Introducción general
YOLOE es un proyecto de código abierto desarrollado por el Grupo de Inteligencia Multimedia (THU-MIG) de la Escuela de Software de la Universidad de Tsinghua, cuyo nombre completo es "You Only Look Once Eye". Está basado en el framework PyTorch y pertenece a YOLO Una extensión de la serie que detecta y segmenta cualquier objeto en tiempo real. Alojado en GitHub, la característica principal del proyecto es que admite tres modos: indicación textual, indicación visual y detección sin indicación. Los usuarios pueden especificar un objetivo con un texto o una imagen, o el modelo puede reconocer automáticamente más de 1.200 objetos. Los datos oficiales muestran que YOLOE es 1,4 veces más rápido que YOLO-Worldv2 en el conjunto de datos LVIS y 3 veces más barato de entrenar, al tiempo que mantiene una alta precisión. Además, el modelo puede convertirse sin problemas a YOLOv8 o YOLO11 sin sobrecarga adicional, lo que lo hace apto para su despliegue en múltiples dispositivos.

Lista de funciones
- Admite la detección de objetos en tiempo real para identificar rápidamente objetivos en imágenes o vídeos.
- Proporciona una función de segmentación de instancias para delinear con precisión los objetos.
- Soporta la detección de texto, el usuario introduce texto para especificar el objetivo de detección.
- Proporciona detección de señales visuales para reconocer objetos similares por referencia a imágenes.
- El modo sin pregunta integrado detecta automáticamente más de 1.200 objetos comunes.
- Modelo reparametrizable con YOLOv8/YOLO11 Sin sobrecarga de inferencia.
- Ofrece una variedad de modelos preentrenados (escala S/M/L) para satisfacer distintos requisitos de rendimiento.
- Código fuente abierto y documentación para que los desarrolladores lo modifiquen y amplíen.
Utilizar la ayuda
El uso de YOLOE se divide en dos partes: instalación y funcionamiento. A continuación se detallan los pasos necesarios para que los usuarios puedan empezar a utilizarlo fácilmente.
Proceso de instalación
- Preparar el entorno
Requiere Python 3.10 y PyTorch. Se recomienda utilizar Conda para crear un entorno virtual:
conda create -n yoloe python=3.10 -y
conda activate yoloe
- Clonación de código
Descarga el proyecto YOLOE de GitHub:
git clone https://github.com/THU-MIG/yoloe.git
cd yoloe
- Instalación de dependencias
Instale las bibliotecas necesarias, incluidas CLIP y MobileCLIP:
pip install -r requirements.txt
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/CLIP
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/ml-mobileclip
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/lvis-api
wget https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt
- Descargar modelo preentrenado
YOLOE ofrece una variedad de modelos, tales comoyoloe-v8l-seg.pt
. Descargar con el siguiente comando:
pip install huggingface-hub==0.26.3
huggingface-cli download jameslahm/yoloe yoloe-v8l-seg.pt --local-dir pretrain
O cárguelo automáticamente con Python:
from ultralytics import YOLOE
model = YOLOE.from_pretrained("jameslahm/yoloe-v8l-seg.pt")
- Verificar la instalación
Ejecute el comando de prueba para comprobar que el entorno es correcto:python predict_text_prompt.py --source ultralytics/assets/bus.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --names person dog cat --device cuda:0
Funciones principales
1. Detección de alertas de texto
- Descripción funcional: Introduzca el texto para detectar el objeto correspondiente.
- procedimiento::
- Prepare imágenes como
bus.jpg
. - Ejecute el comando y especifique el objetivo (por ejemplo, "humano, perro, gato"):
python predict_text_prompt.py --source ultralytics/assets/bus.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --names person dog cat --device cuda:0
- Visualice los resultados y la imagen se etiquetará con los objetos detectados.
- Prepare imágenes como
- Método de ajusteEl umbral de confianza puede reducirse si no se detecta algo:
--conf 0.001
2. Detección de señales visuales
- Descripción funcional: Detección de objetos similares con imágenes de referencia.
- procedimiento::
- Prepare imágenes de referencia y de destino.
- Entrenamiento de módulos de señales visuales:
python tools/convert_segm2det.py python train_vp.py python tools/get_vp_segm.py
- Haz la prueba:
python predict_visual_prompt.py --source test.jpg --ref reference.jpg --checkpoint pretrain/yoloe-v8l-seg.pt
- Compruebe la salida y confirme el resultado.
- advertenciaLas imágenes de referencia deben ser claras y distintivas.
3. Detección no solicitada
- Descripción funcionalReconoce automáticamente objetos en imágenes sin necesidad de introducir instrucciones.
- procedimiento::
- Asegúrese de que el modelo se carga con un vocabulario preentrenado (admite más de 1200 categorías).
- Ejecutar comando:
python predict_prompt_free.py --source test.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --device cuda:0
- Visualiza los resultados y todos los cadáveres estarán etiquetados.
- Método de ajuste: Si la detección es incompleta, puede aumentarse el número máximo de detecciones:
--max_det 1000
4. Conversión y despliegue de modelos
- Descripción funcionalConvertir YOLOE a formato YOLOv8/YOLO11 para su despliegue en diferentes dispositivos.
- procedimiento::
- Instale la herramienta de exportación:
pip install onnx coremltools onnxslim
- Ejecute el comando de exportación:
python export.py --checkpoint pretrain/yoloe-v8l-seg.pt
- El formato de salida es compatible con TensorRT (GPU) o CoreML (iPhone).
- Instale la herramienta de exportación:
- Datos de rendimientoen la GPU T4.
yoloe-v8l-seg.pt
Los FPS fueron de 102,5; en el iPhone 12 fueron de 27,2.
5. Formación de modelos personalizados
- Descripción funcionalEntrene YOLOE con su propio conjunto de datos.
- procedimiento::
- Prepare un conjunto de datos como Objects365v1 o GQA.
- Generar anotaciones de segmentación:
python tools/generate_sam_masks.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train.json
- Generar una caché de entrenamiento:
python tools/generate_grounding_cache.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train_segm.json
- Entrenamiento de carrera:
python train_seg.py
- Comprueba el efecto:
python val.py
Otras herramientas
- Demostración webInicio de la interfaz con Gradio:
pip install gradio==4.42.0 python app.py
entrevistas
http://127.0.0.1:7860
.
escenario de aplicación
- control de seguridad
Detección de personas u objetos en tiempo real en el vídeo, etiquetado de contornos para la gestión de la seguridad. - transporte inteligente
Identificar vehículos y peatones en la carretera para apoyar el análisis del tráfico o la conducción autónoma. - control de calidad industrial
La detección de defectos en las piezas mediante señales visuales mejora la productividad. - investigación científica
Procesa imágenes experimentales, etiqueta objetos automáticamente y acelera el procesamiento de datos.
CONTROL DE CALIDAD
- ¿Cuál es la diferencia entre YOLOE y YOLOv8?
YOLOE admite la detección de escenas abiertas (textuales, visuales, no provocadas), mientras que YOLOv8 se limita a categorías fijas.YOLOE también puede convertirse a YOLOv8 sin sobrecarga adicional. - ¿Necesita una GPU?
No es necesario. La CPU puede ejecutarlo, pero una GPU (por ejemplo, CUDA) será más rápida. - ¿Y si la prueba no es exacta?
Bajar el umbral de confianza (--conf 0.001
) o aumentar el número de pruebas (--max_det 1000
). - ¿Qué dispositivos son compatibles?
Soporte para PC (TensorRT), iPhone (CoreML) y muchos otros dispositivos.
© declaración de copyright
文章版权归 Círculo de intercambio de inteligencia artificial 所有,未经允许请勿转载。
Artículos relacionados
Sin comentarios...