Основы компьютерного зрения
Семестр 8. Не замена ГОСТ и коллинеарности. Семь пар с конспектом и слайдами. В АКС студент сдаёт орто в СК заказчика; здесь — алгоритм и метрику на своих снимках.
CV01
Растр, свёртка, пирамиды
CV02
Харрис, SIFT, RANSAC, H
CV03
Эпиполяра, F, E, засечка
CV04
SfM и бандл
CV05
MVS и сегментация
CV06
Облако как данные
CV07
NeRF-идея и 3DGS
1. Что остаётся АКС и что забирает CV
| АКС | CV |
|---|---|
| ГОСТ, ТЗ, ИВП, ПВО, СК, паспорт качества, ошибка на контрольных. Сплаттинг не заменяет ортофотоплан 1:2000 | Алгоритм, обучение (если дойдёте), метрика на разметке, воспроизводимость. «Красивый вид в браузере» — демо, не отчёт геодезиста |
Один набор снимков на весь курс CV: сначала стенд семестра 3, потом учебный вылет семестра 4. Каждый блок добавляет слой обработки к тем же файлам. Стек: Python, OpenCV, COLMAP как эталон SfM, в конце готовый splat-viewer. Растеризатор гауссиан с нуля в первом семестре CV не пишем.
2. Объём
Ориентир под российский учебный план: 16 недель, в неделю 1 пара лекции (2 акад. ч) и 1 пара практики (2 акад. ч), плюс СРС. Итого:
| Вид | Часы | Примечание |
|---|---|---|
| Лекции | 32 | 16 × 2 акад. ч; живая пара 1,5 ч часовни + 0,5 ч на вопросы — как удобно кафедре |
| Практика / лаб | 32 | свой код на тех же снимках |
| СРС | 44 | чтение глав, доводка пайплайна, отчёт |
| Итого | 108 | ≈ 3 з.е. (36 ч = 1 з.е.). Можно сжать до 2 з.е., выкинув блок 6–7 в факультатив |
Если курс — факультатив без второй пары: 16 × 2 ч лекции + 48 ч СРС ≈ 80 ч (чуть больше 2 з.е.); тогда блоки 6–7 только обзорно.
3. Входные требования
- Матрицы, SVD, однородные координаты — уровень первого курса линейной алгебры
- Python 3: NumPy, чтение файлов, venv. Jupyter или обычные скрипты — на выбор, не пять фреймворков
- АКС: пройдены Ф05–Ф06 (растр, квантование), Ф07 (стерео), Ф10 (центральная проекция). Идеально — снятый стенд Ф09
- Не требуется: PyTorch «с нуля», теория информации, GPU-кластер. Для блока 7 достаточно Colab с GPU на одну демонстрацию
4. Календарный план
| Нед. | Блок | Лекция (2 ч) | Практика (2 ч) | СРС (ориентир) | Артефакт к концу блока |
|---|---|---|---|---|---|
| 1–2 | 1 | Растр, свёртка, градиент, пирамиды | Фильтр на серии ЦФК | 6 ч · Szeliski ch. 3 | Свой фильтр + гистограмма; связь с K из А06 |
| 3–4 | 2 | Харрис, SIFT/ORB, RANSAC, гомография | Соответствия на стереопаре стенда | 6 ч | Панорама vs стерео: когда гомографии мало |
| 5–6 | 3 | Эпиполяра, F/E, триангуляция | Эпиполяры на учебной паре | 6 ч · Hartley–Zisserman ch. 9–12 | Рисунок эпиполяр + RMSE триангуляции |
| 7–9 | 4 | SfM, бандл, облако, Poisson | COLMAP на тех же снимках vs Metashape | 8 ч | Сравнение ошибки репроекции; не «нажать Align» |
| 10–12 | 5 | Stereo matching, MVS, сегментация 2D | Маска на орто участка | 8 ч | ЦММ vs семантика; мост к А07 |
| 13–14 | 6 | Mesh, нормали, идея PointNet | Класс на облаке, не на JPEG | 5 ч | Сегмент «здание / земля» на облаке вылета |
| 15–16 | 7 | NeRF-идея, 3D Gaussian splatting | Готовый splat двора vs орто | 5 ч | Эссе: что сдавать кадастру и почему не splat |
Неделя 16: зачёт / экзамен CV (см. §12), не сравнение архитектур 2024 наизусть.
5. Блок 1. Изображение как массив (нед. 1–2, 8 ауд. ч)
Содержание. Изображение — функция на сетке. Дискретизация и квантование уже были на Ф05: здесь — свёртка, ядро, сепарабельность, градиенты Собеля/Шарра, гауссова пирамида, разностная пирамида. Без нейросетей. Гистограмма и клиппинг — тот же язык, что показатель K и качество кадра.
Мост в АКС. Ф05–Ф06, гистограмма А06. Студент на своей серии ЦФК показывает, какой фильтр повышает пригодность к отождествлению, а какой рисует ореолы, которые коррелятор примет за точки.
Практика. Прочитать RAW/JPEG, посчитать гистограмму, свой ядро (не только cv2.GaussianBlur), сохранить кроп 100%. Запрет: сдавать только скрин Instagram-фильтра.
Чтение.
- Szeliski R. Computer Vision: Algorithms and Applications. 2nd ed. Springer, 2022 — гл. про filtering. Бесплатный черновик: szeliski.org/Book
- Gonzalez R., Woods R. Digital Image Processing — свёртка и гистограмма (любое издание кафедры)
- OpenCV: Smoothing Images, Image Gradients
- Конспект: Ф05, Ф06
6. Блок 2. Соответствия (нед. 3–4, 8 ауд. ч)
Содержание. Угол Харриса. Дескриптор: идея SIFT (масштаб, ориентация, 128D) vs ORB (быстрый, патентно спокойнее для кода). Сопоставление, отношение расстояний Лоу. RANSAC. Гомография плоскости. Когда сцена не плоскость — гомография врёт, нужна фундаментальная матрица (блок 3).
Мост в АКС. Отождествление на Ф07, связующие точки Metashape, коррелятор. Студент объясняет дыру модели Ф09 языком «нет повторяемой текстуры / повторные структуры / мало базиса».
Практика. Два кадра стенда: (а) панорама с узловым вращением — гомография ок; (б) базис как в стерео — гомография ломает глубину. Рисунок inliers/outliers RANSAC.
Чтение.
- Harris C., Stephens M. A combined corner and edge detector. Alvey Vision Conference, 1988. PDF: bmva.org
- Lowe D. Distinctive image features from scale-invariant keypoints. IJCV, 2004. cs.ubc.ca/~lowe/papers/ijcv04.pdf
- Rublee et al. ORB: an efficient alternative to SIFT or SURF. ICCV, 2011. IEEE · обзор OpenCV: ORB
- Fischler M., Bolles R. Random Sample Consensus. CACM 24(6), 1981. DOI: 10.1145/358669.358692 · PDF SRI: ransac-publication.pdf
- OpenCV: Feature Matching + Homography
- Szeliski, гл. про feature detection / matching
7. Блок 3. Геометрия двух камер (нед. 5–6, 8 ауд. ч)
Содержание. Эпиполярная геометрия. Фундаментальная матрица F (пиксели) и существенная E (калиброванные камеры). 8-точечный алгоритм (идея). Триангуляция. Нормализация Хартли. Связь с взаимным ориентированием: в фотограмметрии другие параметры, та же геометрия лучей.
Мост в АКС. Параллакс Ф07, коллинеарность Ф10, «кадр ≠ сканер». Формула Z/f = −B/p — частный случай нормальной пары; общая триангуляция — косые лучи.
Практика. На учебной стереопаре нарисовать эпиполяры через выбранную точку. Оценить качество F по расстоянию точки до эпиполяры (px). Триангуляция нескольких марок с известным базисом vs линейка сем. 3.
Чтение.
- Hartley R., Zisserman A. Multiple View Geometry in Computer Vision. 2nd ed. Cambridge UP, 2004 — гл. 9–12. Сайт книги: robots.ox.ac.uk/~vgg/hzbook
- OpenCV: Epipolar Geometry, calib3d
- Чибуничев — взаимное ориентирование, засечка: диск
- Luhmann et al. Close-Range Photogrammetry — диск
8. Блок 4. Много видов: SfM и бандл (нед. 7–9, 12 ауд. ч)
Содержание. Инкрементальный SfM: соответствие → ориентирование новой камеры → триангуляция → bundle adjustment. Шкала и калибровка. Плотное облако vs редкое. Poisson / Delaunay — обзор, не реализация с нуля. COLMAP как эталонная реализация, не «магия».
Мост в АКС. Уравнивание блока, Ф09, планирование перекрытий А04 (зачем 80% на БВС — устойчивость графа камер). Ошибка репроекции в отчёте сем. 3 — тот же residual, что в бандле.
Практика. Прогнать COLMAP на снимках стенда. Сравнить число камер и median reprojection error с отчётом Metashape. Объяснить расхождение пресетов (не баг). Не цель — обогнать Metashape по красоте сетки.
Чтение.
- Schönberger J. L., Frahm J.-M. Structure-from-Motion Revisited. CVPR, 2016. CVF PDF — основа COLMAP
- Документация: colmap.github.io · репозиторий github.com/colmap/colmap
- Triggs et al. Bundle Adjustment — A Modern Synthesis. 1999/2000. Обзор: курс JHU PDF
- Metashape manual: PDF — чтобы переводить кнопки на язык бандла
- Szeliski, гл. Structure from motion
9. Блок 5. Глубина, MVS, сегментация 2D (нед. 10–12, 12 ауд. ч)
Содержание. Плотное стерео (блок-матчинг, идея semi-global). Multi-view stereo: согласованность фотометрии по многим видам. Семантическая сегментация 2D: идея сверточной сети как классификатор пикселя; для курса достаточно готовой модели (DeepLab / SegFormer из torchvision или ONNX) на орто, без обучения с нуля на ImageNet.
Мост в АКС. ЦММ vs ЦМР; дешифрирование А07 (если каркас сем. 5 уже открыт). Орто — это уже геометрия А12; сегментация по орто ближе к тематической карте, чем к измерению высоты.
Практика. (а) карта диспаратности на стереопаре или depth из COLMAP/OpenMVS; (б) маска «крыша / земля / растительность» на орто учебного участка. Сравнить границу здания на маске с ребром на ЦММ: где семантика врёт на тенях.
Чтение.
- Hirschmüller H. Stereo processing by semiglobal matching and mutual information. PAMI, 2008. OpenCV SGBM: StereoSGBM
- Schönberger et al. Pixelwise View Selection for Unstructured Multi-View Stereo. ECCV, 2016 (COLMAP MVS). demuc.de PDF
- OpenMVS: github.com/cdcseacave/openMVS
- Long J., Shelhamer E., Darrell T. Fully Convolutional Networks for Semantic Segmentation. CVPR, 2015. CVF PDF — идея «пиксель-класс»
- Обзор сегментации в OpenCV / dnn: DNN tutorials
10. Блок 6. 3D как данные (нед. 13–14, 8 ауд. ч)
Содержание. Облако vs mesh, нормали, voxel downsample. Идея PointNet: перестановка точек, max-pooling как симметрия. Не реализовывать PointNet с нуля обязательно: достаточно прогнать готовую классификацию/сегментацию на учебном облаке или сделать правило «высота + нормаль = земля» как baseline.
Мост в АКС. Ретопология Ф09, ЦММ. Класс «опора ЛЭП / здание» на облаке, не на JPEG — иначе это снова 2D.
Практика. CloudCompare или Open3D: вырезать двор, оценить плотность точек, простой сегмент. Сравнить с маской блока 5.
Чтение.
- Qi C. R. et al. PointNet: Deep Learning on Point Sets. CVPR, 2017. CVF PDF
- Open3D: документация
- CloudCompare: cloudcompare.org
- Luhmann / Чибуничев — качество поверхности по фото
11. Блок 7. Представления сцены: NeRF и Gaussian splatting (нед. 15–16, 8 ауд. ч)
Содержание. NeRF: луч, объём, интеграл цвета и плотности; зачем много видов и зачем калибровка камер (снова бандл). 3D Gaussian splatting: эллипсоид как примитив, splatting на экран, артефакты (floater’ы, каша на тонких конструкциях, дыры при малом перекрытии). Сравнение с mesh+текстура и с ортофотопланом.
Мост в АКС. Зачем true ortho и кадастровая метрика, если splat «красивее». Ответ: система координат, контрольные точки, однозначный масштаб, архив, ГОСТ. Сплат — визуализация и иногда плотная геометрия для графики, не замена топоплана 1:2000.
Практика. Не писать растеризатор. Прогнать готовый пайплайн (официальный код 3DGS или splat-viewer) на 20–40 кадрах двора или посмотреть чужой splat + свой орто рядом. Эссе 1–2 страницы: что отдать заказчику кадастра и где splat врёт метрически.
Чтение.
- Mildenhall B. et al. NeRF: Representing Scenes as Neural Radiance Fields. ECCV, 2020. matthewtancik.com/nerf · статья ECCV PDF
- Kerbl B. et al. 3D Gaussian Splatting for Real-Time Radiance Field Rendering. SIGGRAPH / ACM TOG, 2023. Проект: INRIA · статья PDF
- Tewari et al. Advances in Neural Rendering. STAR / Eurographics — обзорный вход, если NeRF-статья тяжеловата: искать «neural rendering STAR»
- Орто и СК курса: А12, отчёт участка
12. Экзамен / зачёт CV
Формат: 15–20 минут у доски или у ноутбука. Студент открывает свои данные и показывает три вещи из разных блоков (на выбор преподавателя):
- эпиполяра на стереопаре или inliers RANSAC;
- бандл: ошибка репроекции COLMAP vs Metashape и почему они могут различаться;
- сегментация или splat vs орто: где метод врёт.
Не экзамен: пересказ архитектур 2024, выучить формулы volume rendering наизусть без картинки луча, сдать чужой COLMAP log.
Оценка кода: воспроизводимость (README, seed, версии), не «у меня на машине работало».
13. Пилот на 4–6 пар (если полный семестр не открывают)
Только блоки 2–3: соответствия + эпиполяра на снимках стенда. 12–18 ауд. ч. Этого достаточно, чтобы язык «гомография / F / бандл» перестал быть магией Metashape. Блоки 4–7 не начинать без Ф10.
Не трогать, пока нет: Gaussian splatting в зачёте АКС; полный NeRF-семестр без Ф10; отдельный сайт «лабораторки Three.js» вместо закрытого лекционного пакета АКС.
14. Сводка литературы
Учебники CV
- Szeliski R. Computer Vision: Algorithms and Applications. 2nd ed. szeliski.org/Book
- Hartley R., Zisserman A. Multiple View Geometry in Computer Vision. 2nd ed. VGG HZ book
- Forsyth D., Ponce J. Computer Vision: A Modern Approach — запасная глава про камеру
Фотограмметрия (диск АКС — мост, не «вместо Хартли»)
- Чибуничев А. Г. Фотограмметрия. МИИГАиК, 2022
- Luhmann et al. Close-Range Photogrammetry and 3D Imaging. 2023
- ГОСТ Р 51833-2001
ПО и эталоны
Ключевые статьи (блоки 4–7)
- Schönberger, Frahm. Structure-from-Motion Revisited. CVPR 2016. PDF
- Mildenhall et al. NeRF. ECCV 2020. проект
- Kerbl et al. 3D Gaussian Splatting. 2023. проект INRIA
- Qi et al. PointNet. CVPR 2017. PDF
Кафедральный список АКС (экзамен Алтынова и т. п.) этот курс не расширяет. Вопросы АКС: exam.html.