Компьютерное зрение 24/25 (МОВС23) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница: «==О курсе== Занятия проводятся в [ Zoom] '''по ...<день>... в ...<время>...''' Онлайн-курс в дополнение…»)
 
(Дополнительное ДЗ)
 
(не показано 30 промежуточных версии 2 участников)
Строка 1: Строка 1:
 
==О курсе==
 
==О курсе==
  
Занятия проводятся в [ Zoom] '''по ...<день>... в ...<время>...'''
+
Занятия проводятся в [https://us06web.zoom.us/j/83908607296?pwd=dgFhqwY8slVdwspNGOA7L8bNEah90E.1 Zoom] '''по вторникам в 18:10'''
 
+
Онлайн-курс в дополнение к парам: [[ online-course link]]
+
  
 
==Контакты==
 
==Контакты==
  
Канал курса в TG: [[ channel link]]
+
[https://t.me/+oHKnmdWdSKNiMTQy Чат курса в TG]
 
+
Чат курса в TG: [[ chat link]]
+
  
Преподаватель:  
+
Преподаватель: Башаров И.В. @ilbash и Козлов К. @dedpe
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 17: Строка 13:
 
! Ассистент !! Контакты  
 
! Ассистент !! Контакты  
 
|-
 
|-
| style="background:#eaecf0;" | ||  
+
| style="background:#eaecf0;" | Марк Блуменау (ПМИ) || @markblumenau
 
|-
 
|-
| style="background:#eaecf0;" | ||  
+
| style="background:#eaecf0;" | Илья Никитин || @is_nikitin
 +
|-
 +
| style="background:#eaecf0;" | Кирилл Козлов || @dedpe
 
|}
 
|}
  
==Материалы курса==
+
Курс вели:
Ссылка на плейлист курса на YouTube: [[ YouTube-playlist]]
+
 
+
Ссылка на GitHub с материалами курса: [[ GitHub repository]]
+
 
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Занятие !! Тема !! Дата !! Материалы для самоподготовки к семинарам !! Дополнительные материалы
+
! Тема !! Лекция !! Семинар
 
|-
 
|-
| style="background:#eaecf0;" | '''1''' [[ Запись]] || [[ Ноутбук]]  || ...<date>... || ||  
+
| style="background:#eaecf0;" | Работа с изображениями. Классические методы обработки || Илья Башаров || Илья Башаров
 
|-
 
|-
| style="background:#eaecf0;" | '''2''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| style="background:#eaecf0;" | Классификация: лучшие практики || Снежана Дудкина || Снежана Дудкина
 
|-
 
|-
| style="background:#eaecf0;" | '''3''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| style="background:#eaecf0;" | Детекция (одностадийная) || Александр Неварко || Кирилл Козлов
 
|-
 
|-
| style="background:#eaecf0;" | '''4''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| style="background:#eaecf0;" | Сегментация || Александр Неварко || Кирилл Козлов
 
|-
 
|-
| style="background:#eaecf0;" | '''5''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| style="background:#eaecf0;" | RelD + Tracking || Илья Башаров и Снежана Дудкина || Илья Башаров
 
|-
 
|-
| style="background:#eaecf0;" | '''6''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| style="background:#eaecf0;" | Генеративные модели || Андрей Филатов || Кирилл Козлов
 
|-
 
|-
| Конец первого модуля |
+
| style="background:#eaecf0;" | SSL & Foundation Models || Андрей Филатов  ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''7''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||  
+
| style="background:#eaecf0;" | Методы ускорения нейросетевых моделей || Павел Колганов || Арина Гертель
 +
|}
 +
 
 +
==Материалы курса==
 +
 
 +
{| class="wikitable"
 
|-
 
|-
| style="background:#eaecf0;" | '''8''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
! Занятие !! Тема !! Дата !! Презентации/ноутбуки !! Материалы
 
|-
 
|-
| style="background:#eaecf0;" | '''9''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| style="background:#eaecf0;" | '''1''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || Работа с изображениями. Классические методы обработки || 14.01.2025 || [https://docs.google.com/presentation/d/1_wG77J8zAMvatMSHpwgiJTJUZVYzBOqm/edit?usp=sharing&ouid=115693349504527685091&rtpof=true&sd=true Лекция] [https://colab.research.google.com/drive/1NB5ggdfbMdxIAy-8FV0XdSxigC_FwLBF#scrollTo=_fVEZCFA82Rb Семинар]  || [https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html OpenCV Docs]
 
|-
 
|-
| style="background:#eaecf0;" | '''10''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| style="background:#eaecf0;" | '''2''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || Классификация: лучшие практики || 21.01.2025 || [https://docs.google.com/presentation/d/1s50Pu534qXbAl-LjxhGMDI4Ea6Hh6uTFHDOKovV-WVs/edit#slide=id.g327588c1df0_0_30 Лекция]  [https://colab.research.google.com/drive/1tAYiLvtd62NekSkrbAqOdDorHJEfjznI Семинар] || [https://cs231n.github.io/convolutional-networks/ CS231n], [https://karpathy.github.io/2019/04/25/recipe/  Training recipe]
 
|-
 
|-
| style="background:#eaecf0;" | '''11''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| style="background:#eaecf0;" | '''3''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || Детекция (одностадийная) || 28.01.2025 || [https://docs.google.com/presentation/d/12ohwSH_BVT2vTzS6W1knnY6CTIDFAk6t/edit?usp=sharing&ouid=115553813799780088084&rtpof=true&sd=true Лекция] [https://colab.research.google.com/drive/1y2hoZSKjKVJWBDtJjeKPQLDpSafj_M1C?usp=share_link Семинар] || [https://arxiv.org/html/2304.00501v6 YOLO history]
 
|-
 
|-
| style="background:#eaecf0;" | '''12''' [[ Запись]] || [[ Ноутбук]] || ...<date>... || ||
+
| style="background:#eaecf0;" | '''4''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || Сегментация || 04.02.2025 || [https://docs.google.com/presentation/d/1rzaklcrotKl0ZP54XBq0TBrwGc9k-MJkxNu80P-ZGH4/edit#slide=id.g32ccd9b25c1_0_100 Лекция] [https://colab.research.google.com/drive/1h3YBR5lsIS9eYjfqLIexeLBJGukHWFI1?usp=sharing Семинар] || [https://arxiv.org/html/2312.05391v1 Функции потерь]
 
|-
 
|-
 +
| style="background:#eaecf0;" | '''5''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || ReID + Tracking || 11.02.2025 || [https://docs.google.com/presentation/d/1Uf7L1hEdKnjb_MLwR4nSEKaPKeYWlQWBq4xV7iTFiDI/edit?usp=sharing Лекция] [https://colab.research.google.com/drive/1rm0muzVRFPAuGvf2vCufnjBl0cwi8tjm Семинар] || [https://github.com/luanshiyinyang/awesome-multiple-object-tracking Awesome tracking]
 +
|-
 +
| style="background:#eaecf0;" | '''6''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || Генеративные модели || 18.02.2025 || [https://docs.google.com/presentation/d/1920Y3exa5FRMJvHZvRVO13D6Jz1WABB5oEwv1IYm1FY/edit?usp=sharing Лекция] [https://colab.research.google.com/drive/19yZi8ew7dHTe4CZXDI9BMYS60BPaY7l4?usp=sharing Семинар] || [https://arxiv.org/abs/2404.07771 Diffusion: overview]
 +
|-
 +
| style="background:#eaecf0;" | '''7''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || SSL & Foundation Models || 25.02.2025 || [https://docs.google.com/presentation/d/1TbJ7-36hQCxNpNW7AW6nFIqVJ5Mw7I88xKwH0k9PgYo/edit#slide=id.p1 Лекция] ||
 +
|-
 +
| style="background:#eaecf0;" | '''8''' [https://vkvideo.ru/playlist/-227011779_27 Записи ВК] [https://www.youtube.com/playlist?list=PLmA-1xX7IuzDETLN1VWSLoJfXAfhaxoR6 Записи YT] || Методы ускорения нейросетевых моделей
 +
|| 04.03.2025 || [https://docs.google.com/presentation/u/0/d/1wiamPZVcbucysCwWRpjT1iwhd5-qk3ydShZ0RwG60pc/edit Лекция] [https://colab.research.google.com/drive/1cuTXf4vfKfd_Nqh9yo-T3tsEcPDJNBoq?usp=sharing Семинар] || [https://github.com/VainF/Torch-Pruning TorchPruning]
 
|}
 
|}
  
=== Записи консультаций ===
+
==Формула оценивания==
  
 +
Оценка = 0.9*MAX(SUM / N, 10) + 0.1*EXAM,
 +
где N - количество домашних заданий (без учета бонусных), SUM - сумма баллов за все задания (с учетом бонусных), EXAM - оценка на экзамене.
  
==Формула оценивания==
+
== Домашние задания ==
  
Оценка = ...<вес 1>...*О<sub>...<форма контроля 1>...</sub> + ...<вес 2>...*О<sub>...<форма контроля 2>...</sub> + ...<вес 3>...*О<sub>...<форма контроля 3>...</sub>
+
'''[https://colab.research.google.com/drive/1772rBZGw83yGr2D0jbmOtx8AtDqwuUSp#scrollTo=mLrXWnsp5d6q Домашнее задание 1]''' - '''Дедлайн 04.02 мягкий, 11.02 жесткий.'''
  
 +
'''[https://colab.research.google.com/drive/1PCJFD4YEwXmQnSb0YxrmTnR6bIv8ZDuC?usp=sharing Домашнее задание 2]''' - '''Дедлайн 11.02 23:59 мягкий, 18.02 23:59 жесткий.'''
  
== Домашние задания ==
+
'''[https://colab.research.google.com/drive/1Kni36PCFxxNru6DZ2vwFA8Qk85W-XhL1?usp=sharing Домашнее задание 3]''' - '''Дедлайн 19.02 23:59 мягкий, 26.02 23:59 жесткий.'''
#
+
 
#
+
'''[https://drive.google.com/file/d/1e4O8NGqqZ6Ra3vP2HGNWcPYolpaljwcW/view?usp=sharing Опциональное домашнее задание]''' - '''Дедлайн 26.02 23:59 мягкий, 05.03 23:59 жесткий.'''
#
+
 
#
+
'''[https://colab.research.google.com/drive/1_PUs3JPFFWNa7c_xDxxdaSDSz90SZ0gZ?usp=sharing Домашнее задание 4]''' - '''Дедлайн 11.03 23:59 мягкий, 18.03 23:59 жесткий.'''
 +
 
 +
'''Инвайт в AnyTask: OsoaRj4'''
 +
 
 +
== Дополнительное ДЗ ==
 +
Может дать дополнительно до 2х баллов (включительно) за решение для тех, кто не добирает баллы (после проверок всех дз 3 балла и ниже, либо не уверен, сколько у него баллов будет.) Также это задание для тех, кто не хочет идти на экзамен. Напомню, идти на экзамен - опционально, дает до 1 балла. Ранжирование баллов будет следущим:
 +
1) Выбитый скор [0.51; 0.7) - +1 балл (для тех, у кого 3 балла и ниже)
 +
2) Выбитый скор выше [0.70; 1) - +2 балла (для тех, у кого 3 балла и ниже) или засчитывается вместо экзамена - +1 балл (для тех, у кого 4 балла и выше)
 +
 
 +
Бейзлайн по [https://colab.research.google.com/drive/10HbBjXe4hzMTbu9ZqSw4zj2cyoMLC57Y?usp=sharing ссылке], kaggle соревнование по [https://www.kaggle.com/competitions/how-machine-sees-ai-edu/overview ссылке]. Дедлайн до 26.03.25 23:59. Username следует указывать в формате <ФИО>_МОВС_25 на русском языке.
 +
 
 +
Рекомендации к решению:
 +
1) стоит поработать в первую очередь данными, а не гнаться за тяжелыми моделями. В данных может быть неверная разметка, картинки плохого качества, маленькие объекты и тд. Смотрите на распределения.
 +
 
 +
2) Батч имеет значение - следите за стабильностью обучения. Если есть сильные колебания в качестве, скорее всего, поможет увеличение батча. В зависимости от динамики обучения можете подобрать необходимое кол-во эпох. Помните, одностадийные методы тренируются чуть дольше.
 +
 
 +
3) Аугментации дают основной буст в качестве. Пользуйтесь библиотекой albumentations и добавляйте их в пайплайн обучения (сразу в код).
 +
 
 +
4) Визуализируйте ошибки модели - можно добавить эти семплы повторно в трейн.
 +
 
 +
5) Если качество модели на вашей валидации сильно отличается от kaggle - вы неверно формируете валидацию. Подумайте, как можно было бы сформировать валидационную выборку.
 +
 
 +
6) Тюнингом lr, optimizer и проч занимайтесь только в самый последний момент. Также у ultralytics есть tuner.
 +
 
 +
7) Можно найти похожие данные в интернете и дополнить выборку.
 +
 
 +
8) Следите за дисбалансом классов в выборке. Вспомните про стратегии борьбы, которые мы обсуждали в семинарах - семлинг, взвешивание.
 +
 
 +
 
 +
'''Сдавать в AnyTask по инвайту выше.'''
  
 
== Литература ==
 
== Литература ==
#  
+
# Richard Szeliski, [http://szeliski.org/Book/ "Computer Vision: Algorithms and Applications, 2nd ed."], The University of Washington
#
+
#
+
#
+

Текущая версия на 17:37, 23 марта 2025

О курсе

Занятия проводятся в Zoom по вторникам в 18:10

Контакты

Чат курса в TG

Преподаватель: Башаров И.В. @ilbash и Козлов К. @dedpe

Ассистент Контакты
Марк Блуменау (ПМИ) @markblumenau
Илья Никитин @is_nikitin
Кирилл Козлов @dedpe

Курс вели:

Тема Лекция Семинар
Работа с изображениями. Классические методы обработки Илья Башаров Илья Башаров
Классификация: лучшие практики Снежана Дудкина Снежана Дудкина
Детекция (одностадийная) Александр Неварко Кирилл Козлов
Сегментация Александр Неварко Кирилл Козлов
RelD + Tracking Илья Башаров и Снежана Дудкина Илья Башаров
Генеративные модели Андрей Филатов Кирилл Козлов
SSL & Foundation Models Андрей Филатов
Методы ускорения нейросетевых моделей Павел Колганов Арина Гертель

Материалы курса

Занятие Тема Дата Презентации/ноутбуки Материалы
1 Записи ВК Записи YT Работа с изображениями. Классические методы обработки 14.01.2025 Лекция Семинар OpenCV Docs
2 Записи ВК Записи YT Классификация: лучшие практики 21.01.2025 Лекция Семинар CS231n, Training recipe
3 Записи ВК Записи YT Детекция (одностадийная) 28.01.2025 Лекция Семинар YOLO history
4 Записи ВК Записи YT Сегментация 04.02.2025 Лекция Семинар Функции потерь
5 Записи ВК Записи YT ReID + Tracking 11.02.2025 Лекция Семинар Awesome tracking
6 Записи ВК Записи YT Генеративные модели 18.02.2025 Лекция Семинар Diffusion: overview
7 Записи ВК Записи YT SSL & Foundation Models 25.02.2025 Лекция
8 Записи ВК Записи YT Методы ускорения нейросетевых моделей 04.03.2025 Лекция Семинар TorchPruning

Формула оценивания

Оценка = 0.9*MAX(SUM / N, 10) + 0.1*EXAM, где N - количество домашних заданий (без учета бонусных), SUM - сумма баллов за все задания (с учетом бонусных), EXAM - оценка на экзамене.

Домашние задания

Домашнее задание 1 - Дедлайн 04.02 мягкий, 11.02 жесткий.

Домашнее задание 2 - Дедлайн 11.02 23:59 мягкий, 18.02 23:59 жесткий.

Домашнее задание 3 - Дедлайн 19.02 23:59 мягкий, 26.02 23:59 жесткий.

Опциональное домашнее задание - Дедлайн 26.02 23:59 мягкий, 05.03 23:59 жесткий.

Домашнее задание 4 - Дедлайн 11.03 23:59 мягкий, 18.03 23:59 жесткий.

Инвайт в AnyTask: OsoaRj4

Дополнительное ДЗ

Может дать дополнительно до 2х баллов (включительно) за решение для тех, кто не добирает баллы (после проверок всех дз 3 балла и ниже, либо не уверен, сколько у него баллов будет.) Также это задание для тех, кто не хочет идти на экзамен. Напомню, идти на экзамен - опционально, дает до 1 балла. Ранжирование баллов будет следущим: 1) Выбитый скор [0.51; 0.7) - +1 балл (для тех, у кого 3 балла и ниже) 2) Выбитый скор выше [0.70; 1) - +2 балла (для тех, у кого 3 балла и ниже) или засчитывается вместо экзамена - +1 балл (для тех, у кого 4 балла и выше)

Бейзлайн по ссылке, kaggle соревнование по ссылке. Дедлайн до 26.03.25 23:59. Username следует указывать в формате <ФИО>_МОВС_25 на русском языке.

Рекомендации к решению: 1) стоит поработать в первую очередь данными, а не гнаться за тяжелыми моделями. В данных может быть неверная разметка, картинки плохого качества, маленькие объекты и тд. Смотрите на распределения.

2) Батч имеет значение - следите за стабильностью обучения. Если есть сильные колебания в качестве, скорее всего, поможет увеличение батча. В зависимости от динамики обучения можете подобрать необходимое кол-во эпох. Помните, одностадийные методы тренируются чуть дольше.

3) Аугментации дают основной буст в качестве. Пользуйтесь библиотекой albumentations и добавляйте их в пайплайн обучения (сразу в код).

4) Визуализируйте ошибки модели - можно добавить эти семплы повторно в трейн.

5) Если качество модели на вашей валидации сильно отличается от kaggle - вы неверно формируете валидацию. Подумайте, как можно было бы сформировать валидационную выборку.

6) Тюнингом lr, optimizer и проч занимайтесь только в самый последний момент. Также у ultralytics есть tuner.

7) Можно найти похожие данные в интернете и дополнить выборку.

8) Следите за дисбалансом классов в выборке. Вспомните про стратегии борьбы, которые мы обсуждали в семинарах - семлинг, взвешивание.


Сдавать в AnyTask по инвайту выше.

Литература

  1. Richard Szeliski, "Computer Vision: Algorithms and Applications, 2nd ed.", The University of Washington