图像检索方法、装置及电子设备与流程

文档序号:18414410发布日期:2019-08-13 19:10阅读:152来源:国知局
图像检索方法、装置及电子设备与流程

本发明涉及家装设计技术领域,尤其是涉及一种图像检索方法、装置及电子设备。



背景技术:

家装设计需要通过大量的家居模型图来设计符合客户需求的设计方案,而随着时间的累积以及客户个性化需求越来越多,家居模型库的图像数量也在快速增长。设计师在进行家装设计的时候,需要在海量的家居模型图中找到客户所喜爱的目标模型图,通常采用传统的文字搜索或者按类别搜索,这样不仅效率低下,而且表达不够准确;采用基于内容的图像检索可以快速的找到客户需要的目标模型图,从而提高设计师的工作效率。但是,目前的基于内容的图像检索方法所得到的检索结果不够精准,给客户带来不好的体验。



技术实现要素:

本发明的目的在于提供图像检索方法、装置及电子设备,以缓解目前的图像检索方法所得到的检索结果不够精准,给客户带来不好的体验的技术问题。

本发明提供的一种图像检索方法,包括:

提取待检索的家居实物图像的全局特征和局部特征;

根据所述家居实物图像的全局特征从家居模型图库中选择全局特征最相似的候选家居模型图像集;

根据所述家居实物图像的局部特征从所述候选家居模型图像集中选择局部特征最相似的目标家居模型图像集。

进一步的,所述家居模型图库包括全局特征索引库和局部特征索引库,所述提取待检索的家居实物图像的全局特征和局部特征之前,还包括:

提取所述家居模型图像的全局特征,并将所述家居模型图像的全局特征保存到全局特征索引库;

提取所述家居模型图像的局部特征,并将所述家居模型图像的局部特征保存到局部特征索引库。

进一步的,所述根据所述家居实物图像的全局特征从家居模型图库中选择全局特征最相似的候选家居模型图像集的步骤,包括:

根据所述家居实物图像的全局特征从所述全局特征索引库中选择全局特征最相似的候选家居模型图像集;

所述根据所述家居实物图像的局部特征从所述候选家居模型图像集中选择局部特征最相似的目标家居模型图像集的步骤,包括:

根据所述家居实物图像的局部特征从所述局部特征索引库中进行匹配,以选择所述候选家居模型图像集中最相似的目标家居模型图像集。

进一步的,所述提取所述家居模型图像的全局特征,和提取所述家居模型图像的局部特征,包括:

提取所述家居模型图像中的家居模型区域;

对所述家居模型区域中的所有特征点进行检测,得到所述家居模型图像的全局特征;

对所述家居模型区域中的关键特征点进行特征矢量描述,得到所述家居模型图像的局部特征。

进一步的,所述方法还包括:

预先将家居实物图像和对应的家居模型图像以设定比例构成训练样本集;

采用所述训练样本集对人工智能目标检测网络进行训练,得到所述人工智能目标检测模型;

所述提取所述家居模型图像中的家居模型区域,包括:

采用人工智能目标检测模型对所述家居模型图像中的家居模型进行检测,得到所述家居模型区域。

进一步的,所述对所述家居模型区域中的所有特征点进行检测,得到所述家居模型图像的全局特征的步骤,包括:

采用基于残差神经网络resnet的人工智能模型,对所述家居模型区域中的所有特征点进行检测,得到所述家居模型图像的全局特征。

所述对所述家居模型区域中的关键特征点进行检测,得到所述家居模型图像的局部特征的步骤,包括:

通过尺度不变特征变换sift算法对所述家居模型区域中的关键特征点进行特征矢量描述,得到所述家居模型图像的局部特征。

本发明提供的一种图像检索装置,包括:

特征提取模块,用于提取待检索的家居实物图像的全局特征和局部特征;

全局特征检索模块,用于根据所述家居实物图像的全局特征从家居模型图库中选择全局特征最相似的候选家居模型图像集;

局部特征检索模块,根据所述家居实物图像的局部特征从所述候选家居模型图像集中选择局部特征最相似的目标家居模型图像集。

进一步的,所述家居模型图库包括全局特征索引库和局部特征索引库,所述特征提取模块还用于:

提取所述家居模型图像的全局特征,并将所述家居模型图像的全局特征保存到全局特征索引库;

提取所述家居模型图像的局部特征,并将所述家居模型图像的局部特征保存到局部特征索引库。

本发明提供的一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现如上所述的图像检索方法。

本发明提供的一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现如上所述的图像检索方法。

本发明提供的图像检索方法、装置及电子设备,通过提取待检索的家居实物图像的全局特征和局部特征,根据家居实物图像的全局特征从家居模型图库中选择全局特征最相似的候选家居模型图像集;根据家居实物图像的局部特征从候选家居模型图像集中选择局部特征最相似的目标家居模型图像集。通过全局特征可以匹配出与家居实物图像比较相似的家居模型图像集,然后在该家居模型图像集中再通过局部特征进行更细粒度的特征匹配,从而得到最相似的目标家居模型图像集,使得检索结果更加精准,提升客户体验。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的图像检索方法的流程图;

图2为本发明实施例提供的另一图像检索方法的流程图;

图3为本发明实施例提供的图像检索装置的示意图;

图4为本发明实施例提供的电子设备的示意图。

具体实施方式

下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前的图像检索方法所得到的检索结果不够精准,给客户带来不好的体验。基于此,本发明实施例提供的一种图像检索方法、装置及电子设备,使得检索结果更加精准,进而提高设计师的工作效率,提升客户体验。

为便于对本实施例进行理解,下面对本发明实施例所公开的一种图像检索方法进行详细介绍。参照图1所示,本发明实施例提供的一种图像检索方法,包括以下步骤:

步骤s101,提取待检索的家居实物图像的全局特征和局部特征;

具体的,全局特征是指图像的整体属性,是对家居实物图像中的每一个位置点都提取特征信息,例如颜色、纹理、形状等特征;局部特征是对家居实物图像中的关键特征点进行检测,如角点、边缘点、暗区的亮点及亮区的暗点等,对这些关键点进行特征信息描述。

步骤s102,根据家居实物图像的全局特征从家居模型图库中选择全局特征最相似的候选家居模型图像集;

本步骤中,将家居实物图像的全局特征与家居模型图库中的家居模型图的全局特征进行相似度对比,选择相似度较高的家居模型图,具体可以将家居模型图按照相似度从高到低进行排序,选择前k个家居模型图构成候选家居模型图像集,k的个数不做限制。当然也可以不按照相似度进行排序,例如还可以设置相似度阈值,将达到相似度阈值的家居模型图像作为候选家居模型图像,从而得到候选家居模型图像集。

步骤s103,根据家居实物图像的局部特征从候选家居模型图像集中选择局部特征最相似的目标家居模型图像集。

为了得到更精准的检索结果,在获取候选家居模型图像集的基础上,将家居实物图像的局部特征与候选家居模型图像集中的家居模型图像的局部特征进行匹配,由于局部特征是更精细化的特征,因此,可以进一步筛选出更为相似的目标家居模型图像集,从而大大提高了检索结果的精准度。其中,该目标家居模型图像集也可以将家居模型图按照相似度从高到低进行排序。

本实施例中,家居模型图库可以通过相似度检索系统建立检索库,例如,采用相似度匹配系统faiss(fairaisimilaritysearchfaiss,开源人工智能相似性搜索库)系统,具体的,包括全局特征索引库和局部特征索引库,在提取待检索的家居实物图像的全局特征和局部特征之前,还需要建立家居模型图库,具体包括:

提取家居模型图像的全局特征,并将家居模型图像的全局特征保存到全局特征索引库;提取家居模型图像的局部特征,并将家居模型图像的局部特征保存到局部特征索引库。

需要说明的是,在提取家居模型图像的全局特征之前,还可以对家居模型图像进行预处理,包括图像去燥、去模糊,格式转换等过程,这是因为家居模型图像有可能存在亮度不够、不够清晰或者背景比较复杂的情况,通过预处理过程,可以消除这些干扰因素,从而提高图像检索精度。

在上述基础上,步骤s102具体包括:根据家居实物图像的全局特征从全局特征索引库中选择全局特征最相似的候选家居模型图像集,步骤s103具体包括:根据家居实物图像的局部特征从局部特征索引库中进行匹配,以选择候选家居模型图像集中最相似的目标家居模型图像集。

在具体实施中,家居模型图像中除了作为主体的家居模型,还可能包括其它物体或者背景较为复杂,这种情况下,如果提取整个图的特征去检索,会很难判断查找的目标是什么,也会因为复杂背景的干扰导致匹配出非主体目标的结果,因此,本实施例中提取家居模型图像的全局特征,和提取家居模型图像的局部特征,如图2所示,包括以下处理步骤:

步骤s201,提取家居模型图像中的家居模型区域;

在实际应用中,目标检测是计算机视觉领域的基本任务之一,目标检测算法通常采用基于深度神经网络的检测技术。本步骤中,可以采用人工智能目标检测模型对家居模型图像中的家居模型进行检测,得到家居模型区域。其中,人工智能目标检测模型可以采用基于单个神经网络的目标检测模型yolo(youonlylookonce),例如,采用yolo中的yolov3模型,通过提取家居模型(主体)在整个图像中的坐标位置,从而得到家居模型区域。

需要说明的是,在采用人工智能目标检测模型进行检测之前,需要对该模型进行训练,训练过程包括:

预先将家居实物图像和对应的家居模型图像以设定比例构成训练样本集;由于本实施例的使用场景是通过家居实物图像去检索家居模型图库中的家居模型图像,因此,训练样本集包括家居实物图像和其对应的家居模型图像,从而使训练效果更好;采用训练样本集对人工智能目标检测网络进行训练,得到人工智能目标检测模型。

下面以yolov3模型为例,具体说明一下训练过程。

(1)制作训练样本集:对训练样本集中的图像内的主体目标进行标注,例如:包含一张椅子的图像,用方框把椅子框起来,并标注名称为椅子,然后生成符合yolov3格式的xml数据;

(2)yolov3使用了均方和误差作为loss(损失)函数,该函数由三部分组成:坐标误差coorderr、iou(intersectionoverunion,重叠度)误差iouerr和分类误差clserr,每一个误差前面均增加了权重α、β、γ,这样便于通过调节权重的大小调节不同误差的比重,loss函数如式(1)所示:

(3)yolov3将输入图像分成s*s个网格,若某个物体在地面实况的中心位置的坐标落入到某个网格,那么这个网格就负责检测出这个物体。采用目标anchorboxes(候选区域框)的思想,使每个网格的周围生成几个固定比例的边框。通过设定候选区域框的个数,采用k-means聚类方法得出候选区域框的大小,计算方法如式(2)、(3)、(4)、(5)所示:

bx=σ(tx)+cx(2)

by=σ(ty)+cy(3)

其中cx,cy,是网格的坐标偏移量,pw,ph是预设的候选区域框的边长,最终得到的边框坐标值是bx,by,bw,bh,而神经网络学习的目标是得到tx,ty,tw,th。

每个网格预测b个boundingbox(边框)及其置信度,以及c个类别概率。包围框信息为物体的中心位置相对网格位置的偏移及宽度和高度,均被归一化;置信度反映是否包含物体以及包含物体的情况下位置的准确性,置信度定义为式(6)所示:

其中,pr(object)∈{0,1},指预测框与真实框的交并比,pr指识别模型所预测的所属的类别的概率。

步骤s202,对家居模型区域中的所有特征点进行检测,得到家居模型图像的全局特征;

该步骤可以采用resnet(residualneuralnetwork,基于残差神经网络)的人工智能模型,对家居模型区域中的所有特征点进行检测,得到家居模型图像的全局特征。该模型提取的特征不仅仅包含输入图像的全局特征,而且还有很强的语义信息,比如说一张图像里的主体是桌子,那这个语义信息就是桌子,故检测出的结果有相似性且很大程度上同属一个类别。

具体的,全局特征提取过程包括:把图像重设为224*224大小,以符合神经网络的输入规范;用训练好的152层resnet残差神经网络提取全连接层4096维特征得到4096维的特征向量。

步骤s203,对家居模型区域中的关键特征点进行特征矢量描述,得到家居模型图像的局部特征。

该步骤可以采用点特征提取算法,例如,通过sift(scaleinvariantfeaturetransform,尺度不变特征变换)算法对家居模型区域中的关键特征点进行特征矢量描述,得到家居模型图像的局部特征。sift算法是基于物体上的一些局部外观的兴趣点而与图像的大小和旋转无关,对尺度缩放、亮度变化保持不变性。对于光线、噪声、些微视角改变的容忍度也相当高,对视角变化、仿射变换、噪声也保持一定程度的稳定性,所以通过该特征可以很好的提取图像的细节特征。

具体的,局部特征提取过程包括:

a.构建尺度空间:用高斯函数卷积对原始图像i(x,y)进行尺度变换,如式(7)所示,得到尺度空间表达,如式(8)所示,再对图像做高斯平滑,再做降采样,根据采样率不同,可以生成系列尺寸逐渐减小的图像,称为图像金字塔;

l(x,y,σ)=g(x,y,σ)*i(x,y)(8)

其中,g(x,y,σ)是高斯核函数,x、y为图像中点的坐标,σ为尺度空间因子。

b.求极值点:在得到的图像金字塔基础上对每层图像进行高斯卷积,得到log(高斯拉普拉斯)图像,未来更好的获取特征点,进一步对log图像做优化,用其相邻的图像相减,得到dog(高斯差分)图像金字塔,这时,每个像素点与其周围的像素点比较,当大于或者小于所有相邻点时为极值点,相邻的点有同层的周围8个点,和上下层的9个点,共26个点;

c.求特征点的梯度方向:极值点就是特征点,未来实现特征点的旋转不变形,需要计算它的角度,在计算特征点的方向时是根据特征点的邻域区域内所有像素的梯度幅角和梯度幅值确定,梯度幅值根据式(9)计算,梯度幅角根据式(10)计算:

其中,m(x,y)为梯度幅值,θ(x,y)为梯度幅角,l(x,y)为对应的尺度图像。

分配给特征点的方向并不直接是特征点的梯度方向,而是按照一种梯度方向直方图的方式给出的,以关键点为中心的邻域内所有点的梯度方向,当然梯度方向一定是在0~360°范围内,对这些梯度方向归一化到36个方向内,每个方向代表了10°的范围。然后累计落到每个方向内的关键点个数,以此生成梯度方向直方图,将梯度方向直方图中纵坐标最大的项代表的方向分配给当前特征点作为主方向。

d.特征点描述:特征点描述符是跟特征点所在的尺度相关的,把特征点的邻域区域划分为4*4正方形区域,在每子区域内计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,形成一个种子点,每个种子点共有8个方向的梯度强度信息,所以,共有4*4*8=128个数据,最终形成128维的sift特征矢量描述。

由于全局特征不包括图像的细粒度的精细特征,导致有些图像检索出来的结果虽然同属一个类别但是细节不是很相似,而局部特征包括了图像的细粒度的精细特征,可以使检索结果不仅类别相似,细节也相似,从而使得检索结果更加精准。

参照图3,本发明实施例提供的一种图像检索装置,包括:

特征提取模块31,用于提取待检索的家居实物图像的全局特征和局部特征;

全局特征检索模块32,用于根据家居实物图像的全局特征从家居模型图库中选择全局特征最相似的候选家居模型图像集;

局部特征检索模块33,根据家居实物图像的局部特征从候选家居模型图像集中选择局部特征最相似的目标家居模型图像集。

在一种可能的实施方式中,家居模型图库包括全局特征索引库和局部特征索引库,特征提取模块31还用于:

提取家居模型图像的全局特征,并将家居模型图像的全局特征保存到全局特征索引库;

提取家居模型图像的局部特征,并将家居模型图像的局部特征保存到局部特征索引库。

在一种可能的实施方式中,全局特征检索模块32还用于:根据所述家居实物图像的全局特征从所述全局特征索引库中选择全局特征最相似的候选家居模型图像集。

局部特征检索模块33还用于:根据所述家居实物图像的局部特征从所述局部特征索引库中进行匹配,以选择所述候选家居模型图像集中最相似的目标家居模型图像集。

在一种可能的实施方式中,所述特征提取模块31还包括:

目标提取单元,用于提取所述家居模型图像中的家居模型区域;

全局特征检测单元,用于对所述家居模型区域中的所有特征点进行检测,得到所述家居模型图像的全局特征;

局部特征检测单元,用于对所述家居模型区域中的关键特征点进行特征矢量描述,得到所述家居模型图像的局部特征。

在一种可能的实施方式中,还包括:

样本获取模块,用于预先将家居实物图像和对应的家居模型图像以设定比例构成训练样本集;

训练模块,用于采用所述训练样本集对人工智能目标检测网络进行训练,得到所述人工智能目标检测模型;

目标提取单元还用于:采用人工智能目标检测模型对所述家居模型图像中的家居模型进行检测,得到所述家居模型区域。

在一种可能的实施方式中,全局特征检测单元还用于:采用基于残差神经网络resnet的人工智能模型,对所述家居模型区域中的所有特征点进行检测,得到所述家居模型图像的全局特征局部特征。

局部特征检测单元还用于:通过尺度不变特征变换sift算法对所述家居模型区域中的关键特征点进行特征矢量描述,得到所述家居模型图像的局部特征。

本发明实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述的图像检索方法。

本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述的图像检索方法。

参见图4,本发明实施例还提供一种电子设备400,包括:处理器401,存储器402,总线403和通信接口404,处理器401、通信接口404和存储器402通过总线403连接;存储器402用于存储程序;处理器401用于通过总线403调用存储在存储器402中的程序,执行上述实施例的图像检索方法。

其中,存储器402可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口404(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线403可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器402用于存储程序,处理器401在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器401中,或者由处理器401实现。

处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成上述方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1