首页 / 物体的多模型检测

物体的多模型检测有效专利 发明

技术领域

[0001] 本公开涉及物体检测,更具体地,涉及一种物体的多模型检测。

相关背景技术

[0002] 已经开发计算机来执行各种计算机视觉任务。在日常生活的许多方面中特别重要的这样一种计算机视觉任务是物体检测,它通常涉及计算机处理给定图像以识别和定位给定图像内的某些受关注的物体。
[0003] 最近,已经开发出能够执行计算机视觉任务的系统,以帮助人类筛查人员(例如,机场,博物馆等处的安保人员)从某个位置的场景图像中识别出存在于个人身上和/或包含在一件行李中以及可能存在受关注的物体的其他位置的受关注的物体(例如,潜在的安全威胁,违禁品等)。这种系统改进了传统上由人类执行的物体识别。
[0004] 如上所述,传统上,人类要负责识别场景图像内的受关注的物体,例如TSA安全筛查人员确定所扫描行李物品的图像是否包含任何被视为安全风险的物体(例如,枪,刀等)。然而,人类通常在执行这种零星的视觉搜索方面表现不佳,这至少部分是由于认知疲劳。因此,人类通常无法在扫描的场景图像中识别出受关注的物体,这可能导致各种负面后果,例如枪进入旅客列车、航班、公共汽车等。
[0005] 因此,已经开发了计算机系统来代表人类执行物体检测。通常,物体检测是指以下功能:(i)识别场景图像中潜在的受关注的物体,(ii)对受关注的物体进行分类(例如,通过确定物体属于“枪”或“锋利物”类),(iii)确定物体分类的置信度,以及(iv)确定图像内物体的定位描述(例如,通过为图像内物体限定边界框)。
[0006] 近来,计算机系统已经变得相对擅长对“简单”场景图像执行物体检测。但是,随着场景图像变得更加“复杂”,现有的计算机系统在执行物体检测方面变得越来越差。例如,一些现有系统可以在扫描的行李物品的图像内准确地对受关注的物体执行物体检测,该扫描的行李物品包含以最小重叠方式排列的少量物体。另一方面,现有系统的准确性随着扫描的行李物品内的物体数量的增加、物体的布置变得更加拥挤、和/或目标受关注的物体分类的数量的增加而降低。
[0007] 为了帮助解决现有物体检测系统的这些以及其他问题,本文公开的示例提供了一种物体检测系统,该系统利用多个物体检测模型来检测场景图像内的受关注的物体。相对于依靠单个模型来执行物体检测的现有系统和仅依靠多个模型来执行物体检测的分类功能的现有系统(整体上本质上没有物体检测复杂),这样的系统提供了技术上的改进。在这方面,本公开的新的多模型物体检测系统可以提供优于现有系统的各种技术优势,例如,改进的物体检测精度、改进的检测速率、降低的误报、可支持的受关注的物体分类数量的增加、和/或促进持续的系统增强等优点。
[0008] 除了提供对现有物体检测系统的技术改进之外,多模型物体检测系统还提出了其自身的附加技术挑战,这些挑战由本文公开的示例实施例解决。例如,对于给定图像,多模型系统的每个模型都会生成其自己的关于给定图像内特定受关注的物体的一组物体检测结论(即“推断”),该结论可能包括(i)分配给特定受关注的物体的分类“标签”(可能构成“分类结论”的全部或部分),(ii)特定受关注的物体的分类的置信度(可能构成“置信结论”的全部或部分),以及(iii)在给定图像内特定受关注的物体的定位描述(例如,受关注的物体限定的边界框的大小和/或位置)(可以形成“定位结论”的全部或部分)。一组物体检测结论也可以包括其他类型的结论,这可能取决于给定物体检测模型的性质。
[0009] 实际上,来自多模型系统的第一模型的一组物体检测结论至少有时会不同于来自多模型系统的第二模型的一组物体检测结论。例如,第一模型可以将特定受关注的物体分类为“锋利物”,而第二模型可以将特定受关注的物体分类为“枪”。作为另一示例,第一模型可以为特定受关注的物体限定边界框,该边界框在给定图像内限定出不同于第二模型限定的边界框的区域的区域。因此,提出了一种多模型系统,其中存在挑战,即确定给定图像内是否存在多个受关注的物体和/或两个或两个以上竞争性结论(competing conclusion)是否指向给定图像内的相同受关注的物体。
[0010] 这些挑战可能与一个或多个“下游”动作相关联,这些动作可以由多模型系统基于多组物体检测结论来执行。例如,多模型系统可能必须选择多个竞争的物体检测结论中的哪一个(如果有的话),作为将物体检测结果呈现给安全筛查人员工作站等的显示器的基础。作为另一示例,多模型系统可能必须基于多个竞争的物体检测结论来选择是否应当允许扫描的行李物品通过筛查系统、或被阻止以便由行李处理人员等进行进一步检查。
[0011] 因此,多模型系统通常面临着调和其多组物体检测结论中的差异的挑战,以便为给定图像内的每个感知到的受关注的物体生成一组结论。本公开的新的多模型物体检测系统有助于为这种调和挑战提供技术解决方案。

具体实施方式

[0070] 本文提出的公开内容参考了多个示例实施例和实例以及附图。本领域的普通技术人员应该理解,这样的参考仅出于清楚和解释的目的,并不意味着是限制性的。实际上,可以以各种方式对所公开的系统、设备和/或过程的部分或全部进行重新布置、组合、添加和/或省略,在此可以考虑每种方式。
[0071] I.示例系统配置
[0072] 图1示出了可以实现示例实施例的示例系统配置100。如图所示,系统配置100在其核心处包括物体检测系统110,该系统通过一个或多个链接130耦接到一个或多个筛查系统120。
[0073] 实际上,每个筛查系统(screening system,检查系统)120位于特定地理位置处的筛查检查站,筛查检查站可以包括彼此通信耦接的多个筛查系统120,例如在机场等。每个筛查系统120包括至少一个检测设备122,其被配置为扫描或以其他方式捕获场景的一个或多个图像。每个检测设备122可以采取多种形式,包括但不限于X射线机、金属检测器、MRI扫描仪、CT扫描仪、毫米波扫描仪、谱带扫描仪或其他类型的扫描设备。
[0074] 通常,场景包括二维(2D)区域或三维(3D)空间,至少一个检测设备122可以在给定的时间点(在此期间该区域或空间可以包含一个或多个物体)对该区域或空间进行扫描。存在各种各样的场景示例,例如筛查系统内的行李物品、货物集装箱、邮件包裹等经过以进行扫描的区域,筛查系统中人类站立进行扫描的区域,或对一群人进行扫描的公共场所内的区域等,以及众多其他场景示例。
[0075] 同样,场景中可能存在物体的各种示例,例如行李物品(例如,钱包、公文包、一件行李、背包等)、人员、货运或货物集装箱、以及邮件或其他包裹,还有许多其他示例。在实践中,扫描场景中的物体通常本身也包含一个或多个物体(例如,电子设备、钱包、钥匙、书籍、衣物、食物、打火机、违禁品等),并且一些物体可能被认为是特定筛查系统120处的受关注的物体。
[0076] 通常,受关注的物体是具有被认为是受关注的(例如,安全威胁)类型或分类中的物体的一个或多个特征的物体,因此应特别注意该物体。受关注的物体的一些示例可以包括枪、锋利物(例如,刀等)、液体、爆炸物、打火机、某些电子设备、以及传统上不受关注但已以某种方式变型过的物体,以及许多其他示例。
[0077] 在操作中,为每个筛查系统120分配一个或多个不同的受关注的物体,并且那些一个或多个受关注的物体可能取决于特定筛查系统120的类型、性质和/或位置以及其他因素。此外,特定筛查系统120的受关注的物体一旦被定义就可以是静态的或是可以动态更新的。例如,当给定筛查系统120附近的地理区域的安全威胁等级等改变时,给定筛查系统120的一个或多个受关注的物体可以改变。
[0078] 在任何情况下,物体检测系统110可以接收并存储反映每个特定筛查系统120的相应的一个或多个受关注的物体的数据。在示例实施方式中,该数据可以指示针对每个特定筛查系统120的一个或多个物体检测要求,例如特定的一组受关注的物体和/或标记这些受关注的物体的特定标准(例如,最小置信度等)。在实践中,物体检测系统110可以从筛查系统120本身和/或通信地耦接到物体检测系统110的另一系统,接收该数据。
[0079] 如上所述,每个检测设备122被配置为捕获场景的一个或多个图像。在一些实现中,检测设备122可以捕获场景的单个图像。在其他实例中,检测设备122可以捕获场景的多个不同图像。多个图像可以来自相同的单个视角或来自多个不同的视角(例如,给定行李箱的顶视图图像和侧视图图像)。在一些情况下,一个或多个图像可以包括场景的三维“切片”,其中每个切片表示以不同的扫描深度等级对场景进行的扫描。
[0080] 实际上,每个检测设备122被配置为使用一个或多个数据表示来表示其一个或多个捕获图像。例如,可以使用像素、体素、多边形、三维切片或可用于构造2D或3D图像数据的任何其他类型的数据结构,来表示捕获的图像。一个或多个捕获的图像中的每一个可以包括扫描场景的低级表示或扫描场景的高级表示,以及其他可能性。在某些情况下,可以根据标准格式来表示捕获的图像,诸如安全数字成像和通信(DICOS)格式,以及其他可能性。此外,每个检测设备122可以被配置为针对描述场景的各个方面的给定捕获图像生成元数据,诸如对应于给定捕获图像的部分或全部的材料密度、几何尺寸、原子序数和/或光谱数据,以及其他方面。
[0081] 在检测设备122捕获场景的一个或多个图像之后,然后该设备可以将捕获的一个或多个图像的图像数据输出到各种设备。作为一种可能性,检测设备122可以将图像提供给筛查系统120(检测设备122是该系统的一部分)的一个或多个输出设备124。通常,筛查系统120的每个输出设备124采取计算设备的形式,其被配置为响应于本文描述的与物体检测有关的一个或多个功能,提供视觉、听觉、触觉和/或其他感觉输出。就这一点而言,每个输出设备124可以包括显示器、扬声器、振动机构和一些其他用户输出组件中的至少一个,以及其他组件。输出设备124的示例包括固定计算设备(例如,作为筛查系统120的工作站的一部分的计算机)、和经由无线网络通信地耦接至筛查系统120的移动计算设备(例如,智能电话、平板电脑、可穿戴计算设备),以及其他可能性。
[0082] 作为另一种可能性,检测设备122可以通过一个或多个链路130将捕获的一个或多个图像的图像数据发送到物体检测系统110。在一些实例中,物体检测系统110通过诸如互联网的广域网(WAN)通信地耦接到筛查系统120的部分或全部,因此,一个或多个链路130可以采取促进WAN通信的一个或多个有线和/或无线通信路径的形式。在其他实例中,物体检测系统110通过局域网(LAN)通信地耦接到筛查系统120的部分或全部,因此,一个或多个链路130可以采取促进LAN通信的一个或多个有线和/或无线通信路径的形式。在其他实例中,物体检测系统110通过一个或多个WAN和一个或多个LAN的组合,通信地耦接到筛查系统120的部分或全部。
[0083] 在一些情况下,诸如经由串行总线或其他连接机制,物体检测系统110的全部或部分物理地耦接到一个或多个筛查系统120的部分或全部。在这方面,物体检测系统110的全部或部分可以与一个或多个筛查系统120集成。在其他情况下,物体检测系统110的全部或部分位于远离一个或多个筛查系统120的位置。例如,物体检测系统110或其部分可以在云中实现,而每个筛查系统120可以位于机场、火车站、公交车站、邮件分拣设施、货运中心等,以及其他可能性。在任何上述布置中,物体检测系统110可以被配置为与可以由第三方(即,与物体检测系统110本身的制造商不同的制造商)制造的筛查系统120对接,例如天体物理学筛查系统、Rapiscan筛查系统(例如,当前的Rapiscan系统包括Rapiscan 618XR HP、620XR HP、622XR HP、618XR、620XR、620DV或622XR)或Smiths筛查系统,以及其他示例。
[0084] II.示例物体检测系统
[0085] 通常,物体检测系统110被配置为基于来自一个或多个筛查系统120的场景图像来执行物体检测功能。在示例实施例中,物体检测可能涉及以下部分或全部功能:(i)识别在场景图像内感知到的受关注的物体,(ii)对感知到的受关注的物体进行分类(例如,通过确定物体属于“枪”或“尖锐物”类)(iii)确定感知到的受关注的物体分类的置信度,以及(iv)确定图像中感知到的受关注的物体的定位描述(例如,通过为图像内感知到的受关注的物体限定边界框)。
[0086] 图2是示出了可以包括在物体检测系统110中的一些组件的简化框图。在实践中,物体检测系统110可以包括一起作用以执行物体检测的一个或多个计算机设备,并且这些一个或多个计算机设备可以共同包括至少一个处理器111、数据存储器112、至少一个图形处理单元(GPU)114和至少一个通信接口115,所有这些都可以通过采用系统总线或某种其他连接机制形式的通信链路116连接。
[0087] 处理器111可以包括一个或多个处理器组件,例如一个或多个通用处理器、一个或多个专用处理器、和/或一个或多个可编程逻辑设备,以及其他类型的处理器。在某些情况下,处理器111可以包括一个或多个中央处理单元(CPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其任意组合。处理器111也可以采用各种其他形式。
[0088] 数据存储器112可以包括一个或多个非暂时性计算机可读存储介质,例如易失性存储介质(例如,随机存取存储器、寄存器、高速缓存等)和非易失性存储介质(例如,只读存储器、硬盘驱动器、固态驱动器、闪存、光存储设备等),以及其他示例。数据存储器112包括使物体检测系统110能够执行本文公开的功能的软件。在这方面,软件可以采取可由处理器111执行的一组或多组程序指令的形式,以使物体检测系统110执行本文公开的功能。
[0089] 此外,如图2所示,数据存储器112可以配备有一个或多个物体检测模型113a、113b。在数据存储器112配备有两个或两个以上物体检测模型113a至113b的实施例中,物体检测系统110可以被配置为多模型物体检测系统。尽管图2中所示的物体检测系统110仅包括两个物体检测模型113a至113b,但这不应被解释为限制性的。实际上,应当理解,物体检测系统110可以包括两个以上的物体检测模型。
[0090] 通常,物体检测模型113a至113b中的每一个被配置为接收扫描场景的给定图像,针对一个或多个受关注的物体评估该给定图像,然后为给定图像生成一组或多组物体检测结论。每组物体检测结论可以包括关于给定图像内给定感知到的受关注的物体的一个或多个结论(即“推论”),该结论可以包括(i)分配给给定感知受关注的物体的分类“标签”(可能构成“分类结论”的全部或部分),(ii)给定感知受关注的物体的分类的置信度(可能构成“置信结论”的全部或部分),和/或(iii)给定图像内给定感知受关注的物体的定位描述(例如,给定感知受关注的物体的适当边界框(可以由一组坐标等限定)的尺寸和/或位置)(可能构成“定位结论”的全部或部分)。一组物体检测结论可以可替代地或另外地包括一个或多个其他类型的物体检测结论,这可以取决于生成该组物体检测结论的给定物体检测模型的性质。在实践中,给定的物体检测模型113a至113b有时会为给定图像内的相同感知受关注的物体生成多组物体检测结论。
[0091] 每个物体检测模型113a至113b可以采取多种形式。例如,物体检测模型113a至113b中的一些或每一个可以采取机器学习物体检测模型、基于规则的物体检测模型、或某种其他形式的基于计算机视觉的物体检测模型的形式,以及其他可能性。在示例实现中,物体检测模型113a至113b中的每一个可以采取一个或多个单级或多级物体检测模型的形式。
同样,物体检测模型113a至113b中的每一个可以采用一个或多个基于神经网络的物体检测模型的形式,每个基于神经网络的物体检测模型都是根据特定的架构类型(例如YOLO、SSD、AlexNet、RetinaNet、VGGNET、FPN、R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN等)设计的。下面讨论关于物体检测模型113a至113b的附加功能细节。
[0092] 实际上,两个或两个以上物体检测模型113a至113b可以在至少一个特征上不同。例如,可能已经训练了两个或两个以上物体检测模型113a至113b以识别不同的受关注的物体(例如,训练物体检测模型113a以识别“枪”,并且物体检测模型113b被训练为识别“锋利物”)。作为另一示例,可能已经训练了两个或两个以上物体检测模型113a至113b以识别相同的受关注的物体,但是被有区别地训练,例如通过使用不同的训练图像集(例如,物体检测模型113a针对对抗图像数据进行训练,物体检测模型113b针对一般图像数据进行训练)和/或训练参数,以及其他可能性。作为又一个示例,可能已经训练了两个或两个以上物体检测模型113a至113b以识别相同的受关注的物体,但是由不同的供应商、制造商等设计。作为进一步的示例,可能已经训练了两个或两个以上物体检测模型113a至113b以识别相同的受关注的物体,但是具有不同的架构(例如,物体检测模型113a可以具有YOLO架构,并且物体检测模型113b可以具有Faster R-CNN架构)。另外,两个模型可能存在不同的其他示例特征也是可能的。
[0093] 由于两个或两个以上物体检测模型113a至113b在某些方面有所不同,因此,由两个或两个以上物体检测模型113a至113b输出的两组或两组以上物体检测结论可以至少有时包含两个模型之间不同的一个或多个结论。例如,物体检测模型113a的分类结论可以包括“枪”的标签,而物体检测模型113b的分类结论可以包括“刀”的标签。作为另一示例,物体检测模型113a的定位结论可以为受关注的物体限定边界框,该边界框的面积大于物体检测模型113b的限定的边界框。其他示例也是可能的。如下所述,物体检测系统110被配置为解决由两个或两个以上物体检测模型113a至113b输出的多组物体检测结论中、和/或由单个物体检测模型输出的多组物体检测结论中的任何这样的差异。
[0094] 物体检测系统110的GPU 114可以包括一个或多个图形处理单元,它们可能单独配置和/或与处理器111一起共同配置,以训练物体检测模型113a至113b和/或执行这样的训练物体检测模型113a至113b。在示例实现中,GPU 114可以采用包括多个并行和流水线的单指令多数据(SIMD)单元(可以配置为同时执行数学运算)的GPU的形式。此类GPU的示例可以包括AMD、NVIDIA、Intel等制造的GPU。在某些实现中,GPU 114可以包括专门设计用于执行机器学习的一个或多个处理器,例如一个或多个Google的张量处理单元(TPU),以及其他示例。GPU 114也可以采用各种其他形式。
[0095] 通信接口115通常可以被配置为促进物体检测系统110与数据源(例如,图1中的检测设备122)和输出系统(例如,图1中的输出设备124)之间的数据通信。在示例实现中,这样的数据通信可以是无线和/或有线通信。为此,通信接口115可以采取用于促进这些数据通信的任何合适的形式,例如串行总线接口(例如,USB、火线等)、以太网接口、配置用于无线通信的无线芯片组和/或天线、和/或专有的无线和/或有线通信接口,以及其他可能性。
[0096] 在操作中,通信接口115使物体检测系统110能够将数据输出到各种接收者,作为执行各种物体检测功能的结果。例如,作为物体检测系统110执行多模型物体检测的结果,物体检测系统110可以通过一个或多个链接130使给定筛查系统120的输出设备124显示可视化效果,以使人类安全筛查人员能够分析特定的行李物品等。
[0097] III.示例物体检测模型功能
[0098] 如上所述,图2中的每个物体检测模型113a至113b可以采取多种形式。在示例实施例中,物体检测模型113a至113b中的每一个是基于一种或多种机器学习技术定义的,并且根据可以采取多种形式的特定模型架构来设计。下面的讨论提供了可以在示例实现中使用的两种示例类型的物体检测模型,但是许多其他类型也是可能的。
[0099] 图3提供了采用单级神经网络形式的示例性单级物体检测模型300的概念说明。在高级别上,单级物体检测模型300被配置为接收图像数据301作为输入,然后对图像数据内任何受关注的物体(单级物体检测模型300先前被训练以用于检测)进行定位和分类。
[0100] 更具体地,单级物体检测模型300包括一系列层302a至302n(统称为“层”302),每个层可以采取卷积层、残差层和/或池化层的形式。在示例实现中,一些或所有层302是卷积层,其每个被配置为(i)接收基于原始输入的图像数据301的一组输入值(例如,像素值的阵列,一组体素值等)(例如,对于层302a,一组输入值对应于原始输入的图像数据301;对于更深的层(302b至302n),一组输入值对应于先前层的输出),以及(ii)将一个或多个“内核”应用于一组输入值(其中,每个“内核”包括一组权重并作为过滤器操作)以跨一组输入值进行卷积以生成“特征图”(也称为“激活图”),该特征图提供给定层被识别的原始输入图像数据301中的某些特征表示。
[0101] 实际上,每个层302可以具有一个或多个内核的不同关联组,这可以取决于训练给定层302以识别的特征。例如,层302a可以包括一个或多个内核的第一组,以促进识别低级特征(例如,简单的边缘或曲线),而较深的层可以包括一个或多个内核的第二组,以促进识别更复杂的特征(例如,刀片等)。
[0102] 通常,在训练阶段“学习”到每个给定内核的一组权重,在此阶段(i)训练标记为包含特定分类物体的图像(也称为“地面真值”图像)和(ii)通过单级物体检测模型300传播针对这些物体的相应定位描述(例如,识别训练图像内物体位置的边界框)。单级目标检测模型300通常通过最小化函数来学习每个给定内核的权重。作为这种函数的一个示例,可以使用损失函数,该损失函数进行以下中的任一个或两者(i)对不正确分类的物体和/或不正确定位的边界框进行惩罚,以及(ii)肯定地加强正确分类的物体和/或正确定位的边界框。损失函数的其他示例也是可能的。
[0103] 如上所述,为了应用给定内核,单级物体检测模型300对输入到给定卷积层302的一组输入值执行卷积。该卷积过程通常涉及(i)从作为输入提供给给定层302的一组值中识别值的子集(例如,相邻像素值或特征图值的子集),(ii)将识别出的值的子集乘以给定内核值(例如,执行元素方式乘法),(iii)对这些乘法的结果求和,以及(iv)对作为输入提供给给定层302的一组值中的每个值的子集重复这些步骤,并因此生成被称为“特征图”的一组求和值,因为输出值指示或以其他方式包含有关给定层302检测到的一个或多个特征的信息。这样,卷积层302中的一些或每个可被认为是“特征提取器”或“特征提取层”。
[0104] 在示例实现中,单级物体检测模型300的一层或多层被设计为使得由给定卷积层生成的特征图用作后续卷积层的输入。在其他实现中,单级物体检测模型300的一层或多层被设计为使得由给定卷积层生成的特征图用作分类层的输入。
[0105] 在图3所示的情况下,由特征提取层302a生成的特征图是后续特征提取层302b的输入,其继而可以对输入特征图进一步应用卷积运算以生成指示比层302的特征图更复杂的特征的特征图。生成特征图并使所生成的特征图通过随后的特征提取层的过程,可以继续到最终层302n。
[0106] 分类层通常被配置为生成概率分布,该概率分布指示原始输入图像301的由给定的候选(proposed,提议)的定位结论(例如,候选的边界框)限定的特定部分包含属于特定物体分类的物体的概率。在实践中,一组一个或多个候选的边界框(例如“锚框”或“先验”)指导搜索原始输入的图像301,例如一组具有相应长宽比(例如1:1、1:2、2:1和1:3)的锚框(anchor box)。对于给定特征图中的每个空间像元,这些层可以被配置为针对一组一个或多个候选的边界框输出相应的边界框细化和相应的各自分类置信度值。
[0107] 此后,单级物体检测模型300可以生成嵌入304,其表示层302在原始输入的图像数据301内检测到的一个或多个特征。嵌入304可以采取多维向量的形式,每个维度表示在原始输入的图像数据301内检测到的给定特征。从嵌入304,单级物体检测模型300可以生成包括一个或多个置信度值的最终概率分布306,每一个都表示原始输入的图像数据301的与给定边界框相对应的部分包括属于特定物体分类的物体的概率。
[0108] 然后,单级物体检测模型300能够提供关于给定图像的一组物体检测结论,结论可能包括定位结论、置信结论和分类结论中的部分或全部,以及其他可能的结论。例如,(i)定位结论可以对应于给定的边界框,该边界框可以由原始输入的图像数据301内的一个或多个坐标和/或一个或多个维度来限定,(ii)置信结论可以对应于输出概率(例如,来自概率分布306),指示原始输入的图像数据301中与给定边界框相对应的部分包括属于特定物体分类的物体的概率,以及(iii)分类结论可以对应于分类标签等,其对应于与置信结论相关联的特定物体分类。
[0109] 现在转到图4,提供了示例性的包括至少两个神经网络的两级物体检测模型400的概念图。在高级别上,两级物体检测模型400在概念上类似于图3的示例性单级物体检测模型300,不同之处在于,两级物体检测模型400包括附加神经网络(称为区域候选网络(RPN))执行未在单级物体检测模型300中执行的功能的级。
[0110] 更具体地,两级物体检测模型400包括被配置为执行特征提取的初始阶段的第一系列层。例如,特征提取的初始阶段402接收图像数据401作为输入,通过可采用卷积、残差和/或池化层形式的一层或多层传播图像数据401,并输出提供给RPN 404和感兴趣区域(ROI)池化层406的初始的一组或多组特征图。
[0111] RPN 404被配置为接收初始一组的一个或多个特征图,并在原始输入的图像数据401中识别感兴趣区域,该感兴趣区域最有可能包含RPN被训练以识别的物体。RPN 404输出一个或多个“区域候选”及其伴随的分数,其中(i)每个区域候选采用识别潜在的受关注的物体的候选定位结论(例如,候选的边界框)的形式,以及(ii)每个伴随分数(即“区域候选分数”)采用值的形式,该值指示候选定位结论(例如候选的边界框)包含受关注的物体的概率(即,RPN 404的“置信度”的度量)。换句话说,给定的区域候选分数(例如,介于0和1之间的值)可以表示由候选的边界框(例如,锚框)限定的图像401的给定区域包封受关注的物体的程度。在实践中,这些区域候选分数可能与所包封的物体分类相对不可知。
[0112] RPN 404识别一个或多个区域候选之后,它将关于这些一个或多个区域候选的信息传递给后续的层,这些信息有助于两级物体检测模型400对所识别的一个或多个区域候选执行附加特征提取和分类。例如,ROI池化层406将(i)有关一个或多个区域候选的信息,以及(ii)来自特征提取的初始阶段402的初始的一组一个或多个特征图作为输入,然后将区域候选的数量减少到更易于管理的数量,以通过两级物体检测模型400的后续层进行进一步分析。
[0113] 更具体地,在示例实施例中,ROI池化层406可以采用一些或所有区域候选,并将每个相应的区域候选重塑为两个或两个以上固定大小的池化部分。此后,ROI池化层406可以转换(例如,“池化”)两个或两个以上固定大小池化部分中的每个池化部分的特征图值(例如,使用最大池化功能),以获得每个固定大小的池化部分的代表性特征图值,该值可以采用给定池化部分中的最大值的值。以这种方式,ROI池化层406用于从特征提取的初始阶段402对特征图值进行下采样。在示例实现中,ROI池化层406可以通过将一组代表性特征图值输入到一个或多个全连接层(未示出)中来生成ROI向量。
[0114] 然后,ROI池化层406的输出进入特征提取的“第二”级408,该级通常用于(i)确定任何固定大小的池化部分是否包含属于物体分类(特征提取的第二级408被训练以识别)的物体,以及(ii)执行定位结论(例如边界框)回归。在示例实现中,特征提取的第二级408包括或以其他方式采取支持向量机(SVM)、softmax分类器或另一形式的分类器的形式。
[0115] 在任何情况下,特征提取的第二级408可以生成以下一个或多个作为输出(i)精确的定位结论410(例如,精确的边界框),每一个都对应于特征提取的第二级408确定给定的定位描述(例如,给定的一组边界框的尺寸和/或位置)可能包含属于特定物体分类的物体,以及(ii)相应的置信度412(例如,置信结论),每个置信度412指示给定的精确定位结论包含属于特定物体分类内的物体的概率的度量,而不是仅包括背景图像。基于一个或多个输出,物体检测模型400可以识别与各自的精确定位结论相对应的各自的分类标签,其可以形成模型400的分类结论的全部或一部分。实际上,物体检测模型400可以基于索引等来识别分类标签,该索引的每个条目都映射到给定标签,例如“锋利物”、“刀”、“枪”等。
[0116] 关于示例物体检测模型的其他细节在美国专利申请第15/800,609号中公开,其内容通过引用整体结合于此。
[0117] 如前所述,可以利用除基于神经网络的物体检测模型以外的物体检测模型的形式。例如,两个或两个以上物体检测模型113a至113b中的一个或多个可以采取基于规则的物体检测模型的形式。在特定示例中,基于规则的物体检测模型可以接收与扫描场景相对应的数据作为输入数据,从该数据中确定扫描场景的一个或多个特征(例如,密度和/或原子的、元素的和/或化学的结构),并基于(i)一个或多个确定的特征以及(ii)形成基于规则的物体检测模型的基础的一个或多个预定义规则,输出一个或多个物体检测结论。在这方面,物体检测系统110可以通过针对一个或多个扫描特征识别一个或多个相应值(例如,单个值或值范围)来定义基于规则的物体检测模型,这些值指示一种或多种受关注的物体的分类,然后可以体现为一组一个或多个规则,这些规则形成基于规则的物体检测模型的基础。例如,基于规则的物体检测模型的一个可能示例可以被配置为如果扫描场景的某部分的密度超过阈值密度值(例如,该部分被视为“高密度”区域)并且该部分具有特定的原子结构,则将该部分指定为受关注的物体。其他示例也是可能的。
[0118] 不管物体检测系统110所使用的图2中的物体检测模型113a至113b的类型和/或架构如何,物体检测模型113a至113b中的每一个被配置为接收与扫描场景相对应的数据(例如,图像数据)作为输入,然后基于接收到的数据输出一组物体检测结论,其中可能包括分类结论、置信结论和定位结论中的部分或全部,以及其他可能的结论。
[0119] IV.调和操作示例
[0120] 如先前所讨论的,人类的任务是在场景图像中识别受关注的物体,例如安全筛查人员确定扫描的行李物品的图像是否包含任何被认为具有安全风险的物体(例如,枪、刀等)。然而,人类通常不善于执行这种零星的视觉搜索,这至少部分是由于认知疲劳所致,并且他们通常无法在扫描场景的图像中识别出受关注的物体,这可能导致各种负面后果,例如枪进入旅客列车、航班、公共汽车等。
[0121] 因此,已经开发了计算机系统来代表人类执行物体检测。实际上,近来,这样的计算机系统已经变得相对擅长对“简单”场景的图像执行物体检测。但是,随着场景图像变得更加“复杂”,现有的计算机系统在执行物体检测方面变得越来越差。例如,一些现有系统可以在扫描场景的图像内准确地检测受关注的物体,该扫描场景的图像包含以最小重叠的方式排列的少量物体。另一方面,现有系统的精度随着扫描场景内的物体数量增加、物体的布置变得更加拥挤或混乱、和/或目标受关注的物体分类的数量增加而降低。
[0122] 为了帮助解决现有物体检测系统的这些以及其他问题,本文公开的示例提供了一种物体检测系统110,该系统利用多个物体检测模型来检测场景图像内的受关注的物体。相对于(i)依靠单个模型来执行物体检测的现有系统、以及(ii)仅依赖于多个模型来执行物体检测的分类功能(本质上整体上没有物体检测复杂)(例如,确定给定受关注的物体的分类标签和置信度)的现有系统,该系统提供了技术上的改进。在这方面,本公开的物体检测系统110可以提供优于现有系统的各种技术优势,例如,改进的物体检测精度、改进的检测率、降低的误报、可支持的受关注的物体分类数量的增加、和/或促进持续的系统增强,以及其他优点。
[0123] 除了提供优于现有物体检测系统的技术改进之外,多模型物体检测系统还提出了其自身的附加技术挑战,这些挑战由本文公开的物体检测系统110解决。例如,对于给定图像,多模型物体检测系统的每个模型生成关于在给定图像内的给定感知受关注的物体的一个或多个其本身的物体检测结论组,其中每个这样的组可以包括以下中的一些或全部:(i)分类结论,包括分配给给定感知受关注的物体的分类标签,(ii)置信结论,包括对给定感知受关注的物体的分类的置信度,以及(iii)定位结论,包括给定图像内给定感知受关注的物体的定位描述(例如,对由一组坐标限定的给定物体的边界框的尺寸和/或位置的描述),以及其他可能的结论。
[0124] 实际上,第一模型(例如,图2的物体检测模型113a)中给定图像的一组物体检测结论至少有时在某些方面与第二模型(例如,图2的物体检测模型113b)中给定图像的一组物体检测结论有所不同。因此,物体检测系统110通常面临以下挑战:确定(i)在给定图像中是否存在多个受关注的物体,和/或(ii)两个或两个以上竞争结论是否指向给定图像中的同一受关注的物体。换句话说,物体检测系统110面临调和其多组物体检测结论中的差异的挑战,以便针对给定图像内的每个感知的受关注的物体生成一组结论。本公开的物体检测系统110被配置为通过执行本文公开的一个或多个操作,来提供针对该挑战的技术解决方案。
[0125] 仅出于举例说明的目的,在图1的示例系统配置100的上下文中描述了可以执行以解决物体检测差异的示例操作,其中,物体检测系统110被配置为多模型物体检测系统,并被配置为执行示例调和操作。
[0126] 为了辅助描述这些操作中的一些,可以参考流程图以描述可以执行的操作的组合。在一些实现中,每个流程图框图可以表示程序代码的模块或部分,程序代码包括可由一个或多个处理器执行以在处理中实现特定逻辑功能或步骤的指令。程序代码可以存储在任何类型的计算机可读介质上,例如非暂时性计算机可读介质。在其他实现中,每个框可以表示被布线以执行处理中的特定逻辑功能或步骤的电路。此外,基于特定实施例,流程图中描绘的框可以重新布置成不同的顺序、组合成更少的框、分离成附加的框和/或移除。
[0127] 现在转到图5的流程图500,物体检测系统110被配置为实施示例性多模型物体检测过程,该过程通常涉及(i)在框502,从特定的筛查系统接收扫描场景的图像,(ii)在框504,针对接收到的图像,识别两组或两组以上物体检测结论,(iii)在框506,确定至少第一定位结论和第二定位结论(被确定为指代所接收图像内的相同受关注的物体)之间的相似性,(iv)在框508,基于至少第一定位结论和第二定位结论来限定多个候选分区,(v)在框
510,从多个候选分区中选择代表性分区,(vi)在框512,可以基于所选择的代表性分区,得出针对受关注的物体的调和的一组物体检测结论,(vii)在框514,基于调和的一组物体检测结论,确定接收到的图像是否包括特定筛查系统的受关注的物体,(viii)在框516,至少响应于框512的推导,执行一个或多个操作。这些功能中的每一个将在下面进一步详细描述。
[0128] 在框502处,物体检测系统110接收与由特定筛查系统的一个或多个检测设备扫描的场景相对应的特定图像。在示例实现中,物体检测系统110经由一个或多个链路130,从筛查系统120接收数据传输中的特定图像,该链路可以采取一个或多个无线和/或有线通信路径的形式。在操作中,物体检测系统110可以以各种形式接收表示特定图像的数据,诸如参考图1讨论的形式中的一种。
[0129] 在框504处,物体检测系统110针对接收的图像识别两组或两组以上物体检测结论。在示例实施例中,两组或两组以上物体检测结论是由两个或两个以上物体检测模型(例如,图2的两个或两个以上物体检测模型113a至113b)生成的。在某些情况下,单个物体检测模型(例如,物体检测模型113a或113b)可以一次生成两组或两组以上物体检测结论。其他示例也是可能的。
[0130] 在一些示例实施例中,在针对接收到的图像识别两组或两组以上物体检测结论之前,物体检测系统110被配置为首先选择两个或两个以上物体检测模型(例如,在存在两个以上物体检测模型的情况下),该模型将生成用于接收到的图像的物体检测结论。实际上,物体检测系统110可以以多种方式执行该功能。
[0131] 作为一种可能性,物体检测系统110可以基于多种因素来选择两个或两个以上物体检测模型,这些因素通知物体检测系统110关于哪两个或两个以上物体检测模型将最适合执行接收图像的物体检测,例如设计模型的供应商、制造商等、和/或用于训练模型的训练数据的类型,以及其他因素。例如,由于第一模型的设计者历史上创建比另一模型的设计者更准确的模型,因此第一物体检测模型可以优先于另一模型。作为另一示例,因为用于训练或以其他方式更新第一模型的训练数据优于用于训练或以其他方式更新另一模型的训练数据,所以第一物体检测模型可以优先于另一模型。其他示例也是可能的。
[0132] 作为另一种可能性,物体检测系统110可以基于机器学习模型(例如,一个或多个神经网络)的输出来选择两个或两个以上物体检测模型,该机器学习模型接收作为输入的接收的图像,并输出一个或多个指示,该指示通知物体检测系统110关于哪两个或两个以上物体检测模型最适合于对特定接收的图像执行物体检测。例如,一个或多个指示可以提供特定接收的图像的一个或多个特征的指示(例如,接收的图像被认为是“复杂的”,接收的图像包括高密度区域等),其中,物体检测系统110可以用作选择两个或两个以上物体检测模型的基础,这些模型通常在包含那些一个或多个特征的图像的物体检测中表现良好。作为另一示例,一个或多个指示可以是可用于物体检测系统110的物体检测模型将对特定接收的图像准确地执行物体检测的相应概率。其他示例也是可能的。在某些情况下,这样的机器学习模型可能至少部分地基于稍后讨论的“连续学习”功能进行了训练或以其他方式进行更新。
[0133] 在任何情况下,在物体检测系统110已经识别出两个或两个以上物体检测模型之后,然后,物体检测系统110可以以各种方式从这些模型中的每一个针对接收的图像识别一组或多组物体检测结论。作为一种可能性,物体检测系统110本身包括这两个或两个以上物体检测模型,并利用接收的图像执行每个模型,从而生成两组或两组以上物体检测结论。
[0134] 作为另一种可能性,物体检测系统110可以依靠一个或多个通信耦接到物体检测系统110的其他系统,以利用接收的图像执行两个或两个以上物体检测模型中的部分或全部,然后从中接收两组或两组以上物体检测结论的相应部分。在一些这样的实现中,物体检测系统110可以首先向一个或多个其他系统发送以下内容:(i)接收的图像,以及(ii)识别将要分析接收的图像的两个或两个以上物体检测模型中的一些或全部,这随后将促进一个或多个其他系统生成两组或两组以上物体检测结论。还存在其他可能性,诸如物体检测系统110与另一系统共同操作以生成两组或两组物体检测结论。
[0135] 在任何情况下,如上所述,两个或两个以上物体检测模型中的每一个都经过训练以识别一个或多个受关注的物体,并被配置为生成接收的图像的一组或多组物体检测结论。在这方面,至少有时,任何给定的物体检测模型可以针对给定图像内的相同感知的受关注的物体输出多组物体检测结论。
[0136] 值得注意的是,两个或两个以上物体检测模型在至少一个特征方面不同,例如参照图2讨论的特征之一。结果,由两个或两个以上物体检测模型输出的两组或两组以上物体检测结论可以包括至少一个不同的结论。
[0137] 为了说明,图6A提供了具有4组物体检测结论610、620、630、640的扫描场景的示例图像600的概念说明。在该示例中,图像600可以是穿过机场的TSA筛查系统的行李的扫描件。在此,多组物体检测结论610和640是由第一物体检测模型(例如,“模型A”)(由相同的虚线边界框表示)生成,而多组物体检测结论620和630是由第二物体检测模型(例如,“模型B”)生成(由相同的点划线边界框表示)。如图所示,4组物体检测结论610至640中的每一个均包括相同的分类结论(例如,“刀”),不同的定位结论(例如,如由4个边界框的不同位置和尺寸所指示),以及不同的置信结论(例如32%对39%对40%对45%)。换句话说,虽然分类结论之间没有差异,但定位结论和置信结论之间存在差异。
[0138] 物体检测系统110操作以解决多组物体检测结论之间的差异,以针对接收的图像内的每个感知到的受关注的物体得出单个调和的一组结论。实际上,物体检测系统110可以以各种方式执行这种操作,其实例由图5的框506至512表征。
[0139] 在一些实现中,仅当来自两组或两组以上识别的物体检测结论的两个或两个以上分类结论相同或基本相似时,物体检测系统110系统才可以继续执行以下描述的调和功能。换句话说,物体检测系统110可以被配置为基于它们相应的分类结论来推断:两组或两组以上识别的物体检测结论与接收的图像内的相同感知的受关注的物体相对应。例如,如果第一分类标签是“刀”并且第二分类标签也是“刀”,则物体检测系统110系统可以继续执行调和功能。作为另一示例,如果第一分类标签和第二分类标签相关(例如,第一分类标签为“刀”和第二分类标签为“锋利物”),则物体检测系统110系统可以继续执行调和功能。
[0140] 另一方面,在一些实现中,当来自两组或两组以上识别的物体检测结论的两个或两个以上分类结论不相同或基本不相似时(例如,第一分类标签为“刀”而第二分类标签为“枪”),物体检测系统110系统可以放弃继续执行以下描述的调和功能,而是从两组或两组以上识别的物体检测结论中选择被认为具有最高威胁的一组物体检测结论。例如,由于“枪”类中的受关注的物体比“刀”类中的受关注的物体更具威胁性,因此将选择具有“枪”分类标签的一组物体检测结论作为调和的一组物体检测结论。还存在其他可能性。
[0141] 在框506,物体检测系统110从两组或两组以上识别的物体检测结论中确定至少第一定位结论和第二定位结论之间的相似性度量,其中第一定位结论和第二定位结论被确定为在接收的图像中指代相同的受关注的物体。实际上,物体检测系统110可以以多种方式执行该功能。
[0142] 作为一种可能性,物体检测系统110可以首先确定来自两组或两组以上识别的物体检测结论的两个或两个以上定位结论是否对应于接收的图像内的相同或基本相似的位置。在示例实施例中,该确定可以涉及例如通过确定限定的边界框是否重叠或彼此邻近来确定定位描述是否可比较。确定定位结论是否对应于图像内的相同或基本相似位置的其他方式也是可能的。
[0143] 当两个或两个以上定位结论被确定为相同或基本相似时,物体检测系统110可以被配置为推断这两个或两个以上结论对应于接收的图像内的相同感知的受关注的物体。例如,当多个边界框重叠(或在彼此的阈值距离内)时,物体检测系统110可以得出结论:与这些边界框相对应的多组物体检测结论指代接收的图像内的相同的受关注的物体。物体检测系统110也能够以其他方式推断多组物体检测结论对应于图像内的相同感知的受关注的物体。
[0144] 在某些情况下,如果物体检测系统110确定定位结论对应于接收的图像内的相同或基本相似的位置(例如,边界框确实重叠),则物体检测系统110可以确定来自两组或两组以上识别的物体检测结论的置信结论中的一个是否高于预定阈值(例如60%)。如果是这样,然后,物体检测系统110可以选择高于一组或多组其他结论的相应的一组物体检测结论作为单个调和的一组物体检测结论。否则,物体检测系统110可以继续执行调和功能。然而,在一些实施例中,即使物体检测系统110确定来自两组或两组以上识别的物体检测结论的置信结论之一高于预定阈值,物体检测系统110仍可以继续执行调和功能。
[0145] 在一些实现中,在两个或两个以上置信结论高于预定阈值的情况下,物体检测系统110可以选择与最高置信度相对应的一组物体检测结论。在其他实现中,尽管多个置信结论高于预定阈值,但是物体检测系统110系统仍可以继续执行调和功能,以便输出单个调和的一组物体检测结论。
[0146] 在任何情况下,物体检测系统110可以通过确定两个或两个以上定位结论之间的相似程度来继续执行调和功能,这可以以各种方式确定。作为一种可能性,物体检测系统110可以首先例如通过在每个定位结论的限定边界框内找到中心点,来识别每个定位结论内的特定点(例如,“顶点”)。为了说明,图6B提供了来自图6A的示例图像600的概念说明,其中,具有来自多组物体检测结论的4个边界框,以及每个边界框的示例顶点611、621、631、
641。在图6B的示例中,顶点611、621、631、641对应于4个边界框内的中心点。为了清楚起见,在图6B和随后的图中省略了图6A所示的分类标签和置信度值。
[0147] 接下来,如果两个定位结论基本相似(例如,它们重叠或彼此接近),则物体检测系统110可以定义这两个定位结论之间的连接。例如,物体检测系统110可以生成连接重叠的边界框的识别的顶点的线(例如,“边缘”)。为了说明,图6C提供了来自图6A的示例图像600的概念说明,其中,具有来自多组物体检测结论的4个边界框,以及示例生成的线623、624和634。如图所示,由于这些边界框重叠,线623将一组物体检测结论620的边界框的顶点621,连接到一组物体检测结论630的边界框的顶点631。由于这些边界框重叠,线624将一组物体检测结论620的边界框的顶点621,连接到一组物体检测结论640的边界框的顶点641。由于这些边界框重叠,线634将一组物体检测结论630的边界框的顶点631,连接到一组物体检测结论640的边界框的顶点641。值得注意的是,没有线将顶点611与任何其他顶点连接,因为对应于顶点611的边界框不在任何其他边界框的阈值附近。
[0148] 最后,物体检测系统110然后可以量化两个或两个以上定位结论之间的相似度。例如,物体检测系统110可以为每个生成的线分配值,该值量化通过给定的生成线连接顶点的边界框的重叠程度,例如通过确定每对重叠的边界框的交与并(IoU)值。以这种方式,物体检测系统110从两组或两组以上识别的物体检测结论中确定两个或两个以上定位结论之间的相似性的量度。
[0149] 为了说明,返回到图6C,表602为连接两个重叠的边界框的每条线623、624、634提供了重叠值(OV)。在此示例中,重叠值(例如0.03、0.10和0.40)表示每对重叠边界框的IoU值。本领域普通技术人员将理解,图6C所示的概念性图表示双向边缘的无向图。
[0150] 返回图5,在框508,物体检测系统110限定多个候选分区(例如,“团集”),其可以基于至少第一定位结论和第二定位结论来进行限定。在示例实施例中,每个候选分区可以被限定为使得给定的候选分区(i)包括来自任何特定物体检测模型的不多于一个的定位结论,并且(ii)最大化定位结论之间的相似度。物体检测系统110可以以各种方式限定候选分区。
[0151] 作为一种可能的方法,物体检测系统110可以首先为每个定位结论的顶点(并因此为每个边界框)生成初始候选分区。为了说明,图6D提供了来自图6A的示例图像600的概念性说明,其中,具有来自多组物体检测结论的4个边界框,以及每个顶点的示例候选分区615、625、635、645。
[0152] 然后物体检测系统110可以确定是否应当合并初始候选分区中的任何一个,这可以以各种方式来进行。作为一种可能性,对于每个给定的初始候选分区,物体检测系统110可以基于这些分区的定位结论之间的相似性,来确定给定的初始候选分区是否应当与一个或多个其他初始候选分区合并,从而生成“合并的”候选分区。
[0153] 在一个特定实现中,物体检测系统110可以执行合并功能,该合并功能涉及(i)识别将特定的初始候选分区的顶点连接到另一个顶点的任何生成的线,以及(ii)排除任何将给定候选分区的顶点连接到另一个与由相同的物体检测模型限定的边界框对应的顶点的标识线,该模型限定了与给定候选分区的顶点对应的边界框。为了说明,图6E提供了来自图6A的示例图像600的概念说明,其中,具有来自多组物体检测结论的4个边界框,以及针对特定候选分区的标识线624和634。这里,特定候选分区是分区645,其顶点641通过线624连接到顶点621,并且通过线634连接到顶点631。值得注意的是,顶点621和631对应于物体检测模型(例如,“模型B”),该物体检测模型和与顶点641相对应的物体检测模型(例如,“模型A”)不同。
[0154] 接下来,物体检测系统110可以评估任何剩余的标识线的分配值,这可以涉及基于具有最大分配值的剩余的标识线来识别合并顶点(例如,通过将分配的值按降序排序并选择最高值)。例如,返回到图6E,表604仅提供线624和634的重叠值。
[0155] 然后物体检测系统110可以将特定候选分区与所标识的合并顶点的候选分区合并,从而限定合并的候选分区。为了说明,图6F提供了来自图6A的示例图像600的概念图,其中,具有来自多组物体检测结论的4个边界框,以及来自图6E的特定候选分区645的合并形式655。在该示例中,线624具有最大分配的重叠值(使顶点621成为合并顶点),因此,将相应的候选分区625与特定候选分区645合并以限定候选分区655。
[0156] 在操作中,物体检测系统110可以对任何剩余的初始候选分区执行合并处理,但是每个合并的候选分区包括其原始顶点以及任何合并顶点。以这种方式,物体检测系统110生成分区,每个分区均指接收的图像内的相同感知的受关注的物体。对于图6F所示的示例,物体检测系统110可以利用给定的以下项的合并处理完成:(i)将初始候选分区635连接到合并的候选分区645的线634的双向性质,以及(ii)没有将初始候选分区615连接到任何其他候选分区的线。
[0157] 返回到图5,在框510,物体检测系统110从多个候选分区中选择代表性分区,该代表性分区通知物体检测系统110如何针对接收的图像中给定感知的受关注的物体生成单个调和的一组物体检测结论。实际上,物体检测系统110可以以多种方式执行该功能。
[0158] 作为一种可能性,物体检测系统110可以利用“投票”方案来选择代表性分区,其中,每个物体检测模型都为包含对应于该模型的顶点的特定候选分区提供“投票”。在利用“投票”方案的示例实现中,“投票”的权重(例如,值)对于每个物体检测模型可以是相同的(例如,每个模型的“投票”具有一个值)或贯穿物体检测模型可能有所不同。而且,给定物体检测模型的“投票”的权重可以是恒定的(即,预定的),或者也可以随着时间动态变化。
[0159] 在实践中,可以从以下项确定给定物体检测模型的“投票”权重:(i)基于各种因素(例如模型的设计者、用于训练模型的训练数据的类型、模型的架构类型等),(ii)基于机器学习模型的输出(例如一个或多个神经网络),该模型将接收的接收图像以及每个模型的物体检测结论的至少一部分作为输入,并输出如何加权每个模型的“投票”的指示,和/或(iii)基于以下讨论的“连续学习”功能的结果。确定“投票”权重的其他方式也是可能的。
[0160] 在物体检测系统110将适用的权重应用于每个物体检测模型的“投票”之后,然后物体检测系统110可以基于已经分配给候选分区的相对权重来选择代表性分区。作为一个示例,物体检测系统110可以选择接收预定义阈值量的“投票”(例如,“投票”的50%以上)或最多“投票”(例如,最大权重的分区)的候选分区,以及其他可能性。
[0161] 为了说明,返回到图6F,物体检测系统110从候选分区615、候选分区635、和合并的候选分区655中选择代表性分区。利用给每个物体检测模型的“投票”赋予相等权重的“投票”方案,候选分区615从模型A接收一个“投票”,候选分区635从模型B接收一个“投票”,并且合并的候选分区655从模型A和模型B两者接收“投票”。在该示例中,合并的候选分区655被选择为代表性分区,因为它比其他两个候选分区的权重大。
[0162] 在图5的框512处,物体检测系统110基于与所选择的代表性分区相对应的多组物体检测结论,针对接收的图像中给定感知的受关注的物体,得出调和的一组物体检测结论。在示例实施例中,物体检测系统110导出调和的一组物体检测结论可以涉及确定(i)代表性分类标签,(ii)代表性(例如,合计)置信度值,和/或(iii)接收的图像内给定感知的受关注的物体的代表性定位描述(例如,在接收的图像中给定感知的受关注的物体的代表性边界框的尺寸和/或位置,可以由一组坐标等限定)。在实践中,物体检测系统110可以基于与所选择的代表性分区相对应的两组或两组以上原始的物体检测结论(例如,对应的顶点在所选择的分区内的任何一组物体检测结论)来做出这些确定。
[0163] 在这方面,物体检测系统110可以基于一个或多个规则,从两个或两个以上原始分类结论中得出代表性分类标签。例如,如果两个或两个以上原始分类结论的标签相同,那么代表性分类标签将被分配相同的标签。但是,如果两个或两个以上原始分类结论不同,则可以基于一个或多个预定义规则分配代表性分类标签,该规则可以采用多种形式。
[0164] 一个可行的规则可能涉及考虑与每个标签关联的相对威胁或危险级别,并且可能指示与最高威胁级别关联的标签已被选择,(例如,在“武器”的第一标签和“锋利物”的第二标签之间,该规则可能会指示选择“武器”,因为它与被认为比“锋利物”类更危险的一类物体相关联)或者规则可能指示相反的情况。另一个可行的规则可能会指示选择更具体的标签(例如“刀”)而不是较不具体的标签(例如“锋利物”),或规则可能会指示相反的内容(即,选择通用标签而不是更具体的标签)。其他规则也是可能的。
[0165] 类似地,物体检测系统110可以基于两个或两个以上原始置信结论(例如通过确定合计置信度值),来得出代表性置信度值。例如,返回到图6A,与所选择的候选分区655相对应的原始置信结论是来自一组物体检测结论620的0.32和来自一组物体检测结论640的0.45。这些值表明,“模型A”对“刀”的分类是正确分类的置信度为45%,且“模型B”对“刀”的分类是正确分类的置信度为32%。物体检测系统110可以通过确定以下项来导出合计置信度值:(i)通过计算(1-0.45)×(1-0.32)得出这两个原始置信结论均为错误(即,两个模型均错误地将感知的受关注的物体归类为“刀”)的组合概率为0.374,以及(ii)通过计算(1-
0.374)将受关注的物体正确分类为“刀”的组合概率为0.626,该概率被设置为合计置信度值。值得注意的是,尽管对于物体检测系统110,每个原始置信结论(32%和45%)分别不够高(例如,置信度为60%以上)而不能得出接收的图像包含“刀”的结论,但是对于物体检测系统110代表性置信结论(62.6%)足够高而能够做出该确定。
[0166] 最后,物体检测系统110可以基于两个或两个以上原始定位结论,得出在接收的图像内给定感知的受关注的物体的代表性定位描述。实际上,物体检测系统110可以以多种方式执行该功能。
[0167] 作为一种可能性,物体检测系统110可以得出包围(circumscribe,限制)两个或两个以上原始定位结论中的每一个的代表性的定位描述。例如,物体检测系统110可以定义包围两个或两个以上原始边界框中的每一个的边界框。作为另一种可能性,物体检测系统110可以通过将合计函数(例如,求平均值、识别中值等)应用于两个或两个以上原始定位结论,来得出代表性的定位描述。例如,物体检测系统110可以通过对两个或两个以上原始边界框中的每一个的坐标进行平均,来定义边界框。作为另一种可能性,物体检测系统110可以通过选择具有最高对应置信结论的两个或两个以上原始定位结论的定位结论,来得出代表性的定位描述。作为另一种可能性,物体检测系统110可以得出代表性的定位描述,该代表性的定位描述将代表性的边界框定位某位置处,该位置被认为是与两个或两个以上原始定位结论相对应的顶点之间的中点并且将代表性边界框的尺寸定义为由两个或两个以上原始边界框限定的最大(或最小)尺寸。其他示例也是可能的。
[0168] 为了说明,图6G提供来自图6A的示例图像600的概念性说明,其具有调和的一组物体检测结论660。与上面的讨论一致,物体检测系统110从一组物体检测结论620和640中得出大约63%的代表性置信度值以及包围原始边界框的代表性边界框。
[0169] 在物体检测系统110得出调和的一组物体检测结论之后,物体检测系统110针对接收的图像中至少给定感知的受关注的物体完成调和处理。在某种程度上,物体检测系统110确定接收的图像包含任何其他感知的受关注的物体,然后,它将针对每个另外的感知的受关注的物体重复上述功能(例如,结合图5的框504至512描述的功能)。利用调和的一组物体检测结论,然后物体检测系统110可以在接收的图像上完成其多模型物体检测,这通常涉及从调和的一组物体检测结论中得出结论:接收的图像至少包含给定感知的受关注的物体。
[0170] 在一些实现中,在图5的框514处,物体检测系统110可以基于调和的一组物体检测结论,来可选地确定接收的图像是否包括特定筛查系统的受关注的物体,该筛查系统提供了扫描场景的原始图像。换句话说,物体检测系统110可以基于调和的一组物体检测结论,对特定的筛查系统的接收的图像执行特定的物体检测。
[0171] 例如,在示例实现中,与物体检测系统110通信的一个或多个筛查系统可以具有特定的物体检测要求,例如特定的一组受关注的物体和/或用于标记此类受关注的物体的特定标准(例如,最低置信度等)。此外,在某些情况下,筛查系统的物体检测要求可能会动态改变,这可能取决于一年中的时间、当前的安全威胁级别等。
[0172] 在任何情况下,物体检测系统110可以评估已调和的一组物体检测结论和特定的筛查系统的特定物体检测要求,以确定接收的图像是否包括满足特定物体检测要求的物体,使得物体检测系统110可以将其识别为特定筛查系统的受关注的物体。还存在其他可能性。
[0173] 在框516,物体检测系统110基于以下中的一者或两者来执行一个或多个操作(i)调和的一组物体检测结论以及(ii)来自框514的可选确定。这些一个或多个操作可以采用多种形式。
[0174] 作为一种可能性,物体检测系统110可以在计算机显示器等上呈现来自调和的一组物体检测结论的一个或多个结论的一个或多个指示。例如,物体检测系统110可以经由一个或多个链接130,使输出设备124显示给定感知的受关注的物体的分类标签的图形可视化,显示给定感知的受关注的物体的分类的置信度的图形可视化,和/或显示给定感知的受关注的物体的代表性边界框的图形可视化,以便安全筛查人员可以可视化物体检测系统110的分析。在一些情况下,这样的图形可视化可以与扫描场景的可视化重叠(或一起)呈现,诸如被扫描的行李物品的可视化。
[0175] 类似地,物体检测系统110可以基于来自调和的一组物体检测结论的一个或多个结论,在计算机显示器等处呈现与原始扫描的场景有关的一个或多个通知。例如,仅当物体检测系统110基于调和的一组物体检测结论确定行李物品内的受关注的物体被视为特定筛查系统120的安全相关时,物体检测系统110可通过一个或多个链接130使输出设备124显示行李物品的可视化。否则,物体检测系统110可以放弃使输出设备124显示所扫描的行李物品的任何可视化。
[0176] 作为另一种可能性,物体检测系统110可以基于来自调和的一组物体检测结论的一个或多个结论,将通知等提供给与提供原始扫描图像的特定筛查系统120相关联的特定输出设备(例如,可穿戴计算设备、移动电话等),例如在安全检查点向分配给行李处理人员的计算设备发送文本消息或应用通知。例如,当物体检测系统110基于调和的一组物体检测结论,确定扫描的行李物品内的受关注的物体被视为特定筛查系统120的安全相关时,物体检测系统110可以将通知发送到特定输出设备124,该输出设备可以提示行李处理人员物理地搜索行李物品。
[0177] 作为另一种可能性,物体检测系统110可以基于来自调和的一组物体检测结论的一个或多个结论,例如通过物体检测系统110经由一个或多个链接130,向筛查系统120发送指示操作的特定指令(例如特定的通过操作),使特定操作在筛查系统处发生。
[0178] 例如,筛查系统120可以包括传送带,行李物品(或类似物)在传送带上移动经过一个或多个检测设备122,然后该设备捕获行李物品的一个或多个图像。筛查系统120处的安全筛查人员工作站包括控制传送带的用户接口(例如,按钮等),以便人类安全筛查人员手动控制行李物品流动通过系统。默认情况下,当安全筛查人员提供输入以使传送带运动时,传送带才运动,因此行李物品才通过系统。当安全筛查人员提供了这样的输入时,行李物品(i)经过一个或多个捕获行李物品的一个或多个图像的检测设备122,以及(ii)进入“主”通道,行李物品的拥有者在该通道取回物品。另一方面,当安全筛查人员根据筛查系统120的性质和/或复杂程度,在行李物品的扫描图像中识别出潜在的安全相关时,安全筛查人员通常会(i)停止传送带(或拒绝将行李物品通过“主”通道),并手动将行李物品移至“搜索”通道,在该通道行李处理人员取回行李物品并搜索行李物品,或(ii)在用户接口(例如,筛查系统120处配备“智能”通道技术的工作站处的用户接口)提供输入,该输入将行李物品转移到辅助传送带,在该传送带行李处理人员取回行李物品并搜索其内容。
[0179] 在示例实施例中,物体检测系统110基于调和的一组物体检测结论,针对行李物品的接收的图像在筛查系统处发生操作可以涉及:使筛查系统120自动使行李物品不再进入“主”通道,而是进入“搜索”通道,例如,通过使筛查系统的传送带系统内的致动器等自动将行李物品转移到“主”通道之外,或通过将行李物品转移到辅助传送带(例如,当筛查系统120配置有“智能”通道技术时)。以这种方式,物体检测系统110可以提升筛查系统的高通量以及改善的物体检测精度,并且还可以帮助减少在给定筛查检查站所需的操作人员的数量。
[0180] 同样,物体检测系统110基于调和的一组物体检测结论,针对行李物品的接收的图像在筛查系统处发生操作可能涉及:使筛查系统120自动启动或停止传送带,而无需人工安全筛查人员的控制输入。例如,当调和的一组物体检测结论指示在行李物品中不存在受关注的物体(或确定在行李物品中不存在被视为安全相关的受关注的物体)时,物体检测系统110可能使传送带自动启动(或继续移动),从而越过筛查系统的默认设置,并将行李物品通过系统传递到“主”通道,以供行李物品的所有者取回。另一方面,在某些安全系统中,默认情况下,该安全系统具有传送带,该传送带可以连续不断地运送经过的行李物品,直到该系统收到来自人类筛查人员的“停止”输入,当调和的一组物体检测结论指示行李物品内存在被视为安全相关的受关注的物体时,物体检测系统110可能会导致传送带自动停止,从而超出了筛查系统的默认设置。
[0181] 值得注意的是,在将物体检测系统110配置为停止传送带的情况下,物体检测系统110还可以配置筛查系统120,使得可能会停用人类安全筛查人员使传送带继续移动的能力,直到发生其他事件为止(除了系统在用户接口处接收到启动/停止传送带的输入之外),例如安全筛查人员提供指示物体检测系统110的物体检测已被确认的输入,安全筛查人员或其主管在筛查系统120中提供某些凭据等。
[0182] 相关地,在一些实施例中,物体检测系统110可以被配置为(i)通过将至少一个物体检测模型应用于给定接收的图像来执行物体检测以获得一组物体检测结论,以及ii)将操作人员对系统的物体检测的响应(如反馈数据所指示)视为第二组(潜在冲突)物体检测结论。取决于物体检测系统110的物体检测,然后物体检测系统110可能能够越过操作人员的响应和/或使通知在筛查系统120处输出。例如,筛查系统120处的安全筛查人员可能会妥协,使得安全筛查人员有意地允许包含违禁物品(例如,枪等)的行李物品通过筛查系统120。可以配置物体检测系统110,使得当物体检测系统110的物体检测具有高置信度认为行李物品包含安全威胁、并且物体检测系统110接收到(例如,通过反馈数据)安全筛查人员尚未停止或转移行李物品进行进一步检查的指示,则物体检测系统110可以(i)自动转移行李物品,(ii)停止筛查系统120的传送带,(iii)在筛查系统120中发出警报,和/或(iii)警告安全筛查人员的主管,以及其他可能性。
[0183] 如上所述,在示例实施例中,物体检测系统110可以被配置为基于在筛查系统120上发生的动作(例如,在输出了物体检测系统110的多模型物体检测的指示之后),经由一个或多个链接130来接收反馈数据。例如,筛查系统120的操作人员可以在工作站等处提供输入:(i)提供多模型物体检测是否正确(全部或部分)的指示,(ii)提供表明物体检测系统110未能在操作人员检测到的图像内检测到受关注的物体的指示,或(iii)提供操作人员对图像中物体的分类的指示(例如,人类输入的物体的标签,可能会或可能不会被视为安全相关),以及其他可能性。在实践中,这种输入可以采取对物体检测系统110的多模型物体检测的直接反馈的形式(例如,通过操作人员在输出设备124上查看多模型物体检测的视觉表示,以及然后使用GUI等“排除”错误的检测结果,或者行李处理人员在输出设备124处提供输入,以确认或反驳行李物品中包含安全威胁),和/或这种输入可以采取间接反馈的形式(例如,筛查操作人员采取的传送带动作等)。
[0184] 基于来自在筛查系统120处发生的动作的反馈数据,物体检测系统110可以被配置为以各种方式更新多模型物体检测过程。例如,反馈数据可以产生新的或更新的带标签的训练数据,该训练数据可以用于更新物体检测系统110的两个或两个以上物体检测模型中的部分或全部,例如通过在反馈数据指示物体检测系统110错误地将图像识别为包含受关注的物体时进行反向传播。例如,反馈数据可以指示特定筛查系统120处的操作人员已频繁地将扫描图像中的打火机标记为安全威胁,这是物体检测系统110的两个或两个以上物体检测模型先前未训练检测的安全威胁。基于这样的反馈数据,物体检测系统110可以训练一个或多个物体检测模型以检测打火机,以用于将来对来自特定筛查系统120的扫描图像进行分析。
[0185] 在另一情况下,反馈数据可导致修改一个或多个物体检测系统110的物体检测置信度阈值。例如,反馈数据可以指示对“锋利物”存在相对频繁的虚假警报,例如被物体检测系统110标记为“锋利物”的扫描图像内的硬币卷。基于这样的反馈数据,物体检测系统110可以例如通过改变被训练以分类“锋利物”的至少一种物体检测模型的一个或多个置信度阈值,来增加对其“锋利物”检测的置信度阈值,并可能使用错误标记的图像重新训练一个或多个这种模型。其他示例也是可能的。
[0186] 此外,多模型物体检测过程的更新可以“即时”进行(例如,在处理完每个图像并将适用的输出提供给筛查操作人员之后),或者更新可以定期(或按“批”)进行,例如每24小时、每周等,以及其他情况。
[0187] 物体检测系统110可以至少部分地基于调和的一组物体检测结论执行各种其他操作。
[0188] V.连续学习操作示例
[0189] 如前所述,在示例实施例中,物体检测系统110可以被配置为执行“连续学习”,这通常涉及物体检测系统110接收关于其两个或两个以上物体检测模型中的一个或多个的性能的反馈数据,然后基于该反馈数据更新多模型物体检测过程的方面。在实践中,如上所述,这样的反馈数据可以是多模型物体检测过程本身的结果、和/或可以接收为关于物体检测系统110的多模型物体检测的人类的动作的结果。在任何情况下,物体检测系统110可以以各种方式执行“连续学习”。
[0190] 在一方面,物体检测系统110可以被配置为评估给定物体检测模型随时间的性能,并且基于该评估,首先选择给定物体检测模型用于多模型物体检测(例如,作为图5的框504的一部分)和/或修改给定物体检测模型的“投票”的权重(例如,作为图5的框510的一部分)。例如,物体检测系统110可以确定来自第一物体检测模型的结论被认为正确的次数超过第一阈值次数(例如,物体检测系统110历史上选择的分区包括与第一物体检测模型相对应的顶点),因此,物体检测系统110可以首先选择给定物体检测模型以进行多模型物体检测、和/或增加第一物体检测模型的“投票”的权重。
[0191] 另一方面,物体检测系统110可以确定来自第二物体检测模型的结论被认为正确的次数小于第一阈值次数(并且可能小于较低的第二阈值次数),因此,物体检测系统110可以拒绝选择第二物体检测模型用于多模型物体检测,减小第二物体检测模型的“投票”的权重,或者抑制第二物体检测模型的物体检测结论。换句话说,基于物体检测系统110评估给定物体检测模型随时间的性能,当该评估表明该模型始终不准确时,物体检测系统110可以抑制该给定物体检测模型。
[0192] 在另一方面,物体检测系统110可以被配置为评估给定物体检测模型随时间的性能,并且基于该评估,修改给定物体检测模型是否应与某些其他物体检测模型结合使用。例如,物体检测系统110可以确定第一物体检测模型对第一类物体(例如“液体”)的检测被认为是正确的次数超过了阈值次数,并且第二物体检测模型对第二类物体(例如“锋利物”)的检测被认为是正确的次数超过了阈值次数。结果,假定这些模型都各自擅长检测不同分类的物体,则物体检测系统110可以修改其多模型物体检测过程,使得第一物体检测模型和第二物体检测模型不一起使用或这样的组合在其他组合中优先级被降级。作为另一个示例,物体检测系统110可以确定从场景的第一角度看的图像内的第一物体检测模型的检测(例如“侧视图”图像)历史上与从场景的第二不同角度看的图像内的第二物体检测模型的检测(例如“顶视图”图像)匹配。结果,物体检测系统110可以修改其多模型物体检测过程,使得第一物体检测模型和第二物体检测模型以第一物体检测模型评估场景的“侧视图”图像,第二物体检测模型评估场景的“俯视图”图像的方式一起使用。
[0193] 在另一方面,物体检测系统110可以被配置为不仅考虑针对给定物体检测模型的性能的反馈数据,而且还考虑与给定物体检测模型的物体检测有关的其他数据(例如,物体检测中使用的图像数据,与扫描场景有关的外部上下文数据等),并且基于这样的评估,更新多模型物体检测过程的方面。例如,当评估“复杂”图像(例如,杂乱的场景图像)或评估具有高密度区域的图像(例如,具有高密度材质的场景图像)时,物体检测系统110可以确定第一物体检测模型在历史上最准确,结果,物体检测系统110可以首先选择第一物体检测模型用于多模型物体检测、和/或当给定图像具有此类特征时,增加第一个物体检测模型的“投票”的权重。作为另一个示例,当分析在一年中特定时间在特定地理位置处扫描的图像时(例如,由于在一年中的某个时间,例如夏季,在扫描发生的特定位置,行李物品中通常存在的物品类型),物体检测系统110可以确定第一物体检测模型在历史上最准确,因此,当外部上下文数据(例如,一年中的时间和/或地理位置数据)指示此类条件存在于接收图像的检测设备的位置时,物体检测系统110可以在首先选择第一物体检测模型和/或增加第一物体检测模型的“投票”权重。其他示例也是可能的。
[0194] 在“连续学习”的上述示例中的部分或全部中,物体检测系统110可以被配置为利用一个或多个机器学习模型(例如,一个或多个神经网络),该机器学习模型至少基于反馈数据可能还有其他与扫描场景有关的数据(两个或两个以上物体检测模型已对扫描场景的图像数据进行了分析)(例如,上下文数据)来训练或以其他方式更新,该反馈数据指示物体检测系统110的两个或两个以上物体检测模型的各自性能。这些一个或多个机器学习模型可以被配置为接收图像数据以及与扫描场景有关的其他数据(例如,上下文数据)作为输入,然后输出(i)通知物体检测系统110对于给定情况哪种特定物体检测模型最准确的指示,和/或(ii)通知物体检测系统110对于给定情况应当分配给给定物体检测模型的“投票”的多少权重的指示(例如,作为图5的框510的一部分)。还存在其他可能性。
[0195] VI.结论
[0196] 以上已经描述了公开的创新的示例实施例。然而,本领域技术人员将理解,可以在不脱离本发明的真实范围和精神的情况下对所描述的实施例进行改变和修改,本发明的真实范围和精神由权利要求限定。
[0197] 另外,本文中对“实施例”的引用是指结合实施例描述的特定特征、结构和/或特性可以包括在本发明的至少一个示例实施例中。在说明书中各个地方出现的短语不一定都指代同一实施例,也不是彼此排斥的单独或替代实施例。这样,本领域普通技术人员明确和暗含理解的本文描述的实施例可以与其他实施例结合。
[0198] 此外,在本文描述的示例涉及由诸如“人”、“操作人员”、“用户”或其他实体的行为者执行或发起的操作的程度上,这仅出于示例和解释的目的。除非以权利要求语言明确陈述,否则不应将权利要求解释为要求这些行为者采取行动。

当前第1页 第1页 第2页 第3页