Поиск объектов на видео с 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
Классное видео, все понятно объяснил, ещё попробую на этой недели протестить, если получится, напишу в PS(если не забуду).👍
Отличное Видео. С пояснением всего что сделано. Автору большое спасибо. Если такое же видео будет сделано и для других типов сетей или например PyTorch, было бы очень круто! Автору большое уважение.
Наверное самое понятное обяснение на RUclips. Продолжай пожалуста
Качественно и доступно, а главное реально интересно и полезно! Автору желаю 100500 подписчиков))
самое лучшее обьяснение за всю мою жизнь, а я с нейронками с 2014 года, обьясни людям в следующем видео как продолжить обучение не начиная с нуля, этого матерьяла мало в нете
Отличное видео! Спасибо автору за работу!
Отличное видео, спасибо, очень интересно! С нетерпением жду продолжения !
Павел, очень доступно. Огромное спасибо. Ждём продолжения! Привет из Азербайджана.
Надо же как интересно . Класс! Здорово придумано.
Спасибо! Отличное видео! Все настолько хорошо объяснили!
Очень полезное видео ! Спасибо большое !
Спасибо, очень чисто и понятно.
Спасибо за ролик!
Очень круто, спасибо большое
Очень полезное дело 👍
Теперь я знаю, про что будет моя дипломная работа! Спасибо!
ну что? получилось с дипломной?
@@Diman86ful Нет, заставили писать что-то более прикладное. Пришлось CRM на Django бахнуть.
красота) лайк от СЕООНЛИ!
Спасибо)
Годнота
Жду следующие видео, когда будет ???
Блин круто препод топ
Отличное видео! Подскажите, как можно распечатывать карты признаков по мере обучения?
спасибо
👍👍👍👍👍👍👍👍
Спасибо за видео! А можете подсказать, в какую сторону копать если нужно найти бинарную маску блоков текста на картинке? (в идеале так вырезать текст и восстановить фон)
💪
круть
Кстати. А вот если задача стоит так, чтобы модель к цвету не привязывалась, а к форме - перевод в градации серого решит задачу? Например, изменение освещенности это сможет решить?
А есть какой нибудь готовый датасет для лис, котов итд?
когда пытаюсь вставить свои изображения вылезает такая ошибка:
TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.
что мне делать?
Здравствуйте, у меня вопрос, чем кардинально будет отличаться данный метод от метода локализации? Суть же останется той же, только объект будет всего лишь один или есть различия?
Отличное видео. Подскажите, а что за среда разработки используется на видео?
Юзай Google collab, офигенная штука
Добрый день! Отличное видео, спасибо. Подскажите пожалуйста, в каком формате вы экспортировали данные из supervisely?
Здравствуйте! Sypervisely обновился, наверное сейчас это называется "Export to masks".
@@lyftzeigen большое спасибо!
@@user-fn4yc7un8z Sypervisely. не предлагает экспорт в таком формате. На выбор дано 6 вариантов: Sypervisely, YOLO8, просто images (видимо без аннотаций), DOTA, COCO Keypoints, image links to CSV. Какой из этих форматов можно использовать в коде по Вашему видео?
Добрый день, спасибо за видео) очень помогло
Но есть один вопрос, как подтянуть координаты пересмотра классов?
А куда сохраняются обработанные кадры? Подскажи пожалуйста
Или как сохранить их локально?
Подскажи. Допустим есть картинка, на ней один объект и снизу рядом текст, надо сделать рамку вокруг объекта с текстом. Сделать обводку не пойдет, т.к. повторяет форму объекта, надо чтоб линия плавно обводила объект с текстом, например как у стикеров. Сможет ли это сделать нейронка?
На мой взгляд, применять нейросеть для решения такой задачи, не самое оптимальное решение. Думаю, что проще воспользоваться классическими методами, например, выделение контуров текста и применение морфологических операций с последующей обработкой.
переобученная модель может получиться, если аугументация это простое копирование. Только эти предметы и будет хавать и то не всегда. чуть другая форма, тон и всё. Интересно вот как видеокарта настроена, если Вы ей собираетесь обучать.
А для чего применяется подряд tf.image.convert_image_dtype и следом нормализация image/255? Разве это не одно и тоже?
Здравствуйте, а куда сохраняются уже обработанные кадры? По коду они должны сохранятся в репозиторий videos/processed, я повторил, но у меня ничего в этой папке не появляется. Помогите, пожалуйста!
ПОМОГИТЕ ПОЖАЛУЙСТА
Добрый день , Павел .Как с вами связаться ? Я хочу попросить вас обучить Аи под мою модель , я заплачу.
И если интересно в дальнейшем мне нужна будет помощь для добавления разных объектов в мою библиотеку . В целом возможно долгосрочное сотрудничество в этом направлении
Здравствуйте.
Имею следующую ошибку во время первой эпохи обучения:
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]).
На какую часть программы порекомендуете взглянуть?
Спасибо.
Здравствуйте! Изменение разрешения изображения тянет за собой все остальное. Нужно разобраться в размере данных, которые проходят через нейросеть и через все функции.
А порекомендую взглянуть на связку YOLO + Roboflow:
blog.roboflow.com/train-yolov7-instance-segmentation-on-custom-data/
На Colab ошибка на ячейке с обучением модели:
InvalidArgumentError: Graph execution error:
поменял GPU на CPU и заработало, почему так может быть?
Уважаемый автор, не могли бы вы помочь и предоставить файл с моделью нейронной сети которую Вы реализуете в данном ролике
В описании к видео есть ссылка на Google Collab, где вы можете самостоятельно опробовать работу нейронной сети.
@@lyftzeigen я имею ввиду схему нейронной сети, которая у вас демонстрируется на 2:30
!!!
г_спади видос на 11 из 10 по объяснению и демонстрации как вся это нейронная хня работает!!!!111.
Есть ли возможность связаться с автором видео для общения по разработке решения распознавания объектов на видео?
Как размечать, как выгружать - ни слова об этом :(
согласен - это достаточно полезная информация была бы!
На счет этого можно посмотреть видео по разметке данных именно указанными инструментами. Хотя согласен, можно было бы добавить описание.
Очень интересно, но почти ничего не понятно. Не в сторону автора выпад, а в сторону недостаточности моих знаний для полного понимания разжеваного до атомов материала 😂
Слишком много "почему" после просмотра, поэтому это, увы, не обучающее видео.
"хорошее видео"
"отличное видео"
"очень полезно" и бла-бла-бла
пустая, никчёмная болтовня, которая никого,
ничему и никогда не научит
кто нибудь сталкивался с проблемой, что именно маски не читаются с ошибкой:
InvalidArgumentError: Matrix size-incompatible: In[0]: [189888,1], In[1]: [3,1]
[[{{node rgb_to_grayscale/Tensordot/MatMul}}]] [Op:IteratorGetNext]
@@aligatorpe а я ззафиксил кстати и забыл как уже