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

 

YOLOv8 | Detección de objetos | Segmentación | Tutorial Completo Google Colab| Solución de un solo clic



YOLOv8 | Detección de objetos | Segmentación | Tutorial Completo Google Colab| Solución de un solo clic

El video tutorial demuestra cómo implementar YOLOv8 usando Google Colab para la detección y segmentación de objetos. Se guía a los usuarios a través de los pasos para clonar el repositorio de GitHub, instalar paquetes, configurar directorios e importar videos de demostración desde Google Drive para realizar pruebas. También se muestra al usuario cómo ejecutar el modelo YOLOv8 para la detección de objetos en un video de demostración, cómo solucionar cualquier problema de espacio y cómo guardar y descargar el video de salida. El tutorial también cubre cómo realizar la segmentación con YOLOv8 y enfatiza la importancia de eliminar los archivos comprimidos anteriores antes de continuar. Se proporciona un enlace para descargar el archivo del cuaderno y se anima a los espectadores a hacer preguntas en la sección de comentarios.

  • 00:00:00 En esta sección, el presentador analiza la implementación de YOLOv8 utilizando Google Colab para detección y segmentación. El tutorial comienza con la clonación del repositorio YOLOv8 GitHub y la instalación de los paquetes necesarios. El presentador demuestra cómo configurar el sistema con los directorios necesarios e importar videos de demostración desde Google Drive para realizar pruebas. Al seguir estos pasos y ejecutar las celdas proporcionadas, los usuarios pueden instalar e implementar YOLOv8 en Google Colab para la detección y segmentación de objetos.

  • 00:05:00 En esta sección, el video tutorial analiza la ejecución del modelo YOLOv8 para la detección de objetos en un video de demostración. El video se importa a la carpeta y el repositorio YOLOv8 GitHub se agrega al cuaderno. Luego, se prueba la detección del video de 'prueba 1' con el modelo YOLOv8, y se solucionan los problemas de espacio antes de probar el video de 'prueba 2'. El video de salida se guarda en una ruta y se puede descargar para revisar los resultados, pero el tutorial también incluye una secuencia de comandos para mostrar el video de demostración dentro de Google Colab usando bibliotecas HTML y OS.

  • 00:10:00 Este extracto parece ser la continuación de un tutorial sobre la creación de un modelo de detección de objetos usando YOLOv8 en Google Colab. El orador está realizando algunos ajustes en el código y verificando si hay errores para asegurarse de que la ruta sea correcta para el video de salida. Mencionan un problema con la falta de RB.free y un problema de espaciado, que corrigen antes de volver a ejecutar el código. El video muestra la salida del modelo de detección de objetos.

  • 00:15:00 En esta sección, el usuario realiza la segmentación utilizando YOLOv8. Copian el código necesario y lo ejecutan para realizar la segmentación, obteniendo resultados impresionantes en el video de salida. El usuario destaca la importancia de eliminar el archivo comprimido anterior antes de proceder a la segmentación. También proporcionan un enlace para descargar el archivo del cuaderno y alientan a los espectadores a hacer cualquier pregunta que puedan tener en la sección de comentarios.
 

Reconocimiento de emociones faciales con IA | Identificación de expresiones faciales con V7



Reconocimiento de emociones faciales con IA | Identificación de expresiones faciales con V7

Los tutoriales en video analizan el proceso de uso de la plataforma V7 para crear conjuntos de datos anotados para el reconocimiento de emociones faciales de IA. Los tutoriales cubren varios aspectos del proceso, incluida la creación de un conjunto de datos, la anotación de imágenes y videos para las emociones, la capacitación del modelo y la prueba en imágenes de muestra y cámaras web en vivo. La importancia del etiquetado preciso para el entrenamiento efectivo de los modelos de IA se enfatiza a lo largo de los tutoriales y se destacan las características de la plataforma V7 y los múltiples modelos. Los tutoriales brindan ejemplos completos del proceso de anotación para identificar expresiones faciales mediante IA.

  • 00:00:00 En esta sección, el YouTuber explica cómo usar la plataforma V7 para crear un detector de expresión facial. Siguen los pasos de crear un conjunto de datos, cargar imágenes y videos y etiquetar el conjunto de datos. La plataforma V7 permite al usuario entrenar su modelo para la detección o segmentación y clasificación de objetos, y probarlo en imágenes de muestra, videos o incluso en una cámara web. El YouTuber usa el ejemplo de una expresión facial de enojo y sube imágenes para entrenar al modelo. También mencionan que V7 ofrece varios formatos para imágenes y videos, incluidos PNG, JPG, JFIF, MP4 y ABI, entre otros. En general, este video proporciona un tutorial completo sobre cómo implementar un detector de expresión facial usando la plataforma V7.

  • 00:05:00 En esta sección, el presentador recorre el proceso de anotar expresiones faciales con los laboratorios V7. Usando el ejemplo de la clase enojada, el presentador demuestra cómo dibujar un cuadro delimitador alrededor de la cara de una persona y luego crear una etiqueta de clase para las emociones de enojo. Luego, el presentador pasa a anotar las 50 imágenes incluidas en el conjunto de datos, señalando que el proceso también se puede replicar para anotar fotogramas de video. En general, el presentador enfatiza la importancia del etiquetado preciso para el entrenamiento efectivo de los modelos de reconocimiento de emociones faciales de IA.

  • 00:10:00 En esta sección del video, el presentador muestra cómo anotar fotogramas de un conjunto de datos de video para crear imágenes visuales para el reconocimiento de emociones por IA. El presentador carga un conjunto de datos de video y extrae un cuadro por segundo para crear imágenes individuales. Luego, las imágenes se anotan por separado para identificar la emoción representada. El presentador señala que el proceso requiere mucho tiempo, pero es importante para crear un conjunto de datos completo para el aprendizaje automático. El presentador también demuestra la capacidad de anotar imágenes y videos para el reconocimiento de emociones por IA. En general, esta sección proporciona un tutorial útil para crear conjuntos de datos anotados para el reconocimiento de emociones de IA.

  • 00:15:00 En esta sección, el orador explica el proceso de carga y anotación de un conjunto de datos para la clase "feliz" en el reconocimiento de emociones faciales de IA mediante la tecnología V7. El locutor carga 50 imágenes y las anota una por una con la etiqueta "feliz". Mencionan que hasta ahora se han anotado un total de 182 imágenes, incluidas 100 para la clase "enojada". También analizan cómo cargar un video y dividirlo en cuadros separados para anotar cada uno de ellos para las expresiones faciales.

  • 00:20:00 En esta sección, el videotutorial demuestra el proceso de anotación para identificar a personas felices y temerosas en videos e imágenes usando el reconocimiento de emociones faciales de IA. El anotador sube 66 videos de personas felices y los anota con Envision, rotando cada cuadro y etiquetando expresiones felices o neutrales. A continuación, el anotador agrega una nueva clase de miedo y carga 50 imágenes, luego anota cada imagen con la etiqueta de emoción adecuada. El conjunto de datos completo contiene 248 imágenes y videos, y el tutorial proporciona un ejemplo completo del proceso de anotación para identificar expresiones faciales usando IA.

  • 00:25:00 En esta sección, el YouTuber analiza su progreso en la anotación y animación de imágenes para su proyecto de reconocimiento de emociones faciales con IA. Han anotado con éxito las 50 imágenes del vidrio transparente y también han completado la anotación cuadro por cuadro de un video de una persona con miedo. Luego, el YouTuber procede a anotar todas las imágenes para la clase sorpresa, que es su última clase, y menciona que avanzarán hacia la parte de capacitación del video después de completar todas las anotaciones. El video muestra un diagrama de flujo de trabajo para el proyecto, y el YouTuber aclara que realizarán detección de objetos y crearán cuadros delimitadores en lugar de segmentación o clasificación instantánea.

  • 00:30:00 En esta sección, el video tutorial demuestra el proceso de entrenamiento de un modelo de IA en un conjunto de datos de expresiones faciales y emociones usando V7. El tutorial muestra cómo programar y monitorear el entrenamiento del conjunto de datos, con una notificación por correo electrónico enviada después de la finalización. El video también destaca las métricas de rendimiento del modelo, incluida la precisión promedio y el recuerdo, así como las pérdidas, que disminuyeron continuamente con el tiempo. El tutorial concluye mostrando cómo se puede implementar el modelo entrenado para su uso en varias API mediante Python, Shell, JavaScript o Elixir, y cómo se puede probar el modelo en cámaras web en vivo.

  • 00:35:00 En esta sección, el orador demuestra el reconocimiento de emociones faciales de IA mediante los laboratorios V7. El proceso implica recopilar y etiquetar conjuntos de datos de imágenes para las emociones de enojo, felicidad, miedo, sorpresa y más. El orador entrena al modelo y lo prueba usando una cámara web y muestras de imágenes, logrando buenos resultados. Los laboratorios V7 también ofrecen múltiples modelos para tareas como segmentación y escaneo de texto, y los usuarios pueden crear sus propios modelos con créditos gratuitos. El orador adelanta proyectos futuros usando V7 y alienta a los espectadores a compartir y darle me gusta al video.
 

Detección y seguimiento de jugadores de fútbol y balones en tiempo real con YOLOv8 Live :Object Tracking YOLOv8



Detección y seguimiento de jugadores de fútbol y balones en tiempo real con YOLOv8 Live :Object Tracking YOLOv8

En este videotutorial de YouTube, el presentador demuestra el proceso de creación de un conjunto de datos de detección y seguimiento de un jugador de fútbol y un balón mediante Roboflow. El presentador recorre los pasos de carga y anotación de imágenes, preparación del conjunto de datos, capacitación del modelo, prueba en videos de muestra y cámara web en vivo, y modificación del código para mejorar el seguimiento. En general, el modelo YOLOv8 funciona bien, pero tiene algunas limitaciones para detectar fútbol en ciertos escenarios.

  • 00:00:00 En esta sección del tutorial, el presentador recorre el proceso de creación de un conjunto de datos de detección de balón y jugador de fútbol con Roboflow. Demuestran cómo registrarse para obtener una cuenta y crear un nuevo proyecto, además de cómo cargar y procesar videos de YouTube para extraer fotogramas para anotar. El presentador observa que los cuadros aún no están anotados y procede a cargar otro video para la anotación.

  • 00:05:00 En esta sección, el creador del video demuestra el proceso de cargar y anotar imágenes para un proyecto de detección y seguimiento de un jugador de fútbol y un balón. El creador sube imágenes y extrae cuadros de un video, asignándose el trabajo de anotar las imágenes. Anotan cada imagen con etiquetas para fútbol o jugador de fútbol y demuestran anotar diferentes jugadores en cada imagen. Finalmente, señalan que han anotado un total de 1827 imágenes para el proyecto.

  • 00:10:00 En esta sección del video, el presentador habla sobre la preparación del conjunto de datos para un jugador de fútbol y un modelo de detección de pelota al cambiar el tamaño de todas las imágenes a 640x640, filtrar las imágenes sin anotaciones y generar datos aumentados para aumentar el conjunto de datos tamaño. Los datos aumentados incluyen dos imágenes con diferentes contrastes y niveles de brillo generados a partir de una sola imagen. El presentador exporta el conjunto de datos de Roboflow a un archivo de Google Colab y entrena el modelo utilizando un conjunto de datos de fútbol extraído de un repositorio de GitHub. También conectan su Google Drive al cuaderno de Colab para guardar los pesos del modelo entrenado.

  • 00:15:00 En esta sección, el usuario establece su directorio de trabajo actual como su repositorio de GitHub e instala todas las dependencias necesarias para evitar errores mientras ejecuta el proceso de detección o predicción. Luego se mueven hacia el directorio requerido, detectan y descargan el conjunto de datos de roboflow en su computadora portátil de Google. El usuario también descarga los archivos de Deep Sort y los descomprime para implementar el seguimiento de objetos mediante Deep Sort. Finalmente, entrenan el modelo personalizado de YOLOv8 en el jugador de fútbol y el conjunto de datos de fútbol y lo validan, asegurando un buen promedio. El usuario puede revisar los resultados del entrenamiento, incluida la curva F1, la curva de precisión, la curva de recuperación y los resultados del banco de entrenamiento y validación.

  • 00:20:00 En esta sección, el orador analiza los resultados de su modelo YOLOv8 para la detección y el seguimiento de jugadores de fútbol y balones. Reportan resultados precisos, con una precisión promedio de 0.63144 y 0.476 para jugadores y buena detección de fútbol. Luego, el orador demuestra cómo descargaron un video de muestra para probar su modelo y muestra los resultados, además de colocar el modelo en una prueba de cámara web en vivo. En general, el modelo funcionó bien con la detección de jugadores y la asignación de identificaciones únicas, pero hubo algunas detecciones de fútbol perdidas.

  • 00:25:00 En esta sección, el video muestra cómo eliminar la identificación única asignada al balón en el código para simplificar el proceso de seguimiento. Las modificaciones del código se realizan editando el archivo project.py y eliminando la identificación única asignada a la etiqueta de fútbol. Luego, el video de salida se descarga y se prueba en una cámara web en vivo, donde el modelo puede detectar con éxito el balón pero no al jugador, ya que no está vestido como un jugador. En general, las modificaciones realizadas al código mejoraron el proceso de seguimiento y produjeron resultados satisfactorios.

  • 00:30:00 En esta sección, el presentador demuestra un script que fue escrito para realizar predicciones en una cámara web en vivo usando YOLOv8. El script importa YOLO, establece el archivo de pesos y realiza predicciones con una fuente configurada en 0 y muestra configurada en verdadero. El valor de confianza se establece en 0,15. Mientras vestía de jugadora, la modelo no pudo detectar al presentador, pero los resultados para detectar una pelota de fútbol fueron exitosos.
 

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.
 

Detección de semáforos y reconocimiento de color con YOLOv8 | Tutorial de detección de objetos personalizados



Detección de semáforos y reconocimiento de color con YOLOv8 | Tutorial de detección de objetos personalizados

El video tutorial "Detección de semáforos y reconocimiento de colores con YOLOv8" explica los pasos para crear un modelo de detección de semáforos y reconocimiento de colores con Ultralytics YOLOv8 web pro. Cubre el conjunto de datos del semáforo, el aumento de datos, la instalación de las bibliotecas necesarias, el ajuste fino del modelo YOLOv8 y la prueba del modelo en varios videos. El presentador enfatiza la importancia de instalar todas las bibliotecas requeridas, y los resultados de probar el modelo en videos demuestran su precisión para detectar y reconocer semáforos de varios colores.

  • 00:00:00 , el tutorial cubre el conjunto de datos de semáforos que usarán para el proyecto, que consta de alrededor de 1000 imágenes con tres clases diferentes de semáforos: verde, rojo y amarillo. Muestran ejemplos de cada etiqueta y explican cómo aplicaron el aumento de datos para aumentar el tamaño de su conjunto de datos, ya que no tenían suficientes imágenes en su conjunto de datos de entrenamiento. El video continúa mostrando cómo exportar el conjunto de datos de RoboFlow a la computadora portátil Google Colab y también presenta el producto recientemente lanzado, Expense, que puede ayudar a entrenar, implementar y monitorear modelos, entre otras características.

  • 00:05:00 En esta sección, el YouTuber explica los pasos iniciales en el proceso de implementación para crear un modelo de reconocimiento de color y detección de semáforos utilizando el ultralytics YOLOv8 web pro. El primer paso consiste en importar todas las bibliotecas necesarias, como OS y glob, que se utilizan para navegar por diferentes rutas de archivos y trazar imágenes de entrada y salida. Luego, verifican la presencia de una GPU e instalan todas las bibliotecas requeridas usando pip. Finalmente, clonan el repositorio GitHub de ultralytics y lo configuran como el directorio actual antes de instalar las bibliotecas necesarias restantes. El video enfatiza la importancia de instalar todas las bibliotecas requeridas para evitar errores de script más adelante.

  • 00:10:00 En esta sección del video, el presentador demuestra los pasos para entrenar y ajustar un modelo YOLO V8 en un conjunto de datos de semáforos usando Google Colab. Después de configurar la carpeta del conjunto de datos como el directorio actual, el modelo se entrena en el cuadro Ade para 80 cuadros, y los resultados muestran que la precisión promedio promedio con IOU50s para todas las clases es del 98,3 %. Luego se presenta la matriz de confusión, que muestra que el modelo clasificó las luces verde, roja y amarilla con precisión durante el 96,7 %, el 97,4 % y el 95,5 % del tiempo, respectivamente. El presentador también señala que la pérdida está disminuyendo continuamente y que el modelo podría mejorarse aún más entrenándolo en un mayor número de épocas. Finalmente, se validan los mejores pesos del modelo utilizando las imágenes de validación.

  • 00:15:00 En esta sección, el orador analiza los resultados de probar el modelo YOLOv8 en varios videos, incluido un video de demostración de semáforos. El modelo puede detectar con precisión los semáforos y asignar etiquetas según el color de la luz, con un color de cuadro delimitador que coincide con el color de la luz. El orador muestra ejemplos del modelo que detecta semáforos rojos, verdes y amarillos, con la etiqueta adecuada y el color del cuadro delimitador para cada uno. Los resultados del modelo en diferentes videos demuestran su precisión para detectar y reconocer semáforos de varios colores.
 

Demostración de seguimiento de vehículos y estimación de velocidad en el 2º Taller AI City Challenge en CVPR 2018



Demostración de seguimiento de vehículos y estimación de velocidad en el 2º Taller AI City Challenge en CVPR 2018

Nuestro equipo de la Universidad de Washington es el ganador de la Pista 1 (Análisis de Flujo de Tráfico) en el 2º Taller AI City Challenge en CVPR 2018.

Los conjuntos de datos del segundo AI City Challenge (2018) ya no están disponibles para el público. Sin embargo, aún puede acceder a los conjuntos de datos del 3.er AI City Challenge (2019) o participar en el último 4.º AI City Challenge en CVPR 2020.

Proporcionaron un nuevo conjunto de datos a escala de ciudad para el seguimiento de vehículos con varias cámaras, así como para la reidentificación basada en imágenes. También tenían un nuevo conjunto de datos para la detección de anomalías de tráfico. La escala de los conjuntos de datos y la cantidad de vehículos que se utilizan para la evaluación no tienen precedentes. El sitio web de AI City Challenges está en https://www.aicitychallenge.org/.

Código: https://github.com/zhengthomastang/2018AICity_TeamUW

 

Análisis y predicción de abandono de clientes mediante ANN| Tutorial de aprendizaje profundo (Tensorflow, Keras y Python)



Análisis y predicción de abandono de clientes mediante ANN| Tutorial de aprendizaje profundo (Tensorflow, Keras y Python)

El video de YouTube titulado "Análisis y predicción de abandono de clientes con ANN | Tutorial de aprendizaje profundo (Tensorflow, Keras y Python)" demuestra el uso de redes neuronales artificiales para predecir el abandono de clientes utilizando un conjunto de datos de Kaggle. El video cubre varios pasos involucrados en la preparación de los datos, como la limpieza de datos, la codificación de características categóricas y la escala de valores en columnas. Luego, el orador crea una red neuronal con una sola capa oculta de 20 neuronas y una función de activación sigmoidea mientras define las capas de entrada y salida y un optimizador con una función de pérdida de entropía cruzada binaria. Se muestran la precisión lograda y el informe de clasificación utilizando la biblioteca Scikit-learn, y los valores predichos se convierten en 0 o 1 para mostrar una precisión de 0,78.

  • 00:00:00 En esta sección, el YouTuber presenta el tema de la rotación de clientes y explica cómo se pueden usar las redes neuronales artificiales para predecirlo. Usarán un conjunto de datos de Kaggle y Jupyter Notebook para realizar análisis exploratorios de datos y limpieza de datos, seguidos de disputas de datos, pruebas de entrenamiento y división, y eventualmente predecir la rotación de clientes usando una red neuronal artificial. Comienzan importando las bibliotecas necesarias, como Pandas y NumPy, y luego proceden a cargar y analizar el conjunto de datos, eliminando la columna de identificación del cliente, ya que no es útil para predecir la rotación de clientes.

  • 00:05:00 En esta sección del video, el orador analiza el proceso de verificar los tipos de datos e identificar cualquier característica categórica. El hablante descubre que la columna "cargos totales" aparece como una variable categórica, aunque debería ser un valor flotante o entero. Para solucionar este problema, el hablante convierte la columna en un número entero. También encuentran un error de espacio vacío en la posición 488 y lo resuelven usando errores = "coaccionar" para ignorar el error. Finalmente, el hablante verifica que no haya valores en las filas y planea eliminarlos según sea necesario.

  • 00:10:00 En esta sección, el orador analiza el proceso de quitar filas vacías de las columnas de cargos totales usando Python. Inicialmente, el hablante identifica la cantidad de filas vacías en la columna de cargos totales y luego aplica pd.notnull() para eliminarlas. Después de soltar las filas, el hablante verifica el número de filas que quedan para asegurarse de que coincida con el número esperado. Más tarde, el hablante convierte la columna de cargos totales a un tipo de datos numérico usando pd.to_numeric(). El locutor identifica el error de no guardar la conversión del tipo de datos y lo ajusta.

  • 00:15:00 En esta sección del video, el presentador realiza un análisis exploratorio de datos sobre los datos de abandono de clientes. Convierten la columna "cargos totales" al tipo flotante y verifican los valores mediante visualizaciones. Luego trazan un histograma para ver cuántos clientes leales se quedan (no abandonan) en función de una duración de 10 meses, y codifican con colores los puntos de datos que indican dejar a los clientes en verde y los que se quedan en rojo.

  • 00:20:00 En esta sección, el orador analiza la modificación de declaraciones para encontrar los valores únicos en cada columna y la adición de nombres de columna antes de los valores únicos. El orador también habla sobre encontrar todas las columnas con variables categóricas y convertirlas en números enteros o flotantes. Luego definen una función para juntar todos estos pasos y poder imprimir los valores categóricos en cualquier marco de datos.

  • 00:25:00 En esta sección del video, el orador demuestra cómo usar una función para imprimir valores categóricos o valores de tipos de datos de objetos para cualquier marco de datos que se coloque en él. Luego modifican su marco de datos convirtiendo una columna en un tipo de datos flotante y eliminándola. El hablante reemplaza "sin servicio de Internet" y "sin servicio telefónico" con "no" usando la función de reemplazo y define una columna de sí-no donde reemplazan todas las variables sí y no con 1 y 0, respectivamente, para convertir valores categóricos en valores numéricos, que son más fáciles de entender para los modelos de aprendizaje automático.

  • 00:30:00 En esta sección, el orador analiza los pasos necesarios para preparar los datos para el aprendizaje automático. Demuestran cómo dividir el conjunto de datos en conjuntos de entrenamiento y prueba, y cómo codificar características categóricas reemplazando "femenino" por 1 y "masculino" por 0. Luego, el orador usa TensorFlow y Keras para crear una red neuronal con una sola capa oculta. de 20 neuronas y una función de activación sigmoidea. La capa de entrada tiene 27 entidades y la capa de salida está definida.

  • 00:35:00 En esta sección del video, el presentador analiza cómo convertir datos de texto en valores enteros utilizando obtener dummies para preparar los datos para los modelos de aprendizaje automático. El presentador muestra cómo generar valores ficticios para variables como el servicio de Internet y el contrato, y luego usa min max scalar para escalar los valores en las columnas entre 0 y 1. El propósito de escalar es llevar los valores en las columnas entre 0 y 1. 1 para que el modelo de aprendizaje automático pueda comprender e interpretar los datos con precisión.

  • 00:40:00 En esta sección, el orador explica cómo definir la capa de entrada, la capa de salida y el optimizador para el análisis y la predicción de la rotación de clientes mediante una red neuronal artificial. Elimina la capa de entrada innecesaria y define la capa de salida compuesta por uno o cero con una función de activación sigmoidea. Señala que la función ReLU se puede utilizar en la capa oculta para problemas de clasificación, pero no en la capa de salida. El optimizador se define con una función de pérdida de entropía cruzada binaria y la precisión se comprueba con una compilación de modelo de 100 épocas. Finalmente, muestra la precisión alcanzada y el informe de clasificación utilizando la biblioteca Scikit-learn.

  • 00:45:00 En esta sección, el orador explica cómo convirtieron los valores predichos, que estaban en una matriz bidimensional y oscilaban entre 0 y 1, en forma de 0 o 1. Hicieron esto usando un ciclo for, indicando que si un valor era mayor a 0.5, sería considerado como 1, y si era menor a 0.5, sería considerado como 0. Después de convertir los valores, el hablante imprimía la clasificación. informe, que muestra una precisión de 0,78. El tutorial concluye con el orador agradeciendo a los espectadores por mirar e invitándolos a suscribirse al canal.
 

Seguimiento de vehículos / Monitoreo de tráfico yolov5+deepsort



Seguimiento de vehículos / Monitoreo de tráfico yolov5+deepsort

Para todos viene aquí desde youtube o simplemente quiere usar mi repositorio para inferencia. Este es un proyecto muy antiguo solo para aprender CV cuando estaba en la escuela. Ha pasado mucho tiempo, así que olvidé todo lo que hice en este proyecto de juguetes. Edité desde este repositorio y agregué algunas líneas de código para algunas restricciones. Ustedes pueden usar ese repositorio para referencias. Gracias.

Las detecciones son generadas por YOLOv5 y se pasan al algoritmo Deep Sort que rastrea los objetos.

Código: https://github.com/duongcongnha/Vehicle-tracking

 

Demostración de seguimiento de vehículos y estimación de velocidad en el 2º Taller AI City Challenge en CVPR 2018



Demostración de seguimiento de vehículos y estimación de velocidad en el 2º Taller AI City Challenge en CVPR 2018

Nuestro equipo de la Universidad de Washington es el ganador de la Pista 1 (Análisis de Flujo de Tráfico) en el 2º Taller AI City Challenge en CVPR 2018.

Los conjuntos de datos del segundo AI City Challenge (2018) ya no están disponibles para el público. Sin embargo, aún puede acceder a los conjuntos de datos del 3.er AI City Challenge (2019) o participar en el último 4.º AI City Challenge en CVPR 2020.

Proporcionaron un nuevo conjunto de datos a escala de ciudad para el seguimiento de vehículos con varias cámaras, así como para la reidentificación basada en imágenes. También tenían un nuevo conjunto de datos para la detección de anomalías de tráfico. La escala de los conjuntos de datos y la cantidad de vehículos que se utilizan para la evaluación no tienen precedentes. El sitio web de AI City Challenges está en https://www.aicitychallenge.org/ .

Código: https://github.com/zhengthomastang/2018AICity_TeamUW

 

Seguimiento de objetos con Opencv y Python



Seguimiento de objetos con Opencv y Python

El video tutorial sobre el seguimiento de objetos con OpenCV y Python explica la diferencia entre la detección de objetos y el seguimiento de objetos y muestra cómo crear un archivo de seguimiento de objetos para un seguimiento eficiente. El video describe los archivos necesarios requeridos, como un video y un archivo de seguimiento de objetos, y muestra cómo codificar el archivo main.py para la visualización de video en tiempo real. El tutorial también cubre cómo eliminar pequeños elementos de la máscara y definir una región de interés para extraer una parte de la imagen para enfocar los vehículos. El video concluye explicando el proceso de rastreo de objetos y agregando identificaciones únicas a los objetos para contarlos correctamente. Sin embargo, el tutorial establece que el método no es perfecto, pero sirve como una excelente introducción al seguimiento de objetos, y se recomienda un curso más detallado sobre OpenCV y aprendizaje profundo.

  • 00:00:00 En esta sección, el orador presenta la diferencia entre la detección de objetos y el seguimiento de objetos. El primero detecta objetos cuadro tras cuadro, mientras que el segundo realiza un seguimiento de los objetos a lo largo de los cuadros para rastrear su historial. El seguimiento de objetos es crucial en varias aplicaciones, como el conteo de personas, el seguimiento de trayectorias de objetos y el conteo de automóviles que pasan por las carreteras. Luego, el orador presenta los archivos necesarios para iniciar el proyecto, incluido un video y un archivo de seguimiento de objetos. Luego, el orador comienza a codificar el archivo main.py, comenzando con la importación de la biblioteca OpenCV y creando un objeto de captura para leer fotogramas del video. Finalmente, el orador muestra cómo mostrar el video en tiempo real y crear un evento clave para cerrar el video.

  • 00:05:00 En esta sección, el orador analiza el seguimiento de objetos mediante OpenCV y Python. Explican que para este método específico, se requiere una cámara estable, lo que significa que el fondo no cambia con el tiempo, mientras que solo cambian los objetos en movimiento. Mediante el uso de un detector de objetos, los objetos en movimiento se pueden extraer de la cámara estable. El detector crea una máscara y el objetivo de la máscara es hacer que todo lo que no se necesite sea negro, mientras que los vehículos que necesitan ser detectados sean blancos. Luego se extraen las coordenadas de los elementos blancos y se eliminan los que son demasiado pequeños. Luego, utilizando la función de búsqueda de contornos de OpenCV, los límites de los objetos blancos se encuentran y se dibujan en el marco en verde.

  • 00:10:00 En esta sección, el videotutorial explica cómo eliminar pequeños elementos de la máscara calculando el área del contorno y eliminando cualquier contorno con un área inferior a 100 píxeles. Luego, el tutorial analiza cómo definir una región de interés (ROI) para extraer una parte de la imagen para enfocarse solo en los vehículos en esa parte específica de la carretera, lo que facilita mucho el proceso de detección. El tutorial describe cómo definir el ROI especificando la posición, la altura y el ancho de la sección que contiene los vehículos que queremos rastrear. El tutorial concluye explicando cómo aplicar la máscara al ROI para realizar el seguimiento de objetos solo en esa área específica.

  • 00:15:00 En esta sección del video, el orador aplica el algoritmo de detección de objetos al ROI en lugar de a todo el cuadro y muestra cómo ha mejorado la detección. Sin embargo, todavía hay problemas con los falsos positivos y el algoritmo de detección. Para mejorar la detección de objetos, el altavoz ajusta el tamaño del historial y el umbral de var, lo que afecta la cantidad de falsos positivos. Luego, el orador extrae el rectángulo que rodea a cada objeto detectado y lo dibuja en el ROI en verde. Por último, el altavoz elimina las sombras de la imagen manteniendo solo los elementos blancos en la imagen mediante un operador de umbral, lo que da como resultado una detección de objetos más precisa.

  • 00:20:00 En esta sección, el video explica el proceso de seguimiento de objetos usando OpenCV y Python. Es necesario importar el archivo "tracker.py" y crear un objeto "tracker" para un seguimiento eficiente. El "rastreador" recopila cuadros delimitadores de objetos y los guarda en una matriz denominada "detecciones". Cada cuadro delimitador tiene su conjunto distinto de valores de posición x, y, ancho y alto. Estas casillas deben tener un valor mínimo de 100, por lo que el rastreador descarta objetos irrelevantes. Una serie de objetos detectados se muestran cuadro por cuadro, y la matriz de detecciones se pasa al objeto rastreador. Luego, el rastreador devuelve el historial y las identificaciones únicas de cada objeto rastreado. El paso inicial para el seguimiento de objetos es la detección de objetos, y solo es posible si se detecta un objeto en el cuadro uno.

  • 00:25:00 En esta sección, el video analiza la adición de ID únicos a la función de seguimiento de objetos en OpenCV y Python. Cada objeto ahora tiene una identificación diferente, lo que evita que se cometan errores al contar objetos. Al usar las identificaciones, los objetos se pueden contar correctamente y se puede dibujar una línea para detectar cuándo los objetos la cruzan. El video termina explicando que el método que se muestra es simple, no perfecto, pero es una buena introducción al seguimiento de objetos. Para obtener un conocimiento más profundo sobre la detección y el seguimiento de objetos, el creador recomienda ver su curso en video sobre OpenCV y aprendizaje profundo.
Object Tracking with Opencv and Python - Pysource
Object Tracking with Opencv and Python - Pysource
  • Sergio Canu Hi there, I’m the founder of Pysource. I’m a Computer Vision Consultant, developer and Course instructor. I help Companies and Freelancers to easily and efficiently build Computer Vision Software .
  • pysource.com
In this tutorial we will learn how to use Object Tracking with Opencv and Python. First of all it must be clear that what is the difference between object detection and object tracking: Object detection is the detection on every single frame and frame after frame. Object tracking does frame-by-frame tracking but keeps the history of where the...