http://www.mpmpc.cn/file/upload/202112/07/16-14-00-42-1.gif
 
 
 
当前位置: 首页 » 电子期刊 » 技术应用 » 正文

基于深度学习的猪胴体图像分级系统设计与实现

韩宏宇 沈阳工业大学信息科学与工程学院

      来源:《肉类产业资讯》    2021年第4期
 
内容摘要:本章主要构建了针对猪胴体图像分级的卷积神经网络模型,选用TensorFlow计算框架,采用以AlexNet网络模型为蓝本的八层网络结构,通过对网络参数的修改,调整卷积层中池化运算的数量和策略、网络中卷积核的尺寸与数量,分析得到不同的分类效果来选择更有益于提高网络性能的模式,按照此模式对构建的网络模型进行修改,获得对猪胴体图像分级性能更好的网络模型。
  《续》
第 4 章 猪胴体图像分级模型 CNN-P

  本章主要构建了针对猪胴体图像分级的卷积神经网络模型,选用TensorFlow计算框架,采用以AlexNet网络模型为蓝本的八层网络结构,通过对网络参数的修改,调整卷积层中池化运算的数量和策略、网络中卷积核的尺寸与数量,分析得到不同的分类效果来选择更有益于提高网络性能的模式,按照此模式对构建的网络模型进行修改,获得对猪胴体图像分级性能更好的网络模型。
  4.1  TensorFlow机器学习框架
  本文的网络模型搭建使用了TensorFlow机器学习框架,作为google公司开发的一款面向机器学习领域的开源框架,TensorFlow由Distbelief深度学习系统发展而来Distbelief学习系统由google公司开发,该项目由JeffDean主导,其衍生的面向图像分类的深度学习系统在2014年赢得了世界级图像识别大赛Image-Net的第一名。其实现的语义识别模型也性能极佳,一举将语义识别的误判率降低了四分之一,但Distbelie系统也存在着一些缺陷,其中实现与运作需要大量的google公司的内部框架支持,很难实现开源。因此google公司的开发团队通过对原系统的改进,研发了面向机器学习方面的TensorFlow计算架构。该框架基于Apache2.0开源协议,TensorFlow较其前身具有更加通用的运算模块、更高速的计算能力、更全面的平台支持和更多的深度学习算法,整体的稳定性也更好。在google公司的翻译服务、电子商务平台、广告推广、语音识别等众多领域均大量采用了TensorFlow框架的支持。在学术界,TensorFlow也得到了很广泛的关注,越来越多的项目中采用或参考了TensorFlow,在深度学习网络模型搭建方面,TensorFlow框架与很多其他深度学习框架都在不断优化完善,本文选择TensorFlow不仅因为其具有更加规范化的代码以及更加全面的项目文档,更重要的是其具备的以下几大亮点。
  (1)应用广泛
  TensorFlow在建立深度学习系统过程中有广泛的应用,其不仅架构齐全也可以达到简化计算过程的作用。在具体的构件过程中可用到Python和C++,可以通过Python抽象处理,来得到相应的程序,也可以应用相应的C++编写。
  (2)易于不同平台间的移植
  框架对各种设备普遍具有很强的支持性,可以在很多平台上运行,也可以在台式机运行,因而对设备的依赖性低,可移植性很强。
  (3)支持更多底层操作
  为了实现对底层的操作,框架对很多的硬件也可以做到普遍性的支持,可以直接实现针对结点的分配与处理,使网络高效得进行并行化处理,来满足相应的应用要求。
  (4)开发环境更丰富
  除了可以在Python开发环境下使用外,框架还提供了应用C++语言的开发环境,相比一些框架只能面向集成化开发环境的现状,TensorFlow框架提供了更多的选择。在使用过程中,可根据需要利用不同的语言环境。在操作过程中可以通过可视化工具将计算结果通过一定的形式显示出来,而对应的参数、运行结构也可以通过同样的方式输出。
  (5)封装微积分运算包
  一些机器学习算法的原理是根据梯度运算进行的,对于这些涉及梯度下降算法的部分往往需要大量的微分运算,TensorFlow框架可以方便地应用相应的自动求导功能,在此计算过程中要定义结构,对模型进行绑定处理后,会自动计算相关的导数。
  TensorFlow框架在处理过程中用到数据流图工具,可以通过“结点”和“线”,描述相应的数据运算处理,而“结点”一般用W表示,和数据运算存在一定的相关性,“线”主要反映出相应“结点”之间的数据关系。张量具体表示为一种特殊的多维数组,输入端所有的张量准备完毕时,就可以对节点进行分配,且可以开始异歩计算。
  4.2  基础模型的设计
  本章主要通过构建卷积神经网络实现对猪胴体图像的分级。本次研究中首先基于经典的卷积神经网络模型AlexNet建立了面向猪胴体分级应用的神经网络模型,然后通过此网络模型对猪胴体图像库的图像进行扫描分析,确定出图像的分类特征。接下来利用经过训练的网络模型对猪胴体图像数据集进行识别研究。其中作为基础模型AlexNet(后文简称A模型)的网络结构较其他多层神经网络结构具有如下特征:
  (1)将Dropout过程作为网络中默认的一部分
  A模型将Dropout这一过程加入到对应的全连接层的ReLu部分,将其中一部分的神经元去掉,来简化分析过程,并满足拟合要求。这种优化方法是由学者Hinton在一次关于神经网络特征提取研究过程中提出的。
  通过这种方法对模型进行训练时,其中随机选择隐藏层节点,使其权重暂时不参与网络传递。对应的节点在此时可以不参与计算,对权重进行保留,在其后的输入操作过程中,这些节点会随机开始工作。对应的运行情况具体见图4.1(b)所示,没有添加此方法的神经网络模型结构见左图。通过这种方法可以有效地减少参与训练的神经元数量,仅训练部分神经元,在一定的训练时间情况下,相应的分类结果满足系统的准确性要求,有利于防止过拟合问题的出现。

图 4.1 dropout 方法对应的网络模型
  (2)ReLu层
  在A模型中,通过应用ReLu函数代替传统的激活函数,ReLU函数是一种非线性函数,但也可以将其看作一种分段线性函数。主要特征表现为反向求导更容易且不必进行除法操作,并且出现梯度发散现象可能性很低,有效地提高了网络判别结果的精度。
  (3)LRN层
  LRN层的字面意思是局部响应归一化,通过对各个像素点的数据全部进行归一化处理,设置LRN层能有效避免由于数据在不同层中的不同分布导致的拟合困难及训练速度低下等问题。
  在此分析过程中确定出的初始网络中相应的全连接层与卷积层对应的参数具体情况如表4.1、4.2所示。

表4.1  全连接层网络参数设置
全连接层 激活函数 dropout
fc1 RELU
fc2 RELU
fc3

表 4.2 卷积层网络参数设置
卷积层 卷积 池化 激活函数 填充
C1 卷积核数量:96 卷积核大小:11×11 步长:4 池化大小:3×3 步长:2 RELU valid
C2 卷积核数量:96 卷积核大小:5×5 RELU valid
C3 卷积核数量:256 卷积核大小:3×3 RELU valid
C4 卷积核数量:256 卷积核大小:3×3 池化大小:3×3 步长:2 RELU valid
  4.3  猪肉识别的影响因素
  在农产品图像的分类识别中,分析各参数对图像识别的影响,主要根据感受野的大小,卷积核的数量、卷积层的数量的改变水平来确定。可以在此基础上确定出不同参数方法的作用,更好的得到图像识别模型。
  4.3.1  卷积核个数与尺寸的分析
  卷积操作在利用深度学习进行图像处理的过程中被广泛应用,其原理主要是利用卷积核来提取图像特征。提取图像特征时,最重要的环节就是选择卷积核,也就是设置卷积核的数量、尺寸及步长的相关参数。其中卷积核的数量与特征映射图的个数有关,对应的特征图和上层图像的描述存在一定的相关性。特征映射图的数量也可以在一定程度上反映出相应特征的描述能力。从理论上讲,这种图的数量越多,网络的学习能力就越强。不过实际应用中卷积核数量应该控制在一定的范围内,并非越多就越好。根据实际使用的结果表明,如果选取的特征数量超过了一定水平,会导致网络结构过于复杂,也就明显的增加了数学计算难度,且在一定情况下还会出现过拟合问题。卷积核的尺寸决定了特征映射图的大小。在图像卷积的操作过程中,步长的大小主要会影响到特征数量。在此操作过程中,如果对应的图像像素尺寸为(n,n),对其进行卷积操作,核只有一个,其大小设定为(w,w),设置的步长大小为 k,卷积处理后可以确定出l个特征映射图,特征映射图的大小如如公式(4.1)所示:
  (4.1)
 
  通过这种网络结构对图像进行卷积的过程中,需要确定边界参数的选择是SAME模式还是VALID模式。其中选择VALID就是对图片直接进行特征提取,在进行卷积池化过程中,对输入图像不进行变化。SAME模式则是在图片外围添加n层0来改变图像尺寸方便卷积运算,n可以通过公式(4.2)、(4.3)来确定,然后根据所得结果再利用VALID模式进行卷积操作。在此运算情况下输入的图像和卷积处理后的图像的尺寸一致,可以避免卷积核的尺寸对卷积运算后图像尺寸大小的影响。
  横向扩充层数n_ h (卷积核横向的大小-1) / 2             (4.2)
  纵向扩充层数n_ v (卷积核纵向大小-1) / 2                (4.3)
  根据卷积神经网络的特性可知:卷积核数量会影响到网络模型的识别效果。本文研究中,采用保持其他的参数固定,对模型卷积核的数量进行逐步增加的方法以确定不同的影响效果。具体数量设置如下,改变C2、C3及C4卷积层的卷积核数量为:96-96-128;96-128-128;96-128-256;128-256-256;256-256-384;256-384-384;384-384-384。然后在此基础上通过模型来对图像库进行训练,所得结果具体如图4.2所示。

图 4.2 采用不同卷积核数量对应的误判率
  分析以上结果可知,增加卷积层中卷积核的数量,可以使网络训练的拟合结果在一定程度上有所提高,同时图像的识别率也会有显著提高。同时随着卷积层数量的增加,相应的整体网络规模也明显增加。网络规模的扩大伴随着数学计算量的增大,过大的计算量会使网络的训练及识别速度受到一定的影响。一旦输入图像的尺寸超过了一定的限度,模型的训练效果也会受到明显的影响,对应的识别效率会明显降低。在网络的训练识别过程中,通过缩小卷积过程中卷积核的尺寸也可以有效地提高图像的识别率。从理论上来讲在其他参数不变的情况下,与单个像素点大小相同的卷积核对应的识别效果可以达到更高的水平。但卷积核过小会伴随着噪声干扰问题的明显加大,反而影响了图像的识别效果,在此情况下应该适当的控制。而在一般情况下,网络模型大部分选择了尺寸为3×3-5×5的卷积核进行卷积处理。
  4.3.2  池化操作和范围的分析
  池化操作(子采样)就是在一定的卷积操作处理后,为有效的降低特征维度而对特征映射图进行处理。根据实际的处理结果表明:这种方法处理后,相应的数据参数可以大幅度减少,而处理的结果在进行旋转、平移操作后,图像性质依然保持不变。通过这种方法进行处理时,可以选择随机采样、最大值采样、均值采样等几种类型,相应的操作过程具体如图4.3所示。

图 4.3 不同池化方法示意图
  选择最大值采样的方法进行采样时,主要是获取上一层中池化区域中对应的最大参数并将其选作为神经元参数。均值采样过程中则对上一层池化区域中对应的参数求平均值,然后将所得结果作为相应的参数值。研究表明,最大值采样方法对图像细节边缘的影响最小,对纹理特征的保留效果最好。平均值采样因其均值化的特点,可以减少池化运算对图像整体背景的影响,对网络参数中池化范围尺寸选择的限制较小,均值化方法可以有效地降低与原图对比的方差。随机采样方法是根据上一层池化区域对应的参数的数值对应设定概率,参数数值被选择的概率由数值本身的大小决定。通过对几种池化方法的分析可知:池化层各参数会明显的影响到图像识别的效果,因而本文在进行研究时,控制其他的参数不变,在2层池化层分别选择这三种采样方法进行采样,并修改其各自的池化大小,分别设置为2×2、3×3、5×5,在此基础上进行池化处理,选择后者时,边界参数选择SAME来进行模拟分析。在以上参数设置的基础上对猪胴体进行图像测试,采用各池化范围的网络模型测试误判率如图4.4所示。

图4.4  不同池化方法和大小对猪胴体图像识别的影响
  如图4.4所示,分析此结果可发现,噪音和池化大小存在一定的相关性,扩大池化区域范围,则对应的噪音影响越大,进而明显的影响识别效果。同时进一步分析可知:过小的池化范围会导致过拟合问题。同时不同池化方法的最优池化范围选择也不同,如在最大池化方法中,最优大小为3×3。在测试过程中,虽然整体拟合效果随着池化范围的减小而不断地提高。但在实际应用中对网络模型进行训练时,相应的3×3池化可以起到更好的识别效果,原因在于尺寸为2×2的池化识别过程中会有更大的可能性产生过拟合问题,对比分析这几种方法的图像识别结果,可以发现最大值池化方法的识别效果明显好于其他两种方法的。
 
  《未完待续》

 
http://www.mpmpc.cn/news/show.php?itemid=34711
 
关注"肉食界"微信公众号
专注肉类纵横资源,服务于肉类全产业链的信息“复兴号”
[ ]  [ 打印 ]  [ 投稿 ]  [ 关闭 ]  [ 评论 ]  [ 返回顶部
 
 
免责与声明:

1. 转载本网内容,请注明来源“中国肉类机械网”,或与本网联系,违者将追究法律责任。

2. 本网转载编辑的内容,版权由原作者或资料提供方所拥有,本站不承担任何法律责任。

3. 如涉及内容、版权等问题,请在15日内与本网联系,我们将及时作出回应或删除相关内容并致歉!

4. 友情提醒:网上交易有风险,请买卖双方谨慎交易,谨防上当受骗!

5. 投稿与合作热线:010-88133989, E-mail:info@mpmpc.org


 
 
 
热点推荐
新闻排行
 
×关闭
http://www.xinglongjixie.com/
×关闭
http://www.mpmpc.cn/news/show.php?itemid=27579