CN116758589B - 一种处理姿态和视角矫正的牛脸识别方法 - Google Patents
一种处理姿态和视角矫正的牛脸识别方法 Download PDFInfo
- Publication number
- CN116758589B CN116758589B CN202311035205.9A CN202311035205A CN116758589B CN 116758589 B CN116758589 B CN 116758589B CN 202311035205 A CN202311035205 A CN 202311035205A CN 116758589 B CN116758589 B CN 116758589B
- Authority
- CN
- China
- Prior art keywords
- cow
- feature
- face
- representing
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 241000283690 Bos taurus Species 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 title claims abstract description 20
- 230000000007 visual effect Effects 0.000 title claims abstract description 12
- 238000012937 correction Methods 0.000 title claims description 13
- 238000011176 pooling Methods 0.000 claims abstract description 32
- 238000001514 detection method Methods 0.000 claims abstract description 31
- 230000004913 activation Effects 0.000 claims abstract description 16
- 230000010354 integration Effects 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000005728 strengthening Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 40
- 210000003128 head Anatomy 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 6
- 230000036544 posture Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 210000000624 ear auricle Anatomy 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 5
- 230000008859 change Effects 0.000 abstract description 2
- 210000001508 eye Anatomy 0.000 description 39
- 238000010586 diagram Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000002372 labelling Methods 0.000 description 7
- 238000009395 breeding Methods 0.000 description 4
- 230000001488 breeding effect Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 210000000887 face Anatomy 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000008267 milk Substances 0.000 description 2
- 235000013336 milk Nutrition 0.000 description 2
- 210000004080 milk Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 235000015278 beef Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 210000003054 facial bone Anatomy 0.000 description 1
- 210000001097 facial muscle Anatomy 0.000 description 1
- 235000012631 food intake Nutrition 0.000 description 1
- 229940088597 hormone Drugs 0.000 description 1
- 239000005556 hormone Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000001519 tissue Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/32—Normalisation of the pattern dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及生物图像识别技术领域,尤其涉及一种处理姿态和视角矫正的牛脸识别方法,包括如下步骤:S1:数据采集;录制视频并收集不同角度和不同侧面的牛脸数据;S2:构建牛脸检测‑矫正‑识别模型;牛脸检测‑矫正‑识别模型包括特征检测模块、特征编码与整合模块和特征识别模块;特征检测模块、特征编码与整合模块和特征识别模块中均包括特征强化分支和上下文感知分支,特征强化分支采用深度可分离卷积、Relu激活函数和最大池化操作进行组合,上下文感知分支采用深度可分离卷积、Tanh激活函数和平均池化操作进行组合;S3:对牛脸检测‑矫正‑识别模型进行训练。本发明可处理牛脸图像中的姿态和视角变化,获得更准确和鲁棒的牛脸识别结果。
Description
技术领域
本发明涉及生物图像识别技术领域,尤其涉及了一种处理姿态和视角矫正的牛脸识别方法。
背景技术
随着经济社会的快速发展,牛肉在食物消费中所占的比例越来越大,牛奶以及奶制品的消费需求也在不断增长。在养牛业不断壮大的同时,饲养方式的规模化和集约化程度、养殖场的信息化和智能化养殖程度越来越高,这种养殖方式均需通过牛脸的识别实现对养殖场的现代物联网技术管理,牛脸识别技术是基于图像中牛脸部特征的差异进行牛只身份识别的方法。
近年来,随着计算机视觉和深度学习的快速发展,牛脸检测和识别技术在农业领域逐渐得到广泛应用。通过使用先进的图像处理算法和机器学习模型,可以自动检测和识别牛脸图像,为畜牧业管理和动物研究提供了重要的工具。然而,牛脸图像可能因为姿势、表情、光线及遮挡等问题而对最终的检测识别产生难以估计的影响,且由于不同姿态和视角带来的图像差异,牛脸识别的准确性和稳定性将受到了一定的限制。
因此,为了克服上述问题,研究人员开始关注处理牛脸姿态和视角差异的方法。传统的方法往往将牛脸检测、姿态角估计和识别过程分为三个独立的阶段,涉及了多个模型和算法;然而,这种分步处理方法容易导致信息丢失和误差累积,将大大影响整体的识别性能。
综上所述,如何设计一种牛脸识别方法,可针对牛因运动造成姿态角差异和因拍摄角度不同造成视角偏差而对识别准确性造成影响的问题,是当下亟需解决的问题。
发明内容
本发明为解决上述问题,提供了一种处理姿态和视角矫正的牛脸识别方法,可通过数据采集、构建识别模型及对识别模型进行训练处理牛脸图像中的姿态和视角变化,并获得更准确和鲁棒的牛脸识别结果,可解决牛因运动造成姿态角差异和因拍摄角度不同造成视角偏差而对识别准确性造成影响的问题。
为达到上述目的,本发明提出如下技术方案:一种处理姿态和视角矫正的牛脸识别方法,包括如下步骤:
S1:数据采集;录制视频并收集不同角度和不同侧面的牛脸数据;
S2:构建牛脸检测-矫正-识别模型;牛脸检测-矫正-识别模型包括特征检测模块、特征编码与整合模块和特征识别模块;特征检测模块、特征编码与整合模块和特征识别模块中均包括特征强化分支和上下文感知分支;
S3:对牛脸检测-矫正-识别模型进行训练。
进一步地,S1包括如下步骤:
S11:数据预处理;
S111:对视频流数据进行关键帧提取,根据视频形式进行帧率选择;
S112:将筛选出的图像进行分类处理和去重处理,构建牛脸数据集;数据集划分为训练集、验证集和测试集;
S12:数据增强处理;
S121:将从不同摄像头或采集设备中获取的图像数据进行尺度归一化,同时利用直方图归一化,调整不同来源图像的对比度;
S122:将图像数据进行降噪、增强处理。
进一步地,S2中的特征强化分支采用深度可分离卷积、Relu激活函数和最大池化操作进行组合;S2中的上下文感知分支采用深度可分离卷积、Tanh激活函数和平均池化操作进行组合。
进一步地,S2中包括构建特征检测模块;构建特征检测模块时包括输入特征X和输出特征图Z;深度可分离卷积对于输入特征X、输出特征图Z的表示为:
其中,W代表深度卷积,V代表逐点卷积;利用深度可分离卷积提取牛脸特征,其中C代表提取特征的通道数、H1代表提取特征的高、W1代表提取特征的宽;表示输出特征(feature map)的元素;/>表示输入特征的元素;/>表示深度卷积的权重;/>表示逐点卷积的权重。
进一步地,S2中包括构建特征编码与整合模块,构建特征编码与整合模块包括如下步骤:
S21:通过深度可分离卷积操作提取局部特征;
S22:通过变压器编码器捕捉输入数据中的长程依赖关系;变压器编码器采用多头注意力机制,得到序列特征输入,其中A代表H1×W1;
变压器编码器使用自注意力机制来计算每个token位置和其他token位置的注意力权重;对序列输入特征F,自注意力计算如下:
其中,Q表示查询矩阵,K表示键矩阵,V表示值矩阵;该三个矩阵均为F的线性变换,其中dk为注意力头中查询和键的维度;
Softmax函数的数学表达式具体为:
其中,表示权重矩阵中的一个元素,对应查询位置Q与键位置K之间的权重;N表示序列的长度;e为自然欧拉常数;
变压器编码器选取多头注意力机制,具体为:
其中,Concat()表示将多个注意力头的输出拼接在一起,hi表示第i个注意力头的输出,num_heads表示注意力头的数量,Wo表示用于线性变换的权重矩阵;
S23:通过池化操作进行下采样。
进一步地,S2中包括构建特征识别模块,特征识别模块包括深度可分离卷积和变压器编码器;通过深度可分离卷积操作提取输入数据的局部特征,通过变压器编码器提取的局部特征进行编码和捕捉。
进一步地,S3包括如下步骤:
S31:将特征检测模块和特征编码与整合模块的输出送入多任务头中;多任务头包括牛脸检测任务、牛脸关键点定位任务和牛脸姿态角预测任务;当数据多为极端姿态或存在遮挡现象时,选取包括牛脸左眼中心、牛脸右眼中心、牛鼻中心、牛唇左嘴角、牛唇右嘴角、牛左眼左眼角、牛左眼右眼角、牛右眼左眼角、牛右眼右眼角、牛左耳中心、牛左耳左上尖端、牛左耳耳廓、牛右耳中心、牛右耳右上尖端、牛右耳耳廓在内的多个点作为牛脸的关键点特征;
S32:将经过多任务处理后的经过矫正的牛脸图像送入特征识别模块中进行识别;
S33:通过逐元素相乘进行融合,再使用全局平均池化对底层提取的牛脸特征进行整合;
S34:经过Softmax分类,得到对应于牛的身份号码的识别结果。
进一步地,S3中牛脸检测-矫正-识别模型包括损失函数,损失函数包括特征检测模块和特征编码与整合模块结果引入的多任务损失:
其中,表示牛脸分类损失,/>表示牛脸坐标框回归损失,/>表示牛脸关键点定位损失,/>表示牛脸姿态角回归损失;/>代表样本为牛脸的预测概率,/>为1代表正样本,0为负样本;/>和/>分别代表正样本相关的预测框和真实框坐标;/>和/>分别代表预测的牛脸关键点;/>和/>分别代表预测牛脸姿势和相应的地面真值,其中/>角度选取偏航角(Yp)、俯仰角(Pp)和侧滚角(Rp);分类损失选取Softmax二分类损失,坐标框回归损失和关键点定位回归损失选取Smooth-L1损失。
进一步地,具体如下所示:
。
进一步地,损失函数还包括分类损失函数;将经过全局平均池化后的特征向量输入到Softmax分类器中,并通过计算得到每个类别的概率分布,选择具有最高概率的类别作为牛脸的身份ID。
与现有技术相比,本发明能够取得如下有益效果:
1、本发明通过数据采集、构建牛脸检测-矫正-识别模型及对牛脸检测-矫正-识别模型进行训练,可更好地捕捉牛脸特征的各个层次和尺度,获得更准确和鲁棒的牛脸识别结果,避免牛因运动造成姿态角差异的问题,避免因拍摄角度不同造成视角偏差对识别准确性造成影响的问题。
2、本发明的牛脸检测-矫正-识别模型中包括两个分支,分别是特征强化分支和上下文感知分支,每个分支采用不同的卷积操作、激活函数和池化操作,可以充分利用不同尺度和层次的特征信息,通过两个分支还可以同时处理输入数据的不同尺度特征,从而增强模型的表达能力和特征捕捉能力;其中特征强化分支关注大尺度显著特征,可帮助模型进行全局感知和目标定位;上下文感知分支支关注细节和局部特征,可提升模型对纹理和细微变化的敏感性。
3、本发明在牛脸检测-矫正-识别模型的损失函数中定义了牛脸面部关键点定位任务和姿态估计任务,可通过协同作用建模关键点到头部姿态角之间复杂映射关系,同时考虑了360度的循环性,可以有效地避免角度差异带来的问题,并提高模型对偏航角的预测精度。
附图说明
图1是根据本发明实施例提供的牛脸检测-矫正-识别模型的整体框架图;
图2是根据本发明实施例提供的牛脸特征检测模块示意图;
图3是根据本发明实施例提供的牛脸特征编码与整合模块示意图;
图4是根据本发明实施例提供的牛脸特征识别模块示意图;
图5是本发明实施例提供的牛脸29点标注示意图;
图6是本发明实施例提供的牛脸眼部关键点选取与人脸眼部关键点选取的示意图;其中a图为人脸眼睛的标注示意图,b图为牛脸眼睛的标注示意图。
具体实施方式
在下文中,将参考附图1-6描述本发明的实施例。在下面的描述中,相同的模块使用相同的附图标记表示。在相同的附图标记的情况下,它们的名称和功能也相同。因此,将不重复其详细描述。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图1-6及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
一种处理姿态和视角矫正的牛脸识别方法,包括如下步骤:
S1:数据采集;利用手机或摄像头录制视频,并收集不同角度和不同侧面的牛脸数据。数据采集方式不对拍摄人员、拍摄角度和牛脸面向摄像机的视觉角度做约束,允许在以摄像机或拍摄人员为坐标轴原点的范围内采集-180°至+180°的图像,且选择在光线良好、没有背阴面的地方进行数据采集,以助于提高后续数据处理的精度。
当使用定头摄像机进行拍摄时,需确保拍摄牛只整体占据画面的60%以上;若画面中有多头牛,需确保整体占据60%以上,而对于单独一只牛,也要确保牛只占据60%以上的画面比例。
S1包括如下步骤:
S11:数据预处理。
S111:对视频流数据进行关键帧提取,根据视频形式进行帧率选择;通常选择每30秒抽一帧。
S112:将筛选出的图像进行分类处理和去重处理,构建牛脸数据集;以避免数据冗余,去重可选择SSIM、感知哈希等方式实现。
数据集划分为训练集、验证集和测试集,训练集、验证集和测试集的比例分别为6:3:1或7:0:3。
S12:数据增强处理。
S121:将从不同摄像头或采集设备中获取的图像数据进行尺度归一化,调整为相同尺寸840×840,同时利用直方图归一化,调整不同来源图像的对比度。
S122:将图像数据进行降噪、增强处理,数据增强可选择从图像角度增强,如锐化、去噪或色彩增强等方式,也可选择简单的翻转、旋转、平移和缩放等方式,数据增强方式可根据数据来源进行不同需求选择。
S2:构建牛脸检测-矫正-识别模型;牛脸检测-矫正-识别模型包括特征检测模块、特征编码与整合模块和特征识别模块;特征检测模块、特征编码与整合模块和特征识别模块中均包括特征强化分支和上下文感知分支。
特征强化分支采用深度可分离卷积、Relu激活函数和最大池化操作进行组合,通过最大池化操作和Relu激活函数,主要关注捕捉图像中的大尺度显著特征,如牛脸的整体形状和结构特征,如牛角和整体轮廓,最大池化操作对特征图进行下采样,保留最显著的特征,而Relu激活函数能够激活正值,抑制负值,帮助模型学习稀疏表示和具有判别能力的特征。
上下文感知分支采用深度可分离卷积、Tanh激活函数和平均池化操作进行组合,通过平均池化操作和Tanh激活函数,更加关注图像的细节和局部特征,如牛脸的纹理质感、眼睛、嘴巴等,平均池化操作对特征图进行下采样,平均采样特征值,有助于保留细节和局部信息,而Tanh激活函数可以增强模型对负数值的敏感性,并扩大输出值的范围,从而增强模型的表示能力。
此处特征强化分支和上下文感知分支对于特征提取的卷积块都选用深度可分离卷积,而对于不同问题的对抗,选用不同的激活函数和池化操作以提取不同类型的特征;通过将两个分支的特征进行融合,可以增强网络对牛脸的特征表达能力,有助于提高网络的鲁棒性,使得网络能够更好的识别和辨别不同牛脸的特征;这样操作的目标是因为我们通过实验发现不同品种的牛脸有着不同的外貌特征,例如奶牛、黄牛和黑牛的牛脸形态有所不同,尤其是纯色黑牛和纯色黄牛普通的卷积神经网络可能无法准确的识别其特征;采用这种分支结构可以让网络学习到适应不同牛脸的特征的表示,从而进行更好的分类或识别。
S2中包括构建特征检测模块;构建特征检测模块时包括输入特征X和输出特征图Z;深度可分离卷积对于输入特征X、输出特征图Z的表示为:
其中,W代表深度卷积,V代表逐点卷积;利用深度可分离卷积提取牛脸特征,其中C代表提取特征的通道数、H1代表提取特征的高、W1代表提取特征的宽;表示输出特征(feature map)的元素;/>表示输入特征的元素;/>表示深度卷积的权重,用以控制输入特征在不同深度上的权重;/>表示逐点卷积的权重,用以控制输入特征的不同深度与输出特征的不同深度之间的权重。
S2中包括构建特征编码与整合模块,构建特征编码与整合模块包括如下步骤:
S21:通过深度可分离卷积操作提取局部特征。
S22:通过变压器编码器捕捉输入数据中的长程依赖关系。变压器编码器(Transformer Encoder)是一种基于自注意力机制的神经网络结构,可以对序列数据进行全局交互和整合,能够学习到输入数据的上下文信息和全局特征表示。此处的变压器编码器采用多头注意力机制,得到序列特征输入,其中A代表H1×W1;上述调整是为了适应变压器编码器的输入要求,通过重新调整特征序列的形状,使其能够被变压器编码器有效地处理和建模。
变压器编码器使用自注意力机制来计算每个token位置和其他token位置的注意力权重;对序列输入特征F,自注意力计算如下:
其中,Q表示查询矩阵,K表示键矩阵,V表示值矩阵;该三个矩阵均为F的线性变换,其中dk为注意力头中查询和键的维度。
在变压器编码器中,每个输入单元都会与其他输入单元进行相互关联,并赋予每对单元之间的权重,从而捕捉输入之间的语义关系,这些权重由注意力分数来衡量,而这些分数最终通过Softmax函数进行归一化,然后与对应的输入单元进行加权求和,从而得到相关计算输出值,Softmax函数的数学表达式具体为:
其中,表示权重矩阵中的一个元素,对应查询位置Q与键位置K之间的权重;N表示序列的长度;e为自然欧拉常数。通过Softmax函数将注意力分数转化为概率分布,更好的表示查询位置与键位置之间的关系,以进行上下文关系的建模与信息提取。
为了捕获不同类型和粒度的依赖关系,变压器编码器选取多头注意力机制,它通过并行多个注意力头,每个头都拥有自己的查询、键和值的线性变换权重矩阵,最后,将所有的注意力头的输出进行拼接,然后进行另一个线性变换得到最终的输出;具体表示为:
其中,Concat()表示将多个注意力头的输出拼接在一起,hi表示第i个注意力头的输出,num_heads表示注意力头的数量,Wo表示用于线性变换的权重矩阵;在我们的实验中num_heads选取为8,使用者也可按照数据量和实验要求合理设置。
S23:通过池化操作进行下采样,以进一步整合和压缩特征;池化操作可以减少特征图的尺寸,并保留重要的特征信息,有助于提取更具代表性的特征。
该模块也采用特征强化分支和上下文感知分支来处理特征:
特征强化分支使用Relu激活函数增加非线性表示能力,并通过最大池化操作进行特征下采样,可以提取和增强特征的显著性和重要性。
上下文感知分支使用Tanh激活函数增加非线性表现能力,并通过平均池化操作进行特征下采样,有助于提取和平滑特征的细节和纹理。
通过构建特征编码与整合模块可对输入特征进行编码、整合和提取更高级别的特征表示,该模块的设计目的是通过一系列操作来有效地处理输入数据。
S2中包括构建特征识别模块,特征识别模块包括深度可分离卷积和变压器编码器,可对编码后的特征进行更深层次的特征识别和表达;可通过深度可分离卷积操作提取输入数据的局部特征,通过变压器编码器提取的局部特征进行编码和捕捉。这样的设计可以在处理输入数据时综合考虑局部特征和全局特征,从而更好地理解输入数据的复杂结构和关系。
S3:对牛脸检测-矫正-识别模型进行训练。S3包括如下步骤:
S31:将特征检测模块和特征编码与整合模块的输出送入多任务头中;多任务头包括牛脸检测任务、牛脸关键点定位任务和牛脸姿态角预测任务;可以同时进行多个任务的学习和预测。
S32:将经过多任务处理后的经过矫正的牛脸图像送入特征识别模块中进行识别;矫正的牛脸图像即去除了背景和其他画面中牛脸的干扰,呈现出单一牛脸的图像,将注意力聚焦于单只牛脸图像本身;同时去除牛姿态和摄像头拍摄角度对提取牛脸特征影响。
S33:通过逐元素相乘(Element-wise Multiplication)进行融合,在最后的分支相乘操作之后,再使用全局平均池化对底层提取的牛脸特征进行整合。
通过逐元素相乘(Element-wise Multiplication)进行特征融合,这种逐元素相乘的操作有助于突出不同分支之间的关键特征,并在最后的分支相乘操作后,得到更加综合的特征表示;随后,对经过特征融合的牛脸特征使用全局平均池化操作,用符号表示。通过平均池化操作将底层提取牛脸特征整合成一个不受图像尺寸影响的全局、固定长度的特征向量。
S34:经过Softmax分类,得到对应于牛的身份号码的识别结果。
S3中牛脸检测-矫正-识别模型包括损失函数,损失函数包括特征检测模块和特征编码与整合模块结果引入的多任务损失:
其中,表示牛脸分类损失,/>表示牛脸坐标框回归损失,/>表示牛脸关键点定位损失,/>表示牛脸姿态角回归损失;/>代表样本为牛脸的预测概率,/>为1代表正样本,0为负样本;/>和/>分别代表正样本相关的预测框和真实框坐标;/>和/>分别代表预测的牛脸关键点;/>和/>分别代表预测牛脸姿势和相应的地面真值,其中/>角度选取偏航角(Yp)、俯仰角(Pp)和侧滚角(Rp);分类损失选取Softmax二分类损失,坐标框回归损失和关键点定位回归损失选取Smooth-L1损失。
在上述损失函数中,定义了牛脸面部关键点定位任务和姿态估计任务,通过协同作用,建模关键点到头部姿态角之间复杂映射关系。其中,是为了惩罚预测角度和真实地标之间的最小旋转角度而设计的,/>具体如下所示:
。
此时,将预测值与地标真值的差异转化为最小旋转角度的平方,同时考虑了360度的循环性,通过这样的设计,可以有效地避免角度差异带来的问题,并提高模型对偏航角的预测精度,当模型的预测与地标真值之间的差异较小时,损失之也会较小。
损失函数还包括分类损失函数;将经过全局平均池化后的特征向量输入到Softmax分类器中,并通过计算得到每个类别的概率分布,选择具有最高概率的类别作为牛脸的身份ID。此处,对于分类损失函数可以选择不同的变体,如ArcFace,ArcFace是一种对Softmax进行改进的分类损失函数,它在设备性能较好的情况下可以提供更好的分类性能;同时还可选择其他的变种损失函数如ArcNegFace,它考虑了正负样本之间的关系,可以更好地区分不同的类别。选择使用哪种分类损失函数取决于具体的任务需求和性能要求。
牛脸关键点个数选取方式根据采取数据定义;若数据多为极端姿态或存在遮挡现象,可选取如图5所示的29个点作为牛脸关键点特征。如图5所示,5个关键点为1-5号点,1-5号点分别为牛脸左眼中心、牛脸右眼中心、牛鼻中心、牛唇左嘴角和牛唇右嘴角;29个点中除开1-5号点以外,还包括6-29号点;其中6-9号点分别为牛左眼左眼角、牛左眼右眼角、牛右眼左眼角及牛右眼右眼角,10-11号点分别为牛鼻子左鼻翼和牛鼻子右鼻翼,12-17号点分别为牛左耳中心、牛左耳左上尖端、牛左耳耳廓、牛右耳中心、牛右耳右上尖端、牛右耳耳廓,18-27号点为图5中所示的牛左右两侧脸颊轮廓点,28-29号点为图5中所示的牛角左右两侧中心点。
由于牛脸的很多特征都与双眼的位置和相对位置有关,例如牛眼的间距和牛眼大小等特征信息,因此在针对牛脸眼睛周围关键点选取时,我们除了选取一般的左右眼中心外,还选取了左右眼两侧眼角的坐标作为眼睛关键点信息特征信息,与现有人脸关键点标注不同的是:人脸关于眼睛标注选取了5个点分别是眼睛中心和其周围眼眶4个点选取,而对于牛脸我们只选取了左右两侧眼眶,这是由于如图6所示,图6中a图为人脸眼睛的标注示意图,b图为牛脸眼睛的标注示意图,相较于图6中人脸眼眶周围区域的复杂信息(眉毛、眼袋和眼角等)较多,牛脸的眼眶周围特征点相对较少,因此我们认为眼睛中心和左右眼两侧眼角的关键点已经足够描述其特征。
同时,我们还利用了12-17号点表示的牛耳的六个点坐标分别为牛耳左右两侧耳朵中心和耳朵前缘中心(耳廓靠近头部区域)和耳朵后缘中心(耳尖远离头部)描述耳朵形态和位置信息,耳朵是区分不同牛品种和牛个体的有效特征。
同时,选取18-27号点表示的牛脸两侧脸颊轮廓特征信息有助于捕获牛脸形态特征表示,这是由于不同牛个体在脸部骨骼和肌肉组织分布有明显差异,特别是牛品种有明显区分时。
使用时,先对数据进行采集和处理,再将经过处理的图像送入牛脸检测-矫正-识别模型中,表示为输入图像经过前两个模块得到经过矫正处理的牛脸检测图像,具体表现如以下步骤所示:
经过特征编码与整合模块后,得到的特征表示具有更强的表达能力和更丰富的语义信息,这种特征表示可以用于进行多个任务的预测,如是否是牛脸图像的二分类、牛脸的边界框预测、牛脸的关键点定位预测以及牛脸姿态对齐等。
根据牛脸检测和关键点定位结果进行牛脸姿态角估计,衡量模型的偏航角度预测与数据集地标真值之间的角度差异,并惩罚二者之间的最小旋转角度,从而实现更好的牛脸姿态对齐。
牛脸关键点选取根据采集数据数量和质量而确定,若数据数量较小或数据质量较差,建议选择较多的牛脸关键点作为数据特征辅助,本实施例提供我们选择的29点标注,若针对不同类别牛(纯色牛或面部特征更复杂的牛),可选择更多的关键点标注方式。
输出经过姿态矫正的牛脸检测图像。
将经过姿态矫正的牛脸检测图像送入特征识别模块,在特征识别模块后,使用全局平均池化对底层提取的牛脸特征进行整合,全局平均池化操作将特征图的每个通道进行平均池化,得到一个具有C个通道的特征向量,这个特征向量代表了整个牛脸的特征表示;最后,经过全局平均池化后的特征向量经过Softmax分类,得到对应于牛的身份号码的识别结果,这个分类结果可以用于识别牛的身份,并进行后续的处理和分析。
对实验进行设置;实验服务器为NVIDIA GTX 1080Ti,使用的深度学习框架为Pytorch,图像分辨率为RGB三通道图像;训练批次选择批次大小为16,根据SGD优化器对损失函数进行优化,设置优化器学习率为0.001,损失函数中权重利用超参数搜索得到,最终选择2,1,0.5。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (7)
1.一种处理姿态和视角矫正的牛脸识别方法,其特征在于,包括如下步骤:
S1:数据采集;录制视频并收集不同角度和不同侧面的牛脸数据;
S2:构建牛脸检测-矫正-识别模型;所述牛脸检测-矫正-识别模型包括特征检测模块、特征编码与整合模块和特征识别模块;所述特征检测模块、特征编码与整合模块和特征识别模块中均包括特征强化分支和上下文感知分支;所述特征强化分支采用深度可分离卷积、Relu激活函数和最大池化操作进行组合;所述上下文感知分支采用深度可分离卷积、Tanh激活函数和平均池化操作进行组合;
S2中还包括构建特征编码与整合模块,构建特征编码与整合模块包括如下步骤:
S21:通过深度可分离卷积操作提取局部特征;
S22:通过变压器编码器捕捉输入数据中的长程依赖关系;所述变压器编码器采用多头注意力机制,得到序列特征输入,其中A代表H1×W1;
变压器编码器使用自注意力机制来计算每个token位置和其他token位置的注意力权重;对序列输入特征F,自注意力计算如下:
其中,Q表示查询矩阵,K表示键矩阵,V表示值矩阵;该三个矩阵均为F的线性变换,其中d k为注意力头中查询和键的维度;
Softmax函数的数学表达式具体为:
其中,表示权重矩阵中的一个元素,对应查询位置Q与键位置K之间的权重;N表示序列的长度;e为自然欧拉常数;
变压器编码器选取多头注意力机制,具体为:
其中,Concat()表示将多个注意力头的输出拼接在一起,hi表示第i个注意力头的输出,num_heads表示注意力头的数量,Wo表示用于线性变换的权重矩阵;
S23:通过池化操作进行下采样;
S3:对牛脸检测-矫正-识别模型进行训练包括如下步骤;
S31:将特征检测模块和特征编码与整合模块的输出送入多任务头中;多任务头包括牛脸检测任务、牛脸关键点定位任务和牛脸姿态角预测任务;当数据多为极端姿态或存在遮挡现象时,选取包括牛脸左眼中心、牛脸右眼中心、牛鼻中心、牛唇左嘴角、牛唇右嘴角、牛左眼左眼角、牛左眼右眼角、牛右眼左眼角、牛右眼右眼角、牛左耳中心、牛左耳左上尖端、牛左耳耳廓、牛右耳中心、牛右耳右上尖端、牛右耳耳廓在内的多个点作为牛脸的关键点特征;
S32:将经过多任务处理后的经过矫正的牛脸图像送入特征识别模块中进行识别;
S33:通过逐元素相乘进行融合,再使用全局平均池化对底层提取的牛脸特征进行整合;
S34:经过Softmax分类,得到对应于牛的身份号码的识别结果。
2.根据权利要求1所述的处理姿态和视角矫正的牛脸识别方法,其特征在于,S1包括如下步骤:
S11:数据预处理;
S111:对视频流数据进行关键帧提取,根据视频形式进行帧率选择;
S112:将筛选出的图像进行分类处理和去重处理,构建牛脸数据集;所述数据集划分为训练集、验证集和测试集;
S12:数据增强处理;
S121:将从不同摄像头或采集设备中获取的图像数据进行尺度归一化,同时利用直方图归一化,调整不同来源图像的对比度;
S122:将图像数据进行降噪、增强处理。
3.根据权利要求1所述的处理姿态和视角矫正的牛脸识别方法,其特征在于,S2中包括构建特征检测模块;构建特征检测模块时包括输入特征X和输出特征图Z;所述深度可分离卷积对于输入特征X、输出特征图Z的表示为:
其中,W代表深度卷积,V代表逐点卷积;利用深度可分离卷积提取牛脸特征,其中C代表提取特征的通道数、H1代表提取特征的高、W1代表提取特征的宽;表示输出特征feature map的元素;/>表示输入特征的元素;/>表示深度卷积的权重;/>表示逐点卷积的权重。
4.根据权利要求1所述的处理姿态和视角矫正的牛脸识别方法,其特征在于,S2中包括构建特征识别模块,特征识别模块包括深度可分离卷积和变压器编码器;通过深度可分离卷积操作提取输入数据的局部特征,通过变压器编码器提取的局部特征进行编码和捕捉。
5.根据权利要求1所述的处理姿态和视角矫正的牛脸识别方法,其特征在于,S3中牛脸检测-矫正-识别模型包括损失函数,损失函数包括特征检测模块和特征编码与整合模块结果引入的多任务损失:
其中,表示牛脸分类损失,/>表示牛脸坐标框回归损失,/>表示牛脸关键点定位损失,/>表示牛脸姿态角回归损失;/>代表样本为牛脸的预测概率,/>为1代表正样本,0为负样本;/>和/>分别代表正样本相关的预测框和真实框坐标;/>和/>分别代表预测的牛脸关键点;/>和/>分别代表预测牛脸姿势和相应的地面真值,其中/>角度选取偏航角Yp、俯仰角Pp和侧滚角Rp;分类损失选取Softmax二分类损失,坐标框回归损失和关键点定位回归损失选取Smooth-L1损失。
6.根据权利要求5所述的处理姿态和视角矫正的牛脸识别方法,其特征在于,具体如下所示:
。
7.根据权利要求6所述的处理姿态和视角矫正的牛脸识别方法,其特征在于,损失函数还包括分类损失函数;将经过全局平均池化后的特征向量输入到Softmax分类器中,并通过计算得到每个类别的概率分布,选择具有最高概率的类别作为牛脸的身份ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311035205.9A CN116758589B (zh) | 2023-08-17 | 2023-08-17 | 一种处理姿态和视角矫正的牛脸识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311035205.9A CN116758589B (zh) | 2023-08-17 | 2023-08-17 | 一种处理姿态和视角矫正的牛脸识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116758589A CN116758589A (zh) | 2023-09-15 |
CN116758589B true CN116758589B (zh) | 2023-11-03 |
Family
ID=87959454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311035205.9A Active CN116758589B (zh) | 2023-08-17 | 2023-08-17 | 一种处理姿态和视角矫正的牛脸识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116758589B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610125A (zh) * | 2019-07-31 | 2019-12-24 | 平安科技(深圳)有限公司 | 基于神经网络的牛脸识别方法、装置、设备及存储介质 |
CN111368766A (zh) * | 2020-03-09 | 2020-07-03 | 云南安华防灾减灾科技有限责任公司 | 一种基于深度学习的牛脸检测与识别方法 |
CN113673439A (zh) * | 2021-08-23 | 2021-11-19 | 平安科技(深圳)有限公司 | 基于人工智能的宠物狗识别方法、装置、设备及存储介质 |
CN114332956A (zh) * | 2022-03-15 | 2022-04-12 | 华中农业大学 | 一种基于卷积神经网络的牛脸检测和牛脸关键点定位方法 |
CN114926858A (zh) * | 2022-05-10 | 2022-08-19 | 吉林大学 | 一种基于特征点信息的深度学习的猪脸识别方法 |
CN115546828A (zh) * | 2022-09-22 | 2022-12-30 | 杭州电子科技大学 | 一种复杂牛场环境牛脸识别方法 |
CN116052222A (zh) * | 2023-03-06 | 2023-05-02 | 吉林大学 | 自然采集牛脸图像的牛脸识别方法 |
CN116311370A (zh) * | 2023-03-15 | 2023-06-23 | 中国平安财产保险股份有限公司 | 一种基于多角度特征的牛脸识别方法及其相关设备 |
CN116403004A (zh) * | 2023-06-07 | 2023-07-07 | 长春大学 | 一种基于牛脸矫正的牛脸融合特征提取方法 |
-
2023
- 2023-08-17 CN CN202311035205.9A patent/CN116758589B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610125A (zh) * | 2019-07-31 | 2019-12-24 | 平安科技(深圳)有限公司 | 基于神经网络的牛脸识别方法、装置、设备及存储介质 |
CN111368766A (zh) * | 2020-03-09 | 2020-07-03 | 云南安华防灾减灾科技有限责任公司 | 一种基于深度学习的牛脸检测与识别方法 |
CN113673439A (zh) * | 2021-08-23 | 2021-11-19 | 平安科技(深圳)有限公司 | 基于人工智能的宠物狗识别方法、装置、设备及存储介质 |
CN114332956A (zh) * | 2022-03-15 | 2022-04-12 | 华中农业大学 | 一种基于卷积神经网络的牛脸检测和牛脸关键点定位方法 |
CN114926858A (zh) * | 2022-05-10 | 2022-08-19 | 吉林大学 | 一种基于特征点信息的深度学习的猪脸识别方法 |
CN115546828A (zh) * | 2022-09-22 | 2022-12-30 | 杭州电子科技大学 | 一种复杂牛场环境牛脸识别方法 |
CN116052222A (zh) * | 2023-03-06 | 2023-05-02 | 吉林大学 | 自然采集牛脸图像的牛脸识别方法 |
CN116311370A (zh) * | 2023-03-15 | 2023-06-23 | 中国平安财产保险股份有限公司 | 一种基于多角度特征的牛脸识别方法及其相关设备 |
CN116403004A (zh) * | 2023-06-07 | 2023-07-07 | 长春大学 | 一种基于牛脸矫正的牛脸融合特征提取方法 |
Non-Patent Citations (2)
Title |
---|
Cattle face recognition based on a Two-Branch convolutional neural network;Zhi Weng et al;《Computers and Electronics in Agriculture》;全文 * |
基于Vision Transformer 模型的牛脸识别算法;郑鹏 等;《杭州电子科技大学学报(自然科学版)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116758589A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815566B (zh) | 一种基于多任务卷积神经网络的人脸检索方法 | |
CN108549873B (zh) | 三维人脸识别方法和三维人脸识别系统 | |
WO2019128508A1 (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN113065558A (zh) | 一种结合注意力机制的轻量级小目标检测方法 | |
CN111160269A (zh) | 一种人脸关键点检测方法及装置 | |
CN110532970B (zh) | 人脸2d图像的年龄性别属性分析方法、系统、设备和介质 | |
CN109299643B (zh) | 一种基于大姿态对准的人脸识别方法及系统 | |
CN108629336B (zh) | 基于人脸特征点识别的颜值计算方法 | |
CN108921057B (zh) | 基于卷积神经网络的对虾形态测量方法、介质、终端设备及装置 | |
CN109271884A (zh) | 人脸属性识别方法、装置、终端设备和存储介质 | |
KR20160101973A (ko) | 비제약형 매체에 있어서 얼굴을 식별하는 시스템 및 방법 | |
CN111783576A (zh) | 基于改进型YOLOv3网络和特征融合的行人重识别方法 | |
Slama et al. | Grassmannian representation of motion depth for 3D human gesture and action recognition | |
CN111178195A (zh) | 人脸表情识别方法、装置及计算机可读存储介质 | |
CN113298158B (zh) | 数据检测方法、装置、设备及存储介质 | |
CN110458235B (zh) | 一种视频中运动姿势相似度比对方法 | |
CN112016454A (zh) | 一种人脸对齐的检测方法 | |
CN111274883A (zh) | 基于多尺度hog特征和深层特征的合成素描人脸识别方法 | |
JP2023115104A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
Diyasa et al. | Multi-face Recognition for the Detection of Prisoners in Jail using a Modified Cascade Classifier and CNN | |
Li et al. | Fast recognition of pig faces based on improved Yolov3 | |
CN112329662B (zh) | 基于无监督学习的多视角显著性估计方法 | |
CN103235943A (zh) | 基于pca的3d人脸识别系统 | |
CN113420709A (zh) | 牛脸特征提取模型训练方法、系统及牛的保险方法、系统 | |
CN117133041A (zh) | 一种基于深度学习的三维重建网络人脸识别方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |