Я использую CvSVM для классификации только двух типов выражения лица. Я использовал гистограмму LBP (Local Binary Pattern) для извлечения функций из изображений и обучался с использованием cvSVM::train(data_mat,labels_mat,Mat(),Mat(),params)
, гдеCvSVM.predict() дает выход «NaN» и низкую точность
data_mat имеет размер 200x3452, содержащий нормированную гистограмму (0-1) 200 образцов в основной форме строки с 3452 особенностью каждого (зависит от числа точек окрестностей)
labels_mat является соответствующей матрицей меток, содержащей только два значения 0 и 1. параметров:
CvSVMParams PARAMS;
params.svm_type =CvSVM::C_SVC;
params.kernel_type =CvSVM::LINEAR;
params.C =0.01;
params.term_crit=cvTermCriteria(CV_TERMCRIT_ITER,(int)1e7,1e-7);
Проблема заключается в том, что: -
во время тестирования я получаю очень плохой результат (около 10% -30% точности), даже после применения с различным ядром и функцией train_auto().
CvSVM::predict(test_data_mat,true)
дает 'NaN' выход
Я очень ценю любую помощь в этом, это заставило меня в тупик.