Обучение семантической сегментации Unet в PyTorch

preview_player
Показать описание
В видео рассмотрен полный процесс работы над задачей семантической сегментации: сбор данных, разметка, выгрузка, обучение сети, валидация и интеграция в прод (веб-приложение)

В примере рассмотрена многоклассовая сегментация с помощью архитектуры Unet. Разметка велась в CVAT, нейросеть писалась на PyTorch

Таймкоды из видео:
5:28 - Разметка в CVAT
37:24 - Обучение нейронной сети
1:22:44 - Использование сети в веб-приложении на Streamlit

-----------------------------------------------------------------------

Подписывайтесь на канал, чтобы быть в курсе новых видео и узнавать больше о компьютерном зрении!
Рекомендации по теме
Комментарии
Автор

0:00 5:55 Описание задачи
5:55 30:05 Разметка изображения
30:05 33:35 Выгрузка разметки
33:35 35:41 Описание папок в проекте
35:40 37:05 Библиотеки smp и A blumentations
37:05 40:43 Начало работы. Инициализация констант
40:43 43:47 U Net и параметры обучения
43:47 48:10 Описание процесса обучения
48:10 49:28 метрики IoU, F1
49:28 51:14 функция потерь DiceLoss
51:14 53:05 Inference размер изображений
53:05 54:05 Вспомогательные функции
54:05 58:14 DataLoader
58:14 1:04:35 Аугментации на train
1:04:35 1:05:11 Аугментации на валидации
1:05:11 1:06:45 Модель
1:06:43 1:07:52 Нормализация
1:07:52 1:10:08 Батчи и их размеры
1:10:08 1:10:23 Метрики и настройки оптимайзера
1:10:23 1:10:45 Настройки для эпохи
1:10:45 1:12:08 Обучение
1:12:08 1:13:18 JIT и сохранение модели
1:13:18 1:14:00 Возможные проблемы
1:14:00 1:16:34 Запускаем обучение
1:16:34 1:17:43 Результаты обучения
1:17:43 1:18:33 Загрузка модели
1:18:33 1:21:34 Визуализация результата
1:21:34 1:23:19 Описание приложения
1:23:19 1:27:34 Инференс фотографии для произвольных фото
1:27:34 1:29:03 Прогон через сеть
1:29:03 1:32:21 Обрезка фото, полезные советы
1:32:21 1:41:55 Свой веб сервис

sashabelyy
Автор

Теперь понял, как бэкграунд делать проще!

vuydaster
Автор

Молодец 👍 было бы интересно послушать про Multi-Task сети)

raushanrush
Автор

Мужик, я могу потом забыть написать. Ты супер-лектор. Я сейчас учусь на курсе по нейронкам, не буду говорить, где. Но если бы ты там вел, то был бы звездой!

bozzaru
Автор

Ну это 10 из 10. Царский лайк!!! Спасибо!

bbbbbb
Автор

Я пока на 29 минуте, но в шоке от того, что в видео автор не поленился прям рисовать и рисовать! Это надо хотеть такой туториал создать. Прям +100 в карму!

bozzaru
Автор

Спасибо за видео и за то, что делишься информацией! Такой вопрос, а пробовал ли применить AutoCVAT для сегментации частей лица? Или Yolo модели пока не умеют так?

deviceai
Автор

Спасибо за видео!
А я правильно понимаю, что модели из этой библиотеки не получится использовать без предварительного обучения, поскольку веса подгружаются не для всей модели, а только для энкодера?

Dr.Whatson
Автор

а сделай прогу с помощью segment anything которая будет работать на видео потоке) я так понял на гит хабе открытый код

com-fhts
Автор

Здравствуйте крутое видео!Хотел узнать у вас, получается это классификация и сегментация в одном?Простите если глупый вопрос просто я начинающий и не всё еще понимаю

Aimusic_g
Автор

Спасибо за видео!
Правда хотелось бы по разметке сказать пару слов. Вот вы потратили время, чтобы разметить контур глаз и контур рта и сразу же потеряли эту информацию. И если теперь заказчик придёт, и скажет что желает какие-то действия проводить с глазами и ртом, то вам придётся всю работу повторять. Короче, всегда более предпочтительно разметку делать полигонами, причём соответствующими классами. Вот вы вырезали глаза, но более правильно было бы разметить глаза. А уже с помощью скриптов вырезать так как вам хочется. Например из слоя лицо вырезать все фрагменты с классом глаза и рот.
В любом случае я понимаю, что разметка в этом видео является вспомогательным действием, но всё же проблемы с разметкой сразу проявились в конце видео, когда ползунками изменяли характеристики. И в первую очередь из-за того, что рот и глаза не являются фоном. Да, к тому моменту вы это могли понять, только самое простое решение проблемы заключалось в переразметке.
Кроме того, что разметка полигонами позволяет редактировать контур, но и сама разметка контура проще, особенно если соседний класс уже размечен, тогда можно привязаться к ранее выполненному контуру.
Ну а я стараюсь всегда смотреть ваши видео - практичные и живые Так держать!!!

Motskin_AI