CN114357219A - 一种面向移动端实例级图像检索方法及装置 - Google Patents
一种面向移动端实例级图像检索方法及装置 Download PDFInfo
- Publication number
- CN114357219A CN114357219A CN202210010672.5A CN202210010672A CN114357219A CN 114357219 A CN114357219 A CN 114357219A CN 202210010672 A CN202210010672 A CN 202210010672A CN 114357219 A CN114357219 A CN 114357219A
- Authority
- CN
- China
- Prior art keywords
- layer
- mobile
- neural network
- image
- image retrieval
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种面向移动端实例级图像检索方法及装置,构建并训练轻量级神经网络分类模型,所述轻量级神经网络分类模型包括嵌入层、卷积注意力模块、七个瓶颈块、全连接层、卷积注意力模块、二元自适应均值池化层和分类器,将所述轻量级神经网络分类模型最后一层分类器去除后作为特征提取器,采用特征提取器提取待检索图像的图片特征,计算待检索图像的图片特征与检索数据集图像的图片特征的欧式距离,输出最小欧式距离对应的检索数据集图像。本发明解决了深度学习中面临的深度神经网络模型在移动设备中难以部署的问题,同时也是轻量级神经网络在图像检索任务中的一次成功实现。
Description
技术领域
本申请属于图像检索技术领域,尤其涉及一种面向移动端实例级图像检索方法及装置。
背景技术
基于内容的图像检索,通过提取图像的视觉信息从大量的数字图像中快速准确地检索到用户所需要的图像,此项研究不论是在研究领域还是在商业用途中都具有重大价值。近些年随着深度学习方法的快速发展,得益于深度特征对图像内容的精确表达,使用深度学习模型来检索图像取得了重大进展。
然而,大部分卷积神经网络的计算量和参数都很大,由于存储空间和功耗的限制,大多数最先进的卷积神经网络很难部署在资源受限的移动设备上。于是业内提出了很多典型的轻量级神经网络,比如MobileNetV2,该网络虽减少了参数和计算量,但仍存在大量冗余。
此外,目前在终端上使用深度学习模型实现图像检索还少有研究,因此,如何将基于检索任务的轻量级卷积神经网络应用到移动端成为了一个亟待解决的问题。
发明内容
本申请的目的是提供一种面向移动端实例级图像检索方法及装置,相比于在线的图像检索,移动端检索解决了两个问题:一是优化用于获取图像特征的神经网络,二是构建用于移动端图像检索的框架。为了克服已有的深度神经网络模型由于计算量、参数量和模型太大难以在移动端部署的不足,本申请提供了一种精度更高、性能更好、更易于终端部署的轻量级神经网络分类模型。为了实现移动端图像检索,本申请还提供了一种基于该模型的移动端检索框架。
为了实现上述目的,本申请技术方案如下:
一种面向移动端实例级图像检索方法,包括:
构建并训练轻量级神经网络分类模型,所述轻量级神经网络分类模型包括嵌入层、卷积注意力模块、七个瓶颈块、全连接层、卷积注意力模块、池化层和分类器;
将所述轻量级神经网络分类模型最后一层分类器去除后作为特征提取器,采用特征提取器提取待检索图像的图片特征,计算待检索图像的图片特征与检索数据集图像的图片特征的欧式距离,输出最小欧式距离对应的检索数据集图像。
进一步的,所述瓶颈块包括:第一分组卷积层、通道混洗操作层、深度卷积层、第二分组卷积层和卷积注意力模块。
进一步的,所述第一分组卷积层包括分组卷积、批归一化层和激活函数。
进一步的,所述第二分组卷积层包括分组卷积和批归一化层。
进一步的,所述池化层为二元自适应均值池化层。
本申请还提出了一种面向移动端实例级图像检索装置,应用于移动终端,包括处理器以及存储有若干计算机指令的存储器,所述计算机指令被处理器执行时实现所述面向移动端实例级图像检索方法的步骤。
本申请提出的一种面向移动端实例级图像检索方法及装置,提出了一个比MobileNetV2更简洁、更高效的轻量级神经网络分类模型LMNV2。在分类准确度更好或不低于原始模型的情况下,所提分类模型的计算量、参数量和模型大小都大大降低,使得模型更易部署到移动端。此外,不同于以往在线检索的方式,本申请将LMNV2作为特征提取器,经模型转换部署到Android平台,实现了深度学习模型在移动端的离线部署,完成了图像检索任务。本申请解决了深度学习中面临的深度神经网络模型在移动设备中难以部署的问题,同时也是轻量级神经网络在图像检索任务中的一次成功实现。
附图说明
图1为本申请面向移动端实例级图像检索方法流程图;
图2为MobileNetV2网络结构示意图;
图3为本申请轻量级神经网络分类模型结构示意图;
图4为本申请瓶颈块结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提出的一种面向移动端实例级图像检索方法,实现了深度学习模型在移动端的离线部署,完成了图像检索任务,为深度模型在边缘设备的应用创建了范例。本申请提出了一个比MobileNetV2更简洁、高效的轻量级神经网络分类模型LMNV2,不仅提高了检索精度,还大大降低了模型的计算开销与内存占用。所述方法包括网络构建、数据集预处理、网络训练、模型转换、构建图像检索框架五个过程。
在一个实施例中,如图1所示,提供了一种面向移动端实例级图像检索方法,包括:
步骤S1、构建并训练轻量级神经网络分类模型,所述轻量级神经网络分类模型包括嵌入层、卷积注意力模块、七个瓶颈块、全连接层、卷积注意力模块、池化层和分类器。
本步骤构建并训练轻量级神经网络分类模型,本申请轻量级神经网络分类模型基于MobileNetV2进行改进的,MobileNetV2结构如图2所示,包括嵌入层(conv2d)、七个瓶颈块(bottleneck)、全连接层、平均池化层和卷积层(conv2d 1*1)。由于原始模型MobileNetV2每个瓶颈块都存在冗余,本申请分别从瓶颈块和模型整体结构两部分进行优化,改进后的瓶颈块记为L-Bottleneck,改进后的模型记为L-MobileNetV2,简写为LMNV2。
本申请LMNV2如图3所示,第一层为嵌入层,目的是检测边缘,神经元个数设为32,定义为浮点型变量,卷积之后进行批归一化操作,后接Relu激活函数。在第一层后添加卷积注意力模块(CBAM,Convolutional Block Attention Module),目的是提升对重点特征的学习。之后是LMNV2的主体结构,LMNV2的主体结构由7个改进后的L-Bottleneck瓶颈块组成。瓶颈块之后为全连接层,神经元个数设为1280,定义为浮点型变量,卷积核大小为1,步长为1,同样在卷积层后添加批归一化层和Relu6激活函数。在全连接层之后是卷积注意力模块(CBAM),之后采用二元自适应均值池化层(AdaptiveAvgPool2d)来代替平均池化层,用于取得相同大小的图像特征用于图像检索。LMNV2的最后一层为分类器(nn.Linear),输入为当前数据集的类别个数,输出为分类结果。
在一个具体的实施例中,本申请轻量级神经网络分类模型的瓶颈块L-Bottleneck的详细结构如附图4所示,包括:第一分组卷积层、通道混洗操作层、深度卷积层、第二分组卷积层和卷积注意力模块。
L-Bottleneck的第一层为第一分组卷积层,包括分组卷积GConv,卷积核大小为1x1,步长为1,分组数为8,输出一个三维特征向量;分组卷积GConv之后是批归一化层(BN,Batch Normalization),后接Relu6激活函数。L-Bottleneck的第二层为通道混洗操作层(Channel Shuffle)。L-Bottleneck的第三层为深度卷积层(Dwise),卷积核大小为3,步长为2,零填充设置为1,输入通道数和输出通道数相同,分组数设置与输入通道数相同;L-Bottleneck在深度卷积之后接批归一化层和Relu6激活函数。L-Bottleneck的第四层为第二分组卷积层,经过一个1x1分组卷积(GCconv)将分组内不同通道的特征进行融合,卷积核大小为1x1,步长为1,分组数为8;之后接批归一化层,不再添加激活函数。L-Bottleneck最后一层是卷积注意力模块(CBAM),为了进一步提高模型输出特征的表达能力。
本实施例将L-Bottleneck按照附图3的各项参数要求堆叠7个Block。
本步骤对轻量级神经网络分类模型进行训练时,采用的训练样本的图片来自五个数据集,分别是MINIST、SVHN、SUN397、Oxbuild5K和Paris6K,包含训练集和测试集。在训练集上训练模型,并在测试集上测试训练结果。期望是在没有损失分类精度的情况下,大大降低了模型的计算开销与内存占用,便于部署到移动端。
在一个具体的实施例中,数据集预处理,过程如下:
步骤2.1:对于已经划分训练集和测试集的MINIST、SVHN数据集,将图片直接输入到网络中进行训练。
MINIST数据集采用叠加通道的方式进行训练,设定输入图片特征维度为28维。SVHN数据集设定输入图片特征维度为32维。
步骤2.2:SUN397、Oxbuild5K、Paris6K数据集的图片预处理,过程如下:
步骤2.2.1:SUN397原数据集包含108753幅图像,共397个类别。本发明将训练集和测试集的的图片数据进行合并、去重、排序。然后按照随机分组将训练集和测试集分成8:2,最终训练集共有76872张,测试集有19218张。
步骤2.2.2:Oxbuild5K数据集包含从Flickr获得的17个牛津地标的5063张图像。本发明将类别处理成标签,分别对应1~17个数字。本申请对图片进行了预处理,使输入模型训练和图像检索的图片大小均为160*160。
步骤2.2.3:Paris6K数据集包含从Flickr获得的12个巴黎地标的6412幅图像。在该数据集上进行了与Oxbuild5K相同的数据处理。
步骤2.3:构建检索数据集。
数据集为MINIST、SVHN时,随机选取1000张图片作为检索集合,其中100张作为待检数据;数据集为SUN397时,随机选取300张图片作为检索集合,其中50张作为待检数据;数据集为Oxbuild和Paris时,每个类随机选取30张图片作为检索集合,其中前10张作为待检数据。
在一个具体的实施例中,训练轻量级神经网络分类模型,过程如下:
步骤3.1:用随机权值初始化分类模型中的参数,采用SGD优化算法进行优化,权重衰减为1×10-4。初始学习率为0.1,根据训练epoch总数的不同,设置不同的epoch数来降低学习率。
步骤3.2:将预处理好的数据集送入LMNV2模型。
步骤3.3:LMNV2针对给定的图片,通过计算得到所属的分类标签。
步骤3.4:将输入图片的真实分类标签与LMNV2返回的分类标签进行损失计算,并在损失计算后反向传播更新分类模型的网络权重,完成一次训练。
步骤3.5:用随机梯度下降算法最小化损失函数。
步骤3.6:每次训练均保存分类精度最高的模型,循环训练该网络直至到达预设的训练次数,终止训练。
步骤3.7:保存训练结束分类精度最高的模型参数并计算模型的分类准确度、模型的计算量与参数量。
需要说明的是,对数据集进行预处理得到训练样本,然后采用训练样本训练神经网络模型,已经是本领域比较成熟的技术,这里不再赘述。
步骤S2、将所述轻量级神经网络分类模型最后一层分类器去除后作为特征提取器,采用特征提取器提取待检索图像的图片特征,计算待检索图像的图片特征与检索数据集图像的图片特征的欧式距离,输出最小欧式距离对应的检索数据集图像。
不同于一般的在线检索方案,本实施案例中将预训练好的模型经过模型转换部署到移动设备作为特征提取器,通过实值特征间的比对来实现图像检索功能。
本申请将去除最后一层分类器的LMNV2作为特征提取器,输出的特征维度为1280。将特征提取器部属在移动终端上,即将pytorch模型转换成torchscript模型,保存形式为model.pt,然后在移动终端调用。
在移动终端实现图片检索,需要先在移动终端加载各个数据集下的model.pt模型,使用PytorchMobile接口实现模型在移动端的加载和调用,然后批量提取检索数据集图像的图片特征,将图片特征与对应的分类标签存储到本地数据库。
在进行检索时,先将待检索图像输入到特征提取器中提取图片特征,然后与数据库的检索数据集图像的图片特征进行一一比对。比对时,计算待检索图像的图片特征与数据库中检索数据集的图片特征的欧式距离,欧式距离越小,说明相似度越高。可以输出相似度最高的检索数据集的图像;也可以根据欧式距离排序结果,输出多个相似度较高的检索数据集的图像。
为了验证本申请技术方案的技术效果,采用MINIST、SVHN、SUN397、Oxbuild5K和Paris6K等六种数据集,对ShuffleNet、Shufflenet V2、MobileNets、MobileNetV2和本申请LMNV2进行了测试,测试结果参见表1:
表1
由表1可知,本申请所采用的模型LMNV2在各个评估指标上表现较好,相比现有技术的网络模型,不仅体量较小适用于移动终端,并且检索性能也优于其他网络模型。
在一个实施例中,本申请还提供了一种面向移动端实例级图像检索装置,应用于移动终端,包括处理器以及存储有若干计算机指令的存储器,所述计算机指令被处理器执行时实现所述面向移动端实例级图像检索方法的步骤。
关于面向移动端实例级图像检索装置的具体限定可以参见上文中对于面向移动端实例级图像检索方法的限定,在此不再赘述。上述面向移动端实例级图像检索装置可全部或部分通过软件、硬件及其组合来实现。可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上对应的操作。
存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器中存储有可在处理器上运行的计算机程序,所述处理器通过运行存储在存储器内的计算机程序,从而实现本发明实施例中的网络拓扑布局方法。
其中,所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器用于存储程序,所述处理器在接收到执行指令后,执行所述程序。
所述处理器可能是一种集成电路芯片,具有数据的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种面向移动端实例级图像检索方法,其特征在于,所述面向移动端实例级图像检索方法,包括:
构建并训练轻量级神经网络分类模型,所述轻量级神经网络分类模型包括嵌入层、卷积注意力模块、七个瓶颈块、全连接层、卷积注意力模块、池化层和分类器;
将所述轻量级神经网络分类模型最后一层分类器去除后作为特征提取器,采用特征提取器提取待检索图像的图片特征,计算待检索图像的图片特征与检索数据集图像的图片特征的欧式距离,输出最小欧式距离对应的检索数据集图像。
2.根据权利要求1所述的面向移动端实例级图像检索方法,其特征在于,所述瓶颈块包括:第一分组卷积层、通道混洗操作层、深度卷积层、第二分组卷积层和卷积注意力模块。
3.根据权利要求2所述的面向移动端实例级图像检索方法,其特征在于,所述第一分组卷积层包括分组卷积、批归一化层和激活函数。
4.根据权利要求2所述的面向移动端实例级图像检索方法,其特征在于,所述第二分组卷积层包括分组卷积和批归一化层。
5.根据权利要求1所述的面向移动端实例级图像检索方法,其特征在于,所述池化层为二元自适应均值池化层。
6.一种面向移动端实例级图像检索装置,应用于移动终端,包括处理器以及存储有若干计算机指令的存储器,其特征在于,所述计算机指令被处理器执行时实现权利要求1至权利要求5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210010672.5A CN114357219A (zh) | 2022-01-06 | 2022-01-06 | 一种面向移动端实例级图像检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210010672.5A CN114357219A (zh) | 2022-01-06 | 2022-01-06 | 一种面向移动端实例级图像检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114357219A true CN114357219A (zh) | 2022-04-15 |
Family
ID=81107140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210010672.5A Pending CN114357219A (zh) | 2022-01-06 | 2022-01-06 | 一种面向移动端实例级图像检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114357219A (zh) |
-
2022
- 2022-01-06 CN CN202210010672.5A patent/CN114357219A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI677852B (zh) | 一種圖像特徵獲取方法及裝置、電子設備、電腦可讀存儲介質 | |
CN107683469A (zh) | 一种基于深度学习的产品分类方法及装置 | |
CN110135505B (zh) | 图像分类方法、装置、计算机设备及计算机可读存储介质 | |
CN112434188B (zh) | 一种异构数据库的数据集成方法、装置及存储介质 | |
US9690969B2 (en) | Information processing apparatus, non-transitory computer readable medium, and information processing method | |
CN110751027B (zh) | 一种基于深度多示例学习的行人重识别方法 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN114048468A (zh) | 入侵检测的方法、入侵检测模型训练的方法、装置及介质 | |
CN112163114B (zh) | 一种基于特征融合的图像检索方法 | |
CN105989001A (zh) | 图像搜索方法及装置、图像搜索系统 | |
CN113806580A (zh) | 基于层次语义结构的跨模态哈希检索方法 | |
CN111340213B (zh) | 神经网络的训练方法、电子设备、存储介质 | |
CN111325237A (zh) | 一种基于注意力交互机制的图像识别方法 | |
CN112966072A (zh) | 案件的预判方法、装置、电子装置和存储介质 | |
CN111178196B (zh) | 一种细胞分类的方法、装置及设备 | |
CN117390480A (zh) | 一种信息提取方法、装置、设备及存储介质 | |
CN112348188A (zh) | 模型生成方法及装置、电子设备和存储介质 | |
CN117076946A (zh) | 一种短文本相似度确定方法、装置及终端 | |
CN115907775A (zh) | 基于深度学习的个人征信评级方法及其应用 | |
CN114357219A (zh) | 一种面向移动端实例级图像检索方法及装置 | |
CN113610350B (zh) | 复杂工况故障诊断方法、设备、存储介质及装置 | |
CN114610953A (zh) | 一种数据分类方法、装置、设备及存储介质 | |
CN114021699A (zh) | 一种基于梯度的卷积神经网络剪枝方法及装置 | |
CN114496068A (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 |