CN109711422A - 图像数据处理、模型的建立方法、装置、计算机设备和存储介质 - Google Patents

图像数据处理、模型的建立方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN109711422A
CN109711422A CN201711015902.2A CN201711015902A CN109711422A CN 109711422 A CN109711422 A CN 109711422A CN 201711015902 A CN201711015902 A CN 201711015902A CN 109711422 A CN109711422 A CN 109711422A
Authority
CN
China
Prior art keywords
hash
image
layer
model
convolutional
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.)
Granted
Application number
CN201711015902.2A
Other languages
English (en)
Other versions
CN109711422B (zh
Inventor
刘武
马华东
高文慧
黄婷婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Beijing University of Posts and Telecommunications
Original Assignee
Tencent Technology Shenzhen Co Ltd
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd, Beijing University of Posts and Telecommunications filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711015902.2A priority Critical patent/CN109711422B/zh
Publication of CN109711422A publication Critical patent/CN109711422A/zh
Application granted granted Critical
Publication of CN109711422B publication Critical patent/CN109711422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种图像数据处理方法、装置、计算机设备和存储介质,所述方法包括:获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层;所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码,可以直接从图像中学习出更加鲁棒、紧凑,区分力更强的图像哈希码,还提出一种图像哈希码提取模型的建立方法、装置、计算机设备和存储介质。

Description

图像数据处理、模型的建立方法、装置、计算机设备和存储 介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种图像数据处理方法、图像哈希码提取模型的建立方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,多媒体图像数据在各个应用中发挥着重要的作用。如视觉检索,以图像语义特征为线索从图像数据库中检出具有相似内容的其它图像,如智能跟踪,通过提取目标对象的特征实现目标对象的实时跟踪。视觉哈希是将原始的视觉描述符用哈希函数映射到低维的哈希表达,其中哈希函数将任意长度的二进制值映射为较短的固定长度的二进制值,因为其在计算能力,内存需求,等性能上都有突出的效果得到了广泛的应用。
由于复杂的拍摄条件,会给图像引入不可避免的视觉噪声,提取能够处理显著视觉误差的高鲁棒性的特征对于图像处理类应用至关重要,如何从视觉信息中提取鲁棒、区分力强、并且更加紧凑的哈希码成为待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种图像数据处理方法、图像哈希码提取模型的建立方法、装置、计算机设备和存储介质,使图像特征与哈希码联合学习,能有效且快速地从图像信息中同时学习图像特征和哈希码,可以直接从图像中学习出更加鲁棒、紧凑,区分力更强的图像哈希码。
一种图像数据处理方法,所述方法包括:
获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层;
所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;
获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
一种图像数据处理装置,所述装置包括:
输入模块,用于获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层,所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;
哈希码输出模块,用于获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述计算机程序时实现以下步骤:
获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层;
所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;
获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层;
所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;
获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
上述图像数据处理方法、装置、计算机设备及存储介质,通过获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,图像哈希码提取模型包括卷积神经网络,卷积神经网络包括嵌入了卷积层之后的哈希映射层,其中图像哈希码提取模型的参数由图像分类模型训练得到,图像分类模型包括卷积神经网络,并在所述哈希映射层之后连接分类输出层,获取图像哈希码提取模型输出的待处理图像对应的哈希码,将哈希映射层嵌入卷积神经网络中,由于卷积神经网络具有强大的理解与抽象能力,从而可从原始的像素级图片中同时学习到图像特征与哈希码,且图像哈希码提取模型的参数是通过存在分类输出层的图像分类模型训练得到的,通过最小化目标函数的分类误差来学习哈希码,使哈希码的每一位都携带尽可能多的信息,利用基于深度学习的哈希方法,可从视觉信息中提取鲁棒、区分力强、并且更加紧凑的哈希码。
一种图像哈希码提取模型的建立方法,所述方法包括:
获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;
将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;
将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;
通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
一种图像哈希码提取模型的建立装置,所述装置包括:
获取模块,用于获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
卷积神经网络模块,用于将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;
哈希映射层模块,用于将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;
分类输出层模块,用于将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
目标图像分类模型确定模块,用于根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差,通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
目标图像哈希码提取模型确定模块,用于以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述计算机程序时实现以下步骤:
获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;
将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;
将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;
通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;
将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;
将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;
通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
上述图像哈希码提取模型的建立方法、装置、计算机设备及存储介质,训练图像分类模型从原始的像素级图片中同时学习到图像特征与哈希码,端到端的深度学习框架能更有效地学习哈希函数与图像语义信息,有监督的基于图像语义的深度哈希算法将哈希函数作为一个隐层嵌入到图像语义层与分类输出层之间,通过最小化目标函数的分类误差来学习哈希码,并使哈希码的每一位都携带尽可能多的信息,从而得到已训练的图像哈希码提取模型。图像哈希码提取模型的参数是通过将哈希码反映射至分类确定的,减少了直接通过哈希码计算收敛函数的复杂度,可快速便利地建立目标图像哈希码提取模型。
附图说明
图1为一个实施例中图像数据处理方法、图像哈希码提取模型的建立方法的应用环境图;
图2为一个实施例中图像数据处理方法的流程图;
图3为一个实施例中训练图像哈希码提取模型的流程图;
图4为一个实施例中输出目标哈希码的流程图;
图5为一个实施例中生成原始视觉描述符的流程图;
图6为一个实施例中哈希映射层生成目标哈希码的流程图;
图7为一个实施例中视觉检索的流程图;
图8为一个实施例中图像哈希码提取模型的建立方法的流程图;
图9为一个实施例中训练过程中生成原始视觉描述符集的流程图;
图10为一个实施例中训练过程中生成哈希码集的流程图;
图11为一个实施例中建立图片索引的流程图;
图12为一个实施例中训练图像哈希码提取模型的网络结构示意图;
图13为一个实施例中图像检索的流程示意图;
图14为一个实施例中图像数据处理装置的结构框图;
图15为一个实施例中图像数据处理装置的结构框图;
图16为一个实施例中哈希码输出模块的结构框图;
图17为一个实施例中原始视觉描述符输出单元的结构框图;
图18为一个实施例中图像数据处理装置的结构框图;
图19为一个实施例中图像哈希码提取模型的建立装置的结构框图;
图20为一个实施例中图像哈希码提取模型的建立装置的结构框图;
图21为一个实施例中计算机设备的内部结构示意图。
具体实施方式
如图1所示,为一个实施例中的应用环境图,该应用环境包括终端1001、服务器1002,其中终端1001、服务器1002之间能够通过网络进行通信。服务器120可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。终端1001可为智能手机、平板电脑、笔记本电脑、台式计算机、智能手表等,但并不局限于此。终端1001可通过图像采集装置采集得到待处理图像或从存储器中存储的图像中选取待处理图像,将待处理图像输入已训练的图像哈希码提取模型,其中图像哈希码提取模型是由图像特征与哈希码联合学习训练得到的模型,输出得到待处理图像对应的哈希码,将哈希码作为检索索引通过网络发送至服务器1002,服务器1002计算检索索引与图像库中各个候选哈希码的海明距离,根据海明距离从候选哈希码获取目标哈希码,将目标哈希码对应的候选图片作为目标图片返回至终端1001完成基于图像内容的检索。其中图像哈希码提取模型构架了新的基于深度学习的视觉哈希码提取方法,在大规模图像数据集上直接使用深度卷积神经网络来学习哈希编码,自适应的学习到视觉图像特征的哈希函数,从而能从视觉信息中提取鲁棒、区分力强、并且更加紧凑的哈希码,提取的哈希码可用于实现准确和快速的移动视觉检索,目标对象跟踪等视觉应用场景。
如图1所示,在一个实施例中,提出了一种图像数据处理方法,该方法应用于上述应用环境中的终端或服务器,具体包括以下步骤:
步骤S110,获取待处理图像,将待处理图像输入已训练的图像哈希码提取模型,图像哈希码提取模型包括卷积神经网络,卷积神经网络包括嵌入卷积层之后的哈希映射层,图像哈希码提取模型的参数由图像分类模型训练得到,图像分类模型包括卷积神经网络,并在哈希映射层之后连接分类输出层。
其中,待处理图像是需要进行处理映射至对应的哈希码的图像,可以是单个的图像或从视频对应的连续视频帧中获取的一个或多个图像。待处理图像可以是实时采集的,如终端通过摄像头实时采集的图像,或预先存储在非易失性存储介质,如终端或服务器数据库中,然后从数据库中获取待处理图像,如通过相册界面选取待处理图像。待处理图像的格式不作限定,如为RGB三通道的图像。在一个实施例中,将待处理图像输入已训练的图像哈希码提取模型之前,还包括:对待处理图像进行上采样或下采样,进行缩放至预设分辨率大小的图像,如256×256像素的图像。在一个实施例中,将待处理图像输入已训练的图像哈希码提取模型之前,还包括:前待处理图像进行分割,如进行前景和背景分割,进行目标对象分割等,将分割后的待处理图像输入已训练的图像哈希码提取模型,通过分割可识别目标对象,去掉图像中的影响因素,提高图像特征提取的准确率和哈希码计算的针对性。
已训练的图像哈希码提取模型用于对输入图像进行图像特征与哈希码的联合学习,从原始的像素级图片中同时学习到图像特征和对应的哈希码。图像哈希码提取模型包括卷积神经网络,卷积神经网络包括嵌入的哈希映射层,哈希映射层用于将学习到的图像特征映射到固定长度的哈希码上。其中卷积神经网络是一种前馈神经网络,可由卷积层、池化层、全连接层等多个处理层连接组成,卷积神经网络有三个结构上的特性:局部连接,权重共享以及空间或时间上的次采样,这些特性使得卷积神经网络具有一定程度上的平移、缩放和扭曲不变性。为了将哈希函数学习的过程嵌入到深度学习模型中,使得哈希函数的学习与特征提取同步进行,将哈希映射层嵌入卷积神经网络中,由于卷积神经网络具有强大的理解与抽象能力,从而可从原始的像素级图片中同时学习到图像特征与哈希码。
在训练图像哈希码提取模型确定对应的模型参数时,为了采用有监督的信息来训练卷积神经网络,需要通过训练图像分类模型确定图像哈希码提取模型的参数。其中有监督学习是指对训练集中的每一个样本都有对应的正确结果,有监督的信息是指有监督学习中对每个图像样本给出的真实值,比如对于每一张训练图像,都带有正确的类别信息,如每一张训练图像存在关于地点的正确标签,标明这张图像属于哪一个地点,如第一训练图像为成都,第二训练图像为北京。图像分类模型在卷积层、哈希映射层之后连接分类输出层,从而将图像从哈希码反映射至对应的类别,从而将训练图像对应的标准类别作为期望,通过最小化目标函数的分类误差来学习哈希码,并使哈希码的每一位都携带尽可能多的信息。因此,所学习到的哈希码使语义相似的图像的海明距离更近,这使得可以根据哈希码的海明距离来检索相似图像。
确定图像分类模型的参数后,将哈希映射层作为输出层,得到确定模型参数的对应的图像哈希码提取模型,可直接用于提取输入图像的哈希码。在一个实施例中,也可直接将图像分类模型作为图像哈希码提取模型,可同时输出待处理图像的哈希码和对应的图像分类。
步骤S120,获取图像哈希码提取模型输出的待处理图像对应的哈希码。
其中,哈希映射层的前一层输出的是原始的视觉描述符,可以是一个向量或矩阵,如一个1024位的浮点数向量,携带了卷积神经网络从待处理图像中提取出的内容信息,哈希码将待处理图像的视觉描述符转化为一段唯一且极其紧凑的数值表示形式,可以是二进制哈希码,哈希码的生成规则,如长度、候选哈希值可根据需要自定义。哈希码的长度与精度成正比,哈希码可为16位,32位和64位的二进制哈希码,可使用值量化的方法将待处理图片映射到对应的二进制哈希码上。通过图像哈希码提取模型可直接输出待处理图像对应的哈希码,从而获取到与图像内容信息对应的极其紧凑的数值表示形式,有效的减小数据规模,可在低带宽的网络中传输,用于存储也能减小存储空间,对内存和计算能力的要求都比较低。
本实施例中,通过获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,图像哈希码提取模型包括卷积神经网络,卷积神经网络包括嵌入卷积层之后的哈希映射层,其中图像哈希码提取模型的参数由图像分类模型训练得到,图像分类模型包括卷积神经网络,并在哈希映射层之后连接分类输出层,获取图像哈希码提取模型输出的待处理图像对应的哈希码,将哈希映射层嵌入卷积神经网络中,由于卷积神经网络具有强大的理解与抽象能力,从而可从原始的像素级图片中同时学习到图像特征与哈希码,且图像哈希码提取模型的参数是通过存在分类输出层的图像分类模型训练得到的,通过最小化目标函数的分类误差来学习哈希码,使哈希码的每一位都携带尽可能多的信息,利用基于深度学习的哈希方法,可从视觉信息中提取鲁棒、区分力强、并且更加紧凑的哈希码。
在一个实施例中,步骤S110之前,还包括:
步骤S210,获取训练样本图像集,训练样本图像集中的各个训练样本图像存在对应的标准分类。
其中,训练样本图像集由训练样本图像组成,每个训练样本图像存在对应的标准分类,标准分类用于描述此训练样本图像的真实类别,使用有监督的信息来训练卷积神经网络。根据实际情况,标准分类的类别总数目可以自由设定,比如一个实施例中,标准分类总类别数为162个,代表162个地点。
步骤S220,将训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集。
具体地,卷积层、哈希映射层和分类输出层都是由神经元构成的,每个神经元作为相应层的一个神经元节点。相邻的层与层之间的神经元通过预设的连接方式进行连接,如全连接或局部连接,如果是全连接,则第i层的中的任意一个神经元一定与第i+1层的任意一个神经元相接。卷积层、哈希映射层和分类输出层中的各个神经元节点对应有相应的权重,还可存在偏差,形成待训练的模型参数。卷积层通过对输入训练样本图像集中的各个训练样本图像进行特征提取,输出对应的原始视觉描述符集,每个训练样本图像都存在对应的原始视觉描述符。其中,卷积层的数目和结构可根据需要自定义。
步骤S230,将原始视觉描述符集输入哈希映射层输出对应的哈希码集,将哈希码集输入分类输出层,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布,根据各个哈希码对应的训练样本图像的类别概率分布计算分类误差,通过最小化分类误差训练图像分类模型得到目标图像分类模型。
具体地,哈希映射层将原始视觉描述符集中的各个原始视觉描述符映射为对应的哈希码,组成哈希码集。在一个实施例中,哈希映射层可使用诸如sigmoid或tanh的激活函数输出连续的哈希值,然后通过适当的阈值将其量化为二进制哈希码。将哈希码集输入分类输出层,从而将哈希码集中各个哈希码反映射至对应的类别,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布。类别概率分布描述了各个哈希码对应的训练样本图像属于各个标准分类的类别的概率,如存在162个类别,则类别概率分布为训练样本图像分别属于这162个类别的概率,类别概率分布中的所有类别概率之和为1。在训练的过程中通过不断调整图像分类模型的模型参数来使得模型输出的图像分类与标准分类不断接近,直到两者的误差符合收敛条件完成对模型的训练得到目标图像分类模型,其中收敛条件为分类误差最小。
在一个实施例中,误差函数是分类中经常使用的交叉熵误差(Cross entropyloss),其形式如下:
其中N表示样本总数,Pn表示样本的标签值,an表示样本经过网络计算后的输出值。
具体在本实施例中,分类误差c的计算公式中,N表示样本的标准分类总数,如162个地点作为标准分类,Pn是训练样本图像是第n类的概率,标签表示的是真实值,当训练样本图像是第n类图片的时候Pn=1,反之为Pn=0。
步骤S240,以目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
具体地,由于实际应用中不需要得到待处理图像的分类,只需要得到待处理图像的哈希码,从而以目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型,图像哈希码提取模型的输出为输入图像对应的哈希码。
本实施例中,训练图像分类模型从原始的像素级图片中同时学习到图像特征与哈希码,端到端的深度学习框架能更有效地学习哈希函数与图像语义信息,有监督的基于图像语义的深度哈希算法将哈希函数作为一个隐层嵌入到图像语义层与分类输出层之间,通过最小化目标函数的分类误差来学习哈希码,并使哈希码的每一位都携带尽可能多的信息,从而得到已训练的图像哈希码提取模型。图像哈希码提取模型的参数是通过将哈希码反映射至分类确定的,减少了直接通过哈希码计算收敛函数的复杂度,可快速便利地建立目标图像哈希码提取模型。
在一个实施例中,如图4所示,步骤S120包括:
步骤S121,获取待处理图像经过卷积层输出的对应的原始视觉描述符。
具体地,卷积层的数目由图像哈希码提取模型的结构决定,待处理图像输入第一卷积层后根据预设数目个不同的卷积核进行特征提取后得到第一特征图集合,如输入224x224大小的图像,经过32个3x 3的卷积核并且步长为2的特征提取后得到32个112x112的特征图组成第一特征图集合,再将第一特征图集合输入第二卷积层,根据第二卷积层的卷积结构进行卷积和特征提取得到第二特征图集合,直到最后一个卷积层运算完毕输出的对应的原始视觉描述符。
步骤S122,将原始视觉描述符输入哈希映射层输出对应的目标哈希码。
具体地,获取哈希映射层各个神经元对应的权重和偏置值,将原始视觉描述符根据各个神经元对应的权重和偏置值进行计算和量化输出各个神经元对应的哈希值,各个神经元对应的哈希值组成目标哈希码。各个神经元对应的权重和偏置值都不同,从而形成不同的哈希值。哈希映射层中神经元的个数与哈希码的位数相同,如目标哈希码为64位,则哈希映射层包含64个神经元。
本实施例中,由于图像哈希码提取模型将哈希函数学习的过程嵌入到深度学习模型中,通过图像哈希码提取模型可直接同步输出原始视觉描述符和目标哈希码,使得目标哈希码的输出与原始视觉描述符的输出可同步进行。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,深度可分离卷积网络包括深度卷积层和映射卷积层,如图5所示,步骤S121包括:
步骤S121a,将待处理图像经过第一卷积层输出对应的第一特征图集合。
其中,深度可分离卷积网络的数目可自定义,如由13对深度可分离卷积网络组成,每一对深度可分离卷积网络又由两层组成,即深度卷积层和映射卷积层,深度卷积层用于进行卷积运算,映射卷积层用于对卷积的结果进行线性结合形成特征图。
具体地,第一卷积层是普通卷积层,待处理图像首先经过第一卷积层,进行了卷积运算,卷积运算是对待处理图像进行抽象的特征提取的运算,对待处理图像进行卷积运算之后得到的结果就是第一特征图,由于第一卷积层往往提取了多个不同的特征,所以各个不同的特征都有对应的特征图组成第一特征图集合,第一特征图集合作为下一个卷积层的输入。
步骤S121b,将第一特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二特征图集合,将第二特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三特征图集合。
具体地,每一层对应的深度卷积过滤器和映射卷积过滤器的内核数和内核大小可不同,且可自定义,根据需要可自行调整,深度卷积过滤器的内核数与映射卷积过滤器的内核数可以没有捆绑关系,如第一深度卷积层对应的深度卷积过滤器含有32个内核,每一个内核都是3×3大小,卷积步长为2,第一映射卷积层对应的映射卷积过滤器含有64个内核,每一个内核都是1×1大小。第一特征图集合先经过第一深度卷积层,通过第一深度卷积层通过对应的深度卷积过滤器输出第二特征图集合,如第一特征图集合为32个112x112的特征图,输出的第二特征图集合也为32个112x112的特征图,但是特征图的内容变化了。将第二特征图集合输入第一映射卷积层通过对应的映射卷积过滤器,输出第三特征图集合,如将第二特征图集合中32个112x112的特征图输入第一映射卷积过滤器,得到64个112x112的特征图。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
具体地,映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,从而对深度卷积过滤器的输出结果进行线性组合生成双倍数目的特征图。下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同,从而对上一个深度可分离卷积网络内的映射卷积过滤器的输出结果进行更多特征的提取,得到更新的双倍数目的特征图。如果每次深度卷积过滤器的卷积步长为2,还可实现特征图大小的缩小,形成提取了更多特征的,深度更深的小分辨率的特征图。
步骤S121c,将第三特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标特征图集合,目标特征图集合形成原始视觉描述符。
具体地,将第三特征图集合输入下一个深度可分离卷积网络,通过下一个深度可分离卷积网络对应的深度卷积层的深度卷积过滤器,映射卷积层的映射卷积过滤器分别进行特征提取和线性组合,形成更新的特征图集合,直到最后一个深度可分离卷积网络输出目标特征图集合,形成原始视觉描述符。
本实施例中,将普通的卷积层分解成两部分:先通过深度卷积层进行卷积运算,然后再通过映射卷积对卷积的结果进行线性结合形成特征图,能有效的加速模型训练以及减小模型规模,并且尽量少地影响精度,使用深度可分离卷积神经网络可以同时加速计算并减小模型对内存的需求。
在一个实施例中,通过将标准卷积层分解为深度卷积层和1×1的映射卷积层,可以显著降低卷积过程中的浮点数运算量。
标准卷积层的计算量可以表示为:
DK×DK×M×N×DF×DF
其中M为输入特征图的通道数,N为卷积之后输出特征图的通道数,DK×DK为卷积层的内核尺寸,DF×DF为输出特征图的尺寸。
深度可分离卷积层的计算量可以表示为深度卷积层和1×1映射卷积层两部分。深度卷积层的计算量为:
DK×DK×M×DF×DF
1×1映射卷积层的计算量为:
M×N×DF×DF
深度可分离卷积层的计算量就可表示为以上两部分计算量之和:
DK×DK×M×DF×DF+M×N×DF×DF
对标准卷积层和深度可分离卷积层的计算量进行比较可得:
在一个实施例中,深度卷积层采用了3×3的卷积核尺寸,因此采用深度可分离卷积层可以把计算量降低到标准卷积层的左右,所用到的参数量也大大减少,但依然能保持相似的精确度。通过降低计算量,可以减少深度卷积网络的计算时间,使得模型可以把时延降低到移动设备可以接受的范围内。
在一个实施例中,如图6所示,步骤S122包括:
步骤S122a,获取哈希映射层的第一节点作为当前节点。
具体地,哈希映射层的每个神经元都作为一个节点,每个节点对应一个哈希值,每个节点的权重和偏置不同,从而需要从第一个节点开始计算各个哈希值组成哈希码。
步骤S122b,获取当前节点对应的偏置值作为当前偏置值,获取当前节点对应的权重作为当前权重。
具体地,获取当前节点对应的经过训练已确定的偏置值,偏置值用于反应训练的结果偏离真实值的大小,来防止过拟合。当前节点对应的权重用于与原始视觉描述符进行计算得到初步哈希值。
步骤S122c,根据原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值。
具体地,根据当前权重与原始视觉描述符进行运算得到初步哈希值,再将初步哈希值经过偏置值进行修正得到修正哈希值,将修正哈希值进行量化得到最终的哈希值。
在一个实施例中,哈希映射层的激活函数采用sigmoid函数,将输入值的区间映射到0~1之间,使用值量化的方法将图片映射到二进制哈希码上,采用如下的公式计算哈希值:
其中bn表示第n个节点对应的哈希值,1≤n≤N,N表示哈希码的总位数,σ表示sigmoid函数,sign表示符号函数,当v>0时sign(v)=1,v<0时sign(v)=0。表示哈希映射层第n个节点对应的权重,表示卷积层输出的原始视觉描述符,表示哈希映射层第n个节点对应的偏置值。
步骤S122d,获取哈希映射层的下一个节点作为当前节点,重复进入步骤S122b,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值,哈希映射层的各个节点对应的哈希值按计算顺序组成目标哈希码。
具体的,获取哈希映射层的下一个节点作为当前节点,重复步骤S122b-S122c,计算各个节点对应的哈希值,从而按计算顺序组成目标哈希码。
本实施例中,各个节点都有对应的偏置值对结果进行修正,提高了结果的准确性,且采用值量化法将语义特征从浮点数量化为二进制码,简单方便。
在一个实施例中,步骤S122之前,还包括:将原始视觉描述符输入均值池化层得到一维向量视觉描述符,将一维向量视觉描述符输入哈希映射层,哈希映射层与均值池化层全连接。
具体地,通过均值池化层来降低卷积层输出的特征向量维度,同时改善结果,避免出现过拟合,将原始视觉描述符输入均值池化层得到一维向量视觉描述符,一维向量视觉描述符只有一个维度,便于后续通过一维向量直接计算哈希码,减少了计算复杂度。哈希映射层与均值池化层全连接,每个哈希值与一维向量视觉描述符中的所有值相关,保证结果的精确度。
在一个实施例中,上述各个实施例所述的方法应用于终端,步骤S120的步骤之后,还包括步骤S130:将哈希码作为检索索引发送至服务器,以使服务器根据预存的候选图片集中各个候选图片与候选哈希码的关联关系,计算检索索引与各个候选哈希码的海明距离,根据海明距离从所述候选哈希码获取目标哈希码,将目标哈希码对应的候选图片作为目标图片返回。
具体地,通过图像哈希码提取模型能有效且快速地从图像信息中同时学习图像特征和哈希码,得到更加鲁棒、紧凑,区分力更强的图像哈希码,即使拍摄的图片受到光照等噪声的影响,也能得到与图像内容匹配的哈希码。将哈希码作为检索索引,以便于对图像进行快速精确的搜索。且只需要哈希码作为将检索索引发送至服务器,哈希码是图像语义特征极其紧凑的数值表示形式,减少了对传输带宽的占用。
对于采用了可分离卷积网络的图像哈希码提取模型,计算量比标准卷积层大大降低,减少深度卷积网络的计算时间,使得模型计算哈希码时延降低到移动设备可以接受的范围内,提高基于图像内容的检索的速度,满足了移动端设备对网络的速度和规模上的要求,移动端可以广泛的使用图像哈希码提取模型来进行视觉检索。
在一个实施例中,如图8所示,提供了一种图像哈希码提取模型的建立方法,应用于上述应用环境中的终端或服务器,包括以下步骤:
步骤S310,获取训练样本图像集,训练样本图像集中的各个训练样本图像存在对应的标准分类。
其中,训练样本图像集由训练样本图像组成,每个训练样本图像存在对应的标准分类,标准分类用于描述此训练样本图像的真实类别,使用有监督的信息来训练卷积神经网络。根据实际情况,标准分类的类别总数目可以自由设定,比如一个实施例中,标准分类总类别数为162个,代表162个地点。
步骤S320,将训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集。
具体地,卷积层、哈希映射层和分类输出层都是由神经元构成的,每个神经元作为相应层的一个神经元节点。相邻的层与层之间的神经元通过预设的连接方式进行连接,如全连接或局部连接,如果是全连接,则第i层的中的任意一个神经元一定与第i+1层的任意一个神经元相接。卷积层、哈希映射层和分类输出层中的各个神经元节点对应有相应的权重,还可存在偏差,形成待训练的模型参数。卷积层通过对输入训练样本图像集中的各个训练样本图像进行特征提取,输出对应的原始视觉描述符集,每个训练样本图像都存在对应的原始视觉描述符。其中,卷积层的数目和结构可根据需要自定义。
步骤S330,将原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集,将哈希码集输入与哈希映射层连接的分类输出层,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布,根据各个哈希码对应的训练样本图像的类别概率分布计算分类误差,通过最小化分类误差训练图像分类模型得到目标图像分类模型。
具体地,哈希映射层将原始视觉描述符集中的各个原始视觉描述符映射为对应的哈希码,组成哈希码集。在一个实施例中,哈希映射层可使用诸如sigmoid或tanh的激活函数输出连续的哈希值,然后通过适当的阈值将其量化为二进制哈希码。将哈希码集输入分类输出层,从而将哈希码集中各个哈希码反映射至对应的类别,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布。类别概率分布描述了各个哈希码对应的训练样本图像属于各个标准分类的类别的概率,如存在162个类别,则类别概率分布为训练样本图像分别属于这162个类别的概率,类别概率分布中的所有类别概率之和为1。在训练的过程中通过不断调整图像分类模型的模型参数来使得模型输出的图像分类与标准分类不断接近,直到两者的误差符合收敛条件完成对模型的训练得到目标图像分类模型,其中收敛条件为分类误差最小。
在一个实施例中,误差函数是分类中经常使用的交叉熵误差(Cross entropyloss),其形式如下:
其中N表示样本总数,Pn表示样本的标签值,an表示样本经过网络计算后的输出值。
具体在本实施例中,分类误差c的计算公式中,N表示样本的标准分类总数,如162个地点作为标准分类,Pn是训练样本图像是第n类的概率,标签表示的是真实值,当训练样本图像是第n类图片的时候Pn=1,反之为Pn=0。
步骤S340,以目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
具体地,由于实际应用中不需要得到待处理图像的分类,只需要得到待处理图像的哈希码,从而以目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型,图像哈希码提取模型的输出为输入图像对应的哈希码。
本实施例中,训练图像分类模型从原始的像素级图片中同时学习到图像特征与哈希码,端到端的深度学习框架能更有效地学习哈希函数与图像语义信息,有监督的基于图像语义的深度哈希算法将哈希函数作为一个隐层嵌入到图像语义层与分类输出层之间,通过最小化目标函数的分类误差来学习哈希码,并使哈希码的每一位都携带尽可能多的信息,从而得到已训练的图像哈希码提取模型。图像哈希码提取模型的参数是通过将哈希码反映射至分类确定的,减少了直接通过哈希码计算收敛函数的复杂度,可快速便利地建立目标图像哈希码提取模型。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,深度可分离卷积网络包括深度卷积层和映射卷积层,如图9所示,步骤S320包括:
步骤S321,将训练样本图像集经过第一卷积层输出对应的第一训练特征图集合。
其中,深度可分离卷积网络的数目可自定义,如由13对深度可分离卷积网络组成,每一对深度可分离卷积网络又由两层组成,即深度卷积层和映射卷积层,深度卷积层用于进行卷积运算,映射卷积层用于对卷积的结果进行线性结合形成特征图。
具体地,第一卷积层是普通卷积层,训练样本图像集中的各个训练样本图像首先经过第一卷积层,进行了卷积运算,卷积运算是对训练样本图像进行抽象的特征提取的运算,对训练样本图像进行卷积运算之后得到的结果就是对应的第一特征图,由于第一卷积层往往提取了多个不同的特征,所以各个不同的特征都有对应的特征图组成特征图集合,各个训练样本图像对应的特征图集合组成第一训练特征图集合,第一训练特征图集合作为下一个卷积层的输入。
步骤S322,将第一训练特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二训练特征图集合,将第二训练特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三训练特征图集合。
具体地,每一层对应的深度卷积过滤器和映射卷积过滤器的内核数和内核大小可不同,且可自定义,如第一深度卷积层对应的深度卷积过滤器含有32个内核,每一个内核都是3×3大小,卷积步长为2,第一映射卷积层对应的映射卷积过滤器含有64个内核,每一个内核都是1×1大小。第一训练特征图集合先经过第一深度卷积层,通过第一深度卷积层通过对应的深度卷积过滤器输出第二训练特征图集合,如第一训练特征图集合包括N个32x112x112的特征图,其中N表示训练样本数,输出的第二练特特征图集合也为N个32x112x112的特征图,但是特征图的内容变化了。将第二练特特征图集合输入第一映射卷积层通过对应的映射卷积过滤器,输出第三练特特征图集合,如将第二特征图集合中N个32x112x112的特征图输入第一映射卷积过滤器,得到N个64x112x112的特征图。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
步骤S323,将第三训练特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标训练特征图集合,目标训练特征图集合形成原始视觉描述符集。
具体地,将第三训练特征图集合输入下一个深度可分离卷积网络,通过下一个深度可分离卷积网络对应的深度卷积层的深度卷积过滤器,映射卷积层的映射卷积过滤器分别进行特征提取和线性组合,形成更新的特征图集合,直到最后一个深度可分离卷积网络输出目标训练特征图集合,形成原始视觉描述符集。
在一个实施例中,如图10所示,步骤S330中将原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集包括:
步骤S331,获取原始视觉描述符集的第一原始视觉描述符作为当前原始视觉描述符。
具体的,由于训练样本图像集中存在多个训练样本图像,每个训练样本图像都存在对应的原始视觉描述符,所以原始视觉描述符集中包括各个训练样本图像对应的原始视觉描述符,依次将各个原始视觉描述符作为当前原始视觉描述符。
步骤S332,获取哈希映射层的第一节点作为当前节点。
具体地,哈希映射层的每个神经元都作为一个节点,每个节点对应一个哈希值,每个节点的权重和偏置不同,从而需要从第一个节点开始计算各个哈希值组成哈希码。
步骤S333,获取当前节点对应的偏置值作为当前偏置值,获取当前节点对应的权重作为当前权重。
具体地,获取当前节点对应的经过训练已确定的偏置值,偏置值用于反应训练的结果偏离真实值的大小,来防止过拟合。当前节点对应的权重用于与当前原始视觉描述符进行计算得到当前初步哈希值。
步骤S334,根据当前原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到当前节点对应的哈希值。
具体地,根据当前权重与当前原始视觉描述符进行运算得到当前初步哈希值,再将当前初步哈希值经过偏置值进行修正得到修正哈希值,将修正哈希值进行量化得到最终的哈希值。
在一个实施例中,哈希映射层的激活函数采用sigmoid函数,将输入值的区间映射到0~1之间,使用值量化的方法将图片映射到二进制哈希码上,采用如下的公式计算哈希值:
其中bn表示第n个节点对应的哈希值,1≤n≤N,N表示哈希码的总位数,σ表示sigmoid函数,sign表示符号函数,当v>0时sign(v)=1,v<0时sign(v)=0。表示哈希映射层第n个节点对应的权重,表示卷积层输出的原始视觉描述符,表示哈希映射层第n个节点对应的偏置值。
步骤S335,获取哈希映射层的下一个节点作为当前节点,重复进入步骤S333-S334,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值,哈希映射层的各个节点对应的哈希值按计算顺序组成当前原始视觉描述符对应的当前哈希码。
具体的,获取哈希映射层的下一个节点作为当前节点,重复步骤S333-S334,计算各个节点对应的哈希值,从而按计算顺序组成当前原始视觉描述符对应的当前哈希码。
步骤S336,获取原始视觉描述符集的下一个原始视觉描述符作为当前原始视觉描述符,进入步骤S332-S335,直到原始视觉描述符集的全部原始视觉描述符存在对应的哈希码,组成哈希码集。
具体地,各个训练样本图像都存在对应的原始视觉描述符,从而得到各个训练样本图像对应的哈希码,组成哈希码集。
本实施例中,各个节点都有对应的偏置值对结果进行修正,提高了结果的准确性,且采用值量化法将语义特征从浮点数量化为二进制码,简单方便。
在一个实施例中,步骤S330之前,还包括:将原始视觉描述符集输入均值池化层得到一维向量视觉描述符集,将一维向量视觉描述符集输入哈希映射层,哈希映射层与均值池化层全连接。
具体地,通过均值池化层来降低卷积层输出的特征向量维度,同时改善结果,避免出现过拟合,将原始视觉描述符集输入均值池化层得到一维向量视觉描述符集,一维向量视觉描述符集中的各个一维向量视觉描述符只有一个维度,便于后续通过一维向量直接计算哈希码,减少了计算复杂度,从而提高了模型训练的速度。哈希映射层与均值池化层全连接,每个哈希值与一维向量视觉描述符中的所有值相关,保证结果的精确度。
在一个实施例中,如图11所示,步骤S340之后,还包括步骤S350:获取候选图片集,将候选图片集中的各个候选图片输入已训练的图像哈希码提取模型输出对应的候选哈希码,建立候选图片与对应的候选哈希码的关联关系,将关联关系存储于服务器。
其中,候选图片集可以是一个业务网站对应的候选图片集,业务网站可以是纯搜索类型的网站,也可以是商业网络,如购物网中物品对应的图像组成候选图片集,或是社交网络,如用户拍摄的相片形成候选图片集。
具体地,通过图像哈希码提取模型能有效且快速地从图像信息中同时学习图像特征和哈希码,得到更加鲁棒、紧凑,区分力更强的图像哈希码,即使拍摄的图片受到光照等噪声的影响,也能得到与图像内容匹配的哈希码。将候选图片与对应的候选哈希码建立关联关系,从而后续可将哈希码作为检索索引,通过计算检索索引与各个候选哈希码的海明距离,将最小海明距离对应的候选图片作为目标图片返回至检索请求方对应的终端。由于服务器中存储的候选图片对应的哈希码本身就是精确的,从而通过海明距离检索得到的目标图片是与候选图片最接近且精确的。其中作为检索索引的哈希码的计算方法与候选图片对应的哈希码的计算方法保持一致,通过相同的已训练的图像哈希码提取模型计算得到。
在一个具体的实施例中,结合图12所示,图像分类模型由28个层构成。其中第一层为普通的卷积层,最后一层为softmax层,中间26层由13对深度可分离卷积网络组成,每对深度可分离卷积网络包括深度卷积层和映射卷积层,最后一个深度可分离卷积网络连接均值池化层进行均值池化,均值池化层之后连接哈希映射层,哈希映射层之后连接全连接层,全连接层之后连接softmax层,softmax层用于将全连接层输出的实数的值映射到各个标准分类对应的0-1区间,表示输入图像属于各个标准分类的概率,并且使各个标准分类对应的概率之和为1。其中,每层输出的激活函数均为非线性激活单元,并且对每层非线性激活单元的输出都进行Batch Normalization的归一化处理。提前收集了8062张图片,包括室内和室外一共162个地点,地点包括建筑物,树木,雕像,餐厅,图书馆,食堂等等,从中随机选取6442张图片作为训练样本图像集,1620张图片作为测试样本图像集。
进行图像哈希码提取模型训练的过程如下:
1、获取训练样本图像集,将训练样本图像集中的各个训练样本图像的分辨率调整至256×256像素,各个训练样本图像存在对应的标准分类,标准分类共162个。
2、将训练样本图像集输入图像分类模型,经过普通卷积层和13对深度可分离卷积网络输出对应的原始视觉描述符集,其中每对深度可分离卷积网络包括深度卷积层和1×1映射卷积层,深度卷积层的深度卷积过滤器有M个内核,每个内核的大小为Dk×Dk,映射卷积层映射卷积过滤器的有N个内核,其中M和N随着深度可分离卷积网络的层数可变化。
3、将原始视觉描述符集输入均值池化层得到一维向量视觉描述符集。
4、将一维向量视觉描述符输入哈希映射层,哈希映射层的激活函数采用sigmoid函数,将输入值的区间映射到0~1之间,根据哈希映射层各个节点对应的权重和偏置值计算得到对应的哈希值,得到各个一维向量视觉描述符对应的哈希码,各个哈希码组成哈希码集。
5、将哈希码集输入全连接层,将各个哈希码反映射至分类输出。
6、将全连接层的输出输入至softmax层,得到哈希码集中各个哈希码对应的训练样本图像的类别概率分布,根据各个哈希码对应的训练样本图像的类别概率分布通过交叉熵误差算法计算分类误差,通过最小化分类误差训练图像分类模型,调整模型的参数得到目标图像分类模型。
7、以目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
8、通过最小化目标函数的方式从原始的像素级图像中学习到固定长度的二进制哈希表达,然后将测试样本图像集中的各个图片转化为对应的二进制哈希码,并建立索引。
在本实验中,我们使用MAP(平均准确率)作为评估标准,计算公式如下:
其中Q为测试集,mj是每个地点的正样本图片数量,Precision(Rjk)是指返回的第k个正样本的平均准确率。
与其它移动视觉检索算法进行比较,如下表1所示:
表1
从上述表格可以看出,我们提出的方法表现出了最好的预测结果。通过实验,我们证明了本发明的准确性和一流的实时性。
在一个具体的实施例中,结合图13所示,通过图像哈希码提取模型在终端实现基于图像内容的视觉检索的过程如下:
1、终端获取待检索图像,将待检索图像的分辨率调整至256×256像素,将待检索图像输入已训练的图像哈希码提取模型。
2、经过普通卷积层和13对深度可分离卷积网络输出对应的原始视觉描述符。
3、将原始视觉描述符输入均值池化层得到一维向量视觉描述符。
4、将一维向量视觉描述符输入哈希映射层,哈希映射层的激活函数采用sigmoid函数,将输入值的区间映射到0~1之间,并进行值量化,根据哈希映射层各个节点对应的权重和偏置值计算得到对应的哈希值,得到一维向量视觉描述符对应的二进制检索哈希码。
5、终端将检索哈希码作为检索索引发送至服务器,以使服务器根据预存的候选图片集中各个候选图片与候选哈希码的关联关系,计算检索索引与各个候选哈希码的海明距离,根据海明距离从候选哈希码获取目标哈希码,将目标哈希码对应的候选图片作为目标图片返回终端。
本实施例中,可以直接从待检索图像中学习出更加鲁棒、紧凑,区分力更强的图像二进制哈希码,并且通过深度可分离卷积网络,对图像哈希码提取模型进行加速,使之更加适应于移动端应用,使整个移动视觉检索系统在检索精度和速度上都有很大提升。
在一个实施例中,如图14所示,提出了一种图像数据处理装置,该装置包括:
输入模块510,用于获取待处理图像,将待处理图像输入已训练的图像哈希码提取模型,图像哈希码提取模型包括卷积神经网络,卷积神经网络包括嵌入卷积层之后的哈希映射层,图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括卷积神经网络,并在所述哈希映射层之后连接分类输出层。
哈希码输出模块520,用于获取图像哈希码提取模型输出的待处理图像对应的哈希码。
在一个实施例中,如图15所示,装置还包括:
训练模块530,其中训练模块530包括:
图像分类模型训练单元531,用于获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类,将所述训练样本图像集输入所述图像分类模型,经过所述卷积层输出对应的原始视觉描述符集,将所述原始视觉描述符集输入所述哈希映射层输出对应的哈希码集,将所述哈希码集输入分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布,根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差,通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
图像哈希码提取模型确定单元532,用于以所述目标图像分类模型的哈希映射层作为哈希码输出层得到所述已训练的图像哈希码提取模型。
在一个实施例中,如图16所示,哈希码输出模块520包括:
原始视觉描述符输出单元521,用于获取待处理图像经过所述卷积层输出的对应的原始视觉描述符。
目标哈希码输出单元522,用于将原始视觉描述符输入哈希映射层输出对应的目标哈希码。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,如图17所示,原始视觉描述符输出单元521包括:
第一卷积层单元521a,用于将待处理图像经过第一卷积层输出对应的第一特征图集合。
深度可分离卷积网络单元521b,将第一特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二特征图集合,将所述第二特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三特征图集合,将第三特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标特征图集合,目标特征图集合形成原始视觉描述符。
在一个实施例中,目标哈希码输出单元522还用于获取哈希映射层的第一节点作为当前节点,获取当前节点对应的偏置值作为当前偏置值,获取当前节点对应的权重作为当前权重,根据原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值,获取哈希映射层的下一个节点作为当前节点,重复进入获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值,哈希映射层的各个节点对应的哈希值按计算顺序组成目标哈希码。
在一个实施例中,目标哈希码输出单元522还用于将所述原始视觉描述符输入均值池化层得到一维向量视觉描述符,将所述一维向量视觉描述符输入所述哈希映射层,所述哈希映射层与所述均值池化层全连接。
在一个实施例中,装置应用于终端,如图18所示,所述装置还包括:
检索模块540,用于将哈希码作为检索索引发送至服务器,以使服务器根据预存的候选图片集中各个候选图片与候选哈希码的关联关系,计算检索索引与各个候选哈希码的海明距离,根据海明距离从所述候选哈希码获取目标哈希码,将所述目标哈希码对应的候选图片作为目标图片返回。
在一个实施例中,如图19所示,提供了一种图像哈希码提取模型的建立装置,包括:
获取模块610,用于获取训练样本图像集,训练样本图像集中的各个训练样本图像存在对应的标准分类。
卷积神经网络模块620,用于将训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集。
哈希映射层模块630,用于将原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集。
分类输出层模块640,用于将哈希码集输入与哈希映射层连接的分类输出层,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布。
目标图像分类模型确定模块650,用于根据各个哈希码对应的训练样本图像的类别概率分布计算分类误差,通过最小化分类误差训练图像分类模型得到目标图像分类模型。
目标图像哈希码提取模型确定模块660,用于以目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,深度可分离卷积网络包括深度卷积层和映射卷积层,卷积神经网络模块620还用于将训练样本图像集经过第一卷积层输出对应的第一训练特征图集合,将第一训练特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二训练特征图集合,将第二训练特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三训练特征图集合,将第三训练特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标训练特征图集合,目标训练特征图集合形成原始视觉描述符集。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,所述下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
在一个实施例中,哈希映射层模块630还用于获取所述原始视觉描述符集的第一原始视觉描述符作为当前原始视觉描述符,获取哈希映射层的第一节点作为当前节点,获取当前节点对应的偏置值作为当前偏置值,获取当前节点对应的权重作为当前权重,根据当前原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值,获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值,哈希映射层的各个节点对应的哈希值按计算顺序组成当前原始视觉描述符对应的当前哈希码,获取原始视觉描述符集的下一个原始视觉描述符作为当前原始视觉描述符,重复执行获取哈希映射层的第一节点作为当前节点直到原始视觉描述符集的全部原始视觉描述符存在对应的哈希码,组成哈希码集。
在一个实施例中,哈希映射层模块630还用于将原始视觉描述符集输入均值池化层得到一维向量视觉描述符集,将一维向量视觉描述符集输入哈希映射层,哈希映射层与均值池化层全连接。
在一个实施例中,如图20所示,装置还包括:
索引建立模块670,用于获取候选图片集,将所述候选图片集中的各个候选图片输入所述已训练的图像哈希码提取模型输出对应的候选哈希码,建立所述候选图片与对应的候选哈希码的关联关系,将所述关联关系存储于服务器。
如图21所示,为一个实施例中计算机设备的内部结构示意图。参照图20,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机程序,该计算机程序被执行时,可使得处理器执行一种图像数据处理方法和/或图像哈希码提取模型的建立方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种图像数据处理方法和/或图像哈希码提取模型的建立方法。计算机设备的网络接口用于进行网络通信。本领域技术人员可以理解,图21中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的图像数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图21所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成图像数据处理装置的各个程序模块,比如,图14中的输入模块510,哈希码输出模块520。各个程序模块中包括计算机程序,计算机程序用于使计算机设备执行本说明书中描述的本申请各个实施例的信息推荐方法中的步骤,计算机设备中的处理器能够调用计算机设备的非易失性存储介质中存储的信息推荐装置的各个程序模块,运行对应的可读指令,实现本说明书中信息推荐装置的各个模块对应的功能。各个程序模块中包括计算机程序,计算机程序用于使计算机设备执行本说明书中描述的本申请各个实施例的信息推荐方法中的步骤,计算机设备中的处理器能够调用计算机设备的非易失性存储介质中存储的信息推荐装置的各个程序模块,运行对应的可读指令,实现本说明书中信息推荐装置的各个模块对应的功能。例如,计算机设备可以通过如图16所示的图像数据处理装置的输入模块510获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,图像哈希码提取模型包括卷积神经网络,卷积神经网络包括嵌入卷积层之后的哈希映射层,图像哈希码提取模型的参数由图像分类模型训练得到,图像分类模型包括卷积神经网络,并在所述哈希映射层之后连接分类输出层,通过哈希码输出模块获取图像哈希码提取模型输出的所述待处理图像对应的哈希码。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述计算机程序时实现以下步骤:获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层,所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
在一个实施例中,计算机可读指令使得处理器还执行以下步骤:获取训练样本图像集,训练样本图像集中的各个训练样本图像存在对应的标准分类;将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;将原始视觉描述符集输入哈希映射层输出对应的哈希码集;将所述哈希码集输入分类输出层,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布;根据各个哈希码对应的训练样本图像的类别概率分布计算分类误差;通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;以所述目标图像分类模型的哈希映射层作为哈希码输出层得到所述已训练的图像哈希码提取模型。
在一个实施例中,获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码的步骤包括:获取所述待处理图像经过所述卷积层输出的对应的原始视觉描述符;将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,获取所述待处理图像经过所述卷积层输出的对应的原始视觉描述符的步骤包括:将所述待处理图像经过第一卷积层输出对应的第一特征图集合;将所述第一特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二特征图集合,将所述第二特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三特征图集合;将所述第三特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标特征图集合,所述目标特征图集合形成所述原始视觉描述符。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,所述下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
在一个实施例中,将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码的步骤包括:获取所述哈希映射层的第一节点作为当前节点;获取所述当前节点对应的偏置值作为当前偏置值,获取所述当前节点对应的权重作为当前权重;根据所述原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值;获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值;哈希映射层的各个节点对应的哈希值按计算顺序组成所述目标哈希码。
在一个实施例中,计算机可读指令使得处理器执行将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码的步骤之前,还执行以下步骤:将所述原始视觉描述符输入均值池化层得到一维向量视觉描述符;将所述一维向量视觉描述符输入所述哈希映射层,所述哈希映射层与所述均值池化层全连接。
在一个实施例中,计算机设备为终端,计算机可读指令使得处理器执行获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码的步骤之后,还执行以下步骤:将所述哈希码作为检索索引发送至服务器,以使所述服务器根据预存的候选图片集中各个候选图片与候选哈希码的关联关系,计算所述检索索引与各个候选哈希码的海明距离,根据所述海明距离从所述候选哈希码获取目标哈希码,将所述目标哈希码对应的候选图片作为目标图片返回。
在一个实施例中,提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层,所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
在一个实施例中,计算机可读指令使得处理器还执行以下步骤:获取训练样本图像集,训练样本图像集中的各个训练样本图像存在对应的标准分类;将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;将原始视觉描述符集输入哈希映射层输出对应的哈希码集;将所述哈希码集输入分类输出层,输出哈希码集中各个哈希码对应的训练样本图像的类别概率分布;根据各个哈希码对应的训练样本图像的类别概率分布计算分类误差;通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;以所述目标图像分类模型的哈希映射层作为哈希码输出层得到所述已训练的图像哈希码提取模型。
在一个实施例中,获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码的步骤包括:获取所述待处理图像经过所述卷积层输出的对应的原始视觉描述符;将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,获取所述待处理图像经过所述卷积层输出的对应的原始视觉描述符的步骤包括:将所述待处理图像经过第一卷积层输出对应的第一特征图集合;将所述第一特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二特征图集合,将所述第二特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三特征图集合;将所述第三特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标特征图集合,所述目标特征图集合形成所述原始视觉描述符。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,所述下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
在一个实施例中,将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码的步骤包括:获取所述哈希映射层的第一节点作为当前节点;获取所述当前节点对应的偏置值作为当前偏置值,获取所述当前节点对应的权重作为当前权重;根据所述原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值;获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值;哈希映射层的各个节点对应的哈希值按计算顺序组成所述目标哈希码。
在一个实施例中,计算机可读指令使得处理器执行将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码的步骤之前,还执行以下步骤:将所述原始视觉描述符输入均值池化层得到一维向量视觉描述符;将所述一维向量视觉描述符输入所述哈希映射层,所述哈希映射层与所述均值池化层全连接。
在一个实施例中,计算机设备为终端,计算机可读指令使得处理器执行获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码的步骤之后,还执行以下步骤:将所述哈希码作为检索索引发送至服务器,以使所述服务器根据预存的候选图片集中各个候选图片与候选哈希码的关联关系,计算所述检索索引与各个候选哈希码的海明距离,根据所述海明距离从所述候选哈希码获取目标哈希码,将所述目标哈希码对应的候选图片作为目标图片返回。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述计算机程序时实现以下步骤:获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,所述将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集的步骤包括:将所述训练样本图像集经过第一卷积层输出对应的第一训练特征图集合;将所述第一训练特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二训练特征图集合,将所述第二训练特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三训练特征图集合;将所述第三训练特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标训练特征图集合,所述目标训练特征图集合形成所述原始视觉描述符集。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,所述下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
在一个实施例中,将所述原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集的步骤包括:获取所述原始视觉描述符集的第一原始视觉描述符作为当前原始视觉描述符;获取所述哈希映射层的第一节点作为当前节点;获取所述当前节点对应的偏置值作为当前偏置值,获取所述当前节点对应的权重作为当前权重;根据所述当前原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值;获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值;哈希映射层的各个节点对应的哈希值按计算顺序组成所述当前原始视觉描述符对应的当前哈希码;获取所述原始视觉描述符集的下一个原始视觉描述符作为当前原始视觉描述符,进入所述获取所述哈希映射层的第一节点作为当前节点的步骤直到原始视觉描述符集的全部原始视觉描述符存在对应的哈希码,组成所述哈希码集。
在一个实施例中,计算机可读指令使得处理器执行将所述原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集的步骤之前,还执行以下步骤:将所述原始视觉描述符集输入均值池化层得到一维向量视觉描述符集;将所述一维向量视觉描述符集输入所述哈希映射层,所述哈希映射层与所述均值池化层全连接。
在一个实施例中,计算机可读指令使得处理器执行以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型的步骤之后,还执行以下步骤:获取候选图片集,将所述候选图片集中的各个候选图片输入所述已训练的图像哈希码提取模型输出对应的候选哈希码,建立所述候选图片与对应的候选哈希码的关联关系,将所述关联关系存储于服务器。
在一个实施例中,提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
在一个实施例中,卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,所述将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集的步骤包括:将所述训练样本图像集经过第一卷积层输出对应的第一训练特征图集合;将所述第一训练特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二训练特征图集合,将所述第二训练特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三训练特征图集合;将所述第三训练特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标训练特征图集合,所述目标训练特征图集合形成所述原始视觉描述符集。
在一个实施例中,同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,所述下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
在一个实施例中,将所述原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集的步骤包括:获取所述原始视觉描述符集的第一原始视觉描述符作为当前原始视觉描述符;获取所述哈希映射层的第一节点作为当前节点;获取所述当前节点对应的偏置值作为当前偏置值,获取所述当前节点对应的权重作为当前权重;根据所述当前原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值;获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值;哈希映射层的各个节点对应的哈希值按计算顺序组成所述当前原始视觉描述符对应的当前哈希码;获取所述原始视觉描述符集的下一个原始视觉描述符作为当前原始视觉描述符,进入所述获取所述哈希映射层的第一节点作为当前节点的步骤直到原始视觉描述符集的全部原始视觉描述符存在对应的哈希码,组成所述哈希码集。
在一个实施例中,计算机可读指令使得处理器执行将所述原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集的步骤之前,还执行以下步骤:将所述原始视觉描述符集输入均值池化层得到一维向量视觉描述符集;将所述一维向量视觉描述符集输入所述哈希映射层,所述哈希映射层与所述均值池化层全连接。
在一个实施例中,计算机可读指令使得处理器执行以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型的步骤之后,还执行以下步骤:获取候选图片集,将所述候选图片集中的各个候选图片输入所述已训练的图像哈希码提取模型输出对应的候选哈希码,建立所述候选图片与对应的候选哈希码的关联关系,将所述关联关系存储于服务器。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种图像数据处理方法,所述方法包括:
获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层;
所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;
获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理图像的步骤之前,还包括:
获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
将所述训练样本图像集输入所述图像分类模型,经过卷积层输出对应的原始视觉描述符集;
将所述原始视觉描述符集输入所述哈希映射层输出对应的哈希码集;
将所述哈希码集输入分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;
通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
以所述目标图像分类模型的哈希映射层作为哈希码输出层得到所述已训练的图像哈希码提取模型。
3.根据权利要求1所述的方法,其特征在于,所述获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码的步骤包括:
获取所述待处理图像经过所述卷积层输出的对应的原始视觉描述符;
将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码。
4.根据权利要求3所述的方法,其特征在于,所述卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,所述获取所述待处理图像经过所述卷积层输出的对应的原始视觉描述符的步骤包括:
将所述待处理图像经过第一卷积层输出对应的第一特征图集合;
将所述第一特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二特征图集合,将所述第二特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三特征图集合;
将所述第三特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标特征图集合,所述目标特征图集合形成所述原始视觉描述符。
5.根据权利要求4所述的方法,其特征在于,所述同一深度可分离卷积网络内的映射卷积过滤器的内核数目为深度卷积过滤器的内核数目的两倍,所述下一个深度可分离卷积网络内的深度卷积过滤器的内核数目与上一个深度可分离卷积网络内的映射卷积过滤器的内核数目相同。
6.根据权利要求3所述的方法,其特征在于,所述将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码的步骤包括:
获取所述哈希映射层的第一节点作为当前节点;
获取所述当前节点对应的偏置值作为当前偏置值,获取所述当前节点对应的权重作为当前权重;
根据所述原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值;
获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值;
哈希映射层的各个节点对应的哈希值按计算顺序组成所述目标哈希码。
7.根据权利要求3所述的方法,其特征在于,所述将所述原始视觉描述符输入所述哈希映射层输出对应的目标哈希码的步骤之前,还包括:
将所述原始视觉描述符输入均值池化层得到一维向量视觉描述符;
将所述一维向量视觉描述符输入所述哈希映射层,所述哈希映射层与所述均值池化层全连接。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法应用于终端,所述获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码的步骤之后,还包括:
将所述哈希码作为检索索引发送至服务器,以使所述服务器根据预存的候选图片集中各个候选图片与候选哈希码的关联关系,计算所述检索索引与各个候选哈希码的海明距离,根据所述海明距离从所述候选哈希码获取目标哈希码,将所述目标哈希码对应的候选图片作为目标图片返回。
9.一种图像哈希码提取模型的建立方法,所述方法包括:
获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;
将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;
将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差;
通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
10.根据权利要求9所述的方法,其特征在于,所述卷积神经网络包括预设数目的深度可分离卷积网络,所述深度可分离卷积网络包括深度卷积层和映射卷积层,所述将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集的步骤包括:
将所述训练样本图像集经过第一卷积层输出对应的第一训练特征图集合;
将所述第一训练特征图集合输入第一深度可分离卷积网络,经过第一深度卷积层通过对应的深度卷积过滤器输出第二训练特征图集合,将所述第二训练特征图集合输入第一映射卷积层通过对应的映射卷积过滤器输出第三训练特征图集合;
将所述第三训练特征图集合输入下一个深度可分离卷积网络直至最后一个深度可分离卷积网络输出目标训练特征图集合,所述目标训练特征图集合形成所述原始视觉描述符集。
11.根据权利要求9所述的方法,其特征在于,所述将所述原始视觉描述符集输入与卷积层连接的哈希映射层输出对应的哈希码集的步骤包括:
获取所述原始视觉描述符集的第一原始视觉描述符作为当前原始视觉描述符;
获取所述哈希映射层的第一节点作为当前节点;
获取所述当前节点对应的偏置值作为当前偏置值,获取所述当前节点对应的权重作为当前权重;
根据所述当前原始视觉描述符、当前权重、当前偏置值采用值量化算法计算得到所述当前节点对应的哈希值;
获取哈希映射层的下一个节点作为当前节点,重复进入所述获取所述当前节点对应的偏置值的步骤,计算得到下一位哈希值,直至计算得到哈希映射层的全部节点对应的哈希值;
哈希映射层的各个节点对应的哈希值按计算顺序组成所述当前原始视觉描述符对应的当前哈希码;
获取所述原始视觉描述符集的下一个原始视觉描述符作为当前原始视觉描述符,进入所述获取所述哈希映射层的第一节点作为当前节点的步骤直到原始视觉描述符集的全部原始视觉描述符存在对应的哈希码,组成所述哈希码集。
12.一种图像数据处理装置,其特征在于,所述装置包括:
输入模块,用于获取待处理图像,将所述待处理图像输入已训练的图像哈希码提取模型,所述图像哈希码提取模型包括卷积神经网络,所述卷积神经网络包括嵌入卷积层之后的哈希映射层,所述图像哈希码提取模型的参数由图像分类模型训练得到,所述图像分类模型包括所述卷积神经网络,并在所述哈希映射层之后连接分类输出层;
哈希码输出模块,用于获取所述图像哈希码提取模型输出的所述待处理图像对应的哈希码。
13.一种图像哈希码提取模型的建立装置,其特征在于,所述装置包括:
获取模块,用于获取训练样本图像集,所述训练样本图像集中的各个训练样本图像存在对应的标准分类;
卷积神经网络模块,用于将所述训练样本图像集输入图像分类模型,经过卷积层输出对应的原始视觉描述符集;
哈希映射层模块,用于将所述原始视觉描述符集输入与所述卷积层连接的哈希映射层输出对应的哈希码集;
分类输出层模块,用于将所述哈希码集输入与所述哈希映射层连接的分类输出层,输出所述哈希码集中各个哈希码对应的训练样本图像的类别概率分布;
目标图像分类模型确定模块,用于根据所述各个哈希码对应的训练样本图像的类别概率分布计算分类误差,通过最小化分类误差训练所述图像分类模型得到目标图像分类模型;
目标图像哈希码提取模型确定模块,用于以所述目标图像分类模型的哈希映射层作为哈希码输出层得到已训练的图像哈希码提取模型。
14.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述权利要1至11任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11任意一项所述方法的步骤。
CN201711015902.2A 2017-10-26 2017-10-26 图像数据处理、模型的建立方法、装置、计算机设备和存储介质 Active CN109711422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711015902.2A CN109711422B (zh) 2017-10-26 2017-10-26 图像数据处理、模型的建立方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711015902.2A CN109711422B (zh) 2017-10-26 2017-10-26 图像数据处理、模型的建立方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN109711422A true CN109711422A (zh) 2019-05-03
CN109711422B CN109711422B (zh) 2023-06-30

Family

ID=66252705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711015902.2A Active CN109711422B (zh) 2017-10-26 2017-10-26 图像数据处理、模型的建立方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN109711422B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427920A (zh) * 2018-02-26 2018-08-21 杭州电子科技大学 一种基于深度学习的边海防目标检测方法
CN110188223A (zh) * 2019-06-06 2019-08-30 腾讯科技(深圳)有限公司 图像处理方法、装置及计算机设备
CN110189279A (zh) * 2019-06-10 2019-08-30 北京字节跳动网络技术有限公司 模型训练方法、装置、电子设备及存储介质
CN110298346A (zh) * 2019-05-23 2019-10-01 平安科技(深圳)有限公司 基于可分割卷积网络的图像识别方法、装置及计算机设备
CN111008924A (zh) * 2019-12-02 2020-04-14 西安交通大学深圳研究院 一种图像处理方法、装置、电子设备及存储介质
CN111064865A (zh) * 2019-12-31 2020-04-24 中国人民解放军国防科技大学 一种动态视觉传感器背景活动噪声过滤器及处理器
CN111144582A (zh) * 2019-12-31 2020-05-12 第四范式(北京)技术有限公司 训练及更新机器学习模型的方法及相应装置
CN111612080A (zh) * 2020-05-22 2020-09-01 深圳前海微众银行股份有限公司 模型解释方法、设备及可读存储介质
CN111626408A (zh) * 2020-05-22 2020-09-04 深圳前海微众银行股份有限公司 哈希编码方法、装置、设备及可读存储介质
CN112507982A (zh) * 2021-02-02 2021-03-16 成都东方天呈智能科技有限公司 一种人脸特征码的跨模型转换系统及方法
CN112800260A (zh) * 2021-04-09 2021-05-14 北京邮电大学 基于深度哈希能量模型的多标签图像检索方法和装置
CN113111953A (zh) * 2021-04-20 2021-07-13 深圳吉祥星科技股份有限公司 一种投影画质处理装置
CN113436188A (zh) * 2021-07-28 2021-09-24 北京计算机技术及应用研究所 一种利用卷积计算图像哈希值的方法
CN113794812A (zh) * 2021-08-13 2021-12-14 山东师范大学 基于图像信道选择和特征一致性的隐蔽通信方法
CN116612338A (zh) * 2023-07-21 2023-08-18 华中科技大学 基于网络状态索引卷积神经网络集的图像识别方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834748A (zh) * 2015-05-25 2015-08-12 中国科学院自动化研究所 一种利用基于深度语义排序哈希编码的图像检索方法
CN105512289A (zh) * 2015-12-07 2016-04-20 郑州金惠计算机系统工程有限公司 基于深度学习和哈希的图像检索方法
CN105512273A (zh) * 2015-12-03 2016-04-20 中山大学 一种基于可变长深度哈希学习的图像检索方法
US20160292589A1 (en) * 2015-04-03 2016-10-06 The Mitre Corporation Ultra-high compression of images based on deep learning
CN106339753A (zh) * 2016-08-17 2017-01-18 中国科学技术大学 一种有效提升卷积神经网络稳健性的方法
CN106682233A (zh) * 2017-01-16 2017-05-17 华侨大学 一种基于深度学习与局部特征融合的哈希图像检索方法
CN107092661A (zh) * 2017-03-28 2017-08-25 桂林明辉信息科技有限公司 一种基于深度卷积神经网络的图像检索方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160292589A1 (en) * 2015-04-03 2016-10-06 The Mitre Corporation Ultra-high compression of images based on deep learning
CN104834748A (zh) * 2015-05-25 2015-08-12 中国科学院自动化研究所 一种利用基于深度语义排序哈希编码的图像检索方法
CN105512273A (zh) * 2015-12-03 2016-04-20 中山大学 一种基于可变长深度哈希学习的图像检索方法
CN105512289A (zh) * 2015-12-07 2016-04-20 郑州金惠计算机系统工程有限公司 基于深度学习和哈希的图像检索方法
CN106339753A (zh) * 2016-08-17 2017-01-18 中国科学技术大学 一种有效提升卷积神经网络稳健性的方法
CN106682233A (zh) * 2017-01-16 2017-05-17 华侨大学 一种基于深度学习与局部特征融合的哈希图像检索方法
CN107092661A (zh) * 2017-03-28 2017-08-25 桂林明辉信息科技有限公司 一种基于深度卷积神经网络的图像检索方法

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427920A (zh) * 2018-02-26 2018-08-21 杭州电子科技大学 一种基于深度学习的边海防目标检测方法
WO2020233010A1 (zh) * 2019-05-23 2020-11-26 平安科技(深圳)有限公司 基于可分割卷积网络的图像识别方法、装置及计算机设备
CN110298346A (zh) * 2019-05-23 2019-10-01 平安科技(深圳)有限公司 基于可分割卷积网络的图像识别方法、装置及计算机设备
CN110188223A (zh) * 2019-06-06 2019-08-30 腾讯科技(深圳)有限公司 图像处理方法、装置及计算机设备
CN110188223B (zh) * 2019-06-06 2022-10-04 腾讯科技(深圳)有限公司 图像处理方法、装置及计算机设备
CN110189279A (zh) * 2019-06-10 2019-08-30 北京字节跳动网络技术有限公司 模型训练方法、装置、电子设备及存储介质
CN110189279B (zh) * 2019-06-10 2022-09-30 北京字节跳动网络技术有限公司 模型训练方法、装置、电子设备及存储介质
CN111008924A (zh) * 2019-12-02 2020-04-14 西安交通大学深圳研究院 一种图像处理方法、装置、电子设备及存储介质
CN111008924B (zh) * 2019-12-02 2023-09-12 西安交通大学深圳研究院 一种图像处理方法、装置、电子设备及存储介质
CN111064865B (zh) * 2019-12-31 2021-08-31 中国人民解放军国防科技大学 一种动态视觉传感器背景活动噪声过滤器及处理器
CN111144582A (zh) * 2019-12-31 2020-05-12 第四范式(北京)技术有限公司 训练及更新机器学习模型的方法及相应装置
CN111064865A (zh) * 2019-12-31 2020-04-24 中国人民解放军国防科技大学 一种动态视觉传感器背景活动噪声过滤器及处理器
CN111144582B (zh) * 2019-12-31 2022-07-05 第四范式(北京)技术有限公司 训练及更新机器学习模型的方法及相应装置
CN111626408A (zh) * 2020-05-22 2020-09-04 深圳前海微众银行股份有限公司 哈希编码方法、装置、设备及可读存储介质
CN111626408B (zh) * 2020-05-22 2021-08-06 深圳前海微众银行股份有限公司 哈希编码方法、装置、设备及可读存储介质
CN111612080A (zh) * 2020-05-22 2020-09-01 深圳前海微众银行股份有限公司 模型解释方法、设备及可读存储介质
CN111612080B (zh) * 2020-05-22 2021-11-09 深圳前海微众银行股份有限公司 模型解释方法、设备及可读存储介质
CN112507982A (zh) * 2021-02-02 2021-03-16 成都东方天呈智能科技有限公司 一种人脸特征码的跨模型转换系统及方法
CN112800260A (zh) * 2021-04-09 2021-05-14 北京邮电大学 基于深度哈希能量模型的多标签图像检索方法和装置
CN112800260B (zh) * 2021-04-09 2021-08-20 北京邮电大学 基于深度哈希能量模型的多标签图像检索方法和装置
CN113111953A (zh) * 2021-04-20 2021-07-13 深圳吉祥星科技股份有限公司 一种投影画质处理装置
CN113436188A (zh) * 2021-07-28 2021-09-24 北京计算机技术及应用研究所 一种利用卷积计算图像哈希值的方法
CN113794812A (zh) * 2021-08-13 2021-12-14 山东师范大学 基于图像信道选择和特征一致性的隐蔽通信方法
CN116612338A (zh) * 2023-07-21 2023-08-18 华中科技大学 基于网络状态索引卷积神经网络集的图像识别方法及系统
CN116612338B (zh) * 2023-07-21 2023-09-29 华中科技大学 基于网络状态索引卷积神经网络集的图像识别方法及系统

Also Published As

Publication number Publication date
CN109711422B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN109711422A (zh) 图像数据处理、模型的建立方法、装置、计算机设备和存储介质
Tang et al. Grape disease image classification based on lightweight convolution neural networks and channelwise attention
CN113936339B (zh) 基于双通道交叉注意力机制的打架识别方法和装置
CN107220657B (zh) 一种面向小数据集的高分辨率遥感影像场景分类的方法
CN111523462B (zh) 基于自注意增强cnn的视频序列表情识别系统及方法
CN112446476A (zh) 神经网络模型压缩的方法、装置、存储介质和芯片
WO2021022521A1 (zh) 数据处理的方法、训练神经网络模型的方法及设备
CN108090472B (zh) 基于多通道一致性特征的行人重识别方法及其系统
US20220222918A1 (en) Image retrieval method and apparatus, storage medium, and device
CN114220035A (zh) 一种基于改进yolo v4的快速害虫检测方法
CN102385592B (zh) 图像概念的检测方法和装置
CN109543602A (zh) 一种基于多视角图像特征分解的行人再识别方法
CN109190643A (zh) 基于卷积神经网络中药识别方法及电子设备
CN110188708A (zh) 一种基于卷积神经网络的人脸表情识别方法
CN103186538A (zh) 一种图像分类方法和装置、图像检索方法和装置
CN109710804B (zh) 一种教学视频图像知识点降维分析方法
CN111582397A (zh) 一种基于注意力机制的cnn-rnn图像情感分析方法
CN110222718A (zh) 图像处理的方法及装置
CN110322418A (zh) 一种超分辨率图像生成对抗网络的训练方法及装置
KR20200010672A (ko) 딥러닝을 이용한 스마트 상품 검색 방법 및 시스템
CN108537109B (zh) 基于OpenPose的单目相机手语识别方法
CN113515669A (zh) 基于人工智能的数据处理方法和相关设备
CN112668486A (zh) 一种预激活残差深度可分离卷积网络面部表情识别方法、装置和载体
CN112883931A (zh) 基于长短期记忆网络的实时真假运动判断方法
CN116258990A (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