Поиск объектов на видео с Python и TensorFlow с нуля, cтроим и обучаем нейросеть UNet
Vložit
- čas přidán 26. 01. 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
самое лучшее обьяснение за всю мою жизнь, а я с нейронками с 2014 года, обьясни людям в следующем видео как продолжить обучение не начиная с нуля, этого матерьяла мало в нете
Наверное самое понятное обяснение на CZcams. Продолжай пожалуста
Отличное Видео. С пояснением всего что сделано. Автору большое спасибо. Если такое же видео будет сделано и для других типов сетей или например PyTorch, было бы очень круто! Автору большое уважение.
Отличное видео! Спасибо автору за работу!
Отличное видео, спасибо, очень интересно! С нетерпением жду продолжения !
Качественно и доступно, а главное реально интересно и полезно! Автору желаю 100500 подписчиков))
Надо же как интересно . Класс! Здорово придумано.
Спасибо! Отличное видео! Все настолько хорошо объяснили!
Очень полезное видео ! Спасибо большое !
Классное видео, все понятно объяснил, ещё попробую на этой недели протестить, если получится, напишу в PS(если не забуду).👍
Спасибо, очень чисто и понятно.
Спасибо за ролик!
Павел, очень доступно. Огромное спасибо. Ждём продолжения! Привет из Азербайджана.
Очень полезное дело 👍
Очень круто, спасибо большое
Спасибо)
красота) лайк от СЕООНЛИ!
Годнота
Блин круто препод топ
Теперь я знаю, про что будет моя дипломная работа! Спасибо!
ну что? получилось с дипломной?
@@Diman86ful Нет, заставили писать что-то более прикладное. Пришлось CRM на Django бахнуть.
спасибо
круть
👍👍👍👍👍👍👍👍
💪
Жду следующие видео, когда будет ???
Отличное видео! Подскажите, как можно распечатывать карты признаков по мере обучения?
Спасибо за видео! А можете подсказать, в какую сторону копать если нужно найти бинарную маску блоков текста на картинке? (в идеале так вырезать текст и восстановить фон)
Кстати. А вот если задача стоит так, чтобы модель к цвету не привязывалась, а к форме - перевод в градации серого решит задачу? Например, изменение освещенности это сможет решить?
Добрый день! Отличное видео, спасибо. Подскажите пожалуйста, в каком формате вы экспортировали данные из supervisely?
Здравствуйте! Sypervisely обновился, наверное сейчас это называется "Export to masks".
@@lyftzeigen большое спасибо!
@@user-fn4yc7un8z Sypervisely. не предлагает экспорт в таком формате. На выбор дано 6 вариантов: Sypervisely, YOLO8, просто images (видимо без аннотаций), DOTA, COCO Keypoints, image links to CSV. Какой из этих форматов можно использовать в коде по Вашему видео?
Здравствуйте, у меня вопрос, чем кардинально будет отличаться данный метод от метода локализации? Суть же останется той же, только объект будет всего лишь один или есть различия?
Отличное видео. Подскажите, а что за среда разработки используется на видео?
Юзай Google collab, офигенная штука
А есть какой нибудь готовый датасет для лис, котов итд?
Добрый день, спасибо за видео) очень помогло
Но есть один вопрос, как подтянуть координаты пересмотра классов?
А куда сохраняются обработанные кадры? Подскажи пожалуйста
Или как сохранить их локально?
Как сделать чтобы нейронка распознавала нужные изображения в браузере, например листаешь вкладку с фотографиями, и она как то распознает нужное, по стокам
когда пытаюсь вставить свои изображения вылезает такая ошибка:
TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.
что мне делать?
переобученная модель может получиться, если аугументация это простое копирование. Только эти предметы и будет хавать и то не всегда. чуть другая форма, тон и всё. Интересно вот как видеокарта настроена, если Вы ей собираетесь обучать.
Подскажи. Допустим есть картинка, на ней один объект и снизу рядом текст, надо сделать рамку вокруг объекта с текстом. Сделать обводку не пойдет, т.к. повторяет форму объекта, надо чтоб линия плавно обводила объект с текстом, например как у стикеров. Сможет ли это сделать нейронка?
На мой взгляд, применять нейросеть для решения такой задачи, не самое оптимальное решение. Думаю, что проще воспользоваться классическими методами, например, выделение контуров текста и применение морфологических операций с последующей обработкой.
Здравствуйте, а куда сохраняются уже обработанные кадры? По коду они должны сохранятся в репозиторий videos/processed, я повторил, но у меня ничего в этой папке не появляется. Помогите, пожалуйста!
ПОМОГИТЕ ПОЖАЛУЙСТА
А для чего применяется подряд tf.image.convert_image_dtype и следом нормализация image/255? Разве это не одно и тоже?
Добрый день , Павел .Как с вами связаться ? Я хочу попросить вас обучить Аи под мою модель , я заплачу.
И если интересно в дальнейшем мне нужна будет помощь для добавления разных объектов в мою библиотеку . В целом возможно долгосрочное сотрудничество в этом направлении
!!!
Здравствуйте.
Имею следующую ошибку во время первой эпохи обучения:
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 а я ззафиксил кстати и забыл как уже