Детекция объектов и человеческих тел
В этом разделе вы узнаете, как интегрировать детектор человеческого тела и детектор объектов в ваш проект C++.
#
Детекция тел (C++)#
Требования- Операционная система Windows x86 64-bit или Linux x86 64-bit.
- Установлен пакет Face SDK windows_x86_64 или linux_x86_64 (см. Начало работы).
#
1. Создание Human Body Detector1.1. Для создания Human Body Detector, выполните шаги 1-3, описанные на странице Создание процессинг-блока и укажите следующие значения:
"HUMAN_BODY_DETECTOR"
для ключа"unit_type"
;- путь до файла модели Human Body Detector для ключа
"model_path"
.
1.2. Создайте процессинг-блок Human Body Detector:
#
2. Детекция тела2.1. Создайте Context-контейнер ioData
для данных ввода-вывода, используя метод createContext()
:
2.2. Создайте Context-контейнер imgCtx
с RGB-изображением, выполнив шаги, описанные на странице
Создание контейнера Context c RGB-изображением.
2.3. Поместите исходное изображение в контейнер данных ввода-вывода:
2.4. Вызовите bodyDetector
и передайте Context-контейнер ioData
, содержащий исходное изображение:
Метод bodyDetector()
добавит результат обработки сэмплов (изображений) в контейнер ioData
.
Формат выходных данных представляет собой список объектов, доступный по ключу "objects"
.
Каждый объект списка имеет ключ "class"
со значением "body"
.
Ключ "bbox"
(bounding box) содержит массив из 4-х чисел типа double {x1, y1, x2, y2}
которые являются относительными координатами исходного изображения.
Ключ "score"
содержит число типа double в диапазоне [0,1].
Используйте следующий код для получения результата детекции тел и отрисовки результата на исходном изображении:
#
3. Ускорение на GPUHuman Body Detector может быть использован с ускорением на GPU (CUDA). Более подробная информация в разделе Ускорение на GPU.
#
Детекция объектов (C++)#
Требования- Операционная система Windows x86 64-bit или Linux x86 64-bit.
- Установлен пакет Face SDK windows_x86_64 или linux_x86_64 (см. Начало работы).
#
1. Создание Object Detector1.1. Для создания Human Body Detector, выполните шаги 1-3, описанные на странице Создание процессинг-блока и укажите следующие значения:
"OBJECT_DETECTOR"
для ключа"unit_type"
;- путь до файла модели Object Detector для ключа
"model_path"
.
1.2. Создание Object Detector:
#
2. Детекция объектов2.1. Создайте Context-контейнер ioData
для данных ввода-вывода, используя метод createContext()
:
2.2. Создайте Context-контейнер imgCtx
с RGB-изображением, выполнив шаги, описанные на странице
Создание контейнера Context c RGB-изображением.
2.3. Поместите исходное изображение в контейнер данных ввода-вывода:
2.4. Вызовите objectDetector
и передайте Context-контейнер ioData
, содержащий исходное изображение:
Метод objectDetector()
добавит результат обработки сэмплов (изображений) в контейнер ioData
.
Формат выходных данных представляет собой список объектов, доступный по ключу "objects"
.
Каждый объект списка имеет ключ "class"
со значением, соответсвующим классу задетектированного объекта.
Ключ "bbox"
(bounding box) содержит массив из 4-х чисел типа double {x1, y1, x2, y2}
которые являются относительными координатами исходного изображения.
Ключ "score"
содержит число типа double в диапазоне [0,1].
Используйте следующий код для получения результата детекции объектов и отрисовки результата на исходном изображении:
#
3. Ускорение на GPUObjects Detector может быть использован с ускорением на GPU (CUDA). Более подробная информация в разделе Ускорение на GPU.