opencv3——ANN算法的使用
生活随笔
收集整理的這篇文章主要介紹了
opencv3——ANN算法的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近剛轉(zhuǎn)用opencv3,使用ANN算法時遇到了一些問題,記錄下來。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)的代碼如下:
?
//創(chuàng)建ANN Ptr<ANN_MLP> bp = ANN_MLP::create();設(shè)置層數(shù)時,要注意:例子的數(shù)量要和標(biāo)簽的數(shù)量相同
第一項為圖片的像素數(shù),最后一項為訓(xùn)練的種類數(shù)
//設(shè)置層數(shù)Mat layerSizes = (Mat_<int>(1, 4) << image_rows*image_cols, int(image_rows*image_cols / 2), int(image_rows*image_cols / 2), class_num);bp->setLayerSizes(layerSizes);?
bp->setActivationFunction(ANN_MLP::SIGMOID_SYM, 1, 1);void setActivationFunction(int _activ_func, double _f_param1, double _f_param2 );bp->setTermCriteria(TermCriteria(TermCriteria::MAX_ITER + TermCriteria::EPS, 300, FLT_EPSILON));bp->setTrainMethod(ANN_MLP::BACKPROP, 0.001);Ptr<TrainData> tData = TrainData::create(DataMat, ROW_SAMPLE, labelsMat);bp->train(tData); float response = ann->predict(testMat);?
?
?
?
?
//加載分類器時,使用以下任意一個即可 Ptr<ANN_MLP> bp = StatModel::load<ANN_MLP>("*.xml"); Ptr<ANN_MLP> bp = ANN_MLP::load<ANN_MLP>("*.xml"); Ptr<ANN_MLP> bp = Algorithm::load<ANN_MLP>("*.xml");?
不知道為什么,我使用opencv3的ANN算法 跟opencv2中的算法識別結(jié)果差距很大(2識別結(jié)果大致正確,3識別結(jié)果完全不對),參數(shù)完全相同時結(jié)果差距也很大,不知道要怎樣解決。
總結(jié)
以上是生活随笔為你收集整理的opencv3——ANN算法的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习笔记 - StringI
- 下一篇: Loader用法