Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Loks
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 14
#1

Большая загрузка при распознавании лиц с камеры - C++

08.07.2014, 15:40. Просмотров 623. Ответов 3
Метки нет (Все метки)

Всем привет. почти закончил писать программу и столкнулся с такой проблемой.
Есть кусок когда, который отвечает за распоознование лиц с камеры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Faces(IplImage* frame1)
{
    CascadeClassifier face_cascade("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml");
    Mat frame = frame1;
 
    Mat frame_gray;
    cvtColor(frame,frame_gray,CV_BGR2GRAY);
 
    std::vector<Rect> faces;
    face_cascade.detectMultiScale( frame_gray, faces, 1.05, 3, 0|CV_HAAR_SCALE_IMAGE, Size(30, 90) );
 
    for ( size_t i=0; i<faces.size(); i++ )
        rectangle( frame, faces[i], Scalar( 255, 0, 255 ), 2 );
 
    imshow("Faces",frame);
 
}
Вот эта функция
C++
1
2
3
4
5
6
7
8
void CascadeClassifier::detectMultiScale(
    const Mat& image, 
    vector<Rect>& objects, 
    double scaleFactor=1.1,
    int minNeighbors=3, 
    int flags=0, 
    Size minSize=Size(),
    Size maxSize=Size() )
Очень сильно тормозит воспроизведение видеопотока. а конкретно виноват параметр "Size maxSize=Size()". Чем больше максимальное значение, тем меньше нагрузка, но соответственно хуже ищет лица. Оптимальное значение для поиска Size(30, 30), но тогда получается какое-то слайд-шоу.
И вопрос такое, можно как нибудь выделить больше памяти или освободить память, что бы увеличить быстродействие?
Так как в будущем в придется обрабатывать массивы информации, то проблема достаточно актуальна.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 15:40     Большая загрузка при распознавании лиц с камеры
Посмотрите здесь:

сравнение двух лиц людей C++
Распознавание лиц с OpenCv C++
Полная загрузка при невидимом TCppWebBrowser C++ Builder
C++ WinAPI Загрузка ядер при паралельных вычислениях
Visual C++ Алгоритм распознавания лиц в openCV
C++ Ввести и вывести список лиц по заданному возрасту
C++ Найти фамилию младшего из введенных лиц
Нахождение лиц в кадре C++
C++ Найти среднее арифметическое зарплат всех указанных лиц
Большая погрешность при подсчете интеграла методом трапеций C++
C++ Антагонистические игры двух лиц, програмама не проходит 3 тест
C++ Builder Черный экран при снимке с веб камеры

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
444 / 293 / 20
Регистрация: 22.03.2011
Сообщений: 957
Завершенные тесты: 2
08.07.2014, 16:24     Большая загрузка при распознавании лиц с камеры #2
Познать дзен будизм и засеть за книги по gpu, multithreading, algorithm and optimization. И когда наступит просветление, и только и тогда, приступить к кодированию. И это без шуток.
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
08.07.2014, 17:02     Большая загрузка при распознавании лиц с камеры #3
Цитата Сообщение от Loks Посмотреть сообщение
И вопрос такое, можно как нибудь выделить больше памяти или освободить память, что бы увеличить быстродействие?
Можно не обрабатывать каждый кадр. А в целом - присоединяюсь к предыдущему совету.
OstapBender
582 / 520 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
19.07.2014, 18:51     Большая загрузка при распознавании лиц с камеры #4
у вас не очень сильная конфигурация машины? каскады Хаара по идее не должны занимать много времени и в реал тайме лично у меня всегда отрабатывали.
а по сабжу:
совет номер 1: промасштабируй изображение перед обработкой, например в 1.5 раза вниз.
совет номер 2: возьми (найди в интернете или натренируй) более простой каскад, в котором будет меньше уровней чем в стандартном который ты используешь, он будет отрабатывать быстрее
совет номер 3: используй LBP-классификатор, он на данный момент один из наиболее производительно нетребовательных. (по-моему для лиц должен быть стандартный - проверь)
Yandex
Объявления
19.07.2014, 18:51     Большая загрузка при распознавании лиц с камеры
Ответ Создать тему
Опции темы

Текущее время: 15:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru