CN112115914B - 目标检测方法及装置、电子设备和存储介质 - Google Patents

目标检测方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112115914B
CN112115914B CN202011043814.5A CN202011043814A CN112115914B CN 112115914 B CN112115914 B CN 112115914B CN 202011043814 A CN202011043814 A CN 202011043814A CN 112115914 B CN112115914 B CN 112115914B
Authority
CN
China
Prior art keywords
network
sub
networks
convolution
different
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
Application number
CN202011043814.5A
Other languages
English (en)
Other versions
CN112115914A (zh
Inventor
岳育新
李全全
王宇杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202011043814.5A priority Critical patent/CN112115914B/zh
Publication of CN112115914A publication Critical patent/CN112115914A/zh
Application granted granted Critical
Publication of CN112115914B publication Critical patent/CN112115914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本公开实施例公开了目标检测方法及装置、电子设备和存储介质。该方法包括:获取待检测图像;将所述待检测图像输入目标检测网络,得到检测结果;所述检测结果表征从所述待检测图像中检测到的分类信息或者预测信息;其中,所述目标检测网络是从第一候选网络中搜索得到的平均精确率满足预设条件的目标子网络;所述第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同。通过本公开,能够降低检测网络的结构局限性,提高检测效果。

Description

目标检测方法及装置、电子设备和存储介质
技术领域
本公开涉及图像处理技术,尤其涉及一种目标检测方法及装置、电子设备和存储介质。
背景技术
近年来目标检测技术成功应用于交通、城市管理、无人零售超市等多种场景中,进行车辆、人体和垃圾等物体的检测,使得人工智能为许多传统行业增加了可能。不同于图像分类等任务,目标检测需要处理同一张图片中可能出现的不同大小的物体,尤其是比较难以检测的小物体。目标检测模型中的多尺度检测设计目的就是检出一张图片中不同尺度的目标,因此多尺度检测成为目标检测中一个重要问题。
相关技术中,目标检测中的多尺度问题经常基于手工设计的特征金字塔网络处理;然而,手工设计的多尺度检测模型网络结构通常是基于先验知识或者领域经验而设计,结构简单,且局限性较大,从而导致检测效果不佳。
发明内容
本公开实施例提供一种目标检测方法及装置、电子设备和存储介质,能够降低检测网络的结构局限性,提高检测效果。
本公开实施例的技术方案是这样实现的:
本公开实施例提供一种目标检测方法,包括:获取待检测图像;将所述待检测图像输入目标检测网络,得到检测结果;所述检测结果表征从所述待检测图像中检测到的分类信息或者预测信息;其中,所述目标检测网络是从第一候选网络中搜索得到的平均精确率满足预设条件的目标子网络;所述第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同。
上述方法中,在所述将所述待检测图像输入目标检测网络,得到检测结果之前,所述方法包括:根据网络构建参数,生成所述第一候选网络;从所述第一候选网络中搜索出目标子网络,所述目标子网络为平均精确率达到预设条件的第一子网络,并将所述目标子网络确定为所述目标检测网络。
上述方法中,所述第一候选网络包括:多个第一子网络,每个第一子网络包括N个卷积模块和与所述N个卷积模块连接的M个检测器,且所述N个卷积模块中的一个卷积模块与所述M个检测器中的至少一个检测器连接;所述网络构建参数包括:混合块的数量N、每个混合块包括多个步长不同的卷积模块、检测器的数量M、每个卷积模块的初始网络参数,以及,每个检测器对应的多个卷积模块的绝对步长;其中,一个卷积模块的绝对步长为:输入所述卷积模块的图像的尺寸与所述卷积模块所输出的特征图的尺寸之间的比值;一个检测器对应多个卷积模块的绝对步长,表征所述检测器在不同的第一子网络中和与所述多个绝对步长对应的不同卷积模块连接;M和N为大于零的整数。
上述方法中,所述从所述第一候选网络中搜索出目标子网络,包括:从所述第一候选网络中筛选合法子网络;所述合法子网络为卷积模块的绝对步长满足预设条件的第一子网络;所述预设条件为预先设置的网络筛选条件;采用从预设数据集中获得的样本图像,对每个合法子网络进行第一训练,获得第二候选网络;从所述第二候选网络中搜索出所述目标子网络。
上述方法中,所述第二候选网络包括多个第二子网络,所述从所述第二候选网络中搜索出所述目标子网络,包括:通过对所述多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络;所述第三候选网络包括多个第三子网络;将从所述预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果;根据每个第三子网络的输出结果,计算每个第三子网络的平均精确率;选取平均精确率最高的第三子网络作为所述目标子网络。
上述方法中,所述将从所述预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果,包括:从所述第三候选网络中任意选取一个第三子网络作为当前子网络;获取所述当前子网络的一组网络参数;将所述当前子网络的一组网络参数作为预训练网络参数,对所述当前子网络进行第二训练,获得所述当前子网络的一组修正网络参数;所述第二训练中的学习率小于所述第一训练中的学习率;将所述当前子网络的网络参数更新为所述一组修正网络参数;将从所述预设数据集中获得的测试图像,输入网络参数更新后的所述当前子网络中,获得输出结果;从所述第三候选网络中选取下一个第三子网络作为所述当前子网络,继续重复执行上述步骤,直至所述第三候选网络中的每个第三子网络已被选取过为止,从而获得每个第三子网络的输出结果。
上述方法中,在所述采用从预设数据集中获得的样本图像对每个合法子网络进行第一训练,获得第二候选网络之后,所述方法还包括:获取每个第二子网络的网络参数;根据每个所述第二子网络的网络参数,获得所述N个混合块中每个混合块所包括的每个卷积模块的中间网络参数;所述获取所述当前子网络的一组网络参数,包括:根据所述当前子网络中的每个卷积模块,从获得的中间网络参数中,选取对应的中间网络参数,得到N个中间网络参数,并将选取的所述N个中间网络参数作为所述当前子网络的一组网络参数。
上述方法中,所述通过对所述多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络,包括:从所述多个第二子网络中任意选取预设数量的第二子网络作为种群网络;对所述种群网络进行变异处理和/或交叉处理,获得新生网络;所述新生网络包括多个新生子网络;从所述多个新生子网络中,筛选出卷积模块的绝对步长满足所述预设条件的新生子网络作为有效子网络,或者,筛选出卷积模块的绝对步长满足所述预设条件,且浮点运算数满足预设阈值的新生子网络作为有效子网络;将所述有效子网络和所述种群网络所构成的子网络集合作为中间候选网络,计算所述中间候选网络中的每个中间子网络的平均精确率;从所述中间候选网络中,选取平均精确率最高的预设数量的中间子网络;采用所述选取的平均精确率最高的预设数量的中间子网络,对所述种群网络进行更新;重复执行上述步骤预设次数,并将最后一次获得的中间候选网络作为所述第三候选网络。
上述方法中,所述变异处理包括以下至少一种处理方式:从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个卷积模块的步长值,设置为与所述一个或多个卷积模块对应的混合块所包括的其他任意卷积模块;从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个检测器所对应的卷积模块的绝对步长,设置为所述多个卷积模块的绝对步长中的其他任意卷积模块的绝对步长;其中,将一个检测器对应的第一绝对步长设置为第二绝对步长,表征所述检测器与卷积模块的连接关系,从所述检测器与所述第一绝对步长对应的第一卷积模块连接,更改为所述检测器与所述第二绝对步长对应的第二卷积模块连接;所述交叉处理包括以下至少一种处理方式:从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个卷积模块进行互换;从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个检测器所对应的绝对步长进行互换。
上述方法中,所述预设条件至少包括以下之一:
每个卷积模块的绝对步长大于或等于第一预设阈值,且小于或等于第二预设阈值;
所述M个检测器中,前一个检测器所连接的卷积模块的绝对步长大于或等于后一个检测器所连接的卷积模块的绝对步长;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长大于或等于第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最小的绝对步长小于或等于所述第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长与最小的绝对步长不同;所述第一预设阈值小于所述第三预设阈值,所述第三预设阈值小于所述第二预设阈值;
所述M个检测器所连接的多个卷积模块中,各个卷积模块输出的特征图不同。
上述方法中,每个第一子网络包括N个卷积模块,第i个卷积模块所生成的特征图是根据第一特征图和第二特征图得到,其中,所述第一特征图是所述第i个卷积模块对第i-1个卷积模块所生成的特征图进行卷积操作得到,所述第二特征图是根据横向卷积模块对第y个卷积模块所生成的特征图进行卷积操作得到;其中,所述第y个卷积模块与所述第i个卷积模块所生成的特征图的分辨率相同,所述第y个卷积模块的步长值为预设步长值,且所述第y个卷积模块的步长值与第y+1个卷积模块的步长值之间满足预设步长关系;N、i和y为大于零的整数,y小于i,且i小于或等于N-1。
本公开实施例提供一种目标检测装置,包括:获取模块,用于获取待检测图像;检测模块,用于将所述待检测图像输入目标检测网络,得到检测结果;所述检测结果表征从所述待检测图像中检测到的分类信息或者预测信息;其中,所述目标检测网络是从第一候选网络中搜索得到的平均精确率满足预设条件的目标子网络;所述第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同。
上述装置还包括:生成模块,用于在所述将所述待检测图像输入目标检测网络,得到检测结果之前,根据网络构建参数,生成所述第一候选网络;从所述第一候选网络中搜索出目标子网络,所述目标子网络为平均精确率达到预设条件的第一子网络,并将所述目标子网络确定为所述目标检测网络。
上述装置中,所述第一候选网络包括:多个第一子网络,每个第一子网络包括N个卷积模块和与所述N个卷积模块连接的M个检测器,且所述N个卷积模块中的一个卷积模块与所述M个检测器中的至少一个检测器连接;所述网络构建参数包括:混合块的数量N、每个混合块所包括的多个步长不同的卷积模块、检测器的数量M、每个卷积模块的初始网络参数,以及,每个检测器对应的多个卷积模块的绝对步长;其中,一个卷积模块的绝对步长为:输入所述卷积模块的图像的尺寸与所述卷积模块所输出的特征图的尺寸之间的比值;一个检测器对应多个卷积模块的绝对步长,表征所述检测器在不同的第一子网络中和与所述多个绝对步长对应的不同卷积模块连接;M和N为大于零的整数。
上述装置中,所述生成模块还用于,从所述第一候选网络中筛选合法子网络;所述合法子网络为卷积模块的绝对步长满足预设条件的第一子网络;所述预设条件为预先设置的网络筛选条件;采用从预设数据集中获得的样本图像,对每个合法子网络进行第一训练,获得第二候选网络;从所述第二候选网络中搜索出所述目标子网络。
上述装置中,所述第二候选网络包括多个第二子网络,所述生成模块还用于,通过对所述多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络;所述第三候选网络包括多个第三子网络;将从所述预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果;根据每个第三子网络的输出结果,计算每个第三子网络的平均精确率;选取平均精确率最高的第三子网络作为所述目标子网络。
上述装置中,所述生成模块还用于,从所述第三候选网络中任意选取一个第三子网络作为当前子网络;获取所述当前子网络的一组网络参数;将所述当前子网络的一组网络参数作为预训练网络参数,对所述当前子网络进行第二训练,获得所述当前子网络的一组修正网络参数;所述第二训练中的学习率小于所述第一训练中的学习率;将所述当前子网络的网络参数更新为所述一组修正网络参数;将从所述预设数据集中获得的测试图像,输入网络参数更新后的所述当前子网络中,获得输出结果;从所述第三候选网络中选取下一个第三子网络作为所述当前子网络,继续重复执行上述步骤,直至所述第三候选网络中的每个第三子网络已被选取过为止,从而获得每个第三子网络的输出结果。
上述装置中,所述生成模块还用于,在所述采用从预设数据集中获得的样本图像对每个合法子网络进行第一训练,获得第二候选网络之后,获取每个第二子网络的网络参数;根据每个所述第二子网络的网络参数,获得所述N个混合块中每个混合块所包括的每个卷积模块的中间网络参数;根据所述当前子网络中的每个卷积模块,从获得的中间网络参数中,选取对应的中间网络参数,得到N个中间网络参数,并将选取的所述N个中间网络参数作为所述当前子网络的一组网络参数。
上述装置中,所述生成模块还用于,从所述多个第二子网络中任意选取预设数量的第二子网络作为种群网络;对所述种群网络进行变异处理和/或交叉处理,获得新生网络;所述新生网络包括多个新生子网络;从所述多个新生子网络中,筛选出卷积模块的绝对步长满足所述预设条件的新生子网络作为有效子网络,或者,筛选出卷积模块的绝对步长满足所述预设条件,且浮点运算数满足预设阈值的新生子网络作为有效子网络;将所述有效子网络和所述种群网络所构成的子网络集合作为中间候选网络,计算所述中间候选网络中的每个中间子网络的平均精确率;从所述中间候选网络中,选取平均精确率最高的预设数量的中间子网络;采用所述选取的平均精确率最高的预设数量的中间子网络,对所述种群网络进行更新;重复执行上述步骤预设次数,并将最后一次获得的中间候选网络作为所述第三候选网络。
上述装置中,所述变异处理包括以下至少一种处理方式:从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个卷积模块,设置为与所述一个或多个卷积模块对应的混合块所包括的其他任意卷积模块;从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个检测器所对应的卷积模块的绝对步长,设置为所述多个卷积模块的绝对步长中的其他任意卷积模块的绝对步长;其中,将一个检测器对应的第一绝对步长设置为第二绝对步长,表征所述检测器与卷积模块的连接关系,从所述检测器与所述第一绝对步长对应的第一卷积模块连接,更改为所述检测器与所述第二绝对步长对应的第二卷积模块连接;所述交叉处理包括以下至少一种处理方式:从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个卷积模块的步长值进行互换;从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个检测器所对应的绝对步长进行互换。
上述装置中,所述预设条件至少包括以下之一:
每个卷积模块的绝对步长大于或等于第一预设阈值,且小于或等于第二预设阈值;
所述M个检测器中,前一个检测器所连接的卷积模块的绝对步长大于或等于后一个检测器所连接的卷积模块的绝对步长;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长大于或等于第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最小的绝对步长小于或等于所述第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长与最小的绝对步长不同;所述第一预设阈值小于所述第三预设阈值,所述第三预设阈值小于所述第二预设阈值;
所述M个检测器所连接的多个卷积模块中,各个卷积模块输出的特征图不同。
上述装置中,每个第一子网络包括N个卷积模块,第i个卷积模块所生成的特征图是根据第一特征图和第二特征图得到,其中,所述第一特征图是所述第i个卷积模块对第i-1个卷积模块所生成的特征图进行卷积操作得到,所述第二特征图是根据横向卷积模块对第y个卷积模块所生成的特征图进行卷积操作得到;其中,所述第y个卷积模块与所述第i个卷积模块所生成的特征图的分辨率相同,所述第y个卷积模块的步长值为预设步长值,且所述第y个卷积模块的步长值与第y+1个卷积模块的步长值之间满足预设步长关系;N、i和y为大于零的整数,y小于i,且i小于或等于N-1。
本公开实施例提供一种电子设备,包括:存储器,用于存储可执行计算机程序;处理器,用于执行所述存储器中存储的可执行计算机程序时,实现上述的目标检测方法。
本公开实施例提供一种计算机可读存储介质,存储有计算机程序,用于引起处理器执行时,实现上述的目标检测方法。
本公开实施例提供的目标检测方法及装置、电子设备和存储介质,获取待检测图像,将待检测图像输入目标检测网络,得到检测结果,检测结果表征从待检测图像中检测到的分类信息或者预测信息;其中,目标检测网络是从第一候选网络中搜索得到的平均精确率满足预设条件的目标子网络;第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同。采用本技术方案,由于进行目标检测的检测网络是从包括了丰富的网络结构的检测网络库中搜索得到的平均精确率满足预设条件的网络,所以,相比于采用手工设计的特定结构的检测网络进行目标检测而言,与检测图像的适配性更高,从而降低了进行目标检测时检测网络的结构局限性,提高了检测效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本公开实施例提供的一示例性的特征金字塔网络的网络结构示意图;
图2为本公开实施例提供的目标检测方法的一个可选的流程示意图;
图3为本公开实施例提供的目标检测方法的一个可选的流程示意图;
图4为本公开实施例提供的一示例性的生成第一候选网络的原理示意图;
图5为本公开实施例提供的一示例性的一个第一子网络的网络结构示意图;
图6为本公开实施例提供的目标检测方法的一个可选的流程示意图;
图7是本公开实施例提供的目标检测方法的一个可选的流程示意图;
图8A是本公开实施例示出的一示例性的采用遗传算法搜索目标子网络的过程中,采用预设条件筛选子网络的情况下,各个子网络的收敛速度的效果示意图;
图8B是本公开实施例示出的一示例性的采用遗传算法搜索目标子网络的过程中,不采用预设条件筛选子网络的情况下,各个子网络的收敛速度的效果示意图;
图9为本公开实施例提供的目标检测装置的结构示意图;
图10为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
目前,采用检测网络进行图像中的物体的检测是人工智能的一种体现。例如,特征金字塔网络(Feature Pyramid Networks,FPN)通过生成多尺度特征金字塔并引入多个检测器(Detection Head)来检测不同尺度的对象来处理多尺度对象检测问题,并且已广泛用于对象检测中。然而,自下而上和自上而下的编码器,以及横向连接和检测头特征选择的设计都是手工制作的,针对不同比例设计的检测头被连接到可以生成特定分辨率的特征图的卷积模块,且每个卷积模块与检测器之间形成一一对应的关系,从而使得不同的检测器只能选择一种特定分辨率的特征图作为输入,以进行目标检测。例如,图1为本公开实施例提供的一示例性的特征金字塔网络的网络结构示意图。如图1,所示,特征金字塔网络由编码器网络和检测器网络组成,编码器网络由12个卷积模块组成,检测器网络由三个不同的检测器D1、D2和D3(图1中未具体示出)组成,三个检测器D1、D2和D3分别与特征金字塔网络的后三个卷积模块C1、C2和C3一一对应连接,从而D1只能根据C1输出的特征图F1进行目标检测,D2只能根据C2输出的特征图F2进行目标检测,以及,D3只能根据C3输出的特征图F3进行目标检测,也就是说,每个检测器只能根据与其他检测器不同的特定分辨率的特征图进行目标检测。而此种固定结构的检测网络局限性较大,在不同的检测场景中,采用该固定结构的检测网络进行目标检测时并不能均获得好的检测结果。
本公开实施例提供一种目标检测方法,能够降低检测网络的结构局限性,提高检测效果。
在一种可能的实现方式中,所述方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。或者,可通过服务器执行所述方法。
图2是本公开实施例提供的目标检测方法的一个可选的流程示意图,将结合图2示出的步骤进行说明。
S101、获取待检测图像。
在本公开的实施例中,进行目标检测之前,检测装置可以先从摄像头等摄像设备或其他存储设备处获取待检测图像。待检测图像可以是所要检测的目标场景的图像,例如,街景图像、超市中的监控图像,以及门禁处的监控图像等,本公开实施例对此不作限定。
S102、将待检测图像输入目标检测网络,得到检测结果;检测结果表征从待检测图像中检测到的分类信息或者预测信息;其中,目标检测网络是从第一候选网络中搜索得到的平均精确率满足预设条件的目标子网络;第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同。
在本公开的实施例中,检测装置可以采用搜索方法从包括了多个第一子网络的第一候选网络中搜索出平均精确率(mean Average Precision,mAP)满足预设条件的目标子网络,并采用搜索出的目标子网络对待检测图像进行检测,获得可以表征从待检测图像中检测到的目标的位置(在待检测图像中的位置)和物体的类别等的分类信息或预测信息。待检测图像中的目标可以是人、植物、动物,还可以是汽车、建筑物其他等物体,本公开实施例对此不作限定。
在本公开的实施例中,搜索方法可以采用现有方法进行搜索,例如,可以是遗传算法等,本公开实施例在此对采用的搜索方法不作限定。
在本公开的实施例中,第一候选网络是由多个第一子网络构成的网络集合,其中,在这多个第一子网络中,每个第一子网络可对检测图像进行目标检测,不同的第一子网络的结构不同,从而使得不同的第一子网络所生成的特征图的分辨率(即特征图的尺度)不同,或者,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同。举例来说,第一子网络A与第一子网络B为两个结构不同的第一子网络,且第一子网络A和第一子网络B对于同一个待检测图像,均可生成3种分辨率不同的特征图,则第一子网络A和第一子网络B所生成的3种分辨率不同的特征图中,至少有一种分辨率不同的特征图,或3种分辨率不同的特征图的生成顺序不同;或者,第一子网络A和第一子网络B在采用生成的3种分辨率不同的特征图进行目标检测时,每种分辨率的特征图与从该种分辨率的特征图中要检测的物体的尺寸之间的对应关系不同,例如,对于同一种分辨率的特征图,第一子网络A采用该种分辨率的特征图,检测尺寸较小的物体a,而第一子网络B采用该种分辨率的特征图,检测尺寸大于物体a的物体b,或者,第一子网络A采用该种分辨率的特征图,检测尺寸较小的物体a,而第一子网络B采用该种分辨率的特征图,同时检测物体a和尺寸大于物体a的物体b。
本公开实施例中,由于进行目标检测的检测网络是从包括了丰富的网络结构的检测网络库中搜索得到的平均精确率满足预设条件的网络,所以,相比于采用手工设计的特定结构的检测网络进行目标检测而言,与检测图像的适配性更高,从而降低了进行目标检测时检测网络的结构局限性,提高了检测效果。
图3是本公开实施例提供的目标检测方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。如图3所示,在上述S101之前,还包括:
S201、根据网络构建参数,生成第一候选网络。
在本公开的实施例中,检测装置可以根据卷积模块的步长值,以及不同卷积模块所生成的特征图与不同的检测器之间的对应关系等网络构建参数,生成多个第一子网络,以组成第一候选网络,从而后续可以基于第一候选网络进行目标子网络的搜索。
S202、从第一候选网络中搜索出目标子网络,目标子网络为平均精确率达到预设条件的第一子网络,并将目标子网络确定为目标检测网络。
在本公开的实施例中,生成第一候选网络后,检测装置可以通过计算第一子网络的平均精确率,并根据第一子网络的平均精确率,搜索出平均精确率满足预设条件的第一子网络作为目标检测网络,以对待检测图像进行检测。
在本公开的实施例中,用于进行目标检测的检测网络可以由多个卷积模块和与多个卷积模块连接的多个检测器构成。网络构建参数可以包括:混合块的数量N、每个混合块包括多个步长不同的卷积模块、检测器的数量M、每个卷积模块的初始网络参数,以及,每个检测器对应的多个卷积模块的绝对步长;其中,一个卷积模块的绝对步长为输入该卷积模块的图像(待检测图像或特征图)的尺寸与该卷积模块所输出的特征图的尺寸之间的比值(即该卷积模块的绝对步长);一个检测器对应多个卷积模块的绝对步长,表征所述检测器在不同的第一子网络中和与所述多个绝对步长对应的不同卷积模块连接;其中,M和N为大于零的整数。
这里,一个卷积模块可以包含若干卷积及其他操作,该卷积模块所包含的内容与已有卷积模块包括的内容相同,本公开实施例在此不做赘述。每个检测器对应的多个卷积模块的绝对步长,可以包括N个卷积模块中每个卷积模块的绝对步长,表示该检测器可以和N个卷积模块中的任意一个卷积模块连接,从而可以根据任意一个卷积模块输出的特征图,进行目标检测。
在本公开的实施例中,每个混合块可以由多个步长不同的卷积模块构成。例如,每个混合块可以包括3个步长不同的卷积模块,包括:步长值为0.5的卷积模块、步长值为1的卷积模块和步长值为2的卷积模块,对应地,可以使每个卷积模块输出的特征图的尺寸是输入的特征图的一半,与输入的特征图的尺寸相同,或为输入的特征图的尺寸的2倍。
在本公开的实施例中,N个混合块中每个卷积模块对应有一个基础网络参数,其中,一个卷积模块的网络参数为该卷积模块的权重值。这里,M和N的取值,N个混合块中每个卷积模块的基础网络参数,以及M个检测器中每个检测所检测的物体的尺寸(图像中的预定义框的尺寸),可以为预设数值,该些预设数值可根据现有的检测网络直接获得,例如,该预设数值可以根据现有的检测网络ResNet18-FPN等获得,本公开实施例对此不做具体限定。
在本公开的实施例中,N个混合块中每个混合块中的每个卷积模块的初始网络参数,可以为每个卷积模块的初始权重值;每个卷积模块的初始网络参数可以是采用高斯分布对该卷积模块的基础网络参数进行随机初始化得到,本公开实施例在此对随机初始化的过程不作具体赘述。
通过上述网络构建参数生成的第一候选网络中,每个第一子网络包括N个卷积模块和与该N个卷积模块连接的M个检测器,且该N个卷积模块中的一个卷积模块与M个检测器中的至少一个检测器连接。也就是说,对于每个第一子网络,从N个混合块中每个对应的混合块所包括的多个步长不同的卷积模块中,选择一个卷积模块作为一个节点,从而获得了构成该第一子网络的编码器网络的N个节点的N个对应的卷积模块。
示例性的,图4为本公开实施例提供的一示例性的生成第一候选网络的原理示意图。N表示每个第一子网络中的卷积模块的数量(即每个第一子网络中的编码器网络的网络深度);每个圆圈表示一个卷积模块,“4”、“8”、“16”、“32”和“64”,表示一个卷积模块的绝对步长;从左至右,由箭头相互连接的N个圆圈表示生成的一条第一子网络中的编码器网络,例如,图4中示例性的示出了一个第一子网络中的编码器网络。“Head1”、“Head2”、“Head3”、“Head4”和“Head5”,分别表示用于检测不同尺寸的物体的五个不同的检测器,即:检测器1、检测器2、检测器3、检测器4和检测器5;圆圈与“Head1”、“Head2”、“Head3”、“Head4”和“Head5”之间的实线连接方式,表示不同的检测器与不同卷积模块之间的连接方式,例如,图4中示出了一个第一子网络中的编码器网络与检测器网络之间的连接方式,具体地,检测器1和检测器2与同一个卷积模块连接,检测器3和检测器4与同一个卷积模块连接,检测器5与另一个卷积模块连接。圆圈与“Head1”、“Head2”、“Head3”、“Head4”和“Head5”之间的虚线连接方式,表示在其他的第一子网络中,不同的检测器与相应的卷积模块之间可能存在的连接方式。
示例性的,图5为本公开实施例提供的一示例性的一个第一子网络的网络结构示意图。如图5所示,第一子网络由编码器网络和检测网络构成,编码器网络由12个卷积模块组成,检测器网络由三个不同的检测器Da、Db和Dc(图5中未具体示出)组成,其中,检测器Da和Db均与卷积模块Ca连接,检测器Dc与卷积模块Cb连接,从而,检测器Da可以根据卷积模块Ca输出的特征图Fa进行相应物体的检测,检测器Db可以根据卷积模块Ca输出的与特征图Fa的分辨率相同的特征图Fb进行相应物体的检测,以及,检测器Dc可以根据从卷积模块Cb输出的特征图Fc进行相应物体的检测。需要说明的是,图5所示的第一子网络的网络结构仅仅是示例性的,并不用于限制本公开中的第一子网络的网络结构。
本公开实施例中,通过使每个混合块包括多个步长不同的卷积模块,可以获得多种不同卷积模块的步长变化情况,从而获得多种结构不同的编码器网络;以及,使每个检测器与多个卷积模块的绝对步长对应,可以获得同一检测器与不同分辨率的特征图的对应情况,从而获得多种编码器网络与检测器网络的连接方式,进而获得多种结构不同的第一子网络,形成结构丰富的第一候选网络,以便从第一候选网络中搜索出用于进行目标检测的目标子网络。也就是说,本公开实施例中,搜索了构成特征金字塔网络的中间模块的步长的变化和特征金字塔网络中多个检测器对输出特征的选择情况,由于构成特征金字塔网络的中间模块的步长的变化,影响主干网络中特征图的大小,进而影响网络结构的运行速度,以及,影响特征的质量,进而影响模型的精度;特征金字塔网络中的多个检测器对输出特征的不同选择,会使得按尺度分组的物体关联到特征图的分配方式改变,会影响模型的精度;所以,通过本公开可以找到更好的构成特征金字塔网络中的中间模块的步长变化情况和更好的特征金字塔网络中的多个检测器对特征的选择策略,从而可以达到在同等计算量下检测网络的更高的检测精度(平均精确率)。
这里,特征金字塔网络通常由从分类网络转移的自下而上的路径、上采样操作,以及与跨尺度横向卷积生成的自上而下的路径组成,所以,特征金字塔网络可以采用下述公式(1)和(2)表示,其中,不同的卷积模块的绝对步长之间的变化规则可以采用公式(3)表示:
Figure BDA0002707386930000171
ri+i=depthtatol                                            (2)
Figure BDA0002707386930000172
其中,xi表示第i个卷积模块输出的特征,xi-1表示第i个卷积模块输出的特征,Block(xi-1)表示对第i-1个卷积模块输出的特征进行卷积操作,Upsample(xi-1)表示对第i-1个卷积模块输出的特征进行上采样操作;depthb表示特征金字塔网络中自下而上部分的卷积模块的个数(即自下而上的网络部分的深度),depthtatol表示特征金字塔网络中卷积模块的总个数(即特征金字塔网络的总深度),ri表示与第i个卷积模块的绝对步长(绝对步长)相同的卷积模块,xri表示与第i个卷积模块的绝对步长相同的卷积模块输出的特征;LateralConvri是一个横向卷积,LateralConvri(xri)表示与第i个卷积模块的绝对步长相同的卷积模块ri输出的特征xri,经过横向卷积后所生成的特征;PConvi是一个3×3的卷积,用于根据第i-1个卷积模块输出的特征和LateralConvri(xri),生成xi。第i个卷积模块的绝对步长为第i个卷积模块输出的特征图的尺寸与输入该第i个卷积模块的特征图的尺寸之间的比值,该尺寸可以是特征图的长度或宽度,例如,当尺寸为特征图的长度时,第i个卷积模块的绝对步长为第i个卷积模块输出的特征图的长度与输入该第i个卷积模块的特征图的长度之间的比值。ASi表示第i个卷积模块的绝对步长。
在本公开的一个实施例中,每个第一子网络包括N个卷积模块,第i个卷积模块所生成的特征图是根据第一特征图和第二特征图得到,其中,所述第一特征图是所述第i个卷积模块对第i-1个卷积模块所生成的特征图进行卷积操作得到,所述第二特征图是根据横向卷积模块对第y个卷积模块所生成的特征图进行卷积操作得到;其中,所述第y个卷积模块与所述第i个卷积模块所生成的特征图的分辨率相同,所述第y个卷积模块的步长值为预设步长值,且所述第y个卷积模块的步长值与第y+1个卷积模块的步长值之间满足预设步长关系;N、i和y为大于零的整数,y小于i,且i小于或等于N-1。
在本公开的一些实施例,预设步长值可以为1,且,第x个卷积模块的步长值与第x+1个卷积模块的步长值之间满足预设步长关系可以为:第x个卷积模块的步长值为1,第x+1个卷积模块的步长值为2。
示例性的,第一子网络中的N个卷积模块中部分卷积模块之间的连接方式可以采用公式(4)、(5)和(6)表示,其中,上述y为(5)和(6)中的ri:
xi=MBi(xi-1)+lati                                          (4)
Figure BDA0002707386930000181
where ri=arg minjSj=1 and Sj+1=2 and ASj=ASi and ri<i    (6)
其中,MBi(xi-1)表示通过第i个卷积模块对第i-1个卷积模块的输出xi-1进行卷积操作,lati表示由之前的第ri个卷积模块的输出特征经过一个额外的卷积LateralConvri(xri)得到的特征;Si表示第i个卷积模块的步长值,j表示第j个卷积模块,Sj表示第j个卷积模块的步长值,ASj表示第j个卷积模块的绝对步长。
上述公式表示,xi由xi-1通过第i个卷积模块得到的特征和lati得到;若当前卷积模块的步长是1,而且下一个卷积模块的步长是2,那么lati不是0;如果i是整个第一子网络的最后一个卷积模块,lati也不是0;ri表示与第i个卷积模块的绝对步长(绝对步长)相同的卷积模块,而且ri满足的条件是:第ri个卷积模块的步长是1,第ri+1个卷积模块的步长是2,同时ri小于i;而且,在满足条件的ri有多个时,只取最大的ri。
图6是本公开实施例提供的目标检测方法的一个可选的流程示意图,将结合图6示出的步骤进行说明。如图6所示,上述S202可以通过S2021-S2023实现:
S2021、从第一候选网络中筛选合法子网络;合法子网络为卷积模块的绝对步长满足预设条件的第一子网络;预设条件为预先设置的网络筛选条件。
在本公开的实施例中,检测装置可以根据预先设置的网络筛选条件,从第一候选网络中筛选卷积模块的绝对步长满足条件的第一子网络,以减少搜索的基数,从而提高搜索目标子网络的速度。
在本公开的实施例中,预设条件至少包括以下五个条件之一:
(1)每个卷积模块的绝对步长大于或等于第一预设阈值,且每个卷积模块的绝对步长小于或等于第二预设阈值;
(2)M个检测器中,前一个检测器所连接的卷积模块的绝对步长,小于或等于后一个检测器所连接的卷积模块的绝对步长;
(3)M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长大于或等于第三预设阈值;
(4)M个检测器所连接的卷积模块的绝对步长中,最小的绝对步长小于或等于所述第三预设阈值;
(5)M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长与最小的绝对步长不同;第一预设阈值小于第三预设阈值,第三预设阈值小于第二预设阈值;
(6)所述M个检测器所连接的多个卷积模块中,各个卷积模块输出的特征图不同。
在本公开的一些实施例中,第一预设值为4,第二预设值为64;且第三预设值为8;从而,上述条件(3)-(5)表示,M个检测器所连接的卷积模块生成的特征图的大小,小于等于输入的特征图的1/8,其中,最大的特征图不能小于输入的1/8。
在本公开的实施例中,满足上述六个条件中的至少一个条件的第一子网络则为一个合法子网络。
S2022、采用从预设数据集中获得的样本图像,对每个合法子网络进行第一训练,获得第二候选网络。
在本公开的实施例中,检测装置可以从预设数据集中获取包括了多个预定义的检测框的样本图像作为训练集,通过训练集对每个合法子网络进行训练。预设数据集可以是COCO数据集。COCO数据集是用于对象检测和实例分割的常用数据集之一,包含了一个约有118,000张样本图像的训练集,一个约5K图像的验证集,以及一个约20k图像的测试开发集,图像中的标注涵盖了80种常见对象。
在对每个合法子网络进行第一训练时,检测装置先根据N个混合块中每个混合块中的每个卷积模块的初始网络参数,以及每个合法子网络中的N个卷积模块,获得每个合法子网络中N卷积模块分别对应的初始网络参数,从而,每个合法子网络对应存在N个初始网络参数,该N个初始网络参数即为一个合法子网络的一组初始网络参数。在获得每个合法子网络对应的一组初始网络参数后,对于每个合法子网络,检测装置可以将对应的一组初始网参数作为该合法子网络的预训练参数,并将从COCO数据集中获得的样本图像输入到该合法子网络中,根据输出结果和梯度下降算法计算出一个损失值,根据获得的损失值调整该合法子网络的初始网络参数,再将样本图像输入到初始网络参数调整后的该合法子网络中,得到输出结果,根据输出结果和梯度下降算法重新计算损失值,直至计算出的损失值达到预设损失值时,停止训练,获得训练好的合法子网络(即一个第二子网络),且该第二子网络对应一组网络参数。预设损失值可以根据实际需要设置,本公开实施例在此对预设损失值的取值不作具体限定。
在本公开的实施例中,检测装置在对每个合法子网络训练结束后,可以获得与该合法子网络对应的第二子网络中的每个卷积模块的网络参数,并将获得的网络参数,作为另一个包含了相同的卷积模块的合法子网络进行预训练时的相应网络参数,如此,最终可获得M个混合块中每个混合块中的每个卷积模块的网络参数。
在本公开的一些实施例中,检测装置在对第一子网络进行第一训练时,初始学习率可以设置为0.00125,在训练预设轮次后,将学习率增加到0.04,在本公开的实施例中,预设轮次可以为100次。在本公开的另一些实施例中,检测装置在第42轮和第47轮的训练中,可以将学习率调整为0.004,将权重衰减值设置为1e-4,将动量设置为0.9。
在本公开的一些实施例中,在所述采用从预设数据集中获得的样本图像对每个合法子网络进行第一训练,获得第二候选网络之后获取每个第二子网络的网络参数之后,还可以包括S1-S2,具体如下:
S1、获取每个第二子网络的网络参数。
在本公开的实施例中,网络参数为权重值,检测装置可以获取每个第二子网络中每个卷积模块对应的权重值。例如,当一个第二子网络包括卷积模块N1、卷积模块N2和卷积模块N3三个不同的卷积模块时,检测装置可以获取卷积模块N1对应的一个权重值,卷积模块N2对应的一个权重值,以及,卷积模块N3对应的一个权重值,这三个权重值即为该第二子网络的权重值。
S2、根据每个第二子网络的网络参数,获得N个混合块中每个混合块所包括的每个卷积模块的中间网络参数。
在本公开的实施例中,检测装置可以根据获取的每个第二子网络中每个卷积模块对应的权重值,得到N个混合块中每个混合块所包括的每个卷积模块的权重值,从而获得N个混合块中每个混合块所包括的每个卷积模块的中间权重值。
S2023、从第二候选网络中搜索出目标子网络。
在本公开的实施例中,检测装置可以采用现有的搜索方法,例如,遗传算法,从包括了多个第二子网络的第二候选网络中搜索出目标子网络,本公开实施例在此对搜索步骤不做赘述。
本公开实施例中,通过对第一候选网络进行合法子网络的筛选,并对筛选出的合法子网络进行第一训练,可以提高搜索目标子网络时的速度,同时,提高搜索出的目标子网络的检测精确率。
图7是本公开实施例提供的目标检测方法的一个可选的流程示意图,将结合图7示出的步骤进行说明。如图7所示,第二候选网络包括多个第二子网络,上述S2023可以通过S301-S304实现,具体如下:
S301、通过对多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络;第三候选网络包括多个第三子网络。
在本公开的实施例中,在检测装置获得包括了多个第二子网络的第二候选网络后,可以对多个第二子网络进行筛选和变异,得到包括多个第三子网络的第三候选网络;或者,可以对多个第二子网络进行筛选和交叉,得到包括多个第三子网络的第三候选网络;或者,可以对多个第二子网络进行筛选、变异和交叉,得到包括多个第三子网络的第三候选网络。
在本公开的一些实施例中,S301可以通过S11-S17实现,具体如下:
S11、从多个第二子网络中任意选取预设数量的第二子网络作为种群网络。
在本公开的实施例中,检测装置可以从多个第二子网络中随机选取预设数量的第二子网络作为种群网络;预设数量的取值可以根据实际需要设置,例如,可以为50,本公开实施例对预设数量的取值不作限定。
S12、对种群网络进行变异处理和/或交叉处理,获得新生网络;新生网络包括多个新生子网络。
在本公开的实施例中,检测装置在获得预设数量的第二子网络(种群网络)后,可以对全部的预设数量的第二子网络进行变异处理或交叉处理,或者,可以对全部的预设数量的第二子网络既进行变异处理,也进行交叉处理;也可以对预设数量的第二子网络中的部分第二子网络进行变异处理或交叉处理,或者,可以对预设数量的第二子网络中的部分第二子网络既进行变异处理,也进行交叉处理。
在本公开的一些实施例中,变异处理可以包括以下两种处理方式中的至少一种处理方式:
(1)从种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个卷积模块,设置为与所述一个或多个卷积模块对应的混合块所包括的其他任意卷积模块;
这里,可以对种群网络中的每个种群子网络进行卷积模块的改变,也可以对种群中的部分种群子网络进行卷积模块的改变。对于选取的每一个种群子网络,检测装置可以任意选择一个或多个卷积模块,并将选择的一个或多个卷积模块设置为所述一个或多个卷积模块对应的混合块所包括的其他任意卷积模块。例如,在每个混合块包括:步长值为0.5的卷积模块、步长值为1的卷积模块和步长值为2的卷积模块,这3个步长不同的卷积模块,且要进行变异操作的一个种群子网络的第g个卷积模块为步长为1的卷积模块的情况下,检测装置可以选择将该种群子网络的第g个卷积模块,设置为步长为0.5的卷积模块或步长为2的卷积模块,以改变该种群子网络的网络结构,其中,g为0到N中的任意一个值。
(2)从种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个检测器所对应的卷积模块的绝对步长,设置为多个卷积模块的绝对步长中的其他任意卷积模块的绝对步长;其中,将一个检测器对应的第一绝对步长设置为第二绝对步长,表征所述检测器与卷积模块的连接关系,从所述检测器与所述第一绝对步长对应的第一卷积模块连接,更改为所述检测器与所述第二绝对步长对应的第二卷积模块连接;
这里,可以对种群网络中的每个种群子网络进行检测器所对应的卷积模块的绝对步长的改变,也可以对种群中的部分种群子网络进行检测器所对应的卷积模块的绝对步长的改变。对于选取的每一个种群子网络,检测装置可以任意选择一个或多个检测器,并将选择的一个或多个检测器所对应的绝对步长,设置为网路构建参数中的多个卷积模块的绝对步长中的其他任意卷积模块的绝对步长。例如,在多个卷积模块的绝对步长包括:4、8、16、32和64,且要进行变异操作的一个种群子网络的第h个检测器所对应的卷积模块的绝对步长为8的情况下,检测装置可以将第h个检测器所对应的卷积模块的绝对步长,由8设置为4、16、32或64,从而,将第h个检测器与卷积模块之间的连接关系,由从第h个检测器与绝对步长为8的卷积模块连接,更改为该第h个检测器与绝对步长为4、16、32或64的卷积模块连接,其中,h为0到N中的任意一个值。
在本公开的一些实施例中,交叉处理可以包括以下两种处理方式中的至少一种处理方式:
(1)从种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个卷积模块进行互换;
这里,检测装置可以在种群网络中每两个种群子网络之间进行卷积模块的互换,也可以在种群网络中的部分种群子网络中,进行每两个种群子网络之间的卷积模块的互换。检测装置可以选择从任意一个卷积模块开始进行卷积模块的互换,例如,对于任意两个种群子网络,检测装置可以指定从第g个卷积模块开始,进行卷积模块的互换。
(2)从种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个检测器所对应的绝对步长进行互换。
这里,检测装置可以在种群网络中每两个种群子网络之间进行检测器所对应的卷积模块的绝对步长的互换,也可以在种群网络中的部分种群子网络中,进行每两个种群子网络之间的检测器所对应的卷积模块的绝对步长的互换。检测装置可以选择从任意一个检测器开始,进行检测器所对应的卷积模块的绝对步长的互换,例如,对于任意两个种群子网络,检测装置可以指定从第h个检测器开始,进行所对应的卷积模块的绝对步长的互换。
S13、从多个新生子网络中,筛选出卷积模块的绝对步长满足预设条件的新生子网络作为有效子网络,或者,筛选出卷积模块的绝对步长满足预设条件,且每秒浮点运算次数满足预设阈值的新生子网络作为有效子网络。
在本公开的实施例中,在采用上述方式获得多个新生子网络后,检测装置可以根据每个新生子网络中的卷积模块的绝对步长,筛选出满足预设条件的新生子网络作为有效子网络,其中,预设条件可以是上述实施例中的五种条件中的至少一种条件;或者,检测装置在筛选出满足预设条件的新生子网络之后,还可以计算每个符合预设条件的新生子网络的浮点运算数(floating-point operations per second,FLOPs),筛选出FLOPS值满足预设阈值的新生子网络作为有效子网络。预设阈值可以根据实际需要设置,本公开实施例对此不作限定。采用FLOPs值进行有效子网络的筛选,可以保证后续搜索出的目标子网络的检测速度,从而获得检测精确率(平均精确率)和检测速度均较高的目标子网络,以实现对待检测图像中的目标的快速且精确检测。
在本公开的实施例中,对于每个符合预设条件的新生子网络可以计算每个卷积模块中包括的每个卷积的分值,再将所有卷积模块中包括的所有卷积的分值作为该符合预设条件的新生子网络的FLOPs。在本公开的实施例中,每个卷积模块包括3个卷积。
在计算每个卷积的分值时,可以采用以下公式(7):
f=(1+K×K/Group)×C_in×C_out×H_out×W_out             (7)
其中,K表示卷积核的大小,Group表示卷积的组数,C_in表示卷积的输入通道数,C_out表示卷积的输出通道数,H_out表示卷积输出的特征图的长度,W_out表示表示卷积输出的特征图的宽度。在本公开的实施例中,K可以为3,Group可以为1。
图8A是本公开实施例示出的一示例性的采用遗传算法搜索目标子网络的过程(进化过程)中,采用预设条件筛选子网络的情况下,各个子网络的收敛速度的效果示意图;图8B是本公开实施例示出的一示例性的采用遗传算法搜索目标子网络的过程中,不采用预设条件筛选子网络的情况下,各个子网络的收敛速度的效果示意图;横轴表示每个子网络的性能,纵轴表示搜索的过程,显然,采用FLOPs值筛选有效子网络的情况下,网络的收敛速度更快。
S14、将有效子网络和种群网络所构成的子网络集合作为中间候选网络,计算中间候选网络中的每个中间子网络的平均精确率。
在本公开的实施例中,检测装置在获得有效子网络后,可以将有效子网络和选出的种群网络所构成的子网络集合作为中间候选网络。在本公开的另一些实施例中,检测装置在获得有效子网络后,还可以从第二候选网络中再随机选取多个第二子网络,并将有效子网络、选出的多个第二子网络,以及种群网络所构成的子网络集合作为中间候选网络,从而在一定程度上解决可能存在的因种群网络中的种群子网络的数量不足,而影响最终的搜索结果的问题。例如,可以从第二候选网络中再随机选取10第二子网络,并将有效子网络、选出的这10个第二子网络,以及种群网络所构成的子网络集合作为中间候选网络。
检测装置在获得中间候选网络后,可以计算中间候选网络中的每个中间子网络的平均精确率。在对每个中间子网络进行平均精确率计算时,检测装置可以将从预设数据集中获得的测试图像,输入到每个中间子网络,获得每个中间子网络的输出结果,根据每个中间子网络的输出结果和对应的测试图像中的标注数据,计算每个中间子网络的平均精确率,本公开实施例在此对平均精确率的计算过程不作赘述。本公开实施例中,一张图片的标注数据为若干个预定框的标注的合集。每个预定框的标注包括该预定框的左上角和右下角的坐标,以及,该预定义框中的物体的类别,例如,人、车辆等。
S15、从中间候选网络中,选取平均精确率最高的预设数量的中间子网络。
在计算获得每个中间子网络的平均精确率后,检测装置可以对获得的平均精确率进行由高到低的排序,根据排序结果,选择平均精确率最高的预设数量的中间子网络。在本公开的实施例中,预设数量的取值可以根据实际需要设置,例如,可以为20或50等,本公开对此不做限定。
S16、采用选取的平均精确率最高的预设数量的中间子网络,对所述种群网络进行更新。
在检测装置筛选出预设数量的中间子网络后,可以采用筛选出的预设数量的中间子网络将种群网络中的所有种群子网络替换,从而获得由新的种群子网络所组成的种群网络。
S17、重复执行上述S11-S16预设次数,并将最后一次获得的中间候选网络作为第三候选网络。
S302、将从预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果。
在本公开的实施例中,同样地,检测装置可以将从预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络针对输入的测试图像的输出结果。
在本公开的实施例中,上述S302可以通过S21-S27实现,具体如下:
S21、从第三候选网络中任意选取一个第三子网络作为当前子网络。
检测装置可以从第三候选网络所包括的多个第三子网络中,任意选取一个第三子网络作为当前需要训练的子网络。
S22、获取当前子网络的一组网络参数。
在本公开的实施例中,检测装置可以根据当前子网络中每个卷积模块,从上述S2获得的N个混合块中每个混合块所包括的每个卷积模块的中间网络参数中,选取当前子网络中每个卷积模块对应的中间网络参数,从而获得N个中间网络参数;检测装置可以将获得的N个中间网络参数作为当前子网络的一组网络参数。
S23、将当前子网络的一组网络参数作为预训练网络参数,对当前子网络进行第二训练,获得当前子网络的一组修正网络参数;第二训练中的学习率小于第一训练中的学习率。
在本公开的实施例中,检测装置可以将上述获得的一组网络参数作为当前子网络的预训练网络参数,并将从预设数据集中获得的样本图像输入到当前子网络中,根据输出结果和梯度下降算法计算出一个损失值,根据获得的损失值调整当前子网络的网络参数,再将样本图像输入到网络参数调整后的该当前子网络中,得到输出结果,并根据输出结果和梯度下降算法重新计算损失值,直至达到预设的迭代次数(例如,100次)时停止训练,获得训练好的当前子网络(即一个第二子网络),且该当前子网络对应一组修正网络参数。
在本公开的实施例中,在对当前子网络进行训练时的学习率可以设置为0.004。
在本公开实施例中,由于在第一训练结束后获得的每个卷积模块对应的中间网络参数是多个第二子网络选举获得,运用在各个不同结构的子网络中可能无法获得好的检测效果,所以,将选取的第二子网络对应的网络参数作为进行第二训练时的预训练参数,继续对选取的第二子网络进行第二训练,可以获得更适合该选取的第二子网络的网络结构的网络参数,从而可以提高采用该选取的第二子结构进行目标检测时的检测效果。
S24、将当前子网络的网络参数更新为一组修正网络参数。
在本公开的实施例中,检测装置在将当前子网络训练结束后,可以将训练后获得的一组修正网络参数作为当前子网络的网络参数。
S25、将从预设数据集中获得的测试图像,输入网络参数更新后的当前子网络中,获得输出结果。
检测装置可以将从预设数据集中获取的测试图像,输入到网络参数更新后的当前子网络中,从而获得针对该测试图像的输出结果。
S26、从第三候选网络中选取下一个第三子网络作为当前子网络。
S27、继续重复执行上述S21-S25,直至第三候选网络中的每个第三子网络已被选取过为止,从而获得每个第三子网络的输出结果。
检测装置在获得一个第三子网络的输出结果之后,可以从第三候选网络所包括的多个第三子网络中,再重新选取一个第三子网络作为当前子网络,并重复执行上述的S21-S25,直至第三候选网络中的每个第三子网络已被选取过为止,从而获得每个第三子网络的输出结果。
S303、根据每个第三子网络的输出结果,计算每个第三子网络的平均精确率。
检测装置在获得每个第三子网络的输出结果后,同样地,可以根据每个第三子网络的输出结果和对应的测试图像中的标注数据,计算每个第三子网络的平均精确率。
S304、选取平均精确率最高的第三子网络作为目标子网络。
在本公开的实施例中,检测装置在获得所有第三子网络的平均精确率后,可以对所有第三子网络的平均精确率由高至低进行排序,获得排序结果,并根据排序结果选取平均精确率最高的第三子网络作为目标子网络。
在本公开的实施例中,选取平均精确率最高的检测网络作为目标子网络,可以保证搜索出的目标子网络对待检测图像的检测效果。
在本公开的一些实施例中,在搜索出目标子结构之后,检测装置还可以采用从预设数据集中获得的测试图像,继续对目标子结构训练预设时间,以进一步优化搜索出的目标子结构的网络参数;并在训练结束后,将从预设数据集中获得的测试图像,输入训练好的目标子结构中,获得输出结果,根据输出结果和测试图像中的标注数据,计算训练好的目标子结构的平均精确率,获得训练好的目标子结构的平均精确率,既可以进一步提高对待检测图像的检测效果,还可获知训练好的目标子结构的精度。
本公开可以为安防、无人零售店和人脸门禁等场景中进行目标检测,提供更好的目标检测模型,尤其适用于处理街景等多尺度物体经常出现的困难复杂场景。
采用本公开的目标检测方法,由于对子网络进行了更合理的中间步长的设计和检测器分配策略的设计,所以,在相同的计算量下,获得的检测网络的模型的精度高于现有的手工制作的特定结构的检测网络,从而可以获得更好的目标检测效果;以及,由于是采用从包括了多种不同卷积模块的步长变换情况和不同检测器与不同分辨率的特征图的对应情况的网络库中,筛选出的检测网络进行目标检测,所以,能够更好地解决目标检测对多尺度物体检测的问题,实现更好的目标检测效果;采用本公开的目标检测方法,可以自动化地构造并搜索出目标检测网络,从而节约了大量人力;可以提供更好的目标检测模型,同时为其他下游任务如目标跟踪、人体关键点检测等任务提供支持;以及,填补了针对目标检测任务的网络结构搜索设计的空白。
本公开还提供一种目标检测装置,图9为本公开实施例提供的目标检测装置的结构示意图;如图9所示,目标检测装置1包括:
获取模块11,用于获取待检测图像;
检测模块12,用于将所述待检测图像输入目标检测网络,得到检测结果;所述检测结果表征从所述待检测图像中检测到的分类信息或者预测信息;其中,所述目标检测网络是从第一候选网络中搜索得到的平均精确率满足预设条件的目标子网络;所述第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同。
在本公开的一些实施例中,所述目标检测装置还包括:生成模块13,用于在所述将所述待检测图像输入目标检测网络,得到检测结果之前,根据网络构建参数,生成所述第一候选网络;从所述第一候选网络中搜索出目标子网络,所述目标子网络为平均精确率达到预设条件的第一子网络,并将所述目标子网络确定为所述目标检测网络。
在本公开的一些实施例中,所述第一候选网络包括:多个第一子网络,每个第一子网络包括N个卷积模块和与所述N个卷积模块连接的M个检测器,且所述N个卷积模块中的一个卷积模块与所述M个检测器中的至少一个检测器连接;所述网络构建参数包括:混合块的数量N、每个混合块包括多个步长不同的卷积模块、检测器的数量M、每个卷积模块的初始网络参数,以及,每个检测器对应的多个卷积模块的绝对步长;其中,一个卷积模块绝对步长为:输入所述卷积模块的图像的尺寸与所述卷积模块所输出的特征图的尺寸之间的比值;一个检测器对应多个卷积模块的绝对步长,表征所述检测器在不同的第一子网络中和与所述多个绝对步长对应的不同卷积模块连接;M和N为大于零的整数。
在本公开的一些实施例中,所述生成模块13还用于,从所述第一候选网络中筛选合法子网络;所述合法子网络为卷积模块的绝对步长满足预设条件的第一子网络;所述预设条件为预先设置的网络筛选条件;采用从预设数据集中获得的样本图像,对每个合法子网络进行第一训练,获得第二候选网络;从所述第二候选网络中搜索出所述目标子网络。
在本公开的一些实施例中,所述第二候选网络包括多个第二子网络,所述生成模块13还用于,通过对所述多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络;所述第三候选网络包括多个第三子网络;将从所述预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果;根据每个第三子网络的输出结果,计算每个第三子网络的平均精确率;选取平均精确率最高的第三子网络作为所述目标子网络。
在本公开的一些实施例中,所述生成模块13还用于,从所述第三候选网络中任意选取一个第三子网络作为当前子网络;获取所述当前子网络的一组网络参数;将所述当前子网络的一组网络参数作为预训练网络参数,对所述当前子网络进行第二训练,获得所述当前子网络的一组修正网络参数;所述第二训练中的学习率小于所述第一训练中的学习率;将所述当前子网络的网络参数更新为所述一组修正网络参数;将从所述预设数据集中获得的测试图像,输入网络参数更新后的所述当前子网络中,获得输出结果;从所述第三候选网络中选取下一个第三子网络作为所述当前子网络,继续重复执行上述步骤,直至所述第三候选网络中的每个第三子网络已被选取过为止,从而获得每个第三子网络的输出结果。
在本公开的一些实施例中,所述生成模块13还用于,在所述采用从预设数据集中获得的样本图像对每个合法子网络进行第一训练,获得第二候选网络之后,获取每个第二子网络的网络参数;根据每个所述第二子网络的网络参数,获得所述N个混合块中每个混合块所包括的每个卷积模块的中间网络参数;根据所述当前子网络中的每个卷积模块,从获得的中间网络参数中,选取对应的中间网络参数,得到N个中间网络参数,并将选取的所述N个中间网络参数作为所述当前子网络的一组网络参数。
在本公开的一些实施例中,所述生成模块13还用于,从所述多个第二子网络中任意选取预设数量的第二子网络作为种群网络;对所述种群网络进行变异处理和/或交叉处理,获得新生网络;所述新生网络包括多个新生子网络;从所述多个新生子网络中,筛选出卷积模块的绝对步长满足所述预设条件的新生子网络作为有效子网络,或者,筛选出卷积模块的绝对步长满足所述预设条件,且浮点运算数满足预设阈值的新生子网络作为有效子网络;将所述有效子网络和所述种群网络所构成的子网络集合作为中间候选网络,计算所述中间候选网络中的每个中间子网络的平均精确率;从所述中间候选网络中,选取平均精确率最高的预设数量的中间子网络;采用所述选取的平均精确率最高的预设数量的中间子网络,对所述种群网络进行更新;重复执行上述步骤预设次数,并将最后一次获得的中间候选网络作为所述第三候选网络。
在本公开的一些实施例中,所述变异处理包括以下至少一种处理方式:
从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个卷积模块,设置为与所述一个或多个卷积模块对应的混合块所包括的其他任意卷积模块;
从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个检测器所对应的卷积模块的绝对步长,设置为所述多个卷积模块的绝对步长中的其他任意卷积模块的绝对步长;其中,将一个检测器连接的第一绝对步长设置为第二绝对步长,表征所述检测器与卷积模块的连接关系,从所述检测器与所述第一绝对步长对应的第一卷积模块连接,更改为所述检测器与所述第二绝对步长对应的第二卷积模块连接;
所述交叉处理包括以下至少一种处理方式:
从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个卷积模块进行互换;
从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个检测器所对应的卷积模块的绝对步长进行互换。
在本公开的一些实施例中,所述预设条件至少包括以下之一:
每个卷积模块的绝对步长大于或等于第一预设阈值,且小于或等于第二预设阈值;
所述M个检测器中,前一个检测器所连接的卷积模块的绝对步长大于或等于后一个检测器所连接的卷积模块的绝对步长;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长大于或等于第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最小的绝对步长小于或等于所述第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长与最小的绝对步长不同;所述第一预设阈值小于所述第三预设阈值,所述第三预设阈值小于所述第二预设阈值;
所述M个检测器所连接的多个卷积模块中,各个卷积模块输出的特征图不同。
在本公开的一些实施例中,每个第一子网络包括N个卷积模块,第i个卷积模块所生成的特征图是根据第一特征图和第二特征图得到,其中,所述第一特征图是所述第i个卷积模块对第i-1个卷积模块所生成的特征图进行卷积操作得到,所述第二特征图是根据横向卷积模块对第y个卷积模块所生成的特征图进行卷积操作得到;其中,所述第y个卷积模块与所述第i个卷积模块所生成的特征图的分辨率相同,所述第y个卷积模块的步长值为预设步长值,且所述第y个卷积模块的步长值与第y+1个卷积模块的步长值之间满足预设步长关系;N、i和y为大于零的整数,y小于i,且i小于或等于N-1。
本公开实施例还提供一种电子设备,图10为本公开实施例提供的电子设备的结构示意图,如图10所示,电子设备2包括:存储器21和处理器22,其中,存储器21和处理器22通过通信总线23连接;存储器21,用于存储可执行计算机程序;处理器22,用于执行存储器21中存储的可执行计算机程序时,实现本公开实施例提供的目标检测方法。
本公开实施例提供一种计算机可读存储介质,存储有计算机程序,用于引起处理器22执行时,实现本公开实施例提供的目标检测方法。
在本公开的一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在本公开的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,采用本技术实现方案,由于进行目标检测的检测网络是从包括了丰富的网络结构的检测网络库中搜索得到的平均精确率满足预设条件的网络,所以,相比于采用手工设计的特定结构的检测网络进行目标检测而言,与检测图像的适配性更高,从而降低了进行目标检测时检测网络的结构局限性,提高了检测效果;以及,由于对子网络进行了更合理的中间步长的设计和检测器分配策略的设计,所以,在相同的计算量下,获得的检测网络的模型的精度高于现有的手工制作的特定结构的检测网络,从而可以获得更好的目标检测效果;以及,由于是采用从包括了多种不同卷积模块的步长变换情况和不同检测器与不同分辨率的特征图的对应情况的网络库中,筛选出的检测网络进行目标检测,所以,能够更好地解决目标检测对多尺度物体检测的问题,实现更好的目标检测效果;采用本公开的目标检测方法,可以自动化地构造并搜索出目标检测网络,从而节约了大量人力;并且,可以提供更好的目标检测模型,同时为其他下游任务如目标跟踪、人体关键点检测等任务提供支持。
以上所述,仅为本公开的实施例而已,并非用于限定本公开的保护范围。凡在本公开的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本公开的保护范围之内。

Claims (13)

1.一种目标检测方法,其特征在于,包括:
获取待检测图像;
根据网络构建参数,生成第一候选网络;从所述第一候选网络中搜索出目标子网络,所述目标子网络为平均精确率达到预设条件的第一子网络,并将所述目标子网络确定为目标检测网络;
将所述待检测图像输入所述目标检测网络,得到检测结果;所述检测结果表征从所述待检测图像中检测到的分类信息或者预测信息;
其中,所述第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同;
每个第一子网络包括N个卷积模块和与所述N个卷积模块连接的M个检测器,且所述N个卷积模块中的一个卷积模块与所述M个检测器中的至少一个检测器连接;每一所述第一子网络中的N个卷积模块是分别从N个混合块中选取的,每一所述混合块中包括多个步长不同的卷积模块;对于每一检测器,所述检测器对应多个绝对步长,且所述检测器在不同的第一子网络中和与所述多个绝对步长对应的不同卷积模块连接;M和N为大于零的整数。
2.根据权利要求1所述的目标检测方法,其特征在于,
所述网络构建参数包括:混合块的数量N、每个混合块包括的多个步长不同的卷积模块、检测器的数量M、每个卷积模块的初始网络参数,以及,每个检测器对应的多个卷积模块的绝对步长;其中,一个卷积模块的绝对步长为:输入所述卷积模块的图像的尺寸与所述卷积模块所输出的特征图的尺寸之间的比值。
3.根据权利要求2所述的方法,其特征在于,所述从所述第一候选网络中搜索出目标子网络,包括:
从所述第一候选网络中筛选合法子网络;所述合法子网络为卷积模块的绝对步长满足预设条件的第一子网络;所述预设条件为预先设置的网络筛选条件;
采用从预设数据集中获得的样本图像,对每个合法子网络进行第一训练,获得第二候选网络;
从所述第二候选网络中搜索出所述目标子网络。
4.根据权利要求3所述的方法,其特征在于,所述第二候选网络包括多个第二子网络,所述从所述第二候选网络中搜索出所述目标子网络,包括:
通过对所述多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络;所述第三候选网络包括多个第三子网络;
将从所述预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果;
根据每个第三子网络的输出结果,计算每个第三子网络的平均精确率;
选取平均精确率最高的第三子网络作为所述目标子网络。
5.根据权利要求4所述的方法,其特征在于,所述将从所述预设数据集中获得的测试图像,输入到每个第三子网络,获得每个第三子网络的输出结果,包括:
从所述第三候选网络中任意选取一个第三子网络作为当前子网络;
获取所述当前子网络的一组网络参数;
将所述当前子网络的一组网络参数作为预训练网络参数,对所述当前子网络进行第二训练,获得所述当前子网络的一组修正网络参数;所述第二训练中的学习率小于所述第一训练中的学习率;
将所述当前子网络的网络参数更新为所述一组修正网络参数;
将从所述预设数据集中获得的测试图像,输入网络参数更新后的所述当前子网络中,获得输出结果;
从所述第三候选网络中选取下一个第三子网络作为所述当前子网络,继续重复执行上述步骤,直至所述第三候选网络中的每个第三子网络已被选取过为止,从而获得每个第三子网络的输出结果。
6.根据权利要求5所述的方法,其特征在于,在所述采用从预设数据集中获得的样本图像对每个合法子网络进行第一训练,获得第二候选网络之后,所述方法还包括:
获取每个第二子网络的网络参数;
根据每个所述第二子网络的网络参数,获得所述N个混合块中每个混合块所包括的每个卷积模块的中间网络参数;
所述获取所述当前子网络的一组网络参数,包括:
根据所述当前子网络中的每个卷积模块,从获得的中间网络参数中,选取对应的中间网络参数,得到N个中间网络参数,并将选取的所述N个中间网络参数作为所述当前子网络的一组网络参数。
7.根据权利要求4-6中任一项所述的方法,其特征在于,所述通过对所述多个第二子网络进行筛选,以及进行变异和/或交叉,得到第三候选网络,包括:
从所述多个第二子网络中任意选取预设数量的第二子网络作为种群网络;
对所述种群网络进行变异处理和/或交叉处理,获得新生网络;所述新生网络包括多个新生子网络;
从所述多个新生子网络中,筛选出卷积模块的绝对步长满足所述预设条件的新生子网络作为有效子网络,或者,筛选出卷积模块的绝对步长满足所述预设条件,且浮点运算数满足预设阈值的新生子网络作为有效子网络;
将所述有效子网络和所述种群网络所构成的子网络集合作为中间候选网络,计算所述中间候选网络中的每个中间子网络的平均精确率;
从所述中间候选网络中,选取平均精确率最高的预设数量的中间子网络;
采用所述选取的平均精确率最高的预设数量的中间子网络,对所述种群网络进行更新;
重复执行上述步骤预设次数,并将最后一次获得的中间候选网络作为所述第三候选网络。
8.根据权利要求7所述的方法,其特征在于,所述变异处理包括以下至少一种处理方式:
从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个卷积模块,设置为与所述一个或多个卷积模块对应的混合块所包括的其他任意卷积模块;
从所述种群网络中选取多个种群子网络,将选取的每个种群子网络中任意一个或多个检测器所对应的卷积模块的绝对步长,设置为所述多个卷积模块的绝对步长中的其他任意卷积模块的绝对步长;其中,将一个检测器对应的第一绝对步长设置为第二绝对步长,表征所述检测器与卷积模块的连接关系,从所述检测器与所述第一绝对步长对应的第一卷积模块连接,更改为所述检测器与所述第二绝对步长对应的第二卷积模块连接;
所述交叉处理包括以下至少一种处理方式:
从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个卷积模块进行互换;
从所述种群网络中选取多个种群子网络,将选取的任意两个种群子网络中的一个或多个检测器所对应的绝对步长进行互换。
9.根据权利要求3所述的方法,其特征在于,所述预设条件至少包括以下之一:
每个卷积模块的绝对步长大于或等于第一预设阈值,且小于或等于第二预设阈值;
所述M个检测器中,前一个检测器所连接的卷积模块的绝对步长大于或等于后一个检测器所连接的卷积模块的绝对步长;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长大于或等于第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最小的绝对步长小于或等于所述第三预设阈值;
所述M个检测器所连接的卷积模块的绝对步长中,最大的绝对步长与最小的绝对步长不同;所述第一预设阈值小于所述第三预设阈值,所述第三预设阈值小于所述第二预设阈值;
所述M个检测器所连接的多个卷积模块中,各个卷积模块输出的特征图不同。
10.根据权利要求1所述的方法,其特征在于,每个第一子网络包括N个卷积模块,第i个卷积模块所生成的特征图是根据第一特征图和第二特征图得到,其中,所述第一特征图是所述第i个卷积模块对第i-1个卷积模块所生成的特征图进行卷积操作得到,所述第二特征图是根据横向卷积模块对第y个卷积模块所生成的特征图进行卷积操作得到;其中,所述第y个卷积模块与所述第i个卷积模块所生成的特征图的分辨率相同,所述第y个卷积模块的步长值为预设步长值,且所述第y个卷积模块的步长值与第y+1个卷积模块的步长值之间满足预设步长关系;N、i和y为大于零的整数,y小于i,且i小于或等于N-1。
11.一种目标检测装置,其特征在于,包括:
获取模块,用于获取待检测图像;
生成模块,用于根据网络构建参数,生成第一候选网络;从所述第一候选网络中搜索出目标子网络,所述目标子网络为平均精确率达到预设条件的第一子网络,并将所述目标子网络确定为目标检测网络;
检测模块,用于将所述待检测图像输入所述目标检测网络,得到检测结果;所述检测结果表征从所述待检测图像中检测到的分类信息或者预测信息;
其中,所述第一候选网络包括多个第一子网络,不同的第一子网络所生成的特征图的分辨率不同,和/或,不同的子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同;其中,不同的第一子网络对用于进行目标检测的不同分辨率的特征图的分配方式不同,表征在不同的第一子网络中检测器与不同分辨率的特征图之间的对应关系不同;
其中,每个第一子网络包括N个卷积模块和与所述N个卷积模块连接的M个检测器,且所述N个卷积模块中的一个卷积模块与所述M个检测器中的至少一个检测器连接;每一所述第一子网络中的N个卷积模块是分别从N个混合块中选取的,每一所述混合块中包括多个步长不同的卷积模块;对于每一检测器,所述检测器对应多个绝对步长,且所述检测器在不同的第一子网络中和与所述多个绝对步长对应的不同卷积模块连接;M和N为大于零的整数。
12.一种电子设备,其特征在于,包括:
存储器,用于存储可执行计算机程序;
处理器,用于执行所述存储器中存储的可执行计算机程序时,实现权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,存储有计算机程序,用于引起处理器执行时,实现权利要求1至10中任一项所述的方法。
CN202011043814.5A 2020-09-28 2020-09-28 目标检测方法及装置、电子设备和存储介质 Active CN112115914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011043814.5A CN112115914B (zh) 2020-09-28 2020-09-28 目标检测方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011043814.5A CN112115914B (zh) 2020-09-28 2020-09-28 目标检测方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112115914A CN112115914A (zh) 2020-12-22
CN112115914B true CN112115914B (zh) 2023-04-07

Family

ID=73797237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011043814.5A Active CN112115914B (zh) 2020-09-28 2020-09-28 目标检测方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112115914B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114925739B (zh) * 2021-02-10 2023-11-03 华为技术有限公司 目标检测方法、装置和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726739A (zh) * 2018-12-04 2019-05-07 深圳大学 一种目标检测方法和系统
CN110287849A (zh) * 2019-06-20 2019-09-27 北京工业大学 一种适用于树莓派的轻量化深度网络图像目标检测方法
CN110659721A (zh) * 2019-08-02 2020-01-07 浙江省北大信息技术高等研究院 一种目标检测网络的构建方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657424B2 (en) * 2016-12-07 2020-05-19 Samsung Electronics Co., Ltd. Target detection method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726739A (zh) * 2018-12-04 2019-05-07 深圳大学 一种目标检测方法和系统
CN110287849A (zh) * 2019-06-20 2019-09-27 北京工业大学 一种适用于树莓派的轻量化深度网络图像目标检测方法
CN110659721A (zh) * 2019-08-02 2020-01-07 浙江省北大信息技术高等研究院 一种目标检测网络的构建方法和系统

Also Published As

Publication number Publication date
CN112115914A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN112052787B (zh) 基于人工智能的目标检测方法、装置及电子设备
CN110807385B (zh) 目标检测方法、装置、电子设备及存储介质
CN111291819B (zh) 图像识别方法、装置、电子设备及存储介质
CN106570453B (zh) 用于行人检测的方法、装置和系统
CN110782015A (zh) 神经网络的网络结构优化器的训练方法、装置及存储介质
CN110929577A (zh) 一种基于YOLOv3的轻量级框架改进的目标识别方法
CN110766038B (zh) 无监督式的地貌分类模型训练和地貌图构建方法
CN110728295B (zh) 半监督式的地貌分类模型训练和地貌图构建方法
CN110889450B (zh) 超参数调优、模型构建方法和装置
CN114330692A (zh) 神经网络模型的部署方法、装置、设备及存储介质
CN110929785B (zh) 数据分类方法、装置、终端设备及可读存储介质
CN112215269A (zh) 一种面向目标检测的模型构建方法、设备和神经网络架构
CN113128432B (zh) 基于演化计算的机器视觉多任务神经网络架构搜索方法
CN112818849B (zh) 基于对抗学习的上下文注意力卷积神经网络的人群密度检测算法
CN111242176B (zh) 计算机视觉任务的处理方法、装置及电子系统
CN111428854A (zh) 一种结构搜索方法及结构搜索装置
CN111753826B (zh) 车辆与车牌的关联方法、装置和电子系统
CN109993753A (zh) 遥感影像中城市功能区的分割方法及装置
CN112115914B (zh) 目标检测方法及装置、电子设备和存储介质
CN115018039A (zh) 一种神经网络蒸馏方法、目标检测方法以及装置
CN112529025A (zh) 一种数据处理方法及装置
CN114385876B (zh) 一种模型搜索空间生成方法、装置及系统
CN114445716A (zh) 关键点检测方法、装置、计算机设备、介质及程序产品
CN111091061B (zh) 一种基于视频分析的车辆刮蹭检测方法
CN112633352A (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