Redes Neurais em IA e Deep Learning - página 38

 

Reconocimiento automático de matrículas usando YOLOV8 y EasyOCR (imágenes y videos)



Reconocimiento automático de matrículas usando YOLOV8 y EasyOCR (imágenes y videos)

En este video de YouTube, el presentador explica cómo implementar el reconocimiento automático de matrículas usando YOLOV8 y EasyOCR. Guían a los espectadores a través del proceso de implementación utilizando un cuaderno de Google Colab y un repositorio de GitHub, brindan instrucciones paso a paso y explican cómo instalar dependencias y descargar el conjunto de datos necesario. El presentador demuestra la tasa de éxito del modelo y el proceso de validación, y también explica cómo usar EasyOCR para leer números de matrículas. Recorren los pasos finales de la ejecución del script y encuentran algunos errores que corrigen, lo que da como resultado resultados impresionantes. Aunque el script de reconocimiento de matrículas solo se proporcionará en el repositorio de GitHub del presentador para los seguidores de Patreon, los espectadores pueden conocer los cambios realizados en el archivo predict.py para obtener resultados similares.

  • 00:00:00 En esta sección del video, el presentador demuestra cómo implementar la detección y el reconocimiento de matrículas usando YOLOV8 y EasyOCR. El presentador usa un cuaderno de Google Colab y un repositorio de GitHub para guiar a los espectadores a través del proceso de implementación. El cuaderno contiene instrucciones paso a paso para ejecutar el código, y el repositorio de GitHub brinda acceso a múltiples proyectos exclusivos para los seguidores de Patreon que contribuyen con cinco dólares al mes. El presentador también explica cómo instalar las dependencias necesarias y descargar el conjunto de datos requerido de Roboflow para entrenar un modelo personalizado para la detección de matrículas. Finalmente, el presentador muestra la matriz de confusión que revela qué tan bien el modelo manejó diferentes clases, con una tasa de éxito del 84% para detectar matrículas.

  • 00:05:00 En esta sección, el orador analiza los resultados del modelo en el conjunto de validación, que muestra una disminución en la pérdida y un aumento en la precisión promedio promedio y la puntuación de recuperación a medida que aumenta el número de épocas. El orador también demuestra cómo descargar el modelo guardado de Google Drive y validarlo en un video personalizado, logrando una precisión promedio de 0.926 con un IOU de 50. Sin embargo, el enfoque de esta sección es la implementación de EasyOCR para leer el números de matrícula de las placas detectadas y los ajustes realizados en el archivo predict.py para incluir el lector OCR y las coordenadas de la imagen.

  • 00:10:00 En esta sección, vemos una explicación de cómo implementar el reconocimiento automático de matrículas usando YOLOv8 y EasyOCR. El video analiza el proceso de recortar y convertir la imagen de la placa de matrícula en escala de grises para ayudar a leer el texto de la placa. Muestran cómo usar EasyOCR para leer el texto de la imagen en escala de grises de la matrícula escribiendo "lector. leer_texto (gris)". Finalmente prueban el script para ver si ocurre algún error.

  • 00:15:00 En esta sección, el orador recorre los pasos finales para ejecutar el script de reconocimiento de matrículas utilizando los modelos YOLOv8 y EasyOCR. Encuentran un par de errores en el código, pero logran corregirlos y ejecutar el script con éxito. El video de salida demuestra resultados impresionantes, con el modelo detectando matrículas y leyendo texto usando EasyOCR. El script de reconocimiento de matrículas se proporcionará en el repositorio de GitHub del orador para los seguidores de Patreon, pero los espectadores aún pueden conocer los cambios realizados en el archivo predict.pi en el video para lograr resultados similares.
 

Detección y seguimiento de objetos en tiempo real usando YOLOv8 en un conjunto de datos personalizado: tutorial completo



Detección y seguimiento de objetos en tiempo real usando YOLOv8 en un conjunto de datos personalizado: tutorial completo

En este tutorial de video, el presentador presenta un conjunto de datos personalizado que contiene imágenes de automóviles, camiones, motocicletas, camionetas, aviones y autocaravanas, que se utiliza para demostrar la implementación de YOLOv8 con detección y seguimiento. Explican la importancia de un conjunto de datos equilibrado y brindan instrucciones paso a paso para navegar por el repositorio de GitHub, configurar el entorno requerido e implementar el seguimiento de objetos mediante el algoritmo de clasificación profunda. El presentador también analiza la matriz de confusión y la importancia de las pérdidas de capacitación y validación mientras prueba la precisión del modelo mediante la ejecución de inferencias con un video de demostración descargado de Google Drive. Concluyen compartiendo el archivo del cuaderno de colaboración para los interesados.

  • 00:00:00 En esta sección del tutorial en video, el presentador presenta un conjunto de datos de varias clases disponible públicamente que contiene alrededor de 4680 imágenes de automóviles, camiones, motocicletas, camionetas, aviones y autocaravanas. El conjunto de datos no está equilibrado, ya que está sobrerrepresentado por las anotaciones de automóviles con alrededor de 8389 anotaciones, mientras que otras anotaciones son muy bajas. Sin embargo, el conjunto de datos se usa para este tutorial, pero al implementar cualquier proyecto o usar cualquier conjunto de datos disponible públicamente, es importante asegurarse de que el conjunto de datos esté equilibrado. El video también presenta un repositorio de GitHub que se usa para el proyecto y brinda instrucciones paso a paso para implementar YOLO V8 con detección y seguimiento en cualquier conjunto de datos personalizado. Las instrucciones incluyen la clonación del repositorio, la instalación de dependencias, la implementación del seguimiento de objetos mediante la clasificación profunda y la descarga de un video de muestra para realizar pruebas.

  • 00:05:00 En esta sección del video, el presentador explica las bibliotecas utilizadas para mostrar imágenes e información de capacitación, y demuestra cómo configurar el entorno requerido para YOLOv8 usando Google Colab. El presentador clona el repositorio de GitHub para YOLOv8, instala las bibliotecas necesarias y navega a la carpeta de detección. Luego, el presentador muestra cómo descargar el conjunto de datos personalizado requerido de Roboflow y lo descomprime para obtener las carpetas de entrenamiento, prueba y validación.

  • 00:10:00 En esta sección del video, el presentador analiza la implementación del seguimiento de objetos mediante el algoritmo de clasificación profunda. Descargan los archivos de clasificación profunda y los descomprimen antes de mostrar la matriz de confusión, que es un gráfico que muestra qué tan bien un modelo maneja diferentes clases. Explican que la matriz de confusión indica que el modelo detecta correctamente los autocaravanas el 67% de las veces, pero en ocasiones los clasifica como autos simples. También analizan la importancia de las pérdidas de capacitación y validación, y cómo verifican la predicción del modelo en los lotes de validación. Finalmente, descargan los pesos para el modelo personalizado de Google Drive y lo validan, lo que demuestra que la precisión promedio promedio es alta cuando el IOU está al 50 %.

  • 00:15:00 En esta sección, el presentador está probando la precisión del modelo ejecutando inferencias con el modelo construido utilizando un video de demostración descargado de su Google Drive. El video muestra automóviles y camiones en una carretera, y los resultados muestran que el modelo funciona bien con una identificación única asignada a cada objeto, y que también es posible realizar un seguimiento. El archivo de colaboración utilizado en este tutorial está disponible en su repositorio de GitHub. También se prueba otro video, y los resultados son igualmente buenos, con algunos casos que requieren mejoras. El presentador comparte que han implementado el seguimiento de detección de objetos usando YOLOv8 en un conjunto de datos personalizado y comparte el archivo del cuaderno de colaboración para los interesados.
 

Detección de señales de tráfico y semáforos y reconocimiento de color mediante YOLOv8



Detección de señales de tráfico y semáforos y reconocimiento de color mediante YOLOv8

Este tutorial de YouTube muestra el uso de YOLOv8 para la detección de señales de tráfico y el reconocimiento de colores. El presentador presenta el conjunto de datos, que contiene 17 clases diferentes de señales de tráfico con una distribución equilibrada de imágenes. El modelo YOLOv8 se entrena y ajusta en más de 100 épocas, lo que da como resultado buenas puntuaciones medias de precisión media para iou50 e ioub50. El presentador demuestra cómo interpretar la matriz de confusión y validar el modelo en el conjunto de datos de validación. Luego, el modelo se prueba en dos videos de demostración, ambos muestran resultados de detección precisos. En general, YOLOv8 funciona bien para detectar señales de tráfico y semáforos.

  • 00:00:00 En esta sección del tutorial en video, el presentador presenta el conjunto de datos de señales de tránsito que se usará para entrenar el modelo YOLOv8 en la detección de señales de tránsito. El conjunto de datos contiene 17 clases diferentes de señales de tráfico, con un total de 2093 imágenes para fines de capacitación, validación y prueba. El conjunto de datos está equilibrado, lo que significa que todas las clases tienen una distribución de imágenes casi equitativa, excepto las luces verdes que tienen un número de imágenes ligeramente superior. El presentador también muestra cómo importar el conjunto de datos de RoboFlow en el cuaderno de Google Colab e instalar las bibliotecas necesarias para la implementación de YOLOv8, incluidas bibliotecas globales y ultralíticas para administrar rutas de archivos, y bibliotecas de imágenes y visualización para mostrar imágenes de entrada y salida. El presentador también brinda opciones para instalar YOLOv8, ya sea clonando el repositorio de GitHub o instalándolo desde el paquete ultralytics a través de pip.

  • 00:05:00 iou50 son buenos indicadores del rendimiento del modelo YOLOv8 entrenado en la tarea de detección de señales de tráfico y reconocimiento de color. El modelo se entrenó en un gran conjunto de datos y se ajustó en más de 100 épocas, lo que resultó en una precisión promedio promedio con iou50 del 95,8 % y una precisión promedio promedio con ioub 50 del 81,3 %. Los mejores pesos, con la Precisión media media más alta, se han guardado como "best.pt". En general, los resultados son bastante buenos para detectar 17 clases diferentes de señales de tráfico y semáforos en el conjunto de datos de imágenes.

  • 00:10:00 En esta sección del video, el presentador explica los diferentes archivos guardados en la carpeta de capacitación después de ejecutar el modelo YOLOv8 para la detección de señales de tráfico y semáforos y el reconocimiento de color. Estos archivos incluyen la matriz de confusión, la curva F1, la curva de precisión, la curva de recuperación y el rendimiento del modelo para cada época. También demuestran cómo interpretar la matriz de confusión y cómo validar el modelo en el conjunto de datos de validación utilizando los mejores pesos del modelo. Por último, sugieren que entrenar el modelo durante más tiempo podría mejorar aún más la precisión media media de los resultados.

  • 00:15:00 En esta sección del video, el presentador valida el modelo en las imágenes del conjunto de datos de validación y obtiene una puntuación de precisión promedio principal impresionante. Luego, el modelo se prueba en dos videos de demostración, donde detecta con éxito señales como "no girar a la izquierda", "estacionamiento", "semáforo en rojo" y más. Los videos de demostración se descargan del sitio de Pixel y luego se cargan en Google Drive. Los videos de salida se muestran y se muestra que tienen resultados de detección precisos. En general, el modelo funciona bien en la detección de señales de tráfico y semáforos con YOLOv8.
 

Detección y segmentación de baches usando YOLOv8 (Imágenes y videos)| Conjunto de datos personalizado | Guía completa



Detección y segmentación de baches usando YOLOv8 (Imágenes y videos)| Conjunto de datos personalizado | Guía completa

Este video muestra cómo crear un conjunto de datos personalizado para la detección y segmentación de baches con YOLOv8. El presentador muestra los pasos para clonar y anotar datos de imágenes y recomienda usar Google Collab para entrenar el modelo. También se analizan las dependencias necesarias para YOLOv8, así como la configuración de la ubicación del conjunto de datos y el entrenamiento del modelo. El modelo logró una precisión promedio promedio de 0,532 para la detección y 0,531 para la segmentación, y se desempeñó bien en la detección de baches en los videos. El presentador concluye el vídeo tras validar el modelo personalizado y conseguir buenos resultados.

  • 00:00:00 En esta sección del video, el autor demuestra cómo crear un conjunto de datos personalizado para la detección y segmentación de baches usando YOLOv8. El autor usa Roboflow para crear su propio espacio de trabajo y proyecto, y explica la importancia de elegir un plan público para el espacio de trabajo para poder exportar el conjunto de datos a Google Colab. El autor también muestra cómo importar videos o imágenes, y cómo clonar conjuntos de datos disponibles públicamente para complementar los suyos. Finalmente, el autor muestra cómo clonar imágenes y anotaciones, lo que finalmente da como resultado un conjunto de datos de 50 imágenes para la detección y segmentación de baches.

  • 00:05:00 En esta sección del video, el presentador demuestra cómo clonar y anotar datos de imágenes para la detección y segmentación de baches usando YOLOv8. Comienzan clonando las 46 imágenes restantes del conjunto de datos original, lo que eleva el total a 96 imágenes. El proceso de anotación consiste en conectar puntos en forma de polígono para indicar la ubicación del bache en cada imagen. Luego, el presentador demuestra cómo guardar y asignar las anotaciones a cada imagen. El proceso lleva mucho tiempo, pero se puede hacer fácilmente siguiendo los pasos descritos en el video.

  • 00:10:00 En esta sección del video, el presentador analiza el proceso de anotar un conjunto de datos para la detección y segmentación de baches. Demuestra cómo generar un conjunto de datos usando la herramienta de anotación y luego procede a entrenar el modelo usando el algoritmo YOLOv8 en Google Collab. El presentador también menciona que uno puede entrenar el modelo en RoboFlow con un solo clic y sin ningún tipo de codificación, pero recomienda usar Google Collab para aprender cosas nuevas. El video muestra cómo importar las bibliotecas requeridas y clonar un repositorio de GitHub antes de configurar el directorio de trabajo e instalar las dependencias.

  • 00:15:00 En esta sección del video, el presentador brinda instrucciones para instalar las dependencias necesarias para YOLOv8 y la segmentación, y enfatiza que es importante hacerlo antes de la capacitación para evitar problemas con la biblioteca más adelante. El presentador también explica cómo importar el conjunto de datos de RoboFlow a la carpeta de Google y descargarlo, además de configurar la ubicación del conjunto de datos y entrenar el modelo. El presentador también reconoce y corrige un error en el archivo predict.py que se ajustó para el seguimiento.

  • 00:20:00 capaz de detectar baches con una precisión media media de 0,532 a un IOU de 50 y de 0,218 cuando el IOU varía de 0,50 a 0,95. El modelo se probó en un video de muestra y funcionó bien en la detección de baches. La matriz de confusión que se muestra muestra la distribución de los datos entre diferentes clases. En general, el modelo funciona bien para detectar baches.

  • 00:25:00 En esta sección del video, el presentador intenta validar el modelo personalizado para la detección y segmentación de baches usando YOLOv8. Se encontraron con un problema en el que el modelo no detectaba baches el 50 % de las veces, lo que generaba una pantalla en blanco. Luego, el presentador agregó la mejor ruta de pesos DOT y pudo rectificar el problema. Luego procedieron a mostrar la predicción en el lote de validación y lograron una precisión promedio promedio de 0.538 para detección y 0.531 para segmentación. El modelo se probó en varios videos de demostración y funcionó bien, y el presentador concluye el video.
 

YOLOv8 Detección y seguimiento de objetos personalizados | Detección de barcos | Tutorial completo



YOLOv8 Detección y seguimiento de objetos personalizados | Detección de barcos | Tutorial completo

El tutorial de YouTube cubre la implementación de YOLOv8 con seguimiento de objetos de clasificación profunda en un conjunto de datos de detección de barcos personalizado. El video explica cómo descargar el conjunto de datos de RoboFlow, configurar un proyecto en Expense ID y entrenar el modelo en Google Colab. El script de entrenamiento se ejecutó durante 70 épocas y dio como resultado una precisión promedio promedio de 0,968 con IOU 50. El presentador analiza los gráficos de pérdida y precisión promedio para mostrar que la capacitación para más épocas producirá mejores resultados. Luego demuestran cómo validar el modelo en un conjunto de datos de validación y muestran la precisión promedio promedio en las imágenes del conjunto de datos de validación. Finalmente, muestran algunos videos de demostración del modelo en acción, incluido un ejemplo de una predicción falsa.

  • 00:00:00 En esta sección, el video tutorial cubre el conjunto de datos para el proyecto personalizado de detección y seguimiento de objetos, que incluye alrededor de 794 imágenes de barcos capturados por drones, con solo una clase llamada "tablero" o "forma". Luego, el tutorial muestra cómo descargar el conjunto de datos de RoboFlow y exportarlo a Google Colab o Expense ID, que ofrece 25 créditos gratuitos y una GPU Tesla T4 o V100 para entrenar modelos de aprendizaje automático. Finalmente, el tutorial analiza la configuración de un proyecto en Expense ID y la apertura de un cuaderno Jupyter con opciones de servidor de gastos para entrenar el modelo de detección de objetos YOLOv8 en el conjunto de datos.

  • 00:05:00 En esta sección del tutorial de YouTube, el instructor explica la configuración del proyecto y proporciona un enlace de repositorio de GitHub para implementar YOLO v8 con seguimiento de objetos de clasificación profunda en un conjunto de datos de detección de barcos personalizado. El video muestra cómo clonar el repositorio de GitHub en un cuaderno de Google Colab e instalar las bibliotecas necesarias usando pip. La secuencia de comandos del cuaderno se explica en detalle, incluido cómo importar la biblioteca de imágenes, configurar los directorios de trabajo actuales y descargar modelos previamente entrenados. El instructor enfatiza la importancia de ejecutar el script en el orden correcto e instalar todas las bibliotecas requeridas antes de ejecutar los scripts de capacitación, prueba o validación para evitar errores.

  • 00:10:00 En esta sección, el orador explica cómo descargar un conjunto de datos de imágenes de barcos de RoboFlow e implementar el seguimiento de objetos usando DeepSort. Luego entrenan un modelo YOLOv8 en el conjunto de datos del barco, configuran la ubicación del conjunto de datos y el tamaño de imagen predeterminado antes de ejecutar el script de entrenamiento durante 70 épocas. Los resultados muestran una buena precisión media media de 0,968 con IOU 50, lo que significa que el modelo identificó correctamente el 96,8 % de los barcos en las imágenes. El archivo de pesos se guarda en la carpeta del tren y una matriz de confusión muestra que el modelo tuvo una precisión del 96 % en la detección de la presencia de un barco, con una tasa de falla del 4 %. La pérdida de entrenamiento disminuye continuamente, lo que indica que entrenar durante más épocas dará mejores resultados.

  • 00:15:00 En esta sección del video, el presentador analiza el gráfico de pérdida y el gráfico de precisión promedio para mostrar que la pérdida de entrenamiento disminuye continuamente y que la precisión promedio promedio aumenta continuamente a medida que aumentan las épocas. Luego demuestran cómo validar el modelo en un conjunto de datos de validación y muestran la precisión promedio promedio con iou50 en las imágenes del conjunto de datos de validación que es 96.4 % y la precisión promedio promedio con iou50 a 95 es 71.6 %. Luego, el presentador muestra algunos videos de demostración, utilizando el script predict.pi al pasar los mejores pesos del modelo, para probar el modelo en múltiples videos y demuestra cómo el modelo puede detectar tableros y asignar ID únicos a cada objeto. Finalmente, muestran un ejemplo de una predicción falsa hecha por el modelo.
 

YOLOv8 y VGG16 para rostro, detección de género, conteo de rostros y seguimiento de personas | Conjunto de datos personalizado



YOLOv8 y VGG16 para rostro, detección de género, conteo de rostros y seguimiento de personas | Conjunto de datos personalizado

El video tutorial explica el proceso de detección de rostros, clasificación de género, conteo de rostros y seguimiento de personas utilizando los modelos YOLOv8 y VGG16. El tutorial cubre varios aspectos de la implementación y el entrenamiento de estos modelos, incluida la preparación de datos, el aumento de datos, el ajuste fino del modelo VGG16 previamente entrenado, el uso del aprendizaje de transferencia y el entrenamiento del modelo YOLOv8 para la detección de rostros. El presentador también explica cómo montar un Google Drive en una computadora portátil Google Colab, acceder y convertir conjuntos de datos de imágenes, descargar las bibliotecas requeridas e integrar el seguimiento de objetos usando deepsort. El tutorial proporciona explicaciones de código detalladas para dibujar cuadros delimitadores alrededor de objetos detectados, integrar el modelo de clasificación de género, contar la cantidad de rostros en un marco y asignar a cada rostro detectado una identificación única usando deepsort.update.

  • 00:00:00 En esta sección del video tutorial, se explica el flujo de trabajo para la detección de rostros con clasificación de género y conteo de rostros con seguimiento usando YOLOv8 y VGG16. El primer paso es preparar el conjunto de datos con imágenes de rostros de hombres y mujeres, para entrenar el modelo VGG16 para la detección de género, seguido de entrenar el modelo YOLOv8 para la detección de rostros. Con la detección de rostros de YOLOv8, la clasificación de género se realiza utilizando el modelo VGG16 entrenado. Luego se implementa el seguimiento de objetos usando Deepsort, asignando una identificación única a cada cara o persona detectada. El cuaderno se divide en nueve pasos, que incluyen la importación de bibliotecas requeridas, el montaje de Google Drive, la carga del conjunto de datos, la conversión de imágenes y etiquetas en matrices, la aplicación de aumento de datos, el ajuste fino del modelo VGG16 en datos de clasificación de género, el trazado de pérdida de capacitación y validación, y probando con una imagen de muestra.

  • 00:05:00 En esta sección, el orador analiza varias bibliotecas y funciones que se pueden usar para convertir imágenes en matrices numpy, y viceversa. También explican el uso de la biblioteca categórica de dos guiones y el concepto de enfoques secuenciales y funcionales para organizar las capas en la red neuronal. La capa plana se usa para convertir entradas multidimensionales en una dimensión, mientras que la capa densa se usa para definir el tamaño de la capa de salida. Además, analizan el uso del aprendizaje por transferencia con el modelo VGG16 y la importación de bibliotecas de sistema operativo, numpy y split de prueba de tren. Finalmente, mencionan el uso de la biblioteca gdob para acceder a todos los archivos en una carpeta y la biblioteca aleatoria para mezclar conjuntos de datos de imágenes.

  • 00:10:00 En esta sección, el video explica cómo montar un Google Drive con una computadora portátil Google Colab para acceder a un conjunto de datos, que se carga en formato zip. El conjunto de datos incluye imágenes de rostros de hombres y mujeres, y el video muestra cómo descomprimir y acceder a la carpeta que contiene estas imágenes. Usando la biblioteca global, el video accede a todos los archivos de imagen en las carpetas del conjunto de datos y los convierte en un formato de matriz con etiquetas que indican si la imagen es un rostro de hombre o mujer. El video muestra una imagen de muestra y explica cómo la variable de archivos de imagen contiene todas las rutas de archivo de imagen de la carpeta de hombres y mujeres, que se pueden leer usando cb2.im read.

  • 00:15:00 En esta sección, el orador explica cómo prepararon su conjunto de datos para la detección de rostro y género. Crearon una carpeta de 'hombres' y 'mujeres', redimensionaron las imágenes dentro de ellas y las convirtieron en matrices que luego se almacenaron en una lista de datos. Agregaron los valores de etiqueta correspondientes en una lista de etiquetas, con 1 para mujeres y 0 para hombres. Luego, las listas de datos y etiquetas se convirtieron en matrices utilizando NumPy. El orador también demuestra el aumento de datos con el uso de un generador de datos de imágenes, generando múltiples imágenes a partir de una sola imagen mediante la aplicación de varias transformaciones. Luego, ajustaron un modelo VGG16 previamente entrenado en su conjunto de datos de clasificación de género e implementaron la activación softmax para definir la capa de salida. El tamaño de salida se estableció en 2 para clasificar a hombres o mujeres.

  • 00:20:00 En esta sección del tutorial en video, el orador demuestra el modelo VGG16 para la detección de rostro y género, y muestra cómo entrenarlo en un conjunto de datos de clasificación general. El modelo se guarda en formato .H5 y se calculan su precisión, precisión de validación y partes perdidas. Con cv2.dsize, la imagen se redimensiona a 100x100 dimensiones y se convierte en una matriz, y el modelo predice si la imagen contiene un hombre o una mujer. En la siguiente parte del tutorial, el modelo YOLOv8 se entrenará en un conjunto de datos faciales para detectar rostros y asignar una identificación única para el seguimiento. El orador también menciona que el conteo de rostros se implementará utilizando un código simple agregado al archivo predict.pi. En general, el tutorial se divide en siete pasos.

  • 00:25:00 En esta sección, el presentador presenta el repositorio de GitHub que usarán para implementar el seguimiento de objetos mediante la ordenación profunda, así como el modelo YOLO V8 para la reducción de rostros. Discuten cómo detectarán rostros y realizarán la clasificación de género antes de integrar el código de seguimiento de objetos de clasificación profunda para asignar a cada persona una identificación única. Luego, el presentador establece su directorio actual como el repositorio de clonación e instala todas las bibliotecas y dependencias requeridas para el script. También descargan el conjunto de datos de RoboFlow en su computadora portátil Google Colab, pero encuentran problemas debido a que tienen una cuenta privada.

  • 00:30:00 estar usando los pesos del modelo YOLOv8 pre-entrenado para la detección de rostros. El conjunto de datos se descarga y se guarda en mi cuenta de Google Drive, y ya entrené un modelo YOLOv8 durante 80 épocas para la detección de rostros. El modelo entrenado ya se guardó y los pesos se descargaron en el cuaderno de Google Colab. Los archivos de clasificación profunda también se descargan en el cuaderno, ya que el seguimiento de objetos se implementará mediante la clasificación profunda. Además, se entrenó un modelo VGG16 para la detección de género y el archivo .h5 del modelo se guardó y descargó en la cuenta de Google Drive. Los videos de muestra se descargan de Google Drive para probar el script predict.pi, que incluye el código clasificador de género y el conteo de rostros.

  • 00:35:00 En esta sección, el orador explica el código que se agregó para implementar el seguimiento de objetos mediante clasificación profunda. Se inicializa el puerto de seguimiento de objetos de clasificación profunda y se define una función para convertir la salida recibida del modelo YOLOv8 en un formato compatible para la clasificación profunda. La función de cuadro de interfaz de usuario crea cuadros delimitadores alrededor de los objetos detectados, mientras que la función de cuadro de dibujo llama a las funciones de cuadro de interfaz de usuario y borde de dibujo para dibujar un rectángulo redondeado para el texto. El código de seguimiento de clasificación profunda está integrado junto con la capacidad de dibujar senderos. Luego, el orador explica el código para el clasificador de género y la función de conteo en el archivo Paint. La función de conteo se usa para contar cada objeto en cada cuadro. En general, el código explica cómo convertir los valores de salida X1, Y1, X2 e Y2 de YOLOv8 en coordenadas centrales, valores de altura y ancho para el seguimiento de objetos mediante clasificación profunda, implementando la detección de objetos y el seguimiento de objetos en una aplicación del mundo real.

  • 00:40:00 En esta sección, el orador analiza la conversión del modelo YOLOv8 en las coordenadas centrales xcyc del cuadro delimitador y el ancho y alto del cuadro delimitador para que sea compatible con el seguimiento de objetos de clasificación profunda. También explican cómo la función de calcular el color para la etiqueta asigna colores únicos a los objetos detectados y la función de dibujar el borde del guión crea un rectángulo sobre el cuadro delimitador donde se escriben la etiqueta y la puntuación de confianza. El orador también habla sobre la clase clasificadora de género y cómo se carga y usa en cada cuadro del video para clasificar el género de los objetos detectados. Además, mencionan la función de cuadro UI Dash y la función de dibujar cuadros Dash, que se utilizan para crear cuadros delimitadores y llamar a la función clasificadora de género.

  • 00:45:00 En esta sección, el presentador explica cómo usar el modelo de clasificación de género para detectar si un rostro pertenece a un hombre o una mujer. Después de detectar la cara, solo las coordenadas del cuadro delimitador se pasan al modelo de clasificación de género. Luego, el modelo predice si la cara pertenece a un hombre o una mujer, y la etiqueta se agrega sobre el cuadro delimitador en consecuencia. Luego, el presentador explica la función de conteo, que usa un diccionario llamado Foundry-classes para almacenar la cantidad de rostros detectados en el cuadro. El recuento se muestra en la interfaz de usuario encima de la parte superior del video o la imagen.

  • 00:50:00 En esta sección, el orador explica que el recuento de cuántas caras se detectaron en el cuadro actual se almacena en el diccionario de la clase Foundry en la clase FaceDetails. El diccionario contiene dos valores, la variable clave que contiene "cara" y la variable de valor que contiene cuántas caras se detectaron en el marco actual. El altavoz usa la función de conteo para mostrar cuántos rostros se detectaron en cada cuadro y asigna una identificación única a cada rostro detectado usando deepsort.update. El hablante también crea una clase general, una clase de clasificación y una clase de peligro. Las detecciones del modelo se prueban en múltiples videos de demostración y el orador muestra los resultados de las detecciones en cada cuadro.
 

Contador de personas con YOLOv8 y seguimiento de objetos | Conteo de personas (entradas y salidas)



Contador de personas con YOLOv8 y seguimiento de objetos | Conteo de personas (entradas y salidas)

El video explica cómo crear un contador de personas usando YOLOv8 y seguimiento de objetos. El proceso implica detectar objetos con identificaciones únicas, encontrar la coordenada central del objeto detectado, rastrear objetos con Deep SORT y detectar cuándo los objetos cruzan líneas específicas para contar la cantidad de personas que ingresan y salen de un área específica. Las identificaciones únicas se almacenan en listas para contar las personas que entran y salen del área, y los recuentos se muestran gráficamente con círculos verdes y rojos. El video también proporciona código para el proyecto y demuestra la salida del sistema en tiempo real.

  • 00:00:00 En esta sección del videotutorial, el presentador explica cómo crear un contador de personas usando YOLO V8 y seguimiento de objetos. El flujo del proceso comienza con la implementación de la detección de objetos de YOLO V8 para detectar personas y asignar una identificación única a cada objeto detectado. Luego, se encuentra la coordenada central del objeto detectado, seguida de un seguimiento de objetos mediante Deep SORT, que asigna una identificación única a cada objeto detectado. Posteriormente, se dibujan líneas para detectar cuándo una persona las cruza y su identificación única se agrega a una lista. Finalmente, se encuentra la longitud de la lista para obtener el recuento total de personas que cruzan cada línea.

  • 00:05:00 En esta sección, el video explica el proceso de conteo de personas usando YOLOv8 y seguimiento de objetos. El método implica rastrear la coordenada central del cuadro delimitador del objeto y detectar cuándo cruza una línea verde. Luego, la identificación única del objeto se agrega a una lista, que se usa para calcular el recuento total de objetos que han pasado por la línea. El proceso se repite cuadro por cuadro, y el conteo se incrementa cada vez que un objeto pasa la línea. El video también muestra el código utilizado para este proyecto, que incluye la instalación de dependencias y el uso del método de seguimiento de objetos de ordenación profunda.

  • 00:10:00 En esta sección del video, el presentador descarga los archivos de clasificación profunda y abre el script de predicción para realizar los cambios necesarios para los requisitos de su proyecto. El presentador elimina rastros y datos innecesarios y crea dos líneas para contar hacia arriba y hacia abajo usando la entrada de video. Encuentran los puntos de coordenadas para cada línea, lo que les permitirá realizar un seguimiento de la cantidad de personas que han cruzado cada línea y el recuento total. El presentador comparte su pantalla para demostrar cómo encontrar las coordenadas y enfatiza la importancia de enfocarse en el área correcta.

  • 00:15:00 En esta sección, el orador explica cómo definir las coordenadas de la línea y crear una lista vacía. Las coordenadas de la línea se copian de un paso anterior y la lista vacía almacenará la identificación única de los objetos que la cruzan. La secuencia de comandos también calcula el ancho y el alto del cuadro delimitador y almacena la identificación única en la lista apropiada dependiendo de si la persona sube o baja. El orador proporciona una representación visual de los puntos y coordenadas utilizados en esta sección.

  • 00:20:00 En esta sección del video, el orador explica el código para el proyecto People Counter utilizando YOLOv8 y Object Tracking. Pasan por las coordenadas CX y CY, que representan las coordenadas centrales del cuadro delimitador, y cómo se utilizan para dibujar un círculo y un rectángulo alrededor del objeto detectado. El orador también explica cómo la identificación y la etiqueta únicas de cada objeto se agregan al rectángulo usando la función cv2.puttext. Finalmente, explican cómo se almacena la identificación única en la lista vacía cuando la coordenada CX del objeto cruza una línea determinada, lo que indica una entrada o salida.

  • 00:25:00 En esta sección, el presentador explica cómo se agrega la identificación única a la lista de recuento total de personas que suben y bajan. Cuando la coordenada del centro pase por encima o por debajo de la línea, según el conteo, se agregará a la lista respectiva. La longitud de cada lista representa el número de personas que suben y bajan, que se muestra gráficamente mediante dos círculos donde el verde representa las personas que suben y el rojo representa las personas que bajan. El presentador hace hincapié en definir las variables de conteo total global y total descendente y crear una línea usando cb2.9. El código utiliza el círculo de CPU/DPM para crear la representación circular del conteo. El presentador recuerda a los espectadores que se aseguren de que el tiempo de ejecución esté configurado como GPU y que la sesión puede tardar unos segundos en descargar los archivos necesarios.

  • 00:30:00 En esta sección, el orador demuestra cómo descargar y ejecutar un script que usa YOLOv8 y seguimiento de objetos para contar la cantidad de personas que ingresan y salen de un área específica en un video. El guión divide el video en fotogramas y los procesa uno por uno para rastrear el movimiento de las personas y contarlas a medida que cruzan líneas específicas. El resultado es un video anotado que muestra la cantidad de personas que ingresan y salen del área en tiempo real. El orador también muestra el video de salida y explica cómo el guión cuenta con éxito el movimiento de las personas.

  • 00:35:00 En esta sección, el video tutorial demuestra el uso de YOLOv8 y el seguimiento de objetos para contar las personas que ingresan y salen de un área en particular. El sistema cuenta las personas que cruzan una línea en la imagen y muestra el conteo como un conteo ascendente o descendente según la dirección del movimiento. El archivo de script para el sistema también se comparte, y se alienta a los espectadores a suscribirse al canal y dejar un pulgar hacia arriba.
 

Detección, seguimiento, desenfoque y conteo de objetos en tiempo real con YOLOv8: un tutorial paso a paso



Detección, seguimiento, desenfoque y conteo de objetos en tiempo real con YOLOv8: un tutorial paso a paso

Este tutorial se enfoca en implementar el desenfoque de objetos y contar con detección y seguimiento de objetos en tiempo real usando YOLOv8. El tutorial proporciona los pasos para descargar los archivos necesarios, incluidos los archivos de clasificación profunda para el seguimiento de objetos y un video de muestra para realizar pruebas. El tutorial utiliza la biblioteca CV2 de OpenCV para desenfocar los objetos detectados y proporciona un código para la detección, el seguimiento y el desenfoque de objetos. El orador demuestra el proceso de determinar las coordenadas del cuadro delimitador, recortar la imagen y aplicar la función de desenfoque. Además, el presentador explica el código para contar el número total de objetos en cada cuadro usando un diccionario y demuestra cómo el código detecta, rastrea y desenfoca objetos mientras muestra el recuento total de objetos en cada cuadro. En general, los resultados son buenos y en la descripción se proporciona un repositorio de GitHub para el proyecto.

  • 00:00:00 En esta sección del tutorial, la atención se centra en desenfocar los objetos detectados y contar el número de objetos en cada fotograma. El tutorial usa YOLOv8 para la detección de objetos con seguimiento de ID y rastros. El tutorial proporciona una guía paso a paso desde la selección del tiempo de ejecución de la GPU hasta la ejecución de los scripts para descargar los archivos necesarios, incluidos los archivos de clasificación profunda para el seguimiento de objetos y un video de muestra para realizar pruebas. El tutorial también destaca el uso de la biblioteca CV2 de OpenCV para desenfocar los objetos detectados y proporciona un código para implementar la detección, el seguimiento y el desenfoque de objetos.

  • 00:05:00 En esta sección, el video tutorial explica cómo desenfocar los objetos detectados en la detección y seguimiento de objetos en tiempo real usando YOLOv8. Para implementar esto, es necesario conocer las coordenadas del cuadro delimitador, que incluye el vértice superior izquierdo y el vértice inferior derecho, y luego desenfocar el objeto dentro de este cuadro delimitador. Las coordenadas se almacenan en el archivo "predict.pi", y se pueden obtener estos valores para desenfocar los objetos.

  • 00:10:00 En esta sección del video, el orador explica cómo desenfocar el objeto dentro del cuadro delimitador del objeto detectado. Primero determina las coordenadas del cuadro delimitador antes de recortar la imagen para que solo contenga el área donde se encuentra el cuadro delimitador. Luego, aplica la función de desenfoque utilizando el desenfoque de punto CV2 y establece la proporción de sangre, que determina el desenfoque del área. El orador demuestra el proceso escribiendo y ejecutando el guión.

  • 00:15:00 En esta sección del video, el presentador demuestra cómo implementar el desenfoque de objetos usando YOLOv8 para la detección, seguimiento y conteo de objetos en tiempo real. Después de hacer algunas correcciones menores y ejecutar el guión, el presentador muestra los resultados de la función de desenfoque de objetos, que funciona bien. A continuación, el presentador pasa a explicar el código para contar el número total de objetos en cada cuadro, lo que implica crear un diccionario que contiene el nombre del objeto y la cantidad de veces que aparece en el cuadro actual. El presentador no muestra el código de esta parte para evitar que el video sea demasiado largo.

  • 00:20:00 En esta sección, el presentador explica la función de conteo, que extrae claves y valores de un diccionario que contiene nombres de objetos y su conteo (el número de apariciones en el marco frontal actual). Esta función crea un rectángulo y lo superpone con el texto que muestra el número de veces que ha aparecido el objeto. El presentador también demuestra cómo el código detecta y rastrea objetos, los desenfoca y muestra el recuento total de objetos en cada cuadro. Los resultados son buenos y en la descripción se proporciona un repositorio de GitHub para el proyecto.
 

Entrene YOLOv8 en un conjunto de datos personalizado | Detección y reconocimiento de alfabetos de lenguaje de señas usando YOLOv8



Entrene YOLOv8 en un conjunto de datos personalizado | Detección y reconocimiento de alfabetos de lenguaje de señas usando YOLOv8

El video demuestra la implementación de YOLOv8 en un conjunto de datos personalizado para la detección y el reconocimiento del alfabeto del lenguaje de señas. El proceso implica descargar el conjunto de datos, entrenar el modelo durante 50 épocas y evaluar su rendimiento utilizando la matriz de confusión y las pérdidas de entrenamiento y validación. El presentador también analiza cómo se validan las predicciones del modelo en el lote de validación y las imágenes que no se usan para el entrenamiento para determinar cómo se comporta en diferentes imágenes. Luego, el modelo entrenado se valida y prueba en las imágenes del conjunto de datos de validación, y se muestra una inferencia de video de demostración con buenos resultados. En general, el video destaca la aplicación de YOLOv8 para el entrenamiento de conjuntos de datos personalizados y la detección de objetos.

  • 00:00:00 En esta sección del video, el presentador presenta el tema de la capacitación de YOLOv8 en datos personalizados para la detección y el reconocimiento de alfabetos de lenguaje de señas. Explican el proceso paso a paso y discuten cómo se puede implementar un sistema de detección y reconocimiento del alfabeto de lenguaje de señas usando YOLOv8. El presentador importa varias bibliotecas, incluido el sistema operativo, la pantalla IPython y G-LOP, que son necesarias para mostrar matrices de confusión, pérdidas de capacitación y validación e imágenes de prueba. Luego, el presentador muestra cómo verificar el acceso a la GPU y define una variable auxiliar para facilitar la navegación entre diferentes carpetas que contienen imágenes de conjuntos de datos. Finalmente, instalan Ultra Analytics usando "pip install" y verifican que YOLOv8 esté instalado y funcionando correctamente.

  • 00:05:00 En esta sección, el video demuestra el proceso de implementación de YOLOv8 en un conjunto de datos personalizado para la detección y el reconocimiento del alfabeto del lenguaje de señas. El conjunto de datos se descarga de Roboflow y el modelo YOLOv8 se entrena en él durante 50 épocas. La matriz de confusión se utiliza para evaluar el rendimiento del modelo, identificando qué tan bien el modelo puede detectar y clasificar diferentes clases. Los resultados muestran que el modelo pudo detectar correctamente el Alfabeto A el 60% de las veces, pero a veces resultó en una clasificación incorrecta o no pudo detectarlo. En general, el video destaca la aplicación de YOLOv8 para el entrenamiento de conjuntos de datos personalizados y la detección de objetos.

  • 00:10:00 En esta sección del video, el presentador analiza la matriz de confusión, que muestra qué tan bien el modelo manejó diferentes clases y las pérdidas de capacitación y validación, siendo las más importantes los registros de caja y la pérdida de clasificación. También se muestran las predicciones del modelo en el lote de validación, y las imágenes que no se usan para el entrenamiento se validan para determinar cómo se comporta el modelo en diferentes imágenes. Luego, el modelo personalizado se valida y prueba en las imágenes del conjunto de datos de validación, seguido de una inferencia de video de demostración, que muestra que el modelo detecta y reconoce alfabetos de lenguaje de señas con buenos resultados. Finalmente, se alienta a los espectadores a probar sus propios modelos con el conjunto de datos de video proporcionado.
 

Segmentación de YOLOv8 con seguimiento de objetos: implementación de código paso a paso | Colaboración de Google | ventanas



Segmentación de YOLOv8 con seguimiento de objetos: implementación de código paso a paso | Colaboración de Google | ventanas

Este video tutorial proporciona una guía completa sobre cómo implementar la segmentación de YOLOv8 con ID de seguimiento de ordenación profunda más rastros. El presentador guía a los espectadores a través del proceso de importación de archivos de script necesarios, instalación de dependencias y configuración del directorio necesario para la segmentación y el seguimiento de objetos con clasificación profunda. El tutorial incluye una demostración del seguimiento de objetos con ID únicos y rastros de movimiento, y una discusión sobre el repositorio de GitHub que proporciona un código de solución de un solo clic para la segmentación de YOLOv8 y el seguimiento de clasificación profunda. El tutorial también presenta un programa de patreon con acceso exclusivo a videotutoriales que no se subirán al canal de YouTube. En general, el tutorial ofrece una explicación paso a paso de la implementación del código para la segmentación de YOLOv8 con seguimiento de objetos.

  • 00:00:00 En esta sección del video tutorial, se guía a los espectadores sobre cómo implementar la segmentación de YOLO V8 con ID de seguimiento de ordenación profunda más rastros. El tutorial brinda una explicación completa del código con una demostración del proceso de implementación en Google Colab, así como en Windows y Linux. Los espectadores también conocen un nuevo programa de patreon, que ofrece acceso exclusivo a dos o tres proyectos por semana, incluidos tutoriales en video que no se cargarán en el canal de YouTube. El video concluye con una discusión sobre el repositorio de GitHub, que proporciona el código de solución de un solo clic para la segmentación de YOLO V8 y el seguimiento de clasificación profunda, lo que facilita la implementación en conjuntos de datos personalizados o en el conjunto de datos de MS Coco previamente entrenado.

  • 00:05:00 En esta sección, el presentador recorre los pasos iniciales involucrados en la implementación de la segmentación YOLOv8 con seguimiento de objetos. El primer paso consiste en clonar el repositorio de GitHub e importar todos los archivos de script necesarios. Las dependencias se instalan mediante el archivo setup.py y el directorio necesario se establece para realizar la segmentación y el seguimiento de objetos con clasificación profunda. Luego, el presentador descarga un video de muestra para probar desde Google Drive y demuestra cómo se realiza el seguimiento de objetos con identificaciones únicas asignadas a cada objeto y rastros que muestran el movimiento de cada objeto. El video concluye con una explicación de cómo implementar YOLOv8 en un sistema Windows usando PyCharm.

  • 00:10:00 En esta sección, el orador brinda una guía paso a paso para implementar la segmentación YOLOv8 con seguimiento de objetos en Google Colab en Windows. El proceso implica clonar el repositorio de GitHub, configurar el directorio actual como la carpeta de clonación, instalar todas las dependencias y descargar los archivos de clasificación profunda. Los archivos de clasificación profunda son necesarios para implementar el seguimiento de objetos mediante el algoritmo de clasificación profunda. Estos archivos se descargan y extraen en la carpeta del tutorial segmentado. El orador también menciona que hay varios algoritmos de seguimiento de objetos disponibles que se pueden usar en lugar de la clasificación profunda.

  • 00:15:00 En esta sección, el orador analiza el algoritmo de seguimiento de objetos y señala que después de las pruebas, descubrieron que el algoritmo de clasificación profunda funciona mejor. Explican que utilizarán el algoritmo SORT para realizar el seguimiento en el guión. El orador descarga un video de demostración y muestra el código, explicando el modelo preentrenado de YOLOv8-sec BT utilizado para el seguimiento de objetos. También analizan los diversos modelos de YOLOv8 y sus compensaciones entre velocidad y precisión. Finalmente, el orador explica el script predict.5 y destaca cómo se definen los colores del cuadro delimitador para los objetos detectados.

  • 00:20:00 En esta sección, el orador demuestra la función que crea un rectángulo alrededor del objeto detectado, asigna una identificación y una etiqueta únicas y crea un cuadro delimitador. Explican cómo se usa la función de cuadro táctil de la interfaz de usuario para crear el cuadro delimitador y el rectángulo de arriba, mientras que la función de dos rectángulos de CV crea el rectángulo alrededor del objeto detectado. El orador también muestra cómo la función de cuadro de dibujo Dash encuentra el centro del borde inferior del cuadro delimitador para dibujar trayectorias y asigna a cada objeto una identificación única. En general, el orador brinda una explicación paso a paso de la implementación del código para la segmentación de YOLOv8 con seguimiento de objetos.

  • 00:25:00 En esta sección, el orador explica el uso de una cola doble (DQ) en lugar de una lista para almacenar datos. El DQ se utiliza para almacenar valores de objetos y eliminar la identificación de un objeto que no está en el cuadro actual. Los datos se utilizan para dibujar senderos utilizando la línea de herramientas CV2. Se realiza la segmentación y el video de salida muestra los rastros y los objetos detectados con una identificación única asignada. El orador señala que la secuencia de comandos puede tardar más en ejecutarse en una CPU, pero se puede ejecutar en una GPU con los mismos pasos.