Обзор открытых библиотек в области обработки изображений и компьютерного зрения
1. Обзор библиотек обработки
изображений на GPU
Арсаев Марат
Video Group
CS MSU Graphics & Media Lab
19.05.2010
2. Only for
Maxus
Содержание
Введение
Nvidia Perfomance Primitives
GPU4VISION
GpuCV
OpenVIDIA
Другие
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
2
3. Only for
Maxus
Введение
С развитием мощностей, компьютерное
зрение и обработка изображений получили
широкое применение
Аппаратная реализация позволяет
использовать более качественные и
сложные алгоритмы
Доступно большое количество библиотек
примитивов, позволяющих использовать
возможности видеокарты
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
3
4. Only for
Maxus
Содержание
Введение
Nvidia Perfomance Primitives
GPU4VISION
GpuCV
OpenVIDIA
Другие
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
4
5. Only for
Maxus
Примитивы
Простейшие Сложные
примитивы примитивы
Криптография
Теория
сигналов
Сжатие Компьютерное Обработка
данных зрение видео
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
5
6. Only for
Maxus Пример
Сжатие данных
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
6
7. Only for
Maxus Пример
Улучшение качества
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
7
8. Only for
Maxus Nvidia Perfomance Primitives
Реализованные функции
Арифметические операции (суммирование,
умножение)
Преобразование цветовых форматов
Вычисление стандартных разниц изображений (SAD,
SSD, MAD)
Сравнение и трешхолдинг изображений
1D фильтры (линейный фильтр, Window Sum)
2D фильтры (морфология, медианный фильтр,
настраиваемые линейные фильтры)
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
8
9. Only for
Maxus Nvidia Perfomance Primitives
Пример
GPU Technology Conference, Nvidia, 2009
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
9
10. Only for
Maxus Сравнение
FilterBox_8u_C4R
сек
0,18
0,16
0,14
0,12
0,1
IPP Time
0,08 NPP Full Time
0,06
NPP Pure Time
0,04
0,02
0
Размер изображения,
пискелей
8800 GTS (640mb), Core2Duo 6550, 4GB RAM
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
10
11. Only for
Maxus Сравнение
Mean_StdDev_8u_C1R
сек
0,035
0,03
0,025
0,02
IPP Time
0,015 NPP Full Time
NPP Pure Time
0,01
0,005
0
Размер изображения,
пискелей
8800 GTS (640mb), Core2Duo 6550, 4GB RAM
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
11
12. Only for
Maxus Nvidia Perfomance Primitives:
Резюме
Реализовано небольшое количество
примитивов
Много времени тратится на копирование
данных
Подходит для многократной обработки
данных на NPP
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
12
13. Only for
Maxus
Содержание
Введение
Nvidia Perfomance Primitives
GPU4VISION
GpuCV
OpenVIDIA
Другие
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
13
14. Only for
Maxus
GPU4VISION
Выкладывают части своих проектов:
FlowLib (Anisotropic Huber-L1 OpticalFlow)
VMFLib (Image Denoising & Segmentation)
Алгоритмы заточены под realtime
Реализованы интерфейсы к камерам и
сенсорам
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
14
15. Only for
Maxus
Содержание
Введение
Nvidia Perfomance Primitives
GPU4VISION
GpuCV
OpenVIDIA
Другие
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
15
16. Only for
Maxus
GpuCV
Задача – реализовать примитивы OpenCV
на GPU
Предоставляет CPU, OpenGL, CUDA
реализации примитивов
Открытый код и кроссплатформенность
Три варианта выбора реализации:
Принудительный выбор
Выбор наиболее производительной архитектуры
Выбор по статистике
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
16
17. Only for
Maxus
GpuCV
В состав входят:
преобразования цветовых форматов
вычисление краев объектов, морфология
дискретные преобразования (FFT, DCT)
геометрические преобразования
гистограммы
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
17
18. Only for
Maxus GpuCV
Оператор Собеля
http://en.wikipedia.org/wiki/Sobel_operator
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
18
19. Only for
Maxus GpuCV
Оператор Собеля
мкс.
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
19
20. Only for
Maxus GpuCV
Deriche Filter
мкс.
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
20
21. Only for
Maxus
Содержание
Введение
Nvidia Perfomance Primitives
GPU4VISION
GpuCV
OpenVIDIA
Другие
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
21
22. Only for
Maxus
OpenVidia
Open-source проект
Реализует новейшие алгоритмы
компьютерного зрения
Содержит эффективно реализованные и
отпрофилированные алгоритмы
На сайте проекта собирается информация об
алгоритмах компьютерного зрения
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
22
23. Only for
Maxus
OpenVidia
Включает в себя:
Optical Flow
Feature Detection & Tracking
настраиваемую свертку небольших радиусов
детектор краев и медианный фильтр
построение гистограмм
геометрические и афинные преобразования
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
23
24. Only for
Maxus OpenVidia:
Feature Detection & Tracking
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
24
26. Only for
Maxus
CUDA VisionWorkbench
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
26
http://openvidia.sourceforge.net/index.php/OpenVIDIA
27. Only for
Maxus
CUDA VisionWorkbench
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
27
http://openvidia.sourceforge.net/index.php/OpenVIDIA
28. Only for
Maxus
Содержание
Введение
Nvidia Perfomance Primitives
GPU4VISION
GpuCV
OpenVIDIA
Другие
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
28
29. Only for
Maxus CUDA Data Parallel
Primitives Library
Открытая библиотека алгоритмов-примитивов:
Префиксная сумма
Сортировка
Редукция
Генерация случайных чисел
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
29
30. Only for
Maxus CUDPP:
Сортировка
“Designing Efficient Sorting Algorithms for. 30
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
Manycore GPUs”. Nadathur Satish., 2009
31. Only for
Maxus CUDA-based Pedestrian
Detection
Проект с открытым кодом, основанный на
ранних разработках MIT
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
31
http://code.google.com/p/cudapeddet/
32. Only for
Maxus
GPU Wire
Проект интерактивной сегментации с открытым
кодом. Предлагает
инструмент, схожий с
лассо Adobe Photoshop
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
32
http://code.google.com/p/gpuwire
33. Only for
Maxus
Список литературы
1. http://gpu4vision.icg.tugraz.at/ GPU4VISION project
2. http://www.youtube.com/user/gpu4vision GPU4VISION„s channel
3. http://server.cs.ucf.edu/~vision/MinGPU/ MinGPU project
4. http://openvidia.sourceforge.net/index.php/OpenVIDIA OpenVIDIA
5. http://www.nvidia.com/object/npp.html NVPP project
6. http://www.itlab.unn.ru/?dir=174 Сравнение NPP и IPP, проект ITLab
7. https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/GpuCV GpuCV
8. http://code.google.com/p/cudapeddet/ CUDA implementation of
pedestrian detection algorithm, MIT Project
9. http://gpgpu.org/developer/cudpp CUDA Data Parallel Primitives Library
10. http://code.google.com/p/gpuwire/ Gpu Wire project
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
33
34. Only for
Maxus Лаборатория компьютерной
графики и мультимедиа
Видеогруппа это:
Выпускники в аспирантурах Англии,
Франции, Швейцарии (в России в МГУ и
ИПМ им. Келдыша)
Выпускниками защищено 5 диссертаций
Наиболее популярные в мире сравнения
видеокодеков
Более 3 миллионов скачанных фильтров
обработки видео
CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/
34