Skip to content

Repository files navigation

Конвейер обработки стереоизображений — ВКР Бугров Е.П.

Описание

Программа реализует полный конвейер обработки стереоизображений на базе датасета KITTI:

  • 7 конфигураций алгоритмов: Block Matching (2 варианта) и SGBM (5 вариантов с разными параметрами и постобработкой)
  • Метрики точности: MAE, RMSE, RMAE, PC(3px) — по эталонным картам диспаратности KITTI
  • Метрики производительности: время обработки кадра, fps, джиттер, разбивка по этапам
  • Визуализация: цветные карты диспаратности, сводное сравнение алгоритмов

Требования

Python 3.8+
opencv-python >= 4.5 (или opencv-contrib-python для WLS-фильтра)
numpy

Установка:

pip install opencv-contrib-python numpy

Скачивание датасета KITTI

  1. Перейдите на https://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=stereo

  2. Зарегистрируйтесь (бесплатно)

  3. Скачайте из раздела "Download stereo 2015 / multi-view extension":

    • data_scene_flow.zip (~2 ГБ) — содержит стереопары и эталонные карты

    Или из раздела "Stereo 2012" (меньше по объёму):

    • data_stereo_flow.zip
  4. Распакуйте в папку kitti_stereo:

kitti_stereo/
  training/
    image_2/          ← левые изображения
      000000_10.png
      000001_10.png
      ...
    image_3/          ← правые изображения
      000000_10.png
      000001_10.png
      ...
    disp_occ_0/       ← эталонные карты диспаратности (ground truth)
      000000_10.png
      000001_10.png
      ...

Запуск

Базовый запуск (20 изображений):

python stereo_pipeline.py --data_dir ./kitti_stereo/training --output_dir ./results

Полный прогон (все 200 изображений training split):

python stereo_pipeline.py --data_dir ./kitti_stereo/training --output_dir ./results --num_images 200

С изменённым диапазоном диспаратности:

python stereo_pipeline.py --data_dir ./kitti_stereo/training --output_dir ./results --num_disparities 192

Результаты

После запуска в директории results/ появятся:

  • comparison.png — сводное изображение со всеми алгоритмами
  • disp_*.png — цветные карты диспаратности для каждого алгоритма
  • report.json — полный отчёт с метриками (машиночитаемый)

Пример вывода в консоль:

Алгоритм                        MAE    RMSE  PC(3px)   T_mean   T_std    FPS
------------------------------------------------------------------------------------------
BM (block=9)                    5.23    12.41   72.3%    28.3ms   2.1ms   35.3
BM (block=15)                   4.87    11.98   74.1%    35.7ms   2.8ms   28.0
SGBM-8dir (block=5)             2.14     6.83   89.2%    92.4ms   5.3ms   10.8
SGBM-8dir (block=3)             2.31     7.12   87.8%    88.1ms   4.9ms   11.4
SGBM-HH (block=5)               1.98     6.21   91.0%   178.3ms   8.7ms    5.6
SGBM-8dir + bilateral           2.18     6.91   88.7%    98.2ms   6.1ms   10.2
SGBM-8dir (no postproc)         2.19     7.01   88.9%    87.5ms   4.7ms   11.4

(числа примерные — реальные значения зависят от вашего оборудования)

Что сравнивается

Конфигурация Алгоритм Окно Направления Постобработка
BM (block=9) Block Matching 9×9 Медианный 5×5
BM (block=15) Block Matching 15×15 Медианный 5×5
SGBM-8dir (block=5) Semi-Global BM 5×5 8 Медианный 5×5
SGBM-8dir (block=3) Semi-Global BM 3×3 8 Медианный 5×5
SGBM-HH (block=5) Semi-Global BM 5×5 ~16 (полный) Медианный 5×5
SGBM-8dir + bilateral Semi-Global BM 5×5 8 Билатеральный
SGBM-8dir (no postproc) Semi-Global BM 5×5 8 Нет

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages