基于卷积神经网络的移动端社区宠物识别方法转让专利

申请号 : CN202011557450.2

文献号 : CN112668631B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 不公告发明人

申请人 : 哈尔滨理工大学

摘要 :

本发明公开了一种基于卷积神经网络的移动端宠物识别方法。该方法包括:构建轻量化卷积神经网络、在服务器端使用预训练网络模型训练方法训练卷积神经网络、通过移动端深度学习框架在移动端设备上部署训练好的卷积神经网络模型、通过移动端设备采集图像并进行目标识别和危险性判断。本发明公开,实现了在移动端设备上对社区宠物种类的检测,住户可通过识别结果来远离具有危险性的宠物,有效避免了社区内宠物伤人的事件发生;另外,本发明构建的轻量化卷积网络对硬件环境要求不高,在保证识别精度的情况下可以适配大多数移动端运行环境。

权利要求 :

1.基于卷积神经网络的移动端宠物识别方法,其特征在于,所述方法包括以下步骤:

步骤1.构建轻量化卷积神经网络L;

步骤2.在服务器端使用预训练网络模型训练方法训练卷积神经网络L,所述预训练网络模型由预训练网络M和轻量化卷积神经网络L级联组成,预训练网络M为开源的、在动物数据集或包含动物的数据集上训练过的网络模型;所述训练方法包括:(1)在预训练网络M的卷积基后连接轻量化卷积神经网络L; (2)冻结卷积神经网络L卷积基; (3)使用预训练网络M的卷积基对标记好的宠物学习样本进行特征提取; (4)提取到的特征作为训练样本对卷积神经网络L的全连接分类器进行训练; (5)随机解冻卷积神经网络L的一个或多个卷积层; (6)联合训练解冻的卷积层和全连接分类器,通过反向传播更新卷积层的参数;

步骤3.通过移动端深度学习框架在移动端设备上部署训练好的卷积神经网络模型;

步骤4.通过移动端设备采集图像并进行宠物识别和危险性判断。

2.根据权利要求1所述的基于卷积神经网络的移动端宠物识别方法,其特征在于,构建的轻量化卷积神经网络第2‑10层为一种轻量化卷积结构(bneck),该结构是一种深度可分离卷积和残差网络结合的卷积结构。

3.根据权利要求2所述的基于卷积神经网络的移动端宠物识别方法,其特征在于,由深度可分离卷积进行特征提取,同时加入轻量化注意力模块调整权重分布,然后在输入输出层之间加入残差连接。

说明书 :

基于卷积神经网络的移动端社区宠物识别方法

技术领域

[0001] 本发明涉及图像识别技术领域,尤其设计基于卷积神经网络的移动端社区宠物识别方法。

背景技术

[0002] 随着人们生活水平的不断提高,越来越多的人喜欢养一只或几只宠物来陪伴自己的生活,尤其是在城市中,不仅宠物数量日益增加,种类也五花八门。这就导致了一系列问题:在众多的宠物中,不乏存在着大型犬或者烈性犬,前者体型较大,其突发行动在人力可控的范围外,后者天生具有攻击性,容易发生伤人或者伤害其他宠物的情况;此外某些体型不大的宠物也具有较强的防备意识和领地意识,同样具有攻击性,而且宠物身上可能携带病毒或细菌,一旦伤人将会造成严重的后果。
[0003] 虽然安保人员可以通过监控查看到社区中的宠物活动情况,并且能通过宠物的体型或行为大致判断宠物是否具有危险性,但这种方式不仅会消耗大量人力,而且对于监控设备覆盖不到的区域无法进行有效的宠物检测。
[0004] 为了解决上述问题,我们可以利用监控摄像头或者带摄像头的装置采集宠物图像,通过对图像检测分析得出宠物的种类以及是否具有危险性。目前主流的检测方法是基于深度学习的宠物检测算法。通过卷积神经网络提取宠物特征,随着网络层数的加深,提取的特征信息也越来越丰富,隐藏层的感知器可以有效地组合底层特征,形成一个更加抽象的高层表示属性类别或特征,最后通过分类器输出图像类别。随着人工智能技术的高速发展,深度学习算法正朝着精度高、延迟低的方向发展。比如近年来具有代表性的YOLOV3算法,可以实现端对端的目标快速检测,在GPU 1080Ti硬件环境下,检测精度达到74.8%,检测速度达到29.8帧/秒。另一种代表算法Faster‑RCNN的检测精度更高,但实时性较差。虽然基于深度学习的宠物检测方法有很好的应用前景。但目前的这类算法仍然存在问题:目前的算法大都致力于极致地提高检测精度以及实时性,所以其网络模型规模和计算量巨大,适合于GPU服务器硬件运行环境,而对于安装在移动端设备或社区内的嵌入式视频监控系统,其实时性仍然无法满足实际应用需求。
[0005] 综上所述,怎样合理构建轻量化卷积神经网络以便适用于大部分硬件设备环境并保持卷积网络的精度和实时性,成为一项亟待解决的问题。

发明内容

[0006] 为解决现有技术的不足,本发明提供了一种基于卷积神经网络的移动端社区宠物识别方法,该方法包括以下步骤:
[0007] 步骤1.构建轻量化卷积神经网络L;
[0008] 步骤2.在服务器端使用预训练网络模型训练方法训练卷积神经网络L;
[0009] 步骤3.使用移动端深度学习框架在移动端设备上部署训练好的卷积神经网络模型;
[0010] 步骤4.通过移动端设备采集图像并进行目标宠物识别和危险性判断。
[0011] 优选地,在步骤1中,所述的轻量化卷积神经网络L的第2‑10层为一种轻量化卷积结构(benck),该结构是一种深度可分离卷积和残差网络结合的轻量化网络结构。
[0012] 优选地,所述的轻量化卷积结构(benck)由深度可分离卷积进行特征提取,同时加入轻量化注意力模块调整权重分布,然后在输入输出层之间加入残差连接。
[0013] 在此,深度可分离卷积将一个完整的卷积运算分解为两步进行,分别为逐深度卷积(Depthwise Convolution)与逐点1×1卷积(Pointwise Convolution)这种卷积方式能用更少的参数、更少的运算,达到跟普通卷积差不多的结果。
[0014] 优选地,本发明引入轻量化注意力模块,这种模块结合了空间注意力机制和通道注意力机制,能显著提高图像分类和目标检测的正确率。通道注意力和空间注意力这两个模块可以并行或者顺序的方式组合在一起,但是通常将通道注意力放在前面可以取得更好的效果。
[0015] 优选地,在步骤2中使用的预训练网络M为开源的、在动物数据集上训练过的卷积神经网络模型。
[0016] 优选地,步骤2的训练过程进一步包括以下步骤:
[0017] (1)在预训练网络M的卷积基后连接卷积神经网络L;
[0018] (2)冻结卷积神经网络L的卷积基;
[0019] (3)使用预训练网络M的卷积基对标记好的宠物学习样本进行特征提取;
[0020] (4)提取到的特征作为训练样本对卷积神经网络L的全连接分类器进行训练;
[0021] (5)随机解冻卷积神经网络L的一个或多个卷积层;
[0022] (6)联合训练解冻的卷积层和全连接分类器,通过反向传播更新卷积层的参数。
[0023] 优选地,在步骤(1)中,预训练网络M的卷积基为该网络的一系列池化层和卷积层,不包括其密集连接器,卷积基用于输出新的训练样本的高级特征,分类的任务由添加的分类器来负责。
[0024] 优选地,在步骤(4)中,优先训练分类器,避免在特征提取层训练期间通过网络传播的误差信号增大。
[0025] 优选地,在步骤(5)中,采用dropout方法以一定的概率随机解冻网络层,让网络的某些节点工作,更新权重,其他过程不变。
[0026] 优选地,步骤3中使用的移动端深度学习框架为TensorFlow mobile,移动端设备使用安卓端。用TensorFlow mobile部署模型到安卓设备分为以下三个步骤:
[0027] 将训练模式转换到TensorFlow;
[0028] 在安卓应用中添加TensorFlow mobile作为附加功能;
[0029] 在应用中使用TensorFlow模式写Java代码执行推理。
[0030] 优选地,在步骤4中,卷积神经网络L的输出包括:宠物在图上的位置、宠物类别、预测概率、是否具有危险性。
[0031] 具体地,对目标宠物的危险性评估标准包括:
[0032] 对于预测类别为城市管理规定中明确禁养的宠物,视为具有危险性;
[0033] 对于非禁养宠物,根据卷积神经网络L的全连接层提取的特征信息进行危险性判断:在面部特征中,若牙齿裸露程度高于预设的安全阈值则判定具有危险性;在爪部特征中,若指甲长度高于预设的安全阈值,则判定具有危险性。
[0034] 在此,对于禁养宠物,在网络训练时此类宠物样本标签额外加入危险性标识字样,故此类宠物可由卷积神经网络直接判别危险性情况。
[0035] 对于非禁养宠物危险性的判断,由后台服务器执行,后台服务器包括:
[0036] 提取模块,负责将卷积神经网络全连接层提取到的众多宠物特征中,进一步提取出面部、爪部特征;
[0037] 分析模块,通过提取模块提取到的面部、爪部特征,根据上述危险性评定标准进行分析判断;
[0038] 执行模块,根据卷积神经网络和分析模块判定的危险宠物,执行相应的措施。
[0039] 进一步地,对具有危险性的宠物采取的管理措施包括:向社区安保部门提供宠物图像以及宠物所在位置并请求专业人士处理;将该宠物信息录入到后台服务器数据库中做备案处理;在移动端界面对用户进行提示,显示危险宠物的信息,提醒用户做好防范措施。
[0040] 与现有技术相比,本发明的有益效果如下:
[0041] 本发明提出一种基于卷积神经网络的移动端宠物识别方法,构建一种轻量化卷积神经网络,引入深度可分离卷积降低模型大小和计算量,在网络中加入注意力机制,提高网络的检测精度,在服务器端训练神经网络模型,并在移动端部署该模型,实现在移动端设备上的宠物类别检测,本发明构建的轻量化卷积网络模型体积小、精度高,能够适应大部分硬件环境;另外,与移动端设备相连的后台服务器能够根据卷积网络提取的特征对宠物进行危险性判别,在将结果反馈给用户的同时采取应对措施,有效地保障了社区居民的人身安全。

附图说明

[0042] 图1为本发明提出的基于卷积神经网络的移动端宠物识别方法的流程示意图;
[0043] 图2为本发明中在服务端使用预训练网络模型训练卷积神经网络的流程示意图。

具体实施方式

[0044] 附图仅用于示例性说明,不能理解为对本专利的限制。
[0045] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0046] 另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段未作详细描述,以便于凸显本公开的主旨。
[0047] 下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0048] 图1示出根据本公开的一个实施例的基于卷积神经网络的移动端宠物识别方法。该方法可以应用于诸如智能手机、平板电脑等移动终端。如图1所示,该方法包括下列步骤:
[0049] 步骤1.构建轻量化卷积神经网络L;
[0050] 步骤2.在服务器端使用预训练网络模型训练方法训练卷积神经网络;
[0051] 步骤3.使用移动端深度学习框架在移动端设备上部署训练好的卷积神经网络模型;
[0052] 步骤4.通过移动端设备采集图像并进行目标宠物识别和危险性判断。
[0053] 步骤1.构建轻量化卷积神经网络L:
[0054] 卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,其包括卷积层(Conv)和激活层、池化层(Pool)等。为了解决效率问题以便将CNN广泛应用于移动端,发明人经深入研究发现,通过轻量化卷积神经网络设计,从而减少网络参数,而不损失其精度。
[0055] 本发明构建的轻量化卷积神经网络L的第2‑10层为一种轻量化卷积结构(bneck),该结构是一种深度可分离卷积和残差网络结合的轻量化网络结构。该结构由深度可分离卷积进行特征提取,同时加入轻量化注意力模块调整通道权重,然后在输入输出层之间加入残差连接。
[0056] 深度可分离卷积将一个标准卷积分解为一层深度卷积和一层1×1卷积,每一层卷积之后都紧跟着批量规范化(BN层)和ReLU激活函数,ReLU函数公式见式(1):
[0057] f(x)=max(0,x)                (1)
[0058] 深度卷积利用单个滤波器对每一个输入通道进行特征提取,而1×1卷积来组合不同深度卷积的输出,这种将卷积过程进行分解的行为极大减少了模型的计算量和大小。
[0059] 本发明所构建的轻量化卷积结构中增加了注意力模块,在本实施例中,使用了CBAM(Convolutional Block Attention Module)模块,该模块融合了空间注意力机制和通道注意力机制,通道注意力和空间注意力这两个模块可以以并行或者顺序的方式组合在一起,但是通常将通道注意力放在前面可以取得更好的效果,总的注意过程如公式(2)公式(3):
[0060]
[0061]
[0062] 其中F表示输入特征图, 表示逐元素相乘,在相乘过程中,注意值被广播。相应地,通道注意值被沿着空间维度广播,反之亦然。F″表示最终输出的特征图。Mc()和Ms()分别为通道注意图和空间注意图。
[0063] 在本发明构建的卷积神经网络后半部分和注意力模块中使用h‑swish激活函数,h‑swish见式(4):
[0064]
[0065] 上式中ReLU6函数为普通的ReLU但是限制最大输出值为6。
[0066] h‑swish函数在浅层网络中具有较好的表现,并且不会增加网络的计算代价。
[0067] 所述卷积神经网络L结构如表1所示:
[0068] 表1
[0069]
[0070]
[0071] 第1列Input size代表卷积神经网络每个特征层的尺寸变化;第2列Operator代表每次特征层即将经历的block结构;第3列Filter Shape代表每个特征层使用的过滤器尺寸;第4列CBAM代表了是否在这一层引入注意力模块;第5列NL激活函数的种类,HS代表h‑swish,RE代表RELU;第6列S代表了每一次卷积结构所用的步长。
[0072] 步骤2.在服务器端使用预训练网络模型训练方法训练卷积神经网络;具体过程参见图2,过程如下:
[0073] (1)在预训练网络的卷积基后连接所述轻量化卷积神经网络;本实施例使用在动物训练集上训练好的MobilenetV2网络作为预训练网络,MobilnetV2的网络结构与本发明构建的轻量化卷积神经网络类似,在特征提取层均采用了深度可分离卷积。
[0074] (2)冻结卷积神经网络L的卷积基;
[0075] (3)使用预训练网络MobilenetV2对标记好的宠物学习样本进行特征提取;
[0076] (4)提取到的特征作为训练样本对卷积神经网络L的全连接分类器进行训练;本实施例中直接将MobilenetV2的卷积基提取的特征输入到卷积神经网络L的全连接层,由全连接层组合底层特征,由Softmax分类器进行分类。
[0077] (5)随机解冻所述卷积神经网络的一个或多个卷积层;这里采用dropout的思想,随机让网络的某些神经元失活,本实施例中反其道而行之,即随机打开某些层,使该层的节点工作,更新权重,其他过程不变。
[0078] (6)联合训练解冻的卷积层和全连接分类器,通过反向传播更新卷积层的参数;这一步为完整的卷积神经网络训练过程,包括正向传播和反向传播。
[0079] 优选地,预训练网络模型还可以使用VGG、Resnet等一系列开源的预训练模型,但上述网络模型的训练集必须是动物数据集或者包含动物的数据集。
[0080] 优选地,训练卷积神经网络使用的训练数据集为AWA数据集中具有动物属性的数据集、斯坦福大学犬类数据集,其中,AWA2数据集中包含50类动物图像,斯坦福大学犬类数据集包含来自世界各地的120种犬类图像。
[0081] 优选地,由于上述数据集数据种类有限,某些种类宠物的数据量不足,在本实施例中,采用一种数据增强的算法,用于平衡数据集,具体包括以下步骤:
[0082] (1)使用线性插值算法将原始图像尺寸统一为224×224;
[0083] (2)将图像RGB三通道分别展开成一维数组,拼接成一个长度为224×224×3=150528的数组;
[0084] (3)遍历少数类中的每一个数组x,计算欧氏距离求出数组中其k个近邻,假设第n个近邻为:xn;
[0085] (4)令数组xn中每个元素a在原图中的位置为(a1,a2),当位置满足20<a1<204,[0086] 20<a2<204时,设置中心区域权值为ωC=rand(0,1);设置边缘权值为ωB=2×ωC,通过算法公式获取新的样本,如公式(5)所示:
[0087]
[0088] (5)将获取得到的新数组按照三通道进行割分,再还原成图像。
[0089] 在此,经过重组的新样本在物体主体上并无太大的区别,而其主要是增加了图像中的环境因素的复杂性。
[0090] 步骤3.使用移动端深度学习框架在移动端设备上部署训练好的卷积神经网络模型:
[0091] 本发明使用的移动端深度学习框架为TensorFlow mobile,移动端设备使用安卓端,TensorFlow mobile部署模型到安卓设备分为以下三个步骤:
[0092] 将训练模式转换到TensorFlow;
[0093] 在安卓应用中添加TensorFlow mobile作为附加功能;
[0094] 在应用中使用TensorFlow模式写Java代码执行推理。
[0095] 可选地,移动端深度学习框架还可以选择TensorFlow Lite,其在安卓8以上的设备中,可以用神经网络API加速,此外,若在iOS上部署卷积神经网络,可以考虑使用Core ML。
[0096] 步骤4.通过移动端设备采集图像并进行目标宠物识别和危险性判断:
[0097] 移动端设备采集到的图像包括手机或者平板电脑等移动端设备的摄像头直接拍摄或者从移动端设备的内部储存(相册)中输入图像。
[0098] 在一种可能的实现方式中,还可以对采集到的图像进行尺寸调整和像素归一化处理,使输入的图像尺寸与卷积神经网络的输入尺寸相匹配;对图像进行降噪处理,进一步提高卷积神经网络的识别准确率。
[0099] 宠物种类的预测结果通过卷积网络L输出,此外,卷积网络的输出结果还包括宠物在图像上的位置、预测概率和是否具有危险性。
[0100] 进一步地,卷积网络L对于宠物危险性的判断仅限于训练数据集中做上危险性标签的宠物种类,即那些政府明令禁止在城市中饲养的宠物,对于那些非禁养的,且具有一定危险性的宠物,需要在后台服务器中进一步进行危险性评估。
[0101] 移动端设备通过有线或无线连接将卷积神经网络L全连接层提取的特征信息传到后台服务器中,通过对关键部位的特征进行对比分析进行危险性判断。
[0102] 在本实施例中,通过对宠物的面部和爪部特征进行危险性评判,具体标准如下:对于预测类别为城市管理规定中明确禁养的宠物,视为具有危险性;对于预测类别为非禁养宠物,指甲长度大于手掌的1/3,牙齿裸露程度大于嘴部面积的1/2,视为具有危险性。
[0103] 优选地,后台服务器包括:
[0104] 提取模块,负责将卷积神经网络L的全连接层提取到的宠物特征进一步提取出宠物面部、爪部特征;
[0105] 分析模块,通过提取模块提取到的面部、爪部特征,根据设定的安全阈值进行特征分析;
[0106] 执行模块,根据分析模块和卷积神经网络判定的危险宠物,执行相应的措施:向社区安保部门提供宠物图像以及宠物所在的具体位置、将该宠物信息录入到后台服务器数据库中做备案处理、在移动端界面显示危险宠物的信息并对用户进行提示警告。
[0107] 尽管上面结合实施例对本发明进行了描述,但本发明并不局限于上述具体实施方式,上述实施例仅仅为示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内,在不脱离本发明宗旨的情况下,任何根据本发明的技术构思所作出的各种相应变形,这些均属于本发明的保护之内。