CN110276366A - 使用弱监督模型来检测对象 - Google Patents

使用弱监督模型来检测对象 Download PDF

Info

Publication number
CN110276366A
CN110276366A CN201811199248.XA CN201811199248A CN110276366A CN 110276366 A CN110276366 A CN 110276366A CN 201811199248 A CN201811199248 A CN 201811199248A CN 110276366 A CN110276366 A CN 110276366A
Authority
CN
China
Prior art keywords
thermal map
main subrack
proposed
score
input picture
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.)
Pending
Application number
CN201811199248.XA
Other languages
English (en)
Inventor
杜德伦
林哲
B·费塔
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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
Priority to US15/921,492 priority Critical patent/US10740647B2/en
Priority to US15/921,492 priority
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN110276366A publication Critical patent/CN110276366A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/46Extraction of features or characteristics of the image
    • G06K9/4642Extraction of features or characteristics of the image by performing operations within image blocks or by using histograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/00624Recognising scenes, i.e. recognition of a whole field of perception; recognising scene-specific objects
    • G06K9/00771Recognising scenes under surveillance, e.g. with Markovian modelling of scene activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/32Aligning or centering of the image pick-up or image-field
    • G06K9/3233Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/00624Recognising scenes, i.e. recognition of a whole field of perception; recognising scene-specific objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/2054Selective acquisition/locating/processing of specific regions, e.g. highlighted text, fiducial marks, predetermined fields, document type identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/46Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/46Extraction of features or characteristics of the image
    • G06K9/4604Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes, intersections
    • G06K9/4609Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes, intersections by matching or filtering
    • G06K9/4619Biologically-inspired filters, e.g. receptive fields
    • G06K9/4623Biologically-inspired filters, e.g. receptive fields with interaction between the responses of different filters
    • G06K9/4628Integrating the filters into a hierarchical structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6217Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06K9/6228Selecting the most significant subset of features
    • G06K9/623Selecting the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6217Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06K9/6253User interactive design ; Environments; Tool boxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6217Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06K9/6256Obtaining sets of training patterns; Bootstrap methods, e.g. bagging, boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • G06K9/627Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0481Non-linear activation functions, e.g. sigmoids, thresholds
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/08Learning methods

Abstract

本公开涉及使用弱监督模型来检测对象。本公开涉及用于基于目标对象关键字来检测输入图像中的对象的系统和方法。例如本文描述的一个或者多个实施例基于所述目标对象关键字来生成所述输入图像的热图,并且基于对所述热图的像素分析来生成各种边界框。然后,本文描述的一个或者多个实施例利用所述各种边界框来确定生成的对象位置提议的分数以提供叠加在所述输入图像上的分数最高的对象位置提议。

Description

使用弱监督模型来检测对象
技术领域
本公开涉及数字图像处理领域。
背景技术
近年来,已经看到在数字图像中的自动对象检测的快速技术发展。实际上,由于个人计算设备和数码相机的激增,个人和企业现在通常管理大型的数字图像和数字视频的存储库。因此,在数字图像中的自动对象检测已经成为各种场景中的个人和企业的普遍需求,场景的范围从寻求通过个人照片类集对特定时刻进行定位的临时用户到对库存图像进行分类以增强创新项目的专业图形设计者。
遗憾的是,常规的对象检测系统存在若干缺点。例如大多准确的常规对象检测系统都涉及一种形式的机器学习。这些常规的机器学习方法需要用于训练的监督学习(人类注释的训练数据),或者它们不提供有用的预测。生成用于训练的注释图像既耗时又昂贵。
由于需要监督数据,因此,常规的对象检测系统仅能够标识少量类型的对象。实际上,常规的对象检测系统通常仅能够以合理的准确度来标识20种类型的对象。一些常规的对象检测系统可以标识多达80种或者甚至120种不同类型的对象,但是处于不可接受的准确度等级。
因此,需要使数字图像的大数据集中的对象稳健、高效、并且对其进行有效的检测。
发明内容
一个或者多个实施例利用系统、计算机可读介质和方法来提供益处和/或解决本领域中的前述问题或者其他问题中一个或者多个问题,该系统、计算机可读介质和方法采用允许按照检测大数据集中的大量类别的方式来自动检测数字图像中的对象的弱监督学习模型(weakly supervised learning)。具体地,在一个或者多个实施例中,所公开的系统通过基于目标对象关键字生成数字图像的热图来执行与数字图像有关的对象检测。此外,所公开的系统然后基于与热图相关联的像素分析来生成一个或者多个边界框。在一个或者多个实施例中,所公开的系统然后基于每个对象位置提议与一个或者多个生成的边界框的相互作用来对各种对象位置提议进行评分。最后,所公开的系统输出叠加在数字图像中与分数最高的对象位置提议对应的位置或者方位上的边界框。按照这种方式,所公开的系统和方法快速并且精确地检测数字图像中的对象,而不必通过使用监督学习来训练所公开的系统和方法。
将在下面的描述中阐述本公开的一个或者多个实施例的附加特征和优点,并且本公开的一个或者多个实施例的附加特征和优点的一部分将通过该描述而变得清楚,或者可以通过实践这种示例实施例来学习本公开的一个或者多个实施例的附加特征和优点。
附图说明
参照附图描述了具体实施方式,在这些附图中:
图1A至图1B图示了根据一个或者多个实施例的说明对象检测系统的对象检测功能的图形用户界面;
图2图示了根据一个或者多个实施例的检测输入图像中的对象的步骤的顺序图;
图3图示了根据一个或者多个实施例的生成热图的概况;
图4A至图4B图示了根据一个或者多个实施例的示例边界框;
图5A至图5B图示了根据一个或者多个实施例的示例中心框;
图6图示了根据一个或者多个实施例的利用热图、边界框和一个或者多个中心框来检测输入图像中的对象的过程的概况;
图7图示了根据一个或者多个实施例的包括对象检测系统的对象检测系统的示意图;
图8图示了根据一个或者多个实施例的对象检测系统进行操作的示例环境;
图9图示了根据一个或者多个实施例的检测输入图像中的对象的步骤的流程图;以及
图10图示了根据一个或者多个实施例的示例性计算设备的框图。
具体实施方式
本申请公开了使用弱监督学习模型来执行对象检测的对象检测系统的各个实施例。根据一个或者多个实施例,对象检测系统基于接收到的目标对象关键字来检测输入图像中的对象。具体地,对象检测系统首先基于目标对象关键字来生成输入图像的热图。然后,对象检测系统基于对热图的像素分析来生成各种边界框,并且基于每个提议和生成的边界框之间的相互作用来对对象位置提议进行评分。对象检测系统输出对叠加在输入图像上的分数最高的对象位置提议的指示以在输入图像中示出检测到的与目标对象关键字相关联的对象的位置。
为了进一步说明对象检测系统的特征和功能,在一个或者多个实施例中,对象检测系统接收目标对象关键字和输入图像(或者图像类集)。响应于接收到输入图像和目标对象关键字,对象检测系统生成与输入图像和目标对象关键字相关联的热图。如本文使用的,“热图”是指数据的基于图像到主题嵌入方法来传送数据的图形表示。具体地,热图可以包括图像的指示图像中可能包括与目标对象关键字对应的对象的一部分的映射。例如对象检测系统可以通过使用嵌入网络基于输入图像和目标对象关键字来生成热图,使得该热图的每个区域(例如每个像素)中的颜色传达给定像素是与目标对象关键字对应的对象的一部分的可能性。
例如在一个或者多个实施例中,对象检测系统利用接收输入图像和目标对象关键字并且输出热图的完全卷积密集标签网络。在一个或者多个实施例中,完全卷积密集标签网络(例如,如下面将更详细描述的)在输入图像的每个区域或者像素中执行对颜色、纹理、线等的分析以确定该区域是否与目标对象关键字相关联的可能性。在至少一个实施例中,完全卷积密集标签网络将较亮的像素放置在热图的与目标对象关键字在输入图像中的可能位置对应的区域。
所得到的颜色编码热图指示输入图像中与目标对象关键字对应的一般位置。然而,该一般位置可能缺少用于允许对象检测系统清楚地指示目标对象的位置或者方位的足够的专一性。因此,响应于基于目标对象关键字生成了输入图像的热图,对象检测系统基于热图通过使用边界框和对象提议来生成与目标对象关键字对应的对象的更精确的位置。
例如对象检测系统首先基于热图来生成边界框。在一个或者多个实施例中,对象检测系统通过利用大于全局阈值的像素值标识热图中的像素来生成边界框。在利用大于全局阈值的像素值来标识热图中的像素之后,对象检测系统对所标识的像素执行各种变换,以在热图内生成完全连接区域或者形状。在至少一个实施例中,对象检测系统然后使矩形(例如边界框)适应形状或者区域,以生成边界框。
然后,对象检测系统基于热图来生成一个或者多个中心框。在一个或者多个实施例中,对象检测系统通过标识热图中的每一行和每一列中的具有最大像素值的像素来生成一个或者多个中心框。然后,对象检测系统对所标识的像素的每个区域执行各种变换以在热图内生成一个或者多个完全连接形状。最后,对象检测系统使边界框适应热图中的每个完全连接形状以生成一个或者多个中心框。
在生成边界框和一个或者多个中心框之后,对象检测系统生成一个或者多个对象位置提议。如本文使用的,“对象位置提议”是指输入图像中与目标对象关键字相关联的预测位置或者区域。例如在一个或者多个实施例中,对象检测系统利用各种方法来生成一个或者多个对象位置提议,该一个或者多个对象位置提议包括概括输入图像中包括由目标对象关键字指定的对象的预测位置或者区域的坐标。在至少一个实施例中,并且如下面将进一步描述的,对象检测系统利用选择性搜索方法(诸如在J.Uijlings,K.van de Sande,T.Gevers和A.Smeulders.Selective Search For Object Recognition,IJCV,2013中所描述的选择性搜索方法,其全部内容通过引用的方式并入本文)和YOLO(“You Only LookOnce,您只需要在图像上看一次”)网络方法(诸如在由Joseph Redmon、Santosh Divvala、Ross Girshick、Ali Farhadi:You Only Look Once:Unified,Real-Time ObjectDetection arXiv:1506.02640,2016年5月6日中所描述的YOLO网络方法,其全部内容通过引用的方式并入本文),以生成一个或者多个对象位置提议。
为了标识最佳的对象位置提议,对象检测系统基于生成的边界框和一个或者多个中心框来确定一个或者多个对象位置提议中的每个对象位置提议的分数。例如在至少一个实施例中,对象检测系统基于对象位置提议和边界框之间的重叠量以及对象位置提议和一个或者多个中心框中的每个中心框之间的重叠量来确定对象位置提议的分数。在确定了一个或者多个对象位置提议中的每个对象位置提议的分数之后,对象检测系统过滤掉具有低于预定阈值的分数的不良提议。
响应于所标识至少一个分数高的对象位置提议,对象检测系统在由对象位置提议指定的坐标处将对该对象位置提议的指示叠加在输入图像上。然后,对象检测系统提供叠加有指示的输入图像。例如对象检测系统可以提供叠加有指示的输入图像以便在客户端设备上显示。备选地,对象检测系统可以将叠加有指示的输入图像添加至对象检测系统已经确定包括与目标对象关键字对应的对象的其他输入图像的类集(例如作为包括输入图像的大数据集的批处理的一部分)。
因此,对象检测系统提供了对自动对象检测中的现有问题的基于计算机的解决方案。例如对象检测系统不是依赖昂贵的人工注释训练数据,而是利用弱监督学习模型。因此,训练比常规系统快得多,因为不需要执行耗时的图像注释。
此外,对象检测系统比常规系统更稳健。实际上,对象检测系统不是能够标识20至100个对象类别中的对象,而是可以检测数据集中的所有对象类别(例如40,000个或者更多个类别)。因此,对象检测系统可以与大规模行业数据集结合使用。
图1A和图1B图示了显示对象检测系统的一个或者多个特征的示例图形用户界面。例如,如在图1中示出的,对象检测系统可以经由客户端计算设备102来提供对象检测图形用户界面106。在一个或者多个实施例中,当对象检测系统是服务器托管(server-hosted)的应用时,可以经由网络浏览器104来提供对象检测图形用户界面106。具体地,用户可以标识、上传或者选择输入图像108或者图像集合。作为响应,对象检测系统在对象检测图形用户界面106中显示输入图像108。
此外,对象检测系统在对象检测图形用户界面106中提供关键字输入框110和推荐标签112。在一个或者多个实施例中,对象检测系统经由关键字输入框110来接收目标对象关键字。响应于经由关键字输入框110接收到目标对象关键字,对象检测系统提供对输入图像108中与目标对象关键字对应的区域的指示。
例如,如在图1B中示出的,响应于经由关键字输入框110接收到目标对象关键字“考拉”,对象检测系统提供与输入图像108中对象位置相关联的指示116,该对象位置与接收到的目标对象关键字相关联。例如,如在图1B中示出的,指示116是叠加在输入图像108上的边界框,以使得检测到的对象(例如考拉)在边界框的角点坐标内。
虽然结合经由对象检测图形用户界面106所显示的单个输入图像在图1A和图1B中描述了对象检测系统的对象检测特征,但是对象检测系统可以执行与批处理的一部分相同的对象检测。例如在至少一个实施例中,对象检测系统接收处理输入图像的与目标对象关键字有关的大数据集的批命令。响应于接收到该批命令,对象检测系统在数据集中检测输入图像中的每个输入图像中与目标对象关键字相关联的对象。然而,在至少一个实施例中,代替输出与每个输入图像中的对象位置相关联的指示的图形显示,对象检测系统存储与每个确定的与对应的输入图像有关的指示相关联的坐标。
图2图示了一系列动作的概况,通过该一系列动作,对象检测系统基于接收到的目标对象关键字来检测数字图像中的对象。在结合图2提供了概况之后,结合图3至图6提供有关由对象检测系统进行的对象检测的过程的附加细节。如在图2中示出的,当对象检测系统接收输入图像和目标对象关键字(202)时,一系列动作开始。如参照图1A和图1B所描述的,对象检测系统可以经由对象检测图形用户界面106来接收输入图像和目标对象关键字。此外或者备选地,对象检测系统可以经由本机应用接口(例如移动设备app、桌面程序)来接收输入图像和目标对象关键字。此外,或者备选地,对象检测系统可以接收输入图像和目标对象关键字作为自动批处理的一部分。
响应于接收到输入图像和目标对象关键字,对象检测系统基于目标对象关键字生成输入图像的热图(206)。例如热图是共享输入图像的尺寸的图形表示,该图形表示指示输入图像中与目标对象关键字相关联的一个或者多个区域。在一个或者多个实施例中,对象检测系统通过使用完全卷积密集标签网络来生成输入图像的热图(206)。对象检测系统提供输入图像和目标对象关键字作为完全卷积密集标签网络的输入。
完全卷积密集标签网络输出生成的与输入图像对应的热图。例如完全卷积密集标签网络输出热图,以使得热图中的每个像素或者区域的颜色强度与目标对象关键字对应。例如,如果完全卷积密集标签网络确定输入图像中的特定区域与目标对象关键字相关联(即,与目标对象关键字对应的对象可能位于输入图像中的该区域中),则完全卷积密集标签网络向热图中的对应区域添加更亮的像素。下面参照图3进一步讨论对象检测系统生成热图所通过的过程。
在生成输入图像的热图(206)之后,对象检测系统基于生成的热图生成各种边界框。在一个或者多个实施例中,对象检测系统首先基于生成的热图生成边界框(208)。在至少一个实施例中,通过确定热图中的全局阈值并且利用大于全局阈值的像素值来标识热图中的所有像素,对象检测系统生成边界框(208)。
然后,对象检测系统将热图二值化(binarize)为高于阈值的像素和低于阈值的像素(例如将热图转换为黑色和白色)。然后,对象检测系统标识二值化热图中的连接域。最后,对象检测系统计算连接域的形态凸起(morphology convex),并且使最小边界矩形适应计算得出的形态凸起。在一个或者多个实施例中,二值化热图中的最小边界矩形是边界框。下面参照图4A和图4B进一步描述对象检测系统生成边界框(208)所通过的过程。
在生成边界框(208)之后,对象检测系统基于生成的热图来生成一个或者多个中心框(210)。例如对象检测系统在步骤(208)中生成边界框,该边界框标识生成的热图中的所有像素都高于该全局阈值的像素区域。在一个或者多个实施例中,对象检测系统生成一个或者多个中心框(210),以标识生成的热图中像素高于局部阈值的一个或者多个像素区域。
为了生成一个或者多个中心框(210),对象检测系统标识热图的每一行和每一列中的局部最大值。例如对象检测系统标识热图的每一行和每一列中具有比该行或者该列中的所有其他像素的颜色值更高(例如更亮)的颜色值的像素。在一个或者多个实施例中,对象检测系统然后基于所标识的像素来对热图进行二值化,并且标识每个白色像素组的连接域。最后,对象检测系统计算每个连接域的形态凸起,并且使最小边界矩形适应每个计算得出的形态凸起。在一个或者多个实施例中,所得到的最小边界矩形是一个或者多个中心框。下面参照图5进一步描述对象检测系统生成一个或者多个中心框(210)所通过的过程。
在一个或者多个实施例中,对象检测系统与在步骤(206)至步骤(210)中所描述的过程并行或者并发地执行附加过程。例如,如在图2中示出的,对象检测系统与生成热图(206)、生成边界框(208)以及生成中心框(210)并行地、基于输入图像生成对象位置提议(204)。在至少一个实施例中,对象检测系统通过结合一种或者多种对象检测方法利用输入图像和目标对象关键字,来生成对象位置提议(204)。虽然在图2中步骤(204)被图示为与步骤(206)至步骤(210)是并发的,但是在备选实施例中,对象检测系统可以在执行步骤(206)至步骤(210)之前或者在步骤(206)至步骤(210)之后执行步骤(204)。
在一个或者多个实施例中,对象检测系统利用至少两种不同的方法来生成对象位置提议(204)。例如在一个实施例中,对象检测系统利用选择性搜索方法和YOLO(“您只需要在图像上看一次”)方法来生成对象位置提议(204)。作为概况,对象检测系统提出输入图像中的可能与目标对象关键字相关联的区域、位置或者方位。对象检测系统通过基于输入图像中的像素的颜色强度对输入图像进行过度分段来开始。然后,对象检测系统迭代以下步骤:1)将与输入图像的分段部分对应的所有边界框添加至对象位置提议的列表、2)基于相似度对相邻分段进行分组。对象检测系统迭代步骤1和2,直到整个输入图像包括在单个边界框中。对象检测系统基于颜色、纹理、大小和形状兼容性来测量相邻分段之间的相似度。对象检测系统所使用的选择性搜索方法通常引起大量对象位置提议。
如刚才提到的,对象检测系统还可以利用YOLO方法来生成对象位置提议。作为概况,YOLO(“您只需要在图像上看一次”)方法向输入图像应用单个神经网络。具体地,通过使用YOLO神经网络,对象检测系统将输入图像划分为区域,并且对输入图像内的边界框和与每个区域相关联的概率进行预测。基于与目标对象关键字相关联的对象位于与所预测的边界框相同的区域中的概率,对象检测系统对每个预测的边界框进行加权。对象检测系统输出所预测的具有最重权重的边界框作为对象位置提议。
在一个或者多个实施例中,对象检测系统可以使用附加的对象检测方法来生成对象位置提议(204)。备选地,对象检测系统可以仅利用单种对象检测方法来生成对象位置提议(204)。在至少一个实施例中,对象检测系统向通过特定方法生成的对象位置提议添加额外的权重。例如对象检测系统可以向通过YOLO方法生成的对象位置提议添加额外的权重,同时不对通过选择性搜索方法生成的对象位置提议进行加权。
参照图2,在步骤(204)和步骤(210)结束时,对象检测系统基于边界框和中心框来对对象提议进行评分(212)。在一个或者多个实施例中,对象检测系统主要基于对象提议和边界框之间的重叠量、以及对象提议和至少一个中心框之间的重叠量来对对象提议进行评分。
在确定了每个对象位置提议的分数之后,对象检测系统过滤掉错误的对象位置提议(214)。在一个或者多个实施例中,对象检测系统基于在步骤(212)中所确定的分数来过滤掉错误的对象位置提议(214)。例如在至少一个实施例中,对象检测系统标识针对对象位置提议所确定的分数中的最大分数,并且过滤掉具有低于该最大分数的阈值量(例如70%)的分数的对象位置提议。此外,对象检测系统还通过过滤掉处于相同位置的对象位置提议(例如具有>=0.8的重叠的对象位置提议)来过滤掉剩余的对象位置提议。对象检测系统还可以通过标识未被边界框覆盖得很好(例如重叠<=0.8)的任何剩余的对象位置提议并且通过标识未能很好地覆盖至少一个中心框的任何剩余的对象位置提议,来进一步对剩余的对象位置提议进行过滤。
在至少一个实施例中,在步骤(214)中的过滤过程会导致对象检测系统过滤掉所生成的对象位置提议中的所有对象位置提议。如果在过滤过程之后没有剩余对象位置提议,则对象检测系统可以对一个或者多个中心框中的至少一个中心框进行重新缩放(216),并且提供经重新缩放的至少一个中心框作为对与目标对象关键字相关联的对象位置的指示。如果过滤掉了所有生成的对象位置提议,则对象检测系统对至少一个中心框进行重新缩放,以放大该至少一个中心框。例如对象检测系统通过重新计算最大中心框的角点坐标来放大一个或者多个中心框中的最大中心框,使得所得到的经重新缩放的中心框大阈值百分比(例如大50%)。
在确定了分数最高的对象位置提议或者经重新缩放的至少一个中心框之后,对象检测系统提供叠加有对对象位置的指示的输入图像(218)。例如响应于确定了分数最高的对象位置提议或者经重新缩放的中心框,对象检测系统使输入图像叠加有边界框,该边界框在与分数最高的对象位置提议或者经重新缩放的中心框的角点坐标相同的坐标处具有角点。在一个或者多个实施例中,对象检测系统向叠加的边界框添加颜色或者线图案,以使得针对输入图像更容易看到叠加的边界框。
对象检测系统可以(例如经由网页、经由本机应用显示)提供叠加有对对象位置的指示的输入图像(218)至客户端设备。备选地,对象检测系统可以提供叠加有对对象位置的指示的输入图像(218)至叠加有对对象位置的指示的其他输入图像的存储库,以作为涉及大量附加输入图像的批处理的一部分。备选地,对象检测系统可以构建包括与输入图像相关联的唯一标识符和对对象位置的指示的角点坐标的数据库,作为涉及大量附加输入图像的批处理的一部分。
图3图示了对象检测系统基于输入图像和目标对象关键字来生成热图所通过的过程。例如,如上面提到的并且如在图3中示出的,对象检测系统可以通过首先将嵌入神经网络302变换为完全卷积密集标记神经网络304来生成热图310a。
作为初始步骤,为了训练嵌入神经网络302,对象检测系统使用训练图像集合。该训练图像集合包括图像和相关联的标签。对象检测系统可以使用词向量表示来开拓标签相关性。学习嵌入神经网络302,以将图像映射至嵌入空间,如e=embed_net(I),其中具有维度D。然后,对象检测系统通过以下等式来在该空间中测量图像I和标签w的词矢量表示之间的相似度分数:
对象检测系统使用逐点互信息词向量(pointwise mutual information wordvector)作为标签表示。逐点互信息是如下给出的相联度量:
矩阵M的大小为V×V,其中V是标签字典W的大小,并且M考虑到了训练语料库中标签的共现。对象检测系统应用特征向量分解,以将矩阵M分解为M=USUT。在W=US-1/2的情况下,然后使用列截断的子矩阵的每一行作为所有V标签的词矢量表示。实际上,对象检测系统将D设置为4096。
在获得每个标签的词矢量表示之后,对象检测系统对用户提供的图像标签使用编码方案。对象检测系统形成软主题t作为词袋向量(bag of word vector)的加权平均值:
该编码方案是“软主题”,因为t是标签列表的粗略概要并且驻留在连续的词矢量空间中。对象检测系统可以使用软主题来发现标签列表中的主导概念,使得其对“噪声”注释具有鲁棒性。此外,虽然数据集中的每个图像都标记有许多标签,但是列表标签是相对于整个图像进行注释的,并且每个标签都没有可用的边界框注释。因此,不直接实施特定于标签的嵌入方法。
采用神经网络将图像和标签列表映射到公共嵌入空间ε中。更具体地,对象检测系统使每个图像I经历Resnet。对象检测系统提取倒数第二层,并且将其用作视觉特征v。为了训练嵌入神经网络302,对象检测系统使用余弦相似度损失来比较视觉嵌入e和软主题t。例如对象检测系统可以使用以下余弦相似度损失:
一旦训练了嵌入神经网络302,该嵌入神经网络302就将图像和相关联的标签列表映射到公共嵌入空间中。相应地,嵌入神经网络302是三层完全连接的神经网络,每个完全连接层后面是批量归一化层和线性整流函数(“ReLU”)非线性激活层。
为了将嵌入神经网络302变换为完全卷积密集标记神经网络304,对象检测系统利用嵌入神经网络302中的完全连接权重作为完全卷积密集标记神经网络304中的1x1卷积核。对象检测系统还利用嵌入神经网络302中的批量归一化层作为完全卷积密集标记神经网络304中的空间批量归一化层。为了进行进一步说明,在一个或者多个实施例中,如在嵌入神经网络302中的完全连接层包括线性操作,在该线性操作中,完全连接层的每个输入通过权重被连接至来自该完全连接层的每个输出。在一个或者多个实施例中,如在完全卷积密集标记神经网络304中的卷积层利用密集层的权重的子集,其中附近的输入被连接至附近的输出,并且共享在每个位置处的卷积的权重。
在该变换之后,如在图3中示出的,响应于接收到输入图像306和目标对象关键字308,完全卷积密集标记神经网络304输出热图310a。
在一个或者多个实施例中,热图310a包括与输入图像306相同的尺寸。此外,热图310a包括其中每个像素都被着色以表示特定数据的像素的矩阵。在至少一个实施例中,由热图310a中的像素的颜色所表示的数据是输入图像中与热图中的像素的位置对应的区域是否与目标对象关键字308相关联的可能性。如在图3中示出的,完全卷积密集标记神经网络304对热图310a中的像素进行着色,以使得像素的颜色随着该可能性增加而强度增加(例如变得更亮)。结果是:热图310a中的较亮面积更可能与输入图像306中与目标对象关键字308相关联的区域对应。
在一个或者多个实施例中,上面关于图3讨论的动作和算法可以包括用于执行基于目标对象关键字来生成输入图像的热图的步骤的对应结构。
图4A图示了对象检测系统基于热图310a来生成边界框的方式。在一个或者多个实施例中,对象检测系统首先基于整个热图310a来确定全局阈值。在至少一个实施例中,对象检测系统利用三角形方法来确定全局阈值。例如对象检测系统生成表示热图310a中的像素的亮度级别的直方图,像素数量沿着y轴,而亮度(例如RGB值)沿着x轴。然后,对象检测系统在直方图的位于最亮点处的最大值和直方图的位于最不亮的点处的最小值之间向直方图添加线。在此之后,针对沿着x轴的所有亮度值,对象检测系统标识所添加的线和直方图之间的距离。对象检测系统将全局阈值标识为x轴上直方图和线之间的距离最大的亮度值。在另外的或者备选实施例中,对象检测系统可以利用其他方法来标识全局阈值(例如isodata算法、背景对称算法)。备选地,对象检测系统可以利用预定义的静态全局阈值。
在一个或者多个实施例中,全局阈值表示特定像素颜色值。例如,如上所述,热图310中的像素分别包括RGB颜色值(例如“红绿蓝”颜色值),其中颜色绝对黑色被表示为“(0,0,0)”,颜色绝对白色被表示为“(255,255,255)”,并且所有其他颜色由在绝对黑色和绝对白色之间的RGB值表示。因此,全局阈值表示具有在绝对黑色和绝对白色之间的特定亮度级别的颜色。
为了标识热图中具有大于所标识的全局阈值的像素颜色值的所有像素,对象检测系统创建热图的副本310a’,并且将热图副本310a’中的每个像素的颜色值和所标识的全局阈值相比较。如果像素的颜色值至少与全局阈值一样亮(例如像素的RGB值至少与全局阈值的RGB值一样大),则对象检测系统将热图副本310a’中的像素的颜色值转换为绝对白色(例如“(255,255,255)”)。如果像素的颜色值比全局阈值暗(例如像素的RGB值小于全局阈值的RGB值),则对象检测系统将热图副本310a’中的像素的颜色值转换为绝对黑色(例如“(0,0,0)”)。对象检测系统继续该过程,直到热图的副本310a’被二值化为黑白色,并且每个像素被转换为绝对白色或者绝对黑色。如在图4A中示出的,在热图副本310a’中得到的二值化的图像312a是黑白色,并且二值化的图像312a的白色区域表示热图310a的包括具有等于或者高于全局阈值的颜色值的像素的区域。
在一个或者多个实施例中,创建二值化的图像312a的过程不会引起连接域。例如连接域是可以在集合中连续收缩成点的闭合曲线。换句话说,连接域是不包括任何孔的闭合形状。在至少一个实施例中,并且响应于确定二值化的图像312a的白色区域不是连接域,对象检测系统可以将白色区域变换为连接域。例如对象检测系统可以将二值化的图像312a中的黑色像素转换为白色像素以沿着白色区域使曲线闭合。此外,对象检测系统可以转换在二值化的图像312a中的白色区域内被隔离的黑色像素,以使二值化的图像312a内的任何已有的孔闭合。
除了将二值化的图像312a变换为连接域之外,对象检测系统还可以结合二值化的图像312a执行附加的形态学功能,以生成最佳边界框。例如对象检测系统可以计算连接域的形态凸起。在一个或者多个实施例中,形状(例如二值化的图像312a的白色区域)的凸度(convexity)是指:对于形状中的每个点对,在连接点对的直线段上的每个点保留在形状内的良好程度。换句话说,凸度较差的形状不具有良好的圆度。在至少一个实施例中,对象检测系统可以通过变换二值化的图像312a的白色区域的面积,来计算连接域的形态凸起以包括圆度更好的周边形状(例如凸“船体”)。
在计算了二值化的图像312a中的连接域的形态凸起之后,对象检测系统生成边界框。例如在一个或者多个实施例中,对象检测系统通过使最小边界矩形适应二值化的图像312a中的经过变换的白色区域(例如计算得出的形态凸起)来生成边界框314a。在至少一个实施例中,对象检测系统将生成的边界框314a存储为相对于热图副本310a’的角点坐标的集合(例如“(x,y,宽度,高度)”)。
图4A图示了对象检测系统结合相对基本的热图(例如热图310a)生成边界框314a。例如,如在图4A中示出的,热图310a包括单个“热点”,该单个“热点”指示对应的输入图像中与目标对象关键字相关联的单个位置。在附加的实施例中,对象检测系统可以结合更复杂的热图生成边界框。
例如,图4B图示了对象检测系统基于热图310b生成边界框314b。如在图4B中示出的,热图310b包括指示对应的输入图像中与目标对象关键字相关联的多个位置的多个“热点”。为了进行说明,对应的输入图像可以是在一堆松散地坐着和站着的多个家庭成员的照片,并且目标对象关键字可以是“人”。
在图4B中图示的实施例中,对象检测系统可以通过利用上面相对于图4A描述的方法中的任何方法来确定热图310b的全局阈值。类似地,对象检测系统可以通过将热图副本310b’中的每个像素的颜色值和所标识的全局阈值相比较来对热图副本310b’进行二值化。由于热图310b中的多个“热点”,所得到的二值化的图像312b可能包括非连接域。因此,如上所述并且如在图4B中示出的,对象检测系统可以将热图副本310b’的白色区域变换为连接域。此外,对象检测系统可以计算二值化的图像312b中的连接域的形态凸起,以实现圆形的周边形状。最后,如上所述,对象检测系统使最小边界框适应二值化的图像312b的白色面积,以生成边界框314b。
图5A图示了对象检测系统基于热图310A生成一个或者多个中心框所通过的过程。在一个或者多个实施例中,对象检测系统通过确定第二热图副本310a”内的局部阈值而开始。例如,如在图5A中示出的,对象检测系统通过标识第二热图副本310a”中的每一行和每一列中的最亮像素(例如具有最亮RGB颜色值的像素)来确定局部阈值。响应于标识第二热图副本310a”的每一行和每一列中的最亮像素,对象检测系统将该像素转换为绝对白色,并且将该行或者该列中的剩余像素转换为绝对黑色。
如在图5A中示出的,所得到的二值化的图像312a包括白色区域和黑色区域。在一个或者多个实施例中,局部阈值比上面讨论的全局阈值更精确。因此,响应于局部阈值而生成的白色区域通常小于响应于全局阈值而生成的白色区域。
在从第二热图副本310a”生成二值化的图像312a之后,如上面参照图4A至图4B描述的,对象检测系统将二值化的图像312a中的每个白色区域变换为连接域。此外,在上面参照图4A至图4B描述的相同过程中,对象检测系统计算二值化的图像312a中的每个连接域的形态凸起。最后,对象检测系统使最小边界矩形适应第二热图副本310a”中的每个经过变换的白色区域,以生成中心框316a。
如上面提到的,对象检测系统可以基于热图来生成两个或者更多个中心框。例如,如上面参照热图310b讨论的,输入图像可以包括与目标对象关键字对应的若干对象。因此,与该输入图像相关联的热图可以包括与目标对象关键字相关联的若干“热点”或者区域。
图5B图示了两个或者更多个中心框。例如对象检测系统通过标识第二热图副本310b”中的每一行和每一列中的最亮像素来确定局部阈值。响应于标识第二热图副本310b”的每一行和每一列中的最亮像素,对象检测系统将该像素转换为绝对白色,并且将该行或者该列中的剩余像素转换为绝对黑色。在从第二热图副本310b”生成二值化的图像312b之后,对象检测系统将二值化的图像312b中的每个白色区域变换为连接域,并且然后计算二值化的图像312b中的每个连接域的形态凸起。最后,对象检测系统使最小边界矩形适应第二热图副本310b”中的每个经过变换的白色区域,以生成中心框316b、310c和310d。
在生成了与热图相关联的边界框和一个或者多个中心框之后,如上面参照图4A至图5B描述的,对象检测系统利用生成的边界框和中心框来对对象位置提议进行评分和排名。例如图6图示了对象检测系统基于热图310a来对对象位置提议进行评分(例如通过在图4A和图5A中图示的实施例)。如在图6中示出的,对象检测系统基于边界框314a、热图310a和中心框316a来对对象位置提议进行评分并且选择。如上面讨论的,数字媒体管理主要基于对象位置提议和边界框以及一个或者多个中心框中的每个中心框之间的重叠量来对对象位置提议进行评分。
例如在至少一个实施例中,对象检测系统根据以下提议评分算法来确定对象位置提议的分数:
sp=wa*sa+wb*sb+wc*sc
其中:sa是对象位置提议中的平均像素颜色值(例如平均像素颜色值表示对象位置提议的相关性);sb是基于对象位置提议和生成的边界框之间的重叠量的分数;sc是对象位置提议和至少一个中心框的相关性;并且wa、wb和wc分别是由对象检测系统分配给sa、sb和sc的权重。
例如,在接收到对象位置提议318a、318b、318c(例如通过上面描述的YOLO网络或者选择性搜索)之后,对象检测系统可以通过利用提议评分算法来迭代地对每个对象位置提议318a至318c进行评分。例如为了使对象检测系统计算用于对象位置提议318c的提议评分算法,对象检测系统可以确定对象位置提议318c的平均像素颜色值(例如sa)以及对象位置提议和边界框314a之间的重叠量(例如sb)。
在一个或者多个实施例中,对象检测系统基于对象位置提议318c和生成的边界框314a之间的重叠像素的数量来确定sb(例如基于对象位置提议和生成的边界框之间的重叠量的分数)。在该实施例中,分数可以是重叠像素的数量。备选地,对象检测系统可以通过确定叠加有对象位置提议318c的生成的边界框314a的百分比来计算sb
为了确定对象位置提议318c和至少一个中心框的相关性(例如sc),对象检测系统利用用于中心框316a的当前提议算法的以下相关性:
sc=wiou*siou+woverlap(c,p)*soverlap(c,p)+woverlap(p,c)*soverlap(p,c)
其中:siou是基于中心框316a和对象位置提议318c之间的交并比的分数;soverlap(c,p)是基于中心框316a和对象位置提议318c之间的重叠量的分数;soverlap(p,c)是基于对象位置提议318c和中心框316a之间的重叠量的分数;并且wiou、woverlap(c,p)和woverlap(p,c)分别是由对象检测系统分配给siou、soverlap(c,p)和soverlap(p,c)的权重。
如果存在两个或者更多个中心框(例如与上面的图5B一样),则对象检测系统可以确定对象位置提议318c与两个或者更多个中心框中的每一个中心框的相关性。然后,对象检测系统对每个生成的中心框利用提议评分启发法(heuristic),以获得对象位置提议的最高分数sp。然后,对象检测系统将该最高分数sp分配给对象位置提议。如果存在多个对象位置提议(例如对象位置提议318a、318b),则对象检测系统通过每个附加的对象位置提议重复对提议评分启发法的利用。在一个或者多个实施例中,上面讨论的算法可以包括用于执行以下步骤的对应结构:确定输入图像中的所确定的一个或者多个对象位置提议中的每个对象位置提议的分数。
在确定了每个对象位置提议318a至318c的分数(例如sp)之后,对象检测系统如上面讨论的那样过滤掉错误的对象位置提议。在一个或者多个实施例中,对象检测系统输出一个或者多个对象位置提议(例如在过滤过程之后剩余的分数最高的对象位置提议或者经重新缩放的至少一个中心框)作为坐标列表。例如,对象检测系统可以按照以下格式来输出每个对象位置提议:
在确定了分数最高的对象位置提议或者经重新缩放的至少一个中心框之后,对象检测系统提供叠加有对对象位置的指示的输入图像。例如,响应于确定了分数最高的对象位置提议或者经重新缩放的中心框,对象检测系统使输入图像叠加有在与分数最高的对象位置提议或者经重新缩放的中心框的角点坐标相同的坐标处具有角点的边界框。在一个或者多个实施例中,对象检测系统向叠加的边界框添加颜色或者线图案,以使得针对输入图像更容易看到叠加的边界框。
具体地,参照图6,响应于标识分数最高的对象位置提议(例如对象位置提议318c),对象检测系统提供叠加有对与目标对象关键字相关联的对象位置的指示318c’的输入图像306。例如,如上面提到的,热图(例如热图310a)和热图副本(例如副本310a’、310a”)共享与输入图像306相同的尺寸。因此,对象检测系统基于输入图像或者热图生成的任何对象位置提议、边界框和中心框都与指代输入图像和热图上的相同区域的角点坐标相关联。因此,如在图6中示出的,对与目标对象关键字相关联的对象位置的指示318’是与分数最高的对象位置提议(例如对象位置提议310c)共享坐标的边界框。在附加的或者备选实施例中,对象检测系统可以生成指示318c’,以包括各种颜色或者线图案。此外,在至少一个实施例中,对象检测系统可以对输入图像306进行分析以标识对比色,并且可以将该对比色应用于指示318c’,以使指示318c’针对输入图像306比较突出。
现在参照图7,将提供有关根据一个或者多个实施例的对象检测系统的能力和组件的附加细节。具体地,图7示出了对象检测系统702的示例架构的示意图,对象检测系统702作为数字媒体管理系统701的一部分并且被实施在计算设备700上。对象检测系统702可以表示先前描述的对象检测系统的一个或者多个实施例。
如图所示,对象检测系统702位于计算设备700上或者由计算设备700实施。通常,计算设备700可以表示各种类型的客户端设备。例如在一些实施例中,计算设备700是移动设备,诸如膝上型计算机、平板、移动电话、智能电话等。在其他实施例中,计算设备700是非移动设备,诸如桌面或者服务器,或者另一类型的计算设备。下面也参照图10讨论有关计算设备700的附加细节。
通常,数字媒体管理系统701促进在电子文档和/或系统应用内创建、修改、共享和/或删除数字图像。例如数字媒体管理系统701在计算设备700上提供与图像创建和编辑(例如照片编辑)有关的各种工具。另外,数字媒体管理系统701可以访问附加的本地或者远程存储的图像存储库。例如在一个或者多个实施例中,数字媒体管理系统701结合数字应用(诸如CREATIVE)进行操作。“ADOBE”和“CREATIVE CLOUD”是奥多比公司在美国和/或其他国家的注册商标或者商标。
如在图7中示出的,对象检测系统702包括数字媒体管理器704、热图生成器706、边界框管理器708、对象位置提议生成器710、提议选择管理器712和包括数字媒体数据716和对象检测数据718的数据存储设备714。
在一个或者多个实施例中,对象检测系统702的组件包括软件、硬件或者两者。例如对象检测系统702的组件可以包括被存储在非暂时性计算机可读存储介质上并且可由计算设备700的至少一个处理器执行的计算指令。当计算机可执行指令在被至少一个处理器执行时,计算机可执行指令使计算设备700执行本文所描述的方法和过程。备选地,对象检测系统的组件可以包括硬件,诸如用于执行特定功能或者功能组的专用处理设备。此外,对象检测系统的组件可以包括计算机可执行指令和硬件的组合。
如在图7中示出的,对象检测系统702包括数字媒体管理器704。在至少一个实施例中,数字媒体管理器704经由云存储设备、经由社交媒体系统或者经由本地存储设备来提供对数字媒体项(例如数字照片、数字视频)的访问权限。进一步地,数字媒体管理器704使计算设备700的用户能够查看并且编辑数字媒体项。此外,在至少一个实施例中,数字媒体管理器704使计算设备700的用户能够参与相对于一个或者多个数字媒体项的社交媒体活动(例如对包括数字照片的帖子进行评论)。此外,在一个或者多个实施例中,数字媒体管理器704发送和接收数字媒体项(例如输入图像、目标对象关键字)、与数字媒体项相关联的信息(例如编辑信息、社交媒体活动信息)以及由对象检测系统702利用的其他信息(例如对输入图像中的对象位置的指示)。
而且,如在图7中示出的,对象检测系统702包括热图生成器706。在一个或者多个实施例中,如上所述,热图生成器706将嵌入神经网络变换为完全卷积密集标记神经网络。此外,同样如上所述,热图生成器706将输入图像和目标对象关键字作为输入提供到完全卷积密集标记神经网络中,并且基于输入图像和目标对象关键字接收热图作为输出。
在一个或者多个实施例中,热图生成器706包括用于处理例外情况的各种功能。例如,在至少一个实施例中,完全卷积密集标记神经网络在检测与人类类别相关联的对象时不准确(例如因为所有的人类共享相同的基本身体形状、面部成分)。因此,为了提高与目标对象关键字“男人”、“女人”和“孩子”等相关联的对象检测的准确性,热图生成器706可以暂时将这些目标对象关键字中的任何目标对象关键字转换为目标对象关键字“人”。然后,热图生成器706基于目标对象关键字“人”来生成输入图像的热图。如下面描述的,热图生成器706还可以向对象位置提议生成器710提供目标对象关键字“人”,使得生成的对象位置提议与“人”相关联。
如在图7中进一步示出的,对象检测系统702包括边界框管理器708。在一个或者多个实施例中,边界框管理器708基于由热图生成器706生成的热图生成边界框。例如,如上面讨论的,边界框管理器708基于热图通过以下来生成边界框:确定热图的全局阈值,基于该全局阈值对热图进行二值化,获得二值化热图的连接域,计算该连接域的形态凸起,并且使最小边界矩形适应该形态凸起。在至少一个实施例中,边界框管理器708将所得到的边界框存储为相对于热图和对应的输入图像的坐标集合。
此外,边界框管理器708基于由热图生成器706生成的热图来生成一个或者多个中心框。例如,如上面讨论的,边界框管理器708通过以下来生成一个或者多个中心框:标识热图中的每一行和每一列中的局部最大像素颜色值,基于该所标识的局部最大像素颜色值对热图进行二值化,获得二值化的图像的连接域,计算该连接域的形态凸起,并且然后使最小边界矩形适应每个计算得出的形态凸起。在至少一个实施例中,边界框管理器708将所得到的一个或者多个中心框存储为相对于热图和对应的输入图像的坐标集合。
而且,如在图7中示出的,对象检测系统702包括对象位置提议生成器710。例如,如上面讨论的,对象位置提议生成器710基于输入图像和目标对象关键字来生成对象位置提议。而且,如上面讨论的,对象位置提议生成器710通过利用各种方法(诸如选择性搜索方法和YOLO网络方法)来生成对象位置提议。
此外,如在图7中示出的,对象检测系统702包括提议选择管理器712。在一个或者多个实施例中,提议选择管理器712基于边界框和一个或者多个中心框来确定由对象位置提议生成器710生成的对象位置提议中的每个对象位置提议的分数。例如提议选择管理器712通过利用上面讨论的等式1和等式2来确定对象位置提议中的每个对象位置提议的分数。
在一个或者多个实施例中,提议选择管理器712基于确定的分数来过滤掉不良的对象位置提议。例如在至少一个实施例中,提议选择管理器712过滤掉具有低于最大分数的阈值百分比(例如70%)的分数的对象位置提议。此外,在至少一个实施例中,提议选择管理器712还过滤掉与分数较高的对象位置提议叠加超过阈值量的对象位置提议。此外,在至少一个实施例中,提议选择管理器712还过滤掉未被边界框和一个或者多个中心框中的至少一个中心框覆盖得很好的对象位置提议。
在一个或者多个实施例中,提议选择管理器712还确定在过滤过程之后是否剩余任何对象位置提议。在至少一个实施例中,并且响应于确定在过滤过程之后没有剩余对象位置提议,提议选择管理器712重新调整至少一个中心框中的一个中心框的大小。例如提议选择管理器712重新将一个或者多个中心框中的最大中心框调整阈值百分比(例如将最大中心框放大50%)。
此外,在一个或者多个实施例中,提议选择管理器712提供叠加有对与目标对象关键字相关联的对象位置的指示的输入图像。例如提议选择管理器712将指示生成为具有与分数最高的对象位置提议的大小对应的大小的矩形。然后,提议选择管理器712将生成的指示叠加在输入图像中与分数最高的对象位置提议的角点坐标对应的角点坐标处。
在至少一个实施例中,提议选择管理器712基于检测到的与目标对象关键字相关联的对象的位置来使输入图像聚集。例如,如果对象检测系统702在批模式下进行操作并且在输入图像的大数据集上检测对象位置,则对象检测系统702可以检测输入图像中的每个输入图像的对应对象,不管对象位于输入图像内的何处。因此,提议选择管理器712可以对每个输入图像内的检测到的对象的大小和位置进行分析以基于检测到的对象使输入图像聚集。因此,例如提议选择管理器712可以仅提供在输入图像的左下角中检测到对象的输入图像。
如在图7中进一步图示的,对象检测系统702包括数据存储设备714,该数据存储设备714包括数字媒体数据716和对象检测数据718。在一个或者多个实施例中,数字媒体数据716包括数字媒体信息,诸如输入图像的存储库。在一个或者多个实施例中,对象检测数据718包括对象检测信息,诸如嵌入神经网络、完全卷积密集标记神经网络、生成的热图、边界框、中心框和对对象位置的指示。
图8图示了对象检测系统702可以进行操作的示例环境800。如在图8中图示的,环境800包括具有客户端应用806的客户端计算设备802。此外,在一个或者多个实施例中,环境800还包括将客户端计算设备802和(多个)服务器804连接至彼此并且提供客户端计算设备802和(多个)服务器804之间的数据交换的网络806。图8还示出了(多个)服务器804可以托管数字媒体管理系统701和对象检测系统702。在这种配置中,客户端应用806可以包括与由(多个)服务器804托管的对象检测系统702进行通信的应用。例如客户端应用806可以包括网络浏览器或者本机软件应用。客户端计算设备806可以向由(多个)服务器804托管的对象检测系统702发送请求,以标识与图像或者图像集合中的目标对象关键字对应的对象。然后,对象检测系统702可以如上面描述的那样标识(多个)图像中与目标对象关键字对应的对象。然后,响应于请求,对象检测系统702可以将图像和所标识的对象下载到客户端计算设备802。
备选地,对象检测系统702可以包括在客户端计算设备802上操作的一些组件和在(多个)服务器804上操作的其他组件。更进一步地,对象检测系统702可以被安装为客户端计算设备802上的本机应用、网络浏览器插件或者其他类型的应用插件(例如社交媒体应用插件)。
客户端计算设备802可以包括计算设备,诸如台式计算机、笔记本或者膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像头、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能电话、其他合适的电子设备或者其任何合适的组合。客户端计算设备802可以使客户端计算设备802的用户能够访问网络806。客户端计算设备802可以使其用户能够与在其他客户端计算设备处的其他用户通信。
在一个或者多个实施例中,(多个)服务器804或许能够链接各种实体。作为示例而非通过限制的方式,(多个)服务器804可以使用户能够彼此交互以及从第三方系统或者其他实体接收内容,或者允许用户通过应用编程接口(API)或者其他通信信道来与这些实体进行交互。
在一个或者多个实施例中,服务器804可以包括各种服务器、子系统、程序、模块、日志和数据存储设备。在特定实施例中,(多个)服务器804可以包括以下中的一个或者多个:网络服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权或者隐私服务器、搜索模块、广告定向模块、用户界面模块、用户配置文件存储设备、连接存储设备、第三方内容存储设备或者位置存储设备。(多个)服务器804还可以包括合适的组件,诸如网络接口、安全机制、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件或者其任何合适的组合。
现在转向图9,该图图示了根据本文描述的一个或者多个实施例的检测输入图像中的对象的一系列动作900的流程图。虽然图9图示了根据一个实施例的动作,但是备选实施例可以省略在图9中示出的动作中的任何动作,向在图9中示出的动作中的任何动作进行添加,重新对在图9中示出的动作中的任何动作进行排序,和/或修改在图9中示出的动作中的任何动作。图9的动作可以被执行为方法的一部分。备选地,非暂时性计算机可读介质可以包括指令,该指令在被一个或者多个处理器执行时使计算设备执行图9的动作。在更进一步的实施例中,系统可以执行图9的动作。
如在图9中示出的,一系列动作900包括生成热图的动作910。例如动作910可以涉及基于目标对象关键字来生成输入图像的热图。在一个或者多个实施例中,基于目标对象关键字来生成输入图像的热图包括:将输入图像和目标对象关键字提供至被训练用于密集图像标记的完全卷积网络。
而且,如在图9中示出的,一系列动作900包括生成边界框的动作920。例如动作920可以涉及基于全局阈值来在热图中生成边界框。在一个或者多个实施例中,基于全局阈值来在热图中生成边界框包括:利用大于全局阈值的像素值来标识热图中的所有像素,基于所标识的像素来确定连接形状,以及使边界框适应热图中的连接形状。
此外,一系列动作900包括生成一个或者多个中心框的动作930。例如动作930可以涉及基于一个或者多个局部阈值来在热图中生成一个或者多个中心框。在一个或者多个实施例中,基于一个或者多个局部阈值来在热图中生成一个或者多个中心框包括:标识与热图中的每一行和每一列中的局部最大值相关联的像素,确定所标识的像素的每个区域的连接形状,以及使中心框适应每个连接形状。
一系列动作900还包括确定一个或者多个对象位置提议的动作940。例如动作940可以涉及基于目标对象关键字来确定输入图像中的一个或者多个对象位置提议。在一个或者多个实施例中,基于目标对象关键字来确定输入图像中的一个或者多个对象位置提议包括:经由选择性搜索方法或者YOLO网络方法中的一种或者多种方法来确定输入图像中的一个或者多个对象位置提议。
此外,如在图9中示出的,一系列动作900包括确定对象位置提议中的每个对象位置提议的分数950。例如动作950可以涉及基于对象位置提议和边界框之间的重叠以及对象位置提议和一个或者多个中心框之间的重叠,来确定输入图像中的所确定的一个或者多个对象位置提议中的每个对象位置提议的分数。在一个或者多个实施例中,确定输入图像中的所确定的一个或者多个对象位置提议中的每个对象位置提议的分数包括:基于对象位置提议和边界框之间的重叠量来确定分数;确定对象位置提议和一个或者多个中心框中的每个中心框之间的重叠的相关性;确定对象位置提议的平均像素值;以及基于所确定的基于对象位置提议和边界框之间的重叠量的分数、对象位置提议和一个或者多个中心框中的每个中心框之间的重叠的相关性以及对象位置提议的所确定的平均像素值来确定对象位置提议的分数。
在至少一个实施例中,确定对象位置提议和一个或者多个中心框中的每个中心框之间的重叠的相关性包括:确定中心框和对象位置提议之间的交并比;基于中心框和对象位置提议之间的重叠量来确定分数;基于对象位置提议和中心框之间的重叠量来确定分数;以及基于确定的交并比、确定的基于中心框和对象位置提议之间的重叠量的分数以及确定的基于对象位置提议和中心框之间的重叠量的分数来确定对象位置提议和中心框之间的重叠的相关性。
此外,在一个或者多个实施例中,一系列动作900包括过滤掉具有确定的低于预定阈值的分数的对象位置提议的动作。此外,在至少一个实施例中,一系列动作900包括过滤掉热图中未被边界框覆盖的对象位置提议并且过滤掉热图中未被一个或者多个中心框中的至少一个中心框覆盖的对象位置提议的动作900。此外,在一个或者多个实施例中,一系列动作900包括确定一个或者多个对象位置提议中的所有对象位置提议是否已经被过滤掉的动作。例如,如果一个或者多个对象位置提议中的所有对象位置提议已经被过滤掉,则动作包括重新调整一个或者多个中心框中的一个中心框的大小。在该实施例中,提供叠加有对与目标对象关键字相关联的对象位置的指示的输入图像基于大小经重新调整的中心框。
此外,如在图9中示出的,一系列动作900包括为输入图像提供对分数最高的对象位置提议的指示的动作960。例如动作960可以涉及基于分数最高的对象位置提议来提供叠加有对与目标对象关键字相关联的对象位置的指示的输入图像。在一个或者多个实施例中,对对象位置的指示是具有与分数最高的对象位置提议的角点坐标匹配的角点坐标的边界框。
如本文使用的,术语“数字环境”通常是指例如实施为独立应用(例如在计算设备上运行的个人计算机或者移动应用)、实施为应用的元件、实施为应用的插件、实施为一个或者多个库函数、实施为计算设备和/或实施为云计算系统的环境。
如下面更详细地讨论的,本公开的实施例可以包括或者利用包括计算机硬件(诸如,例如,一个或者多个处理器和系统存储器)的专用或者通用计算机。在本公开的范围内的实施例还包括用于携带或者存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。具体地,本文描述的一个或者多个过程可以至少部分地实施为体现为非暂时性计算机可读介质并且可由一个或者多个计算设备(例如本文描述的媒体内容访问设备中的任何媒体内容访问设备)执行的指令。通常,处理器(例如微处理器)从非暂时性计算机可读介质(例如存储器等)接收指令,并且执行那些指令,从而执行一个或者多个过程,包括本文描述的过程中的一个或者多个过程。
计算机可读介质可以是可以由通用或者专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂时性计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,通过示例的方式而非限制,本公开的实施例可以包括至少两种截然不同的计算机可读介质:非暂时性计算机可读存储介质(设备)和传输介质。
非暂时性计算机可读存储介质(设备)包括:RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如基于RAM的固态驱动器)、闪速存储器、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储设备、磁盘存储设备或者其他磁存储设备或者可以用于存储计算机可执行指令或者数据结构形式并且可以由通用或者专用计算机访问的所需程序代码设备的任何其他介质。
进一步地,在计算机可执行指令或者数据结构形式的程序代码设备到达各个计算机系统组件之后,可以自动通过传输介质将该程序代码传递至非暂时性计算机可读存储介质(设备)(或者反之亦然)。例如可以在网络接口模块(例如“NIC”)内的RAM中对通过网络或者数据链路接收到的计算机可执行指令或者数据结构进行缓冲,并且然后最终将该计算机可执行指令或者数据结构传递至计算机系统RAM和/或计算机系统处的不那么易失的计算机存储介质(设备)。因此,应该理解,非暂时性计算机可读存储介质(设备)可以包括在同样(或者甚至主要)利用传输介质的计算机系统组件中。
计算机可执行指令包括:例如指令和数据,该指令和数据在处理器处执行时使通用计算机、专用计算机或者专用处理设备执行特定功能或者功能组。在一些实施例中,在通用计算机上执行计算机可执行指令以将通用计算机转变成实施本公开的元件的专用计算机。计算机可执行指令可以是:例如二进制文件、中间格式指令(诸如汇编语言)或者甚至源代码。虽然已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应该理解,在随附权利要求书中定义的主题不必限于上面所描述的特征或者动作。相反,所描述的特征和动作被公开为实施权利要求书的示例形式。
本领域的技术人员要了解,本公开可以实施在具有许多类型的计算机系统配置的网络计算环境中,包括:个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或者可编程消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等。本公开还可以实践在分布式系统环境中,在该分布式系统环境中,通过网络链接(通过硬连线数据链路、无线数据链路或者通过硬连线数据链路和无线数据链路的组合)的本地计算机系统和远程计算机系统都执行任务。在分布式系统环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备中。
本公开的实施例还可以实施在云计算环境中。在本说明书中,“云计算”被定义为用于实现对可配置计算资源的共享池的按需网络访问的模型。例如可以在市场中采用云计算来提供对可配置计算资源的共享池的普遍并且方便的按需访问。可以经由虚拟化来快速地提供可配置计算资源的共享池,并且可以花费较少的管理努力或者服务提供商交互来释放可配置计算资源的共享池,并且然后可以相应地对可配置计算资源的共享池进行缩放。
云计算模型可以由各种特点组成,诸如,例如,按需自助服务、广泛的网络访问、资源池化、快速弹性、计次制通话业务等。云计算模型还可以公开各种服务模型,诸如,例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。还可以通过使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)来部署云计算模型。在本说明书和权利要求书中,“云计算环境”是采用云计算的环境。
图10以框图形式图示了可以被配置为执行上面描述的过程中的一个或者多个过程的示例性计算设备1000。人们要了解,对象检测系统702可以实施在计算设备1000的实施方式上。如通过图10示出的,计算设备可以包括处理器1002、存储器1004、存储设备1006、I/O接口1008和通信接口1010。在某些实施例中,计算设备1000可以包括比在图10中输出的那些组件更少或者更多的组件。现在将更详细地描述在图10中示出的计算设备1000的组件。
在特定实施例中,(多个)处理器1002包括用于执行指令(诸如构成计算机程序的那些指令)的硬件。作为示例而非通过限制的方式,为了执行指令,(多个)处理器1002可以从内部寄存器、内部高速缓冲存储器、存储器1004或者存储设备1006检索(或者获取)指令并且对这些指令进行解码以及执行这些指令。
计算设备1000包括存储器1004,该存储器1004耦合至(多个)处理器1002。存储器1004可以用于存储数据、元数据和程序以供(多个)处理器执行。存储器1004可以包括易失性存储器和非易失性存储器中的一个或者多个,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或者其他类型的数据存储设备。存储器1004可以是内部存储器或者分布式存储器。在一个或者多个实施例中,存储器1004存储或者包括数据存储。
计算设备1000包括存储设备1006,该存储设备1006包括用于存储数据或者指令的存储。作为示例而非通过限制的方式,存储设备1006可以包括上面描述的非暂时性存储介质。存储设备1006可以包括硬盘驱动器(HDD)、闪速存储器、通用串行总线(USB)驱动器或者这些或者其他存储设备的组合。在一个或者多个实施例中,存储设备1006存储或者包括数据存储。
计算设备1000还包括一个或者多个输入或者输出(“I/O”)设备/接口1008,提供该一个或者多个输入或者输出(“I/O”)设备/接口1008以允许用户向计算设备1000提供输入(诸如用户笔划),从计算设备1000接收输出,以及以其他方式向计算设备1000传递数据和从计算设备1000传递数据。这些I/O设备/接口1008可以包括鼠标、小键盘或者键盘、触摸屏、摄像头、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或者这种I/O设备/接口1008的组合。可以用触控笔或者手指来激活触摸屏。
I/O设备/接口1008可以包括用于向用户呈现输出的一个或者多个设备,包括但不限于:图形引擎、显示器(例如显示屏幕)、一个或者多个输出驱动器(例如显示驱动器)、一个或者多个音频扬声器以及一个或者多个音频驱动器。在某些实施例中,设备/接口1008被配置为向显示器提供图形数据以呈现给用户。图形数据可以代表一个或者多个图形用户界面和/或可以服务特定实施方式的任何其他图形内容。
计算设备1000还可以包括通信接口1010。该通信接口1010可以包括硬件、软件或者两者。通信接口1010可以提供用于计算设备与一个或者多个其他计算设备1000或者一个或者多个网络之间的通信(诸如,例如,基于包的通信)的一个或者多个接口。作为示例而非通过限制的方式,通信接口1010可以包括用于与以太网或者其他基于线的网络通信的网络接口控制器(NIC)或者网络适配器或者用于与无线网络(诸如WI-FI)通信的无线NIC(WNIC)或者无线适配器。计算设备1000还可以包括总线1012。该总线1012可以包括将计算设备1000的组件彼此耦合的硬件、软件或者两者。
在前面的说明书中,已经参照本公开的特定示例性实施例描述了本公开。参照本文讨论的细节描述了本公开的各个实施例和方面,并且附图图示了各个实施例。以上描述和附图是对本公开的说明,而不应该被解释为限制本公开。描述了许多具体细节以提供对本公开的各个实施例的透彻理解。
在不偏离本发明的精神或者关键特点的情况下,本公开可以体现为其他特定形式。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。例如可以用更少或者更多的步骤或者动作来执行本文所描述的方法,或者可以按照不同的顺序来执行步骤或者动作。此外,本文所描述的步骤或者动作可以彼此并行地重复或者执行,或者与相同或者相似的步骤或者动作的不同实例并行地执行重复或者执行。因此,本申请的范围由随附权利要求书而不是由前面的描述指示。在权利要求书的等效含义和范围内的所有变化都将被包括在权利要求书的范围内。

Claims (20)

1.在用于检测数字图像中的对象位置的数字环境中,一种在其上存储有计算机可执行指令的非暂时性计算机可读存储介质,所述计算机可执行指令在被处理器执行时,使计算设备:
基于目标对象关键字,生成输入图像的热图;
基于全局阈值,在所述热图中生成边界框;
基于一个或者多个局部阈值,在所述热图中生成一个或者多个中心框;
基于所述目标对象关键字,确定所述输入图像中的一个或者多个对象位置提议;
基于所述对象位置提议和所述边界框之间的重叠、并基于所述对象位置提议和所述一个或者多个中心框之间的重叠,确定所述输入图像中的针对所确定的一个或者多个对象位置提议中的每个对象位置提议的分数;以及
基于分数最高的对象位置提议,提供被叠加有与所述目标对象关键字相关联的对象位置的指示的所述输入图像。
2.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令使所述计算设备基于所述全局阈值通过以下来在所述热图中生成所述边界框:
利用大于所述全局阈值的像素值,标识所述热图中的所有像素;
基于所述热图中的所标识的像素,确定连接形状;以及
使所述边界框适应所述热图中的所述连接形状。
3.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令使所述计算设备通过以下来在所述热图中生成所述一个或者多个中心框:
标识与所述热图中的行和列中的局部最大值相关联的像素;
确定所标识的像素的每个区域的连接形状;以及
使中心框适应每个连接形状。
4.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令使所述计算设备通过以下来确定所述输入图像中的一个或者多个对象位置提议:标识概括所述输入图像中的包括与所述目标对象关键字对应的对象的预测位置或者区域的坐标。
5.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令使所述计算设备通过针对所述一个或者多个对象位置提议中的每个对象位置提议确定以下内容来确定所述输入图像中的所确定的一个或者多个对象位置提议的中的每个对象位置提议的所述分数:
基于所述对象位置提议和所述边界框之间的重叠量的分数;
所述对象位置提议和所述一个或者多个中心框中的每个中心框之间的重叠的相关性;
所述对象位置提议的平均像素值;以及基于所述对象位置提议和所述边界框之间的所述重叠量、基于所述对象位置提议和所述一个或者多个中心框中的每个中心框之间的所述重叠的所述相关性、和基于所确定的所述对象位置提议的平均像素值的所述对象位置提议的所述分数。
6.根据权利要求5所述的非暂时性计算机可读存储介质,其中针对所述一个或者多个对象位置提议中的每个对象位置提议确定所述对象位置提议和所述一个或者多个中心框中的每个中心框之间的所述重叠的所述相关性包括:
确定所述中心框和所述对象位置提议之间的交并比;基于所述中心框和所述对象位置提议之间的重叠量,确定第一分数;
基于所述对象位置提议和所述中心框之间的重叠量,确定第二分数;以及基于所确定的所述交并比、基于所确定的基于所述中心框和所述对象位置提议之间的所述重叠量的所述第一分数、并基于所确定的基于所述对象位置提议和所述中心框之间的所述重叠量的所述第二分数,确定所述对象位置提议和所述中心框之间的所述重叠的所述相关性。
7.根据权利要求1所述的非暂时性计算机可读存储介质,还存储计算机可执行指令,所述计算机可执行指令在被所述处理器执行时,使所述计算设备过滤掉具有低于预定阈值的确定的分数的对象位置提议。
8.根据权利要求7所述的非暂时性计算机可读存储介质,还存储计算机可执行指令,所述计算机可执行指令在被所述处理器执行时使所述计算设备:
过滤掉所述热图中未被所述边界框覆盖的对象位置提议;以及
过滤掉所述热图中未被所述一个或者多个中心框中的至少一个中心框覆盖的对象位置提议。
9.根据权利要求8所述的非暂时性计算机可读存储介质,还存储计算机可执行指令,所述计算机可执行指令在被所述处理器执行时使所述计算设备:
确定所述一个或者多个对象位置提议中的所有对象位置提议是否已经被过滤掉;
如果所述一个或者多个对象位置提议中的所有对象位置提议已经被过滤掉,则重新调整所述一个或者多个中心框中的一个中心框的大小;以及
使用大小经重新调整的中心框作为与所述目标对象关键字相关联的所述对象位置。
10.一种系统,包括:
存储器,包括:
输入图像;以及
被训练用于密集图像标记的完全卷积网络;
至少一个处理器;以及
在其上存储有指令的至少一个非暂时性计算机可读存储介质,所述指令在被所述至少一个处理器执行时,使所述系统:
基于目标对象关键字,通过将所述输入图像和所述目标对象关键字提供至被训练用于密集图像标记的所述完全卷积网络来生成所述输入图像的热图;
基于全局阈值,在所述热图中生成边界框;
基于一个或者多个局部阈值,在所述热图中生成一个或者多个中心框;
基于所述目标对象关键字,确定所述输入图像中的一个或者多个对象位置提议;
基于所述对象位置提议和所述边界框之间的重叠、并基于所述对象位置提议和所述一个或者多个中心框之间的重叠,确定所述输入图像中的针对所确定的一个或者多个对象位置提议中的每个对象位置提议的分数;以及
基于分数最高的对象位置提议,提供被叠加有与所述目标对象关键字相关联的对象位置的指示的所述输入图像。
11.根据权利要求10所述的系统,其中所述指令在被所述至少一个处理器执行时,使所述系统基于所述全局阈值通过以下来在所述热图中生成所述边界框:
利用大于全局阈值的像素值,标识所述热图中的所有像素;以及在矩形中使所述边界框适应所述热图中的所标识的所述像素。
12.根据权利要求11所述的系统,其中所述指令在被所述至少一个处理器执行时,使所述系统基于一个或者多个局部阈值通过以下方式来在所述热图中生成一个或者多个中心框:
标识与所述热图中的每一行和每一列中的局部最大值相关联的像素;
确定所标识的像素的每个区域的连接形状;以及
使中心框适应每个连接形状。
13.根据权利要求12所述的系统,其中所述指令在被所述至少一个处理器执行时,使所述系统通过以下来确定所述输入图像中的一个或者多个对象位置提议:标识概括所述输入图像中的包括与所述目标对象关键字对应的对象的预测位置或者区域的坐标。
14.根据权利要求13所述的系统,其中所述指令在被所述至少一个处理器执行时,使所述系统针对所述一个或者多个对象位置提议中的每个对象位置提议通过以下来确定所述输入图像中的针对所确定的一个或者多个对象位置提议中的每个对象位置提议的分数:
基于所述对象位置提议和所述边界框之间的重叠量,计算第一分数;
确定所述对象位置提议和所述一个或者多个中心框中的每个中心框之间的重叠的相关性;
确定所述对象位置提议的平均像素值;以及
基于所确定的基于所述对象位置提议和所述边界框之间的所述重叠量、所述对象位置提议和所述一个或者多个中心框中的每个中心框之间的所述重叠的所述相关性以及所确定的所述对象位置提议的平均像素值来确定所述对象位置提议的所述分数。
15.根据权利要求14所述的系统,其中确定所述对象位置提议和所述一个或多个中心框中的每个中心框之间的所述重叠的所述相关性包括:
确定所述中心框和所述对象位置提议之间的交并比;
基于所述中心框和所述对象位置提议之间的重叠量,确定第二分数;
基于所述对象位置提议和所述中心框之间的重叠量,确定第三分数;以及
基于所确定的所述交并比、基于所确定的基于所述中心框和所述对象位置提议之间的所述重叠量的所述第二分数、并基于所确定的基于所述对象位置提议和所述中心框之间的所述重叠量的所述第三分数,确定所述对象位置提议和所述中心框之间的所述重叠的所述相关性。
16.根据权利要求15所述的系统,在其上还存储有指令,所述指令在被所述至少一个处理器执行时,使所述系统过滤掉具有低于预定阈值的确定的分数的对象位置提议。
17.根据权利要求16所述的系统,在其上还存储有指令,所述指令在被所述至少一个处理器执行时,使所述系统:
过滤掉所述热图中未被所述边界框覆盖的对象位置提议;以及
过滤掉所述热图中未被所述一个或者多个中心框中的至少一个中心框覆盖的对象位置提议。
18.根据权利要求17所述的系统,在其上还存储有指令,所述指令在被所述至少一个处理器执行时,使所述系统:
确定所述一个或者多个对象位置提议中的所有对象位置提议是否已经被过滤掉;
如果所述一个或者多个对象位置提议中的所有对象位置提议已经被过滤掉,则重新调整所述一个或者多个中心框中的一个中心框的大小;以及
使用大小经重新调整的中心框作为与所述目标对象关键字相关联的所述对象位置。
19.在用于对数字图像进行分析的数字环境中,一种用于检测数字图像中的一个或者多个对象的方法包括:
执行基于目标对象关键字来生成输入图像的热图的步骤;
基于全局阈值在所述热图中生成边界框;基于一个或者多个局部阈值在所述热图中生成一个或者多个中心框;
基于所述目标对象关键字,确定所述输入图像中的一个或者多个对象位置提议;
执行用于确定所述输入图像中的所确定的一个或者多个对象位置提议中的每个对象位置提议的分数的步骤;以及
基于分数最高的对象位置提议,提供被叠加有与所述目标对象关键字相关联的对象位置的指示的所述输入图像。
20.根据权利要求19所述的方法,其中:
基于所述全局阈值在所述热图中生成所述边界框包括:
利用大于全局阈值的像素值,标识所述热图中的所有像素,以及
在矩形中使所述边界框适应所述热图中的所标识的像素;以及
基于一个或者多个局部阈值在所述热图中生成一个或者多个中心框包括:
标识与所述热图中的每一行和每一列中的局部最大值相关联的像素;
确定所标识的像素的每个区域的连接形状;以及
使中心框适应每个连接形状。
CN201811199248.XA 2018-03-14 2018-10-15 使用弱监督模型来检测对象 Pending CN110276366A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/921,492 US10740647B2 (en) 2018-03-14 2018-03-14 Detecting objects using a weakly supervised model
US15/921,492 2018-03-14

Publications (1)

Publication Number Publication Date
CN110276366A true CN110276366A (zh) 2019-09-24

Family

ID=64560282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811199248.XA Pending CN110276366A (zh) 2018-03-14 2018-10-15 使用弱监督模型来检测对象

Country Status (5)

Country Link
US (2) US10740647B2 (zh)
CN (1) CN110276366A (zh)
AU (1) AU2018250370B2 (zh)
DE (1) DE102018008161A1 (zh)
GB (1) GB2572029B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560999A (zh) * 2021-02-18 2021-03-26 成都睿沿科技有限公司 一种目标检测模型训练方法、装置、电子设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747811B2 (en) * 2018-05-22 2020-08-18 Adobe Inc. Compositing aware digital image search
US10210860B1 (en) * 2018-07-27 2019-02-19 Deepgram, Inc. Augmented generalized deep learning with special vocabulary
US11107219B2 (en) 2019-07-22 2021-08-31 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US10748022B1 (en) * 2019-12-12 2020-08-18 Cartica Ai Ltd Crowd separation
US11055566B1 (en) 2020-03-12 2021-07-06 Adobe Inc. Utilizing a large-scale object detector to automatically select objects in digital images
CN111833115B (zh) * 2020-09-16 2020-12-11 腾讯科技(深圳)有限公司 一种操作识别方法、装置及存储介质和服务器
CN112861917A (zh) * 2021-01-14 2021-05-28 西北工业大学 基于图像属性学习的弱监督目标检测方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150169142A1 (en) * 2013-12-16 2015-06-18 Co Everywhere, Inc. User interface for providing geographically delineated content
US9129191B2 (en) 2013-12-16 2015-09-08 Adobe Systems Incorporated Semantic object selection
US20170017696A1 (en) * 2015-07-14 2017-01-19 Microsoft Technology Licensing, Llc Semantic object tagging through name annotation
US9852492B2 (en) 2015-09-18 2017-12-26 Yahoo Holdings, Inc. Face detection
US10192129B2 (en) 2015-11-18 2019-01-29 Adobe Systems Incorporated Utilizing interactive deep learning to select objects in digital visual media
US10424064B2 (en) 2016-10-18 2019-09-24 Adobe Inc. Instance-level semantic segmentation system
US10216766B2 (en) 2017-03-20 2019-02-26 Adobe Inc. Large-scale image tagging using image-to-topic embedding
CN107563494B (zh) 2017-08-01 2020-08-18 华南理工大学 一种基于卷积神经网络和热图的第一视角指尖检测方法
US10460214B2 (en) 2017-10-31 2019-10-29 Adobe Inc. Deep salient content neural networks for efficient digital object segmentation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560999A (zh) * 2021-02-18 2021-03-26 成都睿沿科技有限公司 一种目标检测模型训练方法、装置、电子设备及存储介质
CN112560999B (zh) * 2021-02-18 2021-06-04 成都睿沿科技有限公司 一种目标检测模型训练方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
GB2572029B (en) 2021-02-03
AU2018250370A1 (en) 2019-10-03
AU2018250370B2 (en) 2021-07-08
DE102018008161A1 (de) 2019-09-19
US20200334487A1 (en) 2020-10-22
US20190286932A1 (en) 2019-09-19
US10740647B2 (en) 2020-08-11
GB201817588D0 (en) 2018-12-12
GB2572029A (en) 2019-09-18

Similar Documents

Publication Publication Date Title
CN110276366A (zh) 使用弱监督模型来检测对象
US9977952B2 (en) Organizing images by correlating faces
US20190294862A1 (en) Facial Recognition Pet Identifying System
WO2019200781A1 (zh) 票据识别方法、装置及存储介质
Zhou et al. Detecting dominant vanishing points in natural scenes with application to composition-sensitive image retrieval
CN106980868A (zh) 用于具有多个文本标签的图像的嵌入空间
WO2020107847A1 (zh) 基于骨骼点的跌倒检测方法及其跌倒检测装置
KR101782590B1 (ko) 이미지 분석기반의 관계형 태그생성 및 추천 방법
Yang et al. A survey of deep learning-based source image forensics
US20180241563A1 (en) Image fingerprinting
WO2021143103A1 (zh) 视频数据处理方法、装置、设备及计算机可读存储介质
Shu et al. Cardea: Context-aware visual privacy protection for photo taking and sharing
CN107622497A (zh) 图像裁剪方法、装置、计算机可读存储介质和计算机设备
CN111886842A (zh) 使用基于阈值的匹配进行远程用户身份验证
Shu et al. Cardea: Context-aware visual privacy protection from pervasive cameras
Pasquini et al. Media forensics on social media platforms: a survey
US20200311136A1 (en) Measuring and increasing the quality of user-provided information
RU2715515C2 (ru) Система и способ выявления изображения, содержащего идентификационный документ
US20150186421A1 (en) Computer implemented system for handling text distracters in a visual search
WO2019056503A1 (zh) 门店监控评价方法、装置及存储介质
CN112396055A (zh) 文本提取方法、装置、电子设备及存储介质
US10991085B2 (en) Classifying panoramic images
Parveen et al. Classification and evaluation of digital forensic tools
Lauronen Ethical issues in topical computer vision applications
Azcarraga et al. Identity Concealment When Uploading Pictures of Patients in a Tele-Medicine System

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