Маркировка в МЛП

У меня есть проблема с маркировкой на MLP, сначала я подумал, что это будет то же самое, что и маркировка SVM, но после попытки кода ниже:

 Mat labels(numSamples, 3 , CV_32FC1, Scalar(3,0));
labels.rowRange(0, numcar - 1) = Scalar (1.0);
labels.rowRange(numcar, numcar + numbus - 1) = Scalar (2.0);
labels.rowRange(numcar + numbus, numSamples) = Scalar (3.0);

решить, что прогнозы на одно и то же значение, даже если мне пришлось заменить изображение на другое изображение. После того, как я искал, оказалось, что есть разница. Метка должна использовать вектор, я не знаю, как маркировать его с помощью векторов, потому что я новичок в этом случае.
ниже приведен код для обучения

 Mat layers = Mat(4, 1 ,CV_32SC1);
int sz = data.cols;
layers.row(0) = Scalar(sz);
layers.row(1) = Scalar(10);
layers.row(2) = Scalar(10);
layers.row(3) = Scalar(3);
CvANN_MLP mlp;
CvANN_MLP_TrainParams params;
CvTermCriteria criteria;
criteria.max_iter = 1000;
criteria.epsilon  = 0.0001;
criteria.type     = CV_TERMCRIT_ITER | CV_TERMCRIT_EPS;
params.train_method    = CvANN_MLP_TrainParams::BACKPROP;
params.bp_dw_scale     = 0.5f;
params.bp_moment_scale = 0.5f;
params.term_crit       = criteria;
mlp.create(layers, CvANN_MLP::SIGMOID_SYM);
mlp.train(data , labels ,Mat(),Mat(),params);

и прогнозы

Mat response(1, 3, cv_32FC1);
mlp.predict (sample, response);
cout << response << endl;

Я здесь хочу маркировать автомобили, автобусы и грузовики.
Помогите мне решить эту проблему, спасибо за внимание

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]