CN113344027B - 一种图像中对象的检索方法、装置、设备和存储介质 - Google Patents

一种图像中对象的检索方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113344027B
CN113344027B CN202110508436.1A CN202110508436A CN113344027B CN 113344027 B CN113344027 B CN 113344027B CN 202110508436 A CN202110508436 A CN 202110508436A CN 113344027 B CN113344027 B CN 113344027B
Authority
CN
China
Prior art keywords
similarity
target
image
objects
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110508436.1A
Other languages
English (en)
Other versions
CN113344027A (zh
Inventor
庄月清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Megvii Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Megvii Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN202110508436.1A priority Critical patent/CN113344027B/zh
Publication of CN113344027A publication Critical patent/CN113344027A/zh
Application granted granted Critical
Publication of CN113344027B publication Critical patent/CN113344027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供一种图像中对象的检索方法、装置、设备和存储介质,所述图像中对象的检索方法、装置、设备和存储介质,在确定两个对象之间的目标相似度的时候,不仅依赖该两个对象各自的特征向量来确定目标相似度,还依赖了两个图像中所有对象的特征向量来确定目标相似度,即目标对象的确定是依赖了上下文信息的。解决了现有技术存在的利用待检索对象特征对待检索对象进行检索存在的难度大,无法检出待检索对象导致对象丢失的问题。

Description

一种图像中对象的检索方法、装置、设备和存储介质
技术领域
本申请涉及图像检索领域,具体而言,涉及一种图像中对象的检索方法、装置、设备和存储介质。
背景技术
图像检索是在多个图像中找到相似图像,具体的,是要在多个图像中找到相同的对象。例如,给到两张图像A和B,两张图像中均包括多个人,其中,图像A中有人a、b、c,图像检索的目的就是从图像B中找到人a、b或c。
现有的图像检索,往往是根据两个人之间的特征来检索的。例如,具体根据两个人之间的人脸特征,但是,在很多图像中,人往往是背对摄像头的,对于这些图像,图像检索的难度大大增加,甚至无法检索出目标对象,导致目标丢失。
发明内容
本申请实施例的目的在于提供一种图像中对象的检索方法、装置、设备和存储介质,用以现有技术存在的利用待检索对象特征对待检索对象进行检索存在的难度大,无法检出待检索对象导致对象丢失的问题。
第一方面,提供了一种图像中对象的检索方法,包括:
获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
上述图像中对象的检索方法,在确定两个对象之间的目标相似度的时候,不仅依赖该两个对象各自的特征向量来确定目标相似度,还依赖了两个图像中所有对象的特征向量来确定目标相似度,即目标对象的确定是依赖了上下文信息的,从而提高检索准确率,解决了现有技术存在的利用待检索对象特征对待检索对象进行检索存在的难度大、无法检出待检索对象导致对象丢失的问题。例如,对象背对摄像头的应用场景,由于无法提取到对象的面部特征,单纯的依赖局部相似度大概率会导致检索失败,目标丢失,但是,由于目标相似度结合了上下文信息,也即通过目标相似度实现了根据上下文信息进行检索,此时,即使无法获取到面部特征,也能提高检索准确率。
在一个实施例中,所述根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,包括:根据所述参考对象和所述目标对象的特征向量,得到所述参考对象和所述目标对象之间的初步相似度;根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度。
上述实施例,通过向量距离来确定相似度,并且,局部相似度的确定不是单纯的依赖参考对象和目标对象的特征向量,而是基于特征向量得到初步相似度,然后再对初步相似度进行调整得到局部相似度,以便通过调整增大局部相似度的精度。
在一个实施例中,所述根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度,包括:根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,所述修正系数在所述参考对象和所述目标对象之间的初步相似度小于最大剩余相似度时为小于1的正数,所述最大剩余相似度为多个剩余相似度中的最大值,所述剩余相似度是所述参考对象和剩余对象之间的初步相似度,所述剩余对象为所述目标图像中除去所述目标对象的对象。
上述实施例,提供修正系数以提高局部相似度的精度。具体的,当参考对象与目标对象之间的初步相似度小于最大剩余相似度时,认为参考对象与目标对象并不是最相似的,在目标图像中,还可能存在与参考对象更为相似的对象,此时,选择使用修正系数对初步相似度进行处理,缩小该初步相似度,即将两个不太相似的对象之间的初步相似度缩小,从而得到更加准确的局部相似度。
在一个实施例中,所述根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,包括:根据所述参考对象和所述目标图像中多个剩余对象的特征向量,得到所述参考对象和所述目标图像中多个所述剩余对象中的每个所述剩余对象之间的剩余相似度;获取所述初步相似度和多个所述剩余相似度中的最大相似度;根据所述最大相似度和所述初步相似度,得到所述修正系数;将所述修正系数和所述初步相似度相乘,得到所述参考对象和所述目标对象之间的局部相似度。
上述实施例,提供了一种计算修正系数的方法,根据参考对象和目标对象的初步相似度以及最大相似度来确定修正系数,通过这样的方式确定的修正系数将具备更高的精度,因为,当对象与对象之间的初步相似度很小的时候,即对象与对象很不相似的时候,修正系数将很小,通过修正系数减小初步相似度以拉开两个对象之间的差距,当对象与对象之间的初步相似度很大且接近最大相似度的时候,修正系数也相对较大,通过修正系数拉进两个相似对象之间距离,从而实现了修正系数随着初步相似度的大小动态变化,进而提高了修正系数的计算精度以及局部相似度的计算精度。
在一个实施例中,所述根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度,包括:将所述参考图像中多个对象的特征向量进行组合,得到第一特征矩阵;将所述目标图像中多个对象的特征向量进行组合,得到第二特征矩阵;基于所述第一特征矩阵和所述第二特征矩阵,得到相似度矩阵,所述相似度矩阵中记录了所述参考图像中的多个对象中的每个对象与所述目标图像中的多个对象中的每个对象之间的相似度;根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,每个匹配对对应一匹配对相似度;根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度。
上述实施例,将参考图像和目标图像中的多个对象进行匹配,然后根据匹配结果来确定上下文相似度,由于上下文相似度的计算是结合了图像中的所有对象的,因此,最终计算得到的目标相似度参考了图像中所有对象的特征信息,使得最终计算得到的目标相似度更准确,更能帮助达到目标检索的目的。
在一个实施例中,所述根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,包括:对所述相似度矩阵的每一行,找到行最小相似度,将所述行中的每个相似度减去所述行最小相似度,得到第一相似度矩阵;对所述第一相似度矩阵中的每一列,找到列最小相似度,将所述列中的每个相似度减去所述列最小相似度,得到第二相似度矩阵;统计所述第二相似度矩阵中不在同一行且不在同一列的零相似度的个数,所述零相似度为相似度值为0的相似度;当所述第二相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第一最少数量的水平线和垂直线覆盖所述第二相似度矩阵中全部的零相似度;当所述第一最少数量小于所述参考图像中的对象的总数时,从所述第二相似度矩阵中未被所述水平线和所述垂直线覆盖的相似度中获取到最小值;对所述第二相似度矩阵中未被所述水平线覆盖的行,将所述行中的每个相似度减去所述最小值,对所述第二相似度矩阵中被所述垂直线覆盖的列,将所述列中的每个相似度加上所述最小值,得到第三相似度矩阵;统计所述第三相似度矩阵中不在同一行且不在同一列的零相似度的个数;当所述第三相似度矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对;当所述第三相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第二最少数量的水平线和垂直线覆盖所述第三相似度矩阵中全部的零相似度,直至计算得到的矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对。
上述实施例,提供了一种对象的匹配方法,该方法能够快速获取到匹配对,实现参考图像中多个对象的唯一匹配。该方法通过在相似度矩阵中找到不同行且不同列的零相似度来实现匹配,当零相似度的数量等于参考图像中对象总数时,匹配结束。由于需要快速找到不同行且不同列的零相似度,所以每次基于相似度矩阵中的最小值去快速构造出零相似度,然后判断这些所有的零相似度中不同行且不同列的零相似度的个数,直至这些零相似度的个数等于参考图像中的对象的总数时,认为实现了对参考图像中的多个对象的唯一配对。
在一个实施例中,所述根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度,包括:分别将每个所述匹配对对应的匹配对相似度与所述局部相似度进行比对,确定大于所述局部相似度的各匹配对相似度;根据大于所述局部相似度的各匹配对相似度的均值,确定所述参考对象和所述目标对象之间的上下文相似度。
上述实施例,匹配对相似度的值小,认为这个匹配对不是很可信,即这个匹配对中的两个对象为同一对象的可能性比较小,所以当匹配对相似度的值小的时候,将不采用该匹配对相似度来计算上下文相似度,以免降低计算得到的上下文相似度的准确率,因此,在本发明实施例中,采用值相对较高的匹配对相似度来计算上下文相似度,从而提高上下文相似度的准确率。并且,本发明实施例还同时提供了判断匹配对相似度高低的方法,由于是要计算当前的局部相似度(当前的局部相似度即为当前的参考对象与当前的目标对象之间的局部相似度)对应的上下文相似度,因此,将匹配对相似度与当前的局部相似度进行比较,以判定该匹配对相似度的大小,而不是将任意的匹配对相似度与预先设置好的一个值进行比较。
在一个实施例中,所述根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量,包括:将所述参考图像和所述目标图像输入特征提取网络,得到所述特征提取网络输出的参考特征和目标特征;将所述参考特征和所述目标特征输入对象检测网络,得到所述参考图像和所述目标图像中多个对象的对象检测结果;根据所述参考图像和所述目标图像中多个对象的对象检测结果,从所述参考特征和所述目标特征中获取到所述参考图像和所述目标图像中多个对象的特征向量。
上述实施例,先用一个特征提取网络提取图像特征,然后用检测网络检测出图像中的对象坐标,最后基于对象坐标,即可从特征提取网络输出的特征中获取到多个对象的特征,由于设计了一个特征提取网络,方便后续网络的检测以及特征向量的获取。
在一个实施例中,所述特征提取网络是由初始特征提取网络训练得到的,所述对象检测网络是由初始对象检测网络训练得到的;在所述获取参考图像和目标图像之前,还包括:获取参考训练图像和目标训练图像;将所述参考训练图像和所述目标训练图像输入所述初始特征提取网络,得到所述初始特征提取网络输出的参考训练特征和目标训练特征;将所述参考训练特征和所述目标训练特征输入所述初始对象检测网络,得到所述参考训练图像和所述目标训练图像中多个对象的对象检测结果;根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果得到分类损失和检测损失;根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果,从所述参考训练特征和所述目标训练特征中获取到所述参考训练图像和所述目标训练图像中多个对象的特征向量;将所述参考训练图像中多个对象的特征向量进行组合,得到参考训练矩阵,将所述目标训练图像中多个对象的特征向量进行组合,得到目标训练矩阵;根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵;基于所述识别矩阵,得到所述参考训练图像和所述目标训练图像中的多个对象的识别结果;根据所述参考训练图像和所述目标训练图像中的多个对象的识别结果得到识别损失;基于所述分类损失、所述检测损失和所述识别损失,更新所述初始特征提取网络和初始对象检测网络的参数,直至所述分类损失、所述检测损失和所述识别损失的和收敛,得到所述特征提取网络和所述对象检测网络。
上述实施例,该方法联合分类损失、检测损失以及识别损失对特征提取网络和对象检测网络进行训练,相较于单独训练网络的方式,这样的方式提高了训练效率。
在一个实施例中,所述识别矩阵包括自注意力识别矩阵和跨注意力识别矩阵;所述根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵,包括:将参考训练矩阵输入参考训练图像对应的自注意力检测网络,得到参考训练图像对应的自注意力识别矩阵;将参考训练矩阵和所述目标训练矩阵输入目标训练图像对应的跨注意力检测网络,得到目标训练图像对应的跨注意力识别矩阵;将参考训练矩阵和所述目标训练矩阵输入参考训练图像对应的跨注意力检测网络,得到参考训练图像对应的跨注意力识别矩阵;将目标训练矩阵输入目标训练图像对应的自注意力检测网络,得到目标训练图像对应的自注意力识别矩阵。
上述实施例,通过设计自注意力识别矩阵和跨意力识别矩阵,能够提高计算得到的识别矩阵的精度,从而提高识别精度,由于根据识别矩阵得到识别损失,基于识别损失对网络进行训练,所以能够提高训练后的网络的精度。
第二方面,提供了一种图像中对象的检索装置,包括:
图像获取模块,用于获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
特征向量模块,用于根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
局部相似度模块,用于根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
上下文相似度模块,用于根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
目标相似度模块,用于根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
在一个实施例中,所述局部相似度模块,具体用于:根据所述参考对象和所述目标对象的特征向量,得到所述参考对象和所述目标对象之间的初步相似度;根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度。
在一个实施例中,所述局部相似度模块,具体用于:根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,所述修正系数在所述参考对象和所述目标对象之间的初步相似度小于最大剩余相似度时为小于1的正数,所述最大剩余相似度为多个剩余相似度中的最大值,所述剩余相似度是所述参考对象和剩余对象之间的初步相似度,所述剩余对象为所述目标图像中除去所述目标对象的对象。
在一个实施例中,所述局部相似度模块,具体用于:根据所述参考对象和所述目标图像中多个剩余对象的特征向量,得到所述参考对象和所述目标图像中多个所述剩余对象中的每个所述剩余对象之间的剩余相似度;获取所述初步相似度和多个所述剩余相似度中的最大相似度;根据所述最大相似度和所述初步相似度,得到所述修正系数;将所述修正系数和所述初步相似度相乘,得到所述参考对象和所述目标对象之间的局部相似度。
在一个实施例中,所述上下文相似度模块,具体用于:将所述参考图像中多个对象的特征向量进行组合,得到第一特征矩阵;将所述目标图像中多个对象的特征向量进行组合,得到第二特征矩阵;基于所述第一特征矩阵和所述第二特征矩阵,得到相似度矩阵,所述相似度矩阵中记录了所述参考图像中的多个对象中的每个对象与所述目标图像中的多个对象中的每个对象之间的相似度;根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,每个匹配对对应一匹配对相似度;根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度。
在一个实施例中,所述上下文相似度模块,具体用于:对所述相似度矩阵的每一行,找到行最小相似度,将所述行中的每个相似度减去所述行最小相似度,得到第一相似度矩阵;对所述第一相似度矩阵中的每一列,找到列最小相似度,将所述列中的每个相似度减去所述列最小相似度,得到第二相似度矩阵;统计所述第二相似度矩阵中不在同一行且不在同一列的零相似度的个数,所述零相似度为相似度值为0的相似度;当所述第二相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第一最少数量的水平线和垂直线覆盖所述第二相似度矩阵中全部的零相似度;当所述第一最少数量小于所述参考图像中的对象的总数时,从所述第二相似度矩阵中未被所述水平线和所述垂直线覆盖的相似度中获取到最小值;对所述第二相似度矩阵中未被所述水平线覆盖的行,将所述行中的每个相似度减去所述最小值,对所述第二相似度矩阵中被所述垂直线覆盖的列,将所述列中的每个相似度加上所述最小值,得到第三相似度矩阵;统计所述第三相似度矩阵中不在同一行且不在同一列的零相似度的个数;当所述第三相似度矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对;当所述第三相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第二最少数量的水平线和垂直线覆盖所述第三相似度矩阵中全部的零相似度,直至计算得到的矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对。
在一个实施例中,所述上下文相似度模块,具体用于:分别将每个所述匹配对对应的匹配对相似度与所述局部相似度进行比对,确定大于所述局部相似度的各匹配对相似度;根据大于所述局部相似度的各匹配对相似度的均值,确定所述参考对象和所述目标对象之间的上下文相似度。
在一个实施例中,所述特征向量模块,具体用于:将所述参考图像和所述目标图像输入特征提取网络,得到所述特征提取网络输出的参考特征和目标特征;将所述参考特征和所述目标特征输入对象检测网络,得到所述参考图像和所述目标图像中多个对象的对象检测结果;根据所述参考图像和所述目标图像中多个对象的对象检测结果,从所述参考特征和所述目标特征中获取到所述参考图像和所述目标图像中多个对象的特征向量。
在一个实施例中,所述特征提取网络是由初始特征提取网络训练得到的,所述对象检测网络是由初始对象检测网络训练得到的;所述特征向量模块,具体用于:在所述获取参考图像和目标图像之前,获取参考训练图像和目标训练图像;将所述参考训练图像和所述目标训练图像输入所述初始特征提取网络,得到所述初始特征提取网络输出的参考训练特征和目标训练特征;将所述参考训练特征和所述目标训练特征输入所述初始对象检测网络,得到所述参考训练图像和所述目标训练图像中多个对象的对象检测结果;根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果得到分类损失和检测损失;根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果,从所述参考训练特征和所述目标训练特征中获取到所述参考训练图像和所述目标训练图像中多个对象的特征向量;将所述参考训练图像中多个对象的特征向量进行组合,得到参考训练矩阵,将所述目标训练图像中多个对象的特征向量进行组合,得到目标训练矩阵;根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵;基于所述识别矩阵,得到所述参考训练图像和所述目标训练图像中的多个对象的识别结果;根据所述参考训练图像和所述目标训练图像中的多个对象的识别结果得到识别损失;基于所述分类损失、所述检测损失和所述识别损失,更新所述初始特征提取网络和初始对象检测网络的参数,直至所述分类损失、所述检测损失和所述识别损失的和收敛,得到所述特征提取网络和所述对象检测网络。
在一个实施例中,所述识别矩阵包括自注意力识别矩阵和跨注意力识别矩阵;所述特征向量模块,具体用于:将参考训练矩阵输入参考训练图像对应的自注意力检测网络,得到参考训练图像对应的自注意力识别矩阵;将参考训练矩阵和所述目标训练矩阵输入目标训练图像对应的跨注意力检测网络,得到目标训练图像对应的跨注意力识别矩阵;将参考训练矩阵和所述目标训练矩阵输入参考训练图像对应的跨注意力检测网络,得到参考训练图像对应的跨注意力识别矩阵;将目标训练矩阵输入目标训练图像对应的自注意力检测网络,得到目标训练图像对应的自注意力识别矩阵。
第三方面,提供了一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述图像中对象的检索方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读取存储介质中存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如上所述图像中对象的检索方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的图像中对象的检测方法的实现流程示意图;
图2为本申请实施例提供的步骤300的实现流程示意图;
图3为本申请实施例提供的步骤302的实现流程示意图;
图4为本申请实施例提供的步骤400的实现流程示意图;
图5为本申请实施例提供的步骤404的实现流程示意图;
图6为本申请实施例提供的寻找匹配对的示意图;
图7为本申请实施例提供的步骤405的实现流程示意图;
图8为本申请实施例提供的匹配对的示意图;
图9为本申请实施例提供的步骤200的实现流程示意图;
图10为本申请实施例提供的根据对象坐标将对象以检测框进行标记;
图11为本申请实施例提供的得到特征向量的示意图;
图12为本申请实施例提供的网络训练的实现流程示意图;
图13为本申请实施例提供的步骤007的实现流程示意图;
图14为本申请实施例提供的计算注意力识别矩阵的示意图;
图15为本申请实施例提供的图像中对象的检测装置的组成结构示意图;
图16为本申请实施例提供的计算机设备的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一个实施例中,提供了一种图像中对象的检索方法,本发明实施例所述的图像中对象的检索方法的执行主体为能够实现本发明实施例所述的图像中对象的检索方法的设备,该设备可以包括但不限于终端和服务器。其中,终端包括台式终端和移动终端,台式终端包括但不限于台式电脑和车载电脑;移动终端包括但不限于手机、平板、笔记本电脑和智能手表。服务器包括高性能计算机和高性能计算机集群。
可以理解的是,对象检索可以指对象的结构化检索,例如对人体、机动车、非机动车进行检索。
图1为本申请实施例提供的图像中对象的检索方法,包括:
步骤100,获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象。
将参考图像和目标图像作为一对图像,作为一对图像的目的是为了确定目标图像中的多个对象与参考图像中的多个对象的对应关系,即对于参考图像中的某一个对象,在目标图像中,找到与该对象相同的对象,从而达到检索的目的。
对象,为图像中前景中的对象,图像中的对象,可以是人,也可以是动植物,即对象包括人和/或动植物,即出现在参考图像和目标图像中的多个对象可以全部是人,也可以全部是动植物,还可以是部分是人,部分是动植物。需要说明的是,植物需要是作为前景的植物,例如人手中的鲜花等,作为背景的不可移动的植物不作为对象。
步骤200,根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量。
特征向量,通过向量的方式反映图像中的对象的特征。示例性的,分别将参考图像和目标图像输入一个神经网络,从而得到该神经网络输出的参考图像和目标图像中多个对象的特征向量。
可以理解的是,本文中的“多个对象”可以指各个对象即全部对象。当然,“多个对象”也可仅包含全部对象中的部分对象。
步骤300,根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个。由于参考图像中有多个对象,因此,需要首先将多个对象中的一个确定为待检索对象,以对待检索对象进行检索,同时,将该待检索对象命名为参考对象,每次检索,只针对目标图像中的一个对象,将目标图像中的该对象命名为目标对象,即每次检索只判断参考对象和目标对象的目标相似度,当参考图像中有N个人,目标图像中有M个人的时候,需要检索N×M次,才能确定目标图像中的哪个对象与参考图像中的哪个对象为同一对象。
局部相似度,仅依赖两个对象之间的特征向量计算得到的相似度,局部相似度的计算不依赖于其他对象的特征向量,因此,局部相似度的计算没有参考上下文信息。
步骤400,根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象。
上下文相似度,反映参考对象与目标对象之间的相似度是结合了上下文(图像中的上下文对象)信息得到的。
上下文对象包括至少一个除参考对象和目标对象以外的对象,例如包括参考图像和目标图像中的所有对象。
可以理解的是,参考对象和目标对象的类别是相同的,例如都是人,但是,上下文对象中除了参考对象和目标对象以外的对象,可以与参考图像和目标对象的类别不同。
对于某些检索场景,仅仅参考两个对象之间的局部相似度并不能很好的确定两个对象是否是同一对象,因为此时能够提取到的对象的特征很少(例如某个对象只拍到了半身),或是不同对象特征相似度高(例如两个不同的人都穿了黑半袖、牛仔裤,容易被误认为同一人),对于这样的应用场景,仅依赖局部相似度通常会导致误检、漏检率高。
下面举一个具体的例子说明上下文对象在检索中的作用。图像A中的人A1和图像B中的人B1、图像C中的人C1都穿了黑半袖、牛仔裤。A1是参考对象,B1、C1是目标对象。A1与B1、C1的相似度分别为80%、79%。图像A中,除了A1以外还有穿红色裙子的A2和穿黑色衣服、黑色裤子的A3。图像B中,除了B1以外还有穿蓝色裙子的B2和穿灰色衣服、黑色裤子的B3。图像C中,除了C1以外还有穿红色裙子的C2和穿黑色衣服、黑色裤子的C3。若考虑局部相似度,B1比C1更有可能与A1是同一人。但是考虑到B2、B3与A2、A3相似度较低,C2、C3与A2、A3相似度较高,认为C1比B1更有可能与A1是同一人。
可见,结合上下文信息来实现对象检索,能够提高检索准确率。
步骤500,根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
目标相似度,用于判断不同图像中的两个对象的相似程度。后续可根据目标相似度,给出参考对象与目标对象是否同一对象的检索结果。或者,计算参考对象与多个目标对象的相似度后,返回目标相似度最大的前N个目标对象和/或目标相似度大于阈值的目标对象作为检索结果。
上述图像中对象的检索方法,在确定两个对象之间的目标相似度的时候,不仅依赖该两个对象各自的特征向量来确定目标相似度,还依赖了两个图像中除待确定相似度的两个对象以外的上下文对象的特征向量来确定目标相似度,即目标对象的确定是依赖了上下文信息的,从而提高检索准确率,解决了现有技术中仅利用待检索对象特征对待检索对象进行检索时存在的误检率、漏检率高的问题。例如,对象背对摄像头的应用场景,由于无法提取到对象的面部特征,单纯的依赖局部相似度大概率会导致检索失败,目标丢失,但是,由于目标相似度结合了上下文信息,也即通过目标相似度实现了根据上下文信息进行检索,此时,即使无法获取到面部特征,也能提高检索准确率。下面提供两种根据局部相似度和上下文相似度确定目标相似度的示例。
示例性一,分别计算参考对象和目标对象之间的局部相似度和上下文相似度的平方;计算局部相似度和上下文相似度的平方的均值;求取该均值的平方根;将该平方根作为参考对象和目标对象之间的目标相似度。
例如,目标相似度其中,参考对象qt和目标对象gi之间的局部相似度为s(qt,gi),参考对象和目标对象之间的上下文相似度为:sc(Q,G,s(qt,gi)。
示例二、获取局部权重;将局部权重乘以参考对象和目标对象之间的局部相似度,得到局部贡献相似度;根据局部权重得到上下文权重;将上下文权重乘以参考对象和目标对象之间的上下文相似度,得到上下文贡献相似度;将局部贡献相似度和上下文贡献相似度求和,得到参考对象和目标对象之间的目标相似度。
局部权重,在计算参考对象和目标对象之间的目标相似度时,衡量局部相似度对目标相似度的影响的大小,当希望局部相似度对目标相似度的影响较大时,将局部权重设置的大一些,当希望局部相似度对目标相似度的影响较小时,将局部权重设置的小一些,具体的,可根据实际应用场景进行设置。
上下文权重,在计算参考对象和目标对象之间的目标相似度时,衡量上下文相似度对目标相似度的影响的大小。局部权重和上下文权重是一对互斥的权重,即当局部权重较大时,上下文权重将较小;当局部权重较小时,上下文权重将较大。上下文权重可以为:1-局部权重。
例如,局部权重为λ,则上下文权重为:1-λ,则参考对象和目标对象之间的目标相似度scas(qt,gi)为:
scas(qt,gi)=λ×s(qt,gi)+(1-λ)×sc(Q,G,s(qt,gi))。
在得到目标相似度之后,还需要根据参考对象和目标对象之间的目标相似度在目标图像中对参考对象进行检索。具体的,计算参考对象与目标图像中多个对象之间的目标相似度,从而得到参考对象对应的多个目标相似度;从该多个目标相似度中获取到最大的目标相似度;当该最大的目标相似度大于或等于预设相似度时,将该最大的目标相似度对应的对象确定为与参考对象相同的对象;当该最大的目标相似度小于预设相似度时,认为无法在目标图像中找到与参考对象相同的对象。
当然,根据局部相似度和上下文相似度得到目标相似度的方式并不以此为限,例如还可采用根据上下文相似度修正局部相似度得到目标相似度等方式。
在一个实施例中,通过向量距离来确定相似度,并且,局部相似度的确定不是单纯的依赖参考对象和目标对象的特征向量,而是基于特征向量得到初步相似度,然后再对初步相似度进行调整得到局部相似度,以便通过调整增大局部相似度的精度。具体的,如图2所示,步骤300所述根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,包括:
步骤301,根据所述参考对象和所述目标对象的特征向量,得到所述参考对象和所述目标对象之间的初步相似度。
初步相似度,是根据特征向量之间的向量距离得到的。首先,计算参考对象和目标对象的特征向量之间的向量距离。示例性的,该向量距离为欧式距离。假设参考对象的特征向量为:qt=[a1,a2,a3],目标对象的特征向量为:gi=[b1,b2,b3],则两个特征向量之间的向量距离为:qt·gi=a1×b1+a2×b2+a3×b3。由于向量距离和相似度是两个互斥的概念,即向量距离越大,相似度越小;向量距离越小,相似度越大。因此,在得到两个特征向量之间的向量距离之后还需要对该向量距离做函数变换,将距离转换为相似度,从而得到参考对象和目标对象之间的初步相似度。
步骤302,根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度。
根据初步相似度,对初步相似度进行调整,得到对象之间的局部相似度。示例性的,当初步相似度大于或等于第一预设相似度时,将初步相似度乘以第一系数;当初步相似度小于第一预设相似度且大于第二预设相似度时,将初步相似度乘以第二系数;当初步相似度小于第二预设相似度时,将初步相似度乘以第三系数,从而通过对初步相似度的调整得到局部相似度。例如,当初步相似度大于或等于0.8时,将该初步相似度乘以1.1;当初步相似度小于0.8且大于0.5时,将该初步相似度乘以0.8;当初步相似度大于0,且,小于或等于0.5时,将该初步相似度乘以0.5。通过初步相似度与相应的系数相乘得到目标相似度。
在一个实施例中,提供修正系数以提高局部相似度的精度。具体的,当参考对象与目标对象之间的初步相似度小于最大剩余相似度时,认为参考对象与目标对象并不是最相似的,在目标图像中,还可能存在与参考对象更为相似的对象,此时,选择使用修正系数对初步相似度进行处理,缩小该初步相似度,即将两个不太相似的对象之间的初步相似度缩小,从而得到更加准确的局部相似度。步骤302所述根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度,包括:
步骤302A,根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,所述修正系数在所述参考对象和所述目标对象之间的初步相似度小于最大剩余相似度时为小于1的正数,所述最大剩余相似度为多个剩余相似度中的最大值,所述剩余相似度是所述参考对象和剩余对象之间的初步相似度,所述剩余对象为所述目标图像中除去所述目标对象的对象。
修正系数,用于对初步相似度进行修正,从而得到更加准确的局部相似度,当参考对象和目标对象之间的初步相似度小于最大剩余相似度时,修正系数为小于1的正数,例如,修正系数为0.8。
在一个实施例中,提供了一种计算修正系数的方法,根据参考对象和目标对象的初步相似度以及最大相似度来确定修正系数,通过这样的方式确定的修正系数将具备更高的精度,因为,当对象与对象之间的初步相似度很小的时候,即对象与对象很不相似的时候,修正系数将很小,通过修正系数减小初步相似度以拉开两个对象之间的差距,当对象与对象之间的初步相似度很大且接近最大相似度的时候,修正系数也相对较大,通过修正系数拉进两个相似对象之间距离,从而实现了修正系数随着初步相似度的大小动态变化,进而提高了修正系数的计算精度以及局部相似度的计算精度。具体的,如图3所示,步骤302A所述根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,包括:
步骤302A1,根据所述参考对象和所述目标图像中多个剩余对象的特征向量,得到所述参考对象和所述目标图像中多个所述剩余对象中的每个所述剩余对象之间的剩余相似度。
参考对象和剩余对象之间的剩余相似度,即为参考对象和剩余对象之间的初步相似度,计算方法和参考对象与目标对象之间的初步相似度的计算方法相同,在此不再详述。
步骤302A2,获取所述初步相似度和多个所述剩余相似度中的最大相似度。
假设参考对象和目标对象之间的初步相似度为:0.7,目标图像中总共有4个对象,参考对象和3个剩余对象之间的剩余相似度为:0.3、0.5以及0.9,则最大相似度为0.9。
步骤302A3,根据所述最大相似度和所述初步相似度,得到所述修正系数。
示例一、修正系数p=初步相似度/最大相似度;示例二、修正系数p=esi/esmax,其中,si为参考对象和目标对象之间的初步相似度,smax为最大相似度。
步骤302A4,将所述修正系数和所述初步相似度相乘,得到所述参考对象和所述目标对象之间的局部相似度。
局部相似度:s(qt,gi)=p·si。将修正系数和初步相似度相乘,实现了使用修正系数对初步相似度进行调整,得到局部相似度。
在一个实施例中,将参考图像和目标图像中的多个对象进行匹配,然后根据匹配结果来确定上下文相似度,由于上下文相似度的计算是结合了图像中的所有对象的,因此,最终计算得到的目标相似度参考了图像中所有对象的特征信息,使得最终计算得到的目标相似度更准确,更能帮助达到目标检索的目的。具体的,步骤400所述根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度,包括:
步骤401,将所述参考图像中多个对象的特征向量进行组合,得到第一特征矩阵。
例如,参考图像中的对象有4个,多个对象中的每个对象的特征向量qt为[qt1,qt2,qt3],其中,t表示参考图像中的第t个对象,由于参考图像中的对象有4个,因此,t的取值为1、2、3或4,于是,第一特征矩阵为:将多个对象中的每个对象的特征向量作为第一特征矩阵的一行,由于有4个对象,所以,第一特征矩阵中有4行,每一行为一个对象的特征向量,所以第一特征矩阵的矩阵尺寸为4×3。
步骤402,将所述目标图像中多个对象的特征向量进行组合,得到第二特征矩阵。
第二特征矩阵的确定方法和第一特征矩阵的确定方法相同,在此不再详述。
步骤403,基于所述第一特征矩阵和所述第二特征矩阵,得到相似度矩阵,所述相似度矩阵中记录了所述参考图像中的多个对象中的每个对象与所述目标图像中的多个对象中的每个对象之间的相似度。
将第一特征矩阵和第二特征矩阵相乘,得到距离矩阵,距离矩阵中的每一个值为距离,例如,参考图像中有4个对象,第一特征矩阵的尺寸为4×n,目标图像中有5个对象,第二特征矩阵的尺寸为5×n,将第一特征矩阵和第二特征矩阵相乘,得到距离矩阵的尺寸为4×5,此时,距离矩阵中记录了参考图像中的4个对象和目标图像中的5个对象之间的距离,具体的,距离矩阵中第i行第j列的距离为参考图像中的第i个对象与目标图像中的第j个对象之间的距离,其中,i的取值为1、2、3和4,j的取值为1、2、3、4和5。由于已经得到了距离矩阵,再对距离矩阵中的每一个距离做函数变换,将其转换为相似度,从而得到相似度矩阵。
步骤404,根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,每个匹配对对应一匹配对相似度。
匹配对,记录的是参考图像中的对象和目标图像中的对象,反映的是参考图像中的某个对象与目标图像中的某个对象匹配。在本发明实施例中,匹配对用S(x,y)表示,代表参考图像中的对象x与目标图像中的对象y匹配。例如,某一匹配对为S(A,c),则该匹配对记录的是参考图像中的对象A与目标图像中的对象c匹配。匹配对相似度,即为匹配对中的两个对象的相似度。
步骤405,根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度。
示例性的,提供一种上下文相似度的计算方法,该方法参考每个匹配对相似度与局部相似度的大小关系来计算上下文相似度。具体的,包括:将每个匹配对相似度与局部相似度相比,根据每个匹配对相似度与局部相似度的大小关系确定该匹配对相似度对应的匹配系数;将多个匹配对相似度与该匹配对相似度对应的匹配系数相乘并求和,得到上下文相似度。实现了根据所有的匹配对的匹配对相似度来确定上下文相似度。
匹配系数的设置:当匹配对相似度小于局部相似度时,认为该匹配对不是很可信,于是,将该匹配对相似度对应的匹配系数设置适当小一些,从而使得在计算上下文相似度时该匹配对相似度的贡献相对较少;当匹配对相似度大于或等于局部相似度时,认为该匹配对相对可信,于是,将该匹配对相似度对应的匹配系数设置适当大一些,从而使得在计算上下文相似度时该匹配对相似度的贡献相对较大。通过对匹配系数的大小进行设置,提高了上下文相似度的计算准确率。
例如,匹配对相似度为0.3、0.6、0.8以及0.7;局部相似度为0.7。0.3小于0.7,确定0.3对应的匹配系数为0.1,0.6小于0.7,确定0.6对应的匹配系数为0.2,0.8大于0.7,确定0.8对应的匹配系数为0.4,0.7与0.7相等,确定0.7对应的匹配系数为0.3,上下文相似度为:0.3×0.1+0.6×0.2+0.8×0.4+0.7×0.3=0.68。
在一个实施例中,提供了一种对象的匹配方法,该方法能够快速获取到匹配对,实现参考图像中多个对象的唯一匹配。该方法通过在相似度矩阵中找到不同行且不同列的零相似度来实现匹配,当零相似度的数量等于参考图像中对象总数时,匹配结束。由于需要快速找到不同行且不同列的零相似度,所以每次基于相似度矩阵中的最小值去快速构造出零相似度,然后判断这些所有的零相似度中不同行且不同列的零相似度的个数,直至这些零相似度的个数等于参考图像中的对象的总数时,认为实现了对参考图像中的多个对象的唯一配对。具体的,如图5所示,步骤404所述根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,包括:
步骤404A,对所述相似度矩阵的每一行,找到行最小相似度,将所述行中的每个相似度减去所述行最小相似度,得到第一相似度矩阵。
行最小相似度,为该行中多个相似度的最小值。如图6所示,各行的行最小相似度分别为70、33、6以及9,对每一行中的相似度,减去相应行的行最小相似度,得到第一相似度矩阵。
步骤404B,对所述第一相似度矩阵中的每一列,找到列最小相似度,将所述列中的每个相似度减去所述列最小相似度,得到第二相似度矩阵。
列最小相似度,为该列中多个相似度的最小值。如图6所示,第一相似度矩阵中,每一列的列最小相似度分别为:0、0、0以及19,对每一列中的相似度,减去相应列的列最小相似度,第二相似度矩阵。
步骤404C,统计所述第二相似度矩阵中不在同一行且不在同一列的零相似度的个数,所述零相似度为相似度值为0的相似度。
统计不在同一行且不在同一列的零相似度的个数的目的在于:实现参考图像中的多个对象的唯一配对,唯一配对的意思是:为参考图像中的多个对象(假设某一个对象为对象A)在目标图像中找到一个对象(对象c)与参考图像中的该对象(对象A)进行匹配,并且,目标图像中的对象c不再和参考图像中的其他除去对象A的对象匹配,从而实现唯一配对。由此可见,当不在同一行且不在同一列的零相似度的个数等于参考图像中的对象的总数时,即实现了对参考图像中的多个对象的唯一配对。
如图6所示,第一行第三列的0、第二行第二列的0以及第四行第一列的0,这三个0是不在同一行且不在同一列的0,于是,第二相似度矩阵中,不在同一行且不在同一列的0的个数为3,即图6中的n1=3。
步骤404D,当所述第二相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第一最少数量的水平线和垂直线覆盖所述第二相似度矩阵中全部的零相似度。
当第二相似度矩阵中的零相似度的个数小于参考图像中的对象的总数时,说明还无法将参考图像中的多个对象与目标图像中的多个对象进行唯一配对,此时还需要对第二相似度矩阵进行变换。如图6所示,由于相似度矩阵有4行,所以参考图像中的对象的总数为4,统计得到的第二相似度矩阵中的零相似度的个数为3,小于4,于是,还无法对参考图像中的4个对象实现唯一匹配,于是,为了实现唯一配对,用第一最少数量的水平线和垂直线去覆盖第二相似度矩阵中的全部零相似度,以计算出新的零元素,从而实现对参考图像中所有的对象的匹配。
提供一种确定第一最少数量的水平线和垂直线的示例。具体的,如图6所示,将不在同一行且不在同一列的零相似度标记为“*”,其他的零相似度不做标记,确定没有标记“*”的零相似度所在的行打钩,得到√1;对该行中零相似度所在的列打钩,得到√2;再对所有打钩的列中的包含有零相似度的行打钩,得到√3;反复执行,直至无法打出新的钩;对没有打钩的行画水平线,对打钩的列画垂直线;统计水平线和垂直线的总数,得到第一最少数量的水平线和垂直线。
步骤404E,当所述第一最少数量小于所述参考图像中的对象的总数时,从所述第二相似度矩阵中未被所述水平线和所述垂直线覆盖的相似度中获取到最小值。
获取最小值的目的:通过该最小值实现快速配对,如图6所示的例子,最小值为1,当然,也可以不获取最小值,而是通过其他值来对第二相似度矩阵中的相似度进行处理,那么最终实现配对的计算代价将要增加,因为其他值使得第二相似度矩阵中出现新的零相似度的速度变慢。
步骤404F,对所述第二相似度矩阵中未被所述水平线覆盖的行,将所述行中的每个相似度减去所述最小值,对所述第二相似度矩阵中被所述垂直线覆盖的列,将所述列中的每个相似度加上所述最小值,得到第三相似度矩阵。
行减去最小值的目的是为了让第二相似度矩阵中快速的出现新的零相似度,从而基于新出现的零相似度来判断是否可以对参考图像中的全部对象实现匹配。而被垂直线覆盖的列加上最小值的目的是为了防止计算得到的第三相似度矩阵中出现负数,导致后续无法统计到零相似度的正确数量。
步骤404G,统计所述第三相似度矩阵中不在同一行且不在同一列的零相似度的个数。
在得到第三相似度矩阵后,便再次统计第三相似度矩阵中的不同行不同列的零相似度的数量,以判断是否需要继续匹配。
步骤404H,当所述第三相似度矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对。
如果可以实现唯一匹配,那么第三相似度矩阵中不在同一行且不在同一列的零相似度的个数将等于参考图像中的对象的总数,从而得到多个匹配对。
步骤404I,当所述第三相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第二最少数量的水平线和垂直线覆盖所述第三相似度矩阵中全部的零相似度,直至计算得到的矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对。
如果无法实现唯一匹配,则继续用最少数量的水平线和垂直线覆盖该第三相似度矩阵中全部的零相似度,即重复步骤404D到步骤404G,直到计算得到的矩阵中的零相似度的个数等于参考图像中的对象的总数时,结束匹配,得到多个匹配对。
在一个实施例中,匹配对相似度的值小,认为这个匹配对不是很可信,即这个匹配对中的两个对象为同一对象的可能性比较小,所以当匹配对相似度的值小的时候,将不采用该匹配对相似度来计算上下文相似度,以免降低计算得到的上下文相似度的准确率,因此,在本发明实施例中,采用值相对较高的匹配对相似度来计算上下文相似度,从而提高上下文相似度的准确率。并且,本发明实施例还同时提供了判断匹配对相似度高低的方法,由于是要计算当前的局部相似度(当前的局部相似度即为当前的参考对象与当前的目标对象之间的局部相似度)对应的上下文相似度,因此,将匹配对相似度与当前的局部相似度进行比较,以判定该匹配对相似度的大小,而不是将任意的匹配对相似度与预先设置好的一个值进行比较。具体的,如图7所示,步骤405所述根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度,包括:
步骤405A,分别将每个所述匹配对对应的匹配对相似度与所述局部相似度进行比对,确定大于所述局部相似度的各匹配对相似度。
如图8所示,参考图像中有4个对象:A、B、C以及D,目标图像中有5个对象:a、b、c、d以及e,4个匹配对为S(A,b)、S(B、e)、S(C、a)以及S(D、c),4个匹配对的匹配对相似度为:0.5、0.7、0.3以及0.6,假设局部相似度为0.5,则大于该局部相似度的两个匹配对相似度为0.7和0.6。
步骤405B,根据大于所述局部相似度的各匹配对相似度的均值,确定所述参考对象和所述目标对象之间的上下文相似度。
计算大于局部相似度的各匹配对相似度的和;将大于局部相似度的各匹配对相似度的和除以大于局部相似度的各匹配对相似度的总数,得到大于局部相似度的各匹配对相似度的均值;根据所述均值,得到参考对象和目标对象之间的上下文相似度。
如果局部相似度很大,多个匹配对相似度都没有该局部相似度大,那么此时大于局部相似度的各匹配对相似度的和为0,并且,大于局部相似度的各匹配对相似度的总数为0,对于这种情况,直接将该参考对象和目标对象之间的上下文相似度设置为0即可。
在一个实施例中,考虑到局部相似度更能体现参考对象与目标对象之间真正的相似度,并且,当所有匹配对中很大比例的匹配对相似度都大于局部相似度时,或者,所有匹配对中很大比例的匹配对相似度都大大的大于局部相似度时,直接将均值作为上下文相似度,得到的上下文相似度相较于局部相似度将很大,意味着,最终基于局部相似度和上下文相似度来确定的目标相似度将很大程度由上下文相似度来决定,为了避免这种情况出现,让目标相似度的计算还是更多的依赖于局部相似度,在设置局部权重的时候,将局部权重设置为大于上下文权重,即将局部权重设置为大于0.5的值,以让目标相似度更多的去参考局部相似度。
提供两种根据均值得到上下文相似度的示例。
示例一、将所述均值直接作为参考对象和目标对象之间的上下文相似度,继续参照图8中的例子,大于局部相似度的两个匹配对相似度为0.7和0.6,大于局部相似度的各匹配对相似度的总数为2,于是,均值为:(0.7+0.6)/2=0.65,将该均值0.65直接作为参考对象与目标对象之间的上下文相似度。
示例二、考虑到大于局部相似度的各匹配对相似度的总数量会对上下文相似度的计算造成影响,例如,大于局部相似度的各匹配对相似度的总数量为匹配对总数量的m/n,m/n的值比较小,也就是说大于局部相似度的各匹配对相似度的总数量相对较小,意味着目标图像中可以用来计算上下文相似度的匹配对相对较少,也就意味着可以参考的上下文信息较少,此时,如果再将计算得到的均值直接作为上下文相似度可能会导致计算得到的上下文相似度并不是那么准确,比如,m=1,n=7,假设该唯一的一个匹配对对应的匹配对相似度为0.9,由于0.9是一个很大的值,如果直接将0.9作为最终计算得到的上下文相似度,那么该上下文相似度将很大,但是,其实我们可以参考的匹配对是很少的,只有1个,所以,为了避免这种情况出现,在计算得到的均值很大(例如大于一个预设均值)并且大于局部相似度的各匹配对相似度的总数量又很少的时候,将所述均值减去一个预设的值,得到上下文相似度,以提高上下文相似度的计算精度。
在一个实施例中,先用一个特征提取网络提取图像特征,然后用检测网络检测出图像中的对象坐标,最后基于对象坐标,即可从特征提取网络输出的特征中获取到多个对象的特征,由于设计了一个特征提取网络,方便后续网络的检测以及特征向量的获取。如图9所示,步骤200所述根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量,包括:
步骤201,将所述参考图像和所述目标图像输入特征提取网络,得到所述特征提取网络输出的参考特征和目标特征。
特征提取网络,为一个神经网络,用于提取输入图像的特征。示例性的,特征提取网络为:VGG网络或者GoogleNet。
参考特征,是特征提取网络根据输入的参考图像,输出的参考图像的特征;目标特征,是特征提取网络根据输入的目标图像,输出的目标图像的特征。
具体的,将参考图像或者目标图像输入特征提取网络,特征提取网络对输入网络的图像提取特征,得到特征图。
步骤202,将所述参考特征和所述目标特征输入对象检测网络,得到所述参考图像和所述目标图像中多个对象的对象检测结果。
对象检测网络,用于根据输入的特征将图像中的多个对象检测出来。示例性的,对象检测网络结构为transformer结构,即对象检测网络中包括编码器和生成器,编码器用于对输入的特征进行编码,得到编码特征,将编码特征输入到生成器,生成器根据编码特征生成对象检测结果。
对象检测结果,是对象检测网络输出的对图像中多个对象的检测结果,示例性的,多个对象中的每个对象的对象检测结果为一个向量,该向量中包含了对象的类别、类别置信度和对象坐标,示例性的,对象坐标包括检测框第一坐标和检测框第二坐标,根据检测框第一坐标和检测框第二坐标可以生成一个包围对象的检测框。可见,通过对象检测网络可以确定对象类别以及对象位置。由于向量中包含了对象坐标,因此,根据对象检测网络输出的对象坐标,将输入网络的图像中的多个对象以检测框的方式进行标记,如图10所示。
步骤203,根据所述参考图像和所述目标图像中多个对象的对象检测结果,从所述参考特征和所述目标特征中获取到所述参考图像和所述目标图像中多个对象的特征向量。
由于特征提取网络提取到了输入网络的图像的特征,因此,在得到对象的对象检测结果之后,可以根据对象检测结果中记载的对象坐标从特征提取网络输出的特征中获取到该对象的特征向量。
如图11所示,参考图像的尺寸为:W×N,经过特征提取网络提取到的特征图的尺寸为:(W/w)×(N/w),其中,w是一个正整数。图11中虚线框标记的是对象的对象检测结果,即知晓了对象坐标,根据对象坐标,从特征图中获取到该对象对应的特征图(如图11中的特征图中的虚线框),然后基于特征向量的尺寸,如图11所示,特征向量的尺寸为1×C,对该对象的特征图进行压缩,得到该对象的特征向量。示例性的,假设对象的特征图尺寸为P×K,由于需要将其压缩为1×C的向量,因此,将第一列到第K/C列的特征点的特征值相加,得到特征向量中的第一个值,将第K/C列到第2×K/C列的特征点的特征值相加,得到特征向量中的第二个值,以此类推,得到该对象的特征向量。
在一个实施例中,提供了一种网络训练方法,该方法联合分类损失、检测损失以及识别损失对特征提取网络和对象检测网络进行训练,相较于单独训练网络的方式,这样的方式提高了训练效率。如图12所示,所述特征提取网络是由初始特征提取网络训练得到的,所述对象检测网络是由初始对象检测网络训练得到的;在步骤100所述获取参考图像和目标图像之前,还包括:
步骤001,获取参考训练图像和目标训练图像。
参考训练图像,用于训练初始特征提取网络的参考图像;目标训练图像,用于训练初始特征提取网络的目标图像。
步骤002,将所述参考训练图像和所述目标训练图像输入所述初始特征提取网络,得到所述初始特征提取网络输出的参考训练特征和目标训练特征。
参考训练特征,是初始特征提取网络根据输入的参考训练图像,输出的参考训练图像的特征;目标训练特征,是初始特征提取网络根据输入的目标训练图像,输出的目标训练图像的特征。
步骤003,将所述参考训练特征和所述目标训练特征输入所述初始对象检测网络,得到所述参考训练图像和所述目标训练图像中多个对象的对象检测结果。
对象的对象检测结果为一个向量,向量中包含了对象的类别、类别置信度和对象坐标,其中,类别置信度为一个0到1之间的数。
步骤004,根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果得到分类损失和检测损失。
获取参考训练图像和目标训练图像中多个对象对应的真实置信度;获取参考训练图像和目标训练图像中多个对象对应的真实坐标;根据获取参考训练图像和目标训练图像中多个对象对应的真实置信度,以及,初始对象检测网络输出的参考训练图像和目标训练图像中多个对象的类别置信度,得到分类损失;根据参考训练图像和目标训练图像中多个对象对应的真实坐标,以及,初始对象检测网络输出的参考训练图像和目标训练图像中多个对象的对象坐标,得到检测损失。
步骤005,根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果,从所述参考训练特征和所述目标训练特征中获取到所述参考训练图像和所述目标训练图像中多个对象的特征向量。
步骤006,将所述参考训练图像中多个对象的特征向量进行组合,得到参考训练矩阵,将所述目标训练图像中多个对象的特征向量进行组合,得到目标训练矩阵。
例如,参考训练图像(目标训练图像)中有3个对象,将多个对象中的每个对象的向量作为一行,得到3行的参考训练矩阵(目标训练矩阵)。
步骤007,根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵。
步骤008,基于所述识别矩阵,得到所述参考训练图像和所述目标训练图像中的多个对象的识别结果。
由于识别矩阵中包含了对象的特征,因此,根据识别矩阵,可以得到多个参考训练图像和目标训练图像中的多个对象的识别结果。
步骤009,根据所述参考训练图像和所述目标训练图像中的多个对象的识别结果得到识别损失。
获取参考训练图像和目标训练图像中的多个对象的真实识别结果;将基于识别矩阵得到的参考训练图像和目标训练图像中的多个对象的识别结果,与,参考训练图像和目标训练图像中的多个对象的真实识别结果进行比对,得到识别损失。
步骤010,基于所述分类损失、所述检测损失和所述识别损失,更新所述初始特征提取网络和初始对象检测网络的参数,直至所述分类损失、所述检测损失和所述识别损失的和收敛,得到所述特征提取网络和所述对象检测网络。
将分类损失、检测损失以及识别损失求和,得到总损失。根据总损失对初始特征提取网络和初始对象检测网络中的多个参数进行调整,直至总损失收敛,得到训练好的特征提取网络和对象检测网络。
在一个实施例中,通过设计自注意力识别矩阵和跨意力识别矩阵,能够提高计算得到的识别矩阵的精度,从而提高识别精度,由于根据识别矩阵得到识别损失,基于识别损失对网络进行训练,所以能够提高训练后的网络的精度。所述识别矩阵包括自注意力识别矩阵和跨注意力识别矩阵;如图13所示,步骤007所述根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵,包括:
步骤007A,将参考训练矩阵输入参考训练图像对应的自注意力检测网络,得到参考训练图像对应的自注意力识别矩阵。
参考训练图像对应的自注意力识别矩阵,该矩阵记录了参考训练图像中的多个对象更新后的特征向量,参考训练图像中的多个对象更新后的特征向量是根据参考训练图像中的多个对象的特征向量更新的。
将参考训练矩阵作为Q矩阵、K矩阵以及V矩阵,作为参考训练图像对应的自注意力检测网络的输入,参考训练图像对应的自注意力检测网络对输入的Q矩阵、K矩阵以及V矩阵做运算:其中,dk为参考训练图像中的对象的总数,得到参考训练图像对应的自注意力识别矩阵。
基于参考训练图像对应的自注意力识别矩阵,对参考训练图像中的多个对象进行识别;基于参考训练图像中的多个对象的识别结果,得到第一识别损失。
步骤007B,将参考训练矩阵和所述目标训练矩阵输入目标训练图像对应的跨注意力检测网络,得到目标训练图像对应的跨注意力识别矩阵。
目标训练图像对应的跨注意力识别矩阵,该矩阵记录了目标训练图像中的多个对象更新后的特征向量,目标训练图像中的多个对象更新后的特征向量是根据参考训练图像中的多个对象的特征向量和目标训练图像中的多个对象的特征向量更新的。
将参考训练矩阵作为Q矩阵、目标训练矩阵作为K矩阵以及V矩阵,作为目标训练图像对应的跨注意力检测网络的输入,目标训练图像对应的跨注意力检测网络对输入的Q矩阵、K矩阵以及V矩阵做运算:其中,dk为目标训练图像中的对象的总数,得到目标训练图像对应的跨注意力识别矩阵。
基于目标训练图像对应的跨注意力识别矩阵,对目标训练图像中的多个对象进行识别;基于目标训练图像中的多个对象的识别结果,得到第二识别损失。
步骤007C,将参考训练矩阵和所述目标训练矩阵输入参考训练图像对应的跨注意力检测网络,得到参考训练图像对应的跨注意力识别矩阵。
参考训练图像对应的跨注意力识别矩阵,该矩阵记录了参考训练图像中的多个对象更新后的特征向量,参考训练图像中的多个对象更新后的特征向量是根据参考训练图像中的多个对象的特征向量和目标训练图像中的多个对象的特征向量更新的。
将目标训练矩阵作为Q矩阵、参考训练矩阵作为K矩阵以及V矩阵,作为参考训练图像对应的跨注意力检测网络的输入,参考训练图像对应的跨注意力检测网络对输入的Q矩阵、K矩阵以及V矩阵做运算:其中,dk为参考训练图像中的对象的总数,得到参考训练图像对应的跨注意力识别矩阵。
基于参考训练图像对应的跨注意力识别矩阵,对参考训练图像中的多个对象进行识别;基于参考训练图像中的多个对象的识别结果,得到第三识别损失。
步骤007D,将目标训练矩阵输入目标训练图像对应的自注意力检测网络,得到目标训练图像对应的自注意力识别矩阵。
目标训练图像对应的自注意力识别矩阵,该矩阵记录了目标训练图像中的多个对象更新后的特征向量,目标训练图像中的多个对象更新后的特征向量是根据目标训练图像中的多个对象的特征向量更新的。
将目标训练矩阵作为Q矩阵、K矩阵以及V矩阵,作为目标训练图像对应的自注意力检测网络的输入,目标训练图像对应的自注意力检测网络对输入的Q矩阵、K矩阵以及V矩阵做运算:其中,dk为目标训练图像中的对象的总数,得到目标训练图像对应的自注意力识别矩阵。
基于目标训练图像对应的自注意力识别矩阵,对目标训练图像中的多个对象进行识别;基于目标训练图像中的多个对象的识别结果,得到第四识别损失。
在本发明实施例中,将第一损失、第二损失、第三损失以及第四损失求和,得到识别损失。
在一个实施例中,如图15所示,提供了一种图像中对象的检索装置,包括:
图像获取模块,用于获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
特征向量模块,用于根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
局部相似度模块,用于根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
上下文相似度模块,用于根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
目标相似度模块,用于根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
上述图像中对象的检索装置,在确定两个对象之间的目标相似度的时候,不仅依赖该两个对象各自的特征向量来确定目标相似度,还依赖了两个图像中所有对象的特征向量来确定目标相似度,即目标对象的确定是依赖了上下文信息的,从而提高检索准确率,解决了现有技术存在的利用待检索对象特征对待检索对象进行检索存在的难度大、无法检出待检索对象导致对象丢失的问题。例如,对象背对摄像头的应用场景,由于无法提取到对象的面部特征,单纯的依赖局部相似度大概率会导致检索失败,目标丢失,但是,由于目标相似度结合了上下文信息,也即通过目标相似度实现了根据上下文信息进行检索,此时,即使无法获取到面部特征,也能提高检索准确率。
在一个实施例中,所述局部相似度模块,具体用于:根据所述参考对象和所述目标对象的特征向量,得到所述参考对象和所述目标对象之间的初步相似度;根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度。
在一个实施例中,所述局部相似度模块,具体用于:根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,所述修正系数在所述参考对象和所述目标对象之间的初步相似度小于最大剩余相似度时为小于1的正数,所述最大剩余相似度为多个剩余相似度中的最大值,所述剩余相似度是所述参考对象和剩余对象之间的初步相似度,所述剩余对象为所述目标图像中除去所述目标对象的对象。
在一个实施例中,所述局部相似度模块,具体用于:根据所述参考对象和所述目标图像中多个剩余对象的特征向量,得到所述参考对象和所述目标图像中多个所述剩余对象中的每个所述剩余对象之间的剩余相似度;获取所述初步相似度和多个所述剩余相似度中的最大相似度;根据所述最大相似度和所述初步相似度,得到所述修正系数;将所述修正系数和所述初步相似度相乘,得到所述参考对象和所述目标对象之间的局部相似度。
在一个实施例中,所述上下文相似度模块,具体用于:将所述参考图像中多个对象的特征向量进行组合,得到第一特征矩阵;将所述目标图像中多个对象的特征向量进行组合,得到第二特征矩阵;基于所述第一特征矩阵和所述第二特征矩阵,得到相似度矩阵,所述相似度矩阵中记录了所述参考图像中的多个对象中的每个对象与所述目标图像中的多个对象中的每个对象之间的相似度;根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,每个匹配对对应一匹配对相似度;根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度。
在一个实施例中,所述上下文相似度模块,具体用于:对所述相似度矩阵的每一行,找到行最小相似度,将所述行中的每个相似度减去所述行最小相似度,得到第一相似度矩阵;对所述第一相似度矩阵中的每一列,找到列最小相似度,将所述列中的每个相似度减去所述列最小相似度,得到第二相似度矩阵;统计所述第二相似度矩阵中不在同一行且不在同一列的零相似度的个数,所述零相似度为相似度值为0的相似度;当所述第二相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第一最少数量的水平线和垂直线覆盖所述第二相似度矩阵中全部的零相似度;当所述第一最少数量小于所述参考图像中的对象的总数时,从所述第二相似度矩阵中未被所述水平线和所述垂直线覆盖的相似度中获取到最小值;对所述第二相似度矩阵中未被所述水平线覆盖的行,将所述行中的每个相似度减去所述最小值,对所述第二相似度矩阵中被所述垂直线覆盖的列,将所述列中的每个相似度加上所述最小值,得到第三相似度矩阵;统计所述第三相似度矩阵中不在同一行且不在同一列的零相似度的个数;当所述第三相似度矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对;当所述第三相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第二最少数量的水平线和垂直线覆盖所述第三相似度矩阵中全部的零相似度,直至计算得到的矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对。
在一个实施例中,所述上下文相似度模块,具体用于:分别将每个所述匹配对对应的匹配对相似度与所述局部相似度进行比对,确定大于所述局部相似度的各匹配对相似度;根据大于所述局部相似度的各匹配对相似度的均值,确定所述参考对象和所述目标对象之间的上下文相似度。
在一个实施例中,所述特征向量模块,具体用于:将所述参考图像和所述目标图像输入特征提取网络,得到所述特征提取网络输出的参考特征和目标特征;将所述参考特征和所述目标特征输入对象检测网络,得到所述参考图像和所述目标图像中多个对象的对象检测结果;根据所述参考图像和所述目标图像中多个对象的对象检测结果,从所述参考特征和所述目标特征中获取到所述参考图像和所述目标图像中多个对象的特征向量。
在一个实施例中,所述特征提取网络是由初始特征提取网络训练得到的,所述对象检测网络是由初始对象检测网络训练得到的;所述特征向量模块,具体用于:在所述获取参考图像和目标图像之前,获取参考训练图像和目标训练图像;将所述参考训练图像和所述目标训练图像输入所述初始特征提取网络,得到所述初始特征提取网络输出的参考训练特征和目标训练特征;将所述参考训练特征和所述目标训练特征输入所述初始对象检测网络,得到所述参考训练图像和所述目标训练图像中多个对象的对象检测结果;根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果得到分类损失和检测损失;根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果,从所述参考训练特征和所述目标训练特征中获取到所述参考训练图像和所述目标训练图像中多个对象的特征向量;将所述参考训练图像中多个对象的特征向量进行组合,得到参考训练矩阵,将所述目标训练图像中多个对象的特征向量进行组合,得到目标训练矩阵;根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵;基于所述识别矩阵,得到所述参考训练图像和所述目标训练图像中的多个对象的识别结果;根据所述参考训练图像和所述目标训练图像中的多个对象的识别结果得到识别损失;基于所述分类损失、所述检测损失和所述识别损失,更新所述初始特征提取网络和初始对象检测网络的参数,直至所述分类损失、所述检测损失和所述识别损失的和收敛,得到所述特征提取网络和所述对象检测网络。
在一个实施例中,所述识别矩阵包括自注意力识别矩阵和跨注意力识别矩阵;所述特征向量模块,具体用于:将参考训练矩阵输入参考训练图像对应的自注意力检测网络,得到参考训练图像对应的自注意力识别矩阵;将参考训练矩阵和所述目标训练矩阵输入目标训练图像对应的跨注意力检测网络,得到目标训练图像对应的跨注意力识别矩阵;将参考训练矩阵和所述目标训练矩阵输入参考训练图像对应的跨注意力检测网络,得到参考训练图像对应的跨注意力识别矩阵;将目标训练矩阵输入目标训练图像对应的自注意力检测网络,得到目标训练图像对应的自注意力识别矩阵。
在一个实施例中,如图16所示,提供了一种计算机设备,该计算机设备具体可以是终端或服务器。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,存储器包括非易失性存储介质和内存储器,该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现图像中对象的检索方法。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行图像中对象的检索方法。本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请提供的图像中对象的检索方法可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成图像中对象的检索装置的多个程序模板。比如,图像获取模块、特征向量模块和目标相似度模块。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
需要说明的是,上述图像中对象的检索方法、图像中对象的检索装置、计算机设备及计算机可读存储介质属于一个总的发明构思,图像中对象的检索方法、图像中对象的检索装置、计算机设备及计算机可读存储介质实施例中的内容可相互适用。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请多个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是多个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种图像中对象的检索方法,其特征在于,包括:
获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
2.如权利要求1所述的检索方法,其特征在于,所述根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,包括:
根据所述参考对象和所述目标对象的特征向量,得到所述参考对象和所述目标对象之间的初步相似度;
根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度。
3.如权利要求2所述的方法,其特征在于,所述根据所述初步相似度,得到所述参考对象和所述目标对象之间的局部相似度,包括:
根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,所述修正系数在所述参考对象和所述目标对象之间的初步相似度小于最大剩余相似度时为小于1的正数,所述最大剩余相似度为多个剩余相似度中的最大值,所述剩余相似度是所述参考对象和剩余对象之间的初步相似度,所述剩余对象为所述目标图像中除去所述目标对象的对象。
4.如权利要求3所述的方法,其特征在于,所述根据所述初步相似度和修正系数,得到所述参考对象和所述目标对象之间的局部相似度,包括:
根据所述参考对象和所述目标图像中多个剩余对象的特征向量,得到所述参考对象和所述目标图像中多个所述剩余对象中的每个所述剩余对象之间的剩余相似度;
获取所述初步相似度和多个所述剩余相似度中的最大相似度;
根据所述最大相似度和所述初步相似度,得到所述修正系数;
将所述修正系数和所述初步相似度相乘,得到所述参考对象和所述目标对象之间的局部相似度。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度,包括:
将所述参考图像中多个对象的特征向量进行组合,得到第一特征矩阵;
将所述目标图像中多个对象的特征向量进行组合,得到第二特征矩阵;
基于所述第一特征矩阵和所述第二特征矩阵,得到相似度矩阵,所述相似度矩阵中记录了所述参考图像中的多个对象中的每个对象与所述目标图像中的多个对象中的每个对象之间的相似度;
根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,每个匹配对对应一匹配对相似度;
根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度。
6.如权利要求5所述的方法,其特征在于,所述根据所述相似度矩阵,将所述参考图像中的多个对象和所述目标图像中的多个对象进行匹配,得到多个匹配对,包括:
对所述相似度矩阵的每一行,找到行最小相似度,将所述行中的每个相似度减去所述行最小相似度,得到第一相似度矩阵;
对所述第一相似度矩阵中的每一列,找到列最小相似度,将所述列中的每个相似度减去所述列最小相似度,得到第二相似度矩阵;
统计所述第二相似度矩阵中不在同一行且不在同一列的零相似度的个数,所述零相似度为相似度值为0的相似度;
当所述第二相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第一最少数量的水平线和垂直线覆盖所述第二相似度矩阵中全部的零相似度;
当所述第一最少数量小于所述参考图像中的对象的总数时,从所述第二相似度矩阵中未被所述水平线和所述垂直线覆盖的相似度中获取到最小值;
对所述第二相似度矩阵中未被所述水平线覆盖的行,将所述行中的每个相似度减去所述最小值,对所述第二相似度矩阵中被所述垂直线覆盖的列,将所述列中的每个相似度加上所述最小值,得到第三相似度矩阵;
统计所述第三相似度矩阵中不在同一行且不在同一列的零相似度的个数;
当所述第三相似度矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对;
当所述第三相似度矩阵中的零相似度的个数小于所述参考图像中的对象的总数时,用第二最少数量的水平线和垂直线覆盖所述第三相似度矩阵中全部的零相似度,直至计算得到的矩阵中的零相似度的个数等于所述参考图像中的对象的总数时,得到多个匹配对。
7.如权利要求5或6所述的方法,其特征在于,所述根据所述局部相似度和每个所述匹配对对应的匹配对相似度,得到所述参考对象和所述目标对象之间的上下文相似度,包括:
分别将每个所述匹配对对应的匹配对相似度与所述局部相似度进行比对,确定大于所述局部相似度的各匹配对相似度;
根据大于所述局部相似度的各匹配对相似度的均值,确定所述参考对象和所述目标对象之间的上下文相似度。
8.如权利要求1至7任一项所述的方法,其特征在于,所述根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量,包括:
将所述参考图像和所述目标图像输入特征提取网络,得到所述特征提取网络输出的参考特征和目标特征;
将所述参考特征和所述目标特征输入对象检测网络,得到所述参考图像和所述目标图像中多个对象的对象检测结果;
根据所述参考图像和所述目标图像中多个对象的对象检测结果,从所述参考特征和所述目标特征中获取到所述参考图像和所述目标图像中多个对象的特征向量。
9.如权利要求8所述的方法,其特征在于,所述特征提取网络是由初始特征提取网络训练得到的,所述对象检测网络是由初始对象检测网络训练得到的;
在所述获取参考图像和目标图像之前,还包括:
获取参考训练图像和目标训练图像;
将所述参考训练图像和所述目标训练图像输入所述初始特征提取网络,得到所述初始特征提取网络输出的参考训练特征和目标训练特征;
将所述参考训练特征和所述目标训练特征输入所述初始对象检测网络,得到所述参考训练图像和所述目标训练图像中多个对象的对象检测结果;
根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果得到分类损失和检测损失;
根据所述参考训练图像和所述目标训练图像中多个对象的对象检测结果,从所述参考训练特征和所述目标训练特征中获取到所述参考训练图像和所述目标训练图像中多个对象的特征向量;
将所述参考训练图像中多个对象的特征向量进行组合,得到参考训练矩阵,将所述目标训练图像中多个对象的特征向量进行组合,得到目标训练矩阵;
根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵;
基于所述识别矩阵,得到所述参考训练图像和所述目标训练图像中的多个对象的识别结果;
根据所述参考训练图像和所述目标训练图像中的多个对象的识别结果得到识别损失;
基于所述分类损失、所述检测损失和所述识别损失,更新所述初始特征提取网络和初始对象检测网络的参数,直至所述分类损失、所述检测损失和所述识别损失的和收敛,得到所述特征提取网络和所述对象检测网络。
10.如权利要求9所述的方法,其特征在于,所述识别矩阵包括自注意力识别矩阵和跨注意力识别矩阵;
所述根据所述参考训练矩阵和所述目标训练矩阵,得到识别矩阵,包括:
将参考训练矩阵输入参考训练图像对应的自注意力检测网络,得到参考训练图像对应的自注意力识别矩阵;
将参考训练矩阵和所述目标训练矩阵输入目标训练图像对应的跨注意力检测网络,得到目标训练图像对应的跨注意力识别矩阵;
将参考训练矩阵和所述目标训练矩阵输入参考训练图像对应的跨注意力检测网络,得到参考训练图像对应的跨注意力识别矩阵;
将目标训练矩阵输入目标训练图像对应的自注意力检测网络,得到目标训练图像对应的自注意力识别矩阵。
11.一种图像中对象的检索装置,其特征在于,包括:
图像获取模块,用于获取参考图像和目标图像,所述参考图像和所述目标图像中均包含有多个对象;
特征向量模块,用于根据所述参考图像和所述目标图像,得到所述参考图像和所述目标图像中多个对象的特征向量;
局部相似度模块,用于根据所述参考图像中参考对象的特征向量和所述目标图像中目标对象的特征向量,得到所述参考对象和所述目标对象之间的局部相似度,所述参考对象为所述参考图像中多个对象中的待检索对象,所述目标对象为所述目标图像中多个对象中的一个;
上下文相似度模块,用于根据所述参考图像和所述目标图像中上下文对象的特征向量,得到所述参考对象和所述目标对象之间的上下文相似度;其中,所述上下文对象包括至少一个除所述参考对象和所述目标对象以外的对象;
目标相似度模块,用于根据所述参考对象和所述目标对象之间的局部相似度和上下文相似度,得到所述参考对象和所述目标对象之间的目标相似度,以根据所述目标相似度返回检索结果。
12.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述的方法的步骤。
13.一种计算机可读存储介质,其特征在于,可读存储介质,其特征在于,所述计算机可读取存储介质中存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行权利要求1至10任一项所述的方法的步骤。
CN202110508436.1A 2021-05-10 2021-05-10 一种图像中对象的检索方法、装置、设备和存储介质 Active CN113344027B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110508436.1A CN113344027B (zh) 2021-05-10 2021-05-10 一种图像中对象的检索方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110508436.1A CN113344027B (zh) 2021-05-10 2021-05-10 一种图像中对象的检索方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113344027A CN113344027A (zh) 2021-09-03
CN113344027B true CN113344027B (zh) 2024-04-23

Family

ID=77470451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110508436.1A Active CN113344027B (zh) 2021-05-10 2021-05-10 一种图像中对象的检索方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113344027B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019233421A1 (zh) * 2018-06-04 2019-12-12 京东数字科技控股有限公司 图像处理方法及装置、电子设备、存储介质
CN111444370A (zh) * 2020-03-09 2020-07-24 腾讯科技(深圳)有限公司 图像检索方法、装置、设备及其存储介质
CN111814690A (zh) * 2020-07-09 2020-10-23 浙江大华技术股份有限公司 一种目标重识别方法、装置和计算机可读存储介质
WO2020221298A1 (zh) * 2019-04-30 2020-11-05 北京金山云网络技术有限公司 文本检测模型训练方法、文本区域、内容确定方法和装置
CN112232258A (zh) * 2020-10-27 2021-01-15 腾讯科技(深圳)有限公司 一种信息处理方法、装置及计算机可读存储介质
CN112765381A (zh) * 2021-01-18 2021-05-07 深圳市华尊科技股份有限公司 图像检索方法、电子设备及相关产品

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019233421A1 (zh) * 2018-06-04 2019-12-12 京东数字科技控股有限公司 图像处理方法及装置、电子设备、存储介质
WO2020221298A1 (zh) * 2019-04-30 2020-11-05 北京金山云网络技术有限公司 文本检测模型训练方法、文本区域、内容确定方法和装置
CN111444370A (zh) * 2020-03-09 2020-07-24 腾讯科技(深圳)有限公司 图像检索方法、装置、设备及其存储介质
CN111814690A (zh) * 2020-07-09 2020-10-23 浙江大华技术股份有限公司 一种目标重识别方法、装置和计算机可读存储介质
CN112232258A (zh) * 2020-10-27 2021-01-15 腾讯科技(深圳)有限公司 一种信息处理方法、装置及计算机可读存储介质
CN112765381A (zh) * 2021-01-18 2021-05-07 深圳市华尊科技股份有限公司 图像检索方法、电子设备及相关产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于相似性度量方法的图像检索;宋艳;刘方爱;;计算机应用与软件;20071015(第10期);全文 *

Also Published As

Publication number Publication date
CN113344027A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
US7545973B2 (en) Image matching system using 3-dimensional object model, image matching method, and image matching program
CN110909651B (zh) 视频主体人物的识别方法、装置、设备及可读存储介质
CN108960211B (zh) 一种多目标人体姿态检测方法以及系统
CN109960742B (zh) 局部信息的搜索方法及装置
CN110503076B (zh) 基于人工智能的视频分类方法、装置、设备和介质
US20070053590A1 (en) Image recognition apparatus and its method
KR102225613B1 (ko) 사람 재식별 장치 및 방법
CN111439267B (zh) 一种舱内环境的调整方法及装置
CN110069989B (zh) 人脸图像处理方法及装置、计算机可读存储介质
CN112101195A (zh) 人群密度预估方法、装置、计算机设备和存储介质
CN111179270A (zh) 基于注意力机制的图像共分割方法和装置
CN114902299A (zh) 图像中关联对象的检测方法、装置、设备和存储介质
CN112001324A (zh) 篮球比赛视频的球员动作识别方法、装置和设备
CN115690803A (zh) 数字图像的识别方法、装置、电子设备及可读存储介质
CN114764870A (zh) 对象定位模型处理、对象定位方法、装置及计算机设备
CN111428612B (zh) 行人重识别方法、终端、装置及存储介质
CN113344027B (zh) 一种图像中对象的检索方法、装置、设备和存储介质
JP2013218605A (ja) 画像認識装置、画像認識方法及びプログラム
CN113033587A (zh) 图像识别结果评估方法、装置、电子设备及存储介质
CN112183481B (zh) 一种基于结构光摄像头的3d人脸识别方法
CN110489592B (zh) 视频分类方法、装置、计算机设备和存储介质
CN114373203A (zh) 图片归档方法、装置、终端设备及计算机可读存储介质
CN113705329A (zh) 重识别方法、目标重识别网络的训练方法及相关设备
CN116740740B (zh) 同行文本判定方法、文档排序方法及其应用
CN111340090B (zh) 图像特征比对方法及装置、设备、计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant