本发明涉及计算机视觉与机器学习技术领域,特别涉及一种多量化深度二值特征学习方法及装置。
背景技术:
视觉识别是计算机视觉领域的基本问题,能够广泛应用于多种视觉应用当中,例如人脸识别,物体识别,景物识别以及纹理识别等。作为一个经典的模式识别问题,视觉识别的主要步骤可以分为:特征提取和特征匹配。特征表示的目标是为每一张图片得到一个特征向量,使得同类图片的特征向量具有更强的相似性,而特征匹配则依据图片特征的相似性度量来识别图片的种类。由于自然环境下的物体光照、姿态、背景、视角和遮挡的差异较大,导致同一类物体之间的相似性小,不同物体之间的相似性可能较大,因此得到精确、高效的特征向量是视觉识别技术中最为关键的环节。
图像的特征提取主要分为两个方法:基于手工特征提取方法和基于特征学习方法。词袋模型是手工提取特征的代表性方法,主要有如下步骤:1)对图像提取关键点或关键区域;2)对关键点或关键区域提取局部特征描述符;3)为词袋模型建立字典;4)对局部特征描述符进行池化并提取直方图特征。其中,关键点或关键区域的提取以及提取特征描述符是视觉计算领域中的传统问题,由于局部不变特征对图像中的遮挡,尺度,光照等干扰因素具有较好的适应性,因此在近年来局部不变特征逐渐替代了全局特征而成为图像表征的主流方法,它们也成为了词袋模型中最为重要的两个环节。关键点或关键区域的提取能够找到图像中关键的稳定区域,这些局部区域随着图像的变化具有一定的稳定性和可重复性。而提取特征描述符则为找到的关键点或关键区域提供了具有高效鲁棒的描述。图像局部不变特征检测方法一般分为角点检测子、斑点检测子、区域检测子。基于特征学习的方法通过对训练集的学习,总结数据集蕴含的规律,学习视觉特征。
目前,深度学习的方法在视觉识别领域取得了极为出色的成果。随着互联网时代的快速发展,视觉感知领域已经进入了大数据时代,大数据一方面是数量上的大,另一方面是维度的大。深度学习方法能更好地利用视觉大数据学习出高效的视觉特征,因其不但关注了全局特征,更是利用了图像识别领域非常重要的局部特征,将局部特征抽取的算法融入到了神经网络中,从而有效完成视觉目标的特征表达。
虽然深度学习在视觉识别中取得了极佳的效果,但是目前深度学习的计算代价较大,在实际应用中存在瓶颈。二值特征学习技术具有计算、储存、匹配速度快的特点,深度二值特征学习在花费较低运算代价的同时获得较高的描述力,能够具备精确、高效的特点,满足实际应用需求。例如,deepbit通过非监督的方式学习深度二值特征,在多个数据集上取得了出色的识别率。然而,现有的二值特征学习方法均使用符号函数进行二值化,从而会导致较大的量化损失。
技术实现要素:
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种多量化深度二值特征学习方法,该方法可以提高学习的精确性,并且提高学习效率。
本发明的另一个目的在于提出一种多量化深度二值特征学习装置。
为达到上述目的,本发明一方面实施例提出了一种多量化深度二值特征学习方法,包括以下步骤:提取图像的深度实值特征;通过k个自编码网络对所述图像的深度实值特征进行多量化,以得到量化结果;根据所述量化结果对所述图像的深度实值特征进行二值编码,以得到图像的二值特征。
本发明实施例的多量化深度二值特征学习方法,通过使用多量化进行二值化,并且利用k自编码网络来实施基于多量化的二值化,有效解决二值化带来的量化误差问题,提高了学习的精确性,并且提高了学习效率,更加高效简单,更好地满足实际应用需求。
另外,根据本发明上述实施例的多量化深度二值特征学习方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述提取图像的深度实值特征,进一步包括:将原始的输入图像前传入深度卷积神经网络,以在网络的最后层全连接后得到每一张图像的深度实值特征;将所述每一张图像的深度实值特征传入降维的全连阶层,以得到低维实值特征。
进一步地,在本发明的一个实施例中,整体的损失函数为:
其中,j为待优化目标,x为所求实值特征,
进一步地,在本发明的一个实施例中,所述通过k个自编码网络对所述图像的深度实值特征进行多量化,进一步包括:通过k个自编码器对所述图像的深度实值特征分别进行重构,其中,令每个训练样本属于重构误差最小的编码器;根据第一项损失函数和第二项损失函数,对于每个自编码器,使用属于该自编码器的全部样本对其进行训练,以迭代多步后,对于每个样本使用重构误差最小的编码器的编号作为该样本的量化结果;利用第三项损失函数和所述第二项损失函数用所有样本预处理的全连接层,并且反复迭代训练,直到最大迭代次数。
进一步地,在本发明的一个实施例中,所述根据所述量化结果对所述图像的深度实值特征进行二值编码,进一步包括:对于所述深度实值特征的每一位,将该位赋值为使得该位重构误差最小的自编码器的二进制编号。
为达到上述目的,本发明另一方面实施例提出了一种多量化深度二值特征学习装置,包括:提取模块,用于提取图像的深度实值特征;多量化模块,用于通过k个自编码网络对所述图像的深度实值特征进行多量化,以得到量化结果;编码模块,用于根据所述量化结果对所述图像的深度实值特征进行二值编码,以得到图像的二值特征。
本发明实施例的多量化深度二值特征学习装置,通过使用多量化进行二值化,并且利用k自编码网络来实施基于多量化的二值化,有效解决二值化带来的量化误差问题,提高了学习的精确性,并且提高了学习效率,更加高效简单,更好地满足实际应用需求。
另外,根据本发明上述实施例的多量化深度二值特征学习装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述提取模块具体用于将原始的输入图像前传入深度卷积神经网络,以在网络的最后层全连接后得到每一张图像的深度实值特征,并且将所述每一张图像的深度实值特征传入降维的全连阶层,以得到低维实值特征。
进一步地,在本发明的一个实施例中,整体的损失函数为:
其中,j为待优化目标,x为所求实值特征,
进一步地,在本发明的一个实施例中,所述多量化模块还用于通过k个自编码器对所述图像的深度实值特征分别进行重构,其中,令每个训练样本属于重构误差最小的编码器,并且根据第一项损失函数和第二项损失函数,对于每个自编码器,使用属于该自编码器的全部样本对其进行训练,以迭代多步后,对于每个样本使用重构误差最小的编码器的编号作为该样本的量化结果,以及利用第三项损失函数和所述第二项损失函数用所有样本预处理的全连接层,并且反复迭代训练,直到最大迭代次数。
进一步地,在本发明的一个实施例中,所述编码模块还用于对于所述深度实值特征的每一位,将该位赋值为使得该位重构误差最小的自编码器的二进制编号。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的多量化深度二值特征学习方法的流程图;
图2为根据本发明一个实施例的多量化深度二值特征学习方法的流程图;
图3为根据本发明一个具体实施例的多量化深度二值特征学习方法的流程图;
图4为根据本发明实施例的多量化深度二值特征学习装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的多量化深度二值特征学习方法及装置,首先将参照附图描述根据本发明实施例提出的多量化深度二值特征学习方法。
图1是本发明实施例的多量化深度二值特征学习方法的流程图。
如图1所示,该多量化深度二值特征学习方法包括以下步骤:
在步骤s101中,提取图像的深度实值特征。
其中,在本发明的一个实施例中,提取图像的深度实值特征,进一步包括:将原始的输入图像前传入深度卷积神经网络,以在网络的最后层全连接后得到每一张图像的深度实值特征;将每一张图像的深度实值特征传入降维的全连阶层,以得到低维实值特征。
例如,将原始的输入图像前传入深度卷积神经网络,在网络的最后层全连接后得到每一张图像的4096维的深度实值特征,再将该4096维特征传入降维的全连接层,得到低维实值特征,作为图像预处理的结果。
需要说明的是,由于采用了vgg网络,所以得到4096维的深度实值特征,但本领域技术人员应当理解的是,任意的深度网络都可以通过类似方法提取二值特征,在此不作具体限制。
可以理解的是,如图2所示,首先,本发明实施例将预处理后的图像实值特征输入并联的k个自编码器,以用输入的每一个实值特征在优化损失函数的目标下训练使得整个特征重构误差最小的自编码器。
在步骤s102中,通过k个自编码网络对图像的深度实值特征进行多量化,以得到量化结果。
其中,在本发明的一个实施例中,整体的损失函数为:
其中,j为待优化目标,x为所求实值特征,
进一步地,在本发明的一个实施例中,通过k个自编码网络对图像的深度实值特征进行多量化,进一步包括:通过k个自编码器对图像的深度实值特征分别进行重构,其中,令每个训练样本属于重构误差最小的编码器;根据第一项损失函数和第二项损失函数,对于每个自编码器,使用属于该自编码器的全部样本对其进行训练,以迭代多步后,对于每个样本使用重构误差最小的编码器的编号作为该样本的量化结果;利用第三项损失函数和第二项损失函数用所有样本预处理的全连接层,并且反复迭代训练,直到最大迭代次数。
具体而言,如图3所示,由于本发明实施例是基于非监督学习的特征提取方法,所以引入损失函数来对网络进行训练。本发明实施例用k个自编码网络对于实值特征进行多量化,并以此作为二值化的依据。该多量化方法应具有如下性质:
1、重构误差最小
用自编码器对预处理的实值特征进行重构。自编码器最短的层提取的特征,是原始特征降维到子空间的结果。若通过自编码器最短层的特征重构预处理实值特征产生的误差越小,则在该子空间投影能保留原始数据越多的信息。
2、防止过拟合
由于样本的数量有限,需要避免让网络只学习到样本的局部特征,本发明引入防止网络过拟合的惩罚项,让系数保持稀疏,防止过拟合出现。
3、预处理实值特征方差最大
增大方差有助于提高数据所含信息量。本发明希望预处理过程中的降维能够尽可能多的保存原始高维数据中的信息量,所以引入约束使得预处理特征的方差最大。
综上所述,整体的损失函数为:
其中,j为待优化目标,x为所求实值特征,
进一步地,本发明实施例采用两步迭代的方式训练基于k自编码网络的多量化:
步骤1,用k个自编码器对预处理的实值特征分别进行重构,对于每一个训练样本,令其属于重构误差最小的自编码器;
步骤2,根据第1项和第2项损失函数,对于每一个自编码器,使用属于该自编码器的全部样本对其进行训练。迭代多步后,对于每个样本使用重构误差最小的自编码器的编号作为该样本的量化结果。因为每一个自编码器是该样本在其不同子空间的一个投影,对于重构误差最小的自编码器,样本在其投影的子空间具有最大信息。将其量化为该自编码器代表的这一类,能够最大限度地减小量化损失。
最后,再利用第3项和第2项损失函数用所有样本训练预处理的全连接层,尽可能减少预处理过程中原始信息的损失。反复迭代上述两阶段训练,直到达到最大迭代次数。
在步骤s103中,根据量化结果对图像的深度实值特征进行二值编码,以得到图像的二值特征。
其中,在本发明的一个实施例中,根据量化结果对图像的深度实值特征进行二值编码,进一步包括:对于深度实值特征的每一位,将该位赋值为使得该位重构误差最小的自编码器的二进制编号。
可以理解的是,如图1所示,网络训练完成后,对于输入的测试样本,将其实值特征的每一位编码为使得该位重构误差最小的自编码器二进制编号,最终得到图像的二值特征。即言,在得到量化结果后对预处理的实值特征进行二值编码,并且对于实值特征的每一位,将该位赋值为使得该位重构误差最小的自编码器的二进制编号,最终得到图像的二值特征。
在本发明的实施例中,为了避免传统二值特征提取技术中用符号函数对图像实值特征进行二值化带来的较大的量化误差,本发明实施例用k个自编码网络对图像实值特征在子空间的投影进行多量化,并用此多量化结果作为二值化的依据。
具体地,本发明实施例的关键点一,利用多量化技术进行精细的二值化,使用符号函数或手工定义阈值的方式对实值函数进行二值化,忽略了数据集的信息,导致量化损失较大;多量化通过将数据集进行聚类的方式,能够实现数据适应的精细二值化过程;关键点二,利用k自编码网络进行多量化;使用k个自编码网络进行多量化的方法,通过两步迭代的方式训练自编码器的参数,并得到最终的量化结果;关键点3,使用多量化深度二值特征提取的框架,使用深度网络进行实值特征学习并使用多量化网络进行二值化,实现多量化深度二值特征学习。
根据本发明实施例提出的多量化深度二值特征学习方法,首先对于图片使用深度网络提取实值特征,并且为了进行精细的二值化过程,采用了基于k自编码网络的多量化方法,对实值特征进行二值化,最小化该步骤带来的二值损失,以及为了得到更为精确的二值特征,使用统一的优化函数对整个网络的参数进行训练学习,最终对于每一张图片能够得到其精确、高效的多量化深度二值特征,其中,通过使用多量化进行二值化,并且利用k自编码网络来实施基于多量化的二值化,有效解决二值化带来的量化误差问题,提高了学习的精确性,并且提高了学习效率,更加高效简单,更好地满足实际应用需求。
其次参照附图描述根据本发明实施例提出的多量化深度二值特征学习装置。
图4是本发明实施例的多量化深度二值特征学习装置的结构示意图。
如图4所示,该多量化深度二值特征学习装置10包括:提取模块100、多量化模块200和编码模块300。
其中,提取模块100用于提取图像的深度实值特征。多量化模块200用于通过k个自编码网络对图像的深度实值特征进行多量化,以得到量化结果。编码模块300用于根据量化结果对图像的深度实值特征进行二值编码,以得到图像的二值特征。本发明实施例的装置10可以有效解决二值化带来的量化误差问题,提高了学习的精确性,并且提高了学习效率,更加高效简单,更好地满足实际应用需求。
进一步地,在本发明的一个实施例中,提取模块100具体用于将原始的输入图像前传入深度卷积神经网络,以在网络的最后层全连接后得到每一张图像的深度实值特征,并且将每一张图像的深度实值特征传入降维的全连阶层,以得到低维实值特征。
进一步地,在本发明的一个实施例中,整体的损失函数为:
其中,j为待优化目标,x为所求实值特征,
进一步地,在本发明的一个实施例中,多量化模块200还用于通过k个自编码器对图像的深度实值特征分别进行重构,其中,令每个训练样本属于重构误差最小的编码器,并且根据第一项损失函数和第二项损失函数,对于每个自编码器,使用属于该自编码器的全部样本对其进行训练,以迭代多步后,对于每个样本使用重构误差最小的编码器的编号作为该样本的量化结果,以及利用第三项损失函数和第二项损失函数用所有样本预处理的全连接层,并且反复迭代训练,直到最大迭代次数。
进一步地,在本发明的一个实施例中,编码模块300还用于对于深度实值特征的每一位,将该位赋值为使得该位重构误差最小的自编码器的二进制编号。
需要说明的是,前述对多量化深度二值特征学习方法实施例的解释说明也适用于该实施例的多量化深度二值特征学习装置,此处不再赘述。
根据本发明实施例提出的多量化深度二值特征学习装置,首先对于图片使用深度网络提取实值特征,并且为了进行精细的二值化过程,采用了基于k自编码网络的多量化方法,对实值特征进行二值化,最小化该步骤带来的二值损失,以及为了得到更为精确的二值特征,使用统一的优化函数对整个网络的参数进行训练学习,最终对于每一张图片能够得到其精确、高效的多量化深度二值特征,其中,通过使用多量化进行二值化,并且利用k自编码网络来实施基于多量化的二值化,有效解决二值化带来的量化误差问题,提高了学习的精确性,并且提高了学习效率,更加高效简单,更好地满足实际应用需求。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。