文/吴莹莹 宋爱环 王英俊 刘童 刘洪军 贾世祥 岳峻 何乃叶 李志伟
作者单位:1.山东省海洋科学研究院 青岛市海洋生物种质资源挖掘与利用工程实验室 2.鲁东大学 3.山东省农业交流合作中心
通过采集贝类样本图像建立贝类图片样本库,并对库内图片进行预处理,使其适用于机器学习算法,然后利用深度学习的方法获得每种贝类的外形特征,进而开展分类识别,识别准确率可达到80%以上。通过配套开发的贝类识别手机软件,可将手机拍摄的贝类图片上传至服务器端,并在3秒钟内将识别结果反馈给手机用户,同时推送相关贝类科普知识。该技术的应用与推广,对面向公众开展水产科普与水生动物保护等工作大有裨益。
随着大数据和人工智能的发展,计算机技术应用领域不断拓展。运用计算机技术判别生物种类受到大众的青睐,比如形色、花伴侣等识别陆地植物软件,被大家广为接受普遍应用。习近平总书记在2016年的“科技三会”上强调:“科技创新、科学普及是实现创新发展的两翼,要把科学普及放在与科技创新同等重要的位置”。开展科普的手段很多,文字图片、多媒体、人工智能交互等现代手段都可以实现富有成效的科学传播。那么,海洋生物鉴别与水产科学知识普及除了传统的方法外,可否通过更智能化的手段实现?我们选取海洋贝类作为首期研究对象,探索了基于计算机视觉的贝类智能化识别系统技术研发。
中国是世界贝类多样性最丰富的国家之一,贝类形态千姿百态,虽然每种贝类都有其独特的壳型和壳色特征,但总体外形相似,普通人甚至专业人士仅通过肉眼观察很难精确判别其种类,若通过实验室鉴别,又耗时太长,不能实现实时认知。因此,本项目尝试应用计算机视觉技术,研发贝类识别系统和手机APP,方便使用者随时对身边的贝类进行在线识别,并将“识贝、赏贝、爱贝”有机结合,激发大众热爱、保护海洋生物的意识,提升海洋文化素养。
贝类形貌特征识别技术是典型的图像分析、图像理解与分类问题,对这一问题的深入研究与解决涉及到模式识别、图像处理与分析、计算机视觉、人工智能、人机交互、计算机图形学等诸多学科的理论知识。本系统构建方法为:采集我国沿海常见贝类样品,经预处理得到完整的贝壳;采集贝壳图像建立贝类图片数据库;对图片进行缩放、增强、去噪、分割等预处理使其适用于机器学习算法;利用深度神经网络获得每种贝类贝壳的特征,进而完成智能识别;开发手机APP,实现对贝类的实时在线识别(图1)。
图1 贝类识别系统识别流程图
通过海边采集、码头和市场采购等多种方式尽可能多的采集贝类样品,在实验室经过清洗、去肉等处理后,挑选完整的贝壳,并进行分类标注。
在不同的拍摄条件下采集贝壳图像,如变换拍摄光照强度、拍摄背景、拍摄角度等,建立带标注的贝壳图像数据库,如图2。将建立的贝类图片数据库通过特征提取生成贝类图像的训练集,贝类图像获取算法流程图如图3所示。
图2 部分不同拍摄条件下采集的贝壳图像
图3 贝类图像获取流程图
本系统使用深度卷积神经网络方法实现贝类图像的分类识别。采取深度卷积神经网络方法,对贝类图像数据库的数据量有一定要求,仅使用小规模数据训练卷积神经网络容易出现过拟合现象,难以实现较好的分类效果。但图像采集存在一定难度,一是所收集贝壳样本数量有限;二是采集贝类图像数据是一个长期的过程,费时费力,难以在短期内获取大量贝类图像数据;三是获取贝类图像的途径较为单一,没有相关可供研究的贝类图像数据库;四是由于贝类的食物属性,网络上爬取的相关图片中以菜肴图像居多,且多是有遮挡图片或者一幅图片中包含多个同种甚至不同种贝类,难以找到适用于本研究的贝类图像。
因此,为了进一步增加训练数据,本程序使用卷积对抗生成网络方法对采集的贝类图像数据通过特征提取进行样本重建,以达到贝类图像数据扩增的目的。本系统建立的贝类数据库图像清晰并且贝类的轮廓、纹理等特征明显,能够根据输入贝类图像的特征产生与原始具有相似特征的贝类图像,适用于图片的扩增。图4是图像扩增结果。
图4 扩增的图像
使用深度网络模型对数据库内的贝类图片进行特征获取和识别。深度网络模型对传统网络模型的层次结构进行了改进,通过加深网络深度提高网络的效果。其网络结构如图5所示,由多层结构组成,一般包括数据输入层,隐藏层以及输出层。输入层实现对样本数据的接收,隐藏层是深度学习网络的核心部分,将输入的样本数据进行适量的数学运算,通过多次训练调整参数,获得可视化样本数据,输出层用来输出操作后的样本数据。
图5 深度神经网络的结构
本系统随机选取贝类数据库图像数量的80%作为训练集,选取剩余的20%作为测试集,实验识别的准确率如图6所示。
图6 系统实验结果
将本方法与经典的Lenet、AlexNet、ResNet进行对比,并分别随机选取每个种类贝类图像的80%作为训练集,剩余20%作为测试集,分别对每类贝类图像进行测试。对部分形貌特征近似的贝类测试结果如表1、表2所示。
表1 不同方法在训练集上识别结果
表2 不同方法在测试集上识别结果
对比不同识别方法的结果可以看出,本文方法网络整体识别准确率较高,在形貌特征区分度较高的贝类图像识别上准确率可达到99%以上,在形貌特征相似的贝类图像上的识别准确率也达到了95%以上,达到了预期效果。虽然ResNet网络在形貌特征差异较大的贝类图像识别上可以达到较高准确率,但是在形貌特征近似的贝类图像识别上效果较差,尤其实际测试过程中识别结果远达不到预期效果,并且在整体识别结果上与本文方法相比较差。
基于Framework7框架开发了贝类识别手机APP。
用户通过软件对贝类进行拍照,获取的图片在后台进行预处理后自动上传到云端服务器,由云端识别程序对图片进行识别,并将识别结果在3s内回传至手机APP。识别结果中会显示3种与拍摄图片相近的贝类,推送内容包括贝壳的图片、形态介绍、习性和分布等科普知识。使用者可以根据所拍摄贝类的特征来判断其具体属于哪一种贝类,了解与之相关的信息。识别完成后点击左上方的“首页”按钮,可以回到主界面,开始下一次的识别。
此款贝类智能化识别APP的开发,为大众识别海洋贝类提供了一种全新、便捷的途径,也可为其他海洋生物的智能化识别提供借鉴。
目前图片样本库包含76种海洋贝类的13万余张图片。经过测试,系统对76种贝类图像的识别准确率在80%左右。项目组后续还将继续扩大贝类样品的收集范围,计划从山东沿海为主扩大到全国范围;从贝类的种类和数量上进一步丰富贝类图片数据库,提高系统的识别率;继续探索适于贝类图像识别的函数和分析方法,从技术层面进一步提高识别准确率。