CN111222387A - 对象检测的系统和方法 - Google Patents
对象检测的系统和方法 Download PDFInfo
- Publication number
- CN111222387A CN111222387A CN201811438175.5A CN201811438175A CN111222387A CN 111222387 A CN111222387 A CN 111222387A CN 201811438175 A CN201811438175 A CN 201811438175A CN 111222387 A CN111222387 A CN 111222387A
- Authority
- CN
- China
- Prior art keywords
- candidate
- box
- determining
- interception
- boundary
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
- G06V20/47—Detecting features for summarising video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/243—Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/48—Matching video sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及用于对象检测的系统和方法。所述系统和方法可以获取包括目标对象的图像;生成特征图;基于特征图确定候选框;基于所述候选框和所述特征图确定池化候选框;并通过分类器将所述池化候选框分类为一个或以上的对象类别或背景类别。所述一个或以上的池化候选框的每个具有角。对于与所述目标对象相对应的每个池候选框,所述系统和方法可以根据每个角的位置确定每个角的截取策略;通过根据所述截取策略中的一个截取每个角来修剪所述池化候选框;基于所述截取的角来识别所述修剪的池化候选框的边界;并将所述边界映射到所述图像以确定所述目标对象的边界。
Description
技术领域
本申请涉及用于图像处理的系统和方法,尤其涉及检测图像中的对象的系统和方法。
背景技术
随着人工智能(AI)应用(例如,人脸识别、智能监控摄像机)的出现和普及,人工智能对象检测技术,特别是基于深度学习的对象检测技术得到了迅速发展。人工智能对象检测技术可以识别和/或分类图像中的对象,并通过绘制边界框来定位图像中的对象。然而,边界框通常是矩形框。对于不规则的对象或相对于图像倾斜的对象(例如,安全带),边界框(例如,矩形框)可能包括背景。在一些情况下,边界框可能包括比对象更多的背景,这样不能准确定位对象。因此,期望提供用于确定倾斜对象的边界的人工智能系统和方法,其可以实现倾斜对象的精确定位。
发明内容
本申请的目的在于提供用于对象检测的系统和方法。该系统和方法可以确定对象的边界,从而实现该对象的准确定位。
为达到上述发明目的,本申请提供的技术方案如下:
在本申请的一个方面,提供了一种对象检测的方法。所述方法可以包括获取包括目标对象的图像,并通过将所述图像输入卷积神经网络(CNN)来生成特征图。所述方法还包括基于所述特征图确定候选框,并基于所述候选框和所述特征图确定池化候选框。所述方法还包括通过分类器将所述池化候选框分类为一个或以上对象类别或背景类别。所述一个或以上对象类别可以包括所述目标对象的类别,并且所述池化候选框可以包括对应于所述目标对象的一个或以上池化候选框。所述一个或以上池化候选框中的每个池化候选框可以具有至少两个角。对于与所述目标对象相对应的所述一个或以上池化候选框中的每个池化候选框,所述方法包括根据所述池化候选框的所述至少两个角的每个角的位置确定所述对应角的至少两个截取策略;通过根据所述至少两个截取策略中的一个截取所述至少两个角中的每个角来修剪所述池化候选框;根据所述截取的至少两个角来识别所述修剪的池化候选框的边界;并将所述边界映射到所述图像以确定所述目标对象的边界。
在本申请的另一方面,提供了一种对象检测的系统,所述系统包括获取模块、特征图确定模块、候选框确定模块、池化候选框确定模块、分类模块和边界确定模块;所述获取模块用于获取包含目标对象的图像;所述特征图确定模块用于通过将所述图像输入卷积神经网络来生成特征图;所述候选框确定模块用于基于所述特征图确定候选框;所述池化候选框确定模块用于基于所述候选框和所述特征图确定池化候选框;所述分类模块用于通过分类器将所述池化候选框分类为一个或以上对象类别或背景类别,所述一个或以上对象类别包括所述目标对象的类别,所述池化候选框包括对应于所述目标对象的一个或以上池化候选框,所述一个或以上池化候选框的每个池化候选框具有至少两个角;以及对于与所述目标对象相对应的所述一个或以上池化候选框的每个池化候选框,所述边界确定模块用于根据所述池化候选框的所述至少两个角的每个角的位置确定所述对应角的至少两个截取策略;所述边界确定模块用于通过根据所述至少两个截取策略中的一个截取所述至少两个角中的每个角来修剪所述池化候选框;所述边界确定模块用于根据所述截取的至少两个角来识别所述截取修剪的池化候选框的边界;以及所述边界确定模块用于将所述边界映射到所述图像以确定所述目标对象的边界。
在本申请的另一个方面,提供了一种对象检测的系统,所述系统可以包括至少一个存储设备和与至少一个存储设备通信的至少一个处理器。所述至少一个存储设备可以包括用于确定对应于图像中的对象的边界的指令集。当执行所述指令集时,所述至少一个处理器可以用于获取包含目标对象的图像;通过将所述图像输入卷积神经网络来生成特征图;基于所述特征图确定候选框;基于所述候选框和所述特征图确定池化候选框;通过分类器将所述池化候选框分类为一个或以上对象类别或背景类别,所述一个或以上对象类别包括所述目标对象的类别,所述池化候选框包括对应于所述目标对象的一个或以上池化候选框,所述一个或以上池化候选框的每个池化候选框具有至少两个角。对于与所述目标对象相对应的所述一个或以上池化候选框的每个池化候选框,所述至少一个处理器还可以用于根据所述池化候选框的所述至少两个角的每个角的位置确定所述对应角的至少两个截取策略;通过根据所述至少两个截取策略中的一个截取所述至少两个角中的每个角来修剪所述池化候选框;根据所述截取的至少两个角来识别所述截取修剪的池化候选框的边界;以及将所述边界映射到所述图像以确定所述目标对象的边界。
在一些实施例中,卷积神经网络可以包括一个或以上卷积层和一个或以上池化层,并且没有全连接层。
在一些实施例中,所述至少两个候选框可以是根据区域建议网络确定的。
在一些实施例中,所述区域建议网络可以包括至少一个回归层和至少一个分类层。为了确定所述候选框,至少一个处理器可以用于在所述特征图上滑动滑动窗口。在每个滑动窗口位置,所述滑动窗口可以与所述特征图的一个子区域重合。至少一个处理器还用于将所述特征图的所述子区域映射到多维特征向量;通过将所述子区域的中心像素映射到所述图像的像素来生成锚点,所述锚点可以对应于所述图像中的一组锚点框,并且所述锚点框中的每个可以与尺度和宽高比相关;将所述多维特征向量分别送入所述至少一个回归层和所述至少一个分类层,所述至少一个回归层可以用于进行边界框回归以确定对应于所述锚点框的一组初始候选框,并且所述至少一个回归层的输出可以包括所述初始候选框的每个初始候选框的四个坐标值,所述至少一个分类层可以用于确定所述初始候选框中的每个初始候选框的类别,所述类别可以是前景或背景,并且所述至少一个分类层的输出可以包括所述初始候选框的每个初始候选框为前景的第一得分和为背景的第二得分。至少一个处理器还用于基于至少两个初始候选框的每个初始候选框为前景的所述第一得分和为背景的所述第二得分和所述至少两个初始候选框的每个候选框的四个坐标值,选择所述至少两个初始候选框的一部分作为所述候选框。
在一些实施例中,为了选择所述至少两个初始候选框的一部分作为所述候选框,至少一个处理器用于使用非极大抑制来选择所述候选框。
在一些实施例中,所述池化候选框可以对应于规范大小。为了确定所述池化候选框,至少一个处理器用于将所述候选框映射到所述特征图,以确定候选特征图;并通过在所述候选特征图上执行池化来确定所述候选框。
在一些实施例中,所述至少两个角可以包括左上角、右上角、左下角和右下角。所述左上角的所述至少两个截取策略可以包括向右截取、向下截取、向右下截取、目标位置或错误中的至少一个。所述右上角的所述至少两个截取策略可以包括向左截取、向下截取、向左下截取、目标位置或错误中的至少一个。所述左下角的所述至少两个截取策略可以包括向右截取、向上截取、向右上截取、目标位置或错误中的至少一个。所述右下角的所述至少两个截取策略可以包括向左截取、向上截取、向右上截取、目标位置或错误中的至少一个。
在一些实施例中,所述至少一个处理器还用于当所述至少两个角中的一个角对应于目标位置截取策略时,停止截取所述角。
在一些实施例中,为了截取所述至少两个角中的每个角,至少一个处理器用于基于所述池化候选框确定所述至少两个角中的每个角的截取方向和截取长度,和基于所述截取方向和所述截取长度截取所述至少两个角中的每个角。所述至少两个角中的每个角的所述截取方向可以限于所述相应角的所述至少两个截取策略中的一个。
在一些实施例中,为了通过截取所述至少两个角中的每个角来修剪池化候选框,至少一个处理器用于执行一次或以上迭代。在所述一次或以上迭代中的每次迭代中,至少一个处理器用于根据池化候选框,从所述至少两个截取策略中确定所述至少两个角中的每个角的截取策略;确定所述至少两个角中的一个角是否对应于错误截取策略;响应于确定所述至少两个角中的每个角不对应于所述错误截取策略,确定所述至少两个角中的每个角是否对应于目标位置截取策略;响应于确定所述至少两个角中的至少一个角不对应于所述目标位置截取策略,根据所述至少两个角的所述至少一个角的所述确定的截取策略,截取所述至少两个角的所述至少一个角;基于所述截取的至少两个角,执行边界映射以确定矩形框;并将所述矩形框的大小调整为规范大小。响应于确定所述至少两个角中的每个角对应于所述目标位置截取策略,至少一个处理器用于停止所述截取至少两个角。
在一些实施例中,响应于确定所述至少两个角中的至少一个角对应于所述错误截取策略,至少一个处理器用于放弃所述池化候选框。
在一些实施例中,至少一个处理器还用于确定与所述目标对象相对应的一个或以上边界;确定所述一个或以上边界中的每个边界与真实框之间的交并比;以及将所述一个或以上边界中具有最大交并比的边界确定为对应于所述目标对象的目标边界。
在一些实施例中,所述目标对象的所述边界可以是四边形框。
在本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储计算机指令,所述计算机指令执行时,执行所述的对象检测的方法。
因为采用了以上的技术方案,本申请具有以下技术效果:
一、对于倾斜的目标对象,可以提高检测和/或定位的准确性;
二、将与真实框具有最大重叠程度的边界确定为目标边界,进一步提高检测和/或定位目标对象的准确性。
本申请的一部分附加特性可以在下面的描述中进行说明,通过对以下描述和相应附图的检查或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各个方面的方法、手段及组合的实践或使用得以实现和达成。
附图说明
本申请将结合示例性实施例进一步进行描述。这些示例性的实施例将通过附图进行详细描述。附图并不是按比例绘制的。这些实施例是非限制性的示例性实施例,在这些实施例中,相同的编号表示相似的结构,其中:
图1是根据本申请的一些实施例所示的示例性AI图像处理系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件部件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件部件的示意图;
图4是根据本申请的一些实施例所示的示例性AI处理设备的框图;
图5是根据本申请的一些实施例所示的用于确定目标对象的边界的示例性过程的流程图;
图6是根据本申请的一些实施例所示的示例性区域建议网络的示意图;
图7是根据本申请的一些实施例所示的用于确定目标对象的边界的示例性过程的流程图;
图8是根据本申请的一些实施例所示的用于确定目标对象的边界的示例性过程的示意图;和
图9至图11是根据本申请的一些实施例所示的图像的示意图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的实施例,而是符合与权利要求一致的最广泛范围。
本文中所使用的术语仅用于描述特定示例性实施例,并不限制本申请的范围。本文使用的单数形式“一”、“一个”、“所述”可以同样包括复数形式,除非上下文明确提示例外情形。应当理解的是,本说明书中使用的术语“包括”和/或“包含”仅提示包括整数、步骤、操作、元件和/或部件,但是不排除一个或多个特征、整数、步骤、操作、元件、部件和/或其组合的存在和添加。
在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见,这些都构成说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例的。
本申请中使用了流程图来说明根据本申请的实施例的系统所执行的操作。应当理解的是,流程图的操作不一定按照顺序来精确地执行。相反,可以按照倒序执行或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。或者从这些流程图中移除一步或多步操作。
此外,尽管主要关于按需运输服务来描述本申请中的系统和方法,但是还应该理解,这仅是一个示例性实施例。本申请的系统或方法能适用于其他任一种按需服务。例如,本申请的系统和方法还可以应用于不同运输系统,包括陆地、海洋、航空太空等或其任意组合。运输系统的车辆可以包括出租车、私人汽车、顺风车、公交车、火车、动车、高路、地铁、船只、飞机、飞船、热气球、无人驾驶车辆等或其任意组合。运输系统还可以包括应用管理和/或分发的任何运输系统,例如,用于发送及/或接收快递的系统。本申请的系统或方法的应用场景可以包括网页、浏览器的插件、客户端、定制系统、内部分析系统、人工智能机器人等或其任意组合。
本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可用于表示请求或订购服务的个人、实体或工具,并且可互换使用。此外,本申请中的术语“司机”、“提供者”、“服务提供者”和“供应者”可用于表示提供服务或协助提供服务的个人、实体或工具,并且可互换使用。另外,本申请描述的“用户”可以表示可以请求服务、预定服务、提供服务或促进服务提供的个体、实体或工具。例如,使用者可以是乘客、司机、操作员等或其任意组合。在本申请中,“乘客”和“乘客终端”可互换使用,“司机”和“司机终端”可互换使用。
本申请中的术语“服务请求”和“订单”可以用于表示由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等或其任意组合发起的请求,并且可以互换使用。服务请求可以由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者或供应者中的任意一个接受。服务请求可以是收费的或免费的。
本申请中使用的定位技术可以包括全球定位系统(GPS)、全球卫星导航系统(GLONASS)、北斗导航系统(COMPASS)、伽利略定位系统、准天顶卫星系统(QZSS)、无线保真(WiFi)定位技术等,或其任意组合。以上定位技术中的一种或多种可以在本申请中交换使用。
本申请涉及用于图像中的对象检测的人工智能(AI)系统和方法。具体地,AI系统和方法可以确定图像中的目标对象的边界。确定的目标对象的边界可以是四边形框。为了确定目标对象的边界,AI系统和方法可以将图像输入到卷积神经网络(CNN)中以生成特征图,并基于特征图生成候选框。AI系统和方法可以通过执行感兴趣区域(ROI)池化操作,基于候选框和特征图来确定池化候选框。AI系统和方法还可以通过分类器将池化候选框划分为一个或以上对象类别或背景类别。池化候选框可以包括对应于目标对象的一个或以上池化候选框。一个或以上池化候选框中的每个池化候选框可以具有至少两个角。对于对应于目标对象的池化候选框,AI系统和方法可以根据池化候选框的至少两个角的每个角的位置确定对应角的至少两个截取策略。AI系统和方法还可以通过根据至少两个截取策略之一截取至少两个角中的每一个角来修剪池化候选框。在一些实施例中,AI系统和方法可以基于截取方向和截取长度来截取角,截取方向和截取长度是基于池化候选框来确定的。AI系统和方法可以基于截取的至少两个角来识别修剪的池化候选框的边界,并将边界映射到图像以确定目标对象的边界。在本申请中,考虑了与池化候选框的角(例如,角的位置)和池化候选框中的特征相关的信息。因此,根据本申请确定的目标对象的边界可能更适合于目标对象,尤其是对于倾斜的目标对象(例如,安全带、倾斜字符),这可以提高定位目标对象的准确性。
图1是根据本申请的一些实施例所示的示例性AI图像处理系统100的示意图。AI图像处理系统100可以被配置用于对象检测。例如,AI图像处理系统100可以确定与图像中的对象相对应的边界。在一些实施例中,AI图像处理系统100可以是提供线上到线下(O2O)服务的在线平台。AI图像处理系统100可以包括传感器110、网络120、终端130、服务器140和存储设备150。
传感器110可以被配置为捕获一个或以上图像。如在本申请中所使用的,图像可以是静止图像、视频、流视频或从视频获取的视频帧。图像可以是三维(3D)图像或二维(2D)图像。传感器110可以是或包括一个或以上相机。在一些实施例中,传感器110可以是数码相机、摄像机、监控摄像机、网络摄像机、智能手机、平板电脑、笔记本电脑、配备有网络摄像机的视频游戏机、具有多个镜头的摄像机、便携式摄像机等。在一些实施例中,传感器110(例如,摄像机)可以捕获包括一个或以上对象的图像。
网络120可以促进信息和/或数据的交换。在一些实施例中,对象检测系统100的一个或以上部件(例如,传感器110、终端130、服务器140和存储设备150)可以通过网络120向AI图像处理系统100的其他部件发送信息和/或数据。例如,服务器140可以通过网络120处理从传感器110获取的图像。又例如,服务器140可以通过网络120从终端130获取用户指令。在一些实施例中,网络120可以是有线网络或无线网络中的任意一种,或其组合。仅作为示例,所述网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内联络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网络(MAN)、公用电话交换网路(PSTN)、蓝牙网络、紫蜂网络、近场通讯(NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络交换点。例如,网络120可以包括有线或无线网络交换点,如基站和/或互联网交换点120-1、120-2等等,通过交换点,AI图像处理系统100的一个或以上部件可以连接到网络120以交换数据和/或信息。
终端130可以包括移动设备130-1、平板电脑130-2、笔记本电脑130-3等,或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器的控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴设备可以包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣物、智能背包、智能配饰等,或其任何组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、POS机等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实识别和/或增强现实设备可以包括GoogleGlassTM、OculusRiftTM、HoloLensTM或Gear VRTM等。在一些实施例中,终端130可以远程操作传感器110。在一些实施例中,终端130可以通过无线连接操作传感器110。在一些实施例中,终端130可以接收由用户输入的信息和/或指令,并且通过网络120将所接收的信息和/或指令发送到传感器110或服务器140。在一些实施例中,终端130可以从服务器140接收数据和/或信息。在一些实施例中,终端130可以是服务器140的一部分。在一些实施例中,可以省略终端130。
在一些实施例中,服务器140可以是单一服务器或服务器组。所述服务器组可以是集中式的或分布式的(例如,服务器140可以是分布式的系统)。在一些实施例中,服务器140可以是本地的或远程的。例如,服务器140可以通过网络120访问存储在传感器110、终端130和/或存储设备150中的信息和/或数据。又例如,服务器140可以直接连接到传感器110、终端130和/或存储设备150以访问存储的信息和/或数据。在一些实施例中,服务器140可以在云平台上实施。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多云等,或其任意组合。在一些实施例中,服务器140可以在本申请图2中所示的包含一个或者以上部件的计算设备200上实现。
在一些实施例中,服务器140可以包括AI处理设备142。AI处理设备142可以处理信息和/或数据以执行本申请中描述的一个或以上功能。例如,AI处理设备142可以处理包括目标对象的图像,以确定图像中目标对象的边界。在一些实施例中,AI处理设备142可以包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,AI处理设备142可以包括中央处理器(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑装置(PLD)、控制器、微控制器、精简指令集计算机(RISC)、微处理器等,或上述举例的任意组合。
存储设备150可以存储数据和/或指令。在一些实施例中,存储设备150可以存储从终端130和/或服务器140获取的数据。在一些实施例中,存储设备150可以存储服务器140用来执行或使用的数据和/或指令来完成本申请中描述的示例性方法。在一些实施例中,存储设备150可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任意组合。示例性的大容量储存器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、记忆卡、压缩磁盘、磁带等。示例性的易失性读写存储器可以包括随机存储器(RAM)。示例性的RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDRSDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性的ROM可以包括掩蔽型ROM(MROM)、可编程ROM(PROM)、可擦可编程ROM(PEROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多云等,或其任意组合。
在一些实施例中,存储设备150可以与网络120连接以与AI图像处理系统100的一个或以上部件(例如,传感器110、终端130、服务器140)通信。AI图像处理系统100中的一个或以上部件可以通过网络120访问存储设备150中存储的数据或指令。在一些实施例中,存储设备150可以直接与AI图像处理系统100中的一个或以上部件(例如,传感器110、终端130、服务器140)连接或通信。在一些实施例中,存储设备150可以是传感器110的一部分。
本领域普通技术人员应当理解,当AI图像处理系统100的元件(或部件)执行时,该元件可以通过电信号和/或电磁信号执行。例如,当终端130向服务器140发出请求时,终端130的处理器可以生成编码该请求的电信号。然后,终端130的处理器可以将电信号发送到输出端口。如果终端130通过有线网络与服务器140通信,则所述输出端口可以物理地连接到电缆,该电缆还可以将所述电信号传输到服务器140的输入端口。如果终端130通过无线网络与服务器140通信,则终端130的输出端口可以是一个或以上天线,其将电信号转换为电磁信号。在例如终端130和/或服务器140这样的电子设备内,当其处理器处理指令、发出指令和/或执行动作时,指令和/或动作通过电信号进行。例如,当处理器从存储介质检索或保存数据时,其可以将电信号发送到存储介质的读/写设备,该读/写设备可以在存储介质中读取或写入结构化数据。结构化数据可以电信号的形式通过电子设备的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或多个不连续的电信号。
图2是根据本申请的一些实施例所示的计算设备200的示例性硬件和软件部件的示意图。在一些实施例中,终端130和/或服务器140可以在计算设备200上实现。例如,服务器140的AI处理设备142可以在计算设备200上实现,并且被配置为执行本申请中披露的AI处理设备142的功能。
计算设备200可以是专用计算机,可以用于实现本申请的AI图像处理系统100。计算设备200可以被用于实现当前描述的AI图像处理系统100的任一部件。例如,AI处理设备142可以在计算设备上通过其硬件、软件程序、固件或其组合实现。为了方便起见,尽管图中只绘出一台这样的计算机,但文中描述的与图像处理有关的计算机功能可以以分布的方式在一组相似的平台上实施,以分散处理负载。
例如,计算设备200可以包括与网络相连接的通信端口250,以促进数据通信。计算设备200可以包括处理器220,以一个或以上处理器(或CPUs)的形式执行程序指令。示例性计算设备可以包括内部通信总线210、不同形式的程序存储器和数据存储器(例如,磁盘270、只读存储器(ROM)230、随机存取存储器(RAM)240),用于计算机处理和/或传输的各种各样的数据文件。示例性计算设备还可以包括程序指令,程序指令可以存储在ROM230、RAM240和/或其他类型的非暂时性存储介质中以由处理器220执行。本申请的方法和/或过程可以以程序指令的方式实施。计算机设备200还包括输入/输出260,用于支持计算设备200与其他部件之间的数据流的输入和/或输出。计算设备200还可以通过通信网络接收程序和数据。
为理解方便,计算设备200中仅示例性绘制了一个中央处理器(CPU)和/或处理器。然而,需要注意的是,本申请中的计算设备200可以包括至少两个中央处理器和/或处理器,因此本申请中描述的由一个中央处理器和/或处理器实现的操作和/或方法也可以共同地或独立地由至少两个中央处理器和/或处理器实现。例如,在本申请中,如果计算设备200的中央处理器和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由两个不同的中央处理器和/或处理器共同或分别执行(例如第一处理器执行步骤A、第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B)。
图3是根据本申请的一些实施例所示的移动设备300的示例性硬件和/或软件部件的示意图。在一些实施例中,终端(例如,终端130)可以在移动设备300上实现。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、输入/输出350、内存360、操作系统(OS)370、存储器390。在一些实施例中,任何其他合适的部件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作系统370(如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可以从存储器390加载到内存360中,以便由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和显示与AI图像处理系统100的图像处理或其他信息有关的信息。用户与信息流的交互可以通过输入/输出350实现,并提供给存储设备150、服务器140/或AI图像处理系统100的其他部件。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上部件的硬件平台。具有用户接口部件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可以充当系统。
图4是根据本申请的一些实施例所示的示例性AI处理设备142的框图。AI处理设备142可以包括获取模块401、特征图确定模块403、候选框确定模块405、池化候选框确定模块407、分类模块409和边界确定模块411。这些模块可以是AI处理设备142的全部或部分的硬件电路。这些模块也可以被实现为由AI处理设备142读取和执行的应用程序或一组指令。此外,模块可以是硬件电路和应用/指令的任意组合。例如,当AI处理设备142执行应用程序/指令时,模块可以是AI处理设备142的一部分。
获取模块401可以被配置为获取与AI图像处理系统100有关的信息和/或数据。在一些实施例中,获取模块401可以获取包括目标对象的图像。在一些实施例中,图像可以是由传感器110捕获的静止图像或视频。在一些实施例中,目标对象可以是图像中需要被识别和/或检测的对象。例如,目标对象可以是相对于图像倾斜的对象(例如,安全带、倾斜字符)。或者,图像中的所有对象可能都需要被识别和/或检测,并且图像中的每个对象可以被称为目标对象。在一些实施例中,获取模块401可以从AI图像处理系统100的一个或以上部件获取图像,例如传感器110、终端130、存储器(例如,存储设备150),或通过网络120从外部源(例如,ImageNet)获取图像。
特征图确定模块403可以被配置为通过将图像(例如,由获取模块401获取的图像)输入卷积神经网络(CNN)来生成特征图。卷积神经网络可以是训练后的卷积神经网络,包括一个或以上卷积层和一个或以上池化层,并且没有全连接层。卷积层可以被配置为提取图像的特征(或特征图)。池化层可以被配置为调整图像的特征图的大小。特征图可以包括图像的特征信息。
候选框确定模块405可以被配置为基于特征图确定候选框。在一些实施例中,候选框确定模块405可以根据区域建议网络(RPN)确定候选框。具体地,候选框确定模块405可以在特征图上滑动滑动窗口。随着滑动窗口在特征图上的滑动,可以确定至少两个滑动窗口位置。在每个滑动窗口位置,可以确定一组初始候选框。由于存在至少两个滑动窗口位置,因此可以在至少两个滑动窗口位置确定至少两个初始候选框。在一些实施例中,多个初始候选框可以彼此高度重叠,候选框确定模块405可以选择至少两个初始候选框的一部分作为候选框。仅作为示例,候选框确定模块405可以使用非极大抑制(NMS)来确定候选框。关于候选框的确定的细节可以在本申请的其他地方找到(例如,过程500的操作530及其描述)。
池化候选框确定模块407可以被配置为基于候选框和特征图来确定池化候选框。在一些实施例中,池化候选框确定模块407可以将候选框映射到特征图以确定候选特征图(也被称为感兴趣区域(ROI))。然后,池化候选框确定模块407可以通过对候选特征图(ROI)执行池化来确定至池化候选框。
分类模块409可以被配置为通过分类器将池化候选框分类为一个或以上对象类别或背景类别。在一些实施例中,分类模块409可以将池化候选框中的负样本分类为背景类别。如果池化候选框被确定为背景类别,则可以省略该池化候选框并且不进行进一步处理。在一些实施例中,分类模块409可以将对应于正样本的池化候选框分类为一个或以上对象类别中的一个。一个或以上对象类别可以是AI图像处理系统100的默认设置,和/或可以由用户调整。一个或以上对象类别可以包括目标对象的类别。分类模块409可以从池化候选框中选择对应于目标对象的一个或以上池化候选框。
边界确定模块411可以被配置为基于一个或以上池化候选框中的至少一个来确定图像中的目标对象的边界。在一些实施例中,边界可以是多边形框,例如,四边形框。仅作为示例,对于具有至少两个角(例如,4个角、5个角、8个角等)的池化候选框,边界确定模块411可以根据每个角的位置确定对应角的至少两个截取策略。边界确定模块411可以通过根据至少两个截取策略中的一个截取至少两个角中的每个角来修剪池化候选框。边界确定模块411可以基于截取的至少两个角来识别修剪的池化候选框的边界,并将边界映射到图像以确定目标对象的边界。关于边界的确定的细节可以在本申请的其他地方找到(例如,过程500的操作560,过程700及其描述)。
在一些实施例中,边界确定模块411可以基于一个或以上池化候选框确定对应于目标对象的一个或以上边界。边界确定模块411可以确定一个或以上边界中的每个边界与真实框之间的交并比。在一些实施例中,真实框可以指示目标对象的标记的边界框。边界与真实框之间的交并比可以反映边界与真实框的重叠程度。边界确定模块411将与一个或以上边界相关的一个或以上确定的交并比进行比较,并将具有最大交并比的边界确定为对应于目标对象的目标边界。
AI处理设备142中的模块可以通过有线连接或无线连接来互相连接或互相通信。有线连接可以包括金属线缆、光缆、混合电缆等,或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN)、蓝牙、紫蜂网络、近场通讯(NFC)等,或上述举例的任意组合。
应该注意的是,上述描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,AI处理设备142还可以包括一个或以上附加模块。例如,AI处理设备142还可以包括存储模块(图4中未示出),其被配置为存储由AI处理设备142的模块生成的数据。
图5是根据本申请的一些实施例所示的用于确定目标对象的边界的示例性过程500的流程图。仅出于说明目的,AI处理设备142可被描述为执行过程500的主体。然而,本领域普通技术人员将理解,过程500也可以由其他实体执行。例如,本领域普通技术人员将理解,过程500的至少一部分也可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,过程500的一个或以上操作可以在如图1所示的AI图像处理系统100中实现。在一些实施例中,过程500中的一个或以上操作可以以指令的形式存储在存储设备150和/或存储器(例如,ROM 230、RAM 240等)中,并且由服务器140(例如,服务器140中的AI处理设备142、或服务器140中的AI处理设备142的处理器220)调用和/或执行。在一些实施例中,指令可以以电子流或电信号的形式传输。
在操作510中,AI处理设备142(例如,获取模块401)可以获取包括目标对象的图像。在一些实施例中,图像可以是由传感器110捕获的图像(例如,智能手机的照相机、无人驾驶汽车中的照相机、智能监控相机、交通相机)。捕获的图像可以是静止图像、视频等。在一些实施例中,图像可以包括多个对象,例如人、动物(例如,狗、猫)、车辆(例如,自行车、汽车、公交车、卡车)、植物(例如,花、树)、建筑物、风景等,或其任何组合。在一些实施例中,图像可以包括相对于图像倾斜的对象,例如安全带、倾斜字符等。在一些实施例中,目标对象可以指图像中需要被识别和/或检测的对象。例如,目标对象可以是相对于图像倾斜的对象(例如,安全带、倾斜字符)。或者,图像中的所有对象可能都需要被识别和/或检测,故图像中的每个对象可以被称为目标对象。
在一些实施例中,AI处理设备142可以从AI图像处理系统100的一个或以上部件获取图像,例如传感器110、终端130、存储设备(例如,存储设备150)。可选地或另外地,AI处理设备142可以通过网络120从外部源获取图像。例如,AI处理设备142可以从ImageNet获取图像。
在操作520中,AI处理设备142(例如,特征图确定模块403)可以通过将图像输入到卷积神经网络(CNN)来生成特征图。特征图可以包括图像的特征信息。在一些实施例中,卷积神经网络可以基于Zeiler-Fergus模型(ZF)、VGG-16、RestNet50等生成。在一些实施例中,卷积神经网络可以是训练后的卷积神经网络,包括一个或以上卷积层和一个或以上池化层,并且没有全连接层。卷积层可以被配置为提取图像(例如,在操作510中获取的图像)的特征(或特征图)。池化层可以被配置为调整图像的特征图的大小。在一些实施例中,可以将图像输入到卷积神经网络中,并且可以生成至少两个特征图。仅作为示例,可以基于ZF模型确定卷积神经网络。可以将尺寸为600*1000的图像输入到ZF模型中,并且可以从ZF模型输出256个特征图。256个特征图的每个特征图的大小可以是40*60。
在一些实施例中,可以根据迁移学习生成卷积神经网络。迁移学习能够通过使用先前获得的知识来减少训练时间。具体地,基础网络可以是基于从数据集(例如,ImageNet数据集、PASCALVOC、COCO等)获取的至少两个第一训练样本先前训练的预训练的网络。基础网络可以包括一个或以上层(例如,卷积层、池化层)和预训练的权重。可以将一个或以上层中的至少一些及其对应的预训练的权重迁移到目标网络。例如,基础网络可以是VGG-16,包括十三个卷积层、四个池化层和三个全连接层。可以将十三个卷积层和四个池化层迁移到目标网络(例如,卷积神经网络)。在一些实施例中,卷积层和/或池化层的预训练的权重可以不需要调整,或者可以基于从数据集(例如,ImageNet数据集、PASCALVOC,COCO等)获取的至少两个第二训练样本来微调。在一些实施例中,目标网络还可以包括除迁移的层之外的一个或以上附加层。可以根据从数据集(例如,ImageNet数据集、PASCALVOC、COCO等)获取的至少两个第三训练样本来更新附加层中的权重。应当注意的是,在一些实施例中,不同于迁移学习,可以通过使用从数据集(例如,ImageNet数据集、PASCALVOC、COCO等)获取的至少两个第四训练样本训练初始卷积神经网络来直接生成卷积神经网络。
在操作530中,AI处理设备142(例如,候选框确定模块405)可以基于特征图确定候选框。在一些实施例中,AI处理设备142可以根据区域建议网络(RPN)确定候选框。如图6所示,RPN可以包括至少一个回归层和至少一个分类层。
在一些实施例中,AI处理设备142可以在特征图上滑动滑动窗口。滑动窗口也可以被称为卷积核,其尺寸例如为3*3、5*5等。随着滑动窗口在特征图上的滑动,可以确定至少两个滑动窗口位置。仅作为示例,滑动窗口的大小可以是3*3,特征图的大小可以是40*60。可以对特征图执行填充(padding)操作(例如,padding=1)。当滑动窗口滑过特征图时,可以粗略地确定40*60(2400)个滑动窗口位置。
在每个滑动窗口位置,滑动窗口可以与特征图的一个子区域重合。在一些实施例中,AI处理设备142可以将特征图的子区域映射到多维特征向量。例如,如果存在256个特征图,则可以在子区域处生成256维特征向量。AI处理设备142可以通过将子区域的中心像素映射到操作510中获取的图像的像素来生成锚点。在一些实施例中,锚点可以对应于图像中的一组锚点框(例如,包括k个锚点框)。每个锚点框可以是矩形框。锚点可以是每个锚点框的中心点。每个锚点框可以与尺度和长宽比相关。仅作为示例,如果使用3个比例(例如,128、256、512等)和3个宽高比(例如,1:1、1:2、2:1等),则该组锚点框的数量可以是9。在一些实施例中,AI处理设备142可以将多维特征向量和/或该组锚点框分别送入至少一个回归层和至少一个分类层。在一些实施例中,至少一个回归层可以被配置为进行边界框回归以确定对应于该组锚点框的一组初始候选框。至少一个回归层的输出可以包括该组初始候选框中的每个初始候选框的四个坐标值。在一些实施例中,初始候选框的四个坐标值可以包括初始候选框的位置(例如,对应锚点框的锚点的坐标(x,y))和初始候选框的大小(例如,初始候选框的宽w和高h)。所述至少一个分类层可以被配置为确定该组初始候选框中的每个初始候选框的类别。类别可以是前景或背景。所述至少一个分类层的输出可以包括初始候选框的每个初始候选框为前景的第一得分和为背景的第二得分。
如上所述,在每个滑动窗口位置,可以确定一组(例如,9个)初始候选框。由于存在至少两个滑动窗口位置(例如,大约40*60),因此可以在至少两个滑动窗口位置确定至少两个(例如,大约20000)初始候选框。在一些实施例中,多个初始候选框可以彼此高度重叠。AI处理设备142可以选择至少两个初始候选框的一部分作为候选框。在一些实施例中,AI处理设备142可以使用非极大抑制(NMS)来选择候选框。具体地,AI处理设备142可以基于至少两个初始候选框的每个初始候选框为前景的第一得分和为背景的第二得分和至少两个初始候选框的每个候选框的四个坐标值,选择至少两个初始候选框的一部分作为候选框。在一些实施例中,AI处理设备142可以确定至少两个初始候选框中的每个初始候选框与真实框之间的交并比(IoU)。真实框可以是目标对象的标记的边界框。AI处理设备142可以确定具有大于0.7的交并比的初始候选框作为正样本,并且确定具有小于0.3的交并比的初始候选框作为负样本。AI处理设备142可以移除除了正样本和负样本之外的初始候选框。在一些实施例中,AI处理设备142可以从正样本和负样本中选择至少两个候选框。在一些实施例中,AI处理设备142可以基于每个正样本为前景的第一得分对正样本进行排名,并且基于排名后的正样本选择多个正样本。AI处理设备142可以基于每个负样本为背景的第二得分对负样本进行排名,并且基于排名后的负样本选择多个负样本。所选择的正样本和所选择的负样本可以构成至少两个候选框。在一些实施例中,AI处理设备142可以选择300个候选框。所选择的正样本的数量可以与所选择的负样本的数量相同或不同。在一些实施例中,在使用非极大抑制(NMS)选择候选框之前,AI处理设备142可以首先移除跨越图像边界的初始候选框(也被称为跨边界初始候选框)。
在操作540中,AI处理设备142(例如,池化候选框确定模块407)可以基于候选框和特征图来确定池化候选框。在一些实施例中,AI处理设备142可以将候选框映射到特征图以确定候选特征图(也被称为感兴趣区域(ROI))。在一些实施例中,将候选特征图(或ROI)输入到分类器中以供进一步处理。分类器只接受具有规范大小(例如7*7)的候选特征图。因此,AI处理设备142可以将候选特征图调整为规范大小。AI处理设备142可以通过对候选特征图(ROI)执行池化来确定池化候选框。在一些实施例中,池化可以包括最大池化、平均池化等。在一些实施例中,池化候选框可以对应于规范大小(例如,7*7),并且可以输入到分类器中以进行进一步处理。例如,可以将池化候选框确定为固定长度的矢量,其可以被送到分类器的全连接层。
在操作550中,AI处理设备142(例如,分类模块409)可以通过分类器将池化候选框分类为一个或以上对象类别或背景类别。在一些实施例中,分类器可以包括支持向量机(SVM)分类器、拜耳分类器、决策树分类器、softmax分类器等,或其任何组合。
在一些实施例中,一个或以上池化候选框可以被分类为背景类别。例如,如结合操作530所述,候选框可以包括多个正样本和多个负样本。类似地,池化候选框可以对应于多个正样本和多个负样本。在一些实施例中,池化候选框中的多个负样本可以被分类为背景类别。如果池化候选框被确定为背景类别,则可以省略该池化候选框并且不进行进一步处理。
在一些实施例中,对应于正样本的池化候选框可以被分类为一个或以上对象类别中的一个。一个或以上对象类别可以是AI图像处理系统100的默认设置,和/或可以由用户调整。一个或以上对象类别可以包括目标对象的类别。池化候选框可以包括对应于目标对象的一个或以上池化候选框。AI处理设备142可以从池化候选框中选择对应于目标对象的一个或以上池化候选框。
在操作560中,AI处理设备142(例如,边界确定模块411)可以基于一个或以上池化候选框中的至少一个来确定图像中的目标对象的目标边界。在一些实施例中,目标边界可以是多边形框,例如,四边形框。
在一些实施例中,一个或以上池化候选框中的每个池化候选框可以具有至少两个角(例如,4个角、5个角、8个角等)。对于池化候选框,AI处理设备142可以根据至少两个角的每个角的位置确定对应角的至少两个截取策略。仅作为示例,AI处理设备142可以为至少两个角中的每个角确定五种截取策略。在一些实施例中,对于每个角,AI处理设备142可以基于池化候选框确定至少两个(例如,五个)截取策略中的一个作为该角的期望截取策略。仅作为示例,AI处理设备142可以基于池化候选框确定每个角的截取方向和截取长度。角的截取方向可以限于角的至少两个截取策略中的一个。在一些实施例中,AI处理设备142可以通过根据期望截取策略(例如,基于截取方向和截取长度)截取至少两个角中的每个角来修剪池化候选框。在一些实施例中,每个角的至少两个截取策略可以包括错误截取策略和/或目标位置截取策略。错误截取策略可以指示该角对应于目标对象内的点。目标位置截取策略可以指示该角对应于目标对象的边界点。如果角的截取方向对应于错误截取策略,则AI处理设备142可以停止截取角并放弃该池化候选框。如果角的截取方向对应于目标位置截取策略,则AI处理设备142可以停止截取角。当每个角的截取方向对应于目标位置截取策略时,AI处理设备142可以基于截取的至少两个角来识别修剪的池化候选框的边界,并将边界映射到图像以确定目标对象的边界。关于边界的确定的细节可以在本申请的其他地方找到(例如,图7及其描述)。
在一些实施例中,AI处理设备142可以基于一个或以上池化候选框确定对应于目标对象的一个或以上边界。可以根据过程700确定一个或以上边界中的每一个,这里不再重复描述。AI处理设备142可以确定一个或以上边界中的每个边界与真实框之间的交并比。在一些实施例中,真实框可以指示目标对象的标记的边界框。边界与真实框之间的交并比可以反映边界与真实框的重叠程度。AI处理设备142可以将与一个或以上边界相关的一个或以上确定的交并比进行比较,将具有最大交并比的边界确定为对应于目标对象的目标边界。
在本申请中,对于池化候选框,可以根据其截取策略中的一个来截取池化候选框的每个角,其考虑了与对应角相关的信息。此外,可以基于池化候选框确定池化候选框的每个角的截取方向和/或截取长度,其考虑了池化候选框中的特征。因此,根据本申请中公开的过程确定的目标对象的边界可能更适合于目标对象,尤其是对于倾斜的目标对象,其可以提高检测和/或定位目标对象的准确性。如本申请中所公开的,对于目标对象,可以确定一个或以上边界。可以将在一个或以上边界中具有最大交并比的边界确定为目标边界。也就是说,可以将与真实框具有最大重叠程度的边界确定为目标边界,这可以进一步提高检测和/或定位目标对象的准确性。
应当注意的是,关于过程500的以上描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,在操作560中,AI处理设备142可能不需要确定对应于目标对象的至少两个边界。当AI处理设备142确定目标对象的边界时,AI处理设备142可以将该边界确定为目标边界,并终止操作560。在一些实施例中,根据过程500,可以同时确定图像中的一个或以上目标对象(例如,所有对象)的边界。在一些实施例中,可以重复过程500以确定至少两个不同图像中的目标对象的边界。
图6是根据本申请的一些实施例所示的示例性区域建议网络(RPN)的示意图。如图6所示,区域建议网络引入了滑动窗口。滑动窗口被配置为在特征图上滑动。如图6所示,在某个滑动窗口位置,滑动窗口与特征图的一个子区域重合。滑动窗口的大小为3*3。子区域被映射到多维特征向量,例如,中间层中示出的256维(256-d)特征向量。此外,子区域的中心像素O被映射到图像的像素以产生锚点O'。基于锚点O'确定一组锚点框(例如,k个锚点框)。每个锚点框都是矩形框,而锚点O'是该组锚点框的中心点。在一些实施例中,可以存在3个尺度和3个宽高比,并且可以在图像上确定9个锚点框。
如图6所示,区域建议网络包括回归层(表示为reg层)和分类层(表示为cls层)。回归层可以被配置为进行边界框回归以确定对应于锚点框的初始候选框。分类层可以被配置为确定初始候选框的类别。如图所示,多维特征向量(即,256-d特征向量)和/或一组锚点框(即,k个锚点框)分别被送入回归层和分类层。回归层的输出包括该组初始候选框中的每个初始候选框的四个坐标值(也称为四个坐标)。初始候选框的四个坐标值可以包括初始候选框的位置(例如,对应锚点框的锚点的坐标(x,y))和初始候选框的尺寸(例如,初始候选框的宽w和高h)。分类层的输出包括该组初始候选框中的每个初始候选框的两个得分,包括作为前景的第一得分和作为背景的第二得分。
如上所述,在某个滑动窗口位置可以确定一组初始候选框。随着滑动窗口在特征图上的滑动,可以在至少两个滑动窗口确定至少两个初始候选框。在一些实施例中,区域建议网络可以选择至少两个初始候选框的一部分作为候选框以供进一步处理。关于候选框的选择的更多描述可以在本申请的其他地方找到(例如,过程500的操作530及其相关描述)。
图7是根据本申请的一些实施例所示的用于基于池化候选框确定目标对象的边界的示例性过程700的流程图。仅出于说明目的,AI处理设备142可以被描述为执行过程700的主体。然而,本领域普通技术人员将理解,过程700也可以由其他实体执行。例如,本领域普通技术人员将理解,过程700的至少一部分也可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,过程700的一个或以上操作可以在如图1所示的AI图像处理系统100中实现。在一些实施例中,过程700中的一个或以上操作可以以指令的形式存储在存储设备150和/或存储器(例如,ROM 230、RAM 240等)中,并且由服务器140(例如,服务器140中的AI处理设备142、或服务器140中的AI处理设备142的处理器220)调用和/或执行。在一些实施例中,指令可以以电子流或电信号的形式传输。在一些实施例中,可以根据过程700执行过程500的操作560的一部分。
在一些实施例中,池化候选框可以具有至少两个角。在操作710中,AI处理设备142(例如,边界确定模块411)可以根据至少两个角中的每个角的位置来确定池化候选框的至少两个角中的每个角的至少两个截取策略。
在一些实施例中,角的位置可以是指角相对于其他角位置的位置。在某些实施例中,池化候选框可以是矩形框并且包括四个角。四个角可以包括左上角、右上角、左下角和右下角。AI处理设备142可以基于四个角中的每个角的位置来确定四个角中的每个角的至少两个截取策略。具体地,AI处理设备142可以确定左上角的至少两个截取策略。左上角的至少两个截取策略可以包括向左截取、向下截取、向右下截取、目标位置、错误等,或其任何组合。AI处理设备142可以确定右上角的至少两个截取策略。右上角的至少两个截取策略可以包括向左截取、向下截取、向左下截取、目标位置、错误等,或其任何组合。AI处理设备142可以确定左下角的至少两个截取策略。左下角的至少两个截取策略可以包括向右截取、向上截取、向右上截取、目标位置或错误等,或其任何组合。AI处理设备142可以确定右下角的至少两个截取策略。右下角的至少两个截取策略可以包括向左截取、向上截取、向左上截取、目标位置、错误等,或其任何组合。从上面可以看出,每个角的至少两个截取策略可以包括错误截取策略和/或目标位置截取策略。错误截取策略可以指示该角对应于目标对象内的点。目标位置截取策略可以指示该角对应于目标对象的边界点。应当注意的是,每个角的截取策略和角的数量仅用于说明目的,并不旨在限制本申请的范围。
在操作720中,AI处理设备142(例如,边界确定模块411)可以基于池化候选框从至少两个截取策略中确定至少两个角的每个角的截取策略。在一些实施例中,AI处理设备142可以基于池化候选框确定每个角的截取方向和截取长度。例如,AI处理设备142可以分析池化候选框中的像素(例如,表示目标对象的像素、表示背景的像素)的特征,并基于分析结果确定截取方向和/或截取长度。截取方向可以限于至少两个截取策略中的一个。截取长度可以是几个像素的长度,例如,包括0-10个像素的长度。
在操作730中,AI处理设备142(例如,边界确定模块411)可以确定至少两个角中的一个角是否对应于错误截取策略。在一些实施例中,如果角的确定的截取方向对应于“错误”截取策略,则该角可能对应于目标对象内的点。也就是说,池化候选框没有包含整个目标对象。如果角的确定的截取方向对应于目标位置截取策略,则该角可能对应于目标对象的边界点。此外,如果角的确定的截取方向对应于除了错误截取策略和目标位置截取策略之外的其他截取策略,则该角可以对应于与对象具有距离的点。响应于确定至少两个角中的至少一个角对应于错误截取策略,AI处理设备142可以进行到操作740。响应于确定至少两个角中的每个角不对应于错误截取策略,AI处理设备142可以进行到操作750。
在操作740中,AI处理设备142(例如,边界确定模块411)可以放弃池化候选框。由于池化候选框不包含整个目标对象,因此无法根据池候选框确定目标对象的边界。因此,AI处理设备142可以放弃该池化候选框。
在操作750中,AI处理设备142(例如,边界确定模块411)可以确定至少两个角中的每个角是否对应于目标位置截取策略。响应于确定至少两个角中的至少一个角不对应于目标位置截取策略,AI处理设备142可以进行到操作760。
在操作760中,AI处理设备142(例如,边界确定模块411)可以通过根据至少一个角的确定的截取策略截取至少一个角来修剪池化候选框。也就是说,如果角不对应于目标位置截取策略和错误截取策略,则AI处理设备142可以基于在操作720中确定的角的截取策略来截取角。当根据其截取策略截取至少一个角时,可以确定修剪的池化候选框。
仅作为示例,对于池化候选框的右上角,如果确定的截取方向对应于向左截取的截取策略,则AI处理设备142可以向左截取右上角以更新右上角的位置。又例如,对于池化候选框的左上角,如果确定的截取方向对应于向右截取的截取策略,则AI处理设备142可以向右截取左上角以更新左上角的位置。作为另一示例,对于池化候选框的左下角,如果确定的截取方向对应于向右上截取的截取策略,则AI处理设备142可以向右上截取左下角以更新左下角的位置。
在操作770中,AI处理设备142(例如,边界确定模块411)可以基于截取的至少两个角执行边界映射以确定矩形框。在某些实施例中,如上所述,池化候选框可以是矩形框并包括四个角。由于针对不同角应用的不同截取策略,修剪后的池化候选框可以是非矩形框的四边形框。在一些实施例中,仅当(修剪的)池化候选框是矩形框时,才可以使用上述截取策略。因此,AI处理设备142可以在修剪的池化候选框上执行边界映射。具体地,AI处理设备142可以基于四个角确定两条对角线,并将较长的对角线确定为目标对角线。AI处理设备142可以基于目标对角线确定矩形框。
在操作780中,AI处理设备142(例如,边界确定模块411)可以将矩形框的大小调整为规范大小以确定更新的池化候选框。在一些实施例中,AI处理设备142可以通过执行池化来调整矩形框的大小以确定更新的池化候选框。更新的池化候选框可以具有规范大小并且可以被分类器接受。在确定更新的池化候选框之后,AI处理设备142可以进行到操作720到780并开始下一次迭代。操作720至770的描述可以在本申请的其他地方找到,这里不再重复描述。AI处理设备142可以重复操作720到780,直到至少两个角中的每个角对应于目标位置截取策略。
在操作730中,响应于确定至少两个角中的每个角不对应于错误截取策略,AI处理设备142可以进行到操作750。在操作750中,AI处理设备142可以确定至少两个角中的每个角是否对应于目标位置截取策略。响应于确定至少两个角中的每个角对应于目标位置截取策略,AI处理设备142可以停止截取至少两个角。AI处理设备142可以进行到操作790。
在操作790中,AI处理设备142(例如,边界确定模块411)可以基于截取的至少两个角来识别修剪的池化候选框的边界。在某些实施例中,(修剪的)池化候选框可以包括四个角。AI处理设备142可以连接四个角以确定特征图上的边界。
在操作795中,AI处理设备142(例如,边界确定模块411)可以将边界映射到图像以确定目标对象的边界。在一些实施例中,目标对象的边界可以是四边形框。
在本申请中,对于池化候选框的每个角,可以基于对应角的位置确定至少两个截取策略。此外,可以基于池化候选框中的像素的特征来确定每个角的截取方向和/或截取长度。也就是说,为了截取角,已经考虑了角的位置和/或池化候选框的特征。因此,根据本申请中公开的过程确定的目标对象的边界可能更适合于目标对象,特别地,对于倾斜的目标对象,其可以提高检测和/或定位目标对象的准确性。例如,如图9C所示,对于倾斜的目标对象(例如,倾斜字符),本申请可以为倾斜的目标对象提供合适的边界,并且进一步提高检测和/或定位倾斜的目标对象的准确度。
应当注意的是,关于过程700的以上描述的仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,可以同时执行操作730和750。又例如,可以在操作730之前执行操作750。在一些实施例中,AI处理设备142可以重复过程700以确定对应于目标对象的一个或以上边界。
图8是根据本申请的一些实施例所示的用于确定目标对象的边界的示例性过程的示意图。如图8所示,图像被输入卷积神经网络(CNN)。在一些实施例中,图像可以包括一个或以上目标对象(例如,待检测的对象)。在一些实施例中,可以基于ZF模型、VGG-16、RestNet50等生成卷积神经网络。在一些实施方案中,卷积神经网络可以包括一个或以上卷积层和一个或以上池化层,并且不具有全连接层。通过将图像输入卷积神经网络,可以生成特征图。特征图可以包括图像的特征信息。关于特征图的生成的细节可以在本申请的其他地方找到(例如,操作510和520,以及其描述)。
如图8所示,可以将特征图输入到区域建议网络(RPN)中。在区域建议网络中,滑动窗口可以滑过特征图。随着滑动窗口在特征图上的滑动,可以确定至少两个滑动窗口位置。在每个滑动窗口位置,可以生成多维特征向量(例如,256维特征向量)和/或可以确定图像中的锚点。锚点可以对应于一组锚点框,每个锚点框可以与尺度和宽高比相关。如图8所示,区域建议网络包括至少一个回归层和至少一个分类层。多维特征向量和/或该组锚点框被送入至少一个回归层和至少一个分类层。至少一个回归层的输出可以包括该组初始候选框中的每个初始候选框的四个坐标值。至少一个分类层的输出可以包括该组初始候选框中的每个初始候选框作为前景的第一得分和作为背景的第二得分。类似地,在至少两个滑动窗口,可以确定至少两个初始候选框。在一些实施例中,可以选择至少两个初始候选框的一部分作为候选框。候选框可以包括正样本(例如,前景)和负样本(例如,背景)。可以进一步处理候选框。关于候选框的确定的细节可以在本申请的其他地方找到(例如,过程500的操作530)。
如图8所示,基于至少两个特征图和至少两个候选框执行感兴趣区域(ROI)池化操作。具体地,候选框可以被映射到特征图以确定候选特征图(也被称为ROI)。通过在ROI上执行池化,可以将ROI的大小调整为规范大小(例如,7*7)。然后可以确定池化候选框。池化候选框可以进入分类器以进行进一步处理。
池化候选框可以通过分类器分类为一个或以上对象类别(例如,K个类别)或背景类别。如果池化候选框被确定为背景类别,则可以省略和/或移除该池化候选框。池化候选框可以包括对应于目标对象的一个或以上池化候选框。对于池化候选框,可以基于池化候选框确定图像中目标对象的边界。为了确定目标对象的边界,池化候选框可以被修剪一次或多次。在一些实施例中,池化候选框可以包括至少两个角。如图8所示,池化候选框包括四个角,即左上角(TL)、右上角(TR)、左下角(BL)和右下角(BR)。四个角中的每个角都包括五种截取策略。具体来说,左上角的五个策略包括向右截取(→)、向右下截取(↘)、向下截取(↓)、目标位置(T)和错误(F)。右上角的五个策略包括向左截取(←)、向左下截取(↙)、向下截取(↓)、目标位置(T)和错误(F)。左下角的五种策略包括向右截取(→)、向右上截取(↗)、向上截取(↑)、目标位置(T)和错误(F)。右下角的五种策略包括向左截取(←)、向左上截取(↖)、向上截取(↑)、目标位置(T)和错误(F)。可以基于池化候选框中的像素的特征来确定四个角中的每个角的截取策略。可以确定四个角中的一个角是否对应于错误截取策略。如果四个角中的至少一个角对应于错误截取策略,则该池化候选框可以被确定为不包含整个目标对象,可以放弃和/或拒绝池化候选框。如果四个角中的每个角都不对应于错误截取策略,则可以确定四个角中的每个角是否对应于目标位置截取策略。如果角不对应于目标位置截取策略,则可以基于所确定的截取策略截取角。当根据其截取策略截取每个角时,可以确定修剪的池化候选框。可以基于截取的四个角执行边界映射以确定矩形框。将矩形框的大小调整为规范大小,以确定更新的池化候选框。可以进一步修剪更新的池化候选框,并且可以执行下一次迭代。当四个角中的每个角对应于目标位置截取策略时,可以不截取四个角中的每个角。可以识别(修剪的)池化候选框的边界。边界可以映射到图像以确定目标对象的边界。关于目标对象的边界的确定的更多描述可以在本申请的其他地方找到(例如,图7及其描述)。
图9至图11是根据本申请的一些实施例所示的图像的示意图。如图9至图11所示,图像可以包括目标对象,即倾斜字符“CHANEL”。图10示出了根据Faster-RCNN算法确定的“CHANEL”的边界902(也称为边界框)。图11示出了根据本申请中描述的过程确定的“CHANEL”的边界904。边界902包括比目标对象更多的背景,这样不能准确地确定目标对象的位置。边界904包括较少的背景,这样可以实现目标对象的准确定位。因此,本申请中描述的方法可以提高对象检测的准确性。
上文已对基本概念做了描述,显然,对于本领域的普通技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可以对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以修改、改进和修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定术语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应当强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”或“系统”。此外,本申请的各方面可能呈现为位于一个或以上计算机可读介质中的计算机产品,该产品具有计算机可读程序编码。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播讯号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、缆线、光纤电缆、RF、或或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过互联网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,否则处理元素或序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请揭示的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (28)
1.一种对象检测的方法,其特征在于,包括:
获取包含目标对象的图像;
通过将所述图像输入卷积神经网络来生成特征图;
基于所述特征图确定候选框;
基于所述候选框和所述特征图确定池化候选框;
通过分类器将所述池化候选框分类为一个或以上对象类别或背景类别,所述一个或以上对象类别包括所述目标对象的类别,所述池化候选框包括对应于所述目标对象的一个或以上池化候选框,所述一个或以上池化候选框的每个池化候选框具有至少两个角;以及
对于与所述目标对象相对应的所述一个或以上池化候选框的每个池化候选框,
根据所述池化候选框的所述至少两个角的每个角的位置确定所述对应角的至少两个截取策略;
通过根据所述至少两个截取策略中的一个截取所述至少两个角中的每个角来修剪所述池化候选框;
根据所述截取的至少两个角来识别所述修剪的池化候选框的边界;以及
将所述边界映射到所述图像以确定所述目标对象的边界。
2.根据权利要求1所述的对象检测的方法,其特征在于,所述卷积神经网络包括一个或以上卷积层和一个或以上池化层,并且没有全连接层。
3.根据权利要求1所述的对象检测的方法,其特征在于,所述候选框是根据区域建议网络确定的。
4.根据权利要求3所述的对象检测的方法,其特征在于,所述区域建议网络包括至少一个回归层和至少一个分类层,并且确定所述候选框进一步包括:
在所述特征图上滑动滑动窗口;
在每个滑动窗口位置所述滑动窗口与所述特征图的一个子区域重合,
将所述特征图的所述子区域映射到多维特征向量;
通过将所述子区域的中心像素映射到所述图像的像素来生成锚点,所述锚点对应于所述图像中的一组锚点框,所述锚点框的每个与尺度和宽高比相关;
将所述多维特征向量分别送入所述至少一个回归层和所述至少一个分类层,其中
所述至少一个回归层用于进行边界框回归以确定对应于所述锚点框的一组初始候选框,所述至少一个回归层的输出包括所述初始候选框的每个初始候选框的四个坐标值,以及
所述至少一个分类层用于确定所述初始候选框的每个初始候选框的类别,所述类别为前景或背景,所述至少一个分类层的输出包括所述初始候选框的每个初始候选框为前景的第一得分和为背景的第二得分;以及
基于至少两个初始候选框的每个初始候选框为前景的所述第一得分和为背景的所述第二得分和所述至少两个初始候选框的每个候选框的四个坐标值,选择所述至少两个初始候选框的一部分作为所述候选框。
5.根据权利要求4所述的对象检测的方法,其特征在于,选择所述至少两个初始候选框的一部分作为所述候选框包括:
使用非极大抑制选择所述候选框。
6.根据权利要求1至5中任一项所述的对象检测的方法,其特征在于,所述池化候选框对应于规范大小,确定所述池化候选框进一步包括:
将所述候选框映射到所述特征图,以确定候选特征图;以及
通过在所述候选特征图上执行池化来确定所述池化候选框。
7.根据权利要求1所述的对象检测的方法,其特征在于,所述至少两个角包括左上角、右上角、左下角和右下角,其中
所述左上角的所述至少两个截取策略包括向右截取、向下截取、向右下截取、目标位置或错误中的至少一个;
所述右上角的所述至少两个截取策略包括向左截取、向下截取、向左下截取、目标位置或错误中的至少一个;
所述左下角的所述至少两个截取策略包括向右截取、向上截取、向右上截取、目标位置或错误中的至少一个;以及
所述右下角的所述至少两个截取策略包括向左截取、向上截取、向左上截取、目标位置或错误中的至少一个。
8.根据权利要求7所述的对象检测的方法,其特征在于,进一步包括:
当所述至少两个角中的一个角对应于目标位置截取策略时,停止截取所述角。
9.根据权利要求7所述的对象检测的方法,其特征在于,截取所述至少两个角中的每个角包括:
基于所述池化候选框确定所述至少两个角中的每个角的截取方向和截取长度,其中所述至少两个角中的每个角的所述截取方向限于所述对应角的所述至少两个截取策略中的一个;以及
基于所述截取方向和所述截取长度截取所述至少两个角中的每个角。
10.根据权利要求7所述的对象检测的方法,其特征在于,通过截取所述至少两个角中的每个角来修剪所述池化候选框包括:
执行一次或以上迭代;
在所述一次或以上迭代的每次迭代中,
根据所述池化候选框,从所述至少两个截取策略中确定所述至少两个角的每个角的截取策略;
确定所述至少两个角中的一个角是否对应于错误截取策略;
响应于确定所述至少两个角中的每个角不对应于所述错误截取策略,确定所述至少两个角中的每个角是否对应于目标位置截取策略;
响应于确定所述至少两个角中的至少一个角不对应于所述目标位置截取策略,根据所述至少两个角的所述至少一个角的所述确定的截取策略,截取所述至少两个角的所述至少一个角;
基于所述截取的至少两个角,执行边界映射以确定矩形框;以及
将所述矩形框调整为规范大小;以及
响应于确定所述至少两个角的每个角对应于所述目标位置截取策略,停止截取所述至少两个角。
11.根据权利要求10所述的对象检测的方法,其特征在于,进一步包括:
响应于确定所述至少两个角中的至少一个角对应于所述错误截取策略,放弃所述池化候选框。
12.根据权利要求1所述的对象检测的方法,其特征在于,进一步包括:
确定与所述目标对象相对应的一个或以上边界;
确定所述一个或以上边界的每个边界与真实框之间的交并比;以及
将所述一个或以上边界中具有最大交并比的边界确定为对应于所述目标对象的目标边界。
13.根据权利要求1所述的对象检测的方法,其特征在于,所述目标对象的所述边界是四边形框。
14.一种对象检测的系统,其特征在于,包括获取模块、特征图确定模块、候选框确定模块、池化候选框确定模块、分类模块和边界确定模块;
所述获取模块用于获取包含目标对象的图像;
所述特征图确定模块用于通过将所述图像输入卷积神经网络来生成特征图;
所述候选框确定模块用于基于所述特征图确定候选框;
所述池化候选框确定模块用于基于所述候选框和所述特征图确定池化候选框;
所述分类模块用于通过分类器将所述池化候选框分类为一个或以上对象类别或背景类别,所述一个或以上对象类别包括所述目标对象的类别,所述池化候选框包括对应于所述目标对象的一个或以上池化候选框,所述一个或以上池化候选框的每个池化候选框具有至少两个角;以及
对于与所述目标对象相对应的所述一个或以上池化候选框的每个池化候选框,
所述边界确定模块用于根据所述池化候选框的所述至少两个角的每个角的位置确定所述对应角的至少两个截取策略;
所述边界确定模块用于通过根据所述至少两个截取策略中的一个截取所述至少两个角中的每个角来修剪所述池化候选框;
所述边界确定模块用于根据所述截取的至少两个角来识别所述修剪的池化候选框的边界;以及
所述边界确定模块用于将所述边界映射到所述图像以确定所述目标对象的边界。
15.根据权利要求14所述的对象检测的系统,其特征在于,所述卷积神经网络包括一个或以上卷积层和一个或以上池化层,并且没有全连接层。
16.根据权利要求14所示的对象检测的系统,其特征在于,所述候选框是根据区域建议网络确定的。
17.根据权利要求16所述的对象检测的系统,其特征在于,所述区域建议网络包括至少一个回归层和至少一个分类层,并且所述候选框确定模块进一步用于:
在所述特征图上滑动滑动窗口;
在每个滑动窗口位置,所述滑动窗口与所述特征图的一个子区域重合,
将所述特征图的所述子区域映射到多维特征向量;
通过将所述子区域的中心像素映射到所述图像的像素来生成锚点,所述锚点对应于所述图像中的一组锚点框,所述锚点框的每个与尺度和宽高比相关;
将所述多维特征向量分别送入所述至少一个回归层和所述至少一个分类层,其中
所述至少一个回归层用于进行边界框回归以确定对应于所述锚点框的一组初始候选框,所述至少一个回归层的输出包括所述初始候选框的每个初始候选框的四个坐标值,以及
所述至少一个分类层用于确定所述初始候选框的每个初始候选框的类别,所述类别为前景或背景,所述至少一个分类层的输出包括所述初始候选框的每个初始候选框为前景的第一得分和为背景的第二得分;以及
基于至少两个初始候选框的每个初始候选框为前景的所述第一得分和为背景的所述第二得分和所述至少两个初始候选框的每个候选框的四个坐标值,选择所述至少两个初始候选框的一部分作为所述候选框。
18.根据权利要求17所述的对象检测的系统,其特征在于,所述候选框确定模块还用于:
使用非极大抑制选择所述候选框。
19.根据权利要求14至18中任一项所述的对象检测的系统,其特征在于,所述池化候选框对应于规范大小,所述池化候选框确定模块进一步用于:
将所述候选框映射到所述特征图,以确定候选特征图;以及
通过在所述候选特征图上执行池化来确定所述池化候选框。
20.根据权利要求14所述的对象检测的系统,其特征在于,所述至少两个角包括左上角、右上角、左下角和右下角,其中
所述左上角的所述至少两个截取策略包括向右截取、向下截取、向右下截取、目标位置或错误中的至少一个;
所述右上角的所述至少两个截取策略包括向左截取、向下截取、向左下截取、目标位置或错误中的至少一个;
所述左下角的所述至少两个截取策略包括向右截取、向上截取、向右上截取、目标位置或错误中的至少一个;以及
所述右下角的所述至少两个截取策略包括向左截取、向上截取、向左上截取、目标位置或错误中的至少一个。
21.根据权利要求20所述的对象检测的系统,其特征在于,所述边界确定模块进一步用于:
当所述至少两个角中的一个角对应于目标位置截取策略时,停止截取所述角。
22.根据权利要求20所述的对象检测的系统,其特征在于,所述边界确定模块用于:
基于所述池化候选框确定所述至少两个角中的每个角的截取方向和截取长度,其中所述至少两个角中的每个角的所述截取方向限于所述对应角的所述至少两个截取策略中的一个;以及
基于所述截取方向和所述截取长度截取所述至少两个角中的每个角。
23.根据权利要求20所述的对象检测的系统,其特征在于,所述边界确定模块进一步用于:
执行一次或以上迭代;
在所述一次或以上迭代的每次迭代中,
根据所述池化候选框,从所述至少两个截取策略中确定所述至少两个角的每个角的截取策略;
确定所述至少两个角中的一个角是否对应于错误截取策略;
响应于确定所述至少两个角中的每个角不对应于所述错误截取策略,确定所述至少两个角中的每个角是否对应于目标位置截取策略;
响应于确定所述至少两个角中的至少一个角不对应于所述目标位置截取策略,根据所述至少两个角的所述至少一个角的所述确定的截取策略,截取所述至少两个角的所述至少一个角;
基于所述截取的至少两个角,执行边界映射以确定矩形框;以及
将所述矩形框调整为规范大小;以及
响应于确定所述至少两个角的每个角对应于所述目标位置截取策略,停止截取所述至少两个角。
24.根据权利要求23所述的对象检测的系统,其特征在于,所述边界确定模块还用于:
响应于确定所述至少两个角中的至少一个角对应于所述错误截取策略,放弃所述池化候选框。
25.根据权利要求14所述的对象检测的系统,其特征在于,所述边界确定模块还用于:
确定与所述目标对象相对应的一个或以上边界;
确定所述一个或以上边界的每个边界与真实框之间的交并比;以及
将所述一个或以上边界中具有最大交并比的边界确定为对应于所述目标对象的目标边界。
26.根据权利要求14所述的对象检测的系统,其特征在于,所述目标对象的所述边界是四边形框。
27.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,所计算机指令执行时,执行如权利要求1-13任一项所述的对象检测的方法。
28.一种对象检测的装置,其特征在于,包括至少一个存储介质以及至少一个处理器;
所述至少一个存储介质用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令以实现如权利要求1-13任一项所述的对象检测的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811438175.5A CN111222387B (zh) | 2018-11-27 | 2018-11-27 | 对象检测的系统和方法 |
JP2020557230A JP7009652B2 (ja) | 2018-11-27 | 2018-12-05 | オブジェクション検出のためのaiシステムおよび方法 |
PCT/CN2018/119410 WO2020107510A1 (en) | 2018-11-27 | 2018-12-05 | Ai systems and methods for objection detection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811438175.5A CN111222387B (zh) | 2018-11-27 | 2018-11-27 | 对象检测的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111222387A true CN111222387A (zh) | 2020-06-02 |
CN111222387B CN111222387B (zh) | 2023-03-03 |
Family
ID=70825714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811438175.5A Active CN111222387B (zh) | 2018-11-27 | 2018-11-27 | 对象检测的系统和方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7009652B2 (zh) |
CN (1) | CN111222387B (zh) |
WO (1) | WO2020107510A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673444A (zh) * | 2021-08-19 | 2021-11-19 | 清华大学 | 一种基于角点池化的路口多视角目标检测方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111695491B (zh) * | 2020-06-10 | 2023-12-19 | 阿波罗智联(北京)科技有限公司 | 用于检测行人的方法和装置 |
CN111738133A (zh) * | 2020-06-17 | 2020-10-02 | 北京奇艺世纪科技有限公司 | 模型训练方法、目标检测方法、装置、电子设备及可读存储介质 |
CN111951337B (zh) * | 2020-08-19 | 2022-05-31 | 武汉中海庭数据技术有限公司 | 图像检测目标空间定位方法及系统 |
JP7568913B2 (ja) | 2020-11-24 | 2024-10-17 | 富士通株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
CN112819223B (zh) * | 2021-01-29 | 2024-08-20 | 云南省测绘资料档案馆(云南省基础地理信息中心) | 一种用于裁剪多边形的高性能求交方法 |
KR20230057646A (ko) * | 2021-10-22 | 2023-05-02 | 연세대학교 산학협력단 | 멀티-레벨 전이 영역 기반의 도메인 적응형 객체 검출 장치 및 방법 |
CN114863136A (zh) * | 2022-05-25 | 2022-08-05 | 中国人民解放军陆军炮兵防空兵学院 | 一种基于对角线网络的无锚框目标检测方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462940A (zh) * | 2014-10-09 | 2017-02-22 | 微软技术许可有限责任公司 | 图像中通用对象检测 |
US20170124415A1 (en) * | 2015-11-04 | 2017-05-04 | Nec Laboratories America, Inc. | Subcategory-aware convolutional neural networks for object detection |
CN106780612A (zh) * | 2016-12-29 | 2017-05-31 | 浙江大华技术股份有限公司 | 一种图像中的物体检测方法及装置 |
US20170169315A1 (en) * | 2015-12-15 | 2017-06-15 | Sighthound, Inc. | Deeply learned convolutional neural networks (cnns) for object localization and classification |
CN107301383A (zh) * | 2017-06-07 | 2017-10-27 | 华南理工大学 | 一种基于Fast R‑CNN的路面交通标志识别方法 |
CN107368845A (zh) * | 2017-06-15 | 2017-11-21 | 华南理工大学 | 一种基于优化候选区域的Faster R‑CNN目标检测方法 |
CN107610113A (zh) * | 2017-09-13 | 2018-01-19 | 北京邮电大学 | 一种图像中基于深度学习的小目标的检测方法及装置 |
CN107886120A (zh) * | 2017-11-03 | 2018-04-06 | 北京清瑞维航技术发展有限公司 | 用于目标检测跟踪的方法和装置 |
CN108734705A (zh) * | 2018-05-17 | 2018-11-02 | 杭州电子科技大学 | 基于深度学习的数字乳腺断层影像钙化簇自动检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6829575B2 (ja) * | 2016-10-03 | 2021-02-10 | グローリー株式会社 | 画像処理装置、画像処理システム及び画像処理方法 |
-
2018
- 2018-11-27 CN CN201811438175.5A patent/CN111222387B/zh active Active
- 2018-12-05 JP JP2020557230A patent/JP7009652B2/ja active Active
- 2018-12-05 WO PCT/CN2018/119410 patent/WO2020107510A1/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462940A (zh) * | 2014-10-09 | 2017-02-22 | 微软技术许可有限责任公司 | 图像中通用对象检测 |
US20170124415A1 (en) * | 2015-11-04 | 2017-05-04 | Nec Laboratories America, Inc. | Subcategory-aware convolutional neural networks for object detection |
US20170169315A1 (en) * | 2015-12-15 | 2017-06-15 | Sighthound, Inc. | Deeply learned convolutional neural networks (cnns) for object localization and classification |
CN106780612A (zh) * | 2016-12-29 | 2017-05-31 | 浙江大华技术股份有限公司 | 一种图像中的物体检测方法及装置 |
CN107301383A (zh) * | 2017-06-07 | 2017-10-27 | 华南理工大学 | 一种基于Fast R‑CNN的路面交通标志识别方法 |
CN107368845A (zh) * | 2017-06-15 | 2017-11-21 | 华南理工大学 | 一种基于优化候选区域的Faster R‑CNN目标检测方法 |
CN107610113A (zh) * | 2017-09-13 | 2018-01-19 | 北京邮电大学 | 一种图像中基于深度学习的小目标的检测方法及装置 |
CN107886120A (zh) * | 2017-11-03 | 2018-04-06 | 北京清瑞维航技术发展有限公司 | 用于目标检测跟踪的方法和装置 |
CN108734705A (zh) * | 2018-05-17 | 2018-11-02 | 杭州电子科技大学 | 基于深度学习的数字乳腺断层影像钙化簇自动检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673444A (zh) * | 2021-08-19 | 2021-11-19 | 清华大学 | 一种基于角点池化的路口多视角目标检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020107510A1 (en) | 2020-06-04 |
CN111222387B (zh) | 2023-03-03 |
JP7009652B2 (ja) | 2022-01-25 |
JP2021519984A (ja) | 2021-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111222387B (zh) | 对象检测的系统和方法 | |
WO2020207166A1 (zh) | 一种物体检测方法、装置、电子设备和存储介质 | |
US20210390329A1 (en) | Image processing method, device, movable platform, unmanned aerial vehicle, and storage medium | |
CN109960742B (zh) | 局部信息的搜索方法及装置 | |
US10086955B2 (en) | Pattern-based camera pose estimation system | |
CN112085840B (zh) | 语义分割方法、装置、设备及计算机可读存储介质 | |
CN108279670B (zh) | 用于调整点云数据采集轨迹的方法、设备以及计算机可读介质 | |
US10451403B2 (en) | Structure-based camera pose estimation system | |
CN112348885B (zh) | 视觉特征库的构建方法、视觉定位方法、装置和存储介质 | |
JP7279848B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
CN114219855A (zh) | 点云法向量的估计方法、装置、计算机设备和存储介质 | |
CN115457212A (zh) | 树木影像图处理方法、装置、终端设备及存储介质 | |
US20210201525A1 (en) | Augmented reality device and positioning method | |
CN112733672A (zh) | 基于单目相机的三维目标检测方法、装置和计算机设备 | |
Krump et al. | Deep learning algorithms for vehicle detection on UAV platforms: first investigations on the effects of synthetic training | |
CN115240168A (zh) | 感知结果获取方法、装置、计算机设备、存储介质 | |
CN114187589A (zh) | 一种目标检测方法、装置、设备和存储介质 | |
CN116310688A (zh) | 基于级联融合的目标检测模型及其构建方法、装置及应用 | |
CN115082690A (zh) | 目标识别方法、目标识别模型训练方法及装置 | |
CN114238541A (zh) | 敏感目标信息获取方法、装置和计算机设备 | |
WO2019201141A1 (en) | Methods and systems for image processing | |
CN111241218A (zh) | 一种地点识别方法及装置 | |
CN110741410A (zh) | 用于确定图像中的反光区的系统和方法 | |
CN118196214B (zh) | 基于三维场景模拟的野外摄像机布控方法以及设备 | |
CN118212510B (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 |