wangdaren 2019-08-15
SVM是一种训练机器学习的算法,可以用于解决分类和回归问题,同时还使用了一种称之为kernel trick(支持向量机的核函数)的技术进行数据的转换,然后再根据这些转换信息,在可能的输出之中找到一个最优的边界(超平面)。简单来说,就是做一些非常复杂的数据转换工作,然后根据预定义的标签或者输出进而计算出如何分离用户的数据。
支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力)。
本文将使用OpenCV的SVM算法来训练文字识别模型(中文文字识别,数字识别,字母识别等)原始训练模型:
原始数据已经共享到百度云盘
直接回复: OpenCV模型
可获取原始数据
模型训练:
1、初始化识别图片
2、图片预处理
3、图片核函数处理
4、建立模型
5、使用原始数据训练模型
5.1 初始化训练
Config.js已经分享到百度云盘
直接回复: OpenCV模型
可获取配置文件
5.2 训练模型(数字字母)
5.3 训练模型(汉字)
6、保存模型
模型训练完成后,我们把训练好的模型保存下来以便后期无需再次训练,直接使用训练好的模型
7、主函数入口,开始训练整个模型
以上便是整个OpenCV SVM的训练模型的整个过程,当然你也可以搜集自己的数据,训练自己的模型,待模型训练完成后,便可以使用训练好的模型,进行图片文字的识别了
本期使用的原始数据便是车牌识别所需要的数据,我们训练了车牌上的数字,字母,以及省份的汉字,下期,我们将利用训练好的模型,对车牌进行识别
Ps:小编的微信公众号正式上线了,
微信搜索公众号:启示AI科技
可以在上面体验不同的AI工具哟
附件
本期基于SVM算法,训练了模型,下期使用模型,进行识别