基于迁移学习的多尺度特征融合牦牛脸部识别算法

智慧农业(中英文),2022,4(2):77-85doi:10.12133/j.smartag.SA202201001

专题——智慧畜牧关键技术与装备

2.青海省玉树州动物疫病预防控制中心,青海玉树815000

2.AnimalDiseasePreventionandControlCenterofYushuTibetanAutonomousPrefecture,Yushu815000,China

收稿日期:2022-01-02

Received:2022-01-02

作者简介Aboutauthors

牦牛个体身份标识是实现个体建档、行为监测、精准饲喂、疫病防控及食品溯源的前提。针对智慧畜牧智能化、信息化等养殖平台中动物个体识别技术应用需求,本研究提出一种基于迁移学习的多尺度特征融合牦牛脸部识别算法(TransferLearning-MultiscaleFeatureFusion-VGG,T-M-VGG)。以预训练的视觉几何组网络(VisualGeometryGroupNetwork,VGG)为骨干网络构建基于迁移学习的卷积神经网络模型,获取其Block3、Block4、Block5输出的特征图,分别用F3、F4、F5表示,将F3和F5经过三个不同膨胀系数的空洞卷积组成的并行空洞卷积模块增大感受野后,送入改进的特征金字塔进行多尺度特征融合;最后利用全局平均池化代替全连接层分类输出。试验结果表明,本研究提出的T-M-VGG算法在194头牦牛的38,800张数据集中识别准确率达到96.01%,模型大小为70.75MB。随机选取12张不同类别牦牛图像进行面部遮挡测试,识别准确率为83.33%。本算法可以为牦牛脸部识别研究提供参考。

关键词:牦牛;脸部识别;迁移学习;特征金字塔;T-M-VGG

Keywords:yak;facerecognition;transferlearning;featurepyramidstructure;T-M-VGG

本文引用格式

陈占琦,张玉安,王文志,李丹,何杰,宋仁德.基于迁移学习的多尺度特征融合牦牛脸部识别算法[J].智慧农业(中英文),2022,4(2):77-85.doi:10.12133/j.smartag.SA202201001

CHENZhanqi,ZHANGYu'an,WANGWenzhi,LIDan,HEJie,SONGRende.MultiscaleFeatureFusionYakFaceRecognitionAlgorithmBasedonTransferLearning[J].SmartAgriculture,2022,4(2):77-85.doi:10.12133/j.smartag.SA202201001

牦牛素有“高原之舟”之称,能够带动青藏高原地区牧民脱贫致富。但目前藏区牦牛养殖仍处于传统模式,缺乏信息化、智能化管理设备的广泛应用。对于中小规模养殖户来说,牲畜识别的主要方法是打耳标、颜色标记、热铁烙印等传统方法。耳标通过穿孔的方式安装在动物的耳朵上,会有细菌感染的风险,相互摩擦也会导致标签丢失。传统接触式识别技术不能为识别过程提供持久的保障。

图1牦牛脸部识别部分数据集

Fig.1Partofdatasetoftheyakfacialrecognition

为平衡各类别样本间的分布,增强模型的鲁棒性,对数据集中样本数量较少的类别采用数据增强扩充策略。

最后,对于样本数量明显过多的类别,随机剔除一部分样本,验证集的每一个类别数量保持相同。经过整理,数据集共计38,800张,对每个类别的样本顺序编号,其中训练样本31,040张,占比80%,每个类别训练数量保持在170~210张;验证样本7760张,占比20%,每个类别的验证数量保持在40张。其中训练集和验证集样本ID互斥。

试验配置环境如下:Ubuntu18.04.5LTS64位系统,GeForceGTX1080Ti图形处理器(GraphicsProcessingUnit,GPU)加速,CUDA和CUDNN版本分别为10.0和7.4.1.5,编程语言为Python3,基于Tensorflow的Keras深度学习框架完成试验训练及验证。

空洞卷积可以在不改变参数量大小的同时增加感受野。空洞卷积计算如公式(1)所示。

当前感受野大小如公式(3)所示。

图2并行空洞卷积结构

Fig.2Structureofparalleldilatedconvolution

图3常见特征金字塔结构

注:P3、P4、P5、P6、P7为特征层

Fig.3Commonusespyramidstructures

图4本研究构建的特征金字塔

Fig.4Theconstructedfeaturepyramidintheresearch

Algorithm特征金字塔算法实现

Input:F3、F4、F5、F6

Output:P

1defOurFPN(Input):

2P3=F3,P4=F4,P5=F5,P6=F6,Features=P3,P4,P5,P6

3forjinrange(len(Features)):

4C_Feature[j]=Conv2D(channels_num,kernel_size=1)Feature[j]#调整通道数

#P3_in、P4_in、P5_in、P6_in分别为通道数调整后的特征输入

6P6_UP=UpSampling2D()(P6_in),P65=Add([P6_UP,P5_in]),P65=SeparableConv()(P65)

#P6_in经过上采样与P5_in进行Add操作生成P65。P54、P43、P53生成操作相似

7P65_UP=UpSampling2D()(P65),P5_UP=UpSampling2D()(P5_in),P54=Add([P65_UP,P5_UP,P4_in]),P54=SeparableConv()(P54)

#P65_UP和P5_UP经过上采样后与P4_in进行Add操作生成P54

8P54_UP=UpSampling2D()(P54),P4_UP=UpSampling2D()(P4_in),P43=Add([P54_UP,P4_UP,P3_in]),P43=SeparableConv()(P43)

#P54_UP和P4_UP经过上采样后与P3_in进行Add操作生成P43

9P53=Add([P54_UP,P43]),P53=SeparableConv()(P53)

10P53_MaP=MaxPooling2D()(P53),P64=Add([P53_MaP,P54,P65_UP]),P64=SeparableConv()(P64)

#P53进行最大池化生成P53_MaP;P65经过上采样与P54、P53_MaP进行Add操作生成P64

11P64_UP=UpSampling2D()(P64),P=Add([P64_UP,P53]),P=SeparableConv()(P)

12returnP#返回特征P,送入分类部分

图5T-M-VGG结构

Fig.5Structureoftransferlearning-multiscalefeaturefusion-VGG

首先获取VGG16网络第三、第四和第五个卷积层输出的特征图F3、F4、F5,将F3、F5分别送入并行的空洞卷积模块P_DConv中。其次将P3、P4、P5、P6送入特征金字塔进行特征融合,P6由P5最大池化生成。最后把融合后的特征送入分类器输出结果。

表1试验方案参数设置

Table1Parameterssettingofexperimentalschemes

x=Activation('relu')(output)

x=GlobalAveragePooling2D(x)

x=Dense(194,activation='softmax')(x)

采用适合评价多分类任务的F1值(Macro_f1)和准确率(Accuracy)来评估模型的性能,各评价指标函数形式如下所示。

图6不同试验方案的准确率

Fig.6Accuraciesofdifferentexperiments

图7不同试验方案的损失值

Fig.7Lossvaluesofdifferentexperiments

表2不同试验方案的性能指标对照

Table2Comparisonofperformanceindicatorsofdifferentexperiments

可训练参

数量/M

综合上述分析,迁移学习方法能够显著地降低参数量,提升牦牛识别效果,特征金字塔结构能够提取丰富的牦牛面部特征进而完成识别过程。

图8T-M-VGG遮挡试验识别效果

Fig.8RecognitionresultsofT-M-VGGforocclusiontest

从标签号为1、42、49、76、83、161、168、172和192效果图可知,在遮挡牦牛非面部区域(身体,耳标,背景)的情况下,只有标签号76被预测为73,说明模型经过训练学习到的主要是面部特征,而非环境特征;从标签号为75和78效果图了解到,即使遮挡少部分脸部区域(非重要特征区域),模型仍然能够预测准确,但观察标签号为180的效果图,由于改变其面部明显特征,导致预测结果错误,这属于模型的正常表现。在12个类别中共有10个类别被T-M-VGG预测正确,准确率为83.33%。

本研究先后建立了并行的空洞卷积模块和改进的特征金字塔结构,结合迁移学习思想进行整合从而实现牦牛脸部识别算法,主要结论如下。

(1)提出的T-M-VGG模型在194头牦牛数据集中识别准确率为96.01%,模型大小为70.75MB。

(2)在本研究构建数据集上通过和其他方法对比验证,说明了多尺度融合和迁移学习结合在牦牛面部识别过程中的优越性。

模型还存在不足之处,下一步工作将致力于以下几个问题的研究:(1)继续增加牦牛类别数量,扩大分类样本,对面部特征极为相似的牦牛识别进一步优化,提升模型的性能;(2)探究牦牛生长周期中体征变化对识别的影响;(3)结合目标检测算法完成实时识别。

秦兴,宋各方.基于双线性卷积神经网络的猪脸识别算法

QINX,SONGG.Pigfacerecognitionalgorithmbasedonbilinearconvolutionneuralnetwork

何屿彤,李斌,张锋,等.基于改进YOLOv3的猪脸识别

HEY,LIB,ZHANGF,etal.PigfacerecognitionbasedonimprovedYOLOv3

刘忠超,何东健.基于卷积神经网络的奶牛发情行为识别方法

LIUZ,HED.Recognitionmethodofcowestrusbehaviorbasedonconvolutionalneuralnetwork

杨秋妹,肖德琴,张根兴.猪只饮水行为机器视觉自动识别

YANGQ,XIAOD,ZHANGG.Automaticpigdrinkingbehaviorrecognitionwithmachinevision

张宏鸣,周利香,李永恒,等.基于改进MobileFaceNet的羊脸识别方法研究

ZHANGH,ZHOUL,LIY,etal.Sheepfacerecognitionmethodbasedonimprovedmobilefacenet

魏征.基于全局和局部特征相结合的不完美牛眼虹膜识别技术研究

WEIZ.Researchonirisrecognitiontechnologyofimperfectbull'seyebasedonthecombinationofglobalandlocalfeatures

赵凯旋,何东健.基于卷积神经网络的奶牛个体身份识别方法

ZHAOK,HED.Recognitionofindividualdairycattlebasedonconvolutionalneuralnetworks

何东健,刘建敏,熊虹婷,等.基于改进YOLOv3模型的挤奶奶牛个体识别方法

HED,LIUJ,XIONGH,etal.IndividualidentificationofdairycowsbasedonimprovedYOLOv3

陈争涛,黄灿,杨波,等.基于迁移学习的并行卷积神经网络牦牛脸识别算法

CHENZ,HUANGC,YANGB,etal.Parallelconvolutionalneuralnetworkyakfacerecognitionalgorithmbasedontransferlearning

HANSENMF,SMITHML,SMITHLN,etal.Towardson-farmpigfacerecognitionusingconvolutionalneuralnetworks

MARSOTM,MEIJ,SHANX,etal.Anadaptivepigfacerecognitionapproachusingconvolutionalneuralnetworks

KUMARS,SINGHSK,SINGHR,etal.Deeplearningframeworkforrecognitionofcattleusingmuzzlepointimagepattern

JUNGDH,KIMNY,MOONSH,etal.Deeplearning-basedcattlevocalclassificationmodelandreal-timelivestockmonitoringsystemwithnoisefiltering

SALAMAA,HASSANIENAE,FAHMYA.SheepidentificationusingahybriddeeplearningandBayesianoptimizationapproach

WADAN,SHINYAM,SHIRAISHIM.Pigfacerecognitionusingeigenspacemethod

RASHIDM,GUX,LEEYJ.Interspeciesknowledgetransferforfacialkeypointdetection

WANGZ,BOVIKAC,SHEIKNHR,etal.Imagequalityassessment:Fromerrorvisibilitytostructuralsimilarity

陈桂芬,赵姗,曹丽英,等.基于迁移学习与卷积神经网络的玉米植株病害识别

CHENG,ZHAOS,CAOL,etal.Cornplantdiseaserecognitionbasedonmigrationlearningandconvolutionalneuralnetwork

李淼,王敬贤,李华龙,等.基于CNN和迁移学习的农作物病害识别方法研究

LIM,WANGJ,LIH,etal.Methodforidentifyingcropdiseasebasedoncnnandtransferlearning

LIUS,HUANGD.Receptivefieldblocknetforaccurateandfastobjectdetection

SZEGEDYC,WEIL,JIAY,etal.Goingdeeperwithconvolutions

LINTY,DOLLARP,GIRSHICKR,etal.Featurepyramidnetworksforobjectdetection

LIUS,QIL,QINH,etal.Pathaggregationnetworkforinstancesegmentation

TANM,PANGR,LEQV.Efficientdet:Scalableandefficientobjectdetection

樊湘鹏,周建平,许燕,等.基于改进卷积神经网络的复杂背景下玉米病害识别

FANX,ZHOUJ,XUY,etal.Corndiseaserecognitionundercomplicatedbackgroundbasedonimprovedconvolutionalneuralnetwork

SIMONYANK,ZISSERMANA.Verydeepconvolutionalnetworksforlarge-scaleimagerecognition

HOWARDA,SANDLERM,CHENB,etal.SearchingforMobilenetv3

SZEGEDYC,VANHOUCKEV,IOFFES,etal.Rethinkingtheinceptionarchitectureforcomputervision

x=Activation('relu')(output)...

从图6和图7可以看出本研究所使用的各个方法随着迭代次数增加,准确率不断地升高,损失值不断地降低,达到一定次数后曲线趋于平缓.Tr-L-VGG16冻结卷积层后,自定义全局平均池化层参与训练的参数量较少,损失值下降缓慢,准确率曲线上升平缓,识别效果很差;VGG16采用预训练模型参数初始化后,准确率提升很快,迭代次数为7时达到收敛状态;文献[9]采用并行的迁移学习VGG16结构识别牦牛,在本试验环境下,迭代次数为14时接近收敛状态,损失值在0.5附近;从表2中可以了解,Tr-L-VGG16方法由于可训练参数量最小,所以准确率最低.VGG16经过训练、验证后模型大小为502.48MB,所有方法中数值最高,不仅影响加载速度还增加存储开销.文献[9]模型大小为166.33MB,准确率为88.03%,并行的迁移学习结构仍会增加模型大小.T-M-VGG模型大小为70.75MB,准确率为96.01%,对比VGG16、Tr-L-VGG16准确率分别提高近3个和68个百分点;对比文献[9],牦牛识别方法准确率提高近8个百分点,模型大小减少约96MB,这说明了并行空洞卷积和特征金字塔的有效性....

THE END
1.通过机器学习让图像识别更精准更快速机器视觉是一种利用计算机系统分析和理解数字图像内容的手段。这项技术结合了计算机科学、电气工程和认知科学等多个领域,以模仿人类视觉系统工作原理来解析图片中的对象特征,从而能够执行诸如物体检测、分类以及跟踪等任务。 三、传统方法与挑战 传统图像处理算法依赖于手工设计的人类智慧,这限制了它们适应新环境或新类型数https://www.wbhgwbnd.com/ji-qi-ren/861790.html
2.图像识别算法都有哪些方法图像识别算法都有哪些方法 图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别算法已经取得了显著的进展。本文将介绍图像识别算法的主要方法,包括传统方法和基于深度学习的方法。https://www.elecfans.com/d/4033152.html
3.图像图像识别经典算法图像识别算法特征提取:从图像中提取有助于分类的特征。 模型训练:使用特征和标签数据集训练模型。 预测与分类:利用训练好的模型对新图像进行分类。 二、经典图像识别算法 1. Haar-like Features + AdaBoost (Viola-Jones) Viola-Jones算法是人脸检测领域的里程碑,它结合了Haar-like特征和AdaBoost算法。Haar-like特征简单且计算https://blog.csdn.net/yuzhangfeng/article/details/140436315
4.图像识别算法起源图像识别主流算法卫斯理的技术博客在图片识别方面,人工神经网络是应用最广泛、最有效的技术。神经网络同时执行许多数学过程,神经网络是面部识别系统的基础。 算法执行三个主要功能:识别图像、视频或实时流中的人脸;创建人脸的数学模型;并将模型与训练集或数据库进行比较以确认一个人的身份。 https://blog.51cto.com/u_12207/10760565
5.图片文字识别的算法分类算法中的难例图片判断华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:图片文字识别的算法。https://support.huaweicloud.com/topic/306993-1-T
6.基于深度卷积神经网络的物体识别算法以上物体检测的方法都只是利用RGB彩色信息,而没有利用深度信息。由于深度数据具有光照和颜色不变性,并且能提供彩色数据不能提供的几何信息,对深度数据提取额外的特征将大幅提升视觉算法的性能。华盛顿大学Lai等[9]创建了一个RGB-D物体数据库用于验证物体识别算法。这个数据库既包含彩色图片又包含对应的深度信息,分别约为https://html.rhhz.net/jsjyy/2016-12-3333.htm
7.图像识别算法有哪些图像识别十大经典算法图像识别是计算机视觉领域中的一个重要分支,它旨在让计算机能够理解和识别图像。下面将介绍一些常见的图像识别算法。 1.图像分类 图像分类是指将一张图像分类到不同的类别中。常用的图像分类算法包括卷积神经网络(CNN)、支持向量机(SVM)等。 2.目标检测 https://www.eefocus.com/e/518039.html
8.三年磨一剑——微信OCR轻松提取图片文字ocr算法文本行图6 长按图片分类标签体系 3. 通用OCR识别 (1)文本检测 常用的基于深度学习的文本检测方法一般可以分为基于回归的、基于分割的两大类,当然还有一些将两者进行结合的方法。 图7 常用文本检测算法 基于回归的方法分为 box回归和 像素值回归。 采用box回归的方法主要有CTPN、Textbox系列和EAST,这类算法对规则形状文https://dy.163.com/article/G5NTLL1U0518R7MO.html
9.秒懂算法基于主成分分析法随机森林算法和SVM算法的人脸识别本文的任务与手写数字识别非常相似,都是基于图片的多分类任务,也都是有监督的。 01、数据集介绍与分析 ORL 人脸数据集共包含 40 个不同人的 400 张图像,是在 1992 年 4 月至 1994 年 4 月期间由英国剑桥的 Olivetti 研究实验室创建。 此数据集下包含 40 个目录,每个目录下有 10 张图像,每个目录表示一个https://xie.infoq.cn/article/ca9d988d0f70305993976225a
10.给照片穿上“隐身衣”,最强人脸识别算法也失灵!业界推出最新AIFawkes ,已经让旷视、微软、亚马逊等公司的面部识别算法失灵。 来自芝加哥的调查团队称。Fawkes的正是为照片添加防识别“隐身衣”的AI软件,经检测,它已经在最先进的面部识别技术中取得了百分百的胜利。 我们先来看一组图片。 相信你很难看出两组照片有任何差别。事实上,后者已经过了Fawkes处理,并能够屏蔽任何人脸识别https://www.leiphone.com/category/industrynews/AZf9RS8Y63Uvxi2j.html
11.有哪些免费图片转word软件APP推荐有哪些免费图片转word软件下载豌豆荚有哪些免费图片转word软件榜单为您提供最新有哪些免费图片转word软件大全,这里不仅有有哪些免费图片转word软件安卓版本APP、历史版本应用下载资源,还有类似有哪些免费图片转word软件的应用推荐,欢迎大家前来豌豆荚下载。https://www.wandoujia.com/bangdan/395418/
12.基于改进残差网络的扬尘图像识别方法由于扬尘图像识别目前没有公开的数据集. 因此,通过在互联网上收集各类有关扬尘场景的图片, 整理形成训练集和测试集, 然后使用数据增强在训练集和测试集中生成更多的数据, 解决了该研究中没有数据集以及数据量不足的问题. 为了增强模型的泛化能力, 采用数据增强的操作扩充所需的数据样本, 让网络模型更好的适应各种应https://c-s-a.org.cn/html/2021/5/7909.html
13.深入解析机器学习核心概念分类特征有时称为离散特征。 与数值数据相对。 形心(centroid) 聚类的中心,由k-means或k-median算法决定。例如,如果 k 为 3,则 k-means 或 k-median 算法会找出 3 个形心。 检查点 (checkpoint) 一种数据,用于捕获模型变量在特定时间的状态。借助检查点,可以导出模型权重,跨多个会话执行训练,以及使训练在发生https://www.360doc.cn/article/7673502_976517820.html