“数字图像处理”课程中机器学习原理演示和实验系统研究

2018-07-09 09:00鸿,张
无线互联科技 2018年13期
关键词:数字图像处理训练样本鼠标

杜 鸿,张 敏

(成都信息工程大学 通信工程学院,四川 成都 610225)

随着人工智能技术的发展,机器学习技术在智能化图像处理领域获得越来越普遍的应用,企业发展和技术升级迫切需要大量具备机器学习工程能力的人才,另一方面,学生解决复杂工程问题能力还是工程教育认证标准[1]中的首要因素。由于机器学习算法涉及抽象的数学过程,而传统教学方式主要通过公式推导来讲解其工作原理,本科生普遍反映不易理解,更难将其与工程应用衔接起来。

在教育部-英特尔产学合作专业综合改革项目的“数字图像处理与通信”课程建设中,我们给本科生机器学习目标的定位为:理解机器学习算法的分类依据和训练过程,突出强调运用成熟应用程序编程接口(Application Programming Interface,API)解决现实工程问题。针对这一目标,本文使用开放机器视觉库OpenCV中的机器学习API和Windows MFC界面框架,设计并开发了一个教学演示和实验系统。系统实现了支持向量机(Support Vector Machine,SVM)、贝叶斯(Bayes)和人工神经网络(Artificial Neural Network,ANN)等3种算法的训练和识别流程,学生可通过点击鼠标来创建数据样本集,选择机器学习算法进行训练和识别,结果被直观地显示在界面上。系统算法程序封装在线程结构体中,学生可方便地将算法程序导出到自己的机器学习软件工程中去解决实际工程问题。

1 系统体系结构和功能

教学演示和实验系统使用C++语言和OpenCV库开发,运行在Windows环境中,人机交互界面如图1所示。系统体系结构和功能描述如下。

1.1 算法原理展示

SVM[2]算法将训练数据视为高维超平面中的数据集,基于结构风险最小化准则,通过学习获得正负模式之间空白最大的判决函数;Bayes[3]算法通过概率密度函数对数据进行分类;ANN[4]算法参照生物神经元模型通过网格化神经元结构体对数据进行训练和分类。算法原理展示内嵌在本系统中,其中ANN原理如图2所示。

图1 人机交互界面

图2 算法原理展示

1.2 数据样本创建

机器学习算法需要使用经过标记的训练样本对算法进行训练;系统使用字母a,b,c...作为样本类标记,屏幕坐标(x, y)作为样本参数,操作者通过点击鼠标就能生成一个适用于机器学习算法的训练样本集。图1黑底图像区域显示了使用鼠标创建的一个训练样本集示例。

1.3 训练结果可视化

每个机器学习算法都有不同的工作模式或核函数,可视化训练结果有助于学生理解工作模式和核函数对算法性能的影响。图3a是使用SVM算法的支持向量分类器(C_SVC),线性核函数(LINEAR)训练后的可视化结果;图3b是卡方函数(CHI2)训练后的可视化结果。

图3 SVM的可视化训练结果

1.4 分类过程

训练完毕后,程序进入分类模式,在界面上点击鼠标,等效于输入新数据,此时机器学习分类器将根据训练结果对新数据进行分类,分类结果突出显示在界面上。图4a是使用3层后向传播神经网络训练结果,图4b中是点击鼠标后的分类结果显示,3个突出显示的鼠标点分别被分类为[a],[b],[c],分类结果符合训练样本集的特征。

图4 ANN的可视化训练结果和分类结果

2 结语

针对图像处理领域机器学习这一抽象难懂的知识模块,设计开发了一个直观的演示和实验系统,学生可方便地创建自己的数据集,对其进行训练和分类,并可调谐算法参数以揭示算法在不同参数下的表现。近几年的教学实践证明,该教学演示和实验系统在提升学生对机器学习算法理解方面有较好效果,尤其是在衔接机器学习算法与工程应用方面有显著作用。

[1]中国工程教育专业认证协会.通用标准[EB/OL].(2017-11-05)[2018-05-04].http://ceeaa.org.cn/main!newsList4Top.w?menuID=01010702.

[2]OpenCV.Introduction to Support Vector Machines[EB/OL].(2014-10-26)[2018-05-04].https://docs.opencv.org/3.0-beta/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html.

[3]PAWEL C.Naïve Bayes classifier[EB/OL].(2014-06-06)[2018-05-04].http://www.cs.ucr.edu/~eamonn/CE/Bayesian%20 Classification%20withInsect_examples.pdf.

[4]OpenCV. Neural Networks[EB/OL].(2014-08-08)[2018-05-04].https://docs.opencv.org/2.4/modules/ml/doc/neural_networks.html.

猜你喜欢
数字图像处理训练样本鼠标
Progress in Neural NLP: Modeling, Learning, and Reasoning
人工智能
信息与计算科学专业《数字图像处理》课程教学探讨与实践
宽带光谱成像系统最优训练样本选择方法研究
微课在大学专业课中的应用研究
融合原始样本和虚拟样本的人脸识别算法
以应用实例为主线、以程序设计为主导的数字图像处理课程教学方法改革
基于稀疏重构的机载雷达训练样本挑选方法
超能力鼠标