卷积神经网络训练及图像处理的方法和系统、计算机设备的制造方法

文档序号:10535399阅读:470来源:国知局
卷积神经网络训练及图像处理的方法和系统、计算机设备的制造方法
【专利摘要】本申请公开了一种卷积神经网络训练及图像处理的方法和系统、计算机设备,卷积神经网络的训练方法包括:对多个图像中的各图像分别进行图像块划分以得到图像块集合;根据图像块集合中的各图像块生成至少一个第一图像块组;根据至少一个第一图像块组训练卷积神经网络;基于第一卷积神经网络对图像块集合中的各图像块进行分类以得到至少一个第二图像块组,其中,第一卷积神经网络为经至少一个第一图像块组训练后的卷积神经网络;基于第一卷积神经网络提取图像块集合中的各图像块的特征信息;以及根据所提取的特征信息和至少一个第二图像块组训练第一卷积神经网络。采用本申请实施例的方案,可以对无任何标定的图像中的各图像块进行分组,实现无监督标签标定。
【专利说明】
卷积神经网络训练及图像处理的方法和系统、计算机设备
技术领域
[0001] 本申请一般涉及图像特征提取领域,具体地涉及卷积神经网络训练及图像处理的 方法和系统、计算机设备。
【背景技术】
[0002] 目前,在图像识别领域中通常涉及图像特征的提取,传统的图像提取方法首先使 用图像训练集来训练CNN(Conventional Neural Network,卷积神经网络),然后使用CNN来 进行图像特征提取。
[0003] 传统的图像特征提取方法需要使用预先标定的一些属性(例如,图像标签等)来训 练 CNN〇
[0004] 例如,现有技术中,可通过人工手动标定的方式来进行图像的属性标定。但是这需 要消耗大量的人力,标定效率较低。
[0005] 或者,现有技术中,还可利用网络数据来进行图像属性的标定。然而,由于网络数 据中包含了大量的噪声,导致图像属性的标定准确率较低。
[0006] 此外,如上所述的方法还有一个共同的缺点,即,不能保证人工标定或者网络挖掘 的属性标签能在特征空间被预测出来,也不能保证它们具有鉴别性。

【发明内容】

[0007] 本申请提供了一种对卷积神经网络进行训练的方案以及一种图像处理的方案。
[0008] 本申请实施方式的一方面提供一种卷积神经网络的训练方法,包括:对多个图像 中的各图像分别进行图像块划分以得到图像块集合;根据图像块集合中的各图像块生成至 少一个第一图像块组;根据至少一个第一图像块组训练卷积神经网络;基于第一卷积神经 网络对图像块集合中的各图像块进行分类以得到至少一个第二图像块组,其中,第一卷积 神经网络为经至少一个第一图像块组训练后的卷积神经网络;基于第一卷积神经网络提取 图像块集合中的各图像块的特征信息;以及根据所提取的特征信息和至少一个第二图像块 组训练第一卷积神经网络。
[0009] 在一些实施例中,根据图像块集合中的各图像块生成至少一个第一图像块组,包 括:根据图像块集合中的各图像块之间的第一相似度聚类各图像块以得到多个第三图像块 组;将各第三图像块组之间的第二相似度和预设相似度阈值进行比较;根据比较结果将多 个第三图像块组分为至少一个第一图像块组。
[0010] 在一些实施例中,根据比较结果将多个第三图像块组分为至少一个第一图像块 组,包括:将第三图像块组中,第二相似度小于预设相似度阈值的第三图像块组合并以生成 至少一个第一图像块组。
[0011] 在一些实施例中,根据图像块集合中的各图像块生成至少一个第一图像块组,包 括:对各第一图像块组中的图像块进行图像变换;以及将经图像变换后的图像块添加至对 应的第一图像块组中。
[0012] 在一些实施例中,图像变换包括以下至少一者:平移、缩放以及旋转。
[0013] 在一些实施例中,根据图像块集合中的各图像块生成至少一个第一图像块组,包 括:剔除包含的图像块的数量小于预定数量的第一图像块组。
[0014] 在一些实施例中,根据至少一个第一图像块组训练卷积神经网络包括:根据至少 一个第一图像块组对卷积神经网络循环执行第一网络参数的调节步骤,直至调节结果满足 第一预定收敛条件。
[0015] 在一些实施例中,第一网络参数的调节步骤包括:基于当前卷积神经网络分别提 取各图像块的特征信息;根据提取出的特征信息对各图像块重新分组;以及根据当前第一 网络参数的调节步骤中的重新分组结果与前一次第一网络参数的调节步骤中的重新分组 结果之间的差异调整当前卷积神经网络的网络参数。
[0016] 在一些实施例中,第一收敛条件包括:当前第一参数调节步骤中的重新分组结果 与前一次第一参数调节步骤中的重新分组结果的差异落入第一容差范围。
[0017] 在一些实施例中,根据所提取的特征信息和至少一个第二图像块组训练第一卷积 神经网络,包括:将所提取的特征信息映射为二维编码;以及根据二维编码和第二图像块组 训练第一卷积神经网络的参数以生成第二卷积神经网络。
[0018] 在一些实施例中,二维编码为基于哈希函数将所提取的特征信息映射生成的哈希 编码。
[0019] 在一些实施例中,根据所提取的特征信息和至少一个第二图像块组训练第一卷积 神经网络,包括:根据所提取的特征信息和至少一个第二图像块组循环执行第二网络参数 的调节步骤,直至调节结果满足第二预定收敛条件。
[0020] 在一些实施例中,第二网络参数的调节步骤包括:根据哈希编码及第二图像块组 调节当前第一卷积神经网络的参数和哈希函数的参数;基于调节后的当前第一卷积神经网 络的参数和哈希函数的参数重新提取各第二图像块组中的各图像块的特征信息;以及生成 与重新提取后的各第图像块的特征信息相对应的哈希编码。
[0021] 在一些实施例中,第二收敛条件包括:当前第二参数调节步骤中生成的各图像块 的特征信息与前一次第二参数调节步骤中生成的各图像块的特征信息的差异落入第二容 差范围;以及当前第二参数调节步骤中生成的各哈希编码与前一次第二参数调节步骤中生 成的各哈希编码的差异落入第三容差范围。
[0022]本申请实施方式的另一方面提供一种图像处理方法,包括:采用如上的卷积神经 网络的训练方法训练卷积神经网络以得到训练后的第三卷积神经网络;对输入第三卷积神 经网络的至少一个第一图像进行图像处理。
[0023]在一些实施例中,图像处理包括:通过第三卷积神经网络提取第一图像的特征信 息;以及基于提取出的第一图像的特征信息对各第一图像进行分组。
[0024]在一些实施例中,图像处理包括:通过第三卷积神经网络提取第一图像的特征信 息;基于提取出的特征信息生成哈希编码;以及以哈希编码为依据在待检索图像集合中检 索与哈希编码匹配的图像。
[0025]在一些实施例中,图像处理包括:通过第三卷积神经网络确定第一图像中的边缘 图像块;其中,边缘图像块为第一图像中,包含图像轮廓的图像块。
[0026]在一些实施例中,图像处理包括:采用第三图像块组对第三卷积神经网络训练;其 中,第三图像块组中包括多个具有至少一个相同的特征信息的图像块。
[0027] 本申请实施方式的再一方面提供一种卷积神经网络的训练系统,包括:划分模块, 用于对多个图像中的各图像分别进行图像块划分以得到图像块集合;第一生成模块,用于 根据图像块集合中的各图像块生成至少一个第一图像块组;第一训练模块,用于根据至少 一个第一图像块组训练卷积神经网络;分类模块,用于基于第一卷积神经网络对图像块集 合中的各图像块进行分类以得到至少一个第二图像块组,其中,第一卷积神经网络为经至 少一个第一图像块组训练后的卷积神经网络;特征提取模块,用于基于第一卷积神经网络 提取图像块集合中的各图像块的特征信息;以及第二训练模块,用于根据所提取的特征信 息和至少一个第二图像块组训练第一卷积神经网络。
[0028] 在一些实施例中,第一生成模块包括:聚类单元,用于根据图像块集合中的各图像 块之间的第一相似度聚类各图像块以得到多个第三图像块组;比较单元,用于将各第三图 像块组之间的第二相似度和预设相似度阈值进行比较;第一分组单元,用于根据比较结果 将多个第三图像块组分为至少一个第一图像块组。
[0029]在一些实施例中,第一分组单元进一步用于:将第三图像块组中,第二相似度小于 预设相似度阈值的第三图像块组合并以生成至少一个第一图像块组。
[0030] 在一些实施例中,第一生成模块还包括:图像变换单元,用于对各第一图像块组中 的图像块进行图像变换;以及添加单元,用于将经图像变换后的图像块添加至对应的第一 图像块组中。
[0031] 在一些实施例中,图像变换包括以下至少一者:平移、缩放以及旋转。
[0032] 在一些实施例中,第一生成模块还包括:剔除单元,用于剔除包含的图像块的数量 小于预定数量的第一图像块组。
[0033] 在一些实施例中,第一训练模块进一步用于:根据至少一个第一图像块组对卷积 神经网络循环执行第一网络参数的调节步骤,直至调节结果满足第一预定收敛条件。
[0034] 在一些实施例中,第一训练模块包括提取单元、第二分组单元以及参数调节单元, 提取单元、第二分组单元以及参数调节单元用于执行第一网络参数的调节步骤;其中,提取 单元用于基于当前卷积神经网络分别提取各图像块的特征信息;第二分组单元用于根据提 取出的特征信息对各图像块重新分组;参数调节单元用于根据当前第一网络参数的调节步 骤中的重新分组结果与前一次第一网络参数的调节步骤中的重新分组结果之间的差异调 整当前卷积神经网络的网络参数。
[0035] 在一些实施例中,第一收敛条件包括:当前第一参数调节步骤中的重新分组结果 与前一次第一参数调节步骤中的重新分组结果的差异落入第一容差范围。
[0036] 在一些实施例中,第二训练模块包括:映射单元,用于将所提取的特征信息映射为 二维编码;以及生成单元,用于根据二维编码和第二图像块组训练第一卷积神经网络的参 数以生成第二卷积神经网络。
[0037] 在一些实施例中,二维编码为基于哈希函数将所提取的特征信息映射生成的哈希 编码。
[0038] 在一些实施例中,生成单元进一步用于:根据所提取的特征信息和至少一个第二 图像块组循环执行第二网络参数的调节步骤,直至调节结果满足第二预定收敛条件。
[0039] 在一些实施例中,在执行第二网络参数的调节步骤时,生成单元进一步用于:根据 哈希编码及第二图像块组调节当前第一卷积神经网络的参数和哈希函数的参数;基于调节 后的当前第一卷积神经网络的参数和哈希函数的参数重新提取各第二图像块组中的各图 像块的特征信息;以及生成与重新提取后的各图像块的特征信息相对应的哈希编码。
[0040] 在一些实施例中,第二收敛条件包括:当前第二参数调节步骤中生成的各图像块 的特征信息与前一次第二参数调节步骤中生成的各图像块的特征信息的差异落入第二容 差范围;以及当前第二参数调节步骤中生成的各哈希编码与前一次第二参数调节步骤中生 成的各哈希编码的差异落入第三容差范围。
[0041] 本申请实施方式的又一方面提供一种图像处理系统,包括:如上的卷积神经网络 的训练系统;以及图像处理模块,用于对输入第三卷积神经网络的至少一个第一图像进行 图像处理;其中,第三卷积神经网络为经卷积神经网络的训练系统训练得到的卷积神经网 络。
[0042]在一些实施例中,图像处理模块包括:第一特征信息提取单元,用于通过第三卷积 神经网络提取第一图像的特征信息;以及第三分组单元,用于基于提取出的第一图像的特 征信息对各第一图像进行分组。
[0043]在一些实施例中,图像处理模块包括:第二特征信息提取单元,用于通过第三卷积 神经网络提取第一图像的特征信息;哈希编码生成单元,用于基于提取出的特征信息生成 哈希编码;以及图像检索单元,用于以哈希编码为依据在待检索图像集合中检索与哈希编 码匹配的图像。
[0044]在一些实施例中,图像处理模块包括:边缘确定单元,用于通过第三卷积神经网络 确定第一图像中的边缘图像块;其中,边缘图像块为第一图像中,包含图像轮廓的图像块。 [0045]在一些实施例中,图像处理模块包括:训练单元,用于采用第三图像块组对第三卷 积神经网络训练;其中,第三图像块组中包括多个具有至少一个相同的特征信息的图像块。
[0046] 本申请实施方式的还一方面提供一种计算机设备,包括:存储器,存储可执行指 令;一个或多个处理器,与存储器通信以执行可执行指令从而完成以下操作:对多个图像中 的各图像分别进行图像块划分以得到图像块集合;根据图像块集合中的各图像块生成至少 一个第一图像块组;根据至少一个第一图像块组训练卷积神经网络;基于第一卷积神经网 络对图像块集合中的各图像块进行分类以得到至少一个第二图像块组,其中,第一卷积神 经网络为经至少一个第一图像块组训练后的卷积神经网络;基于第一卷积神经网络提取图 像块集合中的各图像块的特征信息;以及根据所提取的特征信息和至少一个第二图像块组 训练第一卷积神经网络。
[0047] 本申请实施方式的又一方面还提供了一种计算机存储介质,用于存储计算机可读 取的指令。所述指令包括:对多个图像中的各图像分别进行图像块划分以得到图像块集合 的指令;根据图像块集合中的各图像块生成至少一个第一图像块组的指令;根据至少一个 第一图像块组训练卷积神经网络的指令;基于第一卷积神经网络对图像块集合中的各图像 块进行分类以得到至少一个第二图像块组的指令,其中,第一卷积神经网络为经至少一个 第一图像块组训练后的卷积神经网络;基于第一卷积神经网络提取图像块集合中的各图像 块的特征信息的指令;以及根据所提取的特征信息和至少一个第二图像块组训练第一卷积 神经网络的指令。
[0048] 采用本申请实施例的方案,可以对无任何标定的图像中的各图像块进行分组,实 现无监督标签标定。此外,通过分组形成的各个图像块组和可表征各图像块特征信息的二 维编码来进一步训练卷积神经网络,可得到更具鉴别性和视觉意义的特征(例如,特征信 息),从而可实现在无监督的情况下从图像中获得具有代表性和鉴别性的特征。
【附图说明】
[0049] 通过阅读参照以下附图所作的对非限制性实施方式的详细描述,本申请的其它特 征、目的和优点将会变得更明显,其中:
[0050] 图1示意性地示出了根据本申请实施方式的卷积神经网络的训练方法的流程图;
[0051] 图2示意性地示出了本申请的卷积神经网络的训练方法中,根据图像块集合中的 各图像块生成至少一个第一图像块组的步骤的流程图;
[0052]图3示意性地示出了本申请的卷积神经网络的训练方法中,根据至少一个第一图 像块组训练卷积神经网络的步骤的流程图;
[0053]图4示意性地示出了根据本申请的卷积神经网络的训练方法中,根据所提取的特 征信息和至少一个第二图像块组训练第一卷积神经网络的步骤的流程图;
[0054]图5示意性地示出了本申请的图像处理方法的流程图;
[0055]图6示意性地示出了本申请的卷积神经网络的训练系统的结构图;
[0056]图7示意性地示出了本申请的图像处理系统的结构图;
[0057]图8示意性地示出了适于用来实现本申请实施例的终端设备或服务器的计算机系 统的结构示意图。
【具体实施方式】
[0058]下面结合附图和实施方式对本申请作进一步的详细说明。可以理解的是,此处所 描述的【具体实施方式】仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为 了便于描述,附图中仅示出了与本申请相关的部分。在不冲突的情况下,本申请中的实施方 式及实施方式中的特征可以相互组合。本领域技术人员还将理解的是,虽然本文中可使用 用语"第一"、"第二"等来描述各种元件、部件、层和/或组,但是这些元件、部件、层和/或组 不应被这些用语限制。这些用语仅用于将一个元件、部件、层和/或组与其它元件、部件、层 或组区分开。因此,在不背离本发明的精神和范围的情况下,下文讨论的第一元件、第一部 件、第一层或者第一组可称作第二元件、第二部件、第二层或者第二组。下面将参考附图并 结合实施方式来详细说明本申请。
[0059] 图1示意性地示出了根据本申请实施方式的提取图像特征的方法的流程图100。
[0060] 如图1所示,根据本申请实施方式的提取图像特征的方法100包括:
[0061] 步骤110,对多个图像中的各图像分别进行图像块划分以得到图像块集合。
[0062] 在一些可选的实现方式中,例如,可通过在每个图像中随机选取多个图像块来将 多个图像划分以得到图像块集合。
[0063] 例如,可以将n个图像分别进行划分,使得每个图像均划分为nu个图像块,在这里, i为自然数,且满足Ki<n。
[0064]例如,在一些应用场景中,可通过使用固定大小(例如,40 X 40像素)的选取框以固 定移动步长(例如,40个像素)在每个图像上选取图像块来将多个图像分为多个图像块。还 可以在未背离本申请公开教导的范围内,选用其它图像分块的方法。
[0065] 步骤120,根据图像块集合中的各图像块生成至少一个第一图像块组。
[0066] 在一些可选的实现方式中,例如可以根据各图像块的相似度将多个图像块聚类生 成至少个第一图像块组。
[0067] 在这里,各图像块之间的相似度可反映各图像块的特征之间的相近程度。这些特 征例如可以是但不限于H0G(Histogram of Oriented Gradient,方向梯度直方图)特征、通 过CNN提取的特征或通过分类器得到的特征等。
[0068] 具体而言,在一些应用场景中,例如可以先将包含多个图像的图像集平均分为两 个集合,一个集合作为发现集D,另一个作为验证集N。
[0069]接着,分别将发现集D和验证集N分为多个子集,各子集可以具有相同大小且互不 重叠。例如,可将发现集D分为两个子集D1和D2,并将验证集N分为子集N1和N2。
[0070] 在D1中,可利用D1中所包含图像块的H0G特征对D1中的图像块进行聚类。具体的聚 类算法例如可通过k均值(k-means)方法、谱聚类(Spectral Clustering)方法等来实施。
[0071] 在这些应用场景中,还可以可利用上述聚类结果来训练分类器,例如,SVM (Support Vector Machine,支持向量机)分类器,以使得聚类生成的第一图像块组的各图 像块的相似程度更高。例如,在对分类器进行训练的过程中,可将上述第一图像块组中的各 图像块作为正样本并将子集N1中的图像块作为负样本。然后可利用训练得到的分类器对子 集D2中的图像块进行分组,再利用所得到的分组结果优化分类器。在优化分类器的过程中, 可将利用分类器得到的第一图像块组中的图像块作为正样本并将子集N2中的图像块作为 负样本。之后可将利用上述方法得到的分类器用于对D1中的图像块分组,然后结合N1来进 一步优化分类器。如此循环,直到分类器得到的图像块组不再变化。可利用上述循环得到的 分类器对图像集中的各图像块进行聚类以得到各第一图像块组。
[0072] 参见图2所示,在一些可选的实现方式中,本步骤120还可以采用如图2所示的流程 200来实现。
[0073]具体而言,步骤210,根据各图像块之间的第一相似度聚类多个图像块以得到第三 图像块组;
[0074]步骤220,将各第三图像块组之间的第二相似度和预设相似度阈值进行比较;以及 [0075]步骤230,根据比较结果将多个第三图像块组分为至少一个第一图像块组。
[0076]在一些可选的实现方式中,步骤230中,例如可以将第三图像块组中,第二相似度 小于预设相似度阈值的第三图像块组合并以生成至少一个第一图像块组。
[0077]经聚类生成的各图像块组(第三图像块组)之间的相似度例如可以根据这些图像 块组中所包含的图像块之间的相似度来衡量,例如,可通过一个图像块组中的全部图像块 的特征得到该图像块组的总体特征,如果两个图像块组的总体特征的相似程度大于上述预 设相似度阈值,则可将它们合并为一个第一图像块组。
[0078]将多个满足条件的第三图像块组合并为一个第一图像块组可使得一个第一图像 块组中包含的图像块的数量相应地较多,使得第一图像块组包含的信息更为丰富,这样利 用第一图像块组训练出的CNN所得到的特征将更具鲁棒性。
[0079]此外,在另一些可选的实现方式中,如图2所示,图1中的步骤120还可以进一步包 括:
[0080] 步骤240:剔除包含的图像块的数量小于预定数量的第一图像块组。
[0081] 例如,在一些应用场景中,可将包含少于3个图像块的第一图像块组剔除或将包含 少于其它预定数目的图像块的图像块组去除。图像块组中包含较少的图像块说明该图像块 组并没有较强的代表性,通过剔除这些第一图像块组,可以使得聚类结果更具代表性。 [0082]此外,在另一些可选的实现方式中,如图2所示,图1中的步骤120还可以进一步包 括:
[0083]步骤250:对各第一图像块组中的图像块进行图像变换;以及 [0084]步骤260,将经图像变换后的图像块添加至对应的第一图像块组中。
[0085] 在这里,图像变换例如可以包括但不限于平移、缩放以及旋转中的至少一者。
[0086] 利用包含经过图像变换的图像块的第一图像块组训练得到的CNN可以对这些经过 图像变换的图像块的图像变换具有不变性。也就是说,经后续的步骤对CNN训练之后,CNN可 以对同一个图像块经过图像变换后得到的多个图像块提取出相同的特征。
[0087] 通过本步骤120,可以对在步骤110中通过划分图像生成的图像块进行聚类得到第 一图像块组,这些第一图像块组可以作为训练CNN的标签,从而代替人工标定的标签,实现 无监督情况下的标签标定以及CNN的训练和特征提取。
[0088]步骤130,根据至少一个第一图像块组训练卷积神经网络。
[0089] 在一些可选的实现方式中,本步骤130例如可以通过如图3所示的流程来实现。
[0090] 具体而言,步骤310,循环执行第一参数调节步骤。
[0091] 步骤320,判断当前卷积神经网络是否满足第一收敛条件。
[0092]步骤330,若是,则结束第一参数调节步骤并将当前卷积神经网络的参数作为第一 卷积神经网络的参数。
[0093]在这里,上述的第一参数调节步骤例如可以通过如下的方式来实现。具体而言: [0094]在步骤311中,基于当前卷积神经网络提取各图像块的特征信息;
[0095] 在步骤312中,根据提取出的特征性对多个图像块重新分组;
[0096] 在步骤313中,根据当前第一网络参数的调节步骤中的重新分组结果与前一次第 一网络参数的调节步骤中的重新分组结果之间的差异调整当前卷积神经网络的网络参数。
[0097] 在这里,第一收敛条件例如可以包括:当前第一参数调节步骤中的重新分组结果 与前一次第一参数调节步骤中的重新分组结果的差异落入第一容差范围。也即是说,若当 前第一参数调节步骤中的重新分组结果与前一次第一参数调节步骤中的重新分组结果的 差异落入一预先设置的第一容差范围,可以认为该二次的重新分组结果之间差异较小甚至 完全相同。此时,可以认为对当前卷积神经网络的网络参数已经完成。
[0098] 步骤140,基于第一卷积神经网络对多个图像块分类生成至少一个第二图像块组。 在这里,第一卷积神经网络即为经至少一个第一图像块组训练后的卷积神经网络。
[0099] 步骤150,利用第一卷积神经网络提取各图像块的特征信息。
[0100] 步骤160,根据所提取的特征信息和至少一个第二图像块组训练第一卷积神经网 络。
[0101] 在一些可选的实现方式中,步骤160可以通过如图4所示的流程400来实现。
[0102] 具体而言,在步骤410中,将所提取的特征信息映射为二维编码。
[0103] 在一些可选的实现方式中,二维编码例如可以是基于哈希函数将所提取的特征信 息映射生成的哈希编码,例如,二维哈希编码。
[0104] 具体而言,二维哈希编码在本领域中是指一串二维码,可例如但不限于LSH (Locality-Sensitive Hashing,局部敏感哈希编码),ITQ(Iterative Quantization,迭代 量化哈希编码),SH(Spectral Hashing,谱哈希编码)。
[0105] 具体地,可通过将所提取的特征输入哈希函数来将所提取的特征映射为哈希编 码,例如映射为与所提取的特征一一对应的哈希编码。
[0106] 在一个可选的实现方式中,哈希函数h(x;W)可例如表示为:
[0107] h(x;ff) =sign(ffT f(X)) (1)
[0108] 其中,W表示哈希权重,f (X)表示从图像块中提取特征。
[0109] 由于将各图像块的特征利用哈希函数映射为哈希编码,使得原本多维抽象的特征 得到了降维并且更加具有视觉意义,所以利用哈希编码训练得到的CNN可以提取更加具有 鉴别性和视觉意义的图像特征。
[0110] 步骤420,根据二维编码和第二图像块组训练第一卷积神经网络的参数以生成第 二卷积神经网络。
[0111] 在一些可选的实现方式中,图4中的步骤420例如可以进一步包括:
[0112]步骤421,循环执行第二参数调节步骤。
[0113] 步骤422,判断当前第一卷积神经网络是否满足第二收敛条件。
[0114] 步骤423,若是,则结束第二参数调节步骤并将当前第一卷积神经网络的参数作为 第二卷积神经网络的参数。
[0115] 在这里,上述的第二参数调节步骤例如可以通过如下的方式来实现。具体而言:
[0116] 在步骤4211中,根据哈希编码及第二图像块组调节当前第一卷积神经网络的网络 参数和哈希函数的参数。
[0117] 具体而言,例如,相同第二图像块组中各图像块的哈希编码之间的相似度大于分 属不同第二图像块组中的任意二图像块的哈希编码之间的相似度。在一些应用场景中,任 意二哈希编码之间的相似度可使用哈希编码之间的Hamming(汉明)距离来描述。也即是说, 若二哈希编码之间的Hamming距离越短,贝lj可说明该二哈希编码所对应的图像块之间的相 似度越高。
[0118] 例如,图像块A和图像块B属于相同的第二图像块组,而图像块C属于与图像块A和 图像块B分别属于不同的第二图像块组,则图像块A和图像块B的哈希编码之间的相似度应 高于图像块A和图像块C以及图像块B和图像块C之间的相似度,如果在图像块A、图像块B和 图像块C中得到的哈希编码不满足这个条件,则需要调整哈希函数的参数和当前第一卷积 神经网络的参数。
[0119] 在步骤4212中,基于调节后的当前第一卷积神经网络的网络参数和哈希函数的参 数重新提取各第二图像块组中的各图像块的特征信息;以及
[0120] 在步骤4213中,生成与重新提取后的各图像块的特征信息相对应的哈希编码。
[0121] 在一些可选的实现方式中,第二收敛条件例如可以包括:当前第二参数调节步骤 中生成的各图像块的特征信息与前一次第二参数调节步骤中生成的各图像块的特征信息 的差异落入第二容差范围;以及当前第二参数调节步骤中生成的各哈希编码与前一次第二 参数调节步骤中生成的各哈希编码的差异落入第三容差范围。也即是说,若当前第二参数 调节步骤中生成的各图像块的特征信息与前一次第二参数调节步骤中生成的各图像块的 特征信息的差异落入第二容差范围,可以认为该二次第二参数调节步骤中提取出的各图像 块的特征信息差异较小(甚至二者完全相同);类似地,若当前第二参数调节步骤中生成的 各哈希编码与前一次第二参数调节步骤中生成的各哈希编码的差异落入第三容差范围,可 以认为该二次第二参数调节步骤中生成的哈希编码差异较小(甚至二者完全相同),此时, 可以结束第二参数调节的步骤。
[0122] 上述利用哈希编码及多个第二图像块组训练第一卷积神经网络的过程例如可通 过使用一个排序目标函数计算哈希编码的排序目标函数值并反相传播目标梯度来调整CNN 和哈希函数来实现。
[0123] 具体而言,排序目标函数可例如设置为: min+ a? ^r[vv,/ w]+P |wwr-i|[+r||wf; i
[0124] .v./1. : max (〇, p -f //(b(.,b,1) - //(b,. b,.)J < e: (2) V/, b; ; W), and > 0,
[0125] 其中,£l为松弛变量;
[0126] 为相同图像块组中的哈希编码对;
[0127] 为不同图像块组的哈希编码对;
[0128] H( ?,?)表示Hamming距离;
[0129] P表示"(b, .b;}与之间的Hamming距离的预置边界;
[0130] a,0,y为正则化参数。
[0131] 通过多次调整哈希函数和当前第一卷积神经网络的参数,使得到的特征信息以及 与这些特征对应的哈希编码能够使得上述目标函数值最小,这样即可得到期望的哈希函数 及最终的第二卷积神经网络。
[0132] 这样一来,通过如上所述的步骤110~步骤160得到期望的第二卷积神经网络后, 在后续的图像处理步骤中,便可使用该第二卷积神经网络提取多个图像块的特征信息。具 体地,可将多个图像块作为第二卷积神经网络的输入,然后通过第二卷积神经网络进行常 规的卷积、池化(pooling)等处理后输出多个图像块的特征信息。
[0133] 参见图5所示,为本申请的图像处理方法的一个实施例的示意性流程图500。
[0134] 具体而言,在步骤510中,采用如上所述的卷积神经网络的训练方法训练卷积神经 网络以得到训练后的第三卷积神经网络。
[0135] 在步骤520中,对输入第三卷积神经网络的至少一个第一图像进行图像处理。
[0136] 在一些可选的实现方式中,步骤520例如可以包括:
[0137] 步骤521,通过第三卷积神经网络提取第一图像的特征信息;以及
[0138] 步骤522,基于提取出的第一图像的特征信息对各第一图像进行分组。
[0139] 或者,在另一些可选的实现方式中,步骤520还可以包括:
[0140]步骤523,通过第三卷积神经网络提取第一图像的特征信息;
[0141]步骤524,基于提取出的特征信息生成哈希编码;以及
[0142] 步骤525,以哈希编码为依据在待检索图像集合中检索与哈希编码匹配的图像。
[0143] 或者,在另一些可选的实现方式中,步骤520还可以包括:
[0144] 步骤526,通过所述第三卷积神经网络确定所述第一图像中的边缘图像块。在这 里,边缘图像块为第一图像中,包含图像轮廓的图像块。这样一来,可以更精确地提取出各 第一图像中的图像轮廓。
[0145] 或者,在另一些可选的实现方式中,步骤520还可以包括:
[0146] 步骤527,采用第三图像块组对第三卷积神经网络训练。在这里,第三图像块组中 包括多个具有至少一个相同的特征信息的图像块。通过步骤526的训练,可以提高第三卷积 神经网络对第三图像块组中各图像块的共同的特征信息具有更精确的分类以及特征提取 能力。
[0147] 如图6所示,为本申请的卷积神经网络的训练系统的一个实施例的示意性结构图 600 〇
[0148] 如图6所示,卷积神经网络的训练系统包括划分模块610、第一生成模块620、第一 训练模块630、分类模块640、特征提取模块650以及第二训练模块660。
[0149] 其中,划分模块610可用于对多个图像中的各图像分别进行图像块划分以得到图 像块集合。
[0150] 第一生成模块620可用于根据图像块集合中的各图像块生成至少一个第一图像块 组。
[0151] 第一训练模块630可用于根据至少一个第一图像块组训练卷积神经网络。
[0152] 分类模块640可用于基于第一卷积神经网络对图像块集合中的各图像块进行分类 以得到至少一个第二图像块组,其中,第一卷积神经网络为经至少一个第一图像块组训练 后的卷积神经网络。
[0153] 特征提取模块650可用于基于第一卷积神经网络提取图像块集合中的各图像块的 特征信息。
[0154] 第二训练模块660可用于根据所提取的特征信息和至少一个第二图像块组训练第 一卷积神经网络。
[0155] 在一些可选的实现方式中,第一生成模块620可进一步包括聚类单元621、比较单 元622以及第一分组单元623。
[0156] 其中,聚类单元621可用于根据图像块集合中的各图像块之间的第一相似度聚类 各图像块以得到多个第三图像块组。
[0157] 比较单元622可用于将各第三图像块组之间的第二相似度和预设相似度阈值进行 比较。
[0158]第一分组单元623用于根据比较结果将多个第三图像块组分为至少一个第一图像 块组。
[0159] 在一些可选的实现方式中,第一分组单元623可进一步用于将第三图像块组中,第 二相似度小于预设相似度阈值的第三图像块组合并以生成至少一个第一图像块组。
[0160] 在一些可选的实现方式中,第一生成模块620还可以进一步包括图像变换单元624 和添加单元625。
[0161] 其中,图像变换单元624可用于对各第一图像块组中的图像块进行图像变换。
[0162] 添加单元625可用于将经图像变换后的图像块添加至对应的第一图像块组中。
[0163] 在这里,图像变换例如可以包括平移、缩放以及旋转中的至少一者。
[0164] 在一些可选的实现方式中,第一生成模块620还可以进一步包括剔除单元626。剔 除单元626可用于剔除包含的图像块的数量小于预定数量的第一图像块组。
[0165] 在一些可选的实现方式中,第一训练模块630可进一步用于:根据至少一个第一图 像块组对卷积神经网络循环执行第一网络参数的调节步骤,直至调节结果满足第一预定收 敛条件。
[0166] 在这些可选的实现方式中,第一训练模块630包括提取单元631、第二分组单元632 以及参数调节单元633。且提取单元631、第二分组单元632以及参数调节单元633用于执行 第一网络参数的调节步骤。
[0167] 具体而言,提取单元631可用于基于当前卷积神经网络分别提取各图像块的特征 fg 息;。
[0168] 第二分组单元632可用于根据提取出的特征信息对各图像块重新分组。
[0169] 参数调节单元633可用于根据当前第一网络参数的调节步骤中的重新分组结果与 前一次第一网络参数的调节步骤中的重新分组结果之间的差异调整当前卷积神经网络的 网络参数。
[0170] 在一些可选的实现方式中,第一收敛条件例如可以包括:当前第一参数调节步骤 中的重新分组结果与前一次第一参数调节步骤中的重新分组结果的差异落入第一容差范 围。
[0171] 在一些可选的实现方式中,第二训练模块660可包括映射单元661和生成单元662。
[0172] 其中,映射单元661可用于将所提取的特征信息映射为二维编码。
[0173] 生成单元662可用于根据二维编码和第二图像块组训练第一卷积神经网络的参数 以生成第二卷积神经网络。
[0174] 在这里,二维编码例如可以是基于哈希函数将所提取的特征信息映射生成的哈希 编码。
[0175] 在这一些可选的实现方式中,生成单元662还可进一步用于:根据所提取的特征信 息和至少一个第二图像块组循环执行第二网络参数的调节步骤,直至调节结果满足第二预 定收敛条件。
[0176] 在执行第二网络参数的调节步骤时,生成单元662进一步用于:根据哈希编码及第 二图像块组调节当前第一卷积神经网络的参数和哈希函数的参数;基于调节后的当前第一 卷积神经网络的参数和哈希函数的参数重新提取各第二图像块组中的各图像块的特征信 息;以及生成与重新提取后的各图像块的特征信息相对应的哈希编码。
[0177] 在一些可选的实现方式中,第二收敛条件例如可以包括:当前第二参数调节步骤 中生成的各图像块的特征信息与前一次第二参数调节步骤中生成的各图像块的特征信息 的差异落入第二容差范围;以及当前第二参数调节步骤中生成的各哈希编码与前一次第二 参数调节步骤中生成的各哈希编码的差异落入第三容差范围。
[0178] 参见图7所示,为本申请的图像处理系统的一个实施例的示意性结构图700。
[0179] 本实施例的图像处理系统包括如上所述的卷积神经网络的训练系统710以及图像 处理模块720。
[0180] 其中,图像处理模块720可用于对输入第三卷积神经网络的至少一个第一图像进 行图像处理。在这里,第三卷积神经网络为经卷积神经网络的训练系统710训练得到的卷积 神经网络。
[0181] 在一些可选的实现方式中,图像处理模块720可包括第一特征信息提取单元721和 第三分组单元722。其中,第一特征信息提取单元721可用于通过第三卷积神经网络提取第 一图像的特征信息。第三分组单元722可用于基于提取出的第一图像的特征信息对各第一 图像进行分组。
[0182] 在另一些可选的实现方式中,图像处理模块720还可以包括第二特征信息提取单 元723、哈希编码生成单元724和图像检索单元725。
[0183] 其中,第二特征信息提取单元723可用于通过第三卷积神经网络提取第一图像的 特征信息。
[0184] 哈希编码生成单元724可用于基于提取出的特征信息生成哈希编码。
[0185] 图像检索单元725可用于以哈希编码为依据在待检索图像集合中检索与哈希编码 匹配的图像。
[0186] 在另一些可选的实现方式中,图像处理模块720还可以包括边缘确定单元726,用 于通过第三卷积神经网络确定第一图像中的边缘图像块。其中,边缘图像块为第一图像中, 包含图像轮廓的图像块。
[0187] 在另一些可选的实现方式中,图像处理模块720还可以包括训练单元727,用于采 用第三图像块组对第三卷积神经网络训练。其中,第三图像块组中包括多个具有至少一个 相同的特征信息的图像块。
[0188] 下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的计算 机系统800的结构示意图。
[0189] 如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读 存储器(R0M)802中的可执行指令或者从存储部分808加载到随机访问存储器(RAM)803中的 可执行指令而执行各种适当的动作和处理。中央处理单元可与只读存储器802和/或随机访 问存储器830中通信以执行可执行指令从而完成以下操作:对多个图像中的各图像分别进 行图像块划分以得到图像块集合;根据图像块集合中的各图像块生成至少一个第一图像块 组;根据至少一个第一图像块组训练卷积神经网络;基于第一卷积神经网络对图像块集合 中的各图像块进行分类以得到至少一个第二图像块组,其中,第一卷积神经网络为经至少 一个第一图像块组训练后的卷积神经网络;基于第一卷积神经网络提取图像块集合中的各 图像块的特征信息;以及根据所提取的特征信息和至少一个第二图像块组训练第一卷积神 经网络。
[0190] 此外,在RAM 803中,还可存储有系统400操作所需的各种程序和数据。CHJ401、 R0M802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口 805也连接至总线804。
[0191] 以下部件连接至I/O接口 805:包括键盘、鼠标等的输入部分806;包括诸如阴极射 线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808; 以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因 特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口 805。可拆卸介质811,诸如 磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出 的计算机程序根据需要被安装入存储部分808。
[0192] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机 软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读 介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。具体而言, 包括:对多个图像中的各图像分别进行图像块划分以得到图像块集合的指令;根据图像块 集合中的各图像块生成至少一个第一图像块组的指令;根据至少一个第一图像块组训练卷 积神经网络的指令;基于第一卷积神经网络对图像块集合中的各图像块进行分类以得到至 少一个第二图像块组的指令,其中,第一卷积神经网络为经至少一个第一图像块组训练后 的卷积神经网络;基于第一卷积神经网络提取图像块集合中的各图像块的特征信息的指 令;以及根据所提取的特征信息和至少一个第二图像块组训练第一卷积神经网络的指令。 在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从 可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方 法中限定的上述功能。
[0193] 以上描述仅为本申请的示例性实施方式以及对所运用技术原理的说明。本领域技 术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的 技术方案,同时也应涵盖在不背离所述发明构思的情况下,由上述技术特征或其等同特征 进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的具有类似功能的技 术特征进行互相替换而形成的技术方案。
【主权项】
1. 一种卷积神经网络的训练方法,其特征在于,包括: 对多个图像中的各图像分别进行图像块划分以得到图像块集合;根据所述图像块集合 中的各图像块生成至少一个第一图像块组; 根据所述至少一个第一图像块组训练卷积神经网络; 基于第一卷积神经网络对所述图像块集合中的各图像块进行分类以得到至少一个第 二图像块组,其中,所述第一卷积神经网络为经所述至少一个第一图像块组训练后的卷积 神经网络; 基于所述第一卷积神经网络提取所述图像块集合中的各图像块的特征信息;以及 根据所提取的特征信息和所述至少一个第二图像块组训练所述第一卷积神经网络。2. 根据权利要求1所述的方法,其特征在于,所述根据所述图像块集合中的各图像块生 成至少一个第一图像块组,包括: 根据所述图像块集合中的各图像块之间的第一相似度聚类所述各图像块以得到多个 第三图像块组; 将各所述第三图像块组之间的第二相似度和预设相似度阈值进行比较; 根据比较结果将所述多个第三图像块组分为所述至少一个第一图像块组。3. 根据权利要求2所述的方法,其特征在于,所述根据比较结果将所述多个第三图像块 组分为所述至少一个第一图像块组,包括: 将所述第三图像块组中,所述第二相似度小于预设相似度阈值的第三图像块组合并以 生成至少一个所述第一图像块组。4. 根据权利要求1-3任一所述的方法,其特征在于,所述根据所述图像块集合中的各图 像块生成至少一个第一图像块组,包括: 对各所述第一图像块组中的图像块进行图像变换;以及 将经图像变换后的图像块添加至对应的第一图像块组中。5. -种图像处理方法,其特征在于,包括: 采用如权利要求1-4任一所述的卷积神经网络的训练方法训练卷积神经网络以得到训 练后的第三卷积神经网络; 对输入所述第三卷积神经网络的至少一个第一图像进行图像处理。6. -种卷积神经网络的训练系统,其特征在于,包括: 划分模块,用于对多个图像中的各图像分别进行图像块划分以得到图像块集合; 第一生成模块,用于根据所述图像块集合中的各图像块生成至少一个第一图像块组; 第一训练模块,用于根据所述至少一个第一图像块组训练卷积神经网络; 分类模块,用于基于第一卷积神经网络对所述图像块集合中的各图像块进行分类以得 到至少一个第二图像块组,其中,所述第一卷积神经网络为经所述至少一个第一图像块组 训练后的卷积神经网络; 特征提取模块,用于基于所述第一卷积神经网络提取所述图像块集合中的各图像块的 特征信息;以及 第二训练模块,用于根据所提取的特征信息和所述至少一个第二图像块组训练所述第 一卷积神经网络。7. 根据权利要求6所述的系统,其特征在于,所述第一生成模块包括: 聚类单元,用于根据所述图像块集合中的各图像块之间的第一相似度聚类所述各图像 块以得到多个第三图像块组; 比较单元,用于将各所述第三图像块组之间的第二相似度和预设相似度阈值进行比 较; 第一分组单元,用于根据比较结果将所述多个第三图像块组分为所述至少一个第一图 像块组。8. 根据权利要求7所述的系统,其特征在于,所述第一分组单元进一步用于: 将所述第三图像块组中,所述第二相似度小于预设相似度阈值的第三图像块组合并以 生成至少一个所述第一图像块组。9. 一种图像处理系统,其特征在于,包括: 如权利要求6-8任一所述的卷积神经网络的训练系统;以及 图像处理模块,用于对输入第三卷积神经网络的至少一个第一图像进行图像处理; 其中,所述第三卷积神经网络为经所述卷积神经网络的训练系统训练得到的卷积神经 网络。10. -种计算机设备,其特征在于,包括: 存储器,存储可执行指令; 一个或多个处理器,与存储器通信以执行可执行指令从而完成以下操作: 对多个图像中的各图像分别进行图像块划分以得到图像块集合;根据所述图像块集合 中的各图像块生成至少一个第一图像块组; 根据所述至少一个第一图像块组训练卷积神经网络; 基于第一卷积神经网络对所述图像块集合中的各图像块进行分类以得到至少一个第 二图像块组,其中,所述第一卷积神经网络为经所述至少一个第一图像块组训练后的卷积 神经网络; 基于所述第一卷积神经网络提取所述图像块集合中的各图像块的特征信息;以及 根据所提取的特征信息和所述至少一个第二图像块组训练所述第一卷积神经网络。
【文档编号】G06K9/62GK105894046SQ201610430066
【公开日】2016年8月24日
【申请日】2016年6月16日
【发明人】汤晓鸥, 黄琛, 吕健勤
【申请人】北京市商汤科技开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1