Detección y conteo de objetos con Yolov5 | Python | PyTorch | OpenCV

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 พ.ย. 2024

ความคิดเห็น • 60

  • @JoseFernandoGarciaV
    @JoseFernandoGarciaV 6 หลายเดือนก่อน

    Muchas Gracias, @Ferneutron, brutal. Bendiciones

  • @jirivchi
    @jirivchi ปีที่แล้ว +4

    Espero que puedas hacer videos donde podamos entrenar con nuestras propias imágenes. He visto muchos videos pero sin duda los tuyos son los mejores con diferencia. Un saludo.

    • @ferneutron
      @ferneutron  ปีที่แล้ว +2

      ¡Gracias!
      Por supuesto, ¡próximamente estaré subiendo material al respecto!

  • @josealbertohernandezaguila1871
    @josealbertohernandezaguila1871 ปีที่แล้ว

    Muchas gracias, muy buena explicación y muy útil el codigo que nos compartes. Ya lo probé y funciona correctamente. Ya me suscribí a tu canal.

  • @AlfredoGonzalez-qj4ng
    @AlfredoGonzalez-qj4ng ปีที่แล้ว +2

    Excelente contenido!! vas a llegar muy lejos con esta calidad sigue así! en mi caso yo necesito hacer tracking de objetos y contarlos (sin que se recuente el mismo como a veces pasaba en este video que perdía la referencia y luego la volvía a tomar el mismo objeto pero se pudo haber contado como nuevo objeto) se me ocurre contarlos si solo duran unos 2 segundos con la referencia para que no cuente las pequeñas intermitencias

    • @ferneutron
      @ferneutron  ปีที่แล้ว

      ¡Muchas gracias Alfredo!
      Si, justo uno de los puntos importantes a considerar cuando se hace tracking es el switch-id y/o re-id. Esto lo puedes reducir con los siguientes consejos:
      - Ajusta el max_age de SORT (para que si pierde la detección, pueda volver a asignarlos después de "k" frames perdidos)
      - Cambia el tracker (e.g. DeepSORT y/o ByteTrack). Ambos tienen pros y cons, lo interesante de DeepSORT es que usa embeddings, por tanto "con base en el embedding y propiedades de SORT per se, asigna, mantiene o cambia el id". Ten en cuenta que DeepSORT es mas lento que SORT.
      - Agregar heurísticos arriba de tu aplicación. Justo como comentas, validadores de tiempo podría ser una opción.
      ¡Mas adelante vendrá contenido de trackers!

    • @AlfredoGonzalez-qj4ng
      @AlfredoGonzalez-qj4ng ปีที่แล้ว

      @@ferneutron gracias!

  • @maayamarketplace6159
    @maayamarketplace6159 4 หลายเดือนก่อน

    Excelente explicación 🎉

  • @luisvillegas1746
    @luisvillegas1746 5 หลายเดือนก่อน

    excelente instructor

  • @karterokiller
    @karterokiller ปีที่แล้ว

    excelente. habria que ver una variación de contar autos unicos a travez de todo el video.

  • @josemanuelrojascarrasco8573
    @josemanuelrojascarrasco8573 ปีที่แล้ว +1

    excelente video, gracias

  • @victorhuertas5159
    @victorhuertas5159 ปีที่แล้ว +1

    Nuevo sub... contenido muy bien explicado!!!!

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      ¡Gracias!
      Sigo trabajando en generar mas contenido que les pueda ayudar/servir/gustar.
      ¡Saludos!

    • @victorhuertas5159
      @victorhuertas5159 ปีที่แล้ว +1

      @@ferneutron (Espero me leas :c ) tengo un problema que me está superando en conocimiento a cerca de YoloV5... me contacté contigo por Instagram ya que estoy buscando ayuda y aún no encuentro a alguien o algo que me pueda ayudar...
      No sé será posible que me puedas ayudar con esto ya que estoy casi desesperado con solucionar mi problema, he buscado mucha info, pero no logro encontrar algo en concreto de como solucionarlo...
      Muchas gracias por ello en caso sea posible y si no de igual manera por subir buen contenido :D

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      @@victorhuertas5159 ¡Hola Victor! Claro, justo ya te he respondido por allá :)

  • @javierdepaz4105
    @javierdepaz4105 6 หลายเดือนก่อน

    que tal estimado muy bueno, también realizas proyectos ya que requiero para conteo de objetos

  • @Gerardo_Duarte_Hodgson
    @Gerardo_Duarte_Hodgson 4 หลายเดือนก่อน

    Excelente video. Una consulta, puedes hacer un ejemplo para hacerlo contando personas?

  • @XoyTech
    @XoyTech ปีที่แล้ว

    Hola, buen video y buena didatica te felicito...!!! Podrias hacer un tercer video para llevar un conteo general de autos que pasan dentro del poligono. gracias...!!! ya tienes mi 👍 Saludos...!!!

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      ¡Gracias!
      Claro, con todo gusto. Si entiendo correctamente, lo que sugieres sería contar todos los autos que ya han pasado por el polígono, cierto? De ser así, solo bastaría con inicializar el contador fuera del ciclo -while- y con esto, estaríamos teniendo el acumulado de todos los autos.

  • @cristiandanielaldanaparra2315
    @cristiandanielaldanaparra2315 10 หลายเดือนก่อน

    Hola, excelente video Ferneutron, una pregunta, si ya tengo el modelo preentrenado pero en Yolov5 este código que muestras en el video funcionaría igualmente? Tendría que hacer algunos ajustes? O cambia totalmente? Siendo así, donde podría encontrar una guía para hacerlo? Gracias!!

  • @josephparedes9023
    @josephparedes9023 ปีที่แล้ว +2

    Buen video me a ayudado mucho. Si conoces alguna manera de poder determinar el tamaño de lo objetos seria genial con yolov5. Exitos..!!

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      ¡Muchas gracias!
      Cierto, una aplicación interesante es determinar las dimensiones de un objeto. Lo agrego a mi backlog para tan pronto como sea posible, lanzar un video sobre este tema.
      ¡Saludos!

  • @RodrigoAlonsoMayhuayCcorimanya
    @RodrigoAlonsoMayhuayCcorimanya 10 หลายเดือนก่อน

    Eso es util para controlar la velocidad de los vehiculos

  • @ErickHaroldoSanabriaSalazar
    @ErickHaroldoSanabriaSalazar 5 หลายเดือนก่อน

    Lo haces ver muy facil!! y es el único que me ha funcionado.. oye y si yolo no tiene los objetos que quiero detectar como puedo hacer para entrenarlo que los detecte , es decir agregarla a su base de conocimiento mas objetos?

  • @yormanlopez8553
    @yormanlopez8553 5 หลายเดือนก่อน

    Hola buenas tardes, veo que es muy atento con las inquietudes de las personas. Pregunta... Hiciste fine tuning con tu dataset personalizado o estas usando directamente el modelo? Aunque imagino que por defecto coco tiene categorías de carros cierto. Porfa espero su respuesta 👊👊

    • @ferneutron
      @ferneutron  2 หลายเดือนก่อน

      Que tal bro!
      No hice fine tune, estoy utilizando Yolo tal cual está (con las clases de coco)
      Saludos!

  • @natarenas7964
    @natarenas7964 7 หลายเดือนก่อน

    Este mismo procedimiento lo puedo usar para cualquier objeto que quiera detectar?

  • @MehmetCanAslantaş
    @MehmetCanAslantaş ปีที่แล้ว

    bro this opening was an absolute jumpscare

  • @iam.p3p0
    @iam.p3p0 6 หลายเดือนก่อน

    Hola amigo, ya no está disponible el repositorio del ejemplo... Por favor podrías actualizarlo a YoloV8 ?

  • @theworldofmadafaka8845
    @theworldofmadafaka8845 ปีที่แล้ว

    hola, excelente video, una pregunta, si quisiera utilizar multiples camaras en este script es posible, y de ser asi como podria agregarlas ?

    • @ferneutron
      @ferneutron  11 หลายเดือนก่อน

      Que tal @theworldofmadafaka8845 !
      Es posible agregar multiples cámaras. No obstante, esta implementación tendría que ser refactorizada para poder abordar tal comportamiento.
      Cuando utilizas multiples cámaras, tienes que asegurar la sincronización entre estas. Tendrías que crear una estructura de datos (queue) que controle este comportamiento.

  • @marcoquispe9784
    @marcoquispe9784 9 หลายเดือนก่อน

    gracias me ayudaste un monton pero el codigo esta en el otro video esta invertido!!! para los curiosos

  • @julioalvarez8532
    @julioalvarez8532 ปีที่แล้ว +1

    excelente explicacion... nuevo sub !.. en su github como encuentro este proyecto ?

    • @ferneutron
      @ferneutron  ปีที่แล้ว

      ¡Gracias!
      Si, ahí encuentras varios de los proyectos de los videos

  • @germancruzram
    @germancruzram ปีที่แล้ว

    Buen video estimado Fernando. Interesante la aplicación que muestras.
    Seria muy importante además de detectar el vehículo y el tipo (moto, auto, bus, camión etc), tambien el tiempo ( hora/min/seg) para luego registrarlo en un csv. Eso permitiria luego agrupar por hora, la cantidad de vehículo y la clasificación por tipo. Es posible que el video con los autos se procese más rápido o es una limitación de cómputo ?

    • @ferneutron
      @ferneutron  ปีที่แล้ว

      Por supuesto. Las aplicaciones basadas en vision por computadora, particularmente la detección y segmentación de objetos, se prestan muy bien para la extracción de métricas la cuales, puedes gestionar como lo necesites. Un ejemplo sería lo que comentas, guardar en archivos. Otra opción sería enviar esa info a una base de datos en tiempo real cuando el video es en stream.
      Y si, el procesamiento esta sujeto al poder de computo. No obstante, hay algunas técnicas que podemos utilizar para mejorar el performance de la aplicación. Una muy común es hacer un "resize", que básicamente sería reducir el tamaño de los frames tanto como sea necesario pero sin degradar demasiado la detección.

  • @oberpolinard8407
    @oberpolinard8407 ปีที่แล้ว

    Hola, excelente video Ferneutron . ¿Como puedo hacer para poder detectar los colores de los vehículos en tiempo real(de cualquier color y tipo de vehículo)?

    • @ferneutron
      @ferneutron  11 หลายเดือนก่อน

      Que tal @oberpolinard8407 !
      Para detectar el color, con opencv pudes extraer el equivalente RGB (0-255, 0-255, 0-255).
      Échale un ojo a: pyimagesearch.com/2014/08/04/opencv-python-color-detection/

  • @maki36194
    @maki36194 6 หลายเดือนก่อน

    Hola ! soy nueva en esto, me gustaria que el control de cuantas personas hay en un auto puedan verlo los pasajeros, pero no encuentro como visualizarlo en una aplicación, que lenguajes de programación o recursos deba utilizar para conectar esa información :c

  • @joseluisrodriguez4947
    @joseluisrodriguez4947 ปีที่แล้ว

    Buenas noches, excelente video muchas gracias por compartir. Disculpa, como podría definir una región de interés para que solo cuente los objetos que estén dentro, pero que sea sobre una imagen. Preguntarte, si el código lo puedes compartir...Saludos!

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      ¡Hola Jose Luis!
      Claro, con gusto te comparto el script que uso en el video: github.com/FernandoLpz/TH-cam/blob/main/CountCars/coordinates.py

  • @dzulgonzalezmarcosadalbert6511
    @dzulgonzalezmarcosadalbert6511 ปีที่แล้ว

    buen video, pero tengo un modelo en yolov8 en formato .pt,me pregunto si funcionará en este código o solo es para versiones yolov5

    • @ferneutron
      @ferneutron  ปีที่แล้ว +2

      ¡Muchas gracias!
      Este código tal cual está, solo funciona para yolov5. No obstante, puedes bajar yolov8.pt desde ultralytics y también, con la misma librería de ultralytics, cargar el modelo. Te paso este link en donde se explica a detalle: docs.ultralytics.com/modes/predict/

    • @dzulgonzalezmarcosadalbert6511
      @dzulgonzalezmarcosadalbert6511 ปีที่แล้ว

      @@ferneutron muchas graciasss, nuevo suscriptor:))))

    • @dzulgonzalezmarcosadalbert6511
      @dzulgonzalezmarcosadalbert6511 ปีที่แล้ว

      @@ferneutron disculpa la molestia amigo, alguna recomendación para entrenar modelos de redes neuronales pero en lugar de imágenes sean audios, es decir, en lugar que sea detectar objetos, sea detectar sonido de aves en una selva, por decir un ejemplo

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      ¡Que tal!
      Claro, existe una gran variedad de modelos que puedes utilizar para audio dependiendo de la tarea que vayas a resolver (por ejemplo, clasificación de audio, etc). Puedes echarle un ojo a Wav2Vec, aquí te dejo un link con un buen tutorial sobre como entrenar un modelo para clasificación de audio con un dataset custom: huggingface.co/docs/transformers/tasks/audio_classification
      Espero te funcione! :)

    • @dzulgonzalezmarcosadalbert6511
      @dzulgonzalezmarcosadalbert6511 ปีที่แล้ว

      @@ferneutron muchas gracias de nuevo, pero, me refería ha que si se pudiera hacer la detección de sonido directo en python, así como mostraste en tus videos, solo en cuestión de cargar el modelo y empezar la deteccion

  • @jonathanmarimancarrera3445
    @jonathanmarimancarrera3445 11 หลายเดือนก่อน

    en mi trabajo me encargaron revisar videos de descarga de salmones. son videos estaticos solo van pasando salmones, y derrepente aparecen uno que otro sujeto. podria hacerlo con esto cierto? mi pc es igual al que estas ocupando

    • @ferneutron
      @ferneutron  11 หลายเดือนก่อน

      Hola!
      Es correcto. Yolo podría detectar el sujeto y con base en esta detección, contar. Si lo que pretendes es contar salmones, ahí tendrías que customizar Yolo o buscar algún modelo pre entrenado que detecte peces.

  • @santiagosuarez4274
    @santiagosuarez4274 ปีที่แล้ว

    Hola, una pregunta, como solucionas el cargar el modelo de Yolov5n? Me aparecen los errores pero no sé como solucionarlos, muchas gracias!

    • @ferneutron
      @ferneutron  ปีที่แล้ว

      ¡Hola @santiagosuarez4274!
      Uno de los errores comunes es que el archivo .pt no se haya descargado o que el path que no este seteado correctamente. Igual si compartes el error, podríamos ver un poco más del detalle :)
      ¡Saludos!

    • @santiagosuarez4274
      @santiagosuarez4274 ปีที่แล้ว +1

      @@ferneutron Gracias, hoy volví a intentar y funcionó correctamente :)

  • @StonedBored
    @StonedBored ปีที่แล้ว +1

    Si no quiero ver el video en tiempo real y solo guardarlo, hace que el procesamiento sea mas rapido? Por ejemplo, si tengo 1 video de 24 horas.

    • @ferneutron
      @ferneutron  ปีที่แล้ว +2

      ¡Hola @StonedBored!
      Así es. Todo aquello que puedas optimizar (el heurístico, leer/escribir, etc), tendrá impacto directo en la latencia. Por tanto, si lo guardas la latencia seguro se beneficiará.
      Otro consejo que también te podría servir es que hagas un resize del video (a una tamaño más pequeño) y yo que el video que guardes también sea de una dimension menor.
      También, si el video está a 20 FPS, podrías guardarlo a 10, esto hará que también vaya más rápido.
      ¡Saludos!

    • @StonedBored
      @StonedBored ปีที่แล้ว

      @@ferneutron Gracias por responder! Amigo la ultima pregunta, si quiero usar google colab (por el hecho de puedo usar su GPU) como puedo correr el codigo pero no usando VideoCapture? Entiendo que con colab es complicado correr un video. Pero desde que quiero solo guardar el video no necesito verlo en tiempo real. Hay alguna alternativa para VideoCapture? Exactamente en esa linea se cae.

    • @ferneutron
      @ferneutron  ปีที่แล้ว +1

      @@StonedBored hay varias formas de hacerlo, una forma práctica es:
      1) Sube el video directo a colab o importalo desde drive.
      2) Para cargar el video, usamos cv2, entonces tendrías que agregar una línea que sea: cap = cv2.VideoCapture("video.mp4")
      Ahora, si lo que quieres es omitir el uso de VideoCapture(), entonces asumo que por alguna razón no usarás cv2. Por tanto, otra alterativa es usar moviepy, de esta forma:
      ```
      from moviepy.editor import VideoFileClip
      # Open video file
      video_path = "video.mp4"
      clip = VideoFileClip(video_path)
      ```
      ¡Espero te funcione, saludos!

  • @kamrangul2876
    @kamrangul2876 ปีที่แล้ว

    English please

    • @ferneutron
      @ferneutron  ปีที่แล้ว

      Hey @kamrangul2876!
      Thanks for your comment. Will try in the future to create some content in english. For the mean time, I have some blogs in english: ferneutron.medium.com/ .