掌桥专利:专业的专利平台
掌桥专利
首页

图像索引库构建方法及系统,图像检索方法及系统

文献发布时间:2023-06-19 12:10:19


图像索引库构建方法及系统,图像检索方法及系统

技术领域

本申请涉及图像处理技术领域,尤其涉及一种图像索引库构建方法、图像索引库构建系统、索引库系统、图像检索方法、图像检索系统、物品检索方法、电子设备、客户端以及计算机可读存储介质。

背景技术

随着计算机技术的发展和互联网的普及,电商平台成为越来越多人购买例如奢侈品等商品的选择。传统的奢侈品检索基于关键字描述,费时费力且存在较大的人为主观性,而且随着现实生活中消费者需求多样性的不断增长,传统的检索方法越发难以满足用户的需求。人们在现实生活中如果发现了一个感兴趣的商品,常常是没有办法去获取该商品具体的品牌、名称、款式等信息的,也难以做到输入准确的关键词来进行检索,这种情况下势必会降低购物的体验。因此,基于图像的奢侈品检索技术被提出和广泛研究。

在实际的应用场景中,消费者拍摄的图片往往是复杂多变的,可能会有光照、遮挡等干扰因素,也可能有复杂的背景,这些因素都会对神经网络的输出结果造成影响。特别是很多同品牌或同种类的奢侈品往往在外形设计上非常相似,现有的方案很容易对该种情况造成误检;再者,对于神经网络而言,不同图片样本学习的难度是不一样的,而在神经网络设计及训练中,往往没有考虑数据本身的特征,这些数据中充斥着大量的简单样本,如果不加处理,这些简单样本会主导网络的学习,导致困难样本被淹没,从而导致模型性能较差。

发明内容

鉴于以上所述相关技术的缺点,本申请的目的在于提供一种图像索引库构建方法、图像索引库构建系统、索引库系统、图像检索方法、图像检索系统、物品检索方法、电子设备、客户端以及计算机可读存储介质,以实现利用全局结构信息充分挖掘知识而达到更高精度的检索的目的。

为实现上述目的及其他相关目的,本申请的第一方面公开一种图像索引库构建方法,包括以下步骤:对输入至少一图片进行目标定位以确定所述图片中的索引对象;获取所述索引对象中每一特征节点的空间注意力及通道注意力;对每一所述特征节点的空间注意力及通道注意力进行处理以获得所述索引对象的全局注意力特征图;利用提取的所述全局注意力特征图的特征向量构建所述索引对象的特征向量库。

本申请的第二方面公开一种图像索引库构建系统,包括:目标检测模块,用于对输入至少一图片进行目标定位以确定所述图片中的索引对象;特征提取模块,用于获取所述索引对象中每一特征节点的空间注意力及通道注意力,并对每一所述特征节点的空间注意力及通道注意力进行处理以获得所述索引对象的全局注意力特征图,以及提取所述全局注意力特征图的特征向量;建库模块,用以依据提取的所述全局注意力特征图的特征向量构建所述索引对象的特征向量库。

本申请的第三方面公开一种索引库系统,包括:网络模块,用于接收来自网络的检索请求或更新请求,或者通过网络反馈检索结果;存储模块,用于存储特征向量库,所述特征向量库是根据上述第一方面所述的图像索引库构建方法构建的;处理模块,用于依据所述检索请求在所述特征向量库中进行检索并通过所述网络模块反馈检索结果;或者用以依据更新请求更新所述特征向量库。

本申请的第四方面公开一种图像检索方法,包括以下步骤:接收输入的待检索图像;确定所述检索图像中的检索对象以获取所述检索对象的特征向量;依据所述特征向量到一特征向量库中检索以获得检索结果并输出;其中所述特征向量库是上述第一方面所述的图像索引库构建方法构建的。

本申请的第五方面公开一种图像检索系统,包括:接收模块,用于接收输入的待检索图像;提取模块,用于确定所述检索图像中的检索对象以获取所述检索对象的特征向量;检索模块,用于依据所述特征向量到一特征向量库中检索以获得检索结果并输出;其中所述特征向量库是根据上述第一方面所述的图像索引库构建方法构建的。

本申请的第六方面公开一种物品检索方法,包括以下步骤:接收用户提交的一包含有物品的图像以确定所述物品以作为索引对象;展示检索结果,所述检索结果是通过一特征向量库获得的,所述特征向量库是根据上述第一方面所述的图像索引库构建方法构建的。

本申请的第七方面公开一种电子设备,包括:存储器,用于存储程序代码;处理器,用于调用所述存储器中存储的程序代码来执行以实现如上述第四方面所述的图像检索方法或者上述第六方面所述的物品检索方法;显示器,用于输出显示检索结果。

本申请的第八方面公开一种客户端,装载于一电子设备中,包括:接收模块,用于接收用户提交的一包含有物品的图像以确定所述物品以作为索引对象;显示模块,用于展示检索结果,所述检索结果是通过如上述第四方面所述的图像检索方法或者如上述第六方面所述的物品检索方法得到的。

本申请的第九方面公开一种计算机可读存储介质,包括存储的计算机程序,其中,在所述计算机程序被计算机的处理器运行时,控制所述计算机执行并实现如上述第一方面所述的图像索引库构建方法;或者如上述第四方面所述的图像检索方法;或者如上述第六方面所述的物品检索方法。

综上所述,本申请的图像索引库构建方法、图像索引库构建系统、索引库系统、图像检索方法、图像检索系统、物品检索方法、电子设备、客户端以及计算机可读存储介质,通过使用高精度可实时的目标检测网络去除复杂背景提取出索引对象或检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别,而且在复杂场景下鲁棒性较好,具有很高的实用价值。

附图说明

本申请所涉及的发明的具体特征如所附权利要求书所显示。通过参考下文中详细描述的示例性实施方式和附图能够更好地理解本申请所涉及发明的特点和优势。对附图简要说明书如下:

图1显示为本申请图像索引库构建方法在一实施例中的流程图。

图2显示为本申请在一实施例中对输入图片进行目标定位的流程图。

图3显示为本申请在一实施例中对输入图片进行分片的示意图。

图4显示为本申请在一实施方式中获取每一特征节点的空间及通道注意力的流程图。

图5a显示为本申请在一实施例中索引对象示意图。

图5b显示为利用空间注意力表征图5a的索引对象的可视化热力图。

图6显示为本申请在一实施例中获得全局注意力特征图的流程图。

图7显示为本申请在一实施例中计算三元组损失函数及ID损失函数的示意图。

图8显示为本申请图像索引库构建系统在一实施例中的系统框图。

图9显示为本申请索引库系统在一实施例中的系统框图。

图10显示为本申请图像检索方法在一实施例中的流程图。

图11显示为本申请图像检索系统在一实施例中的系统框图。

图12显示为本申请物品检索方法在一实施例中的流程示意图。

图13a显示为本申请物品检索方法的用户终端一拍摄界面示意图。

图13b显示为本申请物品检索方法在一实施例中用户终端展示检索结果的示意图。

图14显示为本申请电子设备在一实施例中的架构示意图。

图15显示为本申请的客户端在一实施例中的架构示意图。

具体实施方式

以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。

在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。

随着深度神经网络在计算机视觉领域的发展,近年来一些基于深度学习的奢侈品检索方法取得了比较好的方法。此类做法一般为将图片输入到深度卷积网络中,映射成一个特征向量,与商品库中图片的特征进行相似度计算并排序,从而完成检索。

例如,公开号为CN107291945A的中国发明专利,公开一种基于视觉注意力模型的高精度服装图像检索方法及系统。该方法使用深度神经网络对输入的待检索图片分别提取特征图和注意力图,利用注意力图中的注意力值生成一个伯努利数列,然后与特征图相乘结合得到注意力特征图,再使用深度神经网络将其映射成为固定长度的图像特征向量。常见的其他注意力机制还有SE、CBAM和Non-Local等。SE属于通道注意力机制,即在神经网络运算中,赋予特征图不同通道不同的权重。CBAM在SE的基础上增加了空间视觉注意力,Non-Local进一步可以捕捉长距离的全局信息。

上述专利披露的技术存在的缺陷是生成的注意力图其实是受限于使用的卷积核的感受野的,只是一个局部区域的注意力,且未构造通道层面上的注意力图,仅在训练中使用伯努利数列增加随机性来丢弃某些通道的特征,没有从相关性的全局范围结构信息来挖掘知识。而Non-Local之类的注意力机制虽然可以在特征图上捕捉长距离的依赖,但在输入的特征图尺寸过大时,计算量过于庞大,而且仅仅是简单将学习到的关系当作权重来聚合特征,没有对丰富的全局信息进行更多的挖掘。

诚如背景技术中所述的,人们对基于图像的检索技术特别是对更精细的细粒度或者更精准的检索技术的有着迫切的需求,有鉴于此,本申请公开一种图像索引库构建方法、图像索引库构建系统、索引库系统、图像检索方法、图像检索系统、物品检索方法、电子设备、客户端或计算机可读存储介质,通过使用高精度可实时的目标检测网络去除复杂背景提取出索引对象或检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别,而且在复杂场景下鲁棒性较好。

本申请的第一方面公开一种图像索引库构建方法,用于通过构建图像索引库,特别是构建索引对象或检索对象的特征向量库以提高图片检索的检索效率和精准度。在实施例中,所述图像索引库构建方法通过计算机系统实现,所述的计算机系统通过计算机设备中的软件和硬件来实现。所述计算机设备可以是任何具有数学和逻辑运算、数据处理能力的计算设备,其包括但不限于:个人计算机设备、单台服务器、服务器集群、分布式服务端、所述云服务端等。其中,所述云服务端包括公共云(Public Cloud)服务端与私有云(Private Cloud)服务端,其中,所述公共或私有云服务端包括Software-as-a-Service(软件即服务,简称SaaS)、Platform-as-a-Service(平台即服务,简称PaaS)及Infrastructure-as-a-Service(基础设施即服务,简称IaaS)等。所述私有云服务端例如阿里云计算服务平台、亚马逊(Amazon)云计算服务平台、百度云计算平台、腾讯云计算平台等等。

其中,所述云服务端提供至少一种远程图像上传服务。所述远程图像上传服务包括但不限于以下至少一种:物品检索服务、物品鉴别的服务和物品投诉的服务等。其中,所述物品检索的服务例如用户上传待检索的物品图像等,所述物品鉴别的服务例如购买者上传物品图像以鉴别真伪等,所述物品投诉的服务例如为购买者无法与商家达成一致时上传物品图像以供第三方(如电子交易平台)介入调解的服务等。

所述计算机设备至少包括:存储器、一个或多个处理器、I/O接口、网络接口和输入结构等。其中所述存储器用于至少一个程序。所述存储器可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。

存储器用于存储程序代码。存储器可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器可用于存储一组程序代码,以便于处理器调用存储器中存储的程序代码以实现本申请实施例中涉及的如处理模块等功能模块中的任一项或多项的功能。

处理器可以由一个或者多个通用处理器构成,例如中央处理器(CentralProcessing Unit,CPU)。处理器可用于运行相关的程序代码中以下任一项或多项功能模块的程序:存储模块和网络模块等等。

在某些实施例中,存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WLAN)、存储局域网(SAN)等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。存储器可选地包括高速随机存取存储器,并且可选地还包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储器设备。由设备的其他组件诸如CPU和外围接口,对存储器的访问可选地通过存储器控制器来控制。

所述一个或多个处理器可操作地与网络接口耦接,以将计算设备以通信方式耦接至网络。例如,网络接口可将计算设备连接到局域网(如LAN)、和/或广域网(如WAN)。处理器还与I/O端口和输入结构可操作地耦接,该I/O端口可使得计算设备能够与各种其他电子设备进行交互,该输入结构可使得用户能够与计算设备进行交互。因此,输入结构可包括按钮、键盘、鼠标、触控板等。此外,电子显示器可包括触摸部件,该触摸部件通过检测对象触摸其屏幕的发生和/或位置来促进用户输入。

具体应用场景中,实现本申请方法虚拟模块例如目标检测模块、特征提取模块以及建库模块都可以是软件模块,这些软件模块可部署在服务器、或服务器上的虚拟机,或服务器上的容器上。此外,这些软件模块可根据实际需求部署在同一服务器上,或者不同服务器上,本申请不做限定。

在一些实施例中,所述索引对象或检索对象为例如为商品的物品,应理解的,在本申请所述的方法中,所述索引对象为图像或图片中显示的物品,所述物品例如为包、鞋、手表、腰带、首饰、或者化妆品等。

例如在物品为包的应用场景中,所述包例如为某品牌的双肩包、单肩包、手提包、斜挎包、旅行包等具有皮签的包袋等奢侈品,在一些实施例中,所述的奢侈品包例如为爱马仕(Hermès)包、路易·威登(Louis Vuitton)包、阿玛尼(Giorgio Armani)、宝格丽(BVLGARI)、芬迪(FenDi)、巴黎世家(BALENCIAGA)、香奈儿(CHANEL)包、普拉达(PRADA)包、古驰(Gucci)包、寇驰(COACH)包、以及迪奥(Dior)包等。

例如在物品为鞋的应用场景中,所述鞋例如为某品牌的具有鞋标、鞋撑、或其外包装的鞋盒上具有侧标的运动鞋、休闲鞋;在一些实施例中,所述的鞋例如为耐克(Nike)鞋、乔丹(Air Jordan)鞋、阿迪达斯(Adidas)鞋等。

例如在物品为手表的应用场景中,所述手表某品牌的具有背透的机械手表、石英手表、怀表等。在一些实施例中,所述的手表例如为百达翡丽(Patek Philippe)表、江诗丹顿(Vacheron Constantin)表、爱彼(Audemars Piguet)表、宝玑(Breguet)表、罗杰杜彼(Roger Dubuis)表、劳力士(ROLEX)表、欧米茄(OMEGA)表等。

当然,在不同的应用场景中,所述物品还可能是腰带、首饰、或者化妆品等,再次不予一一赘述。在实际的应用场景中,同类物品,特别是款式相近的物品经常会有类似的外观或造型。

请参阅图1,显示为本申请图像索引库构建方法在一实施例中的流程图,如图所示,所述图像索引库构建方法包括以下步骤:

步骤S11,对输入至少一图片进行目标定位以确定所述图片中的索引对象。

在实施例中,所述至少一图片的输入方式可以是通过电子设备的摄像设备进行拍摄从而直接输入的,或者经由本地存储空间提取的,也可以是通过数据传输而获取的。所述数据传输包括无线网络传输(例如TDMA、CDMA、GSM、PHS、Bluetooth等)、有线网络传输(例如专用网络、ADSL网络、电缆调制解调器网络等)、或接口传输(例如通过接口从闪存、U盘、移动硬盘、光盘、软盘等存储介质获取的)等。

在一些实施例中,获取图像的方式包括但不限于:通过使用手机、平板电脑、笔记本电脑等电子设备的摄像装置对待检索物品进行拍摄,将拍摄的图像直接作为的输入图片;在一些实施例中,通过下载网页上或服务器上的物品图像作为输入图片;在一些实施例中,通过有线通信或无线通信等方式接收的图像作为输入图片。所述输入图片的格式为计算机存储图像的格式,例如为bmp,jpg,png,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF等存储的格式。

在实际应用中,一方面,输入图片可能会随着原始拍摄条件的不同而不同。例如,在阳光下拍摄的图片与在室内灯光下拍摄的图片是不同的,再者,灯光的颜色也会对图片有所影响。因此,由于每幅输入图片在清晰度、图像大小、分辨率等参数上不一定相同,在一些实施方例中,为了便于后续步骤对所获取的输入图片进行处理,所述图像索引库构建方法还包括对输入图片进行预处理的步骤。

在实施例中,所述预处理的步骤包括对所述输入图片进行尺寸修改、按比例缩放、加噪、反转、旋转、平移、缩放变换、剪切、对比度变换、随机通道偏移、滤波中的一种或多种处理。例如,所述预处理包括剔除图像尺寸小于预设尺寸阈值的图像。又如,所述预处理包括对所获取的图像进行清晰度分析并选择清晰度满足预设清晰度条件的图像作为待处理的图像。又如,所述预处理包括将所接收的550×300像素的图像旋转成300×550。又如,所述预处理包括将所接收的1000×800像素的图像缩小或剪切后,再旋转至300×550。又如,所述预处理包括对所获取的被美颜的图像进行锐化、加噪等处理以还原真实图像。再如,所述预处理包括对所获取的各图像进行灰度翻转,以便于后续抑制背景或对突出物品特征。

在步骤S11对输入至少一图片进行目标定位以确定所述图片中的索引对象的步骤中,将输入图片经过例如上述的预处理后进入一目标检测网络,经过多层卷积后得到多尺度的特征图,在每层特征图上利用卷积核计算不同位置的响应,得到不同尺度和比例的目标的类别得分和相对坐标,之后经过一系列后处理得到对应的类别和相对坐标,将得分大于阈值的目标从原输入图片中分离出来以确定所述图片中的索引对象。

在实施例中,通过调用一目标检测网络对输入至少一图片进行目标定位以确定所述图片中的索引对象,所述目标检测网络的输入层与输出层之间配置有CSP模块,用于将输入的至少一图片映射为两部分,一部分经残差计算后与通过跨阶段层次结构且未经计算的另一部分融合后传输给所述输出层。

在一个具体的实施方式中,所述目标检测网络的主干网络(backbone)采用Darknet53(或Darknet-53)网络结构,为了增强卷积神经网络的学习能力,本申请中,将主干网络中的普通残差块采用CSP(Cross Stage Partial,中文称之为交叉阶段部分连接或跨阶段部分连接)模块予以替换,CSP模块首先将输入映射为两部分,其中一部分送入由多个残差组件堆叠而成的残差计算模块,另一部分保持不变,然后通过跨阶段层次结构将两部分合并,如此,本申请采用CSP模块增强了网络的学习能力,同时减少了计算量,通过使用跨阶段的分割和合并策略,能够有效地减少信息集成过程中重复的可能性,有助于显著降低计算成本。

在实施例中,请参阅图2,显示为本申请在一实施例中对输入图片进行目标定位的流程图,如图所示,所述步骤S11中,目标检测网络对输入的图片进行目标定位的步骤包括:

步骤S111,将输入到所述目标检测网络中的至少一图片进行多层卷积以获得多个不同尺度的特征图;在实施例中,请参阅图3,显示为本申请在一实施例中对输入图片进行分片的示意图,如图所示,输入图片经过上述预处理后进入一分片模块,分片模块将640×640×3的图片均分为16份,每份为160×160×3,将相距160的每四个图像块拼接在一起然后堆叠起来,得到320×320×12的特征图,特征图再经过一次卷积将通道数变为64,如此,利用该分片模块可以提升网络的推理速度。

步骤S112,在每一特征图上利用卷积核计算不同位置的响应,以获得对应各该特征图的描述,所述描述包括各该特征图的类别得分和相对坐标;在实施例中,所述类别例如为背景和目标,以一张放置在桌子上的奢侈品包的图片为例,在该图片中,经过步骤S112的处理后,通过利用卷积核计算每一特征图上不同位置的响应获得各该特征图的描述,所述描述包括各该特征图的背景得分和相对坐标(图片中的位置),以及奢侈品包得分和相对坐标(图片中的位置)。

步骤S113,将所述类别得分大于一预设阈值的特征图确定为目标,并依据其相对坐标进行目标定位。在实施例中,仍以索引对象为奢侈品包为例,预设一个阈值,将多个特征图进行比较后将类别得分为高的包含有奢侈品包的特征图确定为目标,并依据其相对坐标进行定位,进而确定所述图片中的奢侈品包为索引对象。在实施例中,所述阈值可以是一个具体的值也可以是一个置信度或置信水平。

通过上述步骤S111-S113,利用目标检测网络去除输入图片中的背景以提取索引对象,仍以一张放置在桌子上的奢侈品包的图片为例,去除包括桌子的背景,将奢侈品包的图像提取出来作为索引对象,即作为向后续含有注意力机制的图像检索网络的输入。

步骤S12,获取所述索引对象中每一特征节点的空间注意力及通道注意力。

通过调用一特征提取网络从所述检索对象提取特征,在实施例中,所述特征提取网络中连接所述输出层的一个卷积层为可变性卷积层,即所述特征提取网络的最后一个卷积层为可变性卷积层。在一个具体的实施方式中,采用预训练过的DenseNet网络作为主干网络(backbone),并主干网络中最后一个卷积层设置为可变形卷积DCN,如此以克服输入图片不可预知的情况(比如用户拍摄的图片可能会有各种各样的形变),本申请中的可变形卷积DCN在感受野中引入可学习的偏移量从而可以应对物体复杂形变的场景。另外,上述的注意力机制使得网络能够自适应的调整特征图中不同空间位置或者通道的重要程度,能够提升模型的性能,增强网络提取特征的能力。

在实施例中,所述间注意力及通道注意力是基于对每一特征节点与所述检索对象中所有特征节点的双向相关性确定的;具体的,在本申请中,使用关系感知全局注意力(Relation-aware Global attention,RGA模块)增强来提升检索效果以有效的捕获全局的结构信息;对每一个特征位置,通过关系感知全局注意力RGA模块可以更加紧凑地捕获全局的结构信息和局部的外观信息;使用所述RGA模块来将各种关系堆叠起来,即将所有的特征位置的双向相关性/亲和力(correlations/affinities)与特征本身一起,使用一个浅层神经网络来学习获得所述间注意力及通道注意力,通过应用所述RGA模块,可以显著的增强特征表示能力,从而学习到更具有判别力的特征。

在实施例中,例如给定一个特征集合V=x

请参阅图4,显示为本申请在一实施方式中获取每一特征节点的空间注意力及通道注意力的流程图。如图所示,步骤S121,分别从所述索引对象中确定每一特征节点为当前特征节点。

步骤S122,挖掘所述当前特征节点与所述检索对象中的每一特征节点之间的双向相关性。

步骤S123,基于所述双向相关性获得所述当前特征节点的空间注意力及通道注意力。

在实施例中,对于空间注意力的获取,例如,给定输入的特征图X∈R

r

其中θ

r

如此,可使用(r

类似的,可以求出所有特征节点之间的双向相关性,并组成相关性矩阵R

其中,ψ

α

在本实施例中,例如图5a及图5b所示,图5a显示为本申请在一实施例中索引对象示意图;图5b显示为利用空间注意力表征图5a的索引对象的可视化热力图。呈如图5b展示的将空间注意力可视化后的热力图,暗色区域代表模型高度关注的区域。

在实施例中,对于通道注意力的获取,例如,给定输入的中间特征向量X∈R

r

其中θ

r

使用(r

之后的操作与上述空间注意力一致,最终得到尺寸为C×1×1的通道注意力。

步骤S13,对每一所述特征节点的空间注意力及通道注意力进行处理以获得所述索引对象的全局注意力特征图。

在实施例中,获取所述索引对象中每一特征节点的空间注意力及通道注意力的步骤如图6所示,显示为本申请在一实施例中获得全局注意力特征图的流程图,如图所示,步骤S131,将得到的每一特征节点的空间注意力在通道上进行同维度扩展以获得空间注意力矩阵,以及将每一特征节点的通道注意力在空间上进行同维度扩展以获得通道注意力矩阵;在实施例中,例如将得到的1×H×W的空间注意力在通道上扩展到C×H×W以获得空间注意力矩阵,将C×1×1的通道注意力在空间上扩展到C×H×W以获得通道注意力矩阵。

步骤S132,依据所述空间注意力矩阵及通道注意力矩阵分别与所述特征图的逐像素进行矩阵相乘以获得全局注意力特征图。

步骤S14,利用提取的所述全局注意力特征图的特征向量构建所述索引对象的特征向量库。在实施例中,步骤S14还包括利用深度卷积神经网络提取所述全局注意力特征图的特征向量,所述深度卷积神经网络是在训练时在三元组损失函数及ID损失函数约束下获得的。在本实施例中,所述三元组损失函数为triplet loss表示,所述ID损失函数用IDloss表示。其中,所述三元组损失函数triplet loss的输入是一个三元组,包括锚(Anchor)样本、正(Positive)样本、负(Negative)样本,通过优化锚样本与正样本的距离小于锚样本与负样本的距离,实现样本之间的相似性计算。

在本实施例中,将所述全局注意力特征图映射为固定长度的特征向量;依据所述固定长度的特征向量获得归一化特征向量;利用所述固定长度的特征向量及归一化特征向量计算三元组损失函数及ID损失函数,用以训练上述深度卷积神经网络以提取所述全局注意力特征图的特征向量。

在具体的实施方式中,对于步骤S13获得的全局注意力特征图,使用深度卷积神经网络映射为固定长度的特征向量f

其中,三元组损失函数triplet loss使用了难例挖掘策略,选取离特征向量最远的正样本和最近的负样本组成三组;表示如下:

ID损失函数ID loss为交叉熵损失,表示如下:

L

在实施例中,所述深度卷积神经网络是通过配置一嵌入层训练获得的,所述嵌入层包括用于计算所述三元组损失函数的记忆特征库,所述记忆特征库中配置有多组记忆向量。

对于神经网络而言,不同图片样本学习的难度是不一样的,现有的工作往往没有挖掘数据本身的特征。数据中充斥着大量的简单样本,如果不加处理,这些简单样本会主导网络的学习,导致困难样本被淹没,从而导致模型性能较差。例如传统的triplet loss只利用了当前的训练样本的数据集(batch)中的正负样本来组成三元组计算损失函数tripletloss,数据集的大小其实会显著影响到模型的性能,但数据集的大小受限于显存的大小。例如,对奢侈品图片数据而言,同一种品牌或同一系列的商品常常具有显著的共同点,例如同一品牌的包有着相同的LOGO或者款式相近的包具有类似的造型。为了充分利用所有数据,本申请中,所述深度卷积神经网络是通过配置一嵌入层(Embedding层)训练获得的,所述嵌入层包括用于计算所述三元组损失函数的记忆特征库,所述记忆特征库中配置有多组记忆向量。

在实施例中,本申请提出了记忆特征模块,对训练集中每个类别都学习一个相应的特征,这些特征组成的向量组称之为记忆特征库,计算损失(Loss)时,不仅使用当前数据集中的样本,同时也与记忆特征库中的特征进行对比,组成样本对来计算损失。

在具体的实施方式中,构造一个N×1024的嵌入层(Embedding层),其中N为训练集中的类别总数,1024为特征向量的维度,将这N个向量称为记忆向量;将所有记忆向量进行随机初始化,该嵌入层包括用于计算所述三元组损失函数的记忆特征库。

在训练检索网络的同时更新记忆特征库,由于前期模型并不稳定,提取出的特征波动也较大,比如在迭代50个轮次后再开始对所述记忆特征库进行更新。

一方面,对于特征提取网络提取出的每个特征向量,缩小其与记忆特征库中的同类别的记忆向量之间的距离,表示如下:

该式L

另一方面,计算特征向量与记忆特征库中所有非同类的记忆向量之间的余弦相似度,表示如下:

y

该式称为记忆特征离散损失,其中y

所述的记忆特征库本质上可以看作对训练数据集中所有类别中不同样本的一种“聚类”,可以将每个记忆向量视作综合了该类别所有样本特征的具有代表性的特征向量。

在实施例中,所述深度卷积神经网络在训练时通过计算每个特征向量的记忆特征聚合损失及记忆特征离散损失获得或更新记忆向量。具体地,将上述的记忆特征聚合损失、记忆特征离散损失与三元组损失函数triplet loss、ID损失函数ID loss相结合共同优化模型参数,表示如下:

L=aL

其中,上式中的a、b、c、d分别为各项损失对应的权重。

由于记忆特征模块综合考虑了整个数据集中的同类样本的特征和非同类样本的特征,扩展了样本对的采样范围,能够让特征提取网络学到更好的特征表示。

上述实施例结合多种度量学习和难例挖掘的方法,进而能够提升检索的精度。

综上所述,上述实施例公开的图像索引库构建方法通过使用高精度可实时的目标检测网络去除复杂背景提取出索引对象或检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别进而使得在复杂场景下鲁棒性较好,比如,采用本申请上述实施例提供的图像索引库构建方法构件的图像索引库进行图片检索,在1000张某名牌包包外观组成的“bag外观”数据集上,1000张潮鞋图片组成的“shoe外观”数据集上,以及1000张奢侈品手表组成的“watch外观”数据集上与传统的Densenet方法进行对比,测试结果如下:

本申请的第二方面公开一种图像索引库构建系统,用于通过构建图像索引库,特别是构建索引对象或检索对象的特征向量库以提高图片检索的检索效率和精准度。在实施例中,所述图像索引库构建方法通过计算机系统实现,所述的计算机系统包含计算机设备中的软件和硬件来实现。

具体应用场景中,实现本申请图像索引库构建系统中的虚拟模块例如目标检测模块、特征提取模块以及建库模块都可以是软件模块,这些软件模块可部署在服务器、或服务器上的虚拟机,或服务器上的容器上。此外,这些软件模块可根据实际需求部署在同一服务器上,或者不同服务器上,本申请不做限定。

请参阅图8,显示为本申请图像索引库构建系统在一实施例中的系统框图,如图所示,所述图像索引库构建系统40包括:目标检测模块401,特征提取模块402,以及建库模块403。

所述目标检测模块401用于对输入至少一图片进行目标定位以确定所述图片中的索引对象;在实施例中,所述目标检测模块401确定所述图片中的索引对象的方式诚如上述针对图像索引库构建方法针对图1中步骤S11的描述,具体的,可参阅上述图2中针对步骤S111至步骤S113的描述以及图3的相关描述,在此不予赘述。

所述特征提取模块402用于获取所述索引对象中每一特征节点的空间注意力及通道注意力,并对每一所述特征节点的空间注意力及通道注意力进行处理以获得所述索引对象的全局注意力特征图,以及提取所述全局注意力特征图的特征向量;在实施例中,所述特征提取模块402通过调用一特征提取网络从所述检索对象提取特征,在具体的实现中,诚如上述针对图像索引库构建方法针对图1中步骤S12-S13的描述,具体的,可参阅上述图4中针对步骤S121至步骤S123,图5a及图5b部分以及上述图6中针对步骤S131及步骤S132的相关描述,在此不予赘述。

所述建库模块403用以依据提取的所述全局注意力特征图的特征向量构建所述索引对象的特征向量库。在实施例中,所述建库模块403利用深度卷积神经网络提取所述全局注意力特征图的特征向量,所述深度卷积神经网络是在训练时在三元组损失函数及ID损失函数约束下获得的。在具体的实现中,诚如上述针对图像索引库构建方法针对图1中步骤S14的描述,在本实施例中,所述建库模块403将所述全局注意力特征图映射为固定长度的特征向量;依据所述固定长度的特征向量获得归一化特征向量;利用所述固定长度的特征向量及归一化特征向量计算三元组损失函数及ID损失函数,用以训练上述深度卷积神经网络以提取所述全局注意力特征图的特征向量。具体的,可参阅上述图7中相关描述,在此不予赘述。

在所述建库模块403中还包括一记忆特征模块(未予以图示),对训练集中每个类别都学习一个相应的特征,这些特征组成的向量组称之为记忆特征库,计算损失(Loss)时,不仅使用当前数据集中的样本,同时也与记忆特征库中的特征进行对比,组成样本对来计算损失。

在具体的实施方式中,构造一个N×1024的嵌入层(Embedding层),其中N为训练集中的类别总数,1024为特征向量的维度,将这N个向量称为记忆向量;将所有记忆向量进行随机初始化,该嵌入层包括用于计算所述三元组损失函数的记忆特征库。

在训练检索网络的同时更新记忆特征库,由于前期模型并不稳定,提取出的特征波动也较大,比如在迭代50个轮次后再开始对所述记忆特征库进行更新。

一方面,对于特征提取网络提取出的每个特征向量,缩小其与记忆特征库中的同类别的记忆向量之间的距离,表示如下:

该式L

另一方面,计算特征向量与记忆特征库中所有非同类的记忆向量之间的余弦相似度,表示如下:

y

该式称为记忆特征离散损失,其中y

所述的记忆特征库本质上可以看作对训练数据集中所有类别中不同样本的一种“聚类”,可以将每个记忆向量视作综合了该类别所有样本特征的具有代表性的特征向量。

在实施例中,所述深度卷积神经网络在训练时通过计算每个特征向量的记忆特征聚合损失及记忆特征离散损失获得或更新记忆向量。具体地,将上述的记忆特征聚合损失、记忆特征离散损失与三元组损失函数triplet loss、ID损失函数ID loss相结合共同优化模型参数,表示如下:

L=aL

其中,上式中的a、b、c、d分别为各项损失对应的权重。

由于记忆特征模块综合考虑了整个数据集中的同类样本的特征和非同类样本的特征,扩展了样本对的采样范围,能够让特征提取网络学到更好的特征表示。

诚如上述,本申请公开的图像索引库构建系统通过使用高精度可实时的目标检测网络去除复杂背景提取出索引对象或检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别进而使得在复杂场景下鲁棒性较好,

本申请的第三方面公开一种索引库系统,用于存储图像索引库,特别是存储索引对象或检索对象的特征向量库,以在接收到检索请求时通过该图像索引库提高图片检索的检索效率和精准度。在实施例中,所述索引库系统通过计算机系统实现,所述的计算机系统包含计算机设备中的软件和硬件来实现。在具体实现中,所述计算机设备可以是任何具有数学和逻辑运算、数据处理能力的计算设备,其包括但不限于:个人计算机设备、单台服务器、服务器集群、分布式服务端、所述云服务端等。其中,所述云服务端包括公共云服务端与私有云服务端,其中,所述公共或私有云服务端包括SaaS、PaaS及IaaS等。所述私有云服务端例如阿里云计算服务平台、亚马逊云计算服务平台、百度云计算平台、腾讯云计算平台等等。

请参阅图9,显示为本申请索引库系统在一实施例中的系统框图,如图所示,实施索引库系统50包括:网络模块501、存储模块502,及处理模块503。

所述网络模块501用于接收来自网络的检索请求或更新请求,或者通过网络反馈检索结果;在实施例中,所述网络模块501包括网络接口,用于将计算设备连接到局域网(如LAN)、和/或广域网(如WAN)。所述检索请求为用户上传的包括有物品的图片的检索请求或者在用户本地端已经处理成对应包括有物品的图片的索引对象的检索请求。

在实际的应用场景中,例如一用户期望通过网络检索一款奢侈品LV品牌的包的具体信息,用户通过使用手机、平板电脑、笔记本电脑等电子设备的摄像装置对该奢侈品LV品牌的包进行拍摄,将拍摄的LV包的图像直接作为的输入图片,通过网络传输给所述网络模块,索引库系统调用程序将所述输入图片解析为检索请求以便处理模块执行后续的检索,在获得检索结果后再通过该网络模块经网络向用户反馈检索结果,所述检索结果包括与该奢侈品LV品牌的包相关的信息,例如图片、款式、价格、上市时间、销售网点等。在实施例中,所述检索结果是依据利用该奢侈品LV品牌的包的特征向量到所述存储模块中的特征向量库中检索以获得的,例如将该奢侈品LV品牌的包的特征向量与所述特征向量库进行相似计算以获得多个计算结果,将相似度最高的计算结果作为检索结果予以输出。

所述网络模块501还用于接收来自网络的更新请求,例如为索引库系统的所属方或者经营方或者管理方对特征向量库的更新请求,以更新所述特征向量库中的特征向量。

所述存储模块502用于存储特征向量库,所述特征向量库是根据上述第一方面所述的图像索引库构建方法构建的;在实施例中,所述特征向量库是根据上述实施例中针对图1以及图2至图7的中相关描述,在此不予赘述。

在具体的实现中,所述存储模块502包括存储器,用于存储程序代码。存储器可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器可用于存储一组程序代码,以便于处理器调用存储器中存储的程序代码以实现本申请实施例中涉及的如处理模块等功能模块中的任一项或多项的功能。

在某些实施例中,存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、LAN、WLAN、SAN等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。存储器可选地包括高速随机存取存储器,并且可选地还包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储器设备。由设备的其他组件诸如CPU和外围接口,对存储器的访问可选地通过存储器控制器来控制。

所述处理模块503用于依据所述检索请求在所述特征向量库中进行检索并通过所述网络模块反馈检索结果;或者用以依据更新请求更新所述特征向量库。在实施例中,所述处理模块503包括处理器,可以由一个或者多个通用处理器构成,例如CPU。处理器可用于运行相关的程序代码中以下任一项或多项功能模块的程序:存储模块和网络模块等。

本申请的第四方面公开一种图像检索方法,用以通过图像/图片检索以获得检索结果,更具体地,本申请的图像检索方法在检索时利用预先构建的特征向量库以实现高精度或更细粒度的图像检索。在实施例中,所述图像检索方法通过计算机系统实现,所述的计算机系统包含计算机设备中的软件和硬件来实现。

在一些实施例中,所述检索对象为例如为商品的物品,应理解的,在本申请所述的图像检索方法中,所述检索对象为图像或图片中显示的物品,所述物品例如为包、鞋、手表、腰带、首饰、或者化妆品等。

例如在物品为包的应用场景中,所述包例如为某品牌的双肩包、单肩包、手提包、斜挎包、旅行包等具有皮签的包袋等奢侈品,在一些实施例中,所述的奢侈品包例如为爱马仕(Hermès)包、路易·威登(Louis Vuitton)包、阿玛尼(Giorgio Armani)、宝格丽(BVLGARI)、芬迪(FenDi)、巴黎世家(BALENCIAGA)、香奈儿(CHANEL)包、普拉达(PRADA)包、古驰(Gucci)包、寇驰(COACH)包、以及迪奥(Dior)包等。

例如在物品为鞋的应用场景中,所述鞋例如为某品牌的具有鞋标、鞋撑、或其外包装的鞋盒上具有侧标的运动鞋、休闲鞋;在一些实施例中,所述的鞋例如为耐克(Nike)鞋、乔丹(Air Jordan)鞋、阿迪达斯(Adidas)鞋等。

例如在物品为手表的应用场景中,所述手表某品牌的具有背透的机械手表、石英手表、怀表等。在一些实施例中,所述的手表例如为百达翡丽(Patek Philippe)表、江诗丹顿(Vacheron Constantin)表、爱彼(Audemars Piguet)表、宝玑(Breguet)表、罗杰杜彼(Roger Dubuis)表、劳力士(ROLEX)表、欧米茄(OMEGA)表等。

当然,在不同的应用场景中,所述物品还可能是腰带、首饰、或者化妆品等,再次不予一一赘述。在实际的应用场景中,同类物品特别是款式相近的物品经常会有类似的外观或造型。

请参阅图10,显示为本申请图像检索方法在一实施例中的流程图,如图所示,所述图像检索方法包括以下步骤:

步骤S21,接收输入的待检索图像;在实施例中,接收用户通过输入的待检索图像例如通过电子设备的摄像设备进行拍摄从而直接输入的,或者经由用户从本地存储空间提取的,也可以是通过网络数据传输而获取的。所述数据传输包括无线网络传输、有线网络传输、或接口传输等。所述待检索图像中包括一用户期望检索对象的图像,以一张放置在桌子上的奢侈品包的图片为例,用户期望检索对象的图像为该奢侈品包的图像。

在一些实施例中,用户获取图像的方式包括但不限于:通过使用手机、平板电脑、笔记本电脑等电子设备的摄像装置对待检索物品进行拍摄,将拍摄的图像直接作为的输入图片;在一些实施例中,通过下载网页上或服务器上的物品图像作为输入图片;在一些实施例中,通过有线通信或无线通信等方式接收的图像作为输入图片。所述输入图片的格式为计算机存储图像的格式,例如为bmp,jpg,png,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF等存储的格式。

步骤S22,确定所述检索图像中的检索对象以获取所述检索对象的特征向量。

在实际应用中,一方面,输入的待检索图像可能会随着原始拍摄条件的不同而不同。例如,在阳光下拍摄的图像与在室内灯光下拍摄的图像是不同的,再者,灯光的颜色也会对图像有所影响。因此,由于每幅输入图像在清晰度、图像大小、分辨率等参数上不一定相同,在一些实施方例中,为了便于后续步骤对所获取的输入的待检索图像进行处理,所述图像检索方法还包括对输入待检索图像进行预处理的步骤。

在实施例中,所述预处理的步骤包括对所述输入待检索图像进行尺寸修改、按比例缩放、加噪、反转、旋转、平移、缩放变换、剪切、对比度变换、随机通道偏移、滤波中的一种或多种处理。例如,所述预处理包括剔除图像尺寸小于预设尺寸阈值的图像。又如,所述预处理包括对所获取的待检索图像进行清晰度分析并选择清晰度满足预设清晰度条件的图像作为待处理的图像。又如,所述预处理包括将所接收的550×300像素的图像旋转成300×550。又如,所述预处理包括将所接收的1000×800像素的图像缩小或剪切后,再旋转至300×550。又如,所述预处理包括对所获取的被美颜的图像进行锐化、加噪等处理以还原真实图像。再如,所述预处理包括对所获取的各图像进行灰度翻转,以便于后续抑制背景或对突出物品特征。

在实施例中,确定所述检索图像中的检索对象的步骤还包括将输入的检索图像经过例如上述的预处理后进入一目标检测网络,经过多层卷积后得到多尺度的特征图,在每层特征图上利用卷积核计算不同位置的响应,得到不同尺度和比例的目标的类别得分和相对坐标,之后经过一系列后处理得到对应的类别和相对坐标,将得分大于阈值的目标从原输入图片中分离出来以确定所述检索图像中的检索对象。

在实施例中,通过调用一目标检测网络对输入检索图像进行目标定位以确定所述检索图像中的检索对象,所述目标检测网络的输入层与输出层之间配置有CSP模块,用于将输入的至少一检索图像映射为两部分,一部分经残差计算后与通过跨阶段层次结构且未经计算的另一部分融合后传输给所述输出层。

在一个具体的实施方式中,所述目标检测网络的主干网络(backbone)采用Darknet53(或Darknet-53)网络结构,为了增强卷积神经网络的学习能力,本申请中,将主干网络中的普通残差块采用CSP(Cross Stage Partial,中文称之为交叉阶段部分连接或跨阶段部分连接)模块予以替换,CSP模块首先将输入映射为两部分,其中一部分送入由多个残差组件堆叠而成的残差计算模块,另一部分保持不变,然后通过跨阶段层次结构将两部分合并,如此,本申请采用CSP模块增强了网络的学习能力,同时减少了计算量,通过使用跨阶段的分割和合并策略,能够有效地减少信息集成过程中重复的可能性,有助于显著降低计算成本。

在步骤S22中获取所述检索对象的特征向量的实施方式请参阅上述第一方面中针对图2至图7的相关描述,在此不予赘述。

步骤S23,依据所述特征向量到一特征向量库中检索以获得检索结果并输出;其中所述特征向量库是上述第一方面所述的图像索引库构建方法构建的,在实施例中,请参阅上述第一方面图1中步骤S11至步骤S14以及图2至图7的相关描述。

在实施例中,所述依据所述特征向量到一特征向量库中检索以获得检索结果的步骤包括将所述检索对象的特征向量与所述特征向量库进行相似计算以获得多个计算结果,将相似度最高的计算结果作为检索结果予以输出,具体的,所述输出的方式例如为通过网络传输给用户的电子设备,以使该电子设备经过显示屏展示的界面进行显示。

在本实施例中,在实际的应用场景中,例如一用户期望通过网络检索一款奢侈品LV品牌的包的具体信息,用户通过使用手机、平板电脑、笔记本电脑等电子设备的摄像装置对该奢侈品LV品牌的包进行拍摄,将拍摄的LV包的图像直接作为的输入图片,通过网络传输给所述网络模块,索引库系统调用程序将所述输入图片解析为检索请求以便处理模块执行后续的检索,在获得检索结果后再通过该网络模块经网络向用户反馈检索结果,所述检索结果包括与该奢侈品LV品牌的包相关的信息,例如图片、款式、价格、上市时间、销售网点等。在实施例中,所述检索结果是依据利用该奢侈品LV品牌的包的特征向量到所述存储模块中的特征向量库中检索以获得的,例如将该奢侈品LV品牌的包的特征向量与所述特征向量库进行相似计算以获得多个计算结果,将相似度最高的计算结果作为检索结果予以输出。

综上所述,上述实施例公开的图像检索方法通过使用高精度可实时的目标检测网络去除复杂背景提取出检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别进而使得在复杂场景下鲁棒性较好,比如,采用本申请上述实施例提供的图像索引库构建方法构件的图像索引库进行图片检索,在1000张某名牌包包外观组成的“bag外观”数据集上,1000张潮鞋图片组成的“shoe外观”数据集上,以及1000张奢侈品手表组成的“watch外观”数据集上与传统的Densenet方法进行对比获得更高的检索准确率。

本申请的第五方面公开一种图像检索系统,用以通过图像/图片检索以获得检索结果,更具体地,本申请的图像检索方法在检索时利用预先构建的特征向量库以实现高精度或更细粒度的图像检索。在实施例中,所述图像检索系统通过计算机系统实现,所述的计算机系统包含计算机设备中的软件和硬件来实现。

请参阅图11,显示为本申请图像检索系统在一实施例中的系统框图,如图所示,所述图像检索系统60包括接收模块601,提取模块602,以及检索模块603。

所述接收模块601用于接收输入的待检索图像;在实施例中,所述接收模块601用于接收输入的待检索图像的实现方式诚如上述第四方面针对图10中步骤S21的相关描述。

所述提取模块602用于确定所述检索图像中的检索对象以获取所述检索对象的特征向量;在实施例中,所述提取模块602用于确定所述检索图像中的检索对象以获取所述检索对象的特征向量的实现方式诚如上述第四方面针对图10中步骤S22的相关描述。

所述检索模块603用于依据所述特征向量到一特征向量库中检索以获得检索结果并输出;其中所述特征向量库是根据上述第一方面所述的图像索引库构建方法构建的。所述检索模块603用于依据所述特征向量到一特征向量库中检索以获得检索结果并输出的实现方式诚如上述第四方面针对图10中步骤S23的相关描述。

具体应用场景中,实现本申请图像检索系统中的虚拟模块例如接收模块、提取模块以及检索模块都可以是软件模块,这些软件模块可部署在服务器、或服务器上的虚拟机,或服务器上的容器上。此外,这些软件模块可根据实际需求部署在同一服务器上,或者不同服务器上,本申请不做限定。

综上所述,上述实施例公开的图像检索系统通过使用高精度可实时的目标检测网络去除复杂背景提取出检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别进而使得在复杂场景下鲁棒性较好。

本申请的第六方面公开一种物品检索方法,应用于用户终端设备,以使用户通过其联网的终端设备在网络系统中实现利用图片/图像检索获得检索结果,更具体地,本申请的物品检索方法在用户进行检索时利用预先构建的特征向量库以实现高精度或更细粒度的物品图像检索。

在实施例中,所述用户终端设备如为包括但不限于智能手机、平板电脑、智能手表、智能眼镜、个人数字助理(PDA)等等便携式或者穿戴式的电子设备,应当理解,本申请于实施方式中描述的便携式电子设备只是一个应用实例,该设备的组件可以比图示具有更多或更少的组件,或具有不同的组件配置。该设备的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。

所述终端设备包括存储器、存储器控制器、一个或多个处理器(CPU)、外设接口、RF电路、音频电路、扬声器、麦克风、输入/输出(I/O)子系统、触摸屏、其他输出或控制设备,以及外部端口。这些组件通过一条或多条通信总线或信号线进行通信。

所述终端设备支持各种应用程序,诸如以下各项中的一种或多种:浏览器应用程序,搜索引擎应用程序,绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健康管理应用程序、照片管理应用程序、数码相机应用程序、数码视频摄像机应用程序、网页浏览应用程序、数码音乐播放器应用程序和/或数码视频播放器应用程序。

在本实施例中,所述物品例如为商品的物品,应理解的,在本申请所述的方法中,所述索引对象为图像或图片中显示的物品,所述物品例如为包、鞋、手表、腰带、首饰、或者化妆品等。在具体的应用场景中,所述包例如为某品牌的双肩包、单肩包、手提包、斜挎包、旅行包等具有皮签的包袋等奢侈品,在一些实施例中,所述的奢侈品包例如为爱马仕(Hermès)包、路易·威登(Louis Vuitton)包、阿玛尼(Giorgio Armani)、宝格丽(BVLGARI)、芬迪(FenDi)、巴黎世家(BALENCIAGA)、香奈儿(CHANEL)包、普拉达(PRADA)包、古驰(Gucci)包、寇驰(COACH)包、以及迪奥(Dior)包等。

例如在物品为鞋的应用场景中,所述鞋例如为某品牌的具有鞋标、鞋撑、或其外包装的鞋盒上具有侧标的运动鞋、休闲鞋;在一些实施例中,所述的鞋例如为耐克(Nike)鞋、乔丹(Air Jordan)鞋、阿迪达斯(Adidas)鞋等。

例如在物品为手表的应用场景中,所述手表某品牌的具有背透的机械手表、石英手表、怀表等。在一些实施例中,所述的手表例如为百达翡丽(Patek Philippe)表、江诗丹顿(Vacheron Constantin)表、爱彼(Audemars Piguet)表、宝玑(Breguet)表、罗杰杜彼(Roger Dubuis)表、劳力士(ROLEX)表、欧米茄(OMEGA)表等。

当然,在不同的应用场景中,所述物品还可能是腰带、首饰、或者化妆品等,再次不予一一赘述。在实际的应用场景中,同类物品,特别是款式相近的物品经常会有类似的外观或造型。

请参阅图12,显示为本申请物品检索方法在一实施例中的流程示意图,如图所示,所述方法包括以下步骤:

步骤S31,接收用户提交的一包含有物品的图像以确定所述物品以作为索引对象。在实施例中,用户终端接收用户输入/提交的一包含有物品的图像,然后通过网络向服务器或云端提交检索请求,所述检索请求为用户上传的包括有物品的图片的检索请求或者在用户本地端已经处理成对应包括有物品的图片的索引对象的检索请求。

在实施例中,接收用户通过输入的包含有物品的图像例如通过电子设备的摄像设备进行拍摄从而直接输入的,或者经由用户从本地存储空间提取的,也可以是通过网络数据传输而获取的。所述数据传输包括无线网络传输、有线网络传输、或接口传输等。所述待检索图像中包括一用户期望检索对象的图像,以一张放置在桌子上的奢侈品包的图片为例,用户期望检索对象的图像为该奢侈品包的图像。

在实施例中,还包括向用户展示一拍摄界面的步骤,所述拍摄界面中包括确定物品类型的轮廓提示以诱导用户依据所述轮廓提示拍摄所述物品后提交包含有物品的图像,以此使得用户终端通过网络向服务器/云端提交的图像利于高质量地确定索引对象进而满足检索要求。在具体示例中,所述拍摄界面例如图13a所示,图13a显示为本申请物品检索方法的用户终端一拍摄界面示意图。

在不同的实施例中,确定所述物品以作为索引对象的工作,可以在用户终端本地实现,例如在用户终端装载或通过网络调取相应执行程序的情况下;当然,应理解的,确定所述物品以作为索引对象的工作也可以由服务端或云端实现,比如与用户终端网络连接的服务端或远端配置有相应的执行程序,用户终端向服务端或云端提交包含有物品的图像,由包含有物品的图像对该图像进行处理以确定索引对象;所述的相应程序实现的过程可参阅上述第一方面实施例中针对图像索引库构建方法针对图1中步骤S11的描述,具体的,可参阅上述图2中针对步骤S111至步骤S113的描述以及图3的相关描述,在此不予赘述。

在一些实施例中,用户获取图像的方式包括但不限于:通过使用手机、平板电脑、笔记本电脑等电子设备的摄像装置对待检索物品进行拍摄,将拍摄的图像直接作为的输入图片;在一些实施例中,通过下载网页上或服务器上的物品图像作为输入图片;在一些实施例中,通过有线通信或无线通信等方式接收的图像作为输入图片。所述输入图片的格式为计算机存储图像的文件格式。

步骤S32,展示检索结果,所述检索结果是通过一特征向量库获得的,所述特征向量库是根据上述第一方面所述的图像索引库构建方法构建的。在实施例中,用户终端通过其显示屏展示检索结果。请参阅图13b所示的展示结果的界面,图13b显示为本申请物品检索方法在一实施例中用户终端展示检索结果的示意图。

在实施例中,所述特征向量库是上述第一方面所述的图像索引库构建方法构建的,在实施例中,请参阅上述第一方面图1中步骤S11至步骤S14以及图2至图7的相关描述。

在实施例中,所述依据所述特征向量到一特征向量库中检索以获得检索结果的步骤包括将所述检索对象的特征向量与所述特征向量库进行相似计算以获得多个计算结果,将相似度最高的计算结果作为检索结果予以输出,具体的,所述输出的方式例如为通过网络传输给用户的电子设备,以使该电子设备经过显示屏展示的界面进行显示。

在本实施例中,在实际的应用场景中,例如一用户期望通过网络检索一款奢侈品LV品牌的包的具体信息,用户通过使用手机、平板电脑、笔记本电脑等电子设备的摄像装置对该奢侈品LV品牌的包进行拍摄,将拍摄的LV包的图像直接作为的输入图片,通过网络传输给所述网络模块,索引库系统调用程序将所述输入图片解析为检索请求以便处理模块执行后续的检索,在获得检索结果后再通过该网络模块经网络向用户反馈检索结果,所述检索结果包括与该奢侈品LV品牌的包相关的信息,例如图片、款式、价格、上市时间、销售网点等。在实施例中,所述检索结果是依据利用该奢侈品LV品牌的包的特征向量到所述存储模块中的特征向量库中检索以获得的,例如将该奢侈品LV品牌的包的特征向量与所述特征向量库进行相似计算以获得多个计算结果,将相似度最高的计算结果作为检索结果予以输出。

综上所述,上述实施例公开的物品检索通过使用高精度可实时的目标检测网络去除复杂背景提取出检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别进而使得在复杂场景下鲁棒性较好。

本申请的第七方面公开一种电子设备,请参阅图14,显示为本申请电子设备在一实施例中的架构示意图,如图所示,所述电子设备70包括存储器701,处理器702,以及显示器703。

所述存储器701用于存储程序代码;所述处理器702用于调用所述存储器中存储的程序代码来执行以实现如上述第四方面实施例中所述的图像检索方法或者上述第六方面实施例中所述的物品检索方法;所述显示器703用于输出显示检索结果。

在实施例中,所述电子设备包含计算机系统,所述的计算机系统通过计算机设备中的软件和硬件来实现。所述计算机设备可以是任何具有数学和逻辑运算、数据处理能力的计算设备,其包括但不限于:个人计算机设备、单台服务器、服务器集群、分布式服务端、所述云服务端等。在实施例中,所述电子设备如为包括但不限于智能手机、平板电脑、智能手表、智能眼镜等等便携式或者穿戴式的电子设备。

本申请的第八方面公开一种客户端,装载于一电子设备中,在实施例中,所述客户端例如为装载于智能终端上的应用程序,例如为APP或者微信小程序等。请参阅图15,显示为本申请的客户端在一实施例中的架构示意图,如图所示,所述客户端80包括接收模块801以及显示模块802。其中,所述接收模块801用于接收用户提交的一包含有物品的图像以确定所述物品以作为索引对象。所述显示模块802用于展示检索结果,所述检索结果是通过如上述第四方面实施例中所述的图像检索方法或者如上述第六方面实施例中所述的物品检索方法得到的。

本申请的第九方面公开一种计算机可读存储介质,包括存储的计算机程序,其中,在所述计算机程序被计算机的处理器运行时,控制所述计算机执行并实现如上述第一方面所述的图像索引库构建方法;在实施例中,请参阅上述第一方面图1中步骤S11至步骤S14以及图2至图7的相关描述。

本申请的第十方面公开一种计算机可读存储介质,包括存储的计算机程序,其中,在所述计算机程序被计算机的处理器运行时,控制所述计算机执行并实现如上述第四方面所述的图像检索方法;在实施例中,请参阅上述第四方面图10中步骤S21至步骤S23的相关描述。

本申请的第十一方面公开一种计算机可读存储介质,包括存储的计算机程序,其中,在所述计算机程序被计算机的处理器运行时,控制所述计算机执行并实现如上述第六方面所述的物品检索方法;在实施例中,请参阅上述第六方面图12中步骤S31至步骤S32的相关描述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。

在一个或多个示例性方面,本申请上述第一方面所述的图像索引库构建方法;或者如上述第四方面所述的图像检索方法;或者如上述第六方面所述的物品检索方法的计算机程序所描述的功能可以用硬件、软件、固件或者其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。

本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。

综上所述,本申请的图像索引库构建方法、图像索引库构建系统、索引库系统、图像检索方法、图像检索系统、物品检索方法、电子设备、客户端以及计算机可读存储介质,通过使用高精度可实时的目标检测网络去除复杂背景提取出索引对象或检索对象,利用基于全局相关性的视觉注意力机制探索特征图上每个节点各自的全局关系挖掘出有价值的知识来生成全局注意力特征图,并利用提取特征向量构建索引对象的特征向量库,进而确保图像检索时利用该特征向量库以实现高精度或更细粒度的图像检索。本申请提供的特征向量库在图像或图片检索中不仅可以区分检索对象各种细节的差别,而且在复杂场景下鲁棒性较好,具有很高的实用价值。

上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

相关技术
  • 图像索引库构建方法及系统,图像检索方法及系统
  • 融合分类与全局索引的图像检索方法和图像检索系统
技术分类

06120113195361