利用机器学习算法对图像中的对象进行分类
根据机器学习算法从输入数据中进行学习的方式,
- 监督学习:
- 无监督学习:
- 强化学习:
把机器学习算法得到的结果分为
- 分类
- 回归
- 聚类
- 密度估计
在此使用监督学习和分类方法,
利用算法:
Opencv的StatModel类中实现了这八种算法
支持向量机(SVM)
人工神经网路
期望最大化
逻辑回归
k - 最近邻
决策树
随机梯度下降SVM
朴素贝叶斯分类器
深度学习
机器学习中,最耗时的是训练过程,建议保存训练好的模型和已经学习过的所有参数
train负责使用训练数据集学习模型参数的主要方法
// 三种调用方法
bool train(const Ptr<TrainData>& trainData,
int flags = 0);
bool train(InputArray samples,
int layout,
InputArray responses);
Ptr<_Tp> train(const Ptr<TrainData>& data,
int flags = 0);
参数介绍
- TrainData
- samples
- layout
- responses
- flags
float StatModel::predict(InputArray samples,
OutputArray result = noArray(),
int flags = 0)
参数介绍
- samples
- results
- flags