Tutorial práctico de YOLOv8: serie detallada súper invencible

        YOLOv8 es una versión mejorada basada en el algoritmo de detección de objetivos YOLOv5, se ha optimizado y mejorado sobre la base de YOLOv5 y se han agregado algunas características y tecnologías nuevas, como el mecanismo de atención de cortes y la selección de la red troncal. La velocidad de detección de objetivos de YOLOv8 es muy rápida, lo que puede lograr el efecto de detección en tiempo real y también ha logrado buenos resultados en la precisión de la detección de objetivos. Al mismo tiempo, el tamaño del modelo de YOLOv8 es relativamente pequeño y la memoria de ejecución ocupa muy poca, lo que es adecuado para aplicaciones en entornos con recursos limitados, como dispositivos integrados. En general, YOLOv8 es un algoritmo de detección de objetivos eficiente, rápido y preciso, que es adecuado para su aplicación en diversos escenarios, incluidos hogares inteligentes, transporte inteligente, monitoreo de seguridad y otros campos.        

        Sin embargo, el proyecto oficial YOLOv8 debería haber cambiado mucho durante el proceso de actualización. Franpper encontró muchos problemas al implementar siguiendo algunos tutoriales, por lo que Franpper registró su proceso de implementación en detalle, ¡con la esperanza de ayudar a todos!

        Antes de comenzar, Franpper espera que todos puedan dejar los problemas que encuentren en el área de comentarios y que todos puedan ayudarse unos a otros. ! !

Tabla de contenido

1. Descargar proyecto

1. Dirección del proyecto

2. Descargar proyecto

1) Descargue el archivo comprimido directamente

2) Clonar proyecto a través de HTTPS

2. Introducción a la estructura de carpetas

1. Expediente de verificación de formación

2. Archivo de configuración

3. Entorno de configuración

1. Crea un ambiente

2. Activa el entorno

3. Dependencias de instalación

4. Pasos de implementación específicos

4. Pruebas del proyecto

1. Pruebe la función de razonamiento (tomando la segmentación como ejemplo)

2. Pruebe la función de entrenamiento (tome la segmentación como ejemplo)

5. Entrena tu propio conjunto de datos

1. Descargue pesos a pedido

2. Modificar el archivo de configuración.

1) Crear un archivo de configuración de datos

2) Modificar el archivo de configuración del modelo de red.

3) Modificar el archivo de configuración de parámetros de entrenamiento.

3. Empieza a entrenar


1. Descargar proyecto

1. Dirección del proyecto

Dirección oficial del proyecto YOLOv8 icono-default.png?t=N7T8https://github.com/ultralytics/ultralytics

2. Descargar proyecto

Franpper presenta dos formas de descargar proyectos

1) Descargue el archivo comprimido directamente

Seleccione Descargar código postal, como se muestra a continuación:

2) Clonar proyecto a través de HTTPS

Este método necesita descargar git primero. Los pasos específicos son los siguientes:

Primero copie el comando en la siguiente figura

Luego haga clic derecho en la carpeta de su proyecto y seleccione Git Bash aquí

Luego ingresa git clone + el comando que acabas de copiar, a saber:

git clone https://github.com/ultralytics/ultralytics.git

Como se muestra abajo:

 

Bueno, ¡puedes ver que el proyecto ha sido clonado!

2. Introducción a la estructura de carpetas

Después de varias actualizaciones de YOLOv8, la estructura de carpetas ha cambiado mucho con respecto a antes. Franpper lo guiará para que se familiarice con la estructura de carpetas de la última versión del proyecto YOLOv8.

1. Expediente de verificación de formación

El primero son los archivos de entrenamiento y razonamiento que se deben utilizar, puedes ver que en la carpeta yolo en la siguiente figura hay cuatro carpetas: clasificar, detectar, pose y segmento, que corresponden a clasificación, detección de objetivos, detección de pose. y ejemplos de segmentación. Al mismo tiempo, existen entradas de entrenamiento e inferencia bajo cada función. Como se muestra abajo:

 

2. Archivo de configuración

La primera es la carpeta de conjuntos de datos, que es un archivo de configuración de datos, que almacena información como la ruta de origen del conjunto de datos, el conjunto de entrenamiento, el conjunto de verificación, la dirección del conjunto de prueba, el número de categorías, los nombres de las categorías y la descarga. direcciones.

Luego está el número de archivo de modelos, que es el archivo de configuración del modelo de red.

Finalmente, está la carpeta de rastreadores, que contiene archivos de configuración de parámetros.

Como se muestra abajo:

3. Entorno de configuración

A continuación, Franpper lo llevará a configurar el entorno del proyecto YOLOv8. Como se puede ver en el documento oficial (README.zh-CN.md), YOLOv8 requiere una versión de Python de 3.8 o superior, y la versión de antorcha requerida por el proyecto no es inferior a 1.8.

1. Crea un ambiente

Para conocer el proceso de creación detallado, consulte el segundo artículo de la publicación del blog a continuación. Configuración del entorno de aprendizaje profundo (versión pytorch) ---- versión detallada súper invencible (solo tenga las manos) icono-default.png?t=N7T8https://blog.csdn.net/weixin_58283091/article/details/127841182?spm=1001.2014.3001.5502

conda create -n ultralytics python=3.8

2. Activa el entorno

conda activate ultralytics

3. Dependencias de instalación

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

4. Pasos de implementación específicos

Los pasos de instalación específicos son los siguientes:

4. Pruebas del proyecto

1. Pruebe la función de razonamiento (tomando la segmentación como ejemplo)

El primer ministro ingresa el archivo predict.py. Si hay un código en el cuadro a continuación en predict.py, se puede ejecutar directamente. De lo contrario, copie el código que se proporciona a continuación en predict.py y ejecútelo.

 Código para copiar:

from ultralytics.utils import ASSETS, DEFAULT_CFG, ops
def predict(cfg=DEFAULT_CFG, use_python=False):
    """Runs YOLO object detection on an image or video source."""
    model = cfg.model or 'yolov8n-seg.pt'
    source = cfg.source or ASSETS

    args = dict(model=model, source=source)
    if use_python:
        from ultralytics import YOLO
        YOLO(model)(**args)
    else:
        predictor = SegmentationPredictor(overrides=args)
        predictor.predict_cli()


if __name__ == '__main__':
    predict()

2. Pruebe la función de entrenamiento (tome la segmentación como ejemplo)

Primero ingrese el archivo train.py, si está el código seleccionado en la figura siguiente en trian.py, puede ejecutarlo directamente; de ​​lo contrario, copie el código que se proporciona a continuación en train.py y ejecútelo.

  Código para copiar:

def train(cfg=DEFAULT_CFG, use_python=False):
    """Train a YOLO segmentation model based on passed arguments."""
    model = cfg.model or 'yolov8n-seg.pt'
    data = cfg.data or 'coco8-seg.yaml'
    device = cfg.device if cfg.device is not None else ''

    args = dict(model=model, data=data, device=device)
    if use_python:
        from ultralytics import YOLO
        YOLO(model).train(**args)
    else:
        trainer = SegmentationTrainer(overrides=args)
        trainer.train()


if __name__ == '__main__':
    train()

 Después de ejecutar, puede ver que el conjunto de datos coco8-seg y los pesos yolov8n-seg.pt se descargan automáticamente y comienza el entrenamiento.

5. Entrena tu propio conjunto de datos

Si no hay ningún problema después de probar las funciones de inferencia y entrenamiento, ¡puede comenzar a entrenar su propio conjunto de datos! (Franpper establece por defecto que su conjunto de datos ha sido preparado y convertido al formato CoCo)

1. Descargue pesos a pedido

Dirección oficial de peso icono-default.png?t=N7T8https://github.com/ultralytics/assets/releases

2. Modificar el archivo de configuración.

1) Crear un archivo de configuración de datos

Cree su propio archivo yaml en la carpeta de conjuntos de datos, preste atención a la ruta y categoría correctas

2) Modificar el archivo de configuración del modelo de red.

Cambie las categorías en el archivo de configuración del modelo de red a su propio número real de categorías.

3) Modificar el archivo de configuración de parámetros de entrenamiento.

3. Empieza a entrenar

¡Finalmente logró el picante! ! ! Los resultados del entrenamiento se guardan en la ruta que se muestra en la figura.

Yo~~~~~~~~~ 

Supongo que te gusta

Origin blog.csdn.net/weixin_58283091/article/details/132645365
Recomendado
Clasificación