CN114925739B - 目标检测方法、装置和系统 - Google Patents
目标检测方法、装置和系统 Download PDFInfo
- Publication number
- CN114925739B CN114925739B CN202210095976.6A CN202210095976A CN114925739B CN 114925739 B CN114925739 B CN 114925739B CN 202210095976 A CN202210095976 A CN 202210095976A CN 114925739 B CN114925739 B CN 114925739B
- Authority
- CN
- China
- Prior art keywords
- network
- target detection
- sub
- image
- networks
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 466
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000013528 artificial neural network Methods 0.000 claims description 167
- 238000011156 evaluation Methods 0.000 claims description 72
- 238000012360 testing method Methods 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 description 96
- 230000006870 function Effects 0.000 description 38
- 238000013527 convolutional neural network Methods 0.000 description 23
- 238000011176 pooling Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 239000011159 matrix material Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 13
- 230000001537 neural effect Effects 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 230000035772 mutation Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 206010039203 Road traffic accident Diseases 0.000 description 3
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 2
- 101150064138 MAP1 gene Proteins 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000003902 lesion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种目标检测方法、装置和系统,涉及计算机视觉领域。该方法包括:在获取到包括待检测对象的图像后,利用目标检测网络池中的第一目标检测网络对图像进行目标检测,得到检测结果。由于第一目标检测网络用于对包括第一类特征的图像进行目标检测,利用适于检测包括第一类特征的图像的第一目标检测网络,对包括第一类特征的图像进行目标检测,使得第一目标检测网络对第一类特征的检测结果优于目标检测网络池中其他目标检测网络的检测结果,从而,提升了检测结果的精度和速度。目标检测网络池包括至少两个目标检测网络。第一目标检测网络为目标检测网络池中任意一个目标检测网络。
Description
技术领域
本申请涉及计算机视觉领域,尤其涉及一种目标检测方法、装置和系统。
背景技术
目标检测(object detection)是一种从图像中找出感兴趣的目标的技术。目标检测包括检测目标位置和识别目标类别。目前,主要利用单阶段(one stage)目标检测算法进行目标检测。例如,通过设计的神经网络实现利用单阶段目标检测算法进行目标检测的功能。但是,基于一种神经网络对不同场景图像,或者不同特征的图像进行目标检测,由于不同图像的特征不同,如果采用一种神经网络对不同特征的图像进行目标检测,无法确保目标检测的精度和速度。因此,如何提供一种确保目标检测的精度和速度的目标检测方法成为亟待解决的问题。
发明内容
本申请提供了目标检测方法、装置和系统,由此来提高对图像进行目标检测的精度和速度。
第一方面,本申请提供了一种目标检测方法,该方法可以由系统执行,该系统包括执行设备,具体包括如下步骤:执行设备获取到包括待检测对象的图像后,利用目标检测网络池中的第一目标检测网络对图像进行目标检测,得到检测结果。其中,第一目标检测网络用于对包括第一类特征的图像进行目标检测,第一目标检测网络对第一类特征的检测结果优于目标检测网络池中其他目标检测网络的检测结果。目标检测网络池包括至少两个目标检测网络。第一目标检测网络为目标检测网络池中任意一个目标检测网络。
如此,利用适于检测包括第一类特征的图像的第一目标检测网络,对包括第一类特征的图像进行目标检测,使得第一目标检测网络对第一类特征的检测结果优于目标检测网络池中其他目标检测网络的检测结果,从而,提升了检测结果的精度和速度。
其中,第一类特征包括场景特征、图像清晰度特征和图像类别特征中至少一个。
在一种可能的实现方式中,执行设备根据图像的特征从目标检测网络池中选择第一目标检测网络,图像的特征是与第一类特征相似的特征。从而,使得执行设备可以利用第一目标检测网络对包括与第一类特征相似的特征的图像进行目标检测,来提升了检测结果的精度和速度。
在另一种可能的实现方式中,在利用目标检测网络池中的第一目标检测网络对图像进行目标检测,得到检测结果之前,方法还包括:执行设备根据包括第一类特征的测试图像确定超网络中多个子网络的评价值,根据多个子网络的评价值从多个子网络中确定第一目标检测网络。评价值用于指示子网络对测试图像进行目标检测的精度。超网络包括N层网络层,每层网络层包括至少一个神经网络单元。子网络是超网络中对测试图像进行目标检测的一条路径,子网络包括N层网络层,每层网络层包括一个神经网络单元,N为正整数。
从而,在执行设备上实时运行从超网络中采样的子网络对包含特定特征的测试图像进行目标检测,针对特定特征选择目标检测网络,使得执行设备在对包含特定特征的图像进行目标检测时,选择适于检测包含特定特征的图像的目标检测网络,对包含特定特征的图像进行目标检测,来提升了检测结果的精度和速度。
在一种可能的实现方式中,根据多个子网络的评价值从多个子网络中确定第一目标检测网络,包括:在约束条件下,执行设备根据多个子网络的评价值从多个子网络中确定第一目标检测网络。约束条件为第一计算资源运行子网络对测试图像进行目标检测的推理时长小于预设时长。从而,在确保目标检测的推理时长的前提下,选择检测精度较优的目标检测网络,实现对图像进行目标检测提升检测结果的精度和速度的目的。
在另一种可能的实现方式中,根据多个子网络的评价值从多个子网络中确定第一目标检测网络,包括:将多个子网络的评价值中最大评价值的子网络确定为第一目标检测网络。从而,选择检测精度最优的目标检测网络,实现对图像进行目标检测提升检测结果的精度的目的。
在另一种可能的实现方式中,在利用目标检测网络池中的第一目标检测网络对图像进行目标检测,得到检测结果之前,方法还包括:执行设备根据计算资源运行子网络对包括第一类特征的测试图像进行目标检测的推理时长和精度,从多种计算资源中选择第一计算资源作为与测试图像匹配的计算资源,多种计算资源中包括至少一种计算资源,至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。如此,从多种计算资源中选择满足运行子网络进行目标检测的算力的计算资源来运行子网络进行目标检测,提升目标检测的精度和处理速度,最大化地利用集群中的计算资源运行子网络进行目标检测,提升集群中计算资源的整体执行效率,在有效时间内完成目标检测的任务。
在另一种可能的实现方式中,目标检测网络池中每个目标检测网络包括骨干网络和特征金字塔网络,骨干网络用于对图像进行特征提取,特征金字塔网络用于对骨干网络输出的特征进行处理,得到检测结果。从而,在执行设备上实时运行包括骨干网络和特征金字塔网络的子网络对包含特定特征的测试图像进行目标检测,实现了基于骨干网络和特征金字塔网络进行联合搜索目标检测网络的功能,提高了搜索到的目标检测网络进行目标检测的精度和速度。
在另一种可能的实现方式中,获取图像,包括:接收采集设备采集的图像,采集设备包括摄像头和激光雷达。
在另一种可能的实现方式中,方法还包括:显示检测结果或第一目标检测网络。从而,以便于用户可以直观地看到检测结果。
第二方面,本申请提供了一种目标检测装置,所述装置包括用于执行第一方面或第一方面任一种可能设计中的目标检测方法的各个模块。
第三方面,本申请提供一种系统,该系统包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第一方面或第一方面任一种可能实现方式中的执行设备执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的目标检测方法的操作步骤。
第四方面,本申请提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在执行设备中运行时,使得执行设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得执行设备执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种神经网络的结构示意图;
图2为本申请提供的一种卷积神经网络的结构示意图;
图3为本申请提供的一种目标检测系统的架构示意图;
图4为本申请提供的一种目标检测网络搜索方法的流程图;
图5为本申请提供的一种训练超网络的方法流程图;
图6为本申请提供的一种子网络的结构示意图;
图7为本申请提供的一种超网络的结构示意图;
图8为本申请提供的一种目标检测网络搜索方法的流程图;
图9为本申请提供的一种目标检测网络搜索过程的示意图;
图10为本申请提供的一种目标检测方法的流程图;
图11为本申请提供的一种云服务系统的结构示意图;
图12为本申请提供的一种目标检测的界面示意图;
图13为本申请提供的一种系统的结构示意图;
图14为本申请提供的一种目标检测装置的结构示意图。
具体实施方式
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取人类所需的被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成像系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。目标检测是计算机视觉重要的组成部分。
目标检测方法可以应用在人脸检测、车辆检测、行人计数、自动驾驶、安全系统和医疗领域等场景。例如,在自动驾驶场景中,自动驾驶汽车在行驶过程中,识别周围环境内的物体,以调整自动驾驶汽车的速度和方向,以便于自动驾驶汽车能够安全行驶,避免发生交通事故。物体可以是其它车辆、交通控制设备或者其它类型的物体。又如,在安全系统中,对大量的人脸进行识别,辅助工作人员尽快地确定目标人物。通常,将输入数据(如图像或视频)输入到具有目标检测功能的神经网络,神经网络对输入数据进行特征提取,基于提取的特征进行目标检测,得到检测结果。
为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元。该运算单元的输出满足如下公式(1)。
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
如图1所示,为本申请实施例提供的一种神经网络的结构示意图。神经网络100包括N个处理层,N为大于或等于3的整数。神经网络100的第一层为输入层110,负责接收输入信号,神经网络100的最后一层为输出层130,输出神经网络的处理结果。除去第一层和最后一层的其他层为中间层140,这些中间层140共同组成隐藏层120,隐藏层120中的每一层中间层140既可以接收输入信号,也可以输出信号。隐藏层120负责输入信号的处理过程。每一层代表了信号处理的一个逻辑级别,通过多个层,数据信号可经过多级逻辑的处理。
在一些可能的实施例中该神经网络的输入信号可以是视频信号、语音信号、文本信号、图像信号、温度信号等各种形式的信号。图像信号可以是图像采集设备(例如,相机或图像传感器)拍摄的风景信号、显监控设备捕捉的社区环境的图像信号以及门禁系统获取的人脸的面部信号等各类传感器信号。该神经网络的输入信号还包括其他各种计算机可处理的工程信号,在此不再一一列举。若利用神经网络对图像信号进行深度学习,可提高图像质量。
(2)深度神经网络
深度神经网络(deep neural network,DNN)也称多层神经网络,可以理解为具有多层隐藏层的神经网络。按照不同层的位置对深度神经网络进行划分,深度神经网络内部的神经网络可以分为三类:输入层,隐藏层和输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐藏层。层与层之间是全连接的,也就是说,第i层的任意一个神经元与第i+1层的任意一个神经元相连。
虽然深度神经网络看起来很复杂,但是,就其每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,/>是输入向量,/>是输出向量,/>是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量/>经过如此简单的操作得到输出向量/>由于深度神经网络的层数多,系数W和偏移向量/>的数量也比较多。这些参数在深度神经网络中的定义如下所述:以系数W为例:假设在一个三层的深度神经网络中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为/>其中,上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐藏层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征图(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征图,每个特征图可以由一些矩形排列的神经单元组成。同一特征图的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。也就是,图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
示例地,如图2所示,为本申请实施例提供的一种卷积神经网络的结构示意图。卷积神经网络200可以包括输入层210、卷积层/池化层220(其中池化层为可选的)和神经网络层230。
卷积层/池化层220例如可以包括层221至层226。在一种示例中,层221例如可以为卷积层,层222例如可以为池化层,层223例如可以为卷积层,层224例如可以为池化层,层225例如可以为卷积层,层226例如可以为池化层。在另一种示例中,层221和层222例如可以为卷积层,层223例如可以为池化层,层224和层225例如可以为卷积层,层226例如可以为池化层。卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也可称为核。卷积算子在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器。卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素,这取决于步长(stride)的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小与图像的大小相关。需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的。在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如层221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征。随着卷积神经网络200深度的加深,越往后的卷积层(例如层226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层。在如图2中卷积层/池化层220所示例的层221至层226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐藏层(如图2所示的层231、层232至层23n)以及输出层240,该多层隐藏层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层230中的多层隐藏层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由层210至层240方向的传播为前向传播)完成,反向传播(back propagation,BP),例如,如图2由层240至层210方向的传播为反向传播,利用反向传播可以更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图3为本申请实施例提供的一种目标检测系统的架构示意图。如图3所示,系统300包括执行设备310、训练设备320、数据库330、终端设备340、数据存储系统350和数据采集设备360。
执行设备310可以是终端,如手机终端,平板电脑,笔记本电脑,虚拟现实(virtualreality,VR)/增强现实(augmented reality,AR)设备,车载终端等,还可以是服务器或者云端设备等。
训练设备320可以是服务器或者云端设备等。训练设备320具备较强的计算能力,能够运行神经网络,对神经网络进行训练等计算。
作为一种可能的实施例,执行设备310和训练设备320可以是部署在一个物理设备(如:服务器)上的不同处理器。例如,执行设备310可以是中央处理器(central processingunit,CPU)、其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。训练设备320可以是图形处理器(graphics processing unit,GPU)、神经网络处理器(neural networkprocessing unit,NPU)、微处理器、特定应用集成电路(application-specificintegrated circuit,ASIC)、或一个或多个用于控制本申请方案程序执行的集成电路。
作为另一种可能的实施例,执行设备310和训练设备320还可以是集群中不同的物理设备。执行设备310包括了处理器,处理器用于实现上述训练过程中基于包括第一类特征的测试图像选择目标检测网络的功能,以及检测过程中对包括第一类特征的图像进行目标检测的功能。处理器例如是CPU、其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。训练设备320包括了处理器,处理器用于实现上述训练过程中从网络搜索空间中随机采样超网络的功能。处理器例如可以是GPU或NPU。
数据采集设备360用于采集训练数据和测试数据,并将训练数据和测试数据存入数据库330。训练数据包括训练图像和训练图像中的目标。测试数据包括测试图像和测试图像中的目标。训练图像的特征和测试图像的特征均是与第一类特征相似的特征。
训练设备320用于基于数据库330中维护的训练数据训练从网络搜索空间中随机采样的超网络。网络搜索空间包括N层网络层,每层网络层包括至少一个神经网络单元。超网络包括N层网络层,每层网络层包括至少一个神经网络单元。其中,N为正整数。可理解的,网络搜索空间是一个包括大量神经网络单元的超大网络。超网络是网络搜索空间中的部分子网络组成的网络。子网络是网络搜索空间中对测试图像进行目标检测的一条路径。网络搜索空间包含的神经网络单元的个数多于超网络包含的神经网络单元的个数。本实施例中所述的神经网络单元可以是深度神经网络。具体地,神经网络单元可以是卷积神经网络。
执行设备310用于基于数据库330中维护的测试数据从超网络中搜索目标检测网络301。目标检测网络301包括N层网络层,每层网络层包括一个神经网络单元。目标检测网络301是超网络中对包括第一类特征的图像进行目标检测的一条路径。目标检测网络301用于在执行设备310上运行时,对包括第一类特征的图像进行目标检测。第一类特征包括场景特征、图像清晰度特征和图像类别特征中至少一个。
在一种可能的实施例中,如果不同的测试图像是基于不同场景采集的图像,则不同的测试图像具有不同的场景特征。例如,在自动驾驶场景下,自动驾驶汽车行驶过程中采集的图像,该图像的场景特征包括道路上的障碍物特征和其他汽车的行驶轨迹特征等。又如,在医疗领域,医学影像的图像包括病变器官的特征。基于场景特征的测试图像搜索到的目标检测网络用于对该场景下的图像进行目标检测。从而,针对不同的场景,获取不同的目标检测网络,对该场景下的图像利用与该场景特征关联的目标检测网络进行目标检测,提升目标检测的精度和速度。
在一种可能的实施例中,如果不同的测试图像是基于不同采集设备采集的图像,则不同的测试图像具有不同的清晰度特征。基于清晰度特征的测试图像搜索到的目标检测网络用于对该清晰度下的图像进行目标检测。从而,针对不同的清晰度图像,获取不同的目标检测网络,对该清晰度的图像利用与该清晰度特征关联的目标检测网络进行目标检测,提升目标检测的精度和速度。
需要说明的是,在实际的应用中,数据库330中维护的训练数据和测试数据不一定都来自于数据采集设备360,也有可能是从其他设备接收得到的。另外,训练设备320也不一定完全基于数据库330维护的训练数据训练超网络,也有可能从云端或其他地方获取训练数据训练超网络。执行设备310也不一定完全基于数据库330维护的测试数据从训练后的超网络中搜索目标检测网络,也有可能从云端或其他地方获取测试数据,以便基于测试数据从训练后的超网络中搜索目标检测网络。上述描述不应该作为对本申请实施例的限定。
可理解的,一种执行设备执行不同的检测网络的处理过程的时延不同,优选执行检测网络时延最低的执行设备完成该检测网络的处理,此时,该网络与该执行设备可以称为具有亲和性。也就是说,可以根据执行设备的硬件处理能力匹配检测网络,以此降低检测网络的处理速度。目标检测网络对设备的亲和性越高,意味着设备运行目标检测网络的性能越高,效率越高,时延越短,越能发挥该设备的算力。若该目标检测系统300也可能包括其他执行设备。系统中所有的执行设备可以运行不同子网络对包括第一类特征的测试图像进行目标检测,得到预测结果;根据预测结果和测试图像中的目标获取不同子网络的评价值,根据评价值和运行子网络的推理时长,从多个执行设备中选择对包括第一类特征的测试图像进行目标检测的精度较高和推理时长较短的执行设备。
进一步地,根据执行设备310所执行的功能,还可以进一步将执行设备310细分为如图3所示的架构,如图所示,执行设备310配置有计算模块311、I/O接口312和预处理模块313。
I/O接口312用于与外部设备进行数据交互。用户可以通过终端设备340向I/O接口312输入数据。输入数据可以包括图像或视频。另外,输入数据也可以来自数据库330。
预处理模块313用于根据I/O接口312接收到的输入数据进行预处理。在本申请实施例中,预处理模块313可以用于识别从I/O接口312接收到的图像的场景特征、清晰度特征和类别特征。
在执行设备310对输入数据进行预处理,或者在执行设备310的计算模块311执行计算等相关的处理过程中,执行设备310可以调用数据存储系统350中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统350中。
例如,执行设备310搜索到的目标检测网络可以应用于执行设备310。执行设备310获取到包括第一类特征的待检测图像后,计算模块311运行目标检测网络对待检测图像进行目标检测。由于目标检测网络是由执行设备310基于包括第一类特征的测试图像从超网络搜索到的,因此,目标检测网络对包括第一类特征的图像进行目标检测的速度较快,而且预测结果的精度较高。
最后,I/O接口312将检测结果返回给终端设备340,从而提供给用户,以便用户查看检测结果。
在图3所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口312提供的界面进行操作。另一种情况下,终端设备340可以自动地向I/O接口312发送输入数据,如果要求终端设备340自动发送输入数据需要获得用户的授权,则用户可以在终端设备340中设置相应权限。用户可以在终端设备340查看执行设备310输出的检测结果,具体的呈现形式可以是显示、声音、动作等具体方式。终端设备340也可以作为数据采集端,采集如图所示输入I/O接口312的输入数据及输出I/O接口312的检测结果作为新的样本数据,并存入数据库330。当然,也可以不经过终端设备340进行采集,而是由I/O接口312将如图所示输入I/O接口312的输入数据及输出I/O接口312的检测结果,作为新的样本数据存入数据库330。
图3仅是本申请实施例提供的一种系统架构的示意图,图3中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统350相对执行设备310是外部存储器,在其它情况下,也可以将数据存储系统350置于执行设备310中。
接下来,结合图4至图12对本申请实施例提供的目标检测方法进行详细阐述。图4为本申请实施例提供的一种目标检测网络搜索方法的流程图。在这里由图3中训练设备320和执行设备310为例进行说明。如图4所示,该方法包括以下步骤。
步骤401、执行设备310获取训练设备320从网络搜索空间中搜索到的超网络。
训练设备320可以从网络搜索空间中每层网络层随机采样一些神经网络单元构成超网络。例如,网络搜索空间包括10层网络层,每层网络包括10个神经网络单元,训练设备320从网络搜索空间中每层网络层随机采样4个神经网络单元,超网络包括10层网络层,每层网络包括4个神经网络单元。
在一种可能的实现方式中,超网络可以是一个包含骨干网络(backbone)和特征金字塔网络(feature pyramid networks,FPN)的超级网络。骨干网络用于从图像中学习并提取特征。特征金字塔网络用于基于骨干网络不同层提取的特征进行上采样或下采样后进行特征融合,即对骨干网络输出的特征图的分辨率进行放大或缩小,再基于采样后的特征图进行拼接或相加等,利用拼接或相加后的特征图进行后处理,最终输出预测结果。
可理解的,超网络中骨干网络包含的网络层的个数与网络搜索空间中骨干网络包含的网络层的个数相同。超网络中特征金字塔网络包含的网络层的个数与网络搜索空间中特征金字塔网络包含的网络层的个数相同。骨干网络包括多层网络层,每层网络层包括至少一个神经网络单元。特征金字塔网络包括多层网络层,每层网络层包括至少一个神经网络单元。骨干网络的网络层层数和特征金字塔网络的网络层层数可以相同也可以不同。骨干网络的网络层包括的神经网络单元个数和特征金字塔网络的网络层包括的神经网络单元个数可以相同也可以不同。网络层层数和神经网络单元个数可以根据业务需求调整,本申请不做限定。
可选的,训练设备320从数据库330获取训练数据,利用训练数据训练超网络,确保超网包含性能较高的神经网络单元。示例地,如图5所示,为本申请实施例提供的一种训练超网络的方法流程图。
步骤501、训练设备320从超网络中随机采样子网络。
训练设备320从骨干网络的第一层开始至骨干网络的最后一层,每层随机采样一个神经网络单元,再从特征金字塔网络的第一层开始至特征金字塔网络的最后一层,每层随机采样一个神经网络单元,直到输出层,得到一个子网络。可理解的,子网络是超网络中的一部分网络。子网络也包括骨干网络和特征金字塔网络。子网络中骨干网络包含的网络层的个数与超网络中骨干网络包含的网络层的个数相同,子网络中骨干网络的每层网络层包含一个神经网络单元。子网络中特征金字塔网络包含的网络层的个数与超网络中特征金字塔网络包含的网络层的个数相同,子网络中特征金字塔网络的每层网络层包含一个神经网络单元。
步骤502、训练设备320根据训练数据确定子网络中的神经网络单元的评价值。
训练数据包括训练图像和训练图像中的目标。训练设备320将训练图像输入至子网络,子网络对训练图像进行目标检测,得到对训练图像中的目标的预测结果。训练设备320对预测结果和训练图像中的目标进行比较,获取该子网络的准确率。例如,训练设备320根据损失函数获取预测结果和训练图像中的目标的损失值和准确率。进而,再进行反向传播更新该子网络路径上的权重。准确率指示了准确预测多个训练图像中的目标的概率。
训练设备320可以根据神经网络单元所属子网络的准确率和与神经网络单元同层中其他神经网络单元所属子网络的准确率确定神经网络单元的评价值。神经网络单元的评价值用于表征神经网络单元进行目标检测的精度的优劣程度。神经网络单元的评价值满足如下公式(2)。
其中,P[N-n]表示神经网络单元的评价值,Acc[N-n]表示神经网络单元所属子网络的准确率,Acc[sum]表示与神经网络单元同层中其他神经网络单元所属子网络的准确率和神经网络单元所属子网络的准确率之和。N表示子网络中的网络层。n表示子网络中的网络层中的神经网络单元。
示例地,假设获取子网络中第4层网络层中神经网络单元的的评价值。如图6所示,第4层网络层包括神经网络单元4-1、神经网络单元4-2、神经网络单元4-3和神经网络单元4-4。选定第1层至第3层的神经网络单元,以及第5层至第9层的神经网络单元,固定第1层至第3层的神经网络单元不变,以及第5层至第9层的神经网络单元不变。4个子网络的区别在于第4层包含的神经网络单元不同。训练设备320将训练图像分别输入4个子网络,得到4个预测结果。训练设备320对预测结果和训练图像中的目标进行比较,获取4个子网络的准确率。
进而,训练设备320根据神经网络单元4-1所属子网络的准确率和4个子网络的准确率确定神经网络单元4-1的评价值。4个子网络的准确率包括神经网络单元4-2所属子网络的准确率、神经网络单元4-3所属子网络的准确率和神经网络单元4-4所属子网络的准确率。神经网络单元4-1所属子网络的准确率为Acc[4-1]=Acc[1-2-3-{4-1}-5-6-7-8-9]。4个子网络的准确率为Acc[sum]=Acc[4-1]+Acc[4-2]+Acc[4-3]+Acc[4-4])。神经网络单元4-1的评价值为P[4-1]=Acc[4-1]/Acc[sum]。
同理,训练设备320根据神经网络单元4-2所属子网络的准确率和4个子网络的准确率确定神经网络单元4-2的评价值。神经网络单元4-2的评价值为P[4-2]=Acc[4-2]/Acc[sum],Acc[4-2]=Acc[1-2-3-{4-2}-5-6-7-8-9]。
神经网络单元4-3的评价值为P[4-3]=Acc[4-3]/Acc[sum],Acc[4-3]=Acc[1-2-3-{4-3}-5-6-7-8-9]。
神经网络单元4-4的评价值为P[4-4]=Acc[4-4]/Acc[sum],Acc[4-4]=Acc[1-2-3-{4-4}-5-6-7-8-9]。
步骤503、训练设备320根据阈值和神经网络单元的评价值选择神经网络单元,得到训练后的超网络。
若神经网络单元的评价值小于或等于阈值,训练设备320淘汰该神经网络单元;若神经网络单元的评价值大于阈值,训练设备320保留该神经网络单元。
步骤504、训练设备320判断是否达到训练停止条件。
训练设备320经过多次随机采样,若未达到训练停止条件,循环执行步骤501至步骤503。若达到训练停止条件,执行步骤505、输出训练后的超网络。训练停止条件可以迭代次数。迭代次数例如是20次,迭代20次后,训练设备320输出训练后的超网络。
从而,将神经网络单元的动态、分层性能评价方法应用在超网络训练过程中,可以提前淘汰性能不佳的神经网络单元,在有效地减小搜索空间时,加快超网络收敛。
示例地,如图7所示,为本申请实施例提供的一种超网络的结构示意图。如图7中的(a)所示,超网络700包括骨干网络710和特征金字塔网络720的超级网络。骨干网络710包括多层网络层,每层网络层包括4个神经网络单元。特征金字塔网络720包括多层网络层,每层网络层包括3个神经网络单元。超网络700包括上采样模块730,上采样模块730用于对骨干网络710输入的特征图和特征金字塔网络720输入的特征图进行放大,以便于对不同尺寸的特征图进行拼接,利用拼接后的特征图进行目标检测,提升目标检测的精度。例如,上采样模块730可以对骨干网络710输入的特征图和特征金字塔网络720输入的特征图进行放大后,特征金字塔网络720输出的特征图经过神经网络740处理,得到包含大目标信息的特征图1、包含中目标信息的特征图2和包含小目标信息的特征图3。如图7中的(b)所示,骨干网络710和特征金字塔网络720中包含的神经网络单元的示意图。其中,矩形表示卷积核,矩形中的数字表示卷积核的大小,箭头旁的数字表示卷积核的数目。以及,图像中大目标、中目标和小目标的示意图。
步骤402、执行设备310根据测试数据确定超网络中多个子网络的评价值。
执行设备310从超网络中随机采样子网络,将测试图像输入至子网络,子网络对测试图像进行目标检测,得到对测试图像中的目标的预测结果。这里的超网络可以是指从网络搜索空间中随机采样得到的超网络,或者是经过训练后的超网络。测试数据包括测试图像和测试图像中的目标。执行设备310根据预测结果和测试图像中的目标获取该子网络的准确率。例如,执行设备310根据损失函数获取预测结果和测试图像中的目标的损失值和准确率。子网络的准确率可以作为子网络的评价值。评价值用于指示执行设备310运行子网络对测试图像进行目标检测的准确率。
步骤403、执行设备310根据超网络中多个子网络的评价值确定目标检测网络。
执行设备310根据子网络的评价值确定神经网络单元的评价值,选取神经网络单元的评价值较高的神经网络单元组成目标检测网络。执行设备310根据子网络的评价值确定神经网络单元的评价值的具体方法可以参考上述步骤502的阐述。示例地,如图8所示,为本申请实施例提供的一种目标检测网络搜索方法的流程图。
步骤4031、执行设备310依据神经网络单元的评价值选择候选子网络。
在约束条件下,执行设备310根据随机采样子网络的准确率对子网络进行排序,选取排名靠前的子网络作为候选子网络。例如,执行设备310从随机采样子网络中选取排名前10的子网络作为候选子网络,或者选取排名前20的子网络作为候选子网络。约束条件可以执行设备310运行子网络对测试图像进行目标检测的推理时长。可理解的,进行准确率排名的子网络是执行设备310运行随机采样子网络进行目标检测的推理时长中小于预设时长的子网络。
步骤4032、执行设备310利用进化算法对候选子网络中神经网络单元进行更新。
执行设备310获取候选子网络中的神经网络单元的评价值。执行设备310可以根据神经网络单元所属子网络的准确率和与神经网络单元同层中其他神经网络单元所属子网络的准确率确定神经网络单元的评价值。神经网络单元的评价值用于表征神经网络单元进行目标检测的精度的优劣程度。具体方法可以参考上述步骤502的阐述。
进而,执行设备310将候选子网络作为进化算法的父代,进行交叉和突变。交叉为候选子网络中任意两个子网络中的神经网络单元按照一定的概率互换。突变为按照一定的概率根据高评价值的神经网络单元随机替换候选子网络中神经网络单元。其中在随机初始化及进化算法交叉突变的过程中,评价值高的神经网络单元选择的概率更高。
进化算法也可以称为“演化算法”(evolutionary algorithms)是一个“算法簇”,尽管它有很多的变化,有不同的遗传基因表达方式,不同的交叉和变异算子,特殊算子的引用,以及不同的再生和选择方法,但它们产生的灵感都来自于大自然的生物进化。
进化计算是基于自然选择和自然遗传等生物进化机制的一种搜索算法。与普通的搜索方法一样,进化计算也是一种迭代算法,不同的是进化计算在最优解的搜索过程中,一般是从原问题的一组解出发改进到另一组较好的解,再从这组改进的解出发进一步改进。而且在进化问题中,要求当原问题的优化模型建立后,还对原问题的解进行编码。进化计算在搜索过程中利用结构化和随机性的信息,使最满足目标的决策获得最大的生存可能,是一种概率型的算法。
从而,将神经网络单元的动态、分层性能评价方法应用在进化算法搜索过程中,通过提高性能较高的神经网络单元被随机的概率,能够加快搜索速度,在有限的搜索次数中找到性能更高的目标检测网络。
步骤4033、执行设备310判断是否达到训练停止条件。
执行设备310对经过多次迭代更新,若未达到训练停止条件,循环执行步骤4031至步骤4033。若达到训练停止条件,输出目标检测网络。训练停止条件可以迭代次数。迭代次数例如是20次,迭代20次后,执行步骤4034、执行设备310输出目标检测网络。
可选地,执行设备310也可以将多个候选子网络的评价值中最大评价值的候选子网络确定为第一目标检测网络。
可选地,可以根据更新后的候选子网络的精度从更新后的候选子网络中选择目标检测网络。候选子网络的精度越高,越容易选定为目标检测网络。
目标检测网络可以是超网络中一个目标检测的路径。目标检测网络包含骨干网络和特征金字塔网络。骨干网络包括多层网络层,每层网络层包括一个神经网络单元。特征金字塔网络包括多层网络层,每层网络层包括一个神经网络单元。骨干网络的网络层层数和特征金字塔网络的网络层层数可以相同也可以不同。骨干网络的网络层包括的神经网络单元个数和特征金字塔网络的网络层包括的神经网络单元个数可以相同也可以不同。
示例地,如图9所示,为本申请实施例提供的一种目标检测网络搜索过程的示意图。如图9中的(a)所示,为执行设备310依据神经网络单元的评价值选择候选子网络。如图9中的(b)所示,为执行设备310利用进化算法对候选子网络中神经网络单元进行更新。例如,候选子网络1中的第三个神经网络单元发生了更新。又如,候选子网络2中的第二个神经网络单元发生了更新。又如,候选子网络3中的第四个神经网络单元发生了更新。如图9中的(c)所示,经过交叉和突变后,输出的目标检测网络。利用输出的目标检测网络对图像进行目标检测,输出检测结果。
需要说明的是,本申请实施例提供的目标检测网络搜索方法还可以根据图像中大目标、中目标和小目标的个数调整特征金字塔网络包括的网络层数。例如,如果测试图像包括较多的大目标,则特征金字塔网络包括的输出特征图1的网络层数较多。又如,如果测试图像包括较多的中目标,则特征金字塔网络包括的输出特征图2的网络层数较多。又如,如果测试图像包括较多的小目标,则特征金字塔网络包括的输出特征图3的网络层数较多。
从而,在执行设备上实时运行从超网络中采样的子网络对测试图像进行目标检测,根据目标检测的精度和速度来选择目标检测网络,实现了基于骨干网络和特征金字塔网络进行联合搜索目标检测网络的功能,提高了搜索到的目标检测网络进行目标检测的精度和速度。另外,可以针对不同特征的数据搜索到不同的目标检测网络,进一步地提高目标检测网络针对不同特征的数据进行目标检测的精度和速度。
上述实施例阐述了训练设备320训练超网络,以及执行设备310从超网络中选择目标检测网络的过程。执行设备310可以根据不同的场景或特征选择不同的目标检测网络,得到目标检测网络池。目标检测网络池包括至少两个目标检测网络。可以将目标检测网络池存入数据存储系统350。以便于执行设备310获取到图像,执行从数据存储系统350中获取目标检测网络池,利用目标检测网络池中的第一目标检测网络对图像进行目标检测,得到检测结果的功能。图10为本申请实施例提供的一种目标检测方法的流程图。图10与图4的区别在于执行设备310搜索到目标检测网络后,执行设备310利用目标检测网络进行实时的目标检测的过程。如图10所示,该方法包括以下步骤。
步骤1001、执行设备310获取图像。
图像可以是采集设备采集的图像,或者是采集设备采集的视频中的一帧图像。采集设备包括摄像机、摄像头和激光雷达等。图像包括待检测对象。
例如,在自动驾驶领域,图像中的待检测对象可以是自动驾驶汽车行驶过程中,道路上的物体,图像中的待检测对象例如可以是障碍物、行驶过程中的参考物或行人等。
又如,在医学领域,采集设备可以是电子计算机断层扫描(computed tomography,CT)设备或核磁共振(nuclear magnetic resonance)设备,图像中的待检测对象可以是人体病变的部位。
步骤1002、执行设备310利用目标检测网络池中的第一目标检测网络对图像包括的待检测对象进行目标检测,得到检测结果。
执行设备310可以先对图像进行分析得到图像的特征,图像的特征是与第一类特征相似的特征。由于第一目标检测网络用于在执行设备310上运行第一目标检测网络时,对包括第一类特征的图像进行目标检测。因此,执行设备310可以利用图像的特征从目标检测网络池中选择第一目标检测网络。目标检测网络池包括至少两个目标检测网络。第一目标检测网络为目标检测网络池中任意一个目标检测网络。
具体的,执行设备310利用第一目标检测网络中骨干网络对图像进行特征提取,得到多个特征图。骨干网络包括至少一层网络层,每层网络层包括一个神经网络单元。进而,执行设备310利用第一目标检测网络中特征金字塔网络基于骨干网络不同层提取的特征进行上采样或下采样后进行特征融合,即对骨干网络输出的特征图的分辨率进行放大或缩小,再基于采样后的特征图进行拼接或相加等,利用拼接或相加后的特征图进行后处理,最终输出检测结果。特征金字塔网络包括至少一层网络层,每层网络层包括一个神经网络单元。
由于第一目标检测网络是根据包括第一类特征的测试图像从超网络中搜索到的,第一目标检测网络适于检测包括第一类特征的图像。根据与第一类特征相似特征选择第一目标检测网络,利用第一目标检测网络对包括第一类特征的图像进行目标检测,则第一目标检测网络对图像的检测结果优于目标检测网络池中其他目标检测网络的检测结果,提升了目标检测的速度和检测结果的精度。
在另一种可能的实现方式中,执行设备310根据场景特征选择不同的目标检测网络后,生成场景标识与目标检测网络的对应关系。数据存储系统350可以存储场景标识与目标检测网络的对应关系。执行设备310获取到第一场景的目标检测任务后,可以根据第一场景的标识从数据存储系统350获取与第一场景的标识关联的第一目标检测网络,根据该第一目标检测网络对第一场景的图像进行目标检测。从而,由于第一目标检测网络是根据场景标识从超网络中搜索到的,第一目标检测网络适于检测第一场景下的图像。根据第一场景的标识选择第一目标检测网络,利用第一目标检测网络对第一场景下的图像进行目标检测,则第一目标检测网络对图像的检测结果优于目标检测网络池中其他目标检测网络的检测结果,提升了目标检测的速度和检测结果的精度。
例如,在自动驾驶领域,自动驾驶汽车行驶过程中,道路上有障碍物,根据传统的目标检测网络检测障碍物的准确率可能较低,如果检测结果指示前方无障碍物或距离障碍物的距离较远未及时采取制动措施,可能导致自动驾驶汽车无法避让障碍物,导致发生交通事故的概率较高。本申请实施例提供的目标检测网络可以利用自动驾驶场景的标识或自动驾驶场景的图像的特征获取较优的目标检测网络,利用较优的目标检测网络准确地检测道路上的障碍物,利用检测结果指示前方有障碍物,以及距离障碍物的距离,指示自动驾驶汽车及时采取制动措施,从而提升了目标检测网络检测障碍物的准确率,降低了发生交通事故的概率。
步骤1003、执行设备310显示目标检测结果或第一目标检测网络。
如果执行设备310是自动驾驶汽车上配置的带显示功能的设备,执行设备310可以显示目标检测结果或第一目标检测网络。如果执行设备310是云端设备,执行设备310可以将目标检测结果和第一目标检测网络传输给自动驾驶汽车,自动驾驶汽车上的显示设备显示目标检测结果和第一目标检测网络,提示用户及时采取制动措施,提升用户的使用体验。
在一种可能的实现方式中,云服务提供商将执行设备310提供的功能抽象成为一项云服务,将该云服务部署在云数据中心。用户可以通过云服务平台咨询和购买这项云服务。用户购买这项云服务后,可以通过终端设备向云数据中心上传图像,云数据中心利用目标检测网络池中的第一目标检测网络对图像包括的待检测对象进行目标检测,得到检测结果。
在另一种可能的实现方式中,执行设备310还可以为一个设备,该设备的计算能力和存储容量满足目标检测过程的要求。由该设备利用目标检测网络池中的第一目标检测网络对图像包括的待检测对象进行目标检测,得到检测结果。例如,设备部署有交互装置(比如:浏览器或客户端等)。用户可以通过交互装置上传图像,设备运行具体目标检测功能的软件包,利用目标检测网络池中的第一目标检测网络对图像包括的待检测对象进行目标检测,得到检测结果。其中,该设备可以为一台独立的计算设备,例如,一个智能终端或边缘计算节点等形式的计算设备。
在另一种可能的实现方式中,执行设备310的功能也可以由软件提供商封装为软件包。由用户购买该软件包,用户将软件包部署在自有服务器,或者,用户将软件包部署在云服务器中。例如,租户通过云服务平台购买云服务提供商提供的计算资源云服务,将执行设备310的功能部署在租户租用的云数据中心的计算资源中(例如虚拟机),在购买的计算资源中执行利用目标检测网络池中的第一目标检测网络对图像包括的待检测对象进行目标检测,得到检测结果的功能。可选的,执行设备310还可以对用户上传的数据和检测结果进行加密,在不妨碍实施效果的前提下避免直接接触用户的数据,保证信息安全。
值得说明的是,为了便于描述,以下实施例中以执行设备310提供的功能为一种云服务为例进行说明。
图11为本申请提供的一种系统1100的结构示意图,如图11所示,系统1100可以是利用基础资源向用户提供云服务的实体。系统1100包括云数据中心1110。所述云数据中心1110包括设备资源池(包括计算资源1111、存储资源1112和网络资源1113)和云服务平台1120。云数据中心1110包括的计算资源1111可以是计算设备(例如服务器)。目标检测装置1114可以部署在云数据中心1110中的服务器或运行在服务器中的虚拟机,实现利用目标检测网络池中的第一目标检测网络对待检测数据进行目标检测,得到检测结果的功能。该目标检测装置1114可以采用分布式部署方式,分别部署在多个服务器中、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。可理解的,云数据中心1110提供了图3所示的系统的功能。例如,云数据中心1110中的目标检测装置1114提供了训练设备320的功能和执行设备310的功能。云数据中心1110中的服务器或运行在服务器中的虚拟机实现训练设备320的功能和执行设备310的功能。可选地,当由云数据中心提供图3所示的系统的功能时,图3中执行设备310和训练设备320也可以由虚拟机或裸机或其他虚拟化形式的主体实现。
终端设备1200上可以部署交互装置1210。交互装置1210可以是浏览器或者能够实现与云服务平台1120进行消息交互的应用。用户可以通过交互装置1210访问云服务平台1120,向云数据中心1110上传待检测数据。待检测数据可以是图像或视频等,不予限定。本实施例对待检测数据的来源不予限定。待检测数据可以是实时采集的数据,也可以是数据库中存储的数据。云数据中心1110接收到终端设备1200上传的待检测数据后,调用目标检测装置1114,利用目标检测网络池中的第一目标检测网络对待检测数据进行目标检测,得到检测结果的功能。进而,终端设备1200接收云数据中心1110反馈的第一数据集的结果。
进一步地,本申请还提供一种可供维护人员查看和操作的界面,图12为本申请实施例提供的一种目标检测的操作界面示意图。如图12中的(a)所示,用户通过终端设备1200上的浏览器访问云服务平台1120。云服务平台1120的界面显示有目标检测等选项。用户点击“目标检测”选项1220。如图12中的(b)所示,云服务平台1120响应用户的点击操作,显示目标检测界面。云服务平台1120的目标检测界面显示“上传数据”按钮1230。用户点击“上传数据”按钮1230向云数据中心1110上传待检测数据。本实施例对待检测数据的存储位置不予限定,待检测数据可以存储到本地存储设备或云数据中心1110。如图12中的(c)所示,从文件中选择待检测数据,终端设备1200向云数据中心1110上传待检测数据。数据上传结束后,如图12中的(d)所示,云服务平台1120的界面可以显示“开始”按钮1240。用户点击“开始”按钮1240。云服务平台1120响应用户的点击操作,目标检测装置1114利用目标检测网络池中的第一目标检测网络对待检测数据进行目标检测,得到检测结果。云数据中心1110向终端设备1200反馈检测结果和第一目标检测网络。如图12中的(e)所示,终端设备1200显示云数据中心1110反馈的检测结果和第一目标检测网络。例如,待检测数据是自动驾驶领域的数据,检测结果包括前方有障碍物、距离障碍物的距离和制动措施等。用户点击第一目标检测网络,查看第一目标检测网络的具体网络结构。
以便于用户向云数据中心1110上传待检测数据,云数据中心1110利用目标检测网络池中的第一目标检测网络对待检测数据进行目标检测,得到检测结果。为用户提供检测结果,使得用户可以直观地看到检测结果,提高用户体验。
由于本申请提供的训练设备320和执行设备310可以部署在同一设备,或者,采用分布式部署的方式,分别部署在不同环境中的多个计算机上,因此,本申请还提供一种如图13所示的系统,该系统包括多个计算机1300,每个计算机1300包括存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。
存储器1301可以是只读存储器,静态存储设备,动态存储设备或者随机存取存储器。存储器1301可以存储计算机指令,当存储器1301中存储的计算机指令被处理器1302执行时,处理器1302和通信接口1303用于执行目标检测的方法。存储器还可以存储目标检测网络池,以及场景标识与目标检测网络池的对应关系等数据集合。例如:存储器1301中的一部分存储资源被划分成一个目标检测存储模块,用于存储执行设备310进行目标检测网络池,以及场景标识与目标检测网络池的对应关系。
处理器1302可以采用通用的中央处理器(central processing unit,CPU),应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或其任意组合。处理器1302可以包括一个或多个芯片。处理器1302可以包括AI加速器,例如,神经网络处理器(neural processing unit,NPU)。此外,图13中是以每个计算机1300包括一个处理器1302为例进行说明,具体实施时,可以根据业务需求设置各个计算机1300中处理器1302的数量和类型,对于同一计算机1300可以包括一个或多个处理器,当同一计算机1300中包括多个处理器时,本申请对于处理器的类型不做限定。
通信接口1303使用例如但不限于收发器一类的收发模块,来实现计算机1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1303获取包括待检测对象的图像。
总线1304可包括在计算机1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。
上述每个计算机1300间通过通信网络建立通信通路。任意一计算机1300可以为云数据中心中的计算机(例如:服务器),或边缘数据中心中的计算机,或终端计算设备。
每个计算机1300上都可以部署训练设备320的功能和执行设备310的功能。例如,CPU用于实现执行设备310的功能。GPU用于实现训练设备320的功能。
对于同一个计算机1300内部署的训练设备320的功能和执行设备310的功能,训练设备320可以通过总线1304与执行设备310进行通信。
对于不同计算机1300内部署的训练设备320的功能和执行设备310的功能,训练设备320可以通过通信网络与执行设备310进行通信。
图14为本申请提供的一种目标检测装置1400的结构示意图,如图所示,目标检测装置1400包括通信模块1410和检测模块1430。
通信模块1410,用于目标检测装置1400用于实现上述图4、图5、图8或图10中所示的方法实施例中执行设备310的功能。
检测模块1430,用于利用目标检测网络池中的第一目标检测网络对所述图像进行目标检测,得到检测结果,所述目标检测网络池包括至少两个目标检测网络,所述第一目标检测网络为目标检测网络池中任意一个目标检测网络,所述第一目标检测网络用于对包括第一类特征的图像进行目标检测,所述第一目标检测网络对所述第一类特征的检测结果优于所述目标检测网络池中其他目标检测网络的检测结果。
可选地,目标检测装置1400还包括选择模块1420,用于根据所述图像的特征从所述目标检测网络池中选择所述第一目标检测网络,所述图像的特征是与所述第一类特征相似的特征。
可选地,目标检测装置1400还包括预选模块1440,用于根据包括所述第一类特征的测试图像确定超网络中多个子网络的评价值,所述评价值用于指示子网络对所述测试图像进行目标检测的精度,所述超网络包括N层网络层,每层网络层包括至少一个神经网络单元,所述子网络是所述超网络中对所述测试图像进行目标检测的一条路径,所述子网络包括N层网络层,每层网络层包括一个神经网络单元,N为正整数;以及,根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络。
可选地,预选模块1440,还用于在约束条件下,根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络,所述约束条件为第一计算资源运行子网络对所述测试图像进行目标检测的推理时长小于预设时长;以及,将所述多个子网络的评价值中最大评价值的子网络确定为所述第一目标检测网络。
可选地,预选模块1440,还用于根据计算资源运行子网络对包括所述第一类特征的测试图像进行目标检测的推理时长和精度,从多种计算资源中选择第一计算资源作为与所述测试图像匹配的计算资源,所述多种计算资源中包括至少一种计算资源,所述至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。
可选地,所述目标检测网络池中每个目标检测网络包括骨干网络和特征金字塔网络,所述骨干网络用于对图像进行特征提取,所述特征金字塔网络用于对所述骨干网络输出的特征进行处理,得到检测结果。
可选地,所述第一类特征包括场景特征、图像清晰度特征和图像类别特征中至少一个。
可选地,目标检测装置1400还包括存储模块1450,用于存储目标检测网络池,以及目标检测网络和图像的特征的对应关系。以便于选择模块1420从存储模块1450获取目标检测网络,以及目标检测网络和图像的特征的对应关系,对接收到的图像进行目标检测。
应理解的是,本申请实施例的目标检测装置1400可以通过中央处理器(centralprocessing unit,CPU),或者,通过专用集成电路(application-specific integratedcircuit,ASIC)实现,或通过可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic arraylogic,GAL)或其任意组合。也可以通过软件实现图4、图5、图8或图10所示的目标检测方法时,目标检测装置1400及其各个模块也可以为软件模块。
根据本申请实施例的目标检测装置1400可对应于执行本申请实施例中描述的方法,并且目标检测装置1400中的各个单元的上述和其它操作和/或功能分别为了实现图4、图5、图8或图10中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请还提供的一种目标检测系统的结构示意图,该系统包括如图3所示的训练设备320和执行设备310,其中,训练设备320和执行设备310通过网络进行通信。当该系统为同一设备(例如,服务器)时,训练设备320和执行设备310可以分别为该设备中两个处理器,例如,训练设备320为GPU,执行设备310为CPU,此时,训练设备320和执行设备310通过总线进行通信,该总线包括快捷外围部件互连标准(Peripheral Component InterconnectExpress,PCIe)。当该系统包括不同设备时,训练设备320和执行设备310可以分别位于不同设备,例如,训练设备320为终端1,执行设备为服务器1,此时,训练设备320和执行设备310通过网络进行通信,该网络包括以太网、远程直接数据存取(remote direct memoryaccess,RDMA)、InfiniBand(IB)等支持设备间通信的方式进行通信连接。可选地,上述训练设备320和执行设备310位于同一设备内时,训练设备320和执行设备310也可以由同一处理器实现其功能。上述系统可以对应本申请实施例中的目标检测装置1400,用于实现目标检测装置1400各个模块的功能,此外,该系统还可以用于实现本申请实施例中图4、图5、图8或图10所述方法中的相应主体所执行的方法的操作步骤,为了简洁,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种目标检测方法,其特征在于,所述方法包括:
获取图像,所述图像包括待检测对象;
根据所述图像的特征从目标检测网络池中选择第一目标检测网络,所述图像的特征是与第一类特征相似的特征;
利用所述目标检测网络池中的所述第一目标检测网络对所述图像进行目标检测,得到检测结果,所述目标检测网络池包括至少两个目标检测网络,所述第一目标检测网络为目标检测网络池中任意一个目标检测网络,所述第一目标检测网络用于对包括所述第一类特征的图像进行目标检测,所述第一目标检测网络对所述第一类特征的检测结果优于所述目标检测网络池中其他目标检测网络的检测结果;所述第一类特征包括场景特征、图像清晰度特征和图像类别特征中至少一个;
其中,在利用目标检测网络池中的第一目标检测网络对所述图像进行目标检测,得到检测结果之前,所述方法还包括:
根据包括所述第一类特征的测试图像确定超网络中多个子网络的评价值,所述评价值用于指示子网络对所述测试图像进行目标检测的精度,所述超网络包括N层网络层,每层网络层包括至少一个神经网络单元,所述子网络是所述超网络中对所述测试图像进行目标检测的一条路径,所述子网络包括N层网络层,每层网络层包括一个神经网络单元,N为正整数;
根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络;
其中,所述根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络,包括:根据所述多个子网络的评价值确定所述多个子网络中的神经网络单元的评价值,选取所述神经网络单元的评价值高的神经网络单元组成所述第一目标检测网络。
2.根据权利要求1所述的方法,其特征在于,根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络,包括:
在约束条件下,根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络,所述约束条件为第一计算资源运行子网络对所述测试图像进行目标检测的推理时长小于预设时长;
将所述多个子网络的评价值中最大评价值的子网络确定为所述第一目标检测网络。
3.根据权利要求1-2中任一项所述的方法,其特征在于,在所述利用目标检测网络池中的第一目标检测网络对所述图像进行目标检测,得到检测结果之前,所述方法还包括:
根据计算资源运行子网络对包括所述第一类特征的测试图像进行目标检测的推理时长和精度,从多种计算资源中选择第一计算资源作为与所述测试图像匹配的计算资源,所述多种计算资源中包括至少一种计算资源,所述至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述目标检测网络池中每个目标检测网络包括骨干网络和特征金字塔网络,所述骨干网络用于对图像进行特征提取,所述特征金字塔网络用于对所述骨干网络输出的特征进行处理,得到检测结果。
5.一种目标检测装置,其特征在于,所述装置包括:
通信模块,用于获取图像,所述图像包括待检测对象;
选择模块,用于根据所述图像的特征从目标检测网络池中选择第一目标检测网络,所述图像的特征是与第一类特征相似的特征;
检测模块,用于利用所述目标检测网络池中的所述第一目标检测网络对所述图像进行目标检测,得到检测结果,所述目标检测网络池包括至少两个目标检测网络,所述第一目标检测网络为目标检测网络池中任意一个目标检测网络,所述第一目标检测网络用于对包括第一类特征的图像进行目标检测,所述第一目标检测网络对所述第一类特征的检测结果优于所述目标检测网络池中其他目标检测网络的检测结果;所述第一类特征包括场景特征、图像清晰度特征和图像类别特征中至少一个;
预选模块,用于根据包括所述第一类特征的测试图像确定超网络中多个子网络的评价值,所述评价值用于指示子网络对所述测试图像进行目标检测的精度,所述超网络包括N层网络层,每层网络层包括至少一个神经网络单元,所述子网络是所述超网络中对所述测试图像进行目标检测的一条路径,所述子网络包括N层网络层,每层网络层包括一个神经网络单元,N为正整数;以及,根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络;
所述预选模块根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络时,具体用于根据所述多个子网络的评价值确定所述多个子网络中的神经网络单元的评价值,选取所述神经网络单元的评价值高的神经网络单元组成所述第一目标检测网络。
6.根据权利要求5所述的装置,其特征在于,所述预选模块根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络时,具体用于:
在约束条件下,根据所述多个子网络的评价值从所述多个子网络中确定所述第一目标检测网络,所述约束条件为第一计算资源运行子网络对所述测试图像进行目标检测的推理时长小于预设时长;
将所述多个子网络的评价值中最大评价值的子网络确定为所述第一目标检测网络。
7.根据权利要求5-6中任一项所述的装置,其特征在于,
所述预选模块,还用于根据计算资源运行子网络对包括所述第一类特征的测试图像进行目标检测的推理时长和精度,从多种计算资源中选择第一计算资源作为与所述测试图像匹配的计算资源,所述多种计算资源中包括至少一种计算资源,所述至少一种计算资源中每种计算资源包括与计算资源的算力关联的资源。
8.根据权利要求5-7中任一项所述的装置,其特征在于,所述目标检测网络池中每个目标检测网络包括骨干网络和特征金字塔网络,所述骨干网络用于对图像进行特征提取,所述特征金字塔网络用于对所述骨干网络输出的特征进行处理,得到检测结果。
9.一种目标检测系统,其特征在于,所述系统包括存储器和至少一个处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求1至4中任一项所述的方法的操作步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021101855149 | 2021-02-10 | ||
CN202110185514 | 2021-02-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925739A CN114925739A (zh) | 2022-08-19 |
CN114925739B true CN114925739B (zh) | 2023-11-03 |
Family
ID=82804896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210095976.6A Active CN114925739B (zh) | 2021-02-10 | 2022-01-26 | 目标检测方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925739B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414570A (zh) * | 2019-07-04 | 2019-11-05 | 北京迈格威科技有限公司 | 图像分类模型生成方法、装置、设备和存储介质 |
CN110782034A (zh) * | 2019-10-31 | 2020-02-11 | 北京小米智能科技有限公司 | 神经网络的训练方法、装置及存储介质 |
CN111291739A (zh) * | 2020-05-09 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 面部检测、图像检测神经网络训练方法、装置和设备 |
CN111553464A (zh) * | 2020-04-26 | 2020-08-18 | 北京小米松果电子有限公司 | 基于超网络的图像处理方法、装置及智能设备 |
CN111582454A (zh) * | 2020-05-09 | 2020-08-25 | 北京百度网讯科技有限公司 | 生成神经网络模型的方法和装置 |
CN111931901A (zh) * | 2020-07-02 | 2020-11-13 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
CN112036400A (zh) * | 2020-07-09 | 2020-12-04 | 北京航空航天大学 | 构建用于目标检测的网络的方法和目标检测方法及系统 |
CN112115914A (zh) * | 2020-09-28 | 2020-12-22 | 北京市商汤科技开发有限公司 | 目标检测方法及装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180053091A1 (en) * | 2016-08-17 | 2018-02-22 | Hawxeye, Inc. | System and method for model compression of neural networks for use in embedded platforms |
CN110188878A (zh) * | 2019-05-31 | 2019-08-30 | 北京市商汤科技开发有限公司 | 神经网络搜索方法及装置 |
-
2022
- 2022-01-26 CN CN202210095976.6A patent/CN114925739B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414570A (zh) * | 2019-07-04 | 2019-11-05 | 北京迈格威科技有限公司 | 图像分类模型生成方法、装置、设备和存储介质 |
CN110782034A (zh) * | 2019-10-31 | 2020-02-11 | 北京小米智能科技有限公司 | 神经网络的训练方法、装置及存储介质 |
CN111553464A (zh) * | 2020-04-26 | 2020-08-18 | 北京小米松果电子有限公司 | 基于超网络的图像处理方法、装置及智能设备 |
CN111291739A (zh) * | 2020-05-09 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 面部检测、图像检测神经网络训练方法、装置和设备 |
CN111582454A (zh) * | 2020-05-09 | 2020-08-25 | 北京百度网讯科技有限公司 | 生成神经网络模型的方法和装置 |
CN111931901A (zh) * | 2020-07-02 | 2020-11-13 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
CN112036400A (zh) * | 2020-07-09 | 2020-12-04 | 北京航空航天大学 | 构建用于目标检测的网络的方法和目标检测方法及系统 |
CN112115914A (zh) * | 2020-09-28 | 2020-12-22 | 北京市商汤科技开发有限公司 | 目标检测方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114925739A (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378381B (zh) | 物体检测方法、装置和计算机存储介质 | |
CN112446398B (zh) | 图像分类方法以及装置 | |
CN110298262B (zh) | 物体识别方法及装置 | |
AU2019101133A4 (en) | Fast vehicle detection using augmented dataset based on RetinaNet | |
CN112308200B (zh) | 神经网络的搜索方法及装置 | |
CN112446270B (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
CN111401517B (zh) | 一种感知网络结构搜索方法及其装置 | |
CN111368972B (zh) | 一种卷积层量化方法及其装置 | |
WO2021155792A1 (zh) | 一种处理装置、方法及存储介质 | |
CN111797983A (zh) | 一种神经网络构建方法以及装置 | |
CN111310604A (zh) | 一种物体检测方法、装置以及存储介质 | |
CN117157679A (zh) | 感知网络、感知网络的训练方法、物体识别方法及装置 | |
CN112101456B (zh) | 注意力特征图获取方法及装置、目标检测的方法及装置 | |
CN112464930A (zh) | 目标检测网络构建方法、目标检测方法、装置和存储介质 | |
CN113065575A (zh) | 一种图像处理方法及相关装置 | |
CN114764856A (zh) | 图像语义分割方法和图像语义分割装置 | |
CN113065637B (zh) | 一种感知网络及数据处理方法 | |
CN116432736A (zh) | 神经网络模型优化方法、装置及计算设备 | |
CN114972182A (zh) | 一种物体检测方法及其装置 | |
CN110705564A (zh) | 图像识别的方法和装置 | |
CN114925739B (zh) | 目标检测方法、装置和系统 | |
CN116012609A (zh) | 一种环视鱼眼多目标跟踪方法、装置、电子设备及介质 | |
CN116824284A (zh) | 一种图像处理方法以及相关设备 | |
CN117036658A (zh) | 一种图像处理方法及相关设备 | |
CN113256556A (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 |