Visión Artificial - Implementando UNet desde cero (parte 1)

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

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

  • @amlizsa
    @amlizsa 4 ปีที่แล้ว

    Excelente trabajo! muy útil muchas gracias

  • @luisqt8863
    @luisqt8863 3 ปีที่แล้ว

    Que buen video bro, muchas gracias por compartir el conocimiento.
    Suscrito

  • @ghrangelr
    @ghrangelr 3 ปีที่แล้ว

    Muchas gracias por tu video

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

    Hola! ¿Qué origen tiene tu dataset? Saludos

  • @ricardomera8557
    @ricardomera8557 3 หลายเดือนก่อน

    Excelente video 👌
    Tengo una duda sobre cómo etiquetar mis imágenes. Cada imagen contiene varios objetos de diferentes clases, y he leído que es necesario marcar cada píxel para indicar a qué clase pertenece. Sin embargo, no estoy seguro de cómo hacerlo o si es el enfoque correcto. 😅
    Hay q aclarar q quiero identificar n objetos en mis imágenes con Unet.
    ¿Alguien podría orientarme sobre el proceso de etiquetado? Cualquier comentario o consejo sería muy apreciado.
    ¡Gracias!

    • @juansensio
      @juansensio  3 หลายเดือนก่อน

      Para segmentar objetos en imágenes tienes que marcar para cada pixel a qué clase pertenece, tal y como bien dices.

  • @nelsonbustos3720
    @nelsonbustos3720 2 ปีที่แล้ว

    Muy buen video, una pregunta; cual seria una app adecuada para crear la anotacion para generar un data set propio?, use labelme y exporte estas imagenes para que me entrega las mascaras, pero solo me entrega las mascaras en formato NPY y JPG, pero las imagenes como tal me las da en JPG, y por lo que vi en tu video tu data set tienes tanto las imagenes como las mascaras en NPY.

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

      El formato de las imágenes y máscaras es lo de menos, simplemente utiliza la función adecuada para leer cada formato y ya está. Para jpg puedes usar PIL o scikit-image por ejemplo, para npy pues numpy.

    • @nelsonbustos3720
      @nelsonbustos3720 2 ปีที่แล้ว

      @@juansensio muchas gracias por tu respuesta!

    • @nelsonbustos3720
      @nelsonbustos3720 2 ปีที่แล้ว

      @@juansensio por ultimo sensio, cuando tus imagenes las transformas en tensor como seria si mi imagen no esta en npy?

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

      Si lees la imagen con scikit image ya te la carga del formato que sea a array de numpy, si usas otra librería deberás mirar en su documentación como hacerlo.

  • @kiritoasakura8957
    @kiritoasakura8957 3 ปีที่แล้ว

    Buen video amigo, sabes de qué origen son los dataset?

  • @la_cientifica3938
    @la_cientifica3938 3 ปีที่แล้ว

    Acabo de descubrir tú canal y está increíble, muy completo. Aunque no estoy muy familiarizada con Pythorch se entiende muy bien. Como tengo tantas lagunas sobre esto, por qué en algunas redes de clasificación no se usa la segmentación?.

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

      Al final dependerá de la aplicación. Las redes de clasificación son más sencillas y las primeras que se desarrollaron, pero si que es verdad que hoy en día para la gran mayoría de aplicaciones tochas como conducción autónoma a aplicaciones médicas se usa más la segmentación o detección ya que da mucha más información.

    • @la_cientifica3938
      @la_cientifica3938 3 ปีที่แล้ว

      @@juansensio Gracias por tú rápida respuestaaaa ;) Una última cosa, a la red cuando le pasamos el dataset, las máscaras (con todas sus clases) necesariamente hay que hacerlas a mano no? para que luego la red aprenda con ellas (compare con el ground truth). Hice unas con Labelme pero fue toda una movida porque se cambiaba la clase al hacer otra imagen. Mil gracias y que crezca tú canaaaal!!!!

    • @juansensio
      @juansensio  3 ปีที่แล้ว

      Depende del caso, puedes hacerlas a mano o usar otro algoritmo que te de unas máscaras aproximadas y luego corregirlas a mano... Obviamente, cuanto mejor estén als etiquetas, mejor resultado tendrás.

    • @la_cientifica3938
      @la_cientifica3938 3 ปีที่แล้ว

      @@juansensio Muchas gracias, estaré atenta a tus videos. abrazo ;)

  • @097sleeper
    @097sleeper 3 ปีที่แล้ว

    hola apenas ando aprendiendo solo redes neuronales y especial este modelo de UNet para mi tesis, tengo una duda a primera istancia, es lo mismo una mascara/mask a un layer/capa? me encuentro bastante esos conceptos en ingles y me marean un poco, saludos!

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

      Normalmente se le llama máscara al ground truth que usas para entrenar la red, que luego será el output que te dará. Indica para cada píxel la categoría a la que pertence. Una layer/capa suele referirse a la estructura interna del modelo en si, una capa de procesamiento. Así pues tu UNet puede tener 10, 20, 100 capas... las que tu quieras. Pero el output será siempre una máscara.

    • @097sleeper
      @097sleeper 3 ปีที่แล้ว

      @@juansensio muchas gracias hermano :)! cada vez aprendo mas, sigo viendo y apoyando tus demas videos, nos seguimos viendo

  • @luxonomuxo
    @luxonomuxo 2 ปีที่แล้ว

    no puedo descargar el dataset, una ayudita? :#

  • @kiritoasakura8957
    @kiritoasakura8957 3 ปีที่แล้ว

    Excelente video, estoy aprendiendo sobre redes neuronales y soy inexperto aún en python y sus librerías, tengo una duda cómo le das una imagen que no está en el entrenamiento para que te de la máscara de la segmentación :(

    • @juansensio
      @juansensio  3 ปีที่แล้ว

      Puedes hacerlo de varias maneras, una es exactamente igual que en la parte de "validation" o "test" del bucle de entrenamiento. La más sencilla es directamente dándole al modelo el tensor con la imágen (acuérdate de darle la dimensión extra de batch y aplicar todo el pre-procesado que sea necesario) -> output = model(image.unsqueeze(0))

    • @alexisgarcia5694
      @alexisgarcia5694 2 ปีที่แล้ว

      @@juansensio muchas gracias por responder la duda, solo una duda más ¿Cuál es el origen del dataset que usas?

  • @la_cientifica3938
    @la_cientifica3938 3 ปีที่แล้ว

    Subscritaa!!1

  • @natuto8927
    @natuto8927 2 ปีที่แล้ว

    Hola podrias hacer una con imagenes 3d usando unet3D