CN111476306B - 基于人工智能的物体检测方法、装置、设备及存储介质 - Google Patents
基于人工智能的物体检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111476306B CN111476306B CN202010281303.0A CN202010281303A CN111476306B CN 111476306 B CN111476306 B CN 111476306B CN 202010281303 A CN202010281303 A CN 202010281303A CN 111476306 B CN111476306 B CN 111476306B
- Authority
- CN
- China
- Prior art keywords
- image
- category
- object detection
- target
- confidence
- 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
Classifications
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- 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/20072—Graph-based image processing
-
- 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/20076—Probabilistic image processing
-
- 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/20081—Training; Learning
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本申请公开了一种基于人工智能的物体检测方法、装置、设备及存储介质,属于图像处理技术领域。本申请通过物体检测模型对目标图像进行特征提取,得到不同尺度的特征图,基于不同尺度的特征图,确定目标图像中物体的所在位置和物体属于各个类别的第一置信度;再基于物体的所在位置,对目标图像截图,得到截图图像;通过物体检索模型将截图图像与多个类别的样本图像对比,得到物体属于各个类别的第二置信度;将各个类别中所对应第一置信度和第二置信度之和最大的类别,确定为物体所属的类别。在本方案中,将物体检测模型和物体检索模型相结合,进行两次类别预测,由物体检索模型对物体检测模型的预测结果进行修正,提高预测结果的准确性。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种基于人工智能的物体检测方法、装置、设备及存储介质。
背景技术
物体检测是计算机视觉中的经典问题之一,通过物体检测技术可以确定出图像中所包含的至少一个物体的所属类别等信息。目前在进行物体检测时,通常是由物体检测模型来对图像进行特征提取,基于提取到的图像特征预测图像中所包含物体的位置和类别。
但是,物体检测模型是基于有限的训练数据集训练得到的,而在实际应用中,物体检测模型需检测图像数据库规模庞大,在实际应用过程中,容易出现物体检测模型对训练数据集中的数据识别准确度较高,对于非训练数据集中的数据识别准确度较低的情况。因此,如何提高物体检测的准确度,是一个重要研究方向。
发明内容
本申请实施例提供了一种基于人工智能的物体检测方法、装置、设备及存储介质,可以提高物体检测结果的准确率。该技术方案如下:
一方面,提供了一种基于人工智能的物体检测方法,该方法包括:
将包含物体的目标图像输入物体检测模型,由该物体检测模型对该目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定该物体的图像位置信息以及该物体属于各个类别的第一置信度;
基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;
将该截图图像输入物体检索模型,由该物体检索模型将该截图图像与多个类别的样本图像进行对比,得到该物体属于各个类别的第二置信度;
基于该各个类别对应的该第一置信度以及该第二置信度,从该各个类别中确定该物体的目标类别,该目标类别对应的该第一置信度与该第二置信度之和最大。
一方面,提供了一种基于人工智能的物体检测装置,该装置包括:
第一置信度确定模块,用于将包含物体的目标图像输入物体检测模型,由该物体检测模型对该目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定该物体的图像位置信息以及该物体属于各个类别的第一置信度;
截图模块,用于基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;
第二置信度获取模块,用于将该截图图像输入物体检索模型,由该物体检索模型将该截图图像与多个类别的样本图像进行对比,得到该物体属于各个类别的第二置信度;
类别确定模块,用于基于该各个类别对应的该第一置信度以及该第二置信度,从该各个类别中确定该物体的目标类别,该目标类别对应的该第一置信度与该第二置信度之和最大。
在一种可能实现方式中,该第一置信度确定模块用于:
通过该物体检测模型中多个不同尺度的卷积层,依次对该目标图像进行特征提取,得到多个不同尺度的中间特征图;
对该多个不同尺度的中间特征图进行特征融合,得到多个不同尺度的特征图。
在一种可能实现方式中,该第一置信度确定模块用于:
对于该多个不同尺度的神经网络中的任一个神经网络,获取前一个神经网络中最后一个运算层输出的第一尺度的第一中间特征图,对该第一中间特征图进行下采样以及特征提取,得到第二尺度的第二中间特征图,该第二尺度小于该第一尺度。
在一种可能实现方式中,该第一置信度确定模块用于:
对于任一个神经网络输出的第二尺度的第二中间特征图,获取前一个神经网络输出的第一尺度的第一中间特征图,基于该第一尺度,对该第二中间特征图进行上采样,得到第一尺度的第二中间特征图,对该第一尺度的第二中间特征图和该第一尺度的第一中间特征图进行特征融合,得到第一尺度的特征图。
在一种可能实现方式中,该第一置信度确定模块用于:
将该第一尺度的第二中间特征图和该第一尺度的第一中间特征图中,相同位置的元素相加,得到该第一尺度的特征图。
在一种可能实现方式中,该第一置信度确定模块用于:
对于该多个不同尺度的特征图中的任一个特征图,通过该物体检测模型中的分类预测子网络,对该任一个特征图进行卷积运算,得到该目标图像对应的类别矩阵,该类别矩阵用于指示该目标图像中该物体属于各个类别的第一置信度;
对于该多个不同尺度的特征图中的任一个特征图,通过该物体检测模型中的位置预测子网络,对该任一个特征图进行卷积运算,得到该目标图像对应的位置信息矩阵,该位置信息矩阵用于指示该目标图像中该物体的图像位置信息。
在一种可能实现方式中,该物体检索模型包括多个子检索模型,一个该子检索模型用于将该物体对应的截图图像与一个类别的样本图像进行对比。
在一种可能实现方式中,该第二置信度获取模块用于:
对于任一该物体对应的截图图像,通过任一该子检索模型,从该一个类别的样本图像中,获取与该截图图像之间的相似度满足目标条件的多个目标样本图像;
基于该截图图像的图像特征以及各个类别中的该目标样本图像的图像特征,确定该物体属于各个类别的第二置信度。
在一种可能实现方式中,该第二置信度获取模块用于:
基于该截图图像的图像特征以及各个类别中该目标样本图像的图像特征,确定该截图图像与各个类别的该目标样本图像之间的距离;
基于该截图图像与各个类别的该目标样本图像之间的距离,确定该物体属于各个类别的第二置信度。
在一种可能实现方式中,该物体检测模型包括第一预测子网络以及第二预测子网络,该第一预测子网络用于预测属于第一类别范围的物体的所在位置和所属类别,该第二预测子网络用于预测属于第二类别范围的物体的所属类别,该第二类别范围大于该第一类别范围。
在一种可能实现方式中,该第一预测子网络包括分类预测子网络和位置预测子网络。
在一种可能实现方式中,该装置还包括:
池化模块,用于通过该第二预测子网络分别对该多个不同尺度的特征图进行池化处理,得到多个全局分类预测矩阵;
该类别确定模块,还用于基于该多个全局分类预测矩阵,确定该目标图像中属于第二类别范围的物体的所属类别。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现该基于人工智能的物体检测方法所执行的操作。
一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现该基于人工智能的物体检测方法所执行的操作。
本申请实施例提供的技术方案,通过物体检测模型对待检测的目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定目标图像中物体的图像位置信息以及该物体属于各个类别的第一置信度,由物体检测模型完成对物体类别的初步预测;再基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;通过物体检索模型将截图图像与多个类别的样本图像进行对比,来对物体的所属类别进行进一步预测,得到截图图像所包含物体属于各个类别的第二置信度;将各个类别对应的第一置信度和第二置信度相加,将置信度之和最大的类别确定为目标类别,即物体的所属类别。应用上述方案,通过物体检测模型和物体检索模型相结合的方式,进行两次类别预测,通过物体检索模型对物体检测模型的输出结果进行修正,可以有效提高预测结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种物体检测系统的结构框图;
图2是本申请实施例提供的一种物体检测方法的流程图;
图3是本申请实施例提供的一种物体检测模型的结构示意图;
图4是本申请实施例提供的一种物体检测方法的具体流程图;
图5是本申请实施例提供的一种第一预测子网络的示意图;
图6是本申请实施例提供的一种物体检测模型和物体检索模型的示意图;
图7是本申请实施例提供的一种物体检测模型的示意图;
图8是本申请实施例提供的一种双流检测应用的示意图;
图9是本申请实施例提供的一种物体检测模型训练方法的流程图;
图10是本申请实施例提供的一种物体检测模型的加速方法示意图;
图11是本申请实施例提供的一种基于人工智能的物体检测装置的结构示意图;
图12是本申请实施例提供的一种终端的结构示意图;
图13是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例所涉及计算机视觉技术以及机器学习/深度学习技术。
其中,计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、OCR(Optical Character Recognition,光学字符识别)、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。本申请实施例主要涉及计算机视觉中的图像语义理解技术,基于图像语义理解进行物体检测、定位以及图像检索,确定图像中所包含物体的类别。
下面,对本申请涉及的术语进行介绍:
物体检测:物体检测是计算机视觉中的经典问题之一,应用物体检测技术可以对图像中所出现物体的所在位置和所属类别进行预测。
开放数据:是指在模型应用过程中,模型所处理数据的数据类别在训练集中未出现过。通常情况下,模型的训练过程是面向闭合数据的,即训练数据和测试数据均属于相同类别范围。但是,在模型实际应用过程中,难以限定模型所处理数据的类别,因此,模型需支持对开放数据的处理。
双流检测:是指在模型预测过程中包括两条任务流,两条任务流可以执行相同任务,也可以分别执行不同任务。在本申请实施例中,在物体检测模型中部署有两条任务流,分别用于执行不同的任务,一条任务流用于执行标准的检测任务,即对物体的位置和类别进行预测;另一条任务流用于执行类别预测任务。双流检测便于快速拓展检测模型的性能,增大模型所支持的数据量。
DALI(Data Loading Library,数据加速库):是一种数据预处理加速方法库,DALI中可以包括多种不同类型的加速库,来对不同的数据处理阶段进行加速。
FPN(Feature Pyramid Network,特征金字塔网络):对于卷积神经网络提取到的不同分辨率的语义特征,将低分辨率的高层语义特征和高分辨率的低层语义进行融合,从而获得更好的、多尺度的表达特征,以适配不同大小物体的检测。
图1是本申请实施例提供的一种物体检测系统的结构框图。该物体检测系统100包括:终端110和物体检测平台140。
终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110安装和运行有支持物体检测的应用程序。该应用程序可以是社交类应用程序、资讯类应用程序、电商类应用程序等。示例性的,终端110是用户使用的终端,终端110中运行的应用程序内登录有用户账号。终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。
物体检测平台140可以包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。物体检测平台140用于为支持物体检测的应用程序提供后台服务。可选地,物体检测平台140承担主要物体检测工作,终端110承担次要物体检测工作;或者,物体检测平台140承担次要物体检测工作,终端110承担主要物体检测工作;或者,物体检测平台140或终端110分别可以单独承担分割工作。可选地,物体检测平台140包括:接入服务器、物体检测服务器和数据库。接入服务器用于为终端110提供接入服务。物体检测服务器用于提供物体检测有关的后台服务,该物体检测服务器可以搭载图形处理器,支持图形处理器多线程并行计算。物体检测服务器可以是一台或多台。当物体检测服务器是多台时,存在至少两台物体检测服务器用于提供不同的服务,和/或,存在至少两台物体检测服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。物体检测服务器中可以设置有物体检测模型以及物体检索模型,在模型训练和应用过程中,该物体检测服务器可以搭载图像处理器GPU(Graphics Processing Unit,图形处理器),并支持图像处理器并行运算。其中,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
上述终端110与物体检测平台140可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例对此不作限定。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述物体检测系统还包括其他终端。本申请实施例对终端的数量和设备类型不加以限定。
本申请实施例提供的技术方案可以应用于多种物体检测场景中,与多领域相结合。例如,在一些社交类、资讯类应用程序中,有扫描识物的功能,安装有这类应用程序的手机等终端设备,可以通过摄像头获取任一物体的图像,基于获取到的图像进行物体检测,确定物体的所属类别,再基于检测结果向用户推送相似物体或同类物体的资讯信息,在这种应用场景中,应用物体检测技术,用户通过简单的拍照操作,就可以获取到相关资讯信息,无需手动搜索,简化了用户操作,提高了用户体验。
图2是本申请实施例提供的一种物体检测方法的流程图。该方法可以应用于上述实施环境中,在一种可能实现方式中,可以由终端向服务器发送物体检测请求以及待检测的目标图像,服务器响应于该物体检测请求对该目标图像中的物体进行检测,将检测结果反馈给终端;在一种可能实现方式中,也可以由终端对目标图像进行检测;在一种可能实现方式中,还可以由服务器自动获取目标图像进行检测,本申请实施例对此不作限定。在本申请实施例中,以服务器对该目标图像进行物体检测为例进行说明,该服务器中需搭载有物体检测模型和物体检索模型,通过物体检测模型和物体检索模型相结合的方式,来进行物体检测,以提高检测结果的准确率。参见图2,该实施例具体可以包括以下步骤:
201、服务器将包含物体的目标图像输入物体检测模型,由该物体检测模型对该目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定该物体的图像位置信息以及该物体属于各个类别的第一置信度。
其中,该目标图像可以为存储在服务器中的一幅或一组图像,该一组图像可以包括至少两幅图像,该目标图像也可以是该服务器在视频中截取的图像,还可以为具备图像采集功能的设备实时采集的图像,本申请实施例对此不作限定。该目标图像中可以包括至少一个物体,该物体可以属于任一类别,例如,箱包类、家用电器类、图书类、食品类等,本申请实施例对该目标图像中所包含物体的类别和数目不作限定。
在本申请实施例中,该物体检测模型可以用于对该目标图像进行特征提取,基于提取到的图像特征对该目标图像中各个物体的所在位置和所属类别进行预测。该物体检测模型可以为基于深度神经网络构建的模型,该深度神经网络可以为Retinanet(视网膜网络)模型等。图3是本申请实施例提供的一种物体检测模型的结构示意图,参见图3,该物体检测模型可以包括主干特征网络301、FPN(Feature Pyramid Networks,特征金字塔网络)302以及第一预测子网络303。其中,该主干特征网络301可以由多个不同尺度的神经网络构成,一个神经网络可以包括多个用于进图像特征提取的运算层,该主干特征网络301可以通过神经网络,提取该目标图像的不同尺度的图像特征;该特征金字塔网络302可以用于对不同尺度的图像特征进行融合,从而得到多个尺度的特征图;该第一预测子网络303可以基于不同尺度的特征图,对该目标图像中物体的所在位置和所属类别进行预测。当然,该物体检测模型还可以包括其他单元,例如,输入单元、输出单元等,本申请实施例对此不作限定。需要说明的是,本申请实施例中,对该物体检测模型中主干特征网络、特征金字塔网络以及第一预测子网络的具体数目和连接方式不作限定。
在本申请实施例中,该服务器将目标图像输入该物体检测模型后,该物体检测模型可以通过主干特征网络、特征金字塔网络以及第一预测子网络,对该目标图像进行分析、预测,输出该目标图像中物体的图像位置信息以及该物体属于各个类别的第一置信度。其中,该图像位置信息可以指示该物体所在的矩形区域在该目标图像中的位置,该图像位置信息可以包括物体所在的矩形区域某一顶点的坐标、矩形区域的边长长度等信息,本申请实施例对此不作限定。该一个类别对应的第一置信度可以用于表示该物体属于该一个类别的概率。
202、服务器基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像。
在一种可能实现方式中,服务器可以基于物体的图像位置信息,即物体所在的矩形区域的顶点坐标、矩形区域的边长长度等,在该目标图像中进行截图,得到截图图像。通常情况下,一个截图图像可以包括一个物体,当存储至物体相互遮挡时,一个截图图像中可能会包括多个物体,此时,可以将在截图图像中所占面积最大的物体作为后续的检索目标。当然,也可以通过其他方式在截图图像所包含的物体中确定一个检索目标,本申请实施例对此不作限定。
203、服务器将该截图图像输入物体检索模型,由该物体检索模型将该截图图像与多个类别的样本图像进行对比,得到该截图图像所包含物体属于各个类别的第二置信度。
其中,该物体检索模型可以为基于深度神经网络构建的模型,本申请实施例对该图像检索模型的具体结构不作限定。在本申请实施例中,该物体检索模型可以与线上检索数据库相连接,该线上检索数据库可以包括多个类别的样本图像。该服务器将该截图图像输入该物体检索模型后,该物体检索模型可以遍历各个类别的样本图像,基于截图图像的图像特征以及各个样本图像的图像特征,确定截图图像与各个样本图像之间的相似度,进而,基于截图图像与各个类别的样本图像之间的相似度,确定物体属于各个类别的第二置信度。
204、服务器基于各个类别对应的该第一置信度以及该第二置信度,从该各个类别中确定该物体的目标类别,该目标类别对应的该第一置信度与该第一置信度之和最大。
在本申请实施例中,该服务器可以结合该物体检测模型的输出结果和物体检索模型的输出结果,即将各个类别所对应的第一置信度和第二置信度相加,获取置信度之和最大的类别作为该目标类别,也即是,在该物体检测模型的输出结果以及该物体检索模型的输出结果中,该目标类别均对应于一个较大的置信度,将该目标类别确定为该物体的所属类别。
本申请实施例提供的技术方案,通过物体检测模型对待检测的目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定目标图像中物体的图像位置信息以及该物体属于各个类别的第一置信度,由物体检测模型完成对物体类别的初步预测;再基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;通过物体检索模型将截图图像与多个类别的样本图像进行对比,来对物体的所属类别进行进一步预测,得到截图图像所包含物体属于各个类别的第二置信度;将各个类别对应的第一置信度和第二置信度相加,将置信度之和最大的类别确定为目标类别,即物体的所属类别。应用上述方案,通过物体检测模型和物体检索模型相结合的方式,对同一物体进行两次类别预测,通过物体检索模型对物体检测模型的输出结果进行修正,可以有效提高预测结果的准确性。
上述实施例仅是本申请的实施方式的一个简要介绍,图4是本申请实施例提供的一种物体检测方法的具体流程图,结合图4,以服务器作为执行主体,对上述物体检测过程进行具体说明:
401、服务器将包含物体的目标图像输入物体检测模型。
在一种可能实现方式中,该服务器可以基于物体检测指令,将待检测的目标图像输入该物体检测模型。其中,该物体检测指令可以由任一用户触发。例如,任一用户所使用的终端设备上可以安装和运行有支持扫描识物功能的目标应用程序,终端检测到用户触发该扫描识物功能时,可以开启摄像头,由用户拍摄该目标图像,或者显示本地存储的图像,由用户从本地存储的图像中选择该目标图像,本申请实施例对该目标图像的具体获取方式不作限定。当用户确定对该目标图像拍摄或选择完成时,可以触发该物体检测指令,该终端可以将该目标图像以及该物体检测指令发送给服务器,该服务器可以响应于该物体检测指令,将该目标图像输入物体检测模型。
在本申请实施例中,该服务器可以将任意尺寸的目标图像输入该物体检测模型,也可以将该目标图像调整为预设尺寸再输入该物体检测模型。在一种可能实现方式中,该服务器将该目标图像输入物体检测模型之前,可以按照实际情况,对该目标图像进行缩放,以将该目标图像调整为预设尺寸。其中,该预设尺寸可以由开发人员进行设置。
在一种可能实现方式中,该服务器可以对该目标图像进行预处理,将预处理后的目标图像输入物体检测模型,以便于进行后续的运算过程。例如,该预处理过程可以包括:基于目标图像中各个位置的像素值,将该目标图像转换为一个数字矩阵,还可以包括图像增强等处理步骤,以增强该目标图像中的有用信息,本申请实施例对该预处理过程的具体步骤不作限定。当然,该预处理过程也可以由该物体检测模型执行,本申请实施例对此不作限定。
402、服务器通过物体检测模型中多个不同尺度的神经网络,依次对该目标图像进行特征提取,得到多个不同尺度的中间特征图。
在本申请实施例中,可以通过该物体检测模型中主干特征网络对该目标图像进行特征提取,该主干特征网络可以是基于深度神经网络构建的,例如,该深度神经网络可以为VGGNet(Visual Geometry Group Network,视觉几何组网络)、ResNet(Residual NeuralNetwork,残差神经网络)等,本申请实施例对此不作限定。该主干特征网络可以包括多个不同尺度的卷积层,该服务器可以通过多个不同尺度的卷积层对该目标图像对应的数字矩阵进行卷积运算,以提取该目标图像的图像特征。
在一种可能实现方式中,可以通过控制各个神经网络中各个运算层所包含卷积核的大小和卷积核移动的步长,来控制各个神经网络所输出特征图的尺度,例如,卷积核越大、移动步长越大,则输出特征图的尺度越小。需要说明的是,神经网络的具体数目、神经网络中运算层的具体数目、卷积核的大小和移动步长均可以由开发人员进行设置,本申请实施例对此不作限定。在本申请实施例中,各个神经网络可以是级联的,对于该多个不同尺度的神经网络中的任一个神经网络,可以获取前一个神经网络中最后一个运算层输出的第一尺度的第一中间特征图,对该第一中间特征图进行下采样以及特征提取,得到第二尺度的第二中间特征图。其中,该第二尺度小于该第一尺度,本身实施例对该第一尺度和该第二尺度的具体大小不作限定。具体的,以两个不同尺度的神经网络为例,对上述中间特征图的获取过程进行说明,首先,该服务器可以通过第一尺度的神经网络中的各个运算层对该目标图像进行特征提取,各个运算层所提取到的图像特征尺度相同,基于该第一尺度的神经网络中最后一个运算层所提取到的图像特征,生成第一尺度的第一中间特征图;然后,将该第一中间特征图输入第二尺度的神经网络,由该第二尺度的神经网络中的运算层对该第一中间特征图进行下采样,以减小特征图尺度,再对下采样后的第一中间特征图进行进一步特征提取;最后,获取该第二尺度的神经网络中最后一个运算层所输出的特征图,作为该第二尺度的第二特征图。
以其中一个卷积层为例对上述卷积运算过程进行说明,一个卷积层可以包括一个或多个卷积核,每个卷积核对应一个扫描窗口,该扫描窗口的大小与该卷积核的大小相同,在卷积核进行卷积运算的过程中,该扫描窗口可以按照目标步长在中间特征图上滑动,依次扫描该中间特征图的各个区域,其中,该目标步长可以由开发人员进行设置。以一个卷积核为例,在卷积运算的过程中,当该卷积核的扫描窗口滑动至中间特征图的任一区域时,该服务器读取该区域中各个特征点对应的数值,将该卷积核与该各个特征点对应的数值进行点乘运算,再对各个乘积进行累加,将累加结果作为一个特征点。之后,该卷积核的扫描窗口按照目标步长滑动至中间特征图的下一区域,再次进行卷积运算,输出一个特征点,直至该中间特征图的全部区域扫描完毕,将输出的全部特征点组成一个新的中间特征图,作为下一个卷积层的输入。其中,该卷积层的具体数目可以由开发人员设置,本申请实施例对此不作限定。
需要说明的是,上述对多尺度的中间特征图获取方式的说明,仅是一种示例性说明,本申请实施例对具体采用哪种方法获取多个不同尺度的中间特征图不作限定。
应用上述技术方案,在图像特征提取过程中,获取不同尺度的中间特征图,可以保留不同分辨率的图像信息,使该服务器可基于多尺度的图像特征执行后续的物体检测步骤,提高物体检测结果的准确性。
403、服务器对多个不同尺度的中间特征图进行特征融合,得到多个不同尺度的特征图。
在本申请实施例中,可以通过物体检测模型中的特征金字塔网络对不同尺度的中间特征图进行特征融合。在一种可能实现方式中,对于任一个神经网络输出的第二尺度的第二中间特征图,可以通过该特征金字塔网络获取前一个神经网络输出的第一尺度的第一中间特征图,基于该第一尺度,对该第二中间特征图进行上采样,得到第一尺度的第二中间特征图。当然,在这一过程中,还可以通过卷积层对该第二特征图进行卷积处理,以进一步提取图像特征,本申请实施例对此不作具体限定。需要说明的是,本申请实施例对上采样的具体方法不作限定。该特征金字塔网络可以对该第一尺度的第二中间特征图和该第一尺度的第一中间特征图进行特征融合,得到第一尺度的特征图。例如,可以将该第一尺度的第二中间特征图和该第一尺度的第一中间特征图中,相同位置的元素相加,得到该第一尺度的特征图。当然,也可以通过其他方式进行特征融合,本申请实施例对此不作限定。
在本申请实施例中,通过对不同尺度的中间特征图进行特征融合,使特征图中可以包含高层语义特征和低层语义特征,物体检测模型基于多尺度的特征图进行物体检测时,可以提高对不同尺度物体检测的适应性,避免因只依赖于高层语义特征,而导致忽略小尺度的物体的问题。
404、服务器基于多个不同尺度的特征图,确定物体的图像位置信息以及该物体属于各个类别的第一置信度。
在本申请实施例中,可以通过物体检测模型中的第一预测子网络对该物体的所在位置和所属类别进行预测。该第一预测子网络可以包括分类预测子网络和位置预测子网络。该分类预测子网络和该位置预测子网络中均可以包括多个运算层,例如,卷积层等,当然,各个卷积层之后还可以连接有激活函数层等,本申请实施例对该分类预测子网络和该位置预测子网络具体结构不作限定。
在一种可能实现方式中,对于该多个不同尺度的特征图中的任一个特征图,该服务器可以通过该物体检测模型中的分类预测子网络,对该任一个特征图进行卷积运算,得到该目标图像对应的类别矩阵,该类别矩阵用于指示该目标图像中该物体的属于各个类别的第一置信度。对于该多个不同尺度的特征图中的任一个特征图,通过该物体检测模型中的位置预测子网络,对该任一个特征图进行卷积运算,得到该目标图像对应的位置信息矩阵,该位置信息矩阵用于指示该目标图像中该物体的图像位置信息。参见图5,图5是本申请实施例提供的一种第一预测子网络的示意图,其中,分类预测子网络501中可以包括多个W*H*256的卷积层502以及一个W*H*KA的卷积层503,位置预测子网络504中可以包括多个W*H*256的卷积层505以及一个W*H*4A的卷积层506。其中,W、H、K、A均为正整数,W、H的具体数值可以由开发人员进行设置,K可以表示该物体检测模型可预测的类别数目,A可以表示检测框的数目。具体的,结合图5,对上述第一类别和图像位置信息的预测过程进行说明,该物体检测模型可以在任一特种图设置大小不同的A个anchor(检测框),通过分类预测子网络中的卷积层对特征图进行卷积运算后,可以将每个检测框都映射为一个K维向量,该K维向量中的各个数值可以表示检测框中物体属于各个类别的第一置信度。通过位置预测子网络中的卷积层对特征图进行卷积运算后,可以将每个检测框都映射为一个4维向量,该4维向量中可以包括该检测框某一顶点的位置坐标以及该检测框的边长长度,该服务器可以通过该4维向量确定物体的图像位置信息。
需要说明的是,上述步骤401至步骤404,是将包含物体的目标图像输入物体检测模型,由该物体检测模型对该目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定该物体的图像位置信息以及该物体属于各个类别的第一置信度的步骤。在本申请实施例中,通过提取多尺度的特征图以及不同尺度的特征图进行融合,可以充分保留高分辨率的图像特征,使不同分辨率的图像特征充分融合,使模型具备更好的特征表达能力,提高物体检测的准确度。
405、服务器基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像。
在本申请实施例中,该服务器可以基于该图像位置信息中的顶点坐标、边长长度等信息,对该目标图像进行截图,得到截图图像,一个截图图像可以包括一个物体。
在本申请实施例中,通过截取仅包含物体的截图图像,基于截图图像执行后续的物体检索步骤,可以使物体检索模型在检索过程中,更关注物体本身,不被无关信息干扰,提高物体检索的准确性。
406、对于任一该物体对应的截图图像,服务器通过物体检索模型中的任一子检索模型,从一个类别的样本图像中,获取与该截图图像之间的相似度满足目标条件的多个目标样本图像。
在本申请实施例中,该物体检索模型包括多个子检索模型,一个子检索模型可以用于将物体对应的截图图像与一个类别的样本图像进行对比。在一种可能实现方式中,一个子检索模型可以与线上检索数据库中一个类别的样本库相关联,一个类别的样本库可以包括多个样本图像,各个样本图像均可以对应于一个图像索引,该图像索引可以用于指示样本图像的图像特征,不同样本图像所对应的图像索引也不同。子检索模型在进行图像检索时,可以计算该截图图像的图像索引。例如,首先,可以缩小该截图图像的尺寸,对缩小后的截图图像进行色彩简化,得到64级灰度图像;然后,计算各个像素的灰度平均值,将每个像素的灰度与灰度平均值进行比较,当某一像素的灰度大于或等于灰度平均值时,该某一像素可以标记为1,当某一像素的灰度小于灰度平均值时,该某一像素可以标记为0,得到一个64位的整数;最后,基于该64位的整数确定一个哈希值,作为该截图图像的图像索引。需要说明的是,上述对图像索引获取方法的说明,仅是一种示例性说明,本申请实施例对具体采用哪种方法获取该截图图像的图像索引不作限定。该子检索模型获取到截图图像的图像索引后,可以确定截图图像的图像索引与各个样本图像的图像索引之间的汉明距离,该汉明距离可以用于指示截图图像与样本图像之间的相似度,通常情况下汉明距离越小,图像之间的相似度越大。该服务器可以获取与该截图图像之间的相似度满足目标条件的多个样本图像作为目标样本图像。例如,可以将与该截图图像最相似的Y个样本图像确定为该目标样本图像,其中,Y为正整数,其具体数值可以由开发人员进行设置。当然,该目标条件也可以设置为其他内容,本申请实施例对此不作限定。
在本申请实施例中,图像检索步骤是基于样本规模较大的线上检索数据库进行的,相比于物体检测模型的训练数据为100万左右,该线上检索数据库的样本规模可以达到10亿左右,远远大于物体检测模型的训练数据,基于大规模的样本数据,可以更精准的查询、匹配出与截图图像相似的目标样本图像,从而可以获得更精确的物体检测结果。
407、服务器基于该截图图像的图像特征以及各个类别中的该目标样本图像的图像特征,确定该物体属于各个类别的该第二置信度。
在本申请实施例中,该服务器基于该截图图像的图像特征以及各个类别中该目标样本图像的图像特征,确定该截图图像与各个类别的该目标样本图像之间的距离;再基于该截图图像与各个类别的该目标样本图像之间的距离,确定该物体属于各个类别的第二置信度。
在一种可能实现方式中,该物体检索模型中还可以包括一个用于计算图像之间距离的通用检索模型,该通用检索模型可以提取图像特征,进而基于图像特征确定图像之间的距离,本申请实施例对该通用检索模型的具体结果不作限定。在本申请实施例中,该服务器可以通过该通用检索模型提取截图图像与各个样本图像的图像特征,基于图像特征确定两个图像的图像特征之间的差异,确定两个图像之间的距离,进而确定截图图像与某一类别的样本图像之间的距离。具体的,该过程可以表示为下述公式(1):
其中,q可以表示截图图像,cm可以表示第m个类别,cm,i可以表示第m个类别中第i个目标样本图像,d(q,cm)可以表示截图图像q与类别cm之间的距离,f()可以表示通用检索模型,f(q)和f(cm,i)分别可以表示截图图像q和目标样本图像cm,i的图像特征。
在一种可能实现方式中,该服务器可以基于截图图像与各个类别之间的距离,确定该截图图像属于各个类别的概率,即属于各个类别的第二置信度,具体的,该过程可以表示为下述公式(2):
其中,score(q,cm)可以表示截图图像q属于类别cm的概率,M可以表示全部类别的数目,d(q,cm)可以表示截图图像q与类别cm之间的距离。
在本申请实施例中,该服务器可以将该截图图像属于各个类别的概率进行对比,即将各个类别对应的第二置信度进行对比,获取最大第二置信度对应的类别作为该第二类别。
需要说明的是,上述步骤406和步骤407,是将将该截图图像输入物体检索模型,由该物体检索模型将该截图图像与多个类别的样本图像进行对比,得到该截图图像所包含物体属于各个类别的第二置信度步骤。在本申请实施例中,由物体检索模型基于数据量较大的线上数据库进行检索、分类,可以扩大物体检测技术所支持的数据量,通过物体检索模型对物体检测模型的输出结果进行修正,可以提高检测结果的准确度。
408、服务器基于该各个类别对应的该第一置信度以及该第二置信度,从该各个类别中确定该物体的目标类别。
其中,该目标类别对应的该第一置信度与该第二置信度之和最大。
在本申请实施例中,该服务器可以将各个类别对应的第一置信度与第二置信度相加,得到各个类别对应的置信度和值,将置信度和值最大的类别作为该目标类别,即物体的所属类别。具体的,该过程可以表示为下述公式(3):
c=arg maxc(score检测(q,cm)+score检索(q,cm)) (3)
其中,c可以表示目标类别,score检测(q,cm)可以表示物体检测模型输出的第一置信度,score检索(q,cm)可以表示物体检索模型输出的第二置信度。
参见图6,图6是本申请实施例提供的一种物体检测模型和物体检索模型的示意图,该物体检测模型601可以对该目标图像中物体的位置和类别进行预测,服务器可以基于预测出的物体位置,对该目标图像进行截图,将截图图像输入物体检索模型602,由该物体检索模型602进一步对该物体进行类别预测,再综合物体检测模型和物体检索模型的预测结果,确定物体的所属类别。
本申请实施例提供的技术方案,通过物体检测模型对待检测的目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定目标图像中物体的图像位置信息以及该物体属于各个类别的第一置信度,由物体检测模型完成对物体类别的初步预测;再基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;通过物体检索模型将截图图像与多个类别的样本图像进行对比,来对物体的所属类别进行进一步预测,得到截图图像所包含物体属于各个类别的第二置信度;将各个类别对应的第一置信度和第二置信度相加,将置信度之和最大的类别确定为目标类别,即物体的所属类别。应用上述方案,通过物体检测模型和物体检索模型相结合的方式,进行两次类别预测,通过物体检索模型对物体检测模型的输出结果进行修正,可以有效提高预测结果的准确性。
在上述实施例中,应用物体检测模型中的第一预测子网络对物体的所在位置和所属类别进行预测,该第一预测子网络在模型训练阶段,所应用的训练样本中,需准确标注出各个物体的位置、类别,样本标注过程费时费力,获取到的训练样本数目较少,这就导致物体检测模型所支持的数据检测范围较小,而且,增加新的训练样本的成本极高,进而导致难以对物体检测模型所支持的数据检测范围进行拓展。在本申请实施例中,为克服这一问题,使物体检测模型可以快速扩展检测范围,在该物体检测模型中增加了与该第一预测子网络并列的第二预测子网络,从而实现双流检测,其中,一条流为标准的检测流,即该第一预测子网络,用于预测物体的位置和类别,一条流为分类流,即该第二预测子网络,仅关注物体的类别预测。参见图7,图7是本申请实施例提供的一种物体检测模型的示意图,该物体检测模型中包括第一预测子网络701和第二预测子网络702。
在本申请实施例中,该第二预测子网络仅对物体所属的类别进行预测,而不关注物体所在位置。因此,该第二预测子网络在模型训练阶段,所应用的训练样本中,仅需标注出样本图像所包含物体的类别,在这种情况下,样本标注的成本大大降低,该第二预测子网络容易获取到更大规模的训练数据,应用大量的训练数据,可以快速扩展该第二预测子网络的检测范围,也即是,可以快速扩展该物体检测模型的检测范围。在本申请实施例中,由于训练样本的数据量不同,该第一预测子网络与该第二预测子网络所支持的物体检测范围也不同。该第一预测子网络可以用于预测属于第一类别范围的物体的所在位置和所属类别,该第二预测子网络可以用于预测属于第二类别范围的物体的所属类别,该第二类别范围大于该第一类别范围。
在本申请实施例中,该第二预测子网络可以基于全局图像对物体的类别进行预测。在一种可能实现方式中,该物体检测模型对该目标图像进行特征提取,得到多个不同尺度的特征图之后,该物体检测模型可以通过该第二预测子网络分别对该多个不同尺度的特征图进行池化处理,得到多个全局分类预测矩阵,该全局分类预测矩阵中的各个数值可以用于表示该目标图像所包含物体属于各个类别的置信度。该物体检测模型可以基于该多个全局分类预测矩阵,确定该目标图像中属于第二类别范围的物体的所属类别,例如,可以将不同尺度的特征图所对应的全局分类预测矩阵进行融合,得到一个全局预测矩阵,基于该一个全局预测矩阵中的数值,确定物体的所属类别。需要说明的是,上述对第二预测子网络进行类别预测过程的说明,仅是一种示例性说明,本申请实施例对该第二预测子网络具体采用哪种方法进行类别预测不作限定。
图8是本申请实施例提供的一种双流检测应用的示意图,参见图8,该双流物体检测模型801可以支持对第二类别范围的数据进行检测,该第二类别范围包括该第一类别范围,即支持精确检测的类别,还可包括其他类别,即暂不支持精确检测的类别。通过该双流检测模型801,对于属于第一类别范围的物体,可以输出该物体的精确位置和类别,便于后续的识别过程,而且,对于这一类物体可以基于识别结果显示物体的资讯信息、电商展示页面等。对于属于其他类别的物体,可以输出该物体的类别,便于滤除和统计用户的识别行为,引导用户检测其他物体。例如,将本方案应用于具备扫描识物功能的目标应用程序中时,安装和运行有该目标应用程序的终端,可以通过摄像头采集待识别物体的图像,由该双流物体检测模型进行物体检测,对于属于可识别类别的物体,可以在检测结果查看页面,向用户推送与该物体相关的购买链接、资讯信息等,对于属于不可识别类别的物体,可以在检测结果查看页面显示该物体的类别,并提示用户这一类别的物体暂不支持识别,引导用户扫描其他物体。在本申请实施例中,应用双流检测技术,可以快速扩展模型的检测数据量,使模型可以检测更多类别的物体,即使模型可以支持开放数据,可以给予用户更多的信息反馈,提高用户体验。当然,还可以在双流检测的基础上,进一步增加检测流,实现多流检测,以获取更丰富的检测结果,本申请实施例对此不作限定。
上述实施例主要介绍了物体检测模型通过第一预测子网络和第二预测子网络,对物体的所属类别进行预测的过程,而在进行预测之前,需对该物体检测模型进行训练,图9是本申请实施例提供的一种物体检测模型训练方法的流程图,参见图9,该方法具体可以包括以下步骤:
901、服务器初始化该物体检测模型中的各个参数。
该服务器可以对该物体检测模型的各个卷积层、全连接层、池化层等运算层中的各个参数进行随机赋值,来实现参数初始化。在一种可能实现方式中,该服务器可以采用方差为0.01,均值为0的高斯分布对该物体检测模型进行参数初始化。
需要说明的是,上述对物体检测模型初始化方法的说明仅是一种示例性说明,本申请实施例对具体采用哪种模型初始化方式不作限定。
902、服务器将训练数据集输入该物体检测模型。
其中,该训练数据集可以包括第一训练数据集和第二训练数据集,该第一训练数据集中的图像标注有各个物体的位置和类别,该第一训练数据集可以用于对该第一预测子网络进行训练,该第二训练数据集中的图像可以仅标注有各个物体的类别,该第二训练数据集可以用于对该第二预测子网络进行训练。
该服务器可以将训练数据集中的图像输入该物体检测模型,由该物体检测模型执行后续的物体检测步骤。
903、服务器获取该物体检测模型的模型输出结果,计算模型输出结果与正确结果之间的误差。
在本申请实施例中,该服务器可以基于多个损失函数来确定该模型输出结果与正确结果之间的误差。在一种可能实现方式中,可以通过FocalLoss(焦点损失)函数,来计算第一预测子网络中分类预测子网络的输出结果与正确分类结果之间的误差,具体的,该FocalLoss函数可以表示为下述公式(4):
FocalLoss(pt)=-αt(1-pt)γlog(pt) (4)
其中,t可以表示第t个检测框,αt可以表示样本权重,其数值可以由开发人员进行设置,pt可以表示分类预测子网络的输出结果,即该检测框中物体属于正确类别的概率,γ可以表示用于调节难易样本的权重。例如,pt较大时,说明该模型对该物体的类别预测正确的难度低,则可以降低模型对该类型样本的重视程度,即(1-pt)γ减小,pt较小时,说明该模型对该物体的类别预测正确的难度低,则可以降低模型对该类型样本的重视程度,即(1-pt)γ减小。在本申请实施例中,通过对难易样本的权重进行调节,可以缓解图像训练过程中难易样本比例失衡的问题,降低简单样本在训练过程中所占的权重。
在一种可能实现方式中,可以通过SmoothL1(平滑L1)损失函数,来计算第一预测子网络中位置预测子网络的输出结果与正确位置之间的误差,具体的,该SmoothL1函数可以表示为下述公式(5):
其中,x可以表示位置预测子网络的输出结果与正确位置之间的差值。在本申请实施例中,应用Smooth L1损失函数,可以对L1损失函数和L2损失函数进行结合,在位置预测子网络的输出结果与正确位置之间的差值较大时,也即是,在模型训练初期阶段,应用L1损失函数,使模型训练不受离群点过大干扰,利于模型训练;在位置预测子网络的输出结果与正确位置之间的差值较小时,也即是,在模型收敛阶段,应用L2损失函数,增大对异常点的敏感度,使模型可以有更稳定的输出。
在一种可能实现方式中,可以通过BCE(Binary Cross Entropy,二元交叉熵)损失函数,来计算第二预测子网络的输出结果与正确分类结果之间的误差,具体的,该BCE损失函数可以表示为下述公式(6):
其中,N可以表示图像中的物体数目;C可以表示物体检测模型可以预测的类别数目;yi,c可以表示样本是否属于类别c,若是,则yi,c的值为1,若否,则yi,c的值为0;xi可以表示样本i的图像特征;f(xi)可以表示图像特征的sigmoid(逻辑回归函数)表达,
904、该服务器基于该模型输出结果与正确结果之间的误差,对该物体检测模型中的各个参数进行调整,至到符合预设条件时,得到训练好的物体检测模型。
在一种可能实现方式中,该服务器可以将各个误差分别与各个误差阈值进行比较,当该误差大于预设阈值时,该服务器可以将误差反向传播至该物体检测模型,进而求解该物体检测模型中的各个参数。其中,该多个误差阈值均可以由开发人员设置,误差阈值的个数与获取的误差个数相同。
当该误差小于预设阈值时,则确定该物体检测模型输出了正确的检测结果,该服务器可以继续读取下一组图像,执行上述步骤903,若该服务器获取到的模型输出结果正确的个数到达目标数目,或者遍历该训练数据集达到目标次数时,则可以确定该物体检测模型训练完毕,即达到预设条件。其中,该目标数目和目标次数均可以由开发人员进行设置,该预设条件的具体内容可以由开发人员进行设置,本申请实施例对此不作限定。
上述实施例主要介绍了物体检测模型的应用过程和训练过程,在实际应用场景中,该物体检测模型所承载的数据量极大,需要支持高并发请求。在本申请实施例中,可以对该物体检测模型中的各个模块进行加速处理,以提高该物体检测模型的数据处理能力。
参见图10,图10是本申请实施例提供的一种物体检测模型的加速方法示意图,该物体检测模型主要包括数据预处理过程1001、模型预测过程1002以及后处理过程1003。具体的,结合图10,对该物体检测模型的加速方法进行说明。在一种可能实现方式中,可以应用DALI(Data Loading Library,数据加速库)对数据预处理过程1001进行加速。该数据预处理过程可以包括图像读取1004、图像解码1005、图像缩放1006等处理过程,在本申请实施例中,可以通应用DALI数据加速库中的nvjpeg加速库,来对图像解码过程1005进行加速;将耗时较长的图像缩放过程1006部署到GPU中加速完成;通过DALI数据加速库将所有数据处理环节基于静态图像来实现,以进一步提升整个预处理过程的数据处理速度。
在一种可能实现方式中,模型预测过程1002可以包括模型前向过程1007、解密锚位置和类别预测过程以及非极大值抑制过程,对于模型预测过程1002可以通过tensorRT优化器对其中的模型前向过程1007进行加速。例如,tensorRT首先可以对物体检测模型中各个运算层的卷积运算过程进行优化,采用层间融合技术对各个运算层进行加速,具体的,可以将卷积层、BN层和激活层合并成一个网络结构,以降低GPU资源的占用;基于tensorRT可以适配硬件的特性,来优化显存利用,从而支持处理高并发请求;基于tensorRT支持模型量化操作的特性,将float32位运算量化到int8进行计算,进一步降低显存耗用,加速卷积运算的速度。
在一种可能实现方式中,可以通过将数据处理过程并行化,来提高模型的数据处理速度,例如,可以将数据预处理过程1001和模型前向过程1007部署为并行执行,来加速数据处理。
应用上述技术方案,对物体检测过程中,耗时最长的两个数据处理过程,即数据预处理过程和模型前向过程进行加速,再将两个过程并行执行,可以有效提高物体检测模型的数据处理速度。表1是本申请实施例提供的一种模型性能数据表,该表1中的数据是应用双流物体检测模型,对512*512大小的图像进行检测过程中,应用DALI、tensorRT以及DALI和tensorRT的组合方法,所得到的模型性能数据,包括模型精度、数据预处理时间、模型预测时间、检测帧率以及显存耗用情况。
表1
基于表1中的数据可知,应用DALI和tensorRT,可以使模型的检测帧率大大提升,由13.9FPS提升至133.3FPS,检测速度提升了约10倍,在本申请实施例中,应用DALI数据加速库和tensorRT优化器,可以使该物体检测模型能够对高并发请求进行处理。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图11是本申请实施例提供的一种基于人工智能的物体检测装置的结构示意图,参见图11,该装置包括:
第一置信度确定模块1101,用于将包含物体的目标图像输入物体检测模型,由该物体检测模型对该目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定该物体的图像位置信息以及该物体属于各个类别的第一置信度;
截图模块1102,用于基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;
第二置信度获取模块1103,用于将该截图图像输入物体检索模型,由该物体检索模型将该截图图像与多个类别的样本图像进行对比,得到该物体属于各个类别的第二置信度;
类别确定模块1104,用于基于该各个类别对应的该第一置信度以及该第二置信度,从该各个类别中确定该物体的目标类别,该目标类别对应的该第一置信度与该第二置信度之和最大。
在一种可能实现方式中,该第一置信度确定模块1101用于:
通过该物体检测模型中多个不同尺度的卷积层,依次对该目标图像进行特征提取,得到多个不同尺度的中间特征图;
对该多个不同尺度的中间特征图进行特征融合,得到多个不同尺度的特征图。
在一种可能实现方式中,该第一置信度确定模块1101用于:
对于该多个不同尺度的神经网络中的任一个神经网络,获取前一个神经网络中最后一个运算层输出的第一尺度的第一中间特征图,对该第一中间特征图进行下采样以及特征提取,得到第二尺度的第二中间特征图,该第二尺度小于该第一尺度。
在一种可能实现方式中,该第一置信度确定模块1101用于:
对于任一个神经网络输出的第二尺度的第二中间特征图,获取前一个神经网络输出的第一尺度的第一中间特征图,基于该第一尺度,对该第二中间特征图进行上采样,得到第一尺度的第二中间特征图,对该第一尺度的第二中间特征图和该第一尺度的第一中间特征图进行特征融合,得到第一尺度的特征图。
在一种可能实现方式中,该第一置信度确定模块1101用于:
将该第一尺度的第二中间特征图和该第一尺度的第一中间特征图中,相同位置的元素相加,得到该第一尺度的特征图。
在一种可能实现方式中,该第一置信度确定模块1101用于:
对于该多个不同尺度的特征图中的任一个特征图,通过该物体检测模型中的分类预测子网络,对该任一个特征图进行卷积运算,得到该目标图像对应的类别矩阵,该类别矩阵用于指示该目标图像中该物体属于各个类别的第一置信度;
对于该多个不同尺度的特征图中的任一个特征图,通过该物体检测模型中的位置预测子网络,对该任一个特征图进行卷积运算,得到该目标图像对应的位置信息矩阵,该位置信息矩阵用于指示该目标图像中该物体的图像位置信息。
在一种可能实现方式中,该物体检索模型包括多个子检索模型,一个该子检索模型用于将该物体对应的截图图像与一个类别的样本图像进行对比。
在一种可能实现方式中,该第二置信度获取模块1103用于:
对于任一该物体对应的截图图像,通过任一该子检索模型,从该一个类别的样本图像中,获取与该截图图像之间的相似度满足目标条件的多个目标样本图像;
基于该截图图像的图像特征以及各个类别中的该目标样本图像的图像特征,确定该物体属于各个类别的第二置信度。
在一种可能实现方式中,该第二置信度获取模块1103用于:
基于该截图图像的图像特征以及各个类别中该目标样本图像的图像特征,确定该截图图像与各个类别的该目标样本图像之间的距离;
基于该截图图像与各个类别的该目标样本图像之间的距离,确定该物体属于各个类别的第二置信度。
在一种可能实现方式中,该物体检测模型包括第一预测子网络以及第二预测子网络,该第一预测子网络用于预测属于第一类别范围的物体的所在位置和所属类别,该第二预测子网络用于预测属于第二类别范围的物体的所属类别,该第二类别范围大于该第一类别范围。
在一种可能实现方式中,该第一预测子网络包括分类预测子网络和位置预测子网络。
在一种可能实现方式中,该装置还包括:
池化模块,用于通过该第二预测子网络分别对该多个不同尺度的特征图进行池化处理,得到多个全局分类预测矩阵;
该类别确定模块1104,还用于基于该多个全局分类预测矩阵,确定该目标图像中属于第二类别范围的物体的所属类别。
本申请实施例提供的装置,本申请实施例提供的技术方案,通过物体检测模型对待检测的目标图像进行特征提取,得到多个不同尺度的特征图,基于该多个不同尺度的特征图,确定目标图像中物体的图像位置信息以及该物体属于各个类别的第一置信度,由物体检测模型完成对物体类别的初步预测;再基于该物体的图像位置信息,对该目标图像进行截图,得到截图图像;通过物体检索模型将截图图像与多个类别的样本图像进行对比,来对物体的所属类别进行进一步预测,得到截图图像所包含物体属于各个类别的第二置信度;将各个类别对应的第一置信度和第二置信度相加,将置信度之和最大的类别确定为目标类别,即物体的所属类别。应用上述装置,通过物体检测模型和物体检索模型相结合的方式,进行两次类别预测,通过物体检索模型对物体检测模型的输出结果进行修正,可以有效提高预测结果的准确性。
需要说明的是:上述实施例提供的基于人工智能的物体检测装置在物体检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于人工智能的物体检测装置与基于人工智能的物体检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述技术方案所提供的计算机设备可以实现为终端或服务器,例如,图12是本申请实施例提供的一种终端的结构示意图。该终端1200可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1200包括有:一个或多个处理器1201和一个或多个存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器1201所执行以实现本申请中方法实施例提供的基于人工智能的物体检测方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在终端1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商Logo集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13是本申请实施例提供的一种服务器的结构示意图,该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1301和一个或多个的存储器1302,其中,该一个或多个存储器1302中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1301加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1300还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1300还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由处理器执行以完成上述实施例中的基于人工智能的物体检测方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来至少一条程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种基于人工智能的物体检测方法,其特征在于,所述方法包括:
将包含物体的目标图像输入物体检测模型,由所述物体检测模型对所述目标图像进行特征提取,得到多个不同尺度的特征图,基于所述多个不同尺度的特征图,确定所述物体的图像位置信息以及所述物体属于各个类别的第一置信度;
基于所述物体的图像位置信息,对所述目标图像进行截图,得到截图图像;
将所述截图图像输入物体检索模型,由所述物体检索模型将所述截图图像与多个类别的样本图像进行对比,得到所述物体属于各个类别的第二置信度;
基于所述各个类别对应的所述第一置信度以及所述第二置信度,从所述各个类别中确定所述物体的目标类别,所述目标类别对应的所述第一置信度与所述第二置信度之和最大。
2.根据权利要求1所述的方法,其特征在于,所述由所述物体检测模型对所述目标图像进行特征提取,得到多个不同尺度的特征图,包括:
通过所述物体检测模型中多个不同尺度的卷积层,依次对所述目标图像进行特征提取,得到多个不同尺度的中间特征图;
对所述多个不同尺度的中间特征图进行特征融合,得到多个不同尺度的特征图。
3.根据权利要求2所述的方法,其特征在于,所述通过所述物体检测模型中多个不同尺度的卷积层,依次对所述目标图像进行特征提取,得到多个不同尺度的中间特征图,包括:
对于所述多个不同尺度的神经网络中的任一个神经网络,获取前一个神经网络中最后一个运算层输出的第一尺度的第一中间特征图,对所述第一中间特征图进行下采样以及特征提取,得到第二尺度的第二中间特征图,所述第二尺度小于所述第一尺度。
4.根据权利要求3所述的方法,其特征在于,所述对所述多个不同尺度的中间特征图进行特征融合,得到多个不同尺度的特征图,包括:
对于任一个神经网络输出的第二尺度的第二中间特征图,获取前一个神经网络输出的第一尺度的第一中间特征图,基于所述第一尺度,对所述第二中间特征图进行上采样,得到第一尺度的第二中间特征图,对所述第一尺度的第二中间特征图和所述第一尺度的第一中间特征图进行特征融合,得到第一尺度的特征图。
5.根据权利要求4所述的方法,其特征在于,所述对所述第一尺度的第二中间特征图和所述第一尺度的第一中间特征图进行特征融合,得到第一尺度的特征图,包括:
将所述第一尺度的第二中间特征图和所述第一尺度的第一中间特征图中,相同位置的元素相加,得到所述第一尺度的特征图。
6.根据权利要求1所述的方法,其特征在于,所述基于所述多个不同尺度的特征图,确定所述物体的图像位置信息、所述物体属于各个类别的第一置信度,包括:
对于所述多个不同尺度的特征图中的任一个特征图,通过所述物体检测模型中的分类预测子网络,对所述任一个特征图进行卷积运算,得到所述目标图像对应的类别矩阵,所述类别矩阵用于指示所述目标图像中所述物体属于各个类别的第一置信度;
对于所述多个不同尺度的特征图中的任一个特征图,通过所述物体检测模型中的位置预测子网络,对所述任一个特征图进行卷积运算,得到所述目标图像对应的位置信息矩阵,所述位置信息矩阵用于指示所述目标图像中所述物体的图像位置信息。
7.根据权利要求1所述的方法,其特征在于,所述物体检索模型包括多个子检索模型,一个所述子检索模型用于将所述物体对应的截图图像与一个类别的样本图像进行对比。
8.根据权利要求7所述的方法,其特征在于,所述由所述物体检索模型将所述截图图像与多个类别的样本图像进行对比,得到所述物体属于各个类别的第二置信度,包括:
对于任一所述物体对应的截图图像,通过任一所述子检索模型,从所述一个类别的样本图像中,获取与所述截图图像之间的相似度满足目标条件的多个目标样本图像;
基于所述截图图像的图像特征以及各个类别中的所述目标样本图像的图像特征,确定所述物体属于各个类别的第二置信度。
9.根据权利要求8所述的方法,其特征在于,所述基于所述截图图像的图像特征以及各个类别中的所述目标样本图像的图像特征,确定所述物体属于各个类别的第二置信度,包括:
基于所述截图图像的图像特征以及各个类别中所述目标样本图像的图像特征,确定所述截图图像与各个类别的所述目标样本图像之间的距离;
基于所述截图图像与各个类别的所述目标样本图像之间的距离,确定所述物体属于各个类别的第二置信度。
10.根据权利要求1所述的方法,其特征在于,所述物体检测模型包括第一预测子网络以及第二预测子网络,所述第一预测子网络用于预测属于第一类别范围的物体的所在位置和所属类别,所述第二预测子网络用于预测属于第二类别范围的物体的所属类别,所述第二类别范围大于所述第一类别范围。
11.根据权利要求10所述的方法,其特征在于,所述第一预测子网络包括分类预测子网络和位置预测子网络。
12.根据权利要求10所述的方法,其特征在于,所述由所述物体检测模型对所述目标图像进行特征提取,得到多个不同尺度的特征图之后,所述方法还包括:
通过所述第二预测子网络分别对所述多个不同尺度的特征图进行池化处理,得到多个全局分类预测矩阵;
基于所述多个全局分类预测矩阵,确定所述目标图像中属于第二类别范围的物体的所属类别。
13.一种基于人工智能的物体检测装置,其特征在于,所述装置包括:
第一置信度确定模块,用于将包含物体的目标图像输入物体检测模型,由所述物体检测模型对所述目标图像进行特征提取,得到多个不同尺度的特征图,基于所述多个不同尺度的特征图,确定所述物体的图像位置信息以及所述物体属于各个类别的第一置信度;
截图模块,用于基于所述物体的图像位置信息,对所述目标图像进行截图,得到截图图像;
第二置信度获取模块,用于将所述截图图像输入物体检索模型,由所述物体检索模型将所述截图图像与多个类别的样本图像进行对比,得到所述物体属于各个类别的第二置信度;
类别确定模块,用于基于所述各个类别对应的所述第一置信度以及所述第二置信度,从所述各个类别中确定所述物体的目标类别,所述目标类别对应的所述第一置信度与所述第二置信度之和最大。
14.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求12任一项所述的基于人工智能的物体检测方法所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求12任一项所述的基于人工智能的物体检测方法所执行的操作。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010281303.0A CN111476306B (zh) | 2020-04-10 | 2020-04-10 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
PCT/CN2021/078066 WO2021203863A1 (zh) | 2020-04-10 | 2021-02-26 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
TW110109024A TWI773189B (zh) | 2020-04-10 | 2021-03-12 | 基於人工智慧的物體檢測方法、裝置、設備及儲存媒體 |
US17/716,316 US20220230420A1 (en) | 2020-04-10 | 2022-04-08 | Artificial intelligence-based object detection method and apparatus, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010281303.0A CN111476306B (zh) | 2020-04-10 | 2020-04-10 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111476306A CN111476306A (zh) | 2020-07-31 |
CN111476306B true CN111476306B (zh) | 2023-07-28 |
Family
ID=71752326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010281303.0A Active CN111476306B (zh) | 2020-04-10 | 2020-04-10 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220230420A1 (zh) |
CN (1) | CN111476306B (zh) |
TW (1) | TWI773189B (zh) |
WO (1) | WO2021203863A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476306B (zh) * | 2020-04-10 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
BR112022019271A2 (pt) * | 2020-04-22 | 2022-11-16 | Univ Florida | Estrutura baseada em nuvem para processar, analisar e visualizar dados de geração de imagem |
US12169974B2 (en) * | 2020-07-14 | 2024-12-17 | Flir Unmanned Aerial Systems Ulc | Efficient refinement neural network for real-time generic object-detection systems and methods |
JP7641717B2 (ja) * | 2020-09-07 | 2025-03-07 | 株式会社Subaru | 画像処理装置 |
CN111929311B (zh) * | 2020-10-15 | 2021-01-05 | 北京中鼎高科自动化技术有限公司 | 一种一站式智能缺陷检测系统 |
CN112288003B (zh) * | 2020-10-28 | 2023-07-25 | 北京奇艺世纪科技有限公司 | 一种神经网络训练、及目标检测方法和装置 |
CN112510778B (zh) * | 2020-11-25 | 2024-04-26 | 创新奇智(北京)科技有限公司 | 充电模式识别系统及方法 |
CN113516144B (zh) * | 2020-12-01 | 2025-02-07 | 阿里巴巴集团控股有限公司 | 目标检测方法及装置、计算设备 |
CN112818976B (zh) * | 2021-01-29 | 2024-03-26 | 北京秒针人工智能科技有限公司 | 一种字符的确定方法、装置、电子设备和可读介质 |
CN113065575B (zh) * | 2021-02-27 | 2025-03-04 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
CN113312970A (zh) * | 2021-04-26 | 2021-08-27 | 上海工物高技术产业发展有限公司 | 目标物体识别方法、装置、计算机设备和存储介质 |
JP2023527615A (ja) * | 2021-04-28 | 2023-06-30 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 目標対象検出モデルのトレーニング方法、目標対象検出方法、機器、電子機器、記憶媒体及びコンピュータプログラム |
CN113887301A (zh) * | 2021-08-31 | 2022-01-04 | 际络科技(上海)有限公司 | 人脸跟踪方法、装置、存储介质及计算机程序产品 |
CN113962274B (zh) * | 2021-11-18 | 2022-03-08 | 腾讯科技(深圳)有限公司 | 一种异常识别方法、装置、电子设备及存储介质 |
WO2023092302A1 (zh) * | 2021-11-23 | 2023-06-01 | 宁德时代新能源科技股份有限公司 | 图像识别方法、装置和计算机可读存储介质 |
CN114494805B (zh) * | 2021-12-16 | 2025-01-17 | 南京信息工程大学 | 一种基于Resnet50结合注意力机制和特征金字塔的图像分类方法 |
CN114339049B (zh) * | 2021-12-31 | 2025-01-07 | 深圳市商汤科技有限公司 | 一种视频处理方法、装置、计算机设备和存储介质 |
US11978174B1 (en) * | 2022-03-28 | 2024-05-07 | Amazon Technologies, Inc. | Virtual shoe try-on |
US11804023B1 (en) * | 2022-07-11 | 2023-10-31 | Stylitics, Inc. | Systems and methods for providing a virtual dressing room and a virtual stylist |
CN115100689B (zh) * | 2022-08-23 | 2022-11-01 | 浙江大华技术股份有限公司 | 一种对象检测方法、装置、电子设备和存储介质 |
CN115082903B (zh) * | 2022-08-24 | 2022-11-11 | 深圳市万物云科技有限公司 | 非机动车违停识别方法、装置、计算机设备及存储介质 |
CN115272814B (zh) * | 2022-09-28 | 2022-12-27 | 南昌工学院 | 一种远距离空间自适应多尺度的小目标检测方法 |
CN115631422B (zh) * | 2022-12-23 | 2023-04-28 | 国家海洋局东海信息中心 | 一种基于注意力机制的浒苔识别方法 |
CN117876661B (zh) * | 2023-12-22 | 2025-03-18 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种多尺度特征并行处理的目标检测方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651955A (zh) * | 2016-10-10 | 2017-05-10 | 北京小米移动软件有限公司 | 图片中目标物的定位方法及装置 |
CN108447080A (zh) * | 2018-03-02 | 2018-08-24 | 哈尔滨工业大学深圳研究生院 | 基于分层数据关联和卷积神经网络的目标跟踪方法、系统和存储介质 |
CN108846826A (zh) * | 2018-04-24 | 2018-11-20 | 深圳大学 | 物体检测方法、装置、图像处理设备及存储介质 |
CN109886208A (zh) * | 2019-02-25 | 2019-06-14 | 北京达佳互联信息技术有限公司 | 物体检测的方法、装置、计算机设备及存储介质 |
CN109886282A (zh) * | 2019-02-26 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 对象检测方法、装置、计算机可读存储介质和计算机设备 |
CN110210571A (zh) * | 2019-06-10 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
CN110222787A (zh) * | 2019-06-14 | 2019-09-10 | 合肥工业大学 | 多尺度目标检测方法、装置、计算机设备及存储介质 |
CN110502962A (zh) * | 2018-05-18 | 2019-11-26 | 翔升(上海)电子技术有限公司 | 视频流中目标的检测方法、装置、设备和介质 |
CN110516705A (zh) * | 2019-07-19 | 2019-11-29 | 平安科技(深圳)有限公司 | 基于深度学习的目标跟踪方法、装置及计算机可读存储介质 |
CN110969183A (zh) * | 2019-09-20 | 2020-04-07 | 北京方位捷讯科技有限公司 | 一种根据图像数据确定目标对象受损程度的方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9946952B2 (en) * | 2013-06-25 | 2018-04-17 | University Of Central Florida Research Foundation, Inc. | Multi-source, multi-scale counting in dense crowd images |
US9269012B2 (en) * | 2013-08-22 | 2016-02-23 | Amazon Technologies, Inc. | Multi-tracker object tracking |
US9697443B2 (en) * | 2014-12-11 | 2017-07-04 | Intel Corporation | Model compression in binary coded image based object detection |
EP3646240B1 (en) * | 2017-06-26 | 2024-09-04 | The Research Foundation for The State University of New York | System, method, and computer-accessible medium for virtual pancreatography |
US10713534B2 (en) * | 2017-09-01 | 2020-07-14 | Kla-Tencor Corp. | Training a learning based defect classifier |
TWM558943U (zh) * | 2017-11-22 | 2018-04-21 | Aiwin Technology Co Ltd | 運用深度學習技術之智慧影像資訊及大數據分析系統 |
CN108921086A (zh) * | 2018-06-29 | 2018-11-30 | Oppo广东移动通信有限公司 | 图像处理方法和装置、存储介质、电子设备 |
CN112424826A (zh) * | 2018-07-13 | 2021-02-26 | Asml荷兰有限公司 | 基于机器学习的图案分组方法 |
CN110378247B (zh) * | 2019-06-26 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 虚拟对象识别方法和装置、存储介质及电子装置 |
CN110956616B (zh) * | 2019-11-18 | 2023-09-26 | 南京和光智能制造研究院有限公司 | 一种基于立体视觉的目标检测方法及系统 |
CN111476306B (zh) * | 2020-04-10 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 基于人工智能的物体检测方法、装置、设备及存储介质 |
-
2020
- 2020-04-10 CN CN202010281303.0A patent/CN111476306B/zh active Active
-
2021
- 2021-02-26 WO PCT/CN2021/078066 patent/WO2021203863A1/zh active Application Filing
- 2021-03-12 TW TW110109024A patent/TWI773189B/zh active
-
2022
- 2022-04-08 US US17/716,316 patent/US20220230420A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651955A (zh) * | 2016-10-10 | 2017-05-10 | 北京小米移动软件有限公司 | 图片中目标物的定位方法及装置 |
CN108447080A (zh) * | 2018-03-02 | 2018-08-24 | 哈尔滨工业大学深圳研究生院 | 基于分层数据关联和卷积神经网络的目标跟踪方法、系统和存储介质 |
CN108846826A (zh) * | 2018-04-24 | 2018-11-20 | 深圳大学 | 物体检测方法、装置、图像处理设备及存储介质 |
CN110502962A (zh) * | 2018-05-18 | 2019-11-26 | 翔升(上海)电子技术有限公司 | 视频流中目标的检测方法、装置、设备和介质 |
CN109886208A (zh) * | 2019-02-25 | 2019-06-14 | 北京达佳互联信息技术有限公司 | 物体检测的方法、装置、计算机设备及存储介质 |
CN109886282A (zh) * | 2019-02-26 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 对象检测方法、装置、计算机可读存储介质和计算机设备 |
CN110210571A (zh) * | 2019-06-10 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备及计算机可读存储介质 |
CN110222787A (zh) * | 2019-06-14 | 2019-09-10 | 合肥工业大学 | 多尺度目标检测方法、装置、计算机设备及存储介质 |
CN110516705A (zh) * | 2019-07-19 | 2019-11-29 | 平安科技(深圳)有限公司 | 基于深度学习的目标跟踪方法、装置及计算机可读存储介质 |
CN110969183A (zh) * | 2019-09-20 | 2020-04-07 | 北京方位捷讯科技有限公司 | 一种根据图像数据确定目标对象受损程度的方法及系统 |
Non-Patent Citations (5)
Title |
---|
Online multiple object tracking using confidence score-based appearance model learning and hierarchical data association;Mingjie Liu 等;《IET Computer Vision》;312-318 * |
基于改进的卷积神经网络的车辆停车压线检测;邵壮;《中国优秀硕士学位论文全文数据库 工程科技II辑》;C034-325 * |
基于机器学习的刑侦图像分类与检索技术研究;申宇飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-2723 * |
室内场景三维目标识别的研究与应用;吴倩;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-704 * |
高置信度策略的DSST目标检测和跟踪及系统实现;扆梦楠;《中国优秀硕士学位论文全文数据库 工程科技II辑》;C042-141 * |
Also Published As
Publication number | Publication date |
---|---|
TW202139183A (zh) | 2021-10-16 |
WO2021203863A1 (zh) | 2021-10-14 |
CN111476306A (zh) | 2020-07-31 |
US20220230420A1 (en) | 2022-07-21 |
TWI773189B (zh) | 2022-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476306B (zh) | 基于人工智能的物体检测方法、装置、设备及存储介质 | |
CN110210571B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN109299315B (zh) | 多媒体资源分类方法、装置、计算机设备及存储介质 | |
CN110471858B (zh) | 应用程序测试方法、装置及存储介质 | |
WO2020253657A1 (zh) | 视频片段定位方法、装置、计算机设备及存储介质 | |
WO2020224479A1 (zh) | 目标的位置获取方法、装置、计算机设备及存储介质 | |
CN111489378B (zh) | 视频帧特征提取方法、装置、计算机设备及存储介质 | |
CN112069414A (zh) | 推荐模型训练方法、装置、计算机设备及存储介质 | |
CN110147533B (zh) | 编码方法、装置、设备及存储介质 | |
CN110807361A (zh) | 人体识别方法、装置、计算机设备及存储介质 | |
CN110162604B (zh) | 语句生成方法、装置、设备及存储介质 | |
CN112733970B (zh) | 图像分类模型处理方法、图像分类方法及装置 | |
CN111368116B (zh) | 图像分类方法、装置、计算机设备及存储介质 | |
CN111339737B (zh) | 实体链接方法、装置、设备及存储介质 | |
CN113505256B (zh) | 特征提取网络训练方法、图像处理方法及装置 | |
CN113269612A (zh) | 物品推荐方法、装置、电子设备及存储介质 | |
CN111738365B (zh) | 图像分类模型训练方法、装置、计算机设备及存储介质 | |
CN112766406B (zh) | 物品图像的处理方法、装置、计算机设备及存储介质 | |
CN113918767A (zh) | 视频片段定位方法、装置、设备及存储介质 | |
CN112115900B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN113343709B (zh) | 意图识别模型的训练方法、意图识别方法、装置及设备 | |
CN112001442B (zh) | 特征检测方法、装置、计算机设备及存储介质 | |
CN113761195A (zh) | 文本分类方法、装置、计算机设备及计算机可读存储介质 | |
CN109829067B (zh) | 音频数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025896 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |