基于神经网络的水果识别(收藏)

合集下载

基于神经网络的水果识别(收藏)

基于神经网络的水果识别(收藏)

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于神经网络的水果识别(收藏) 水果识别一、水果识别算法设计:从水果图像可以看出,仅从水果的主要颜色就可以把它们区分开。

于是我们先提取出主要颜色,然后用 BP 神经网络进行分类。

设计步骤如下:1) 用 K-均值方法对每幅图像进行聚类。

然后提取出水果的主要颜色。

2) 把每幅图像水果主要颜色的 R、G、B 三个分量分别作为水果的三个特征,把它们作为神经网络的输入。

3) 把一部分提取出的水果特征作为训练样本训练 BP 网络。

4) 读取未知类别的水果图像,然后用 K-均值聚类,提取主要颜色,把主要颜色的 R、G、B 三个分量输入到训练好的神经网络,即可对水果进行分类。

二、实验 1 、特征提取用 k-均值方法对水果图像分类,要分的类别数依赖于图像颜色复杂度,从图像可直观看出三种水果的主要颜色有较大的区别,因此,我们把图像聚成两类,然后提取出主要颜色。

以下是一幅桃子图像聚类的结果原始图像聚类结果把所有水果主要颜色的 R、G、B 三个分量以及每个水果所属类别存放到一个数据文件里(我们存放在 characters.mat 里),以1 / 5提供给训练及测试神经网络用。

2 、训练神经网络首先我们选择比较常用的 BP 网络。

网络为两层,其中第一层的传递函数为tan-sigoid,在输出层使用线性传递函数(purelin)。

由于我们要得到的是三个目标,所以输出层使用 3 个神经元,而第一层的神经元需要有试验确定,在这个实验中,通过反复试验,我们发现第一层使用 6 个神经元最为合适,这个时候误差能够达到最好,分类效果也比较理想。

神经网络训练过程中,我们从 characters.mat 文件中读取所有水果的特征和水果所属类别,作为样本。

基于神经网络的水果识别系统设计

基于神经网络的水果识别系统设计

信息通信INFORMATION & COMMUNICATIONS2020年第7期(总第211期)2020(Sum. No 211)基于神经网络的水果识别系统设计王梓桐(西安石油大学,陕西西安710065)摘要:人工智能的时代给我们的0常生活带来了极大便利,水果作为生活中的必要晶,每天食用适量的水果可以补充维生素C,对我们的身体健康十分有益,有关于对水果识别的研究就显得十分必要。

在对水果进行识别时,通过针对不同水果的形状、大小、颜色、纹理等特征进行分析,根据训练BP 神经网络达到对水果准确识别的目的。

关键词:图像处理;BP 神经网络;目标识别;matlab 中图分类号:TP183文献标识码:A 文章编号:1673-1131(2019)07-0056-030引言随着科技的高速发展,许多重复性高、耗时耗力的工作逐渐被计算机所取代,超市自助结账甚至无人超市都已经出现 在我们的生活中,节省了大量的人力。

水果的识别己经应用于很多领域,如对果园中的水果进行识别检测,通过水果的颜色、新鲜程度来判断水果的质量;超市中对水果进行识别称重,节省了不必要的排队等待时间;一些特殊的病人每天需要水 果的摄入,可以通过对水果的自动识别来判断水果的成熟程 度给病人食用。

1图像边缘检测算法图像的边缘位置大多出现在图像中具体的对象与对象之间或对象与某一区域相互交汇的地方,由于边缘区域的像素点变化的更为明显,所以对这些边缘像素点的检测是十分必要的。

在对图像进行边缘检测时,经常会用到三种检测算子,分别是Sobel 算子、Laplacian 算子和Canny 算子,下面对这三 种算子的工作原理进行概述。

1.1 Sobel 算子Sobel 算子作为最基本的一种边缘检测算子,在图像边缘检测中使用十分普遍。

图像中某一个像素点的梯度值与周围 相邻近像素点之间的灰度差值成正比,像素梯度值越大的点越能在图像中表现出更明显的灰度变化,图像的边缘处就表现出了这一特征。

基于卷积神经网络的多尺度葡萄图像识别方法

基于卷积神经网络的多尺度葡萄图像识别方法
关键词:图像识别;自然场景;迁移学习;卷积神经网络;多尺度图像;数据融合 中图分类号:TP183 文献标志码:A
Multi-scale grape image recognition method based on convolutional neural network
QIU Jinyi1'2, LUO Jun1'2*, LI Xiu3, JIA Wei1, NI Fuchuan1'2, FENG Hui1
1datafeaturesof15categoriesofgrapes种类拍摄数量扩增后数量拍摄时间拍摄地点比昂扣2861430201708武汉江夏夏黑7041412201708201808武汉江夏武汉蔡甸金手指5901180201708201808武汉江夏武汉蔡甸美人指4811443201808武汉蔡甸水晶葡萄1021122201708云南施甸摩尔多瓦611098201708云南施甸甬优一号9221226201708201808武汉江夏武汉蔡甸克伦生1531377201708云南施甸阳光玫瑰5231046201708201808武汉江夏武汉蔡甸巨玫瑰3131252201708武汉江夏香玉4981494201808武汉东西湖红提2801400201808武汉蔡甸红地球3971588201808武汉蔡甸黑珍珠5311062201808武汉东西湖赤霞珠5481096201808武汉蔡甸总计638919226本数据集的复杂度在于
such as depth of field changes and multiple strings in the grape images. Grape recognition is ineffective due to the limitations of single pretreatment method. The research objects were 15 kinds of natural scene grape images collected in the greenhouse, and the corresponding image dataset Vitis-15 was established. Aiming at the large intra-class differences and small inter-class o£ differences grape images, a multi-scale grape image recognition method based on Convolutional Neural Network (CNN) was proposed. Firstly, the data in Vitis-15 dataset were pre-processed by three methods, including the image rotating based data augmentation method, central cropping based multi-scale image method and data fusion method of the above two. Then, transfer learning method and convolution neural network method were adopted to realiize the classification and recognition. The Inception V3 network model pre-trained on ImageNet was selected for transfer learning, and three types of models — AlexNet, ResNet and Inception V3 were selected for convolution neural network. The multi-scale image data fusion classification model MS-EAlexNet was proposed, which was suitable for Vitis-15. Experimental results show that with the same learning rate on the same test dataset, compared with the augmentation and multi-scale image method, the data fusion method improves nearly 1 % testing accuracy on MS-EAlexNet model with 99. 92% accuracy, meanwhile the proposed method has higher efficiency in classifying small saissn. 1001-9081.2019040594

基于神经网络的草莓形状的判别

基于神经网络的草莓形状的判别

基于神经网络的草莓形状的判别作者:郭志冬来源:《数字技术与应用》2012年第07期摘要:运用彩色图像处理技术、神经网络理论结合机器人技术, 开发了草莓拣选设备。

该设备是利用基于彩色图像处理、神经网络理论而生成的一种草莓形状判定算法来解决草莓拣选的问题。

该算法是模拟人对草莓形状的判别方式,先抽出标准草莓的形状特征,然后再对拣选对象的特征参数进行综合判定。

关键词:神经网络图像处理机器人草莓中图分类号:TP301.6 文献标识码:A 文章编号:1007-9416(2012)07-0091-02国内外对图像处理技术和神经网络理论在果蔬商品化应用中的部分成果已进入了实用阶段。

随着计算机科学的飞速发展和在许多领域中的成功应用,果蔬采收分级的实时自动化已经变得完全可能。

但是,生物特征的多变性和随机性与工业产品有着很大区别。

在草莓采收、分级这一过程中,为了提高检测的精度、速度和准确性,需要解决多种技术问题,如:光源的选择和设置;图像的采集方式和图像的质量;硬件处理速度;模式识别算法;要求有更多分级算法的训练样本等。

从长远看,应该对拣选对象的形状、表面、光学、热学、化学、生物学等各方面的特征和生理机能进行更加深入的研究,这样才有利于检测技术改进,促使新的信息采集技术和传感技术的产生。

草莓是一种营养丰富的高级水果,随着人们生活水平的提高,草莓按其颜色、形状及大小进行拣选分类、包装将成为趋势。

因此,草莓形状的判别的研究和草莓拣选设备的开发具有很重要的现实意义。

1、草莓形状的判别收割后的草莓按其颜色、大小、形状均可分为不同的等级。

因此,草莓形状的判断是拣选者根据对标准草莓规格的理解和经验来判断出结果。

本设计中草莓形状的识别部分采用了神经网络的识别技术,神经网络具有学习功能和很强的模式识别能力,即使当局部网络受损时,仍然能够恢复原来信息。

神经网络的信息分布式存储于联结权值系数中,使网络具有很高的容错性,而图像识别中往往存在噪声干扰或输入图像的部分损失,因此,神经网络可以很好地解决图像识别问题。

基于卷积神经网络的水果识别分拣系统的设计与实现

基于卷积神经网络的水果识别分拣系统的设计与实现

基于卷积神经网络的水果识别分拣系统的设计与实现
基于卷积神经网络的水果识别分拣系统是一种用来实现自动化水果分拣的机器学习方法。

它使用了卷积神经网络(CNN)来识别不同水果的形状、大小和颜色,并根据这些特征将水果分成不同的类别。

1、数据集准备:首先需要准备一个包含大量图像的数据集,这些图像必须代表不同水果在不同光照、旋转角度等条件下的形状和颜色。

2、模型构建:接下来需要构建一个卷积神经网络模型,并训练模型来识别图像中的水果的形状、大小和颜色。

3、实际应用:最后,可以使用训练好的模型来实现水果识别分拣系统,通过把水果放在摄像头前,利用CNN模型对水果进行识别,从而实现自动化水果分拣。

基于卷积神经网络的水果图像分类识别研究

基于卷积神经网络的水果图像分类识别研究

基于卷积神经网络的水果图像分类识别研究一、本文概述Overview of this article随着计算机视觉和深度学习技术的飞速发展,图像分类识别在各个领域的应用越来越广泛。

其中,基于卷积神经网络的水果图像分类识别技术,因其高效准确的特性,在农业、食品工业、智能仓储等领域具有重要的实用价值。

本文旨在深入研究卷积神经网络在水果图像分类识别中的应用,探索其性能优化和提升的有效方法。

With the rapid development of computer vision and deep learning technology, the application of image classification and recognition in various fields is becoming increasingly widespread. Among them, fruit image classification and recognition technology based on convolutional neural networks has important practical value in fields such as agriculture, food industry, and intelligent warehousing due to its efficient and accurate characteristics. This article aims to conduct in-depth research on the application of convolutional neural networks in fruit image classification and recognition, andexplore effective methods for optimizing and improving their performance.本文首先概述了卷积神经网络的基本原理和发展历程,分析了其在图像分类识别任务中的优势。

基于BP神经网络的水果识别系统

基于BP神经网络的水果识别系统

人工智能及识别技术本栏目责任编辑:唐一东基于BP 神经网络的水果识别系统罗志翔,胡蓉,赵全友,邓雄昌(湖南科技学院,湖南永州425199)摘要:近些年,计算机视觉发展迅速,在水果识别方向进行了广泛的应用和研究。

本文设计基于BP 神经网络的水果识别系统,选取生活中常见的三种水果:苹果、橘子、香蕉作为对象。

首先,通过网络资源等搜集水果图像建立样本库;然后通过MATLAB 对图像进行预处理,为后续的特征提取做好准备。

水果特征的提取选择纹理、形状、颜色三种特征进行提取;同时在每种特征中选用不同的特征值作为特征向量。

通过提取三种特征后输入到BP 神经网络中进行训练、识别。

经测试,识别的成功率可以达到93.18%,证明了可行性以及未来的可实用性。

关键词:水果识别;MATLAB ;特征提取;BP 神经网络中图分类号:TP391文献标识码:A文章编号:1009-3044(2021)04-0187-03开放科学(资源服务)标识码(OSID ):Fruit Identification System Based on MatlabLUO Zhi-xiang,HU Rong,ZHAO Quan-you,DENG Xiong-chang(Hunan University of Science and Engineering,Yongzhou 425199,China)Abstract:Computer vision has developed rapidly in recent years,and has been widely used and researched in the direction of fruit recognition.This paper designs a fruit recognition system based on BP neural network.Choose three common fruits in life:apples,oranges,and bananas as objects.First,collect fruit images through network resources to establish a sample library.Then the image is preprocessed by MATLAB software to prepare for subsequent feature extraction.For the extraction of fruit features,three fea⁃tures of texture,shape,and color are selected for extraction;at the same time,different feature values are selected as feature vectors in each feature.After three kinds of features are extracted,they are input into BP neural network for training and recognition.After the recognition test,the recognition success rate can reach 93.18%,which proves the feasibility and practicality in the future.Key words:fruit recognition;MATLAB;feature extraction;BP neural network我国地域广阔、水果资源丰富,随着科技发展和社会需求的加大,水果的种植规模也在不断增大;同时也出现了复合型果园。

基于神经网络的草莓形状的判别

基于神经网络的草莓形状的判别

__ 鬲 』_ 黪 1
l 字 技 术 敷
应 用 研 究
基于神经网络的草莓形状的判别
郭 志 冬
( 门峡 职 业技 术 学院机 电 工程 系 河 南三 门峡 420) 三 70 0
摘 要 : 用彩 色图像 处 理技 术 、 经 网络 理 论 结合 机 器人技 术 ,开发 了草 莓 拣选 设 备 。 设备 是 利 用基 于彩 色图像 处理 、 经 网络 理 论 而 运 神 该 神 生成 的 一种 草莓 形状 判 定 算 法来 解决 草莓 拣 选 的 问题 。 算 法是模 拟 人 对 草莓 形状 的判 别方 式 , 抽 出标 准 草莓 的形 状 特征 , 该 先 然后再 对拣 选对 象的 特 征 参 数进 行 综合 判 定 。 关键 词 : 神经 网络 图像 处理 机 器人 草莓 中图分 类 号 : P 0 T 3 16 文献标 识码 : A 文 章编 号 : 0 79 1 ( 0 20 —0 lO 1 0 —4 6 2 1 ) 70 9 —2
草莓是一种营养 丰富 的高级 水果 , 随着人们生 活水平 的提高 , 国 内外对 图像处理技术和神经 网络理论 在果蔬商品化应 用 中 的部分成果 已进入了实用阶段 。 随着计算机科学的飞速发展和在许 草莓按 其颜色 、 形状及大小进行 拣选分类 、 包装将 成为趋势。 因此 ,
多领 域 中 的成 功 应 用 , 蔬 采 收分 级 的实 时 自动 化 已经变 得 完 全 可 草莓形状 的判别 的研究和草莓拣选 设备 的开发具有很重要的现实 果
别算法。 利用该算法开 发了草莓拣选设备 。 并
6、 结 语 本文通过计算 机图形处理技术 、 模式识别等理论 的研究 , 结合
2 、草莓拣选设备 的构成

基于BP神经网络的成熟棉桃识别研究

基于BP神经网络的成熟棉桃识别研究
3 ( ) O一3 . 4 1 :3 4
[ 张 国印 ,王 丽英 ,孙 世 友 ,等 .土 壤 的 重 金 属 污 染 及 其 防 6] 治 [] J .河 北农 业 科 学 ,20 ,7 ( 1 :5 03 S ) 9—6 . 3 [ 王 凯 荣 .我 国农 田镉 污 染 现 状 及 其 治 理 利 用 对 策 [] 7] J .农 业 环 境 保 护 ,19 ,1 ( ) 7 2 8 97 6 6 :24— 7 . [ 潘 8]
瓒,王
亮 ,谢 拾 冰 ,等 .温 州 主 要 水 果 基 地 重金 属
[ 林 义成 ,丁 能 飞 ,傅 庆 林 ,等 .苍 南 县 主要 水 产 品 及 产 地 2] 水 域重 金 属 污 染 评 价 [] J .浙 江 农 业 科 学 ,2 0 ,( ) 0 07 1 :13

含 量 现状 的 调 查 [] J .浙 江 农 业 科 学 ,20 , ( ) 7 05 3 :19一
途径 。
参考文献 :
惠 润 堂 .煤 矸 石 的环 境 影 响 及 发 生 条 件 [ ] J .煤 矿 环 境 保
护 ,2 0 ,1 ( ) 5—5 . 0 1 5 1 :5 8
环 境 科 学 进 展 ,19 ,7 ( ):3 —3 . 99 4 0 3 [5] 李 海 华 ,刘 建 武 ,李 树人 ,等 .土 壤 . 植物 系 统 中 重 金 属 污 染 及 作 物 富 集 研 究 进 展 [] J .河 南 农 业 大 学 学 报 ,20 , 00
防 治方 法 [] J .土 壤 与 环 境 ,20 , (பைடு நூலகம் 9—8 . 0 2 1 :7 4
分析 并 获 得 棉 桃 、棉 叶 的面 积 、主 轴 、长 度 和 宽 度 4个 变 量 ,通 过 归 一 化 处 理 ,作 为 神 经 网络 的 输 入 变 量 ,通 过调 节 神 经 网络 的参 数 值 对 神 经 网络 进 行 优 化 训 练 ,利 用 训 练 后 的 网 络 就 可 以 对 处 理 后 的 棉 桃 进 行 识 别 。 实 验 结 果 表 明 ,训 练 后 的神 经 网络 能 够 以较 高 精 度 进 行 棉 桃 的识 别 。 关键 词 :棉桃 ;神 经 网络 ; 图像 处 理 ;收 获 机 器 人 ;识 别 中 图 分 类 号 :T 226 P4 .2 文 献 标 识 码 :A 文章 编 号 :02.07 20 )60 8.3 589 1(070 . 70 6

基于卷积神经网络技术的蔬果种类识别方法

基于卷积神经网络技术的蔬果种类识别方法

基于卷积神经网络技术的蔬果种类识别方法
薄琪苇;彭俊;夏凯
【期刊名称】《计算机时代》
【年(卷),期】2018(000)004
【摘要】为了降低蔬果种类的分类成本,实现蔬果智能化的识别与分拣,以9种蔬果为实验对象,运用卷积神经网络技术,建立一个图像识别模型.针对蔬果种类的特点,优化并调整模型的结构.相比其他识别网络,卷积神经网络特有的卷积层能对图像自动进行特征提取,并且由于其参数的权值共享,可以有效缩短学习时间,进一步提升识别率.所构建的识别模型能够实现相对复杂背景下的蔬果图像识别,可为日常生活中的蔬果识别提供一种切实有效的方法,具有一定的现实意义.
【总页数】4页(P36-39)
【作者】薄琪苇;彭俊;夏凯
【作者单位】浙江农林大学信息工程学院,浙江杭州 311300;浙江农林大学信息工程学院,浙江杭州 311300;浙江农林大学信息工程学院,浙江杭州 311300;浙江农林大学浙江省林业智能监测与信息技术研究重点实验室
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于卷积神经网络技术的直升机旋翼谱识别方法 [J], 王志诚;徐卉;梁小溪;王珺;周起华;朱骏
2.基于轻量化的卷积神经网络技术研究现状 [J], 廖干洲
3.基于深度卷积神经网络技术的棉花顶芽探测技术 [J], 张扬虎;白琳;陈峰练;张茜;李淘深
4.基于轻量化的卷积神经网络技术研究现状 [J], 廖干洲
5.基于卷积神经网络技术实现街道字符识别 [J], 袁姗姗
因版权原因,仅展示原文概要,查看原文内容请购买。

基于BP神经网络的橙子品质识别

基于BP神经网络的橙子品质识别

基于BP神经网络的橙子品质识别
楚博文
【期刊名称】《农业科技与信息》
【年(卷),期】2024()4
【摘要】随着生活质量的不断提高,人们对各类果蔬的品质要求越来越高。

橙子甘甜可口,深受人们的青睐,对其品质进行精准识别有助于保证消费者购买到的橙子质量,也可帮助商家及时清理腐烂的橙子。

本研究以橙子为识别对象,基于图像处理及神经网络学习建立橙子品质识别模型,通过图像处理提取橙子的图像特征,将提取的特征集导入BP神经网络进行训练进而完成分类识别。

结果显示:该识别模型的识别准确率为91.7%,同时具有成本低、识别速度快、检测方便等优点,且实现了无损检测。

【总页数】5页(P45-49)
【作者】楚博文
【作者单位】海南师范大学信息科学技术学院
【正文语种】中文
【中图分类】S666.4
【相关文献】
1.根据常规化学指标识别烟叶品质的BP神经网络模型
2.橙子太光鲜有猫腻r三招教你识别染色橙子
3.基于BP神经网络的管道缺陷模式识别与精确定量识别
4.PCA
和改进BP神经网络的大米外观品质识别5.基于改进YOLO v5的橙子果实识别方法
因版权原因,仅展示原文概要,查看原文内容请购买。

基于多尺度卷积神经网络的水果识别技术研究

基于多尺度卷积神经网络的水果识别技术研究

基于多尺度卷积神经网络的水果识别技术研究摘要:为了解决水果无法通过单一图像识别的问题,本文基于多尺度卷积神经网络,提出了一种水果识别技术。

为了弥补当前数据集中的水果种类和数量缺陷,本文采用数据增强技术,同时设计了精细的网络结构。

实验结果表明,本文提出的水果识别技术具有很高的精度和鲁棒性,适用于多种水果的识别。

关键词:多尺度卷积神经网络;水果识别;数据增强;网络结构;精度1.引言水果识别是计算机视觉领域的热门问题之一。

它在农业、水果保鲜、食品安全等领域都有广泛的应用。

但是,由于水果的形状、颜色和纹理等特征的多样性,目前仍然存在着水果无法通过单一图像识别的问题。

为了解决这一问题,本文提出了一种基于多尺度卷积神经网络的水果识别技术。

该技术可以通过多个尺度的特征提取和融合,提高水果识别的准确性和鲁棒性。

2.相关工作近年来,深度学习在图像识别领域取得了显著的成果。

其中,卷积神经网络(CNN)是一种广泛使用的深度学习模型。

在水果识别领域,已经有许多研究采用CNN模型进行水果识别。

但是,当前的水果数据集存在着水果种类和数量缺陷,这给水果识别的准确性和鲁棒性造成了挑战。

3.方法为了解决水果数据集的问题,本文采用了数据增强技术来扩充数据集。

具体来说,本文在原始数据集中进行旋转、翻转、缩放等操作,以生成更多的图像,从而提高水果识别的准确性和鲁棒性。

为了进一步提高水果识别的准确性,本文设计了一种精细的CNN网络结构。

该网络结构包括多个卷积层、池化层和全连接层,同时采用了多尺度卷积和特征融合的技术,从而增强网络的感受野和特征表达能力。

4.实验与结果本文使用公开数据集和自采数据集进行实验。

实验结果表明,本文提出的水果识别技术具有很高的精度和鲁棒性,特别是在具有较大复杂度的水果识别任务中表现较为突出。

此外,数据增强技术和网络结构设计对提高水果识别准确性的作用也得到了验证。

5.结论本文提出了一种基于多尺度卷积神经网络的水果识别技术。

基于深度卷积神经网络的柑橘目标识别方法

基于深度卷积神经网络的柑橘目标识别方法

2019年5月农业机械学报第50卷第5期doi:10.6041/j.issn.1000⁃1298.2019.05.021基于深度卷积神经网络的柑橘目标识别方法毕 松 高 峰 陈俊文 张 潞(北方工业大学电气与控制工程学院,北京100041)摘要:针对户外自然环境,基于深度卷积神经网络设计了对光照变化㊁亮度不匀㊁前背景相似㊁果实及枝叶相互遮挡㊁阴影覆盖等自然环境下典型干扰因素具有良好鲁棒性的柑橘视觉识别模型㊂模型包括可稳定提取自然环境下柑橘目标视觉特征的深层卷积网络结构㊁可提取高层语义特征来获取柑橘特征图的深层池化结构和基于非极大值抑制方法的柑橘目标位置预测结构,并基于迁移学习完成了柑橘目标识别模型训练㊂本文运用多重分割的方法提高了柑橘目标识别模型的多尺度图像检测能力和实时性,利用包含多种干扰因素的自然环境下柑橘目标数据集测试,结果表明,柑橘识别模型对自然采摘环境下常见干扰因素及其叠加具有良好的鲁棒性和实时性,识别平均准确率均值为86.6%,平均损失为7.7,平均单帧图像检测时间为80ms㊂关键词:自然环境;柑橘;识别;深度卷积神经网络中图分类号:TP391.4文献标识码:A文章编号:1000⁃1298(2019)05⁃0181⁃06收稿日期:20181123 修回日期:20190202基金项目:国家自然科学基金项目(61573024)㊁北京市教育委员会科研计划一般项目(KM201610009001)和北方工业大学毓优青年人才培养计划项目作者简介:毕松(1983 ),男,副教授,博士,主要从事智能农机装备研究,E⁃mail:bisongo@Detection Method of Citrus Based on Deep Convolution Neural NetworkBI Song GAO Feng CHEN Junwen ZHANG Lu(College of Electrical and Control Engineering ,North China University of Technology ,Beijing 100041,China )Abstract :Citrus detection and location is the foundation of citrus automated picking systems,in light of the outdoor natural picking environment,a citrus visual feature recognition model was designed based on deep convolution neural network with good robustness for typical interfering factors,such as illumination change,uneven brightness,similar foreground and background,mutual occlusion of fruit,branches and leaves,shadow coverage and so on.The model included a deep convolutional network structure which can steadily extract the visual features of citrus under natural environment,a deep pool structure which can extract high⁃level semantic features to get citrus feature map,a citrus location prediction model based on non⁃maximum suppression method.Moreover,the proposed model was trained by transfer learning method.Each raw image was segmented into several sub⁃images before citrus detection to enhance the ability of multi⁃scale object detection,and reduce the computing time of citrus detection.A testing dataset,which contained representative interference factors of natural environment,was used to test the citrus detection model,and the proposed detection model had good robustness and real⁃time performance.The average detection accuracy and the average loss value of the model was 86.6%and 7.7,respectively,meanwhile,the average computing time for detecting citrus from single image was 80ms.The citrus detecting model constructed by deep convolution neural network was suitable for the citrus harvesting in the natural environment.Key words :natural environment;citrus;detection;deep convolution neural network0 引言我国为世界上重要的水果生产国之一,自2012年以来,我国柑橘㊁苹果等主要水果品种的种植面积和产量已居世界第一㊂2017年,我国柑橘产量为3816.78万t [1],占世界柑橘产量的四分之一㊂采摘是水果生产过程中劳动力投入最大的作业环节,柑橘采摘劳动量为整个生产过程工作量的50%~70%,所处环境的复杂性导致水果采摘仍然以人工作业为主[2]㊂水果自动化采摘对于解决劳动力不足㊁保证水果适时采摘㊁提高采摘品质和市场竞争力等具有重要意义㊂因此,研究水果自动化采摘技术迫在眉睫[3]㊂柑橘目标识别是自动采摘的基础,众多研究者主要从颜色㊁纹理㊁边缘等多个特征综合角度出发,研究了限定环境下或自然环境下果实目标识别方法[4-17]㊂利用多种分类和聚类算法设计目标识别模型,获得了较好的目标检测效果㊂但上述方法的基础是从果实自身特征出发获得图像特征,当存在光线变化㊁阴影覆盖㊁着色不均㊁枝叶遮挡和果实重叠等多种自然采摘环境下常见干扰因素时,果实特征发生明显变化,使得用于描述果实的特征也出现明显的不同,因此基于图像特征的柑橘识别方法在自然环境下检测效果不理想㊂自然环境下柑橘图像的特征在不同干扰因素下具有明显的差异㊂自然环境下干扰因素较多且变化较大,难以获得涵盖上述所有干扰情形的柑橘目标特征,因此基于图像分析的柑橘目标识别方法难以应对自然环境下多种干扰因素同时存在的情况㊂针对户外柑橘采摘机器人的目标识别定位问题,本文设计基于深度卷积神经网络的自然环境下柑橘目标识别模型㊂对实际采收环境下的柑橘目标进行数据测试㊂1摇柑橘目标识别方法基于图像的柑橘目标识别的基础在于获得可稳定描述自然环境下柑橘目标的图像特征,而大部分传统的目标特征提取方法都是在提取目标物体的浅层特征,如HOG 特征㊁SIFT 特征㊁颜色特征㊁局部二值特征等㊂这些人工设计的特征只适用于某些特定场景,复杂场景中表现的并不尽如人意,致使构建的目标识别模型难以满足复杂田间场景的需求,检测效果很不稳定㊂深度学习模型具有模型层次深㊁特征表达能力强的特点,能自适应地从大规模数据集中学习当前任务所需要的特征表达[18],在目标识别领域,卢宏涛等[19]认为使用深度学习方法提取到的特征具有传统手工特征所不具备的重要特性,其通过逐层训练学习,最终得到蕴涵清晰语义信息的特征表示,从而大大提高识别率㊂自然采摘环境的干扰因素多是典型的复杂场景,目标随环境干扰因素变化而难以获得完备的目标特征集,基于深度卷积神经网络模型的柑橘目标视觉识别方法,可以克服自然环境下的多种干扰条件影响,获得较高的识别准确性和稳定性㊂基于深度卷积神经网络的柑橘识别模型主要分为图像预处理模块㊁深度特征提取模块㊁特征处理模块㊂柑橘识别模型结构如图1所示㊂图1 自然环境下的柑橘识别模型网络结构Fig.1 Network structure diagram of citrus recognition system in natural environment 图像预处理模块对图像进行降噪和数据扩展等操作,调节图像的色调㊁饱和度和亮度后,图像在输入网络之前进行预处理,尺寸缩放到416像素×416像素㊂深度特征提取模块实现了基于DARKNET19网络[20]的卷积池化构建方法,提取完整图像的高阶特征,经过卷积池化层后得到13×13特征图㊂特征处理模块分为区域生成网络模块(Regionproposal network,RPN)和预测框特征提取分类模块㊂特征处理模块通过多个交叉的卷积层对特征降维,并利用池化操作提取柑橘图像的高阶特征,进而对特征进行分类㊂区域生成网络模块利用锚框(Anchor boxes)方法在获得的特征图上预测初始预选框㊂利于K 均值聚类(K⁃means clustering)算法求取锚框参数并预测出锚框尺寸和比例,K 是聚类算法将样本集划分成簇的数量,实验测得K =5时锚框预测的正确率最高㊂深度特征提取模块中,图像经过卷积池化层后,特征图维数为13×13㊂对特征图的每个网格按照预测出的比例划出5个锚框(以图1中13×13特征图的第1行第1列网格为例,网格(1,1)表示该网格)并将这5个锚框映射回原图得到初始预选框㊂预测框特征提取分类模块的结构基于DARKNET19网络,在网络训练阶段移除DARKNET19网络最后一个卷积层,增加3个3×3×281农 业 机 械 学 报 2019年1024的卷积层,并且在后面与1个1×1×512的卷积层和2个1×1×30的卷积层交叉,从而提高模型的特征抽取能力㊂由于经过多层卷积后特征向量的维度大幅增高,不利于数据分类与训练收敛,加大了网络的训练和预测时间,因此设计3层3×3卷积层和3层1×1卷积层交叉结构对特征降维,从而降低其深度以提高系统的训练效率与实时性㊂将提取到的图像特征全局平均池化,并将其输入到Softmax层进行分类得出预测结果㊂预测结果包含6个元素:对应网格的偏移量x和y㊁预测出的柑橘目标边界框的宽度w和高度h㊁有无目标置信度(Box confidence score)和柑橘目标置信度㊂有无目标置信度表示该目标框包含柑橘目标的可能性,柑橘目标置信度表示如果包含柑橘目标,则该目标是柑橘的可能性,因此预测结果维度为(13,13,5×(4+1+C)),其中C是目标类别㊂由于只需检测柑橘,因此C=1,预测结果的维度即为(13,13,30)㊂本文在训练阶段利用Softmax分类器将输出数值与标签数据比较得到其总损失,进而使用随机梯度下降(Stochastic gradient descent,SGD)优化损失函数使其收敛㊂在检测阶段,每个组合的结果分别是预选框位置相对于标签位置偏移量,有目标的置信度㊁以及有某个指定目标的置信度,柑橘识别模型只需要柑橘置信度,因此只有一类㊂2 基于迁移学习的网络初始化迁移学习利用预先训练好的具有良好学习能力的网络模型参数初始化某个小型训练集模型参数,这种参数初始化方法可以将已学习的知识能力迁移到另一个网络中,使得新网络具有快速学习能力[21],从而显著改善因训练数据集不足带来的网络过拟合问题,增加识别模型在复杂自然条件下柑橘目标识别的泛化能力㊂ImageNet数据集是目前图像深度学习领域应用较广的数据集,与图像分类㊁定位㊁检测相关的工作大多基于此数据集展开,成为目前深度学习图像领域算法性能检验的 标准”数据集㊂本文使用标准ImageNet1000类数据集预训练柑橘识别模型㊂对于每个网格5个预选框给出的30个数值,每个目标只需要一个预选框预测器,根据预测区域与标签区域之间的重叠比例(IOU)最高值确定预测目标,从而使预测器更好地适应柑橘识别任务,从而改善整体召回率㊂训练期间的损失函数(Loss function)包含位置误差和分类误差㊂若目标存在于该网格单元中,则损失函数仅惩罚分类错误;若预测器负责实际边界框,则也惩罚边界框坐标错误㊂网络更加重视预测到目标的预测框,加入预测到目标的预测框系数λcoord来提高其数值占比㊂在VOC2007数据集下,这一数值为5,相应的,对于没有检测到目标的预测框,加入未预测到目标的预测框系数λnoobj来降低其数值占比,本文取0.5㊂在训练过程中,通过优化算法使得Loss函数收敛到最小㊂在预测阶段,由于网格设计强化了边界框预测中的空间多样性,一些较大或靠近多个网格单元边界的目标可能会被多个网格单元定位,因此本文使用非极大值抑制算法[22]来修正多重检测,从而获得准确的识别结果㊂3 迁移学习结果与分析3.1 实验设计为保证数据集能够较好地反映自然环境下柑橘目标的真实特点,在广西合浦柑橘种植园拍摄了1200幅柑橘样本图像,拍摄时间包括晴天正午㊁晴天傍晚以及阴天正午3个时段㊂选用Basler acA244020gc型工业相机采集图像数据,采用焦距为8mm的定焦镜头㊂经过人工挑选后制作了包括1000幅柑橘图像的VOC2007格式的数据集㊂为保证训练集的有效性,训练集中包含光照不均图像241幅㊁前背景相似图像134幅㊁果实以及枝叶相互遮挡图像246幅㊁阴影覆盖图像211幅㊁过曝图像168幅㊂将1000幅图像按照训练集㊁测试集㊁验证集7∶2∶1的比例配置㊂以端到端训练方式对上述训练集进行训练,并计算平均损失率和在全体测试集和验证集上的平均准确率(Mean average precision, MAP)㊂同时为了验证本文方法的有效性,将可变性部件模型[23](Deformable part model,DPM)与本文模型进行对比测试㊂DPM算法提取目标的HOG特征,并使用支持向量机分类器,源码版本选择voc⁃release4.01,训练50000次,数据集依然采用VOC2007格式,按照训练集㊁测试集7∶3的配置分配训练㊂3.2 实验数据性能指标计算方法本文方法和DPM算法均使用VOC2007格式数据集和P R曲线测试网络性能㊂P R曲线的数据插值方法使用VOC2007规范,即11点插值法(Eleven⁃point interpolation)㊂对于网络检测出来的目标,定为Positive样本,未检测出来的目标定为Negative样本㊂采用0.5为IOU阈值,大于0.5的认定为检测正确,检测结果为T;反之,则为检测错误,检测结果为F㊂故实验结果有4种,分别为检测出来的IOU值小于等于0.5的目标FP㊁检测出来的381第5期 毕松等:基于深度卷积神经网络的柑橘目标识别方法IOU 值大于0.5的目标TP㊁未检测出来的真值目标FN㊁TN㊂本文不统计TN 类样本㊂准确率(Precision)的计算方法为P =T PT P +F P×100%(1)式中 T P 检测出来的IOU 值大于0.5的目标数量F P 检测出来的IOU 值小于等于0.5的目标数量召回率(Recall)为识别出的柑橘数占图像中总目标数的比例,其计算方法为R =T PT P +F N×100%(2)式中 F N 未检测出来的真值目标数量3.3 结果分析迁移学习具有良好的泛化能力且具有良好的抑制过拟合能力,本文利用迁移学习和非迁移学习训练柑橘目标识别模型,训练损失如图2所示㊂图2 迁移学习与非迁移学习方法训练损失Fig.2 Training loss of transfer learning andnon⁃transfer learning methods从图2可知,迁移学习可以使得训练过程更加平滑,在相同训练轮数下,其平均损失远低于未使用迁移学习㊂训练结束后,迁移学习在召回率大于后者的情况下,依然可以取得更好的平均准确率㊂两种训练方法的参数如表1所示㊂表1 迁移学习与非迁移学习训练参数Tab.1 Training parameters of transfer learningand non⁃transfer learning methods训练参数迁移学习非迁移学习初始学习率0.010.01学习动量0.90.9学习率衰减0.00050.0005每轮图像数882000轮训练后学习率0.001跟随衰减 迁移学习与非迁移学习方法的基本训练参数相同,初始学习率取0.01,动量为0.9,学习衰减率为0.0005,每轮训练图像数量为8㊂2000轮训练后,迁移学习的学习率固定,陷入局部最优㊂未使用迁移学习的网络在达到局部最优后,即使降低学习率也并不能使得网络平均损失率明显下降㊂迁移学习和非迁移学习训练方法的平均损失㊁最大召回率和平均准确率如表2所示㊂表2 迁移学习与非迁移学习训练结果Tab.2 Training results of transfer learning andnon⁃transfer learning methods训练结果迁移学习非迁移学习平均损失7.720.5最大召回率/%9382MAP /%86.978.3 由表2可知,非迁移学习训练的柑橘目标识别模型获得的平均损失为20.5,本文通过降低学习率的方法使得平均损失下降了12.8,最终平均损失达到了7.7㊂训练结束后,在验证㊁测试数据集上计算平均准确率,分别为86.9%和78.3%㊂基于迁移学习方法训练的模型平均损失较低,平均准确率较高,有效提高了模型的性能㊂使用迁移学习和未使用迁移学习训练模型的柑橘目标检测结果如图3所示㊂图3 迁移学习和非迁移学习训练模型检测结果Fig.3 Test results of transfer learning and non⁃transferlearning methods图3a 中标号1的结果将两个识别条件良好的柑橘识别成了一个,而且还存在目标框重叠问题,标号2结果将两个相互重叠的柑橘识别成一个目标㊂作为对比,图3b 中标号1㊁2的检测结果都能正确区分并识别柑橘,并且图3b 识别出了更多的柑橘,可以看出迁移学习的检测系统具有更高的召回率㊂由图3可知,两种训练方法都识别出柑橘目标,但常规训练下的网络识别出的柑橘目标框存在较大的误差与较低的召回率㊂由此可知迁移学习可以提高网络的目标检测性能㊂DPM 算法是目前常用目标检测算法之一㊂DPM 算法与本文方法在自然采摘环境下柑橘目标识别的PR 曲线如图4所示㊂测试集和验证集共包含300幅图像,包括光照不均㊁前背景相似㊁果实以及枝叶相互遮挡㊁阴影覆盖㊁过曝㊂图4a 中DPM 算法的PR 曲线平均准确率为67.56%,远低于本文方法的86.91%㊂本文方法较481农 业 机 械 学 报 2019年图4 两种方法的P R曲线Fig.4 P R curves of two methods DPM算法具有更高的召回率,且P R曲线较DPM 算法曲线更加平滑稳定,在较高召回率情况下,依旧可以保持较高的准确率㊂以人工进行柑橘目标识别标注的结果为标准,在不同干扰因素下,DPM算法与本文方法的识别平均准确率对比如表3所示㊂表3 DPM算法与本文方法识别平均准确率对比Tab.3 Experimental result of citrus using DPMand proposed method% 干扰因素样本数量DPM算法本文方法光照不均6364.488.1前背景相似4961.284.8果实及枝叶遮挡6760.883.6阴影覆盖6767.589.7过曝5468.186.6 从表3可知,DPM算法的准确率远低于本文方法㊂针对果实与枝叶遮挡条件,评估所用数据集包含67幅存在果实与枝叶遮挡的图像,遮挡率的计算方法为67幅遮挡图中被遮挡柑橘的遮挡面积占其总面积的比率均值,经统计,平均遮挡率为48%, DPM算法检测的准确率只有60.8%,而本文方法准确率为83.6%㊂同时,本文方法在表3的多个影响因素下的识别平均准确率的均值为86.6%㊂本文方法的目标识别结果如图5所示㊂图5a 中,枝叶遮挡面积小于50%(图中标号1㊁2㊁3),其IOU值分别为0.8㊁0.95㊁0.9㊂但如果遮挡面积过大,则依旧无法成功识别(图中蓝框)㊂蓝框中的柑橘具有标签值,但未被识别,相当于IOU值为0,分图5 本文方法对自然条件下柑橘目标识别结果Fig.5 Detecting results of citrus by proposed methodunder natural conditions类结果为FN㊂其他情形以此类推㊂图5b中,标号1㊁2㊁3的样本存在阴影覆盖和过曝,本文方法依然可以识别柑橘目标㊂图5c中,弱光条件下,柑橘纹理不明显,同时颜色也有较大变化,个别位置甚至可能出现柑橘和枝叶颜色混合的现象,这时不管是SIFT特征还是HOG特征效果较差㊂但使用本文方法均可准确识别柑橘㊂蓝框标出的柑橘由于光照条件太差,颜色信息损失太多并未成功识别㊂图5d中,在前背景相似情况下,柑橘颜色几乎和枝叶颜色融为一体,同时还伴有光照变化和阴影覆盖等情况存在㊂本文所设计的模型取得了较好的效果,其中识别效果较差的2号柑橘的IOU仍可达到0.8,分类结果为TP㊂由图5识别结果可知,本文方法能够有效地应对多种户外采摘条件下的干扰因素㊂实地拍摄的图像尺寸为2448像素×2448像素,由于图像像素较大,柑橘较小,因此将图像分成4幅有重叠的子图进行识别,子图尺寸为1000像素×1000像素㊂识别模型将子图缩放到416像素×416像素,识别完成后将识别结果聚合,以此实现多尺度图像的识别㊂本文所设计的柑橘目标识别模型的运算平台为i76850K CPU,Nvidia GTX1080Ti GPU,内存32GB㊂识别时间为从将图像分割成4幅子图到将4幅子图识别结果聚合在一起输出最后识别结果的总时间㊂经测试,1000幅图像的平均识别速度为12.5帧/s,因此该模型具有良好的实时性,能够满足实际自动化采摘的目标识别速度要求㊂4 结论(1)设计的基于深度卷积神经网络的柑橘目标识别模型对光照变化㊁亮度不匀㊁前背景相似㊁果实及枝叶相互遮挡㊁阴影覆盖等实际采摘环境下常见581第5期 毕松等:基于深度卷积神经网络的柑橘目标识别方法干扰因素及其叠加情形具有良好的鲁棒性,可为柑橘采摘机器人设计提供参考㊂(2)本文方法对柑橘识别的平均准确率均值达到了86.6%,平均损失为7.7,最大召回率为93%,实验结果表明,该模型能够在自然采摘环境下进行准确和快速的柑橘目标识别及定位㊂参考文献[1] 中华人民共和国国家统计局.中国水果产量[R].2017.[2] 张水波,鲍官军,杨庆华,等.基于机器人采摘的柑橘机械特性研究[J].浙江工业大学学报,2012,40(3):340-344.ZHANG Shuibo,BAO Guanjun,YANG Qinghua,et al.Study on mechanical properties of citus bases on robotic harvesting[J].Journal of Zhejiang University of Technology,2012,40(3):340-344.(in Chinese)[3] 王丹丹,宋怀波,何东健.苹果采摘机器人视觉系统研究进展[J].农业工程学报,2017,33(10):59-69.WANG Dandan,SONG Huaibo,HE Dongjian.Research advance on vision system of apple picking robot[J].Transactions of the CSAE,2017,33(10):59-69.(in Chinese)[4] 徐越,李盈慧,宋怀波,等.基于Snake模型与角点检测的双果重叠苹果目标分割方法[J].农业工程学报,2015,31(1):196-203.XU Yue,LI Yinghui,SONG Huaibo,et al.Segmentation method of overlapped double apples based on Snake model and corner detectors[J].Transactions of the CSAE,2015,31(1):196-203.(in Chinese)[5] 詹文田,何东健,史世莲.基于Adaboost算法的田间猕猴桃识别方法[J].农业工程学报,2013,29(23):140-146.ZHAN Wentian,HE Dongjian,SHI Shilian.Recognition of kiwifruit in field based on Adaboost algorithm[J].Transactions of the CSAE,2013,29(23):140-146.(in Chinese)[6] ZHOU Rong,DAMEROW L,SUN Yurui,et ing colour features of cv. Gala’apple fruits in an orchard in imageprocessing to predict yield[J].Precision Agriculture,2012,13(5):568-580.[7] BEHROOZI⁃KHAZAEI N,MALEKI M R.A robust algorithm based on color features for grape cluster segmentation[J].Computers and Electronics in Agriculture,2017,142:41-49.[8] CHAIVIVATRAKUL S,DAILEY M N.Texture⁃based fruit detection[J].Precision Agriculture,2014,15(6):662-683.[9] KURTULMUS F,LEE W S,VARDAR A.Green citrus detection using eigenfruit’,color and circular Gabor texture featuresunder natural outdoor conditions[J].Computers and Electronics in Agriculture,2011,78(2):140-149.[10] 宋怀波,屈卫锋,王丹丹,等.基于光照无关图理论的苹果表面阴影去除方法[J].农业工程学报,2014,30(24):168-176.SONG Huaibo,QU Weifeng,WANG Dandan,et al.Shadow removal method of apples based on illumination invariant image[J].Transactions of the CSAE,2014,30(24):168-176.(in Chinese)[11] 项荣,应义斌,蒋焕煜,等.基于边缘曲率分析的重叠番茄识别[J/OL].农业机械学报,2012,43(3):157-162.XIANG Rong,YING Yibin,JIANG Huanyu,et al.Recognition of overlapping tomatoes based on edge curvature analysis[J/ OL].Transactions of the Chinese Society for Agricultural Machinery,2012,43(3):157-162.http:∥/jcsam/ ch/reader/view_abstract.aspx?flag=1&file_no=20120329&journal_id=jcsam.DOI:10.6041/j.issn.1000⁃1298.2012.03.029.(in Chinese)[12] 王津京,赵德安,姬伟,等.采摘机器人基于支持向量机苹果识别方法[J].农业机械学报,2009,40(1):148-151.WANG Jinjing,ZHAO Dean,JI Wei,et al.Apple fruit recognition based on support vector machine using in harvesting robot [J].Transactions of the Chinese Society for Agricultural Machinery,2009,40(1):148-151.(in Chinese) [13] 赵源深,贡亮,周斌,等.番茄采摘机器人非颜色编码化目标识别算法研究[J/OL].农业机械学报,2016,47(7):1-7.ZHAO Yuanshen,GONG Liang,ZHOU Bin,et al.Object recognition algorithm of tomato harvesting robot using non⁃color coding approach[J/OL].Transactions of the Chinese Society for Agricultural Machinery,2016,47(7):1-7.http:∥www.jcsam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20160701&journal_id=jcsam.DOI:10.6041/j.issn.1000⁃1298.2016.07.001.(in Chinese)[14] LU J,SANG N.Detecting citrus fruits and occlusion recovery under natural illumination conditions[J].Computers andElectronics in Agriculture,2015,110:121-130.[15] 李思雯,吕建成,倪胜巧.集成的卷积神经网络在智能冰箱果蔬识别中的应用[J].数据采集与处理,2016,31(1):205-212.LI Siwen,LÜJiancheng,NI Shengqiao.Integrated convolutional neural network and its application in fruits and vegetables recognition of intelligent refrigerator[J].Journal of Data Acquisition and Processing,2016,31(1):205-212.(in Chinese) [16] INKYU S,ZONGYUAN G,FERAS D,et al.Deepfruits:a fruit detection system using deep neural networks[J].Sensors,2016,16(8):1222-1245.[17] HOU L,WU Q,SUN Q,et al.Fruit recognition based on convolution neural network[C]∥12th International Conference onNatural Computation,Fuzzy Systems and Knowledge Discovery(ICNC FSKD),Changsha,2016:18-22. [18] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.Imagenet classification with deep convolutional neural networks[C]∥Advances in Neural Information Processing Systems,2012:1097-1105.[19] 卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016,31(1):1-17.LU Hongtao,ZHANG Qinchuan.Applications of deep convolutional neural network in computer vision[J].Journal of Data Acquisition and Processing,2016,31(1):1-17.(in Chinese)[20] JOSEPH R,ALI F.YOLO9000:better,faster,stronger[J].arXiv:1612.08242[cs.CV][21] PAN S J,YANG Q.A survey on transfer learning[J].IEEE Transactions on Knowledge&Data Engineering,2010,22(10):1345-1359.[22] NEUBECK A,VAN GOOL L.Efficient non⁃maximum suppression[C]∥18th International Conference on Pattern Recognition(ICP R’06),Hong Kong,2006:850-855.[23] FELZENSZWALB P,MCALLESTER D,RAMANAN D.A discriminatively trained,multiscale,deformable part model[C]∥IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2008:1-8.681农 业 机 械 学 报 2019年。

基于BP神经网络的水果识别研究

基于BP神经网络的水果识别研究

第9卷㊀第4期Vol.9No.4㊀㊀智㊀能㊀计㊀算㊀机㊀与㊀应㊀用IntelligentComputerandApplications㊀㊀2019年7月㊀Jul.2019㊀㊀㊀㊀㊀㊀文章编号:2095-2163(2019)04-0187-05中图分类号:TP391.41文献标志码:A基于BP神经网络的水果识别研究于悦洋,王㊀冰,王㊀静,汤㊀乔(西安石油大学计算机学院,西安710065)摘㊀要:本文介绍了一种基于BP神经网络的水果识别方法㊂随着模式识别技术不断的发展,图像识别作为最具代表性的应用,受到了众多学者的关注,尤其是在图像快速识别方面㊂为了解决传统水果图像分类识别算法人工提取特征的缺陷,将经过训练的BP神经网络应用在水果的识别中㊂本实验使用数字图像处理的方法,首先对采集到的图像进行预处理,并针对多种水果混合的图像进行提取和识别㊂实验表明,基于BP神经网络的水果识别方法能够获得很高的识别率,能够有效地将同一幅图像中的不同水果识别出来㊂关键词:水果识别;图像处理;BP神经网络;MATLABFruitrecognitionbasedonBPneuralnetworkYUYueyang,WANGBing,WANGJing,TANGQiao(SchoolofComputerScience,Xi'anShiyouUniversity,Xi'an710065,China)ʌAbstractɔThispaperintroducesafruitrecognitionmethodbasedonBPneuralnetwork.Withthecontinuousdevelopmentofpatternrecognitiontechnology,imagerecognition,asthemostrepresentativeapplication,hasattractedtheattentionofmanyscholars,especiallyintheaspectofrapidimagerecognition.Inordertosolvethedefectoftraditionalfruitimageclassificationandrecognitionalgorithminartificialfeatureextraction,thetrainedBPneuralnetworkisappliedinfruitrecognition.Inthisexperiment,digitalimageprocessingmethodisused.Firstly,thecollectedimagesarepreprocessed,andtheimagesmixedwithvariousfruitsareextractedandidentified.TheexperimentshowsthatthemethodbasedonBPneuralnetworkcanachievehighcorrectrecognitionrateandeffectivelyidentifydifferentfruitsinthesameimage.ʌKeywordsɔfruitrecognition;pictureprocessing;BPneuralnetwork;MATLAB作者简介:于悦洋(1997-),女,本科生,主要研究方向:通信工程;王㊀冰(1998-),女,本科生,主要研究方向:通信工程;王㊀静(1997),女,本科生,主要研究方向:通信工程;汤㊀乔(1999-),男,本科生,主要研究方向:通信工程㊂收稿日期:2019-04-180㊀引㊀言在中国,通常采用人工方式进行水果分级,而人工分级往往效率低㊁劳动量大㊁有较大的人工误差等,难以实现标准分级[1]㊂并且人工识别具有诸多的不稳定因素㊂因此,研究和开发水果自动实时分级系统,对经济㊁农业的发展具有广阔的应用前景㊂从80年代开始,国内外有许多学者研究水果分级的自动识别算法,近年来也出现了一些基于水果识别的算法,如郑小东等人[2]根据区域特征进行水果的自动识别㊂项辉宇等人实现了对苹果大小㊁缺陷以及颜色特征的检测㊂程荣花等人[3]对水果图像的主成分分析,从而对其进行识别预测㊂王水平等人[4]利用SVM分类器,对水果进行分类预测㊂这些方法虽然在水果识别中取得了一定效果,但对于同副图像中的多种水果识别还有欠缺㊂针对这一问题,本文基于BP神经网络对水果图像进行识别㊂首先,根据水果的不同特征,对图像进行预处理;然后,通过标签化处理将图像中各个连接成分进行分离,从而实现对水果特性的研究,再提取出不同水果的颜色㊁边界不规则㊁形状等基本特征,对得到的水果图像特征参数进行计算;最后,使用多幅图像训练BP神经网络,并完善水果特征库,以达到快速识别水果的目的㊂1㊀数字图像处理首先,本文对不同水果图片进行数字图像处理㊂目的是为了提高图片的质量,得到理想的图像效果㊂图像处理的方法有:图像变化㊁图像编码压缩㊁图像增强和复原㊁分割㊁描述等㊂本文采用图像识别方法的主要步骤为:首先,预处理图像;然后,对预处理的图像进行分割和特征提取;最后,对图像进行判断分类㊂图像分类多数情况采用传统的识别模式㊂传统识别模式分为2大类:统计模式分类和结构模式分类㊂近几年研究中,模糊模式识别㊁人工神经网络模式识别,这2种新兴的图像识别方法颇受学术界的广泛关注㊂本文图像预处理分为图像去噪㊁图像增强和图像二值化3个步骤㊂本文采用中值滤波法对图像去噪,中值滤波法是一种去噪声的非线性平滑处理办法㊂本文采用反锐化掩模法[5]对图像增强,该方法是一种常用的图像锐化方法,先模糊处理图像,再与原图进行差值运算,再乘上一个修正因子,最后得到轮廓增强的图像㊂该算法表达式如下:g(x,y)=f(x,y)+C[f(x,y)-(f'(x,y)].(1)㊀㊀二值化是将图像呈现为黑白的对比效果的过程,该方法将图像像素的灰度值设为 0 或 255 ㊂图像阈值分割法是应用较普遍的图像分割技术,利用了图像的背景与对象之间的灰度差异㊂本文采用阈值分割法对图像进行二值化,从而得到效果更好的二值化水果图像㊂2㊀水果图像特征提取数字图像处理后,水果和背景被明显的分开㊂下一步,需要对每种水果进行特征提取㊂具有代表性的水果特征有:纹理㊁形状㊁颜色[6]等㊂计算机视觉技术主要通过从图像或者视频中提取出的物体特征,经对比区别出不同物体㊂在农业领域中应用的水果自动分类识别系统,也是通过提取所拍摄的水果图像中的特征参数,并以此为依据进行训练得到识别模型从而达到分类识别的目的㊂2.1㊀图像颜色模型水果的颜色特征在图像方向㊁尺寸等特征发生改变时无明显变化,因此,在图像识别中常用到颜色特征㊂颜色模型是用作精确标定且生成多种颜色的一种方法㊂对于显示设备来说,可以用红色㊁绿色㊁蓝色发光量来描述RGB㊂RGB又叫相加混色模型,其在实际生活中主要用于光照㊁显示器等中㊂(1)颜色特征,包括彩色和灰度信息处理;对于彩色信息处理,主要采用几种常见的色彩空间;而对于灰度信息处理,主要采用直方图技术㊂(2)红绿蓝3色光按不同比例和强度混合可以用其表示近乎所有自然界的可见光,其颜色模型称之为RGB色彩空间模型[7],如图1所示为RGB色彩空间模型㊂红绿蓝3色位于彩色立方体的3个顶角,其产生的点汇聚在彩色立方体的对角线上,即灰色线㊂在使用RGB模型时,由于任一基本色上无亮度,所有RGB颜色显示黑色㊂当3基色变为最高的高度,空间即会显现出白色㊂其余较低高度但等量的3种基色就显示灰色㊂RGB图像每一个像素的颜色值直接存放在图像矩阵中,通过3个MˑN的二维矩阵分别表示各个像素的3种颜色分量,R㊁G㊁B3个分量分别表示每一个像素的颜色,图像的行列数由M㊁N表示㊂白(w h i t e)黄(y e l l o w)RGB绿(g r e e n)红(r e d)蓝(B l u e)黑(B l a c k)品红(M a g e n t a)青(c y a n)图1㊀RGB色彩空间Fig.1㊀RGBcolorspace2.2㊀图像形状特征图像的形状特征是指将图像经过边缘提取和图像分割,从而得到目标的形状㊂形状的描述方法一般分为轮廓法和区域法2类㊂本文采用轮廓法㊂并对其结果进行美化,以达到更准确的识别㊂图像的形状特征主要包括周长和形状参数㊂(1)周长为整个边界的长度㊂周长通过计算物体边界上相邻像素的中心距的累加而得出㊂通常,面对倾斜方向,数据会产生一些误差,所以要用2倍的原有像素数进行计算修改㊂(2)物体的其中一个重要特征量是弧度,弧度是用于计算物体形状复杂程度的参数㊂将弧度进行比较,识别出不同的水果㊂在数字图像中,可以通过物体所占有的像素点数来计算面积㊂本文首先使用面积㊁周长㊁弧度等参数表示水果,再使用RGB颜色模式对不同的水果图像进行特征提取,产生3幅不同通道的直方图㊂通过直方图显示出的结果,提取不同水果中特有的特征,以达到识别水果的目的㊂3㊀BP神经网络BP神经网络在上世纪八十年代年被首次提出[8]㊂BP神经网络是一种有效的神经学习方法,是在误差反传算法的基础上产成的,并引入了反向传播原理,破传统网络结构,解决了非线性问题,是目前普遍应用的神经网络模型㊂BP神经网络通常由3个层次构成,分别是输入层㊁中间层㊁输出层[9]㊂由传递函数将各层连接,通过特定的学习算法来训练网络㊁调节权重,使输出不断接近预期值㊂输入层接受来自外部的输入信息,881智㊀能㊀计㊀算㊀机㊀与㊀应㊀用㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第9卷㊀其中间层(可为单隐层或多隐层)需要进行信息处理,各神经元上的信息经由最后一个隐层传送到输出层,处理完成的结果再通过输出层向外界发送㊂BP网络的结构如图2所示㊂c 1k c jkc qkc 1c jc q w p 1w 1jw 1qwi 1w i jw i q wp q L bwL avv1p v m p v n pb pa na nk a mka mv m iv n iv 1ib i b 1a 1a 1kv 11v m 1v n 1w 11………………L c 图2㊀BP网络结构图Fig.2㊀BPnetworkstructure㊀㊀BP网络具有非常强大的非线性映射能力,因此,能够学习和大量关于存储输入与输出之间的映射关系㊂3层BP神经网络可以在不描述函数映射关系的情况下逼近任意非线性函数㊂如图3示出了BP网络的向量图㊂a 2a 1b 2LW 2,1L W1,1b 1p 14?24?114?1n 1414?13?43?122?输入层隐层输出层3?133?1n 2a 1=t a n s i g (T W 1,1p +b 1)a 2=p u r e l i n (L W 2,1a 1+b 2)图3㊀BP网络的向量图Fig.3㊀Vectordiagram㊀㊀BP神经网络采用梯度下降算法,这种算法适用于非线性多层网络梯度的计算㊂BP神经网络算法的基本思路是:由前向神经网络实现正向传播,由递归神经网络(反馈神经网络)实现误差反向传播㊂这2个进程交替完成,在权向量空间执行误差梯度下降算法,从而使误差降到最低㊂其具体步骤如下:(1)初始化,给各连接权[u],[q]和阈值θi,ri各赋一个随机数;(2)由给定的计算方法,算出第一㊁第二层中各单元的输入和输出值㊂算法如下:bj=f(wijai-θj),(2)ct=f(vjtbj-rt).(3)㊀㊀其中,bj表示中间层第j个神经元最终输出结果;ct为输出层第t个神经元的最终输出结果;wij,vjt分别为输入层到隐层的连接权和中间层到输出层的连接权;(3)选取下一个输入模式再返回到(2)中反复训练直到输出误差达到要求为止㊂在BP网络的结构中,输入层与输出层之间含有多层神经元(其模拟人类大脑神经元拥有的基本功能:加权㊁求和㊁传递),这些神经元被称为隐单元,隐单元与外界没有直接的联系,但其状态的改变,会影响输入与输出之间的关系,每一层可以有无数个这样的节点㊂4㊀实验及结果分析4.1㊀实验框架本文的水果识别框架是根据不同水果特征,把需要的水果从中识别出来,其总体框架如图4所示㊂水果特征提取图像标签化图像预处理B P 神经网络原始水果图像水果识别图4㊀总体框架图Fig.4㊀Generalframework㊀㊀本文实验的具体步骤如下:(1)输入水果图像;(2)图像预处理;(3)图像标签化处理和图像特征参数计算,把每个区域都分开,根据提取的图像特征,将水果进行区分;(4)建立水果特征库,把采集的特征数据用BP网络进行训练,区分同一图片中的不同水果;(5)完成水果的识别㊂4.2㊀实验结果与分析本文实验环境中计算机系统为Windows10,处理器为Intel酷睿i53210M,主频为2.5GHz,内存为4GB,显存为1G,硬盘是500GB,实验是基于MATLAB开发工具㊂本文主要以苹果㊁橙子㊁香蕉为例㊂图5示出了水果图像处理结果图,依次为原始图像㊁边缘检测图像㊁OR运算分割图像和彩色标签化图像㊂从图中可以看出,通过一系列的图像处理可以将不同区域的像素分开,从而利于后续对图像特征的提取和图像特征参数的计算㊂㊀㊀表1为橙子㊁香蕉和苹果的特征参数数据表,从中可以看出,与其它2种水果相比,香蕉的特征最为明显,周长最大㊁弧度最小,根据该特征能够把香蕉从水果中分离出来㊂981第4期于悦洋,等:基于BP神经网络的水果识别研究(c )O R 运算分割图像(d )彩色标签化图像(a )输入图像(b )边缘检测图像(a )T h e i n p u t i m a g e (b )T h e i m a g e o f e d g e d e t e c t i o n(c )T h e i m a g e o f O R o p e r a t i o n d i v i d e(d )T h e i m a g e o f c o l o rl a b e l i n g图5㊀水果图像处理结果Fig.5㊀Generalframediagram表1㊀不同水果特征参数数据表Tab.1㊀Datatableofcharacteristicparametersofdifferentfruits橙子香蕉苹果面积327811周长322711弧度4.18880.06781.1424颜色1.22000.76051.6010㊀㊀图6所示为3种水果的RGB通道图及其直方图,由图可知,与其它2种水果对比,苹果的R通道直方图中其固定区域内的像素数量(200-300)与G通道和B通道像素和的比值为3水果中最大的,可得到苹果的比值最大,可知苹果的红色信息量最多㊂(a)香蕉颜色通道图及直方图(a)BananaRGBcolorchannelchartandhistogram(b)橙子颜色通道图及直方图(b)OrangeRGBcolorchannelchartandhistogram(c)苹果RBG颜色通道图及直方图(c)AppleRGBcolorchannelchartandhistogram图6㊀不同水果RGB颜色通道图及直方图Fig.6㊀DifferentfruitRGBcolorchannelchartandhistogram㊀㊀图7为本文BP网络的训练性能,横坐标代表训练次数,纵坐标代表均方误差,该误差值越小,说明实验结果与原图之间差异程度越低㊂从图中可以看出本文的BP网络经过10次训练,其均方误差为0.7ˑ10-3,识别准确度较高,可以直接进行水果识别㊂1010-110-210-310-40246810T r a i n B e s t G o a lM e a n S q u a r e d E r r o r /m s e10E p o c h sB e s t T r a i n i n g P e r f o r m a n c e i s 0.00022057a t e p o c h 10图7㊀BP网络的训练性能Fig.7㊀ThetrainingperformanceofBPnetwork091智㊀能㊀计㊀算㊀机㊀与㊀应㊀用㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第9卷㊀㊀㊀图8为本文设计的神经网络及其运行结果㊂测试结果表明,通过对不同测试样本的训练,对苹果的识别近乎完全正确,橙子和香蕉的识别率均为97%,这个结果进而证实了采用特征提取和BP神经网络识别水果的有效性㊂通过神经网络的不断训练,后期对图像的识别更加准确㊂就像人的大脑一样,对图像的特征不断进行记忆,使识别更加智能化㊂图8㊀本文设计的神经网络及运行结果Fig.8㊀Theneuralnetworkanditsoperationresultsofthispaper㊀㊀BP神经的优点:高效㊁智能㊂如果要更加准确,需要加入更多的特征,在颜色的准确性上需要改进㊂因为水果很多颜色较为相像,且需要更大的数据库㊂㊀㊀从实验结果中可以看出,BP神经网络的图像识别系统的自适应能力较强,且识别率也较高,是一种高效的检测方法㊂5㊀结束语本文采用数字图像处理的方法,对原始水果图像进行预处理并对RGB图像进行数据分析㊂通过对BP神经网络架构设计构建了基于MATLAB的水果图像识别系统㊂通过实验对比,本文算法误差较小㊁实时性较好㊁正确率高,能够实现对水果特征数据的准确识别㊂但是,本文提出的算法也存在不足,由于水果种类繁多,重点选取的香蕉㊁苹果等比较有特点的水果,所以实验结果较理想,若参杂其它水果种类,如青苹果㊁火龙果等,则需要对算法进行改进㊂参考文献[1]曾平平,李林升.基于卷积神经网络的水果图像分类识别研究[J].机械设计与研究,2019,35(1):23-26,34.[2]王水平,唐振民,范春年,等.基于SVM的水果分类算法研究[J].武汉理工大学学报,2010,32(16):44-47.[3]程荣花,马飞,梁亚红.形状相似水果自动化识别研究[J].山东农业科学,2015,47(8):116-118.[4]郑小东,王晓洁,李印清.自然环境下果实的自动识别技术[J].计算机应用与软件,2006(11):96-97,100.[5]项辉宇,薛真,冷崇杰,等.基于Halcon的苹果品质视觉检测试验研究[J].食品与机械,2016,32(10):123-126.[6]沈磊,苏建忠,郭肇敏,等.基于反锐化掩模技术的红外图像增强算法设计[J].南开大学学报(自然科学版),2019(1):29-35.[7]贺询.水果识别中图像特征综述[J].河南科技,2017(21):34-35.[8]HuangZ,ZhuQ.DetectionofRedRegionofFujiAppleBasedonRGBColorModel[J].Laser&OptoelectronicsProgress,2016,53(4):041001.[9]文周,林伟健.基于BP神经网络的水果气调包装机械故障诊断方法[J].包装与食品机械,2018,36(5):69-72.(上接第186页)[6]RAMOS-MERINOM,SANTOS-GAGOJM,ÁLVAREZ-SABUCEDOLM,etal.BPMN-E2:ABPMNextensionforanenhancedworkflowdescription[J].SoftwareandSystemsModeling,2018:1-21.[7]RAMOS-MERINOM,ÁLAVREZ-SABUCEDOLM,SANTOS-GAGOJM,etal.ABPMNbasednotationfortherepresentationofworkflowsinhospitalprotocols[J].JournalofMedicalSystems,2018,42:181.[8]YOUSFIA,HEWELTM,BAUERC,etal.TowarduBPMN-basedpatternsformodelingubiquitousbusinessprocesses[J].IEEETransactionsOnIndustrialInformatics,2018,8(14):3358-3367.[9]刘允,杨立军,罗先辉.翻转课堂和传统课堂教学模式比较研究 基于南京某高校翻转课堂教学调查[J].高等教育研究学报,2018,41(1):50-55,104.[10]章宗标.基于翻转课堂的实验教学系统设计与实现[J].浙江树人大学学报(自然科学版),2014,14(4):10-14.[11]MENZELC,MAYERRJ.TheIDEFfamilyoflanguages[M]//BERNUSP,MERTINSK,SCHMIDTG.Handbookonarchitecturesofinformationsystems.internationalhandbooksoninformationsystems.Berlin/Heidelberg:Springer,1998:209-241.[12]代飞,赵文卓,杨云,等.BPMN2.0编排的形式语义和分析[J].软件学报,2018,29(4):1094-1114.[13]倪枫,钟璐,王波.基于ROAD元架构的企业系统业务架构建模[J].上海理工大学学报,2017,39(3):262-268,294.[14]TheOpenGroup.TOGAFVersion9.1[S].Zaltbommel,Netherlands:VanHarenPublishing,2011.[15]朱刚,谭贤四,王红,等.军事体系结构框架元模型发展趋势[J].飞航导弹,2014(6):62-67.[16]陈禹六.IDEF建模分析和设计方法[M].北京:清华大学出版社,2000.[17]孙玉全,高展,薛劲松.CIMS设计过程中存在的一些问题及解决方案[J].计算机集成制造系统-CIMS,1999,5(6):55-61.[18]倪曌,白利芳,董奥冬.一种面向业务规则和流程的推理引擎架构[J].计算机应用与软件,2017,34(3):98-102,153.[19]PAULD.Complexeventprocessing-CORDYSsimplifyingbusiness[D].Nijmegen:RadboudUniversity,2007.[20]WILSONNB,CARMENZALA.Agilemethodologytodeveloparchitectureofinformationandknowledgeinorganizations(MADAIKE)[J].InternationalJournalofMachineLearningandComputing,2015,5(2):153-159.[21]GILLAQ.Agileenterprisearchitecturemodeling:Evaluatingtheapplicabilityandintegrationofsixmodelingstandards[J].InformationandSoftwareTechnology,2015,67:196-206.[22]王计斌,熊光楞,陈加栋.支持并行迭代的基于规则的产品开发过程建模[J].清华大学学报(自然科学版),1999,39(11):114-117.191第4期于悦洋,等:基于BP神经网络的水果识别研究。

基于神经网络及近红外光谱的草莓成熟度快速识别方法

基于神经网络及近红外光谱的草莓成熟度快速识别方法
成熟度图像识别依照编号顺序使用相机获取草莓的近红外光谱法是一种快速简便非破坏性的分析方法个水平垂直方向的图像利用软件对图像中的它充分利用全谱段或多波长下的光谱数据进行定性或定量像素进行分析取图像像素中的点作为有效像素归分析被广泛应用于食品石油化工医药等行业
安徽农业科学,Journal of Anhui Agri. Sci. 2012,40( 10) : 6292 - 6294
图 2 一阶导数光谱
中可以精确得到提取主成分贡献率最大的 6 个峰值点: 589 nm,664 nm,688 nm,951 nm,1 139 nm,1 387 nm。由于峰值会 随外部环境变化而发生偏移,为提高所建模型的适用性,故 分别在靠近各个峰值点两侧提取 10 个波段点作为特征变 量。共计优选出 60 个特征变量。
通过图 1 与图 3 的对比,发现提取的特征点与草莓的实 际情况基本相符。因为不同成熟度的草莓在其颜色( 红绿的 程度) 有差异,其含水量也有很大差别,因而在主成分分析图 上可以看到提取的波峰位置与草莓的可见光处绿光波段位 置,以及水分吸收峰的位置大体相符。故可以通过上述已提 取出来的特征波段点进行草莓成熟度识别。
表 1 草莓的着红率、个数与成熟度
着红率 < 60% 60% ~ 79% 80% ~ 95% 96% ~ 100%
草莓个数 3 18 23 46
成熟度 <Ⅰ Ⅰ Ⅱ Ⅲ
1. 3 近红外光谱采集 草莓图像采集完成后再按照编号 顺序进 行 近 红 外 光 谱 采 集。每 个 样 本 沿 赤 道 圆 周 处 间 隔 120°采集 3 次光谱,扫描 3 次,取 9 次均值作为该样本的原始 光谱数据。部分样本的近红外原始光谱如图 1 所示。87 个
样品取自实验室附近的句容市草莓种植基地,该基地从 12 月至次年 5 月均能提供不同成熟度的草莓。挑选萼片完 整、果形正常、色泽均匀、大小相近、不同成熟度的新鲜红颊 品种草莓 90 个,将其逐个编号后置于保温箱中送入实验室, 调控实验室温度与样本采摘前温度基本一致。 1. 2 成熟度图像识别 依照编号顺序,使用相机获取草莓的 4 个水平垂直方向的 RAW 图像,利用 Matlab 软件对图像中的 像素进行分析,取图像像素中 R / G > 1 的点作为有效像素[9],4 个方向的有效像素和与草莓总像素比作为草莓的着红率,结果 如表 1 所示。经图像识别,其中 3 个样本的成熟度小于 1,应剔 除,最终符合 3 个级别成熟度的样本共计 87 个。

吴裕雄python神经网络水果图片识别(3)

吴裕雄python神经网络水果图片识别(3)

吴裕雄python神经⽹络⽔果图⽚识别(3)import osimport kerasimport timeimport numpy as npimport tensorflow as tffrom random import shufflefrom keras.utils import np_utilsfrom skimage import color, data, transform, iotrainDataDirList = os.listdir("F:\\MachineLearn\\ML-xiaoxueqi\\fruits\\trainGrayImage")trainDataList = []for i in range(len(trainDataDirList)):image = io.imread("F:\\MachineLearn\\ML-xiaoxueqi\\fruits\\trainGrayImage\\"+trainDataDirList[i]) trainDataList.append(image)trainLabelNum = np.load("F:\\MachineLearn\\ML-xiaoxueqi\\fruits\\trainLabelNum.npy")testDataDirList = os.listdir("F:\\MachineLearn\\ML-xiaoxueqi\\fruits\\testGrayImage")testDataList = []for i in range(len(testDataDirList)):image = io.imread("F:\\MachineLearn\\ML-xiaoxueqi\\fruits\\testGrayImage\\"+testDataDirList[i])testDataList.append(image)testLabelNum = np.load("F:\\MachineLearn\\ML-xiaoxueqi\\fruits\\testLabelNum.npy")#乱序train_images = []train_labels = []index = [i for i in range(len(trainDataList))]shuffle(index)for i in range(len(index)):train_images.append(trainDataList[index[i]])train_labels.append(trainLabelNum[index[i]])#将标签转码train_labels=keras.utils.to_categorical(train_labels,77)#保存处理后的数据np.save("E:\\tmp\\train_images",train_images)np.save("E:\\tmp\\train_labels",train_labels)#加载上⾯保存的数据train77_images = np.load("E:\\train_images.npy")train77_labeles = np.load("E:\\train_labels.npy")#变成四维训练数据,两维标签dataset = train77_images.reshape((-1, 64, 64, 1)).astype(np.float32)labels = train77_labeles## 配置神经⽹络的参数n_classes = 77batch_size = 64kernel_h = kernel_w = 5#dropout = 0.8depth_in = 1depth_out1 = 64depth_out2 = 128image_size = 64 ##图⽚尺⼨n_sample = len(dataset) ##样本个数#每张图⽚的像素⼤⼩为64*64,训练样本x = tf.placeholder(tf.float32, [None, 64, 64, 1])#训练样本对应的真实labely=tf.placeholder(tf.float32,[None,n_classes])# y_ = tf.placeholder(tf.float32, [None, n_classes])#设置dropout的placeholderdropout = tf.placeholder(tf.float32)# 扁平化fla = int((image_size * image_size / 16) * depth_out2)#卷积函数def inference(x, dropout):#第⼀层卷积with _scope('convLayer1'):Weights = tf.Variable(tf.random_normal([kernel_h, kernel_w, depth_in, depth_out1]))bias = tf.Variable(tf.random_normal([depth_out1]))x = tf.nn.conv2d(x, Weights, strides=[1, 1, 1, 1], padding="SAME")x = tf.nn.bias_add(x, bias)conv1 = tf.nn.relu(x)#可视化权值tf.summary.histogram('convLayer1/weights1', Weights)#可视化偏置tf.summary.histogram('convLayer1/bias1', bias)#可视化卷积结果tf.summary.histogram('convLayer1/conv1', conv1)#对卷积的结果进⾏池化pool1 = tf.nn.max_pool(conv1, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding="SAME")#可视化池化结果tf.summary.histogram('ConvLayer1/pool1', pool1)#第⼆层卷积with _scope('convLayer2'):Weights = tf.Variable(tf.random_normal([kernel_h, kernel_w, depth_out1, depth_out2]))bias = tf.Variable(tf.random_normal([depth_out2]))x = tf.nn.conv2d(pool1, Weights, strides=[1, 1, 1, 1], padding="SAME")x = tf.nn.bias_add(x, bias)conv2 = tf.nn.relu(x)#可视化权值tf.summary.histogram('convLayer2/weights2', Weights)#可视化偏置tf.summary.histogram('convLayer2/bias2', bias)#可视化卷积结果tf.summary.histogram('convLayer2/conv2', conv2)#对卷积的结果进⾏池化pool2 = tf.nn.max_pool(conv2, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding="SAME")#可视化池化结果tf.summary.histogram('ConvLayer2/pool2', pool2)#扁平化处理flatten = tf.reshape(pool2, [-1, fla])#第⼀层全连接Weights = tf.Variable(tf.random_normal([int((image_size * image_size / 16) * depth_out2), 512])) bias = tf.Variable(tf.random_normal([512]))fc1 = tf.add(tf.matmul(flatten, Weights), bias)#使⽤relu激活函数处理全连接层结果fc1r = tf.nn.relu(fc1)#第⼆层全连接Weights = tf.Variable(tf.random_normal([512, 128]))bias = tf.Variable(tf.random_normal([128]))fc2 = tf.add(tf.matmul(fc1r, Weights), bias)#使⽤relu激活函数处理全连接层结果fc2 = tf.nn.relu(fc2)#使⽤Dropout(Dropout层防⽌预测数据过拟合)fc2 = tf.nn.dropout(fc2, dropout)#输出预测的结果Weights = tf.Variable(tf.random_normal([128, n_classes]))bias = tf.Variable(tf.random_normal([n_classes]))prediction = tf.add(tf.matmul(fc2, Weights), bias)return prediction#使⽤上⾯定义好的神经⽹络进⾏训练,得到预测的labelprediction = inference(x, dropout)#定义损失函数,使⽤上⾯的预测label与真实的label作运算cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=prediction, labels=y)) #选定⼀个优化器和学习率(步长)optimizer = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)merged = tf.summary.merge_all()#评估模型(准确率)correct_pred = tf.equal(tf.argmax(prediction, 1), tf.argmax(y, 1))accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))#初始会话并开始训练过程with tf.Session() as sess:tf.global_variables_initializer().run()for i in range(20):for j in range(int(n_sample / batch_size) + 1):start = (j * batch_size)end = start + batch_sizex_ = dataset[start:end]y_ = labels[start:end]#准备验证数据sess.run(optimizer, feed_dict={x: x_, y: y_, dropout: 0.5})#计算当前块训练数据的损失和准确率loss, acc = sess.run([cross_entropy, accuracy], feed_dict={x: x_, y: y_, dropout: 0.5})print("Epoch:", '%04d' % (i + 1), "cost=", "{:.9f}".format(loss), "Training accuracy", "{:.5f}".format(acc*100)) print('Optimization Completed')。

水果自动识别的BP神经网络方法

水果自动识别的BP神经网络方法

水果自动识别的BP神经网络方法陈源;张长江【摘要】针对多种水果混合的图像,对各种水果的提取和识别进行研究.利用Matlab软件进行图像数据获取、对比度增强、去噪、二值化处理;为弥补二值化后图像中出现的断边、孔洞,借助Sobel算子进行边缘提取以接合断边,并基于数学形态学算子填充孔洞.再标签化处理图像并提取水果的颜色、形状、边缘特征,用200幅水果图像提取上述特征构造训练样本和测试样本,然后利用构造的样本对BP神经网络进行训练和测试.实验结果表明,所提出的方法能够获得很高的正确识别率,能够有效地将同一幅图像中的不同水果识别出来.【期刊名称】《微型机与应用》【年(卷),期】2010(029)022【总页数】5页(P40-43,48)【关键词】BP神经网络;水果识别;二值化;标签化;MATLAB【作者】陈源;张长江【作者单位】浙江师范大学,数理与信息工程学院,浙江金华321004;浙江师范大学,数理与信息工程学院,浙江金华321004【正文语种】中文【中图分类】TP389.1我国一直是水果、蔬菜生产大国,水果分拣基本上仍由人工完成,虽然成本低廉,但劳动力大、生产效率低,产后商品化处理技术和设备落后,用肉眼评判水果的好坏,分级标准不一和分级精度不稳定,导致产品缺乏市场竞争力,出口数量少、价格低[1]。

因此找到一种高效的机械分拣方法非常必要,在我国具有十分重要的经济价值和广阔的应用前景。

计算机图像处理及识别是计算机应用技术的一个重要方面,在电子工业、人工智能、工业自动化、生物医疗工程、卫星遥感等众多领域中占有极其重要的地位[2]。

近年来,计算机图像处理及识别的研究在我国受到了广泛的重视,取得了卓有成效的进展,逐步迈向实用阶段。

图像识别主要是研究用计算机代替人自动地去处理大量的物理信息,解决人类生理器官所不能识别的问题,或是直接帮助人识别信息从而简化劳动[3]。

机械分拣短时、高效的特点符合果蔬产品的时间特性,能及时地分拣出高质量的水果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于神经网络的水果识别(收藏) 水果识别一、水果识别算法设计:
从水果图像可以看出,仅从水果的主要颜色就可以把它们区分开。

于是我们先提取出主要颜色,然后用 BP 神经网络进行分类。

设计步骤如下:
1) 用 K-均值方法对每幅图像进行聚类。

然后提取出水果的主要颜色。

2) 把每幅图像水果主要颜色的 R、G、B 三个分量分别作为水果的三个特征,把它们作为神经网络的输入。

3) 把一部分提取出的水果特征作为训练样本训练 BP 网络。

4) 读取未知类别的水果图像,然后用 K-均值聚类,提取主要颜色,把主要颜色的 R、G、B 三个分量输入到训练好的神经网络,即可对水果进行分类。

二、实验 1 、特征提取用 k-均值方法对水果图像分类,要分的类别数依赖于图像颜色复杂度,从图像可直观看出三种水果的主要颜色有较大的区别,因此,我们把图像聚成两类,然后提取出主要颜色。

以下是一幅桃子图像聚类的结果原始图像聚类结果把所有水果主要颜色的 R、G、B 三个分量以及每个水果所属类别存放到一个数据文件里(我们存放在 characters.mat 里),以
1 / 5
提供给训练及测试神经网络用。

2 、训练神经网络首先我们选择比较常用的 BP 网络。

网络为两层,其中第一层的传递函数为tan-sigoid,在输出层使用线性传递函数(purelin)。

由于我们要得到的是三个目标,所以输出层使用 3 个神经元,而第一层的神经元需要有试验确定,在这个实验中,通过反复试验,我们发现第一层使用 6 个神经元最为合适,这个时候误差能够达到最好,分类效果也比较理想。

神经网络训练过程中,我们从 characters.mat 文件中读取所有水果的特征和水果所属类别,作为样本。

其中一半的样本用于训练,训练最大循环次数为 100,然后用所有的样本进行测试。

由于每次的初始化是随机的,因此,我们可以反复训练,然后记录训练结果比较的网络。

训练过程发现,网络识别率很容易达到100%,以下是我们训练过程中识别率为 100%时,神经网络的收敛图。

最后的误差可达610 。

0 10 20 30 40 50 60 70 80 90 10010-610-510-410-310-210-1100101100
EpochsTraining-BluePerformance is 3.09984e-006, Goal is 0 三、方法比较 1 、提取两个主颜色上面的方法中,我们只提取一个主颜色作为水果特征,如果我们提取两个组颜色作为水果特征,结果
---------------------------------------------------------------最新资料推荐------------------------------------------------------
会不会更好呢?我们先对图像聚成两类,然后分割出水果,对分割出的水果再聚两类,提取出两个颜色作为特征。

然后训练网络。

我们发现这种情况下识别率仍然为 100%,但收敛速度很快,最后误差可达1210 下图是其收敛过程。

不过这种情况下,结果很依赖于神经网络初始值的选择,初始值不好,结果会比较差。

0 10 20 30 40 50 60 70 80 90 10010 -1210 -1010 -810 -610 -410 -210 0100 EpochsTraining-BluePerformance is 1.86217e-012, Goal is 0 2 、加入粗糙度特征从水果图可以直观看出,从颜色上很容易把苹果分开,但是个别桃子和桔子有较大的相似度,然而,可以发现桔子表面比桃子表面光滑,于是,我们可以想到加入纹理特征(这里指粗糙度),来更好的区分桃子和桔子。

粗糙度的计算用如下公式:
( , , ) ( , ) ( , ) ( , ) ( , )( , ) ( , ) ( , ) ( , )g i j d f i j f i d j f i j f i d jf i j f i j d f i j f i j d= + + + + + 计算所有的 g(i,j,d)(本文中 d=3),然后计算平均值,作为粗糙度特征,于是我们用一个颜色和一个粗糙度作为水果特征,然后训练神经网络。

从结果种情况下识别率仍然为 100%,但收敛速度最快,最后误差可达1710 下图是其收敛过程。

3 / 5
不过这种情况下,结果还是比较依赖于神经网络初始值的选择,初始值不好,结果会比较差。

总的来说,这是效果最好的。

0 5 10 15 20 25 30 35 4010-1810-1610-1410-1210-1010-810-610-410-210040 EpochsTraining-BluePerformance is 6.37405e-018, Goal is 0 三种情况比较:
特征情况识别率收敛速度对网络初始值的倚赖程度一个主颜色 100% 一般较小两个主颜色 100% 较快很大颜色和粗糙度100% 最快较大(综合效果最好)程序文件:
fruitrecognize.m 水果识别主程序 fruitrecognize.fig 水果识别界面characters1.mat 一个颜色是的所有水果特征characters2.mat 一个颜色是的所有水果特征 characters3.mat 一个颜色特征和粗糙度特征 bpnet1.mat bpne1t.emf 以一个颜色作为特征时训练的网络和误差图。

bpnet2.mat bpnet2.emf 以两个颜色作为特征时训练的网络和误差图。

bpnet3.mat bpne3t.emf 颜色和粗糙度作为特征时训练的网络和误差图。

在 matlab 下运行 fruitrecognize.m 即可进入水果识别界面。

相关文档
最新文档