Flame
-
Количество публикаций
34 -
Зарегистрирован
-
Посещение
-
Days Won
1
Сообщения, опубликованные пользователем Flame
-
-
А не подскажите можно ли построение модели маркова выполнить с использованием видеокарты?
Должно ведь быстрее быть поидее
-
Да читал я хабр, непойму как вектора по состояниям распределяются, и что дальше делается )
Можешь по коду пояснить?
obsInfoVec[ i ] = cvCreateObsInfo( noObs, obsVecLen ); - вот это я так понял вектора создаются.
а дальше чета не секу, наверное придется отладчиком до посинения смотреть че как считается )))
-
А обьясните на пальцах как работают эти марковские модели я понял только что по изображению окно бегает, и что для каждого пикселя в этом окне строится вектор.
-
Спасибо! потестировал еще и понял что с марковскими моделями меньше ошибок распознавания
-
Smorodov, Привет!
Подскажи, вот там есть в алгоритме такой код с подавлением первого коэффициента: (это у меня под си шарп переделано уже, но суть не в этом)
if( SUPPRESS_INTESITY ) { float[] observations = new float[noObs.height * noObs.width * ( obsVecLen + 1 ) ]; hmm.cvlib.cvImgToObs_DCT(iplImg, observations, dctSize, noDCTCoeff, stepSize); ExtractDCT(observations, obsInfoVec[i].obs, noObs.height * noObs.width, obsVecLen); // Подавляем первый коэффициент ДКП // Очистка if (observations != null) { observations = null; } }
Вобщем функция cvImgToObs_DCT работает долго если загрузить фотки хотябы 640 на 480 к примеру, потому как массив float[] observations становится очень большим.
Тот же eigenface работает быстрее намного
Вот пример фото
1. Нужно ли выделять лицо для алгоритма HMM ? с eigenface итак нормально работало без выделения лица. (причем если не выделять лицо HMM у меня иногда ошибки распознавания выдает)
2. Алгоритм так и должен дольше обучаться с большими фотками чем eigenfaces? или можно как то ускорить его? Хотя он даже с маленькими фотками теми что у тебя в программе дольше учиться. Поигрался с параметрами обучения пока ускорить не вышло особо.
С исходным примером в архиве HMMFacesAlpha0_1.zip пока не разобрался, немогу скомпилировать его под студию, хотел посмотреть как оно там будет, но код вроде 1 в 1
3. И есть ли какие то преимущества скрытых марковских моделей перед eigenface?
-
Smorodov, прошу прощения, не прочитал что там у вас реализация в отдельном потоке, сейчас буду разбираться, спасибо вам!
-
Не советую использовать для этого таймер, ибо в карте сообщений системы он стоит самый последний, лучше для этого организовать отдельный поток.
Подскажите как это реализовать? Без таймера используя OpenCV как сделать захват кадров? WaitKey не предлагать.
Есть такой код: (Вариант 1)
private void button6_Click(object sender, EventArgs e) { CvCapture capture = CvCapture.FromCamera(0); CvWindow windowCapture = new CvWindow("SampleCapture"); while (CvWindow.WaitKey(33) < 0) { pictureBox1.Image = capture.QueryFrame().ToBitmap(); } }
Изображение выводится на форму но и окно появляется ненужное. И изображение чуть дерганое. Изменяем код на такой: (Вариант 2)private void button6_Click(object sender, EventArgs e) { CvCapture capture = CvCapture.FromCamera(0); //CvWindow windowCapture = new CvWindow("SampleCapture"); while (CvWindow.WaitKey(33) < 0) { pictureBox1.Image = capture.QueryFrame().ToBitmap(); pictureBox1.Refresh(); } }
Изображение вроде как плавнее становится, но и проц программа сильнее юзает, ибо pictureBox1.Refresh() в цикле видимо не есть хорошо, к тому же окно с программой перестает реагировать на события от мышки, тоесть сделать с ним ничего нельзя. Вариант с таймером:CvCapture capture; private void button6_Click(object sender, EventArgs e) { capture = CvCapture.FromCamera(0); timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { pictureBox1.Image = capture.QueryFrame().ToBitmap(); }
Изображение так же чуть дерганое как в первом варианте.
А как сделать отдельный поток? Или в отдельном потоке будет свой таймер?
Использую OpenCVSharp, но это тут непринципиально, просто хочу понять принцип как в отдельном потоке сделать
Распознавание лиц HMM (Скрытые марковские модели)
в OpenCV
Опубликовано · Report reply
Да у меня вот диссертация по распознаваниям лиц, нада научную новизну ну вот я и подумал про такое
А еще думаю может сделать какой нибудь алгоритм подстройки входных параметров для создания марковских моделей.