Поиск объектов на видео с Python и TensorFlow с нуля, cтроим и обучаем нейросеть UNet

Поделиться
HTML-код
  • Опубликовано: 26 янв 2022
  • В этом видео я хочу рассказать как можно с нуля разработать и обучить нейронную сеть для распознавания объектов на изображениях.
    00:00 - Введение
    00:39 - Виды задач распознавания
    01:17 - Применяемые архитектуры нейронных сетей
    02:00 - Система распознавания объектов
    02:39 - Разметка данных
    05:04 - Загрузка данных в TensorFlow
    09:57 - Способ обработки изображений
    11:00 - Архитектура UNet
    13:10 - Реализация сети в Keras и TensorFlow
    14:56 - Функции потерь и метрики
    17:41 - Обучение нейронной сети
    19:01 - Тестирование нейронной сети
    Исходный код
    colab.research.google.com/git...
    Статьи
    ⁃ SegNet arxiv.org/pdf/1511.00561.pdf
    ⁃ DeepLab arxiv.org/pdf/1606.00915.pdf
    ⁃ UNet arxiv.org/pdf/1505.04597.pdf
    ⁃ Обзор функций arxiv.org/pdf/2006.14822.pdf

Комментарии • 65

  • @tymurkr
    @tymurkr 2 дня назад

    Классное видео, все понятно объяснил, ещё попробую на этой недели протестить, если получится, напишу в PS(если не забуду).👍

  • @user-ji5fe9pb2b
    @user-ji5fe9pb2b Год назад +18

    Отличное Видео. С пояснением всего что сделано. Автору большое спасибо. Если такое же видео будет сделано и для других типов сетей или например PyTorch, было бы очень круто! Автору большое уважение.

  • @ernisesama1636
    @ernisesama1636 2 года назад +17

    Наверное самое понятное обяснение на RUclips. Продолжай пожалуста

  • @TheBestSurvival
    @TheBestSurvival Год назад +5

    Качественно и доступно, а главное реально интересно и полезно! Автору желаю 100500 подписчиков))

  • @goga-pro2024
    @goga-pro2024 4 месяца назад +10

    самое лучшее обьяснение за всю мою жизнь, а я с нейронками с 2014 года, обьясни людям в следующем видео как продолжить обучение не начиная с нуля, этого матерьяла мало в нете

  • @user-py2bu9ky2x
    @user-py2bu9ky2x 2 года назад +7

    Отличное видео! Спасибо автору за работу!

  • @727doto
    @727doto 2 года назад +1

    Отличное видео, спасибо, очень интересно! С нетерпением жду продолжения !

  • @cekkush
    @cekkush 2 года назад +2

    Павел, очень доступно. Огромное спасибо. Ждём продолжения! Привет из Азербайджана.

  • @user-ji6ge3py9d
    @user-ji6ge3py9d 2 года назад

    Надо же как интересно . Класс! Здорово придумано.

  • @user-ov8jm4uv3w
    @user-ov8jm4uv3w Год назад

    Спасибо! Отличное видео! Все настолько хорошо объяснили!

  • @user-xc9vu6xq2r
    @user-xc9vu6xq2r 2 года назад

    Очень полезное видео ! Спасибо большое !

  • @dyachenkokonstantin67
    @dyachenkokonstantin67 Год назад

    Спасибо, очень чисто и понятно.

  • @PhotolessonsOrg
    @PhotolessonsOrg 2 года назад +1

    Спасибо за ролик!

  • @user-jh4rw8wr5b
    @user-jh4rw8wr5b 2 года назад

    Очень круто, спасибо большое

  • @user-sk8pc2mc1u
    @user-sk8pc2mc1u 2 года назад

    Очень полезное дело 👍

  • @bekabad
    @bekabad Год назад +1

    Теперь я знаю, про что будет моя дипломная работа! Спасибо!

    • @Diman86ful
      @Diman86ful 18 дней назад

      ну что? получилось с дипломной?

    • @bekabad
      @bekabad 9 дней назад +1

      @@Diman86ful Нет, заставили писать что-то более прикладное. Пришлось CRM на Django бахнуть.

  • @seoonlyRU
    @seoonlyRU 2 года назад

    красота) лайк от СЕООНЛИ!

  • @lecturer_abramenkova
    @lecturer_abramenkova 2 года назад +1

    Спасибо)

  • @yood1e
    @yood1e Год назад

    Годнота

  • @nikolaynovikov5756
    @nikolaynovikov5756 2 года назад +1

    Жду следующие видео, когда будет ???

  • @s1ngle77
    @s1ngle77 2 года назад

    Блин круто препод топ

  • @PLenchak
    @PLenchak 7 месяцев назад

    Отличное видео! Подскажите, как можно распечатывать карты признаков по мере обучения?

  • @GAVNO
    @GAVNO 2 года назад

    спасибо

  • @user-iy3yo2wt1n
    @user-iy3yo2wt1n 2 года назад

    👍👍👍👍👍👍👍👍

  • @MrKappasama
    @MrKappasama 3 месяца назад

    Спасибо за видео! А можете подсказать, в какую сторону копать если нужно найти бинарную маску блоков текста на картинке? (в идеале так вырезать текст и восстановить фон)

  • @revoluxe
    @revoluxe 9 месяцев назад

    💪

  • @user-ct6zd7xm8s
    @user-ct6zd7xm8s Год назад

    круть

  • @user-ov8jm4uv3w
    @user-ov8jm4uv3w Год назад

    Кстати. А вот если задача стоит так, чтобы модель к цвету не привязывалась, а к форме - перевод в градации серого решит задачу? Например, изменение освещенности это сможет решить?

  • @meowxd1337
    @meowxd1337 Год назад +1

    А есть какой нибудь готовый датасет для лис, котов итд?

  • @user-gv3fx2jh7i
    @user-gv3fx2jh7i Год назад

    когда пытаюсь вставить свои изображения вылезает такая ошибка:
    TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.
    что мне делать?

  • @user-qm9xh3je4y
    @user-qm9xh3je4y 7 месяцев назад

    Здравствуйте, у меня вопрос, чем кардинально будет отличаться данный метод от метода локализации? Суть же останется той же, только объект будет всего лишь один или есть различия?

  • @user-wj8po5ou5c
    @user-wj8po5ou5c Год назад +1

    Отличное видео. Подскажите, а что за среда разработки используется на видео?

    • @user-of-world
      @user-of-world Год назад

      Юзай Google collab, офигенная штука

  • @user-fn4yc7un8z
    @user-fn4yc7un8z 9 месяцев назад

    Добрый день! Отличное видео, спасибо. Подскажите пожалуйста, в каком формате вы экспортировали данные из supervisely?

    • @lyftzeigen
      @lyftzeigen  9 месяцев назад

      Здравствуйте! Sypervisely обновился, наверное сейчас это называется "Export to masks".

    • @user-fn4yc7un8z
      @user-fn4yc7un8z 9 месяцев назад

      ​@@lyftzeigen большое спасибо!

    • @dmitrykhomyakov8451
      @dmitrykhomyakov8451 6 месяцев назад

      @@user-fn4yc7un8z Sypervisely. не предлагает экспорт в таком формате. На выбор дано 6 вариантов: Sypervisely, YOLO8, просто images (видимо без аннотаций), DOTA, COCO Keypoints, image links to CSV. Какой из этих форматов можно использовать в коде по Вашему видео?

  • @user-nj5vi5dh2f
    @user-nj5vi5dh2f Год назад

    Добрый день, спасибо за видео) очень помогло
    Но есть один вопрос, как подтянуть координаты пересмотра классов?

    • @user-cm8fi9vo8h
      @user-cm8fi9vo8h Год назад

      А куда сохраняются обработанные кадры? Подскажи пожалуйста
      Или как сохранить их локально?

  • @djosmer2
    @djosmer2 Год назад

    Подскажи. Допустим есть картинка, на ней один объект и снизу рядом текст, надо сделать рамку вокруг объекта с текстом. Сделать обводку не пойдет, т.к. повторяет форму объекта, надо чтоб линия плавно обводила объект с текстом, например как у стикеров. Сможет ли это сделать нейронка?

    • @lyftzeigen
      @lyftzeigen  Год назад

      На мой взгляд, применять нейросеть для решения такой задачи, не самое оптимальное решение. Думаю, что проще воспользоваться классическими методами, например, выделение контуров текста и применение морфологических операций с последующей обработкой.

  • @arhalexxx
    @arhalexxx 3 месяца назад

    переобученная модель может получиться, если аугументация это простое копирование. Только эти предметы и будет хавать и то не всегда. чуть другая форма, тон и всё. Интересно вот как видеокарта настроена, если Вы ей собираетесь обучать.

  • @user-mk6yf4lu3p
    @user-mk6yf4lu3p 4 месяца назад

    А для чего применяется подряд tf.image.convert_image_dtype и следом нормализация image/255? Разве это не одно и тоже?

  • @user-cm8fi9vo8h
    @user-cm8fi9vo8h Год назад

    Здравствуйте, а куда сохраняются уже обработанные кадры? По коду они должны сохранятся в репозиторий videos/processed, я повторил, но у меня ничего в этой папке не появляется. Помогите, пожалуйста!

  • @Grenkitop
    @Grenkitop 9 месяцев назад

    Добрый день , Павел .Как с вами связаться ? Я хочу попросить вас обучить Аи под мою модель , я заплачу.
    И если интересно в дальнейшем мне нужна будет помощь для добавления разных объектов в мою библиотеку . В целом возможно долгосрочное сотрудничество в этом направлении

  • @user-cq3tt9fv9j
    @user-cq3tt9fv9j Год назад

    Здравствуйте.
    Имею следующую ошибку во время первой эпохи обучения:
    ValueError: Dimensions must be equal, but are 400 and 8 for '{{node dice_bce_mc_loss/mul}} = Mul[T=DT_FLOAT](dice_bce_mc_loss/unstack, dice_bce_mc_loss/unstack_1)' with input shapes: [?,400,500], [?,8,8].
    В коде изменил лишь размер изображения (на 400x500), количество классов-цветов (с 8 на 2) и добавил указание количества каналов для png (mask = tf.io.decode_png(mask, channels=3)), а также небольшое изменение в Skip Connections - downsample_skips = reversed(downsample_skips[:0]).
    На какую часть программы порекомендуете взглянуть?
    Спасибо.

    • @lyftzeigen
      @lyftzeigen  Год назад +1

      Здравствуйте! Изменение разрешения изображения тянет за собой все остальное. Нужно разобраться в размере данных, которые проходят через нейросеть и через все функции.
      А порекомендую взглянуть на связку YOLO + Roboflow:
      blog.roboflow.com/train-yolov7-instance-segmentation-on-custom-data/

  • @grey111111111
    @grey111111111 4 месяца назад

    На Colab ошибка на ячейке с обучением модели:
    InvalidArgumentError: Graph execution error:

    • @grey111111111
      @grey111111111 4 месяца назад

      поменял GPU на CPU и заработало, почему так может быть?

  • @user-or5rm1ud9y
    @user-or5rm1ud9y 2 года назад

    Уважаемый автор, не могли бы вы помочь и предоставить файл с моделью нейронной сети которую Вы реализуете в данном ролике

    • @lyftzeigen
      @lyftzeigen  2 года назад

      В описании к видео есть ссылка на Google Collab, где вы можете самостоятельно опробовать работу нейронной сети.

    • @user-or5rm1ud9y
      @user-or5rm1ud9y 2 года назад

      @@lyftzeigen я имею ввиду схему нейронной сети, которая у вас демонстрируется на 2:30

  • @somebody5186
    @somebody5186 Год назад

    !!!

  • @MrSatanizd
    @MrSatanizd Год назад

    г_спади видос на 11 из 10 по объяснению и демонстрации как вся это нейронная хня работает!!!!111.
    Есть ли возможность связаться с автором видео для общения по разработке решения распознавания объектов на видео?

  • @user-pc2ge5km9s
    @user-pc2ge5km9s 2 года назад

    Как размечать, как выгружать - ни слова об этом :(

    • @PhotolessonsOrg
      @PhotolessonsOrg 2 года назад

      согласен - это достаточно полезная информация была бы!

    • @user-ji5fe9pb2b
      @user-ji5fe9pb2b Год назад

      На счет этого можно посмотреть видео по разметке данных именно указанными инструментами. Хотя согласен, можно было бы добавить описание.

  • @romastep6576
    @romastep6576 Год назад

    Очень интересно, но почти ничего не понятно. Не в сторону автора выпад, а в сторону недостаточности моих знаний для полного понимания разжеваного до атомов материала 😂

  • @iiiyx
    @iiiyx Год назад +7

    Слишком много "почему" после просмотра, поэтому это, увы, не обучающее видео.

  • @jeremyfox3031
    @jeremyfox3031 Год назад +1

    "хорошее видео"
    "отличное видео"
    "очень полезно" и бла-бла-бла
    пустая, никчёмная болтовня, которая никого,
    ничему и никогда не научит

  • @mattewcox7065
    @mattewcox7065 Год назад

    кто нибудь сталкивался с проблемой, что именно маски не читаются с ошибкой:
    InvalidArgumentError: Matrix size-incompatible: In[0]: [189888,1], In[1]: [3,1]
    [[{{node rgb_to_grayscale/Tensordot/MatMul}}]] [Op:IteratorGetNext]

    • @mattewcox7065
      @mattewcox7065 Год назад

      @@aligatorpe а я ззафиксил кстати и забыл как уже