CN111625668B - 对象检测和候选过滤系统 - Google Patents
对象检测和候选过滤系统 Download PDFInfo
- Publication number
- CN111625668B CN111625668B CN201911141339.2A CN201911141339A CN111625668B CN 111625668 B CN111625668 B CN 111625668B CN 201911141339 A CN201911141339 A CN 201911141339A CN 111625668 B CN111625668 B CN 111625668B
- Authority
- CN
- China
- Prior art keywords
- pixels
- image
- center
- pixel
- bounding box
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/535—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本文中所公开的是提供对象检测和过滤操作的系统、方法和计算机程序产品实施例。实施例通过以下操作:接收图像,该图像包括多个像素和每个像素的像素信息。像素信息指示在与相应像素相关联的、与图像内的对象对应的边界框,以及与相应像素的边界框相关联的置信度得分;从多个像素迭代地移除不与边界框中的至少一个的中心对应的像素,直到保留其中的每一个与边界框中的至少一个的中心对应的像素的子集。基于该子集,基于像素的子集的边界框的重叠以及对应的置信度得分,确定与图像的每个对象相关联的最终边界框。
Description
技术领域
本公开涉及用于提供对象检测和候选过滤的系统和方法。
背景技术
神经网络可以通过标识图像特征的变化,然后预测图像内包围各种对象(诸如人)的边界框,来检测图像中的对象。边界框可以指示图像中标识出多少个不同的人。然而,神经网络的输出可以包括图像中的每个对象的边界框的成百上千种变化。
非最大抑制(NMS)或一些其他组合算法可以用于基于每个对象的上千个候选边界框的比较来标识每个对象的最终边界框。然而,这种逐个框的比较以标识最终边界框需要大量的处理能力和时间。这会减缓系统功能并降低吞吐量,从而创建系统并处理积压的日志。
发明内容
根据一些实施例,提供了用于提供对象检测和候选过滤的计算机实现的方法。该方法包括:接收包括多个像素和每个像素的像素信息的图像,所述像素信息指示与相应像素相关联的、与图像内的对象对应的边界框,以及与相应像素的边界框相关联的置信度得分。该方法还包括:从多个像素确定像素的阈值集合,其中像素的阈值集合中的每一个像素的置信度得分超过置信度阈值;从像素的阈值集合迭代地移除不与边界框中的至少一个的中心对应的像素,直到保留的像素的每一个与边界框中的至少一个的中心对应,其中与所述边界框中的中心对应的像素形成。此外,该方法包括:确定边界框的每一个的中心,所述中心指向多个像素中的一个;确定作为边界框的一个的中心的多个像素中的至少一个具有小于置信度阈值的置信度得分,并且包含在像素的子集中。以及,该方法包括:基于像素的子集,基于像素的子集的边界框的重叠以及相关联的置信度得分,确定与图像的每个对象相关联的最终边界框。
根据一些实施例,提供了用于提供对象检测和候选过滤的系统。该系统包括:存储器以及至少一个处理器。所述至少一个处理器耦接到存储器并被配置为:接收包括多个像素和每个像素的像素信息的图像,所述像素信息指示与相应像素相关联的、与图像内的对象对应的边界框,以及与相应像素的边界框相关联的置信度得分;从多个像素确定像素的阈值集合,其中像素的阈值集合中的每一个像素的置信度得分超过置信度阈值;从像素的阈值集合迭代地移除不与边界框中的至少一个的中心对应的像素,直到保留的像素的每一个与边界框中的至少一个的中心对应,其中与所述边界框中的中心对应的像素形成像素的子集;确定边界框的每一个的中心,所述中心指向多个像素中的一个;确定作为边界框的一个的中心的多个像素中的至少一个具有小于置信度阈值的置信度得分,并且包含在像素的子集中;并且基于像素的子集,基于像素的子集的边界框的重叠以及相关联的置信度得分,确定与图像的每个对象相关联的最终边界框。
根据一些实施例,提供了具有储存于其上的指令的非暂时性计算机可读装置,所述指令在由至少一个计算装置执行时使得至少一个计算装置执行包括如下的操作:接收包括多个像素和每个像素的像素信息的图像,所述像素信息指示与相应像素相关联的、与图像内的对象对应的边界框,以及与相应像素的边界框相关联的置信度得分;从多个像素确定像素的阈值集合,其中像素的阈值集合中的每一个像素的置信度得分超过置信度阈值;从像素的阈值集合迭代地移除不与边界框中的至少一个的中心对应的像素,直到保留的像素的每一个与边界框中的至少一个的中心对应,其中与所述边界框中的中心对应的像素形成像素的子集;确定边界框的每一个的中心,所述中心指向多个像素中的一个;确定作为边界框的一个的中心的多个像素中的至少一个具有小于置信度阈值的置信度得分,并且包含在像素的子集中;以及基于像素的子集,基于像素的子集的边界框的重叠以及相关联的置信度得分,确定与图像的每个对象相关联的最终边界框。
附图说明
附图并入于本文中并且形成说明书的部分。
图1是图示根据一些实施例提供对象检测和候选过滤系统的示例功能的框图。
图2A和2B图示了根据一些示例实施例与在对象检测和候选过滤系统中进行中心过滤有关的示例操作。
图3是图示根据一些实施例对象检测和候选过滤系统的示例操作的流程图。
图4是可以用于实现各种实施例的示例计算机系统。
在附图中,类似的附图标记通常指示相同或相似的元件。此外,通常,最左边的参考数字的(多个)数字标识该附图标记首次出现的附图。
具体实施方式
本文中提供了系统、设备、装置、方法和/或计算机程序产品实施例,和/或它们的组合和子组合,来用于提供对象检测和候选过滤。
图1是图示根据一些实施例提供对象检测和候选过滤系统的示例功能的框图100。对象检测系统(ODS)102可以通过减少标识图像104的对象所需的处理能力、存储器、以及计算周期的数目,来增加系统吞吐量。
在实施例中,ODS 102可以从神经网络106接收关于处理图像104的信息。例如,用户可以将图像104上传到神经网络106,该神经网络106然后可以如本文所描述地处理上传的图像104,并向ODS 102输出关于图像104的像素和边界框信息。神经网络106可以包括跨一个或多个计算装置一起工作的、使用不同机器学习算法的计算系统,以进行复杂数据处理任务——总体上(并在一些实施例中)不是用任何指定任务规则进行编程。
例如,神经网络可以配置或训练为通过分析已经标记为“猫”或“不是猫”的图像或对象来标识猫的图像。基于该分析,网络可以动态地生成诸如尾巴、皮毛、胡须、猫脸等的特点。
神经网络106可以配置为通过标识图像104的各种或指定对象,来在对象上进行对象标识任务。例如,可以将图像104提供给神经网络106,该神经网络106可以使用各种机器学习算法、过程或计算装置以产生标识图像104中各种对象110的边界框108。在所示的示例中,图像104中标识出两个人的对象110A和110B;然而其他实施例可以包括诸如动物、位置、建筑之类的其他种类的对象标识,并且可以包括不止仅两个对象。
图1的示例中,图像104被示出为包括对于每个对象110的仅两个边界框108。然而,在真实世界应用中,神经网络106可以为图像104中对象110生成任意数目个(包括成千上万个)边界框。此外,每个对象110可以包括不同数目个生成的边界框108。例如,在另一个实施例中,对象110A可以具有100个边界框108,而对象110B具有50个边界框。在实施例中,图像104和/或对象110的大小可以对应于生成的边界框108的数目。例如,图像104内更大对象110以及更大或更高分辨率图像104可以包括更多边界框。
在实施例中,当被ODS 102接收时,边界框108可以不可见地显示在图像104自身上。代替地,可以接收来自神经网络106的边界框和其他输出处理信息作为像素信息112。在实施例中,像素信息112可以包括与特定或标识的图像104相关联的元数据或者一个或多个数据文件。像素信息112可以包括指示图像104的各种对象110中的每一个的各种生成的边界框108的位置的信息。
在实施例中,像素信息112可以包括与图像104(具有特定标识或预先限定的分辨率)的每个像素(或像素中的标识的子集)有关的信息。例如,图像104的每个像素可以具有或对应于其自身的像素信息112的集合。像素可以基于图像104上的X、Y坐标进行标识,或者可以具有指示图像104上像素的位置的唯一像素标识符——其可以包括在像素信息112中。
像素信息112可以包括每个像素的置信度得分114和框尺寸116,为此由ODS 102接收像素信息112。在实施例中,可以基于像素与哪个对象108或边界框的集合相关联而将像素信息112分组在一起。例如,可以将与对象110A相关联的像素的像素信息112分组在一起,而可以将与对象110B相关联的像素的像素信息112分组在一起。
在实施例中,特定对象110的相同边界框108的预测的像素信息112可以由ODS 102标识并且将其丢弃以节省处理资源。例如,如果神经网络106的两个不同机器或过程对于对象110的一个预测出相同边界框,则复制件的一个可以被丢弃(例如基于具有较低整体置信度得分114)。
置信度得分114可以指示置信度水平,用该置信度水平估计或预测边界框108包围相应或标识的像素。例如,神经网络106可以估计或预测每个预测的边界框108的准确度,可以提供该准确度作为置信度得分114。对于特定的边界框108,在边界框108的中心附近的像素可以比更靠近每个框108的边缘或边界的像素具有更高的置信度得分114。
在实施例中,神经网络106的一个或多个机器的第一集合可以输出具有在特定对象110周围的单个预测或估计的边界框108的图像104。机器还可以对于图像104的每个像素生成置信度得分114。置信度得分114可以指示边界框108应该生成在相应像素周围的置信度。因此,这样的如下文更详细描述的在图像110的中心附近的像素可以包括边界框108。在另一个实施例中,置信度得分114可以指示置信度,用该置信度,相应像素被估计为图像104的标识的对象110的部分或者在标识的边界框108内。
如本文中所使用的,对象标识首先用于指代特定图像104的不同对象之间的区别。例如,考虑图像104可以包括两辆不同汽车的情况。在一些实施例中,可以进行进一步处理(在已经标识出对象之后),以分类标识出的汽车对象。这样的分类可以包括确定汽车对象的制作、模型、年份、色彩、尺寸等。
框尺寸116可以指示与神经网络106的特定输出相关联的预测的边界框108的长度、宽度和位置。每个输出可以包括图像104的特定扫描或处理的边界框108的一个预测集合。例如,在图1的所图示的示例中,神经网络可以包括图像104的两个输出,其中每个输出包括两个边界框108(一个边界框与图像104的每个人物对象110A、110B相关联)。或者例如,神经网络106可以提供四个输出,其中每个输出包括已经为图像104标识出的对象110的唯一边界框108。
然而如上文所指示的,神经网络106可以提供数百个或数千个(或更多个)不同的输出(例如图像104的对象110的预测的边界框108)。在实施例中,ODS 102可以接收像素信息112,该像素信息112与图像104中标识出的对象110的可能的边界框108的聚集有关。
尺寸116可以是对于图像104的边界框的大小、形状和位置的量度或其他的指示。例如,对于矩形边界框,尺寸116可以指示框的长度、宽度和起始位置。起始位置可以是拐角的一个,从该拐角(以像素的个数)测量长度和宽度。对于圆形的边界框,尺寸可以包括圆形或椭圆形的中心的指示、或圆周上的像素、以及圆周量度。在其他的实施例中,对于各种边界框108,可以标识其他尺寸和形状。
在实施例中,尺寸116可以指示特定分辨率下的图像104的像素中的度量(例如长度×宽度)。例如,尺寸116可以是50像素×100像素,并且提供左上方起始位置或者来自图像104的特定像素的标识。起始位置可以是框的左上角、右上角、左下角或右下角。然后,例如,ODS 102将能够从框尺寸116确定如何绘图或在图像104上何处定位边界框108。
在实施例中,根据框尺寸116,ODS 102可以计算出框中心118。框中心118可以是来自图像104的(多个)特定像素的坐标或其他标识符,即位于由框尺寸116所指示的相应边界框108的中心、中心点或接近中心。在实施例中,特定边界框108的框中心118可以包括多个像素,该多个像素可以与图像104中的另一个像素相邻,或者可以不与图像104中的另一个像素相邻。在实施例中,矩形框的框中心118可以是与相对框边缘等距(或近似等距)。
在实施例中,图像处理系统可以使用算法,或者组合或处理数百个或数千个(或更多个)变化的边界框108以标识图像104的最终边界框120。最终框120可以包括每个对象110的一个框。在实施例中,可以基于预测的框108的重叠从预测的框108计算出或确定最终框120。例如,非最大抑制(non-maximum suppression)(NMS)可以用于将两个重叠的预测边界框108进行比较并且消除较不准确的边界框(例如基于它们相对置信度得分114)。
在实施例中,NMS可以将关于对象110A的第一边界框与在相同对象110A上至少部分重叠的第二边界框进行比较。然后,例如,基于相对置信度得分114,NMS处理器(未示出)可以丢弃与较低置信度得分相关联的边界框108。NMS可以从神经网络106接收的数百个或数千个边界框组合不断地重复该过程。在NMS背后的目标可以是最终为每个对象110A、110B得到一个最终框120(例如,使得最终框120没有一个是重叠的)。
然而,NMS面临的技术挑战之一可能是比较过程是消耗实质处理资源(例如存储器或计算周期)的贪婪算法。NMS操作通常与要处理的候选框的数目呈非线性(例如二次方)关系。例如,如果图像104的对象110A的候选框108的数目从10,000个减少至5,000(例如减少50%),则在处理候选中花费的时间或由NMS消耗的资源可以从100的度量减少至25的度量(例如大于候选减少的百分比)。在另一个实施例中,NMS可以包括与候选框呈线性关系,但是可以包括与消耗的处理周期的数目的二次方关系或非线性关系。
可以提供NMS作为示例性处理技术,该技术可以用于减少、组合或标识最终框120。然而,其他实施例可以包括其他处理/边界框处理或组合技术以标识最终框120。
ODS 102可以在向NMS或其他处理平台提交候选边界框108之前执行过滤操作,而不是直接向NMS提交数千个不同的候选输出(例如预测边界框108组合)。通过执行本文中所描述的过滤操作,ODS 102可以改进操作速度,并且与通过将候选输出从神经网络106向NMS的直接提交而不进行预先过滤的方式所需要的处理资源比消耗更少处理资源。而且过滤操作相对于NMS可以使用更少资源。
使用本文中所描述的过滤操作,ODS 102可以减少向NMS提交的候选输出的数目(例如由神经网络106输出的预测边界框108的组合)。作为实施例中的减少的尺度的示例,ODS 102可以将候选的数目从10,000个减少至10个。这种单个对象的减少可以很大程度上改进系统吞吐量,因为将候选从10,000个减少至10个的过滤操作需要与NMS执行将候选从10,000个减少至10个的比较操作所需要的处理资源相比更少的处理资源。然而,ODS 102可以对于图像104的所标识的对象110的每一个进行相似过滤操作,因此进一步改进性能。
在实施例中,在过滤施加于减少候选之后,然后可以使用NMS或其他过程处理剩余候选以产生最终框120的集合(例如可以包括其自身框尺寸以指示特定或标识的分辨率下的图像104上最终框120的定位、大小和形状)。可以对于图像的每个标识的对象执行该处理,并且该处理可以在具有大量紧密定位的对象的密集图像中提高性能结果。
在实施例中,ODS 102可以执行置信度过滤。为了减少处理资源(例如计算周期、存储器等),ODS 102可以基于图像104的像素的置信度得分114来过滤图像104的像素。如上文所指示的,置信度得分114可以指示边界框108应该生成在图像104的对象110的相应像素周围的置信度。
ODS 102可以施加置信度阈值122,以过滤掉任何不满足置信度阈值122的像素。例如,置信度阈值122可以设定为0.50或50%,使得具有小于50%的置信度得分114的像素不会由ODS 102进一步处理并且将其丢弃。在一些实施例中,不满足置信度阈值122的像素的像素信息112可以被删除或以其他方式移除(因此释放在维持不再需要进一步处理的像素信息112中所需的存储器资源)。
在另一个实施例中,可以由神经网络106执行置信度过滤,使得只有满足置信度阈值122的那些像素的像素信息112才由ODS 102接收——因此在更少数据的传输中消耗更少带宽,并且消耗ODS 102上的更少的资源。一旦(由神经网络106、ODS 102或另一个机器或过程)进行置信度过滤并且标识出满足(符合/超过)置信度阈值122的像素信息112的子集,那么ODS 102可以执行中心过滤操作。
图2A和2B图示根据一些示例实施例与在对象检测和候选过滤系统中执行中心过滤有关的示例操作。
在执行中心过滤操作中,ODS 102可以标识最靠近图像204的各种对象210A-D的预测中心的那些像素。通过标识每个预测的对象210的最中心像素,ODS 102可以将要由NMS处理的候选边界框的数目限制到仅对应于每个对象210A-D的最中心像素的那些边界框。
图2A图示了在一些实施例中以由ODS 102执行的操作为代表的示例显示。实践中,ODS 102可以不生成图2A所示出的实际像素框和箭头图像,但是可以进行由这些描述的特征表示的处理。
图2A的示例中,标有字母的像素A-L可以对应于像素的置信度得分114符合或超过置信度阈值122的那些像素。箭头指示那特定像素的边界框的预测的中心。例如,边界框可以包括数十个、数百个或数千个像素。每个像素可以指示关于其在边界框内的包含情况的置信度得分112(使得边缘像素可以具有与较为中心的像素相比更低的置信度得分)。在实施例中,边界像素(例如在图像110的边缘附近)可以包括低的置信度或零置信度。
对于每个像素的对应边界框可以具有唯一中心(例如框中心118),因为不同像素的不同的预测的边界框对于特定图像可能不是完全相同的大小、形状和/或位置。
在图2A的示例中没有图示边界框。然而,箭头可以图示框中心118位于每个标有字母的像素的边界框的位置。例如,像素A的边界框的框中心118可以是像素C。像素J的边界框的框中心118可以是它自身,并且像素H的边界框的框中心118可以在G旁边的未标字母的像素(例如其置信度得分不满足置信度阈值122)。尽管所示出的箭头可以指示与其框中心邻近或接触的框,在其他实施例中,框中心可以由任意不同数目的像素分隔开。例如,像素A的框中心118可以是像素F。
在实施例中,作为中心过滤处理的部分,ODS 102可以迭代地移除没有其他像素正在指向其作为框中心118的像素。例如,关于对象210A,在第一次迭代中,像素A、B、E和F可以被移除或过滤掉以免成为框中心118的候选,因为没有其他像素指向这些像素。在第二次迭代中,ODS 102可以确定由于C指向D且D指向C而要保留两个像素。对于对象210A,然后ODS102可以仅提供对应于像素C和D的边界框以供NMS分辨,而不是全部像素的像素信息112,甚至也不是仅仅满足置信度阈值122的标有字母的像素A-F的像素信息112。
如上文所描述的,提交用于分辨以确定最终框120的候选边界框的数目的这种减少可以导致对处理速度的非线性(例如二次方)改进以及确定最终框120所需的处理资源的对应减少。
在另一个实施例中,如果像素D指向自身作为其自身的框中心118,则在第二次迭代期间ODS 102可以移除像素C(例如,对应的像素信息112),因为没有剩余的像素指向C(因为像素A、B、E和F已经被过滤掉)。ODS 102可以将该过滤过程重复多次直到获得像素的最终子集,其中每个像素包括由至少一个其他剩余像素至少指向该像素(例如指示为框中心118)的1个箭头。
在实施例中,如果在框E的下方存在指向像素E的像素M,则在第一次迭代中将过滤掉框M。在第二次迭代中,指向像素D的像素E将被移除。在第三次迭代中,可以确定的是,因为像素C仍然指向像素D所以保留像素D。
如图示的,像素H可以指向没有标记字母的像素(例如指示它是具有低置信度得分114的像素,即低于置信度阈值122的像素)。在第一次迭代中,框H将被过滤掉。在第二次迭代中,未标记的框将被过滤掉,因为像素G正在指向自身。
在实施例中,ODS 102可以要求对于图像204的每个对象210提交至少一个像素或边界框。如果像素G也指向未标有字母的像素,则不同的实施例可能导致提交不同像素以进行NMS处理。在实施例中,第一次迭代可以导致确定仅剩的框是未标有字母的(例如不满足置信度阈值122),并且如此可以提供满足置信度阈值122的这些剩余的标有字母的像素G和H以进行NMS处理。在另一个实施例中,可以向NMS提供具有低置信度的未标有字母的框,以进行处理。
在另一个实施例中,可以增加箭头的最小数目以超过1个,这可以具有从图像104过滤掉较不显著对象(例如对象210C)的效果。
图2B图示根据实施例可以如何由ODS 102过滤图2A的标有字母的像素的示例。对于每个对象210,可以返回对应于一个或多个中心像素的边界框。例如,对于图像210A,可以返回像素C和D以进行进一步处理(例如NMS处理)。对于图像210B,可以返回像素G以进行进一步处理。对于图像210C,可以返回像素J以进行进一步处理。对于图像210D,可以返回像素L以进行进一步处理。可以向NMS或其他处理系统提交这些像素以确定每个对象210的最终框120。
返回图1,最终框120A可以是ODS 102的输出,该输出组合或处理图像110A的边界框108,而最终框120B可以表示来自处理图像110B的边界框108的输出。在实施例中,可以提供在NMS处理之后分别地包含具有最终框120A和120B的对象110A和110B的图像,以在用户装置124上显示。装置124可以包括移动装置,膝上型计算机、电视或其他计算装置。
图3是图示根据一些实施例对象检测和候选过滤系统的示例操作的流程图300。方法300可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上执行的指令)或其组合。应当理解,可能不需要所有步骤来执行本文提供的公开内容。此外,如本领域普通技术人员将理解的,一些步骤可以同时执行,或者以与图3所示顺序不同的顺序执行。方法300将参考图1进行描述。然而,方法300不限于示例实施例。
在310中,接收包括多个像素和每个像素的像素信息的图像,其中像素信息指示与相应像素相关联的、与图像内的对象对应的边界框,以及与相应像素的边界框相关联的置信度得分。例如,ODS 102可以接收关于图像104的像素的像素信息112。像素信息112可以包括置信度得分114和框尺寸信息116,并且框中心信息118可以被接收或者从框尺寸116以其他方式计算或导出。
在320中,迭代地移除不与边界框中的至少一个的中心对应的像素,直到保留其中的每一个与边界框中的至少一个的中心对应的像素的子集。例如,如图2A的示例中所图示的,在第一次迭代中,像素A、B、E和F可以被移除,因为它们不对应于框中心118。在其他的实施例中,可以进行多次迭代,直到对于每个对象210A-D保留至少一个像素,或是每个剩余像素被另外剩余的像素所指向作为框中心118。
在330中,基于像素的子集的边界框的重叠以及对应的置信度得分,确定与图像的每个对象相关联的最终边界框。例如,在标识候选框的集合之后,可以进行NMS处理且可以生成最终框120的集合。可以提供最终框120,以在装置124上输出或显示。
例如,可以使用一个或多个公知的计算机系统,例如图4所示的计算机系统400,来实现各种实施例。例如,可以使用一个或多个计算机系统400来实现本文所讨论的任何实施例及其组合和子组合。
计算机系统400可以包括一个或多个处理器(也称为中央处理单元,或CPU),例如处理器404。处理器404可以连接到通信基础设施或总线406。
计算机系统400还可包括客户输入/输出装置403,例如监视器、键盘、指点装置等,其可通过客户输入/输出接口402与通信基础设施406通信。
处理器404中的一个或多个可以是图形处理单元(GPU)。在实施例中,GPU可以是处理器,其是被设计为处理数学上密集的应用的专用电子电路。GPU可具有并行结构,其可高效地并行处理大数据块,例如对于计算机图形应用程序、图像、视频等常见的数学密集型数据。
计算机系统400还可以包括主存储器或初级存储器408,例如随机存取存储器(RAM)。主存储器408可包括一级或多级高速缓存。主存储器408可以在其中存储控制逻辑(即,计算机软件)和/或数据。
计算机系统400还可包括一个或多个次级存储装置或存储器410。次级存储器410可以包括例如硬盘驱动器412和/或可拆卸存储装置或驱动器414。可拆卸存储驱动器414可以是软盘驱动器、磁带驱动器、光盘驱动器、光存储装置、磁带备份装置和/或任何其它存储装置/驱动器。
可拆卸存储驱动器414可以与可拆卸存储单元418交互。可拆卸存储单元418可以包括其上存储有计算机软件(控制逻辑)和/或数据的计算机可用或可读存储装置。可拆卸存储单元418可以是软盘、磁带、光盘、DVD、光存储盘和/或任何其它计算机数据存储装置。可拆卸存储驱动器414可以从可拆卸存储单元418读取和/或向其写入。
次级存储器410可以包括用于允许计算机程序和/或其它指令和/或数据被计算机系统400访问的其它装置、设备、组件,仪器或其它方式。这样的装置、设备、组件、仪器或其它方式可以包括例如可拆卸存储单元422和接口420。可拆卸存储单元422和接口420的示例可以包括:程序盒带和盒带接口(例如在视频游戏装置中使用的接口)、可拆卸存储芯片(例如EPROM或PROM)和相关的插槽、存储棒和USB端口、存储卡和相关的存储卡插槽、和/或任何其它可拆卸存储单元和相关的接口。
计算机系统400还可以包括通信或网络接口424。通信接口424可以使计算机系统400能够与外部装置、外部网络、外部实体等的任何组合进行通信和交互。(分别和共同由附图标记428指示)。例如,通信接口424可以允许计算机系统400通过通信路径426与外部或远程装置428通信,该通信路径可以是有线和/或无线的(或其组合),并且可以包括LAN、WAN、互联网等的任何组合。可以经由通信路径426将控制逻辑和/或数据发送到计算机系统400和从计算机系统400发送。
计算机系统400也可以是以下中的任何一个:个人数字助理(PDA)、台式工作站、便携式计算机或笔记本计算机、上网本、平板计算机、智能电话、智能手表或其它可穿戴设备、家用电器、物联网的一部分,和/或嵌入式系统,仅举几个非限制性示例,或其任意组合。
计算机系统400可以是客户端或服务器,可以通过任何交付方式访问或托管任何应用程序和/或数据,包括但不限于远程或分布式云计算解决方案;本地或当地(on-premises)软件(基于云的“当地”解决方案);“即服务”模型(例如,内容即服务(CaaS),数字内容即服务(DCaaS),软件即服务(SaaS),托管软件即服务(MSaaS),平台即服务(PaaS),桌面即服务(DaaS),框架即服务(FaaS),后端即服务(BaaS),移动后端即服务(MBaaS),基础设施即服务(IaaS),等等);和/或混合模型,包括上述示例或其它服务或交付方式的任意组合。
计算机系统400中的任何适用的数据结构、文件格式和模式可以源自以下标准,包括但不限于:JavaScript对象符号(JSON),可扩展标记语言(XML),另一种标记语言(YAML),可扩展超文本标记语言的标准中(XHTML),无线标记语言(WML),MessagePack,XML用户界面语言(XUL)或任何其它功能相似的表示形式,单独或组合使用。替代地,可以专有地或与已知或开放的标准结合使用专有数据结构、格式或模式。
在一些实施例中,包括存储在其上的控制逻辑(软件)的有形、非暂时性计算机可用或可读介质的有形、非暂时性设备或制品在本文中也可以称为计算机程序产品或程序存储装置。这包括但不限于计算机系统400、主存储器408、次级存储器410、可拆卸存储单元418和422,以及体现上述任意组合的有形制品。当由一个或多个数据处理装置(例如计算机系统400)执行时,这样的控制逻辑可以使这样的数据处理装置按本文所述进行操作。
基于本公开中包含的教导,对于相关领域的技术人员而言显而易见的是,如何使用除图4中所示之外的数据处理装置、计算机系统和/或计算机架构来制造和使用本公开的实施例。特别地,除了本文描述的实施方式之外,实施例还可以与软件、硬件和/或操作系统实施方式一起操作。
应当理解,“具体实施方式”部分而不是其它任何部分旨在用于解释权利要求。其它部分可以阐述发明人所设想的一个或多个但不是全部示例性实施例,因此,无意以任何方式限制本公开或所附的权利要求。
尽管本公开描述了示例性领域和应用的示例性实施例,但是应当理解,本公开不限于此。其它实施例及其修改是可能的,并且在本公开的范围和精神内。例如,并且在不限制本段落的一般性的情况下,实施例不限于本文描述的附图和/或所示的软件、硬件、固件和/或实体。此外,实施例(无论是否在本文明确描述)对于本文所描述的示例以外的领域和应用都具有显著的实用性。
本文已经借助于示出特定功能及其关系的实施方式的功能构建块描述了实施例。为了描述的方便,本文已经任意定义了这些功能构建块的边界。只要适当地执行了指定的功能和关系(或其等同物),可以定义替代边界。另外,替代实施例可以使用与本文所述顺序不同的顺序执行功能块、步骤、操作、方法等。
本文中对“一个实施例”、“实施例”、“示例实施例”或类似短语的引用表示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例都不一定包括特定的特征、结构或特性。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否在本文明确提及或描述,将这种特征、结构或特性结合到其它实施例中都将在相关领域技术人员的知识范围内。另外,可以使用表述“耦接”和“连接”及其派生词来描述一些实施例。这些术语不一定是彼此的同义词。例如,可以使用术语“连接”和/或“耦接”来描述一些实施例,以表示两个或更多个元件彼此直接物理或电接触。但是,术语“耦接”也可以表示两个或多个元素彼此不直接接触,但仍然彼此协作或交互。
本公开的广度和范围不应由任何上述示例性实施例限制,而应仅根据所附权利要求及其等同物来限定。
Claims (11)
1.一种计算机实现的方法,包括:
接收图像,所述图像包括多个像素和每个像素的像素信息,其中所述像素信息指示与相应像素相关联的、与所述图像内的对象对应的边界框,以及与所述相应像素的边界框相关联的置信度得分;
从所述多个像素确定像素的阈值集合,其中所述像素的阈值集合中的每一个像素的置信度得分超过置信度阈值;
从所述像素的阈值集合迭代地移除不与所述边界框中的至少一个的中心对应的像素,直到保留的像素的每一个与所述边界框中的至少一个的中心对应,其中与所述边界框中的中心对应的像素形成像素的子集;
确定所述边界框的每一个的中心,其中所述中心指向所述多个像素中的一个;
确定作为所述边界框的一个的中心的所述多个像素中的至少一个具有小于所述置信度阈值的置信度得分,并且包含在所述像素的子集中;以及
基于所述像素的子集,基于所述像素的子集的边界框的重叠以及所述相关联的置信度得分,确定与所述图像的每个对象相关联的最终边界框。
2.根据权利要求1所述的方法,还包括:
确定与所述多个像素的第一个对应的所述边界框的第一个的中心指向其自身作为所述中心。
3.根据权利要求1所述的方法,其中从计算装置的神经网络接收所述图像和所述像素信息。
4.根据权利要求1所述的方法,其中指示所述边界框的所述像素信息包括所述边界框在所述图像上的长度、宽度和位置。
5.根据权利要求1所述的方法,还包括:
提供所述图像以在计算装置上显示,其中所述提供的图像包括与所述图像的每个对象相关联的最终边界框。
6.一种用于提供对象检测和候选过滤的系统,包括:
存储器;以及
至少一个处理器,所述至少一个处理器耦接到所述存储器并被配置为:
接收图像,所述图像包括多个像素和每个像素的像素信息,其中所述像素信息指示与相应像素相关联的、与所述图像内的对象对应的边界框,以及与所述相应像素的边界框相关联的置信度得分;
从所述多个像素确定像素的阈值集合,其中所述像素的阈值集合中的每一个像素的置信度得分超过置信度阈值;
从所述像素的阈值集合迭代地移除不与所述边界框中的至少一个的中心对应的像素,直到保留的像素的每一个与所述边界框中的至少一个的中心对应,其中与所述边界框中的中心对应的像素形成像素的子集;
确定所述边界框的每一个的中心,其中所述中心指向所述多个像素中的一个;
确定作为所述边界框的一个的中心的所述多个像素中的至少一个具有小于所述置信度阈值的置信度得分,并且包含在所述像素的子集中;并且
基于所述像素的子集,基于所述像素的子集的边界框的重叠以及所述相关联的置信度得分,确定与所述图像的每个对象相关联的最终边界框。
7.根据权利要求6所述的系统,其中所述至少一个处理器还配置为:
确定与所述多个像素的第一个对应的所述边界框的第一个的中心指向其自身作为所述中心。
8.根据权利要求6所述的系统,其中从计算装置的神经网络接收所述图像和所述像素信息。
9.根据权利要求6所述的系统,其中指示所述边界框的所述像素信息包括所述边界框在所述图像上的长度、宽度和位置。
10.根据权利要求6所述的系统,其中所述至少一个处理器还配置为:
提供所述图像以在计算装置上显示,其中所述提供的图像包括与所述图像的每个对象相关联的最终边界框。
11.一种非暂时性计算机可读装置,具有储存于其上的指令,所述指令在由至少一个计算装置执行时使得所述至少一个计算装置执行包括以下的操作:
接收图像,所述图像包括多个像素和每个像素的像素信息,其中所述像素信息指示与相应像素相关联的、与所述图像内的对象对应的边界框,以及与所述相应像素的边界框相关联的置信度得分;
从所述多个像素确定像素的阈值集合,其中所述像素的阈值集合中的每一个像素的置信度得分超过置信度阈值;
从所述像素的阈值集合迭代地移除不与所述边界框中的至少一个的中心对应的像素,直到保留的像素的每一个与所述边界框中的至少一个的中心对应,其中与所述边界框中的中心对应的像素形成像素的子集;
确定所述边界框的每一个的中心,其中所述中心指向所述多个像素中的一个;
确定作为所述边界框的一个的中心的所述多个像素中的至少一个具有小于所述置信度阈值的置信度得分,并且包含在所述像素的子集中;以及
基于所述像素的子集,基于所述像素的子集的边界框的重叠以及所述相关联的置信度得分,确定与所述图像的每个对象相关联的最终边界框。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/288,357 | 2019-02-28 | ||
US16/288,357 US10915786B2 (en) | 2019-02-28 | 2019-02-28 | Object detection and candidate filtering system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625668A CN111625668A (zh) | 2020-09-04 |
CN111625668B true CN111625668B (zh) | 2021-09-21 |
Family
ID=68470325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911141339.2A Active CN111625668B (zh) | 2019-02-28 | 2019-11-20 | 对象检测和候选过滤系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10915786B2 (zh) |
EP (2) | EP3876201B1 (zh) |
CN (1) | CN111625668B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188740B2 (en) * | 2019-12-18 | 2021-11-30 | Qualcomm Incorporated | Two-pass omni-directional object detection |
CN111931723B (zh) * | 2020-09-23 | 2021-01-05 | 北京易真学思教育科技有限公司 | 目标检测与图像识别方法和设备、计算机可读介质 |
US11562554B1 (en) * | 2020-11-12 | 2023-01-24 | Amazon Technologies, Inc. | Workload reduction for non-maximum suppression operation |
KR20220083232A (ko) * | 2020-12-11 | 2022-06-20 | 현대자동차주식회사 | 객체의 픽셀 데이터 생성 방법, 객체의 방향성 결정 방법, 객체 추적 방법 및 장치와 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
CN112863187B (zh) * | 2021-01-18 | 2022-04-15 | 阿波罗智联(北京)科技有限公司 | 感知模型的检测方法、电子设备、路侧设备和云控平台 |
CN115812222A (zh) * | 2021-03-31 | 2023-03-17 | 辉达公司 | 边界框的生成 |
KR20220143404A (ko) * | 2021-04-16 | 2022-10-25 | 현대자동차주식회사 | 센서 정보 융합 방법 및 장치와 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106295678A (zh) * | 2016-07-27 | 2017-01-04 | 北京旷视科技有限公司 | 神经网络训练与构建方法和装置以及目标检测方法和装置 |
CN107636589A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 用于减少多个限界区的系统和方法 |
CN107871117A (zh) * | 2016-09-23 | 2018-04-03 | 三星电子株式会社 | 用于检测对象的设备和方法 |
CN108701376A (zh) * | 2016-02-09 | 2018-10-23 | 英特尔公司 | 三维图像的基于识别的对象分割 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9769354B2 (en) * | 2005-03-24 | 2017-09-19 | Kofax, Inc. | Systems and methods of processing scanned data |
US8180178B2 (en) * | 2009-06-24 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Autocropping and autolayout method for digital images |
US8938116B2 (en) * | 2011-12-08 | 2015-01-20 | Yahoo! Inc. | Image cropping using supervised learning |
KR101697652B1 (ko) * | 2012-04-25 | 2017-01-18 | 한국전자통신연구원 | 3차원 영상 시스템에서 영상 객체를 추출하기 위한 장치 및 그 방법 |
EP2804128A3 (en) * | 2013-03-22 | 2015-04-08 | MegaChips Corporation | Human detection device |
GB2529671B (en) * | 2014-08-28 | 2017-03-08 | Canon Kk | Transformation of 3-D object for object segmentation in 3-D medical image |
EP3265994B1 (en) * | 2015-03-06 | 2020-01-15 | Flir Systems, Inc. | Anomalous pixel detection |
BR112018014857B1 (pt) * | 2016-01-22 | 2024-02-27 | Nissan Motor Co., Ltd | Método de determinação do pedestre e dispositivo de determinação |
US10346723B2 (en) * | 2016-11-01 | 2019-07-09 | Snap Inc. | Neural network for object detection in images |
CN110235138B (zh) * | 2016-12-05 | 2023-09-05 | 摩托罗拉解决方案公司 | 用于外观搜索的系统和方法 |
WO2018119668A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种行人头部识别方法及系统 |
US10380853B1 (en) * | 2017-05-22 | 2019-08-13 | Amazon Technologies, Inc. | Presence detection and detection localization |
US10679351B2 (en) | 2017-08-18 | 2020-06-09 | Samsung Electronics Co., Ltd. | System and method for semantic segmentation of images |
US10997727B2 (en) * | 2017-11-07 | 2021-05-04 | Align Technology, Inc. | Deep learning for tooth detection and evaluation |
US10579901B2 (en) * | 2017-12-05 | 2020-03-03 | Canon Kabushiki Kaisha | Method, system and apparatus for comparing objects in images |
US10157331B1 (en) * | 2018-03-08 | 2018-12-18 | Capital One Services, Llc | Systems and methods for image preprocessing to improve accuracy of object recognition |
-
2019
- 2019-02-28 US US16/288,357 patent/US10915786B2/en active Active
- 2019-11-06 EP EP21167995.6A patent/EP3876201B1/en active Active
- 2019-11-06 EP EP19207364.1A patent/EP3703010B1/en active Active
- 2019-11-20 CN CN201911141339.2A patent/CN111625668B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636589A (zh) * | 2015-05-08 | 2018-01-26 | 高通股份有限公司 | 用于减少多个限界区的系统和方法 |
CN108701376A (zh) * | 2016-02-09 | 2018-10-23 | 英特尔公司 | 三维图像的基于识别的对象分割 |
CN106295678A (zh) * | 2016-07-27 | 2017-01-04 | 北京旷视科技有限公司 | 神经网络训练与构建方法和装置以及目标检测方法和装置 |
CN107871117A (zh) * | 2016-09-23 | 2018-04-03 | 三星电子株式会社 | 用于检测对象的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111625668A (zh) | 2020-09-04 |
EP3876201B1 (en) | 2024-05-22 |
EP3876201C0 (en) | 2024-05-22 |
EP3876201A1 (en) | 2021-09-08 |
US20200279128A1 (en) | 2020-09-03 |
EP3703010A1 (en) | 2020-09-02 |
EP3703010B1 (en) | 2021-04-14 |
US10915786B2 (en) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625668B (zh) | 对象检测和候选过滤系统 | |
US10885365B2 (en) | Method and apparatus for detecting object keypoint, and electronic device | |
EP4033453A1 (en) | Training method and apparatus for target detection model, device and storage medium | |
US10977523B2 (en) | Methods and apparatuses for identifying object category, and electronic devices | |
EP3910543A2 (en) | Method for training object detection model, object detection method and related apparatus | |
US20190340744A1 (en) | Image processing method, terminal and storge medium | |
CN112857268B (zh) | 对象面积测量方法、装置、电子设备和存储介质 | |
CN115063875B (zh) | 模型训练方法、图像处理方法、装置和电子设备 | |
CN109711508B (zh) | 图像处理方法和装置 | |
US20210357710A1 (en) | Text recognition method and device, and electronic device | |
CN111444807B (zh) | 目标检测方法、装置、电子设备和计算机可读介质 | |
JP2022185144A (ja) | 対象検出方法、対象検出モデルのレーニング方法および装置 | |
US20230096921A1 (en) | Image recognition method and apparatus, electronic device and readable storage medium | |
CN115311469A (zh) | 图像标注方法、训练方法、图像处理方法以及电子设备 | |
CN114511743A (zh) | 检测模型训练、目标检测方法、装置、设备、介质及产品 | |
CN113837194A (zh) | 图像处理方法、图像处理装置、电子设备以及存储介质 | |
CN113963011A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN112508005A (zh) | 用于处理图像的方法、装置、设备以及存储介质 | |
CN113032071A (zh) | 页面元素定位方法、页面测试方法、装置、设备和介质 | |
CN113205131A (zh) | 图像数据的处理方法、装置、路侧设备和云控平台 | |
CN111507944A (zh) | 皮肤光滑度的确定方法、装置和电子设备 | |
CN112749707A (zh) | 利用神经网络进行目标分割的方法、设备和介质 | |
CN111401383A (zh) | 基于图像检测的目标框预估方法、系统、设备及介质 | |
CN116128863B (zh) | 一种医学图像处理方法、装置及设备 | |
CN115841475A (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 |