基于Android 的菌类识别APP 的研发
2020-04-27张涵钰
张涵钰 赵 平
(天津农学院 计算机与信息工程学院,天津 300384)
1 菌类识别现状分析
在国内这几年,中国农业大学于新文教授对图像的研究取得了较为明显的进步,于新文教授主要采用相似距离分类法、二差分类法以及判别模型分类法三种方法对相关数字图像的识别进行钻研,在待识别目标图像极其规范的情况下有着极高的识别精准度。
在国外,美国新墨西哥州立大学哈比卜·加苏米和纳迪普拉萨德教授等人利用人工神经网络对棉花生态系统中的昆虫进行分类识别。他们根据数学形态学中的基本理论对图像进行膨胀与腐蚀操作,以达到对图像进行分割的目的,最终成功实现了对生态系统中的植物进行识别[1]。
虽然现如今的图像识别技术已经有了显著的发展,但是还没有一个专门用于菌类识别的应用技术去帮助人们了解想要了解的菌类的对应情况,来区分哪些菌类可食用,而那些菌类不可食用。
2 菌类识别技术研究
通过运用现如今的已经趋近成熟的图像处理技术,举一反三实现菌类识别,其中具体方法如图1 所示。
2.1 图像识别技术流程
图1 图像识别技术流程示意图
通过对图像识别技术的研究,使机器具有视觉能力,然后直接对接收到的视觉信息进行处理,并行反馈处理。图像识别过程首先需要从外界获取目标图像。 这一过程通常称为图像采集,它可以通过使用摄像机、摄像机等图像采集设备实现,然后根据图像识别模式对采集到的图像进行处理,在图像识别过程中称为图像预处理,预处理后的图像去除源图像中的冗余信息,保存图像的主要特征,最后选择图像的主要特征形成相应的信息映射和信息存储在信息库中进行比较,最终实现图像识别[1]。
2.2 菌类识别技术详细研究
在中国,大约有180 种毒蕈,其中至少有30 种可以导致死亡。一般来说,有毒菌的颜色比较鲜艳,菌帽上可能会有突起,红点,沟渠和裂缝,有的菌子上有菌托、菌环,因此此次项目可以利用这些真菌的特征信息来识别真菌,而图像特征识别的步骤包括图像预处理、图像特征提取、图像识别分类三个步骤。
2.2.1 图像预处理
预处理是真菌鉴定过程中的重要环节。 由于图像采集环境的不同,如光照程度和设备性能等因素,输入图像往往存在噪声和对比度低等缺点。
因此菌类识别的预处理如下:a. 一幅图像在实际应用过程中可能存在各种各样的噪声,这些噪声可能是在传输或量化过程中产生的。菌类图像也是一样,在采集过程中会产生各种噪声,所以必须进行去噪处理。b.去除背景,即将真菌从背景中分离出来,形成二值图像进行边缘检测和形状特征参数计算。c.真菌图像经过去噪和背景去除后,可能仍会存在一些孤立的噪声点,或者由于所选取的菌类本身受到过害虫侵蚀而导致在其内部有一些孔洞,这些都会影响菌类特征参数的准确计算。因此有必要对去除背景后的图像进行膨胀运算,然后进行腐蚀运算,经过多次处理,从而消除孤立的噪声点和内部孔洞,得到完整、准确的真菌二值图像。
2.2.2 图像特征提取
由于自然界中的菌类具有不同的形状与颜色,因此这些特征都可以作为菌类分类的依据。
颜色是菌类的一个重要性状特征,因为HSI 颜色模型更符合人类的颜色视知觉,因此我们使用HSI 颜色模型的色度(Hue)表示菌类的颜色特征不同的形状特征为菌类识别提供分了分类依据。考虑到一些菌类菌帽呈扇形、一些菌帽形雨伞形等特征情况,我们选用致密度和三个不变矩等特征建模菌类的形状特征,其计算方式如下[3]:
2.2.3 基于SVM的图像识别分类
SVM 是一种基于结构风险最小化原则的可训练的通用机器学习方法,简单概括来说的话,它只是一个分类器。支持向量机方法的原理即简单的线性化和增维过程。在线性可分离情形下,从最优分类超平面发展出支持向量机。如图2 所示,空心点和实心点表示两种类型的样本,H 是H 维分类超平面,H1 和H2 分别为过各类点且离分类超平面举例最近且平行于H 的超平面。最优分类超平面理论要求分类超平面在正确分开两类的基础上最大化分类区间。
图2 SVM 解释图
在得到含有真菌颜色和形状特征的五维向量后,将这些特征作为真菌分类方法的输入向量进行真菌鉴定。由于支持向量机(SVM)分类法具有非线性分类及良好的泛化性能,在模式识别领域是最具影响力的方法,所以此次项目选用SVM作为菌类的分类方法,在核函数上选择径向基核,因为它具有非线性分类性能和鲁棒的性能。
2.2.4 研究效果
选择5 种不同的真菌,每种真菌随机选取30 个特征值作为训练数据,其余的20 个特征值作为测试数据。在训练模型中,利用五折交叉验证对训练模型进行优化(训练样本分为5 组,随机选择4 组进行训练,1 组进行模型性能测试),选择最优SVM惩罚参数c 和径向基中的g[3]。
表1 基于径向基SVM 的菌类分类性能
效果测试显示此次项目所研究的菌类识别技术对于不同菌类的识别准确率较高,此方法具有一定科学效应。
3 菌类识别技术区别于其他识别技术
在此仅将菌类识别技术与人脸识别技术与指纹识别技术进行对比,对比情况具体如下:
菌类识别技术没有人脸识别的技术复杂,由于人脸的差异性不大,甚至有双胞胎相貌相同等情况,所以人脸识别的预处理和特征提取的算法要比菌类识别的算法更加复杂,而菌类识别技术则是仅仅对真菌的形状与颜色作为特征提取。
其实菌类识别技术与指纹识别技术根据有相似性,都是通过把一个现场采集到的图像与一个已经登记录入系统的图像进行一对一的比对来确定身份的过程,但是,两者的区别是指纹识别使用不同的数字化算法在指纹图像上找到并比对指纹的特征,人们的十个手指产生最少4900 个独立可测量的特征,指纹识别所提取的特征点更多也因此更加准确。
对比来看,如今项目所研究的菌类识别技术还处于初步阶段,与现已成熟的热门识别技术相比,菌类识别技术还太简单,在后续的工作中需要对菌类识别技术进行不断地更新完善。
4 讨论
4.1 菌类识别技术的优点
菌类识别APP 的开发使得人们的生活更加快捷方便,其中主要特点列举如下:
4.1.1 让人们可以以快捷的方式学习相关的菌类知识
4.1.2 减少了人们误食毒蘑菇的风险
4.1.3 摆脱了过往只能输入名称查百度词条的方法
所有的科技发展都是为了使人们的生活更加方便快捷,我们此次对于菌类识别APP 的开发也是以此目的出发,帮助人们摆脱菌类盲区。
4.2 菌类识别技术的缺点
2017 年的一篇报道显示:“目前有一款号称使用‘革命性的AI’来识别蘑菇的APP,微生物学博士c(Colin Davidson)解释说,用户不能通过外观识别APP来识别蘑菇,比如可致病的亮黄蘑菇在外观上和可食用的马菇外观非常类似,用户把它拿起来触摸外观或者闻它们的味道,需要从多角度观察和判断才行”。
这是此次项目开发菌类识别APP的一个显著问题,毕竟识别菌类不是简单地通过图像识别就能识别出所有的菌类,有些菌类可能还需要通过其生长环境和气味等等各种情况来辨别,而现在所研究的菌类识别却只是将形状与颜色作为识别特征,很多菌类仍无法识别,只能将现时期的菌类识别APP当作一个“识别蘑菇的粗略指南”。
在后续的菌类识别开发中可以将菌类的生长环境也纳入特征识别当中,使得菌类识别的技术更加完善,成为一个真正能识别所有菌类的APP。