本发明涉及图像搜索技术领域,尤其涉及图像分析方法、搜索方法及装置、计算机装置及存储介质。
背景技术:
图像搜索是大数据分析的重要项目之一,搜索的准确性及效率是当下市场的研究热点。
在进行图像搜索时,比对搜索与常规的根据图像内容进行精准图像内容的搜索有所不同,其的重点并不在搜索图像内容中的指定目标上,而是在全局层面以相似度为依据去获得搜索结果。
现有技术之一,有按目录索引(大多为树形结构)方式建档,并对图片内容进行关联分类。每个子类皆是基于其的上一级(更低一级)的子类按照自定义的特征进行进一步细节归类,直到树形结构底部连接的图像文件。然而,1.建档的时候需要人工分类,人力和时间成本较高;2.人工分类易出错;3.建库结构复杂且灵活性低;4.一些细节特征在建档时容易被忽略;5.搜索结果无法按比对程度进行排序等问题。
现有技术之二,有以神经网络析取所有待比对图像的高维特征向量,再经过预处理(如上一待申请专利中成分分析提取)后,将待比对向量与目标向量逐一进行距离运算,最终加权运算后得到相似度。对于海量数据的数据搜索速度远远无法满足需求。
技术实现要素:
本发明针对现有的图像分析及相应的图像搜索技术存在的问题,提供了图像分析方法、搜索方法及装置、计算机装置及存储介质,以实现更佳的图片分析及图片搜索效果。
本发明就上述技术问题而提出的技术方案如下:
第一方面,本发明提供了一种图像分析方法,所述方法包括:
对待分析图片进行特征提取;
根据提取到的特征建立神经网络;
对所述神经网络的神经单元进行卷积计算得到处理结果;
将所述处理结果由对应的全连接层输出得到相应的高维向量;
合并预设距离内的高维向量作为向量簇。
根据上述的图像分析方法,所述根据提取到的特征建立神经网络为:
根据提取到的特征依alexnet模型建立神经网络。
根据上述的图像分析方法,所述方法还包括:
以预设方式对所述向量簇进行范围限缩以使得各个高维向量接近所述向量簇的中心高维向量。
第二方面,本发明提供一种图像搜索方法,所述方法包括:
利用如上所述的图像分析方法对目标图片进行分析得到目标高维向量;
利用索引从预设簇数的向量簇中确定与所述目标高维向量对应的向量簇;
获取在所述目标高维向量对应的向量簇的预设距离范围内的向量簇所对应的图像。
根据权利要求上述的图像搜索方法,所述方法还包括:
利用如上所述的图像分析方法对每一待分析图片进行分析得到相应的高维特征向量;
对各个高维特征向量进行聚类处理得到所述预设簇数的向量簇;
根据所述预设簇数的向量簇创建相应的所述索引。
第三方面,本发明还提供一种图像分析装置,包括:
特征提取模块,用于对待分析图片进行特征提取;
神经网络建立模块,用于根据提取到的特征建立神经网络;
计算模块,用于对所述神经网络的神经单元进行卷积计算得到处理结果;
向量输出模块,用于将所述处理结果由对应的全连接层输出得到相应的高维向量;
向量簇生成模块,用于合并预设距离内的高维向量作为向量簇。
第四方面,本发明还提供一种图像搜索装置,包括:
分析模块,用于利用如上所述的图像分析装置对目标图像进行分析得到目标高维特征向量;
确定模块,用于利用索引从预设簇数的向量簇中确定与所述目标高维向量对应的向量簇;
获取模块,用于获取在所述目标高维向量对应的向量簇的预设距离范围内的向量簇对应的图像。
根据上述的图像搜索装置,所述分析模块还用用于利用如上所述的图像分析装置对每一待分析图像进行分析得到相应的高维特征向量;
所述图像搜索装置还包括:
聚类模块,用于对各个高维特征向量进行聚类处理得到所述预设簇数的向量簇;
索引创建模块,用于根据所述预设簇数的向量簇创建相应的所述索引。
第五方面,本发明还提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上所述的图像分析方法及如上所述的图像搜索方法中的步骤。
第六方面,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的图像分析方法及如上所述的图像搜索方法中的步骤。
本发明实施例提供的技术方案带来的有益效果是:
本发明所提供的图像分析方法,在对待分析图片进行特征提取并根据提取到的特征建立神经网络,且对神经网络的神经单元进行卷积计算得到处理结构,其后,将所述处理结果由对应的全连接层输出得到相应的高维向量,最后,合并预设距离内的高维向量作为向量簇,所述向量簇为包括多个具有相似和/或近似特征所对应的高维向量,因而可利用所述向量簇与目标图片中的各个特征所对应的高维向量的距离得出二者的关联度,由此利于图像之间关联度的分析,有助于图像搜索的快速实现。
本发明所提供的图像搜索方法,利用前述的图像分析方法对目标图片进行处理以得到与所述目标图片中的特征相对应的目标高维向量,其后,利用索引从预设簇数的向量簇中确定与所述目标高维向量对应的向量簇,之后,获取在所述目标高维向量对应的向量簇的预设距离范围内的向量簇所对应的图像,从而实现搜索与目标图片内容相关联的图片的功能。相对现有的图片搜索技术,可降低建设图片内容相关联的图像库的复杂度,且能够移出人工分类的步骤,可在很大程度上满足对图片内容的细节特征的捕捉,搜索速度快,可满足工业级图片搜索要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的图像分析方法在一实施方式下的流程图示意图;
图2是本发明提供的图像搜索方法在一实施方式下的流程图示意图;
图3是本发明提供的图像分析装置的结构示意图;
图4是本发明提供的图像搜索装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明提供的图像分析方法在一实施方式下的流程图示意图,请见图1所示,所述图像分析方法包括如下步骤:
步骤s101:对待分析图片进行特征提取。其中,所述特征提取为将图像中的具有区别于其他类对象的相应特点的一类对象或对象的集合提取出来。
当然,可利用现有图像识别技术提取指定特征以对图像进行分类析出得到相应的多层级的分类及其子分类,也可基于像素值的矩阵转化进行多维向量计算及转换以对图像进行分类析出得到相应的多层级的分类及其子分类。
所述待分析图片可以为一张及以上数量的图片。
步骤s102:根据提取到的特征建立神经网络。其中,所述神经网络的神经单元可为卷积神经单元,且各个神经单元可与前述的相应的分类相对应。
本实施方式所提供的图像分析方法可根据提取到的特征依alexnet模型建立神经网络。
所述根据提取到的特征建立神经网络可具体为:
根据提取到的特征依alexnet模型建立神经网络,所述alexnet模型建立的神经网络可包括依次设置的五个卷积层和三个全连接层,五个卷积层可分别记为第一卷积层、第二卷积层、第三卷积层、第四卷积层及第五卷积层,而三个全连接层可分别记为第一全连接层、第二全连接层及第三全连接层。
步骤s103:对所述神经网络的神经单元进行卷积计算得到处理结果。
其中,可将各个神经单元中的图像的局部与具有标准特征的图像的局部进行逐个比对计算得到相应层级的卷积层即为处理结果。
步骤s104:将所述处理结果由对应的全连接层输出得到相应的高维向量。
其中,所述高维向量可为4096维向量,且各个高维向量与待分析图片中的特征相对应。
步骤s105:合并预设距离内的高维向量作为向量簇。
其中,所述向量簇为合并多个高维向量所得到的数据簇,且合并的依据为各个高维向量之间的距离,仅当各个高维向量之间的距离符合预设距离时,可将相应的高维向量合并至一个数据簇中。
本实施方式中的预设距离中的距离为两个高维向量之间的余弦距离。
当然,还可根据用户需求确定合并的高维向量的个数,如当用户需求确定合并的高维向量的个数为10个以下时,仅将10以下的符合预设距离的高维向量合并为一个向量簇。而在筛选符合需求个数的高维向量期间,可以根据各个高维向量所对应的特征的优先级设置进行筛选,如特征的优先级设置由高到底包括:形状、色差、颜色时,则在筛选期间,优先选择符合与形状特征相对应的高维向量,次之选择符合色差特征相对应的高维向量,最后选择符合与颜色特征相对应的高维向量,并将每个簇的高维向量的数量控制在10个以下。
本实施方式中的向量簇的中心高维向量可由用户自行选定,亦可是默认选择待分析图片中最具特征性的特征所指向的高维向量。
本实施方式所提供的图像分析方法,在对待分析图片进行特征提取并根据提取到的特征建立神经网络,且对神经网络的神经单元进行卷积计算得到处理结构,其后,将所述处理结果由对应的全连接层输出得到相应的高维向量,最后,合并预设距离内的高维向量作为向量簇,所述向量簇为包括多个具有相似和/或近似特征所对应的高维向量,因而可利用所述向量簇与目标图片中的各个特征所对应的高维向量的距离得出二者的关联度,由此利于图像之间关联度的分析,有助于图像搜索的快速实现。
此外,在合并预设距离内的高维向量作为向量簇之后,还可以预设方式对所述向量簇进行范围限缩以使得各个高维向量接近所述向量簇的中心高维向量,其具体可将所述向量簇与一个收缩因子相乘,而所述收缩因子可为以常数,取值可为0.618。
应当理解的是,当高维向量越接近所述向量簇的中心高维向量,即可认为该高维向量为分布较好的点,而过远的距离值可为距离向量簇的中心高维向量最远的高维向量至向量簇的中心高维向量的距离与距离向量簇的中心高维向量最近的高维向量至向量簇的中心高维向量的距离之和的一半。
应当理解的是,收缩因子的使用可以减小图像中的噪声对向量簇形成的影响。
本发明还提供一种图像搜索方法,图2是本发明提供的图像搜索方法在一实施方式下的流程图示意图,请见图2所示,本发明提供的图像搜索方法包括如下步骤:
步骤s201:对目标图片进行特征提取。其中,可利用前述的步骤中对待分析图片进行特征提取的方法对目标图片进行特征提取。
步骤s202:根据提取到的特征建立神经网络。
步骤s203:对所述神经网络的神经单元进行卷积计算得到处理结果。
步骤s204:将所述处理结果由对应的全连接层输出得到相应的目标高维向量。
步骤s205:利用索引从预设簇数的向量簇中确定与所述目标高维向量对应的向量簇。
其中,所述索引可通过如下方法创建,即:
利用上述的图像分析方法对待分析图片进行分析得到相应的高维特征向量;
合并预设距离内的高维向量作为向量簇。
应当理解的是,对应多张的待分析图片,在进行相应处理之后,所得到的向量簇也相应为多个簇数的向量簇。
根据所述预设簇数的向量簇创建相应的所述索引,即从得到的多个向量簇中选择预设簇数的向量簇以作为索引。
步骤s206:获取在所述目标高维向量对应的向量簇的预设距离范围内的向量簇对应的图像。
应当理解的是,所述目标高维向量对应的向量簇的预设距离范围的大小决定目标图片与搜索所指向的图片的图片内容关联度的大小,距离所述目标高维向量对应的向量簇的向量簇越近,目标图片与搜索所指向的图片的内容关联度越大,反之越小。而此处的预设距离范围则表示用户可控制搜索所指向的图片的图片内容与目标图片的关联度,实现有针对性的搜索特定条件的图像。
本实施方式所提供的图像搜索方法,利用前述的图像分析方法对目标图片进行处理以得到与所述目标图片中的特征相对应的目标高维向量,其后,利用索引从预设簇数的向量簇中确定与所述目标高维向量对应的向量簇,之后,获取在所述目标高维向量对应的向量簇的预设距离范围内的向量簇所对应的图像,从而实现搜索与目标图片内容相关联的图片的功能。
应当理解的是,对图片进行特征提取并利用相关算法以得到高维向量,并合并预设距离内的高维向量作为向量簇。同理,可对多张图片进行同样的处理并得到多个向量簇,利用得到的多个向量簇即可相应的索引,以在利用目标图片搜索图片内容相关联的图片时,在对目标图片进行相应处理得到目标高维向量时,依据所述索引即可快速搜索与之图片内容相关联的图片。
相对现有的图片搜索技术,可降低建设图片内容相关联的图像库的复杂度,且能够移出人工分类的步骤,可在很大程度上满足对图片内容的细节特征的捕捉,搜索速度快,可满足工业级图片搜索要求。
本发明还提供一种图像分析装置,图3是本发明提供的图像分析装置的结构示意图,请见图3所示,本发明提供的图像分析装置11包括:
特征提取模块111,用于对待分析图片进行特征提取。
神经网络建立模块112,用于根据提取到的特征建立神经网络。
计算模块113,用于对所述神经网络的神经单元进行卷积计算得到处理结果。
向量输出模块114,用于将所述处理结果由对应的全连接层输出得到相应的高维向量。
向量簇生成模块115,用于合并预设距离内的高维向量作为向量簇。
应当理解的是,在相应模块执行相应的功能后,所能实现的效果可与前述的图像分析方法相同,因此此处不再赘述。
本发明还提供一种图像搜索装置,图4是本发明提供的图像搜索装置的结构示意图,请见图4所示,本发明提供的图像搜索装置21包括:
分析模块211,用于利用如上所述的图像分析装置对目标图像进行分析得到目标高维特征向量。
确定模块212,用于利用索引从预设簇数的向量簇中确定与所述目标高维向量对应的向量簇。
获取模块213,用于获取在所述目标高维向量对应的向量簇的预设距离范围内的向量簇对应的图像。
其中,所述分析模块211还用用于利用如上所述的图像分析装置对每一待分析图像进行分析得到相应的高维特征向量;
聚类模块214,用于对各个高维特征向量进行聚类处理得到所述预设簇数的向量簇。
索引创建模块215,用于根据所述预设簇数的向量簇创建相应的所述索引。
应当理解的是,在相应模块执行相应的功能后,所能实现的效果可与前述的图像搜索方法相同,因此此处不再赘述。
此外,本发明提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述图像分析方法及图像搜索方法中的步骤。
所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
此外,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述的图像分析方法及前述的图像搜索方法中的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。