CN110929805B - 神经网络的训练方法、目标检测方法及设备、电路和介质 - Google Patents
神经网络的训练方法、目标检测方法及设备、电路和介质 Download PDFInfo
- Publication number
- CN110929805B CN110929805B CN201911233604.XA CN201911233604A CN110929805B CN 110929805 B CN110929805 B CN 110929805B CN 201911233604 A CN201911233604 A CN 201911233604A CN 110929805 B CN110929805 B CN 110929805B
- Authority
- CN
- China
- Prior art keywords
- convolution
- loss function
- neural network
- image
- training
- 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
- 238000012549 training Methods 0.000 title claims abstract description 176
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000001514 detection method Methods 0.000 title claims abstract description 79
- 230000006870 function Effects 0.000 claims description 155
- 230000008569 process Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 15
- 230000009467 reduction Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 description 23
- 238000013527 convolutional neural network Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000003936 working memory Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000006735 deficit Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 235000019642 color hue Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000011895 specific detection Methods 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Abstract
提供一种用于目标检测的神经网络的训练方法、目标检测方法及阅读辅助设备、电路和介质。所述神经网络包括一个或多个卷积层,每一卷积层包括多个卷积核,所述训练方法包括:将训练图像输入神经网络;针对所述一个或多个卷积层中的至少一个卷积层,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数,所述第一损失函数能够表征所述特征图中图像特征的数量;以及至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核。
Description
技术领域
本公开涉及图像的处理,特别涉及一种用于目标检测的神经网络的训练方法、目标检测方法及设备、电路和介质。
背景技术
神经网络是人工智能技术的核心。目前,神经网络得到了广泛的研究和关注,被应用在包括计算机视觉、语音识别、机器人、自动驾驶等诸多人工智能应用领域中。
目标检测是人工智能技术的一个基础性的研究课题。目标检测是指对于任意一幅给定的图像,检测和识别图像中预定的目标(例如人脸),并确定目标的位置。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一方面,提供一种用于目标检测的神经网络的训练方法,所述神经网络包括一个或多个卷积层,每一卷积层包括多个卷积核,所述训练方法包括:将训练图像输入神经网络;针对所述一个或多个卷积层中的至少一个卷积层,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数,所述第一损失函数能够表征所述特征图中图像特征的数量;以及至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核。
根据本公开的另一方面,提供一种基于神经网络的目标检测方法,包括:获取包括预定目标的待检测图像;将包括所述预定目标的待检测图像输入采用上述的训练方法训练好的神经网络;以及输出所述待检测图像中的所述预定目标的预测边界框。
根据本公开的另一方面,提供一种电子电路,包括:被配置为执行根据上述的基于神经网络的目标检测方法的步骤的电路。
根据本公开的另一方面,提供一种阅读辅助设备,包括:上述的电子电路;被配置为根据所述电子电路输出的包含文字对象的待检测图像中预定目标的预测边界框,确定所述文字对象中的待识别文字区域,并对所述待识别文字区域进行文字检测和/或识别以获得文字数据的电路;被配置为将获得的文字数据转换成声音数据的电路;以及被配置为输出所述声音数据的电路。
根据本公开的另一方面,提供一种电子设备,包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述的方法。
根据本公开的另一方面,提供一种存储程序的非暂态计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行根据上述的方法。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1是示出根据本公开示例性实施例的卷积神经网络的示意图;
图2A和图2B是示出根据本公开示例性实施例的在将训练图像以及训练图像输入神经网络进行训练的过程中两个卷积层的卷积核输出的特征图;
图3是示出根据本公开示例性实施例的神经网络的训练方法的流程图;
图4是示出根据本公开示例性实施例的单步多框检测神经网络模型的检测原理示意图;
图5是示出根据本公开示例性实施例的候选框和真实边界框的匹配示意图;
图6是示出根据本公开示例性实施例的将一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核的流程图;
图7和图8是示出根据本公开示例性实施例的神经网络的训练方法的流程图;
图9是示出根据本公开示例性实施例的为一特征图的像素单元设置多个候选框的示意图;
图10是示出根据本公开示例性实施例的基于神经网络的目标检测方法的流程图;
图11是示出根据本公开示例性实施例的获取包括预定目标的待检测图像的方法流程图;
图12是示出根据本公开的示例性实施例的电子设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
卷积神经网络在目标检测和语音识别等方面能够给出更优的结果。卷积神经网络最常见的应用之一是目标检测,目标检测是检测和识别图像中的预定目标(例如人脸、汽车、动物等等),并确定预定目标的位置。
例如,在一种卷积神经网络中,输入一张图像,经过一系列卷积层,以及可选的池化(pooling)层和全连接层后,可输出相应的检测结果。图1示出了一个示例性卷积神经网络的示意图。需要说明的是,卷积神经网络具有多种形式,图1仅仅是一种简单的示例性表示,并非作为一种限定。
如图1所示,在将图像输入卷积神经网络之前,可以对图像进行预处理,例如去均值、归一化、去相关、白化等,以便于后续处理。作为示例,图1中示出的输入图像100为32×32个像素的灰度图像,即,输入图像100的大小为32×32×1。如果输入图像100为彩色图像,由于其具有R、G、B三个颜色通道,因此,输入图像100的大小为32×32×3。
图1中示出的卷积神经网络包括两个级联的卷积层120和卷积层130。每个卷积层可以具有一个或多个卷积核(也可称为滤波器)。根据一些实施例,随着深度的增加,卷积层的卷积核数量可逐渐增加,例如按照设定的倍数增加,以提取更多、更细化的图像特征。例如:图1中示出的卷积层120的卷积核的数量为32,卷积层130的卷积核的数量为64。每个卷积核是一个权重矩阵,其与输入到该卷积层的图像进行卷积运算以提取图像的特征。不同的卷积核可以提取不同的图像特征,例如垂直边缘、水平边缘、曲线、颜色等低级特征,或者是眼睛、鼻子、帽子等高级特征,这通常取决于卷积核所处的卷积层位置。这种卷积操作的输出可以称为特征图(feature map)。
如图1所示,卷积层120的卷积核为5×5×32。输入图像100为灰度图像。卷积核是一个权重矩阵,其与输入图像进行卷积运算,可以得到与该卷积核相对应的输出特征图。更具体而言,对于卷积层120,将卷积核5×5与输入图像中的一个5×5像素块进行点乘,可以得到一个特征值。这样的点乘意味着卷积核里的各个权重分别与相应位置的像素相乘再求和,此外还可以加上偏置(如果有的话)。依次改变输入图像中的5×5像素块的位置(假定步长为1),例如从左至右,再从上至下,将各个位置的5×5像素块与同一卷积核进行点乘,就可以得到一个由28×28个特征值组成的特征图。从而,卷积层120可以输出28×28×32的特征图。
类似地,卷积层130的卷积核为3×3×64。卷积核3×3与卷积层120输出的特征图进行卷积,可以得到一个26×26的特征图。从而,卷积层130可以输出26×26×64的特征图。
在基于神经网络进行目标检测的过程中,每一卷积层的卷积核以及卷积操作生成的特征图需要存入存储器(例如各种随机存取存储器或易失性存储器,诸如DRAM,SRAM,DDRRAM或其他随机存取固态存储器)。对于级联的两个卷积层,下一个卷积层可以从存储器中读取对应的卷积核以及上一个卷积层生成的特征图并进行卷积操作。
需要说明的是,图1中仅示意了两个卷积层。根据相关技术,卷积神经网络的卷积层的数量并不局限于两个,通常包括更多数量的卷积层。随着深度的增加,卷积层的卷积核的数量可以逐渐增加,可达到512、1024这样的数量级。
卷积神经网络的参数主要是卷积层的各个权重以及可能的偏置。这些参数通过训练而不断优化,直至得到训练好的卷积神经网络。由于卷积神经网络的卷积层中的不同像素块可以共享相同的卷积核,而且卷积核的尺寸远小于特征图的尺寸,因此,与传统的神经网络相比,可以有效地减少神经网络的参数数量。卷积神经网络的上述特性通常称为参数共享和局部感知。然而,由于卷积神经网络的层数和每层的卷积核数量较多,利用神经网络进行图像处理的过程中的计算量仍非常庞大,功耗较高,并需要大量的存储空间。因此,基于神经网络的目标检测方法在终端设备上的应用受到了很大限制。
根据相关技术,在利用神经网络进行目标检测之前,首先需要利用训练图像对神经网络进行训练,以调整神经网络的参数,使得训练好的神经网络收敛。并利用训练好的神经网络进行目标检测,从而能够改进目标检测的准确性和精度。因此,神经网络的训练过程直接影响利用神经网络进行目标检测的性能,对神经网络进行训练能够改善利用神经网络进行目标检测的性能。
基于以上相关技术,根据本公开的实施例,神经网络的训练方法包括对卷积层的卷积核数量进行裁剪,以减少卷积层的卷积核数量。从而能够减少神经网络的参数,减少利用训练好的神经网络进行目标检测的计算量。由此,有助于降低运算功耗,并减小所需的存储空间,这有利于实现在终端设备(比如移动终端设备、阅读辅助设备等等)上的应用。
根据本公开的实施例,在将训练图像输入神经网络进行训练的过程中,通过计算至少一个卷积层的多个卷积核输出的特征图对应的第一损失函数(第一损失函数例如能够表征特征图中图像特征的数量),并根据第一损失函数来对卷积层的卷积核数量进行裁剪,可以删除一部分特征表现较弱的卷积核,使得裁剪后的卷积层中的卷积核仍然能够提取预定目标的足够特征。由此,在利用训练好的神经网络进行检测时,能够在减少计算量的同时,基本不影响对预定目标的准确检测。
卷积核对特征表现的强弱可以理解为:若卷积核输出的特征图中图像特征的数量越多,表示该特征图对应的卷积核能够提取较多的图像特征,则该卷积核对特征的表现越强。反之,若卷积核输出的特征图中图像特征的数量越少,表示该特征图对应的卷积核能够提取的图像特征较少,则该卷积核对特征的表现越弱。
图2A和图2B示意了根据本公开示例性实施例的在将训练图像输入神经网络进行训练的过程中两个卷积层的多个卷积核输出的特征图。其中,最左边的为训练图像,从左侧数第2至9个图像为第一个卷积层的多个卷积核输出的特征图。从左侧数第10至17个图像为第二个卷积层的多个卷积核输出的特征图。图2A和图2B中仅以神经网络的两个卷积层为例来说明如何根据特征图来确定卷积核对特征表现的强弱,并不作为一种限定。
根据一些实施例,图像特征包括边缘特征、纹理特征、颜色特征和区域特征等。在进行特征提取时,可以利用不同的像素值来区分提取的不同图像特征以及区分图像特征和背景部分。例如:对于相邻的两个不同的图像特征,可以将一个图像特征对应的像素单元修改为白色,而将另一个图像特征对应的像素单元修改为黑色。对于图像特征及其周边的背景部分,可以将一个图像特征对应的像素单元修改为白色,而将背景部分对应的像素单元修改黑色。在此仅是举例说明,并不作为一种限定。例如:对于图像特征及其周边的背景部分,还可以将一个图像特征对应的像素单元修改为黑,而将背景部分对应的像素单元修改为灰色(对应的像素值为0-255之间的任意值)。
如图2A和图2B所示,若特征图中大部分像素单元的像素值相同(如:0、255或0~255之间的任意值),可以确定该特征图对应的卷积核对特征表现较弱。例如:图2A中示出的从左边数第5个和第11个特征图中大部分像素单元的像素值为0,则可以确定第5个和第11个特征图对应的两个卷积核对特征表现较弱。图2B中示出的从左边数第10个和第16个特征图中大部分像素单元的像素值为0,则可以确定第10个和第16个特征图对应的两个卷积核对特征表现较弱。而若特征图具有面积较大的区域,且该区域中的像素单元与其周边区域中的像素单元的像素值不同(例如:该区域中的像素单元的像素值为255,而该区域周边的区域中的像素单元的像素值为0或0~255之间的任意值),则可以确定该特征图对应的卷积核对特征表现较强。例如:图2A中示出的从左边数第6个、第9个和第10个特征图对应的三个卷积核对特征表现较强。图2B中示出的如从左边数第2个、第4个和第7个特征图对应的三个卷积核对特征表现较强。
需要说明的是,在此仅是举例说明,并非限定仅能通过特征图的像素值之和来确定对应的卷积核对特征表现的强弱。
以下将结合附图对根据本公开实施例的神经网络的训练方法进行进一步描述。
图3是示出根据本公开示例性实施例的用于目标检测的神经网络的训练方法的流程图。
所述神经网络包括一个或多个卷积层,每一卷积层包括多个卷积核。如图3所示,所述训练方法可以包括:步骤S101、将训练图像输入神经网络;步骤S102、针对所述一个或多个卷积层中的至少一个卷积层,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数,所述第一损失函数能够表征所述特征图中图像特征的数量;以及步骤S103至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核。
根据一些实施例,所述卷积层可以为深度可分离卷积层。深度可分离卷积层能够减少所需要的参数。而且,不同于同时考虑通道和区域的卷积操作,深度可分离卷积层的卷积操作可以先只考虑区域,然后再考虑通道,实现了考虑通道和区域的卷积操作的分离。
步骤S101中,所述训练图像可以包括预定目标。根据不同的应用场景,所述预定目标可以为飞机、船、汽车、行人、人脸、手指、动物等任意目标。
所述训练图像可以是通过摄像机获取的电子图像数据。所述摄像机可以是独立装置(例如照相机、视频摄像机、摄像头等),也可以包括在各类电子设备(例如移动电话、计算机、个人数字助理、阅读辅助设备、平板电脑、可穿戴设备等)中。
根据一些实施例,摄像机可以设置于用户的可穿戴设备或眼镜等设备上,从而所述训练图像可以是由该摄像机拍摄的、包括预定目标的图像。所述训练图像还可包含文字(包括各种国家的文字、数字、字符、标点符号等)、图片等内容。所述训练图像例如还可包括:身份证、名片、护照、驾照、读物、平板电脑或移动电话等。可以根据预定目标的位置确定待识别区域。然后可以对待识别区域的文字进行检测和/或识别。也就是说,在各种应用场景中,训练图像中除预定目标以外还可包括相应应用场景中的其他对象,在此不再一一列举。
根据一些实施例,所述训练图像可以是经过预处理的图像,所述预处理例如可以包括但不限于去均值、归一化、去相关、模糊去除等,以便于后续处理。
根据一些实施例,所述神经网络可为卷积神经网络,例如:LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet、MobileNet等等。例如,MobileNet具有更小的体积,更少的计算量,更快的速度,更高的精度。因此,MobileNet网络在轻量级神经网络中拥有优势,可适用于终端设备。
神经网络可以包括多个级联的卷积层,对于相邻的两个卷积层,前一个卷积层输出的特征图作为后一个卷积层的输入。后一个卷积层的卷积核数量可以大于前一个卷积层的卷积核数量,可呈一定倍数增加,以提取更多、更细化的图像特征。相邻的两个卷积层之间还可以设置池化层,能够进行下采样,从而减小特征图的尺度(即大小),减少计算量,降低功耗,减小所需的存储空间。
所述图像特征可以包括但并不局限于以下特征中的一种或多种:边缘特征、纹理特征、颜色特征或区域特征。根据一些实施例,在提取图像特征时,可以利用不同的像素值来区分提取的不同图像特征以及区分图像特征和背景部分。根据一些实施例,对于相邻的两个不同的图像特征,可以将一个图像特征对应的像素单元修改为白色,而将另一个图像特征对应的像素单元修改为黑色(或灰色)。对于图像特征及其周边的背景部分,可以将一个图像特征对应的像素单元修改为白色,而将背景部分对应的像素单元修改黑色(或灰色)。因此,若一个特征图的大部分像素单元为黑色(或灰色),可以确定该特征图的图像特征数量较少。换言之,若一个特征图的黑色(或灰色)像素单元越少,可以确定该特征图的图像特征数量越多。
根据一个实施例,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数可以包括:计算所述特征图的所有像素单元的像素值之和,并将所述像素值之和作为所述特征图对应的第一损失函数。其中,所述至少一个卷积层的冗余卷积核输出的特征图对应的第一损失函数可以小于所述至少一个卷积层的剩余卷积核中任意一个卷积核输出的特征图对应的第一损失函数。也就是说,可根据所述特征图的所有像素单元的像素值之和来确定对应的卷积核对特征表现的强弱。由于特征图的所有像素单元进行像素值求和,即可确定该特征图中的图像特征的数量多少,因此,能够快速确定特征图对应的卷积核对特征表现的强弱。
需要说明的是,上述仅是第一损失函数的一种示例性形式,并不作为一种限定,只要第一损失函数能够表征对应的特征图中图像特征的数量即可。例如:对于相邻的两个不同的图像特征,可以将一个图像特征对应的像素单元修改为白色,而将另一个图像特征对应的像素单元修改为黑色(或灰色)。对于图像特征及其周边的背景部分,可以将一个图像特征对应的像素单元修改为黑色(或灰色),而将背景部分对应的像素单元修改白色。相应地,若一个特征图的大部分像素单元为白色,则可以确定该特征图的图像特征数量较少。换言之,若一个特征图的白色像素单元越少,可以确定该特征图的图像特征数量越多。在这种情况下,在步骤S102中,所述至少一个卷积层的冗余卷积核输出的特征图对应的第一损失函数大于所述至少一个卷积层的剩余卷积核中任意一个卷积核输出的特征图对应的第一损失函数,与上述相反。
根据一些实施例,所述至少一个卷积层可以包括多个卷积层,可以对多个卷积层的卷积核的数量分别进行裁剪。例如,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的百分比可以相同。由此,能够以相同的百分比对多个卷积层中的每一卷积层的卷积核数量进行裁剪,从而实现通过同一参数(例如,相同的百分比)对多个卷积层的卷积核的数量分别进行裁剪,这有利于神经网络的训练。可以理解的是,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的百分比也可以不完全相同,或者所述至少一个卷积层中的任意两个卷积层对应的所述百分比均不相同。
根据一些实施例,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量可以占该卷积层所包括的初始卷积核的数量的20%~30%。这有助于神经网络通过训练达到收敛,从而减轻或避免出现因为卷积核的数量裁剪过多而导致神经网络不能收敛的问题。例如:对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量可以占该卷积层所包括的初始卷积核的数量的25%。
根据一些实施例,可以对神经网络的所有卷积层的卷积核数量分别进行裁剪,从而进一步减少目标检测的计算量。根据一些实施例,对于神经网络的所有卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的百分比可以相同。可以理解的是,对于神经网络的所有卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的百分比也可以不完全相同,或者所有卷积层中的任意两个卷积层对应的所述百分比均不相同。所述百分比例如可以为20%~30%(如25%)内的任意值。
在利用训练图像对神经网络进行训练的过程中,可以根据用于确定所述神经网络是否收敛的第二损失函数,例如利用反向传播算法和/或梯度下降算法,来调整神经网络的参数,以减小第二损失函数。当所述第二损失函数收敛时,可以确定所述神经网络收敛,从而结束训练。
所述第二损失函数收敛可以包括所述第二损失函数小于或等于设定的阈值。
根据一些实施例,可以通过预设训练轮数来对神经网络进行训练,在预定训练轮数结束后,若第二损失函数收敛,则神经网络收敛。还可以对神经网络进行训练,直至所述第二损失函数小于或等于所述设定的阈值且所述第二损失函数基本不再减小或减小的比例很小,来确定结束训练。
根据一些实施例,在步骤S103中,至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核可以包括:根据所述第一损失函数和一第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,其中,所述第二损失函数是用于确定所述神经网络是否收敛的损失函数。通过结合第二损失函数,并在第二损失函数收敛的情况下确定并删除冗余卷积核,能够在保证神经网络收敛的前提下对卷积层的卷积核数量进行裁剪,以减少目标检测的计算量。
根据一些实施例,所述训练图像可以包括预定目标。所述第二损失函数可以是基于由所述神经网络的至少一个候选框预测的所述预定目标的至少一个预测信息和在所述训练图像中预先标注的所述预定目标的真实信息来确定的。根据一些实施例,在神经网络的训练过程中,可以利用候选框来对训练图像中的预定目标进行检测。相应地,所述预测信息可以为预测边界框,所述真实信息可以为第一真实边界框。所述至少一个候选框预测的所述预定目标的预测边界框可以包括类别、类别置信度和位置,所述第二损失函数可以为类别置信度误差和位置误差的加权和。所述第二损失函数还可以为其他能够表示所述预测边界框和第一真实边界框之间的误差的损失函数,在此不作限定。
下面以单步多框检测(英文全名为Single Shot Multi-Box Detector,简称为“SSD”)神经网络为例,来具体介绍如何利用候选框来对训练图像中的预定目标进行检测,以对神经网络进行训练的过程。
如图4所示,SSD神经网络的结构例如可以建立在VGG-16的基础上,VGG-16是一种卷积神经网络结构,可以提供高质量的图像分类和迁移学习来改善输出结果。SSD神经网络可以在VGG-16的基础上进行如下修改:取消全连接层,替换为一系列辅助卷积层(Conv6~Conv11)。通过使用辅助卷积层,并逐步减小每个辅助卷积层的尺度(像素数),可以提取图像多个尺度的特征图。每一特征图的每一像素单元均设置多个不同宽高比的候选框,且同一特征图的所有像素单元设置的候选框的数量相同。采用卷积核对不同的特征图直接进行检测,类别置信度和位置采用不同的卷积核来检测。每一候选框预测一预测边界框,预测的预测边界框包括类别置信度和位置。大尺度的特征图可以用来检测小物体,而小尺度的特征图用来检测大物体。因此,SSD神经网络只需要一步即可完成分类和位置检测,检测速度快、错误率低。
根据一些实施例,可以针对不同尺度的特征图对候选框的尺度进行调整。随着特征图尺度的减小,候选框的尺度可以线性增加。在此不再详述不同尺度特征图对应的候选框尺度的设定过程。
为了便于描述和理解,不对不同尺度的候选框进行区分,仍都统一称为候选框。
下面以一个示例性实施例来说明SSD神经网络的训练过程:
假设一特征图的每一像素单元设置的候选框的数量为n,特征图中目标的类别数为c,那么类别置信度需要数量为n×c的卷积核来检测,而预测边界框的位置(可以由边界框的中心坐标、宽和高四个参数表示)需要数量为n×4的卷积核来检测。VGG-16的卷积层Conv4输出的特征图可以作为用于检测的第一个特征图。新增的辅助卷积层中可以提取Conv7,Conv8,Conv9,Conv10,Conv11输出的特征图作为检测所用的特征图,加上Conv4,共提取了6个特征图,其大小分别是38×38、19×19、10×10、5×5、3×3、1×1。由于每个候选框都会预测一个边界框,SSD神经网络一共可以预测(即输出)38×38×(4)+19×19×(6)+10×10×(6)+5×5×(6)+3×3×(4)+1×1×(4)=8732个边界框,其中,括号里的数字代表对应的特征图的每一像素单元设置的候选框的数目。
需要说明的是,不同尺度的特征图的每一像素单元设置的候选框数量可以不同(如上),也可以相同,根据具体的检测需求来设定。
根据一些实施例,所述候选框可以为矩形框,则候选框预测的预测边界框也为矩形框,训练图像中的真实边界框也为矩形框。
根据一些实施例,候选框与训练图像中目标的真实边界框的匹配过程可以为:首先,对于每一特征图,计算设置的所有候选框与训练图像中预先标注的目标的真实边界框的交集面积和并集面积的比值(Intersection over Union,简称IOU),并获取最大IOU对应的候选框,确定该候选框与第一真实边界框匹配。这样,可以保证每一目标的真实边界框一定与某一候选框匹配。对于剩余的候选框,若一候选框与一真实边界框的IOU大于某阈值(该阈值可以大于或等于0.5),确定该候选框也与该真实边界框匹配。其中,与该真实边界框匹配的候选框为正样本,除了正样本以外的候选框为负样本。图5中示意了一个示例性的匹配示意图,其中候选框TP表示与真实边界框500匹配的正样本,候选框FP表示不与真实边界框500匹配的负样本。
在候选框与训练图像中目标的真实边界框的匹配完成后,所述训练方法还包括对多个正样本的候选框TP进行分类回归和位置回归,得到一一对应的预测边界框。然后根据第二损失函数,可以利用反向传播算法和/或梯度下降算法对神经网络的参数进行调整。
根据一些实施例,所述第二损失函数可以为候选框TP预测的预测边界框与匹配的真实边界框之间的类别置信度误差与位置误差的加权和:
其中,N表示候选框TP的数量;c表示候选框预测的边界框的类别置信度;g表示真实边界框的位置;α表示权重系数;l表示候选框TP编码得到的预测值,根据以下公式计算得到:
其中,候选框TP的位置用dcx,dcy,dω,dh表示,这四个参数分别为候选框TP的中心的x坐标、y坐标、宽和高。预测的边界框的位置bcx,bcy,bω,bh表示,这四个参数分别为预测的边界框的中心的x坐标、y坐标以及宽和高。
Lconf(x,c)表示所有候选框TP预测的边界框与对应匹配的真实边界框之间的类别置信度误差之和,可以但并不局限于采用softmax损失函数。采用softmax损失函数的Lconf(x,c)的公式例如可以如下:
其中/>
其中,为一个指示参数,当/>时表示第i个候选框TP与第j个真实边界框匹配,并且第j个真实边界框的类别为p。
Lconf(x,l,g)表示所有候选框TP预测的边界框与对应匹配的真实边界框之间的位置误差之和,可以但并不局限于采用Smooth L1损失函数。采用Smooth L1损失函数的Lconf(x,l,g)的公式例如可以如下:
其中,通过对真实边界框的位置g进行编码得到,/>为第j个真实边界框编码得到的预测值,/>包括/>和/>详见上述公式。/>表示第i个候选框TP编码得到的预测值,具体的算法如上。/>和/>分别表示第j个真实边界框的中心的x坐标、y坐标以及宽和高;/>和/>分别表示第i个候选框TP的中心的x坐标、y坐标以及宽和高。
在神经网络的训练过程中,根据第二损失函数,可以利用反向传播算法和梯度下降算法调整参数预测值l,使得预测的边界框与真实边界框之间的误差逐渐减小(即第二损失函数逐渐减小)。在目标检测过程中,则是反向过程,即进行解码,根据预测值l得到候选框TP预测的预测边界框的位置。
根据一些实施例,可以但并不局限于利用上述方法计算得到第二损失函数。然后根据所述第一损失函数和所述第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核。
根据一些实施例,如图6所示,步骤S103中,根据所述第一损失函数和第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核可以包括:步骤S1031、根据所述多个卷积核分别对应的第一损失函数从低到高的排序,从所述多个卷积核中依次选取第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核;步骤S1032、计算所述第二损失函数;步骤S1033、确定所述第二损失函数是否小于或等于设定的阈值;以及,如果所述第二损失函数小于或等于所述设定的阈值,则可以根据剩余的多个卷积核分别对应的第一损失函数从低到高的排序,从所述剩余的多个卷积核中依次选取第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核。如图6所示,在根据所述第一损失函数和第二损失函数将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核、并删除所述冗余卷积核的过程中,可以进行迭代,从而能够少量多次地确定并删除冗余卷积核,这在一定程度上可以避免由于过多删除卷积核而导致第二损失函数大幅度增加、不利于神经网络收敛的情况出现。
所述第一预定比例可以为所述至少一个卷积层所删除的所有冗余卷积核的数量占所述至少一个卷积层所包括的初始卷积核的总数量的百分比。根据一些实施例,在所述至少一个卷积层包括多个卷积层的情况下,在每次迭代过程中,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核占该卷积层所包括的初始卷积核的数量的百分比可以相同,也可以不完全相同,或者所述多个卷积层中的任意两个卷积层对应的所述百分比均不相同。
根据一些实施例,在所述至少一个卷积层中的每一卷积层对应的所述百分比均相同的情况下,所述百分比可以与所述第一预设比例一致。由此,在对多个卷积层中的卷积核进行裁剪时,便于按照同一参数(例如;相同的百分比)对所述多个卷积层的卷积核数量进行裁剪,这在一定程度上有利于神经网络的训练。
根据一些实施例,根据剩余的多个卷积核分别对应的第一损失函数从低到高的排序,从所述剩余的多个卷积核中依次选取第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核之后,可以通过以下步骤进行迭代,包括:计算所述第二损失函数;确定所述第二损失函数是否小于或等于设定的阈值;以及步骤S1034、如果所述第二损失函数小于或等于所述设定的阈值,则确定是否达到设定的训练轮数或第二损失函数的减小比例是否小于设定值(例如,第二损失函数的减小比例是否很小或者第二损失函数是否基本不再减小)。如果确定未达到设定的训练轮数并且第二损失函数的减小比例并不小于设定值,则可以继续从剩余的多个卷积核中依次选取第一预定比例的卷积核并将选取的卷积核中的每一个卷积核确定为冗余卷积核。如果达到设定的训练轮数或者第二损失函数的减小比例小于设定值,则可以结束神经网路的训练过程。
需要说明的是,确定神经网络的训练是否结束的方式并不局限于确定是否达到设定的训练轮数或确定第二损失函数的减小比例小于设定值。
根据一些实施例,根据所述第一损失函数和第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核还可以包括:步骤S1035、如果所述第二损失函数大于所述设定的阈值,则根据已删除的多个冗余卷积核分别对应的第一损失函数,从所述已删除的多个冗余卷积核中依次选取第二预定比例的冗余卷积核确定为有效卷积核,并将所述有效卷积核重新添加到对应的卷积层中。在重新添加有效卷积核后,计算第二损失函数,并判断第二损失函数是否大于设定的阈值,若第二损失函数仍大于设定的阈值,则继续从所述已删除的多个冗余卷积核中选取有效卷积核并添加,此过程可以进行迭代,直至第二损失函数小于或等于设定的阈值时,停止有效卷积核的添加。如图6所示,在根据所述第一损失函数和第二损失函数将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核、并删除所述冗余卷积核的过程中,可以进行迭代。通过执行步骤S1035,能够在由于删除过多卷积核而导致神经网络有可能无法收敛的情况下,从已删除的冗余卷积核中选取一个或多个冗余卷积核,并将所选取的一个或多个卷积核重新添加到对应的卷积层中,从而有助于在通过删除卷积核而减小计算量的情况下,仍然使得神经网络能够收敛。
根据一些实施例,所述第二预定比例可以小于所述第一预定比例。
根据一些实施例,还可以根据用于确定神经网络是否收敛的第二损失函数,来调整每次从多个卷积核中选取并确定为冗余卷积核的卷积核的比例。例如,每次从多个卷积核中选取并确定为冗余卷积核的卷积核的比例可以逐渐减小,或者先逐渐增加之后逐渐减小等,只要能够在删除冗余卷积核后使得神经网络能够收敛即可,在此不作限定。
在神经网络的训练过程中,可以将多幅训练图像输入神经网络进行训练,使得在每一幅训练图像输入神经网络的训练完成后,计算得到的第二损失函数均是收敛的。因此,神经网络的训练过程是一个反复多次的训练过程。所述多幅训练图像例如可以包括预定目标在不同姿态下、不同光照强度下、不同光照角度下和/或不同拍摄背景下的多幅图像。
在上面的内容中介绍了,卷积神经网络可以利用候选框来检测训练图像中的目标,每一候选框预测一预测边界框。其中,候选框的设置对神经网络的训练非常重要,甚至会影响神经网络是否能够收敛。现有的卷积神经网络默认的候选框的数量通常有几百甚至上千个,以保持泛化性,从而适应很多场景中目标的检测。尽管泛化性在某些应用场景中是有利的,但数量庞大的候选框会增加计算量,导致运算功耗较高,而且需要更多的存储空间来进行存储。在特定的应用场景中,有可能无需用到所有的候选框。
根据一些实施例,如图7所示,在将训练图像输入神经网络的步骤S101之前,用于目标检测的神经网络的训练方法还可以包括:步骤S201、从与包括所述训练图像的训练图像数据集不同的样本图像数据集中获取多个样本图像,每一样本图像包括预定目标;步骤S202、对于所述多个样本图像,获取能够包围相应样本图像中的所述预定目标的多个第二真实边界框;步骤S203、将所述多个第二真实边界框以及所述神经网络的默认候选框共同作为所述神经网络的多个候选框。通过将公开数据集中的样本图像中预定目标的第二真实边界框添加为神经网络的候选框,能够在神经网络的训练过程中,利用样本图像中预定目标的第二真实边界框来检测训练图像中的预定目标,这有利于缩短神经网络的训练时间。
根据一些实施例,如图8所示,在神经网络的训练过程中,可以将多个训练图像分别输入所述神经网络以进行所述神经网络的训练,每一训练图像包括预定目标。用于目标检测的神经网络的训练方法还可以包括:步骤S204、计算所述神经网络的所述多个候选框与每一训练图像中预先标注的所述预定目标的第一真实边界框之间的第三损失函数;步骤S205、根据所述第三损失函数,将所述多个候选框中的至少一个候选框确定为冗余候选框;以及步骤S206、删除所述冗余候选框。通过根据候选框和训练图像中预定目标的第一真实边界框之间的第三损失函数,来删除一定数量的冗余候选框,能够减少目标检测的计算量,降低运算功耗。
根据一些实施例,所述第三损失函数可以为所述候选框与所述第一真实边界框之间的交集面积和并集面积的比值(IOU)。计算所述神经网络的所述多个候选框与每一训练图像中预先标注的所述预定目标的第一真实边界框之间的第三损失函数可以包括:针对所述一个或多个卷积层中的至少一个卷积层,对于所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图,为所述特征图的所有像素单元中的每一像素单元设置所述多个候选框;以及分别计算所述至少一个卷积层的多个卷积核输出的多个特征图中的每一特征图对应的所述多个候选框中的每一候选框,与每一训练图像中的所述预定目标的第一真实边界框之间的交集面积和并集面积,计算所述交集面积和所述并集面积的比值。
图9中示意了一个8×8(一个网格可以代表一个像素单元)的特征图300,为特征图300的每一像素单元设置4个不同宽高比的第一候选框301、第二候选框302、第三候选框303、第四候选框304(用虚线框示意)。图9中仅示出了在其中两个像素单元设置的候选框301。
由于候选框与第一真实边界框的IOU越大,该候选框预测的预测边界框越逼近所述第一真实边界框。因此,可以利用候选框与第一真实边界框之间的IOU来删除冗余候选框,而保留的候选框预测的边界框与所述第一真实边界框之间的误差较小,能够缩短神经网络的训练时间。
根据一些实施例,在所述第三损失函数为所述候选框与所述第一真实边界框之间的交集面积和并集面积的比值(IOU)的情况下,根据所述第三损失函数,将所述多个候选框中的至少一个候选框确定为冗余候选框可以包括:对于每一训练图像,将所述交集面积和所述并集面积的比值最大的候选框,确定为保留候选框;将所述多个候选框中的除分别对应于所述多个训练图像的多个保留候选框以外的至少一个候选框,确定为冗余候选框。上述技术方案中,多个保留候选框分别为与每一训练图像中预定目标的真实边界框的IOU最大的候选框,即,与预定目标最匹配的候选框。因此,在利用所述多个保留候选框对所述预定目标进行检测时,可以具有更快的检测速度和更好的检测效果。
需要说明的是,在此仅是举例来说明根据所述第三损失函数来确定并删除冗余候选框的原理,所述第三损失函数的形式并不局限于候选框与真实边界框的IOU,只要第三损失函数的形式能够表征候选框预测的预测边界框与真实边界框之间的误差即可,并且,将表征预测边界框与真实边界框之间的误差较大的第三损失函数对应的候选框确定为冗余候选框并删除。
根据一些实施例,可以对卷积层的卷积核数量进行裁剪并且删除冗余候选框,来进一步减少目标检测的计算量,降低运算功耗,并减小所需的存储空间。
根据一些实施例,可以在神经网络的卷积核数量的裁剪完成之后,再将所有训练图像分别输入神经网络,完成冗余候选框的确定和删除。根据另一些实施例,可以在将每一训练图像输入神经网络进行训练时,在进行冗余卷积核的确定及删除的同时,获取神经网络的候选框与训练图像中预定目标的第一真实边界框之间的第三损失函数,从而确定保留候选框;然后,在所有训练图像输入神经网络完成冗余卷积核的删减之后,删除除所有训练图像中的每一训练图像对应的保留候选框以外的冗余候选框。这种方式由于每一训练图像仅需输入神经网络一次,能够更快完成神经网络的训练。根据另一些实施例,还可以在将所有训练图像分别输入神经网络,完成冗余候选框的确定和删除之后,再次将训练图像分别输入神经网络,进行冗余卷积核的确定和删除。这种方式中,由于预先删除了冗余候选框,能够减少神经网络的卷积核的裁剪过程中的计算量。
图10示意了根据本公开示例性实施例的基于神经网络的目标检测方法的流程图。
如图10所示,所述目标检测方法可以包括:步骤S301、获取包括预定目标的待检测图像;步骤S302、将包括所述预定目标的待检测图像输入采用如上所述的训练方法训练好的神经网络;以及步骤S303、输出所述待检测图像中的所述预定目标的预测边界框。由此,能够减少目标检测过程中的计算量,降低运算功耗,还能够减少所需的存储空间。这尤其适用于具有目标检测功能的终端设备,比如:移动电话、计算机、个人数字助理、阅读辅助设备、平板电脑、可穿戴设备等。
根据不同的应用场景,所述预定目标可以为飞机、船、汽车、行人、人脸、手指、动物等任意目标。可以针对不同的应用场景,利用训练好的神经网络对相应的预定目标进行检测,以根据检测到的预定目标的参数(例如:位置)执行相应的操作。例如:在阅读辅助设备中,所述预定目标可以为用户的手指或其它指示物(如指示笔、触笔等),通过检测所述预定目标的位置可以确定待识别区域,以对用户指示的待识别区域中的文字进行检测和/或识别。还可以将识别的文字数据转换为声音数据并输出,或将识别的文字数据进行存储,例如,存储为电子书等。
以SSD神经网络为例,基于神经网络的目标检测原理为:将包括预定目标的待检测图像输入训练好的神经网络后,每一个候选框会预测一预测边界框。结合图4所示,检测器200首先根据预测边界框的类别置信度确定其类别(最大类别置信度对应的类别),并过滤掉属于背景的预测边界框。然后根据阈值(如0.5)过滤掉类别置信度小于阈值的预测边界框。对于留下的预测边界框,进行解码获取其位置,可以根据对应的候选框和预测值计算得到预测边界框的位置。最后,可以利用非极大值抑制(英文全称为Non-maximumsuppression,简称为NMS)算法过滤掉非极大值的类别置信度对应的预测边界框,剩余的预测边界框就是神经网络输出的检测结果。神经网络输出的预测边界框可以包括类别和位置。
根据一些实施例,如图11所示,获取包括预定目标的待检测图像的步骤301例如可以包括:步骤S3011、获取预览图像;步骤S3012、确定所述预览图像中是否包括所述预定目标;以及步骤S3013、如果所述预览图像中包括所述预定目标,则获取拍摄的包括所述预定目标的待检测图像。可以利用计算机视觉算法来确定摄像机的预览图像中是否包括所述预定目标。由此,能够利用计算机视觉算法预先确定摄像机的预览图像中是否包括预定目标,在预览图像中包括所述预定目标的情况下,才拍摄用于输入神经网络的、包括所述预定目标的待检测图像,并由神经网络对输入的待检测图像中的所述预定目标进行检测。这样,能够减轻或克服在摄像机拍摄的图片中不包括预定目标时也会将该图片输入神经网络进行目标检测而造成的运算功耗较高的问题。
根据一些实施例,所述预定目标可以为手指。在这种情况下,确定所述预览图像中是否包括所述预定目标可以包括:通过肤色检测算法判断所述预览图像中是否包括手指。由于手指图像的像素单元的像素值位于特定的范围内,与拍摄背景具有显著的区别,因此,可以利用肤色检测算法来检测手指。另外,肤色检测算法较为简单,能够快速确定预览图像中是否包括手指。
根据一些实施例,可以但并不局限于采用基于椭圆皮肤模型的皮肤检测算法,来检测摄像机的预览图像中是否包括手指。基于椭圆皮肤模型的皮肤检测算法的原理是:如果将皮肤信息映射到YCrCb空间,则在CrCb二维空间中这些皮肤像素点近似成一个椭圆分布。因此,如果得到了一个CrCb的椭圆,对于任意一个坐标(Cr,Cb),只需判断它是否在椭圆内(包括边界)。如果是,则可以判断其为皮肤,否则就是非皮肤像素点。其中,YCrCb即YUV,其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。
可以理解的是,也可以利用其它计算机视觉算法来确定预览图像中是否包括手指。例如:通过提取预览图像中的轮廓特征,通过轮廓特征来确定预览图像中是否包括手指。
根据本公开的一些实施例,还提供了一种电子电路,该电子电路可以包括被配置为执行上述基于神经网络的目标检测方法的步骤的电路。
根据本公开的一些实施例,还提供了一种阅读辅助设备,该阅读辅助设备可以包括:上述电子电路;被配置为根据所述电子电路输出的包含文字对象的待检测图像中预定目标的预测边界框,确定所述文字对象中的待识别区域,并对所述待识别区域进行文字检测和/或识别以获得文字数据的电路;被配置为将获得的文字数据转换成声音数据的电路;以及,被配置为输出所述声音数据的电路。
根据本公开的一些实施例,还提供了一种电子设备,包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述的用于目标检测的神经网络的训练方法或者基于神经网络的目标检测方法。
根据本公开的另一方面,还提供一种存储程序的非暂态计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行上述的用于目标检测的神经网络的训练方法或者基于神经网络的目标检测方法。
图12是示出根据本公开的示例性实施例的电子设备的示例的框图。要注意的是,图12所示出的结构仅是一个示例,根据具体的实现方式,本公开的电子设备可以仅包括图12所示出的组成部分中的一种或多个。
电子设备2000例如可以是通用计算机(例如膝上型计算机、平板计算机等等各种计算机)、移动电话、个人数字助理。根据一些实施例,电子设备2000可以是阅读辅助设备或视障辅助设备。
电子设备2000可被配置为拍摄图像,对所拍摄的图像进行处理,并且响应于所述处理所获得的数据而提供声音提示。例如,电子设备2000可被配置为首先确定包含文字对象的预览图像中是否包括预定目标,在确定预览图像中包括预定目标后拍摄包括预定目标的图像,并利用上述训练方法训练好的神经网络对图像中的预定目标进行检测。还可根据该图像中预定目标的位置来确定文字对象中的待识别文字区域,并对所述待识别文字区域进行文字检测和/或识别以获得文字数据,将获得的文字数据转换成声音数据,并且输出声音数据供用户聆听。
根据一些实施方式,所述电子设备2000可以被配置为包括眼镜架或者被配置为能够可拆卸地安装到眼镜架(例如眼镜架的镜框、连接两个镜框的连接件、镜腿或任何其他部分)上,从而能够拍摄到近似包括用户的视野的图像。
根据一些实施方式,所述电子设备2000也可被安装到其它可穿戴设备上,或者与其它可穿戴设备集成为一体。所述可穿戴设备例如可以是:头戴式设备(例如头盔或帽子等)、可佩戴在耳朵上的设备等。根据一些实施例,所述电子设备可被实施为可附接到可穿戴设备上的配件,例如可被实施为可附接到头盔或帽子上的配件等。
根据一些实施方式,所述电子设备2000也可具有其他形式。例如,电子设备2000可以是移动电话、通用计算设备(例如膝上型计算机、平板计算机等)、个人数字助理,等等。电子设备2000也可以具有底座,从而能够被安放在桌面上。
根据一些实施方式,所述电子设备2000作为视障辅助设备可以用于辅助阅读,在这种情况下,所述电子设备2000有时也被称为“电子阅读器”或“阅读辅助设备”。借助于电子设备2000,无法自主阅读的用户(例如视力障碍人士、存在阅读障碍的人士等)可以采用类似阅读姿势的姿势即可实现对常规读物(例如书本、杂志等)的“阅读”。在“阅读”过程中,所述电子设备2000可以首先确定包含文字对象的预览图像中是否包括预定目标(例如手指、指示笔等),在确定预览图像中包括预定目标后拍摄包括预定目标的图像,并利用上述训练方法训练好的神经网络对图像中的预定目标进行检测,输出预定目标的位置。还可以根据所述预定目标的位置确定文字对象中的待识别文字区域,并对所述待识别文字区域进行版面分析、文字检测和/或文字识别(例如利用光学文字识别OCR方法)以获得文字数据,然后将获得的文字数据转换成声音数据,并且通过扬声器或耳机等声音输出设备输出所述声音数据供用户聆听。
电子设备2000可以包括摄像机2004,用于获取图像。摄像机2004可以包括但不限于摄像头或照相机等。电子设备2000还可以包括文字识别电路2005,所述文字识别电路2005被配置为对所述图像中包含的文字进行文字检测和/或识别(例如OCR处理),从而获得文字数据。所述文字识别电路2005例如可以通过专用芯片实现。电子设备2000还可以包括声音转换电路2006,所述声音转换电路2006被配置为将所述文字数据转换成声音数据。所述声音转换电路2006例如可以通过专用芯片实现。电子设备2000还可以包括声音输出电路2007,所述声音输出电路2007被配置为输出所述声音数据。所述声音输出电路2007可以包括但不限于耳机、扬声器、或振动器等,及其相应驱动电路。
根据一些实施方式,电子设备2000还可以包括电子电路2100,所述电子电路2100包括被配置为执行如前所述的基于神经网络的目标检测方法的各个步骤(例如,图10的流程图中所示的方法步骤)的电路。
根据一些实施方式,所述电子设备2000还可以包括图像处理电路2008,所述图像处理电路2008可以包括被配置为对图像进行各种图像处理的电路。图像处理电路2008例如可以包括但不限于以下中的一个或多个:被配置为对图像进行降噪的电路、被配置为对图像进行去模糊化的电路、被配置为对图像进行几何校正的电路、被配置为对图像进行特征提取的电路、被配置为对图像中的对象进行对象检测和/或识别的电路、被配置为对图像中包含的文字进行文字检测的电路、被配置为从图像中提取文本行的电路、被配置为从图像中提取文字坐标的电路、被配置为从图像中提取对象框的电路、被配置为从图像中提取文本框的电路、被配置为基于图像进行版面分析(例如段落划分)的电路,等等。
根据一些实施方式,电子设备2000还可以包括文字处理电路2009,所述文字处理电路2009可以被配置为基于所提取的与文字有关的信息(例如文字数据、文本框、段落坐标、文本行坐标、文字坐标等)进行各种处理,从而获得诸如段落排序、文字语义分析、版面分析结果等处理结果。
上述的各种电路(例如文字识别电路2005、声音转换电路2006、声音输出电路2007、图像处理电路2008、文字处理电路2009、电子电路2100)中的一个或多个可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现。例如,上述的各种电路中的一个或多个可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
根据一些实施方式,电子设备2000还可以包括通信电路2010,所述通信电路2010可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
根据一些实施方式,电子设备2000还可以包括输入设备2011,所述输入设备2011可以是能向电子设备2000输入信息的任何类型的设备,并且可以包括但不限于各种传感器、鼠标、键盘、触摸屏、按钮、控制杆、麦克风和/或遥控器等等。
根据一些实施方式,电子设备2000还可以包括输出设备2012,所述输出设备2012可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、视觉输出终端、振动器和/或打印机等。尽管电子设备2000根据一些实施例用于视障辅助设备,基于视觉的输出设备可以方便用户的家人或维修工作人员等从电子设备2000获得输出信息。
根据一些实施方式,电子设备2000还可以包括处理器2001。所述处理器2001可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器2001例如可以是但不限于中央处理单元CPU或微处理器MPU等等。电子设备2000还可以包括工作存储器2002,所述工作存储器2002可以存储对处理器2001的工作有用的程序(包括指令)和/或数据(例如图像、文字、声音,以及其他中间数据等)的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。电子设备2000还可以包括存储设备2003,所述存储设备2003可以包括任何非暂时性存储设备,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。工作存储器2002和存储设备2003可以被集合地称为“存储器”,并且在有些情况下可以相互兼用。
根据一些实施方式,处理器2001可以对摄像机2004、文字识别电路2005、声音转换电路2006、声音输出电路2007、图像处理电路2008、文字处理电路2009、通信电路2010、电子电路2100以及电子设备2000包括的其他各种装置和电路中的至少一个进行控制和调度。根据一些实施方式,图12中所述的各个组成部分中的至少一些可通过总线2013而相互连接和/或通信。
软件要素(程序)可以位于所述工作存储器2002中,包括但不限于操作系统2002a、一个或多个应用程序2002b、驱动程序和/或其他数据和代码。
根据一些实施方式,用于进行前述的控制和调度的指令可以被包括在操作系统2002a或者一个或多个应用程序2002b中。
根据一些实施方式,执行根据本公开实施例的方法步骤(例如图3、图6-图11的流程图中所示的方法步骤)的指令可以被包括在一个或多个应用程序2002b中,并且上述电子设备2000的各个模块可以通过由处理器2001读取和执行一个或多个应用程序2002b的指令来实现。换言之,电子设备2000可以包括处理器2001以及存储程序的存储器(例如工作存储器2002和/或存储设备2003),所述程序包括指令,所述指令在由所述处理器2001执行时使所述处理器2001执行如本公开各种实施例所述的方法。
根据一些实施方式,文字识别电路2005、声音转换电路2006、图像处理电路2008、文字处理电路2009、电子电路2100中的至少一个所执行的操作中的一部分或者全部可以由处理器2001读取和执行一个或多个应用程序2002b的指令来实现。
软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如所述存储设备2003)中,并且在执行时可以被存入工作存储器2002中(可能被编译和/或安装)。因此,本公开提供存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备(例如视障辅助设备)的处理器执行时,致使所述电子设备执行如本公开各种实施例所述的方法。根据另一种实施方式,软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现各个电路、单元、模块或者元件。例如,所公开的方法和设备所包含的电路、单元、模块或者元件中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
根据一些实施方式,电子设备2000中的处理器2001可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备2000的其他模块也可以类似地分布。这样,电子设备2000可以被解释为在多个位置执行处理的分布式计算系统。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
以下描述本公开的一些示例性方面。
方面1.一种用于目标检测的神经网络的训练方法,所述神经网络包括一个或多个卷积层,每一卷积层包括多个卷积核,所述训练方法包括:
将训练图像输入神经网络;
针对所述一个或多个卷积层中的至少一个卷积层,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数,所述第一损失函数能够表征所述特征图中图像特征的数量;以及
至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核。
方面2.如方面1所述的神经网络的训练方法,其中,至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核包括:
根据所述第一损失函数和一第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,其中,所述第二损失函数是用于确定所述神经网络是否收敛的损失函数。
方面3.如方面2所述的神经网络的训练方法,其中,所述训练图像包括预定目标,所述第二损失函数是基于由所述神经网络的至少一个候选框预测的所述预定目标的至少一个预测信息和在所述训练图像中预先标注的所述预定目标的真实信息来确定的。
方面4.如方面2所述的训练方法,其中,根据所述第一损失函数和第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,包括:
根据所述多个卷积核分别对应的第一损失函数从低到高的排序,从所述多个卷积核中依次选取第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核;
计算所述第二损失函数;
确定所述第二损失函数是否小于或等于设定的阈值;
如果所述第二损失函数小于或等于所述设定的阈值,则根据剩余的多个卷积核分别对应的第一损失函数从低到高的排序,从所述剩余的多个卷积核中依次选取所述第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核。
方面5.如方面4所述的训练方法,其中,根据剩余的多个卷积核分别对应的第一损失函数从低到高的排序,从所述剩余的多个卷积核中依次选取所述第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核之后,还包括:
计算所述第二损失函数;
确定所述第二损失函数是否小于或等于设定的阈值;
如果所述第二损失函数小于或等于所述设定的阈值,则确定是否达到设定的训练轮数,或者第二损失函数的减小比例是否小于设定值;
如果未达到设定的训练轮数或者第二损失函数的减小比例不小于设定值,则继续从剩余的多个卷积核中依次选取第一预定比例的卷积核并将选取的卷积核中的每一个卷积核确定为冗余卷积核;
如果达到设定的训练轮数或者第二损失函数的减小比例小于设定值,则结束神经网络的训练过程。
方面6.如方面4所述的训练方法,其中,根据所述第一损失函数和第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,还包括:
如果所述第二损失函数大于所述设定的阈值,则根据已删除的多个冗余卷积核分别对应的第一损失函数,从所述已删除的多个冗余卷积核中依次选取第二预定比例的冗余卷积核确定为有效卷积核,并将所述有效卷积核重新添加到对应的卷积层中。
方面7.如方面1所述的训练方法,其中,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数包括:
计算所述特征图的所有像素单元的像素值之和,并将所述像素值之和作为所述特征图对应的第一损失函数;
其中,所述至少一个卷积层的冗余卷积核输出的特征图对应的第一损失函数小于所述至少一个卷积层的剩余卷积核中任意一个卷积核输出的特征图对应的第一损失函数。
方面8.如方面1所述的训练方法,其中,所述至少一个卷积层包括多个卷积层,并且对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的百分比相同。
方面9.如方面1所述的训练方法,其中,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的20%~30%。
方面10.如方面9所述的训练方法,其中,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的25%。
方面11.如方面1所述的训练方法,所述图像特征包括以下特征中的一种或多种:
边缘特征、纹理特征、颜色特征或区域特征。
方面12.如方面1~11中任意一项所述的训练方法,在将训练图像输入神经网络之前,还包括:
从与包括所述训练图像的训练图像数据集不同的样本图像数据集中获取多个样本图像,每一样本图像包括预定目标;
对于所述多个样本图像,获取能够包围相应样本图像中的所述预定目标的多个第二真实边界框;
将所述多个第二真实边界框以及所述神经网络的默认候选框共同作为所述神经网络的多个候选框。
方面13.如方面12所述的训练方法,其中,将多个训练图像分别输入所述神经网络以进行所述神经网络的训练,每一训练图像包括预定目标,并且,所述训练方法还包括:
计算所述神经网络的所述多个候选框与每一训练图像中预先标注的所述预定目标的第一真实边界框之间的第三损失函数;
根据所述第三损失函数,将所述多个候选框中的至少一个候选框确定为冗余候选框;以及
删除所述冗余候选框。
方面14.如方面13所述的训练方法,其中,计算所述神经网络的所述多个候选框与每一训练图像中预先标注的所述预定目标的第一真实边界框之间的第三损失函数包括:
针对所述一个或多个卷积层中的至少一个卷积层,对于所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图,为所述特征图的所有像素单元中的每一像素单元设置所述多个候选框;以及
分别计算所述至少一个卷积层的多个卷积核输出的多个特征图中的每一特征图对应的所述多个候选框中的每一候选框,与每一训练图像中的所述预定目标的第一真实边界框之间的交集面积和并集面积,计算所述交集面积和所述并集面积的比值。
方面15.如方面14所述的训练方法,其中,根据所述第三损失函数,将所述多个候选框中的至少一个候选框确定为冗余候选框包括:
对于每一训练图像,将所述交集面积和所述并集面积的比值最大的候选框,确定为保留候选框;
将所述多个候选框中的除分别对应于所述多个训练图像的多个保留候选框以外的至少一个候选框,确定为冗余候选框。
方面16.一种基于神经网络的目标检测方法,包括:
获取包括预定目标的待检测图像;
将包括所述预定目标的待检测图像输入采用如方面1~15中任意一项所述的训练方法训练好的神经网络;以及
输出所述待检测图像中的所述预定目标的预测边界框。
方面17.如方面16所述的检测方法,其中,所述获取包括预定目标的待检测图像包括:
获取预览图像;
确定所述预览图像中是否包括所述预定目标;以及
如果所述预览图像中包括所述预定目标,则获取拍摄的包括所述预定目标的待检测图像。
方面18.如方面17所述的检测方法,其中,所述预定目标为手指;
所述确定所述预览图像中是否包括所述预定目标包括:
通过肤色检测算法判断所述预览图像中是否包括手指。
方面19.一种电子电路,包括:
被配置为执行根据方面16~18中任一项所述的基于神经网络的目标检测方法的步骤的电路。
方面20.一种阅读辅助设备,包括:
如方面19所述的电子电路;
被配置为根据所述电子电路输出的包含文字对象的待检测图像中预定目标的预测边界框,确定所述文字对象中的待识别文字区域,并对所述待识别文字区域进行文字检测和/或识别以获得文字数据的电路;
被配置为将获得的文字数据转换成声音数据的电路;以及
被配置为输出所述声音数据的电路。
方面21.一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据方面1~18中任一项所述的方法。
方面22.一种存储程序的非暂态计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行根据方面1~18中任一项所述的方法。
Claims (19)
1.一种用于目标检测的神经网络的训练方法,所述神经网络包括一个或多个卷积层,每一卷积层包括多个卷积核,所述训练方法包括:
从与包括训练图像的训练图像数据集不同的样本图像数据集中获取多个样本图像,每一样本图像包括预定目标;
对于所述多个样本图像,获取能够包围相应样本图像中的所述预定目标的多个第二真实边界框;
将所述多个第二真实边界框以及所述神经网络的默认候选框共同作为所述神经网络的多个候选框;
将所述训练图像输入神经网络;
针对所述一个或多个卷积层中的至少一个卷积层,计算与所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图对应的第一损失函数,所述第一损失函数能够表征所述特征图中图像特征的数量,所述第一损失函数为所述特征图的所有像素单元的像素值之和,其中,所述至少一个卷积层的冗余卷积核输出的特征图对应的第一损失函数小于所述至少一个卷积层的剩余卷积核中任意一个卷积核输出的特征图对应的第一损失函数;以及
至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,
其中,将多个训练图像分别输入所述神经网络以进行所述神经网络的训练,每一训练图像包括预定目标,并且所述训练方法还包括:
计算所述神经网络的所述多个候选框与每一训练图像中预先标注的所述预定目标的第一真实边界框之间的第三损失函数;
根据所述第三损失函数,将所述多个候选框中的至少一个候选框确定为冗余候选框;以及
删除所述冗余候选框。
2.如权利要求1所述的神经网络的训练方法,其中,至少根据与每一卷积核输出的特征图对应的所述第一损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核包括:
根据所述第一损失函数和一第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,其中,所述第二损失函数是用于确定所述神经网络是否收敛的损失函数。
3.如权利要求2所述的神经网络的训练方法,其中,所述训练图像包括预定目标,所述第二损失函数是基于由所述神经网络的至少一个候选框预测的所述预定目标的至少一个预测信息和在所述训练图像中预先标注的所述预定目标的真实信息来确定的。
4.如权利要求2所述的训练方法,其中,根据所述第一损失函数和第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,包括:
根据所述多个卷积核分别对应的第一损失函数从低到高的排序,从所述多个卷积核中依次选取第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核;
计算所述第二损失函数;
确定所述第二损失函数是否小于或等于设定的阈值;
如果所述第二损失函数小于或等于所述设定的阈值,则根据剩余的多个卷积核分别对应的第一损失函数从低到高的排序,从所述剩余的多个卷积核中依次选取所述第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核。
5.如权利要求4所述的训练方法,其中,根据剩余的多个卷积核分别对应的第一损失函数从低到高的排序,从所述剩余的多个卷积核中依次选取所述第一预定比例的卷积核,将选取的卷积核中的每一个卷积核确定为冗余卷积核,并删除确定的多个冗余卷积核之后,还包括:
计算所述第二损失函数;
确定所述第二损失函数是否小于或等于设定的阈值;
如果所述第二损失函数小于或等于所述设定的阈值,则确定是否达到设定的训练轮数,或者第二损失函数的减小比例是否小于设定值;
如果未达到设定的训练轮数或者第二损失函数的减小比例不小于设定值,则继续从剩余的多个卷积核中依次选取第一预定比例的卷积核并将选取的卷积核中的每一个卷积核确定为冗余卷积核;
如果达到设定的训练轮数或者第二损失函数的减小比例小于设定值,则结束神经网络的训练过程。
6.如权利要求4所述的训练方法,其中,根据所述第一损失函数和第二损失函数,将所述至少一个卷积层的多个卷积核中的至少一个卷积核确定为冗余卷积核,并删除所述冗余卷积核,还包括:
如果所述第二损失函数大于所述设定的阈值,则根据已删除的多个冗余卷积核分别对应的第一损失函数,从所述已删除的多个冗余卷积核中依次选取第二预定比例的冗余卷积核确定为有效卷积核,并将所述有效卷积核重新添加到对应的卷积层中。
7.如权利要求1所述的训练方法,其中,所述至少一个卷积层包括多个卷积层,并且对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的百分比相同。
8.如权利要求1所述的训练方法,其中,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的20%~30%。
9.如权利要求8所述的训练方法,其中,对于所述至少一个卷积层中的每一卷积层,所删除的冗余卷积核的数量占该卷积层所包括的初始卷积核的数量的25%。
10.如权利要求1所述的训练方法,所述图像特征包括以下特征中的一种或多种:
边缘特征、纹理特征、颜色特征或区域特征。
11.如权利要求1所述的训练方法,其中,计算所述神经网络的所述多个候选框与每一训练图像中预先标注的所述预定目标的第一真实边界框之间的第三损失函数包括:
针对所述一个或多个卷积层中的至少一个卷积层,对于所述至少一个卷积层的多个卷积核中的每一卷积核输出的特征图,为所述特征图的所有像素单元中的每一像素单元设置所述多个候选框;以及
分别计算所述至少一个卷积层的多个卷积核输出的多个特征图中的每一特征图对应的所述多个候选框中的每一候选框,与每一训练图像中的所述预定目标的第一真实边界框之间的交集面积和并集面积,计算所述交集面积和所述并集面积的比值。
12.如权利要求11所述的训练方法,其中,根据所述第三损失函数,将所述多个候选框中的至少一个候选框确定为冗余候选框包括:
对于每一训练图像,将所述交集面积和所述并集面积的比值最大的候选框,确定为保留候选框;
将所述多个候选框中的除分别对应于所述多个训练图像的多个保留候选框以外的至少一个候选框,确定为冗余候选框。
13.一种基于神经网络的目标检测方法,包括:
获取包括预定目标的待检测图像;
将包括所述预定目标的待检测图像输入采用如权利要求1~12中任意一项所述的训练方法训练好的神经网络;以及
输出所述待检测图像中的所述预定目标的预测边界框。
14.如权利要求13所述的检测方法,其中,所述获取包括预定目标的待检测图像包括:
获取预览图像;
确定所述预览图像中是否包括所述预定目标;以及
如果所述预览图像中包括所述预定目标,则获取拍摄的包括所述预定目标的待检测图像。
15.如权利要求14所述的检测方法,其中,所述预定目标为手指;
所述确定所述预览图像中是否包括所述预定目标包括:
通过肤色检测算法判断所述预览图像中是否包括手指。
16.一种电子电路,包括:
被配置为执行根据权利要求13~15中任一项所述的基于神经网络的目标检测方法的步骤的电路。
17.一种阅读辅助设备,包括:
如权利要求16所述的电子电路;
被配置为根据所述电子电路输出的包含文字对象的待检测图像中预定目标的预测边界框,确定所述文字对象中的待识别文字区域,并对所述待识别文字区域进行文字检测和/或识别以获得文字数据的电路;
被配置为将获得的文字数据转换成声音数据的电路;以及
被配置为输出所述声音数据的电路。
18.一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1~15中任一项所述的方法。
19.一种存储程序的非暂态计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行根据权利要求1~15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911233604.XA CN110929805B (zh) | 2019-12-05 | 2019-12-05 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911233604.XA CN110929805B (zh) | 2019-12-05 | 2019-12-05 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929805A CN110929805A (zh) | 2020-03-27 |
CN110929805B true CN110929805B (zh) | 2023-11-10 |
Family
ID=69856989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911233604.XA Active CN110929805B (zh) | 2019-12-05 | 2019-12-05 | 神经网络的训练方法、目标检测方法及设备、电路和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929805B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113554042A (zh) * | 2020-04-08 | 2021-10-26 | 富士通株式会社 | 神经网络及其训练方法 |
CN112927173B (zh) * | 2021-04-12 | 2023-04-18 | 平安科技(深圳)有限公司 | 模型压缩方法、装置、计算设备及存储介质 |
CN113378841A (zh) * | 2021-04-29 | 2021-09-10 | 杭州电子科技大学 | 一种基于级联目标检测的指向文字定位方法 |
CN113192057A (zh) * | 2021-05-21 | 2021-07-30 | 上海西井信息科技有限公司 | 目标检测方法、系统、设备及存储介质 |
CN113378465B (zh) * | 2021-06-10 | 2022-06-21 | 青岛海洋科学与技术国家实验室发展中心 | 基于人工智能的芯片设计冗余填充方法 |
CN113657438B (zh) * | 2021-07-08 | 2023-04-18 | 郑州大学 | 一种热红外模式下vgg神经网络的排水管道病害检测方法 |
CN113409299B (zh) * | 2021-07-12 | 2022-02-18 | 北京邮电大学 | 一种医学图像分割模型压缩方法 |
CN113850249A (zh) * | 2021-12-01 | 2021-12-28 | 深圳市迪博企业风险管理技术有限公司 | 一种图表信息格式化提取方法 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704496A (zh) * | 2016-03-25 | 2016-06-22 | 符锌砂 | 一种基于边缘检测的自适应模板匹配算法 |
CN107633296A (zh) * | 2017-10-16 | 2018-01-26 | 中国电子科技集团公司第五十四研究所 | 一种卷积神经网络构建方法 |
CN107886117A (zh) * | 2017-10-30 | 2018-04-06 | 国家新闻出版广电总局广播科学研究院 | 基于多特征提取和多任务融合的目标检测算法 |
CN108764471A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 基于特征冗余分析的神经网络跨层剪枝方法 |
CN108898131A (zh) * | 2018-05-23 | 2018-11-27 | 郑州金惠计算机系统工程有限公司 | 一种复杂自然场景下的数字仪表识别方法 |
CN109063834A (zh) * | 2018-07-12 | 2018-12-21 | 浙江工业大学 | 一种基于卷积特征响应图的神经网络剪枝方法 |
CN109214353A (zh) * | 2018-09-27 | 2019-01-15 | 云南大学 | 一种基于剪枝模型的人脸图像快速检测训练方法和装置 |
CN109409500A (zh) * | 2018-09-21 | 2019-03-01 | 清华大学 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
CN109598340A (zh) * | 2018-11-15 | 2019-04-09 | 北京知道创宇信息技术有限公司 | 卷积神经网络的裁剪方法、装置及存储介质 |
CN109671020A (zh) * | 2018-12-17 | 2019-04-23 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备和计算机存储介质 |
CN109726746A (zh) * | 2018-12-20 | 2019-05-07 | 浙江大华技术股份有限公司 | 一种模板匹配的方法及装置 |
CN109858613A (zh) * | 2019-01-22 | 2019-06-07 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN110032994A (zh) * | 2019-06-10 | 2019-07-19 | 上海肇观电子科技有限公司 | 文字检测方法、阅读辅助设备、电路及介质 |
CN110111297A (zh) * | 2019-03-15 | 2019-08-09 | 浙江大学 | 一种基于迁移学习的注塑制品表面图像缺陷识别方法 |
CN110119737A (zh) * | 2018-02-07 | 2019-08-13 | 高德软件有限公司 | 一种目标检测方法及装置 |
CN110135553A (zh) * | 2018-02-09 | 2019-08-16 | 宏达国际电子股份有限公司 | 卷积神经网络的调整方法及电子装置 |
CN110263628A (zh) * | 2019-05-09 | 2019-09-20 | 杭州飞步科技有限公司 | 障碍物检测方法、装置、电子设备以及存储介质 |
CN110263841A (zh) * | 2019-06-14 | 2019-09-20 | 南京信息工程大学 | 一种基于滤波器注意力机制和bn层缩放系数的动态结构化网络剪枝方法 |
CN110348390A (zh) * | 2019-07-12 | 2019-10-18 | 创新奇智(重庆)科技有限公司 | 一种火焰检测模型的训练方法、计算机可读介质及系统 |
CN110363252A (zh) * | 2019-07-24 | 2019-10-22 | 山东大学 | 趋向于端到端的场景文字检测与识别方法以及系统 |
CN110516797A (zh) * | 2019-08-30 | 2019-11-29 | 联想(北京)有限公司 | 一种裁剪神经网络模型的方法和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180046903A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Deep processing unit (dpu) for implementing an artificial neural network (ann) |
US11093832B2 (en) * | 2017-10-19 | 2021-08-17 | International Business Machines Corporation | Pruning redundant neurons and kernels of deep convolutional neural networks |
US11875260B2 (en) * | 2018-02-13 | 2024-01-16 | Adobe Inc. | Reducing architectural complexity of convolutional neural networks via channel pruning |
US10936913B2 (en) * | 2018-03-20 | 2021-03-02 | The Regents Of The University Of Michigan | Automatic filter pruning technique for convolutional neural networks |
-
2019
- 2019-12-05 CN CN201911233604.XA patent/CN110929805B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704496A (zh) * | 2016-03-25 | 2016-06-22 | 符锌砂 | 一种基于边缘检测的自适应模板匹配算法 |
CN107633296A (zh) * | 2017-10-16 | 2018-01-26 | 中国电子科技集团公司第五十四研究所 | 一种卷积神经网络构建方法 |
CN107886117A (zh) * | 2017-10-30 | 2018-04-06 | 国家新闻出版广电总局广播科学研究院 | 基于多特征提取和多任务融合的目标检测算法 |
CN110119737A (zh) * | 2018-02-07 | 2019-08-13 | 高德软件有限公司 | 一种目标检测方法及装置 |
CN110135553A (zh) * | 2018-02-09 | 2019-08-16 | 宏达国际电子股份有限公司 | 卷积神经网络的调整方法及电子装置 |
CN108764471A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 基于特征冗余分析的神经网络跨层剪枝方法 |
CN108898131A (zh) * | 2018-05-23 | 2018-11-27 | 郑州金惠计算机系统工程有限公司 | 一种复杂自然场景下的数字仪表识别方法 |
CN109063834A (zh) * | 2018-07-12 | 2018-12-21 | 浙江工业大学 | 一种基于卷积特征响应图的神经网络剪枝方法 |
CN109409500A (zh) * | 2018-09-21 | 2019-03-01 | 清华大学 | 基于知识蒸馏与非参数卷积的模型加速方法及装置 |
CN109214353A (zh) * | 2018-09-27 | 2019-01-15 | 云南大学 | 一种基于剪枝模型的人脸图像快速检测训练方法和装置 |
CN109598340A (zh) * | 2018-11-15 | 2019-04-09 | 北京知道创宇信息技术有限公司 | 卷积神经网络的裁剪方法、装置及存储介质 |
CN109671020A (zh) * | 2018-12-17 | 2019-04-23 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备和计算机存储介质 |
CN109726746A (zh) * | 2018-12-20 | 2019-05-07 | 浙江大华技术股份有限公司 | 一种模板匹配的方法及装置 |
CN109858613A (zh) * | 2019-01-22 | 2019-06-07 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN110111297A (zh) * | 2019-03-15 | 2019-08-09 | 浙江大学 | 一种基于迁移学习的注塑制品表面图像缺陷识别方法 |
CN110263628A (zh) * | 2019-05-09 | 2019-09-20 | 杭州飞步科技有限公司 | 障碍物检测方法、装置、电子设备以及存储介质 |
CN110032994A (zh) * | 2019-06-10 | 2019-07-19 | 上海肇观电子科技有限公司 | 文字检测方法、阅读辅助设备、电路及介质 |
CN110263841A (zh) * | 2019-06-14 | 2019-09-20 | 南京信息工程大学 | 一种基于滤波器注意力机制和bn层缩放系数的动态结构化网络剪枝方法 |
CN110348390A (zh) * | 2019-07-12 | 2019-10-18 | 创新奇智(重庆)科技有限公司 | 一种火焰检测模型的训练方法、计算机可读介质及系统 |
CN110363252A (zh) * | 2019-07-24 | 2019-10-22 | 山东大学 | 趋向于端到端的场景文字检测与识别方法以及系统 |
CN110516797A (zh) * | 2019-08-30 | 2019-11-29 | 联想(北京)有限公司 | 一种裁剪神经网络模型的方法和电子设备 |
Non-Patent Citations (18)
Title |
---|
"Learning-Compression" Algorithms for Neural Net Pruning;Miguel A. Carreira-Perpinan 等;《2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition》;20181216;第8532-8541页 * |
An Efficient Model Compression Method for CNN Based Object Detection;Liuchen Qian 等;《2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS)》;20190310;第766-769页 * |
Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding;Song Han 等;《arXiv》;20160215;第1-14页 * |
Learning both Weights and Connections for Efficient Neural Networks;Song Han 等;《arXiv》;20151030;第1-9页 * |
Learning Efficient Convolutional Networks through Network Slimming;Zhuang Liu 等;《2017 IEEE International Conference on Computer Vision (ICCV)》;20171225;第2755-2763页 * |
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications;Andrew G. Howard 等;《arXiv》;20170417;第1-9页 * |
Multi-Layer Pruning Framework for Compressing Single Shot MultiBox Detector;Pravendra Singh 等;《2019 IEEE Winter Conference on Applications of Computer Vision (WACV)》;20190307;第1318-1327页 * |
SSD: Single Shot MultiBox Detector;Wei Liu 等;《arXiv》;20161229;第1-17页 * |
一种用于卷积神经网络压缩的混合剪枝方法;靳丽蕾 等;《小型微型计算机系统》;20181231;第39卷(第12期);第2596-2601页 * |
卷积神经网络算法模型的压缩与加速算法比较;李思奇;《信息与电脑(理论版)》;20190615(第11期);第21-23页 * |
基于DSD和剪枝的模型压缩与加速;褚莹 等;《微型电脑应用》;20181120;第34卷(第11期);第1节、第2节 * |
基于SSD卷积网络的视频目标检测研究;杨洁 等;《南华大学学报(自然科学版)》;20180228(第01期);第78-86页 * |
基于卷积神经网络的单色布匹瑕疵快速检测算法;吴志洋 等;《计算机辅助设计与图形学学报》;20181215(第12期);第2262-2270页 * |
基于层融合特征系数的动态网络结构化剪枝;卢海伟 等;《模式识别与人工智能》;20191115(第11期);第1051-1059页 * |
基于深层卷积神经网络的剪枝优化;马治楠 等;《电子技术应用》;20181206(第12期);第119-122、126页 * |
基于滤波器注意力机制与特征缩放系数的动态网络剪枝;卢海伟 等;《小型微型计算机系统》;20190930;第40卷(第9期);第1832-1838页 * |
基于统计分析的卷积神经网络模型压缩方法;杨扬 等;《计算机系统应用》;20180815(第08期);第49-55页 * |
多级联卷积神经网络人脸检测;余飞 等;《五邑大学学报(自然科学版)》;20180815(第03期);第49-56、71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110929805A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929805B (zh) | 神经网络的训练方法、目标检测方法及设备、电路和介质 | |
US11847826B2 (en) | System and method for providing dominant scene classification by semantic segmentation | |
WO2020192483A1 (zh) | 图像显示方法和设备 | |
EP3757890A1 (en) | Method and device for image processing, method and device for training object detection model | |
US8385645B2 (en) | Object detecting device, imaging apparatus, object detecting method, and program | |
CN108428214B (zh) | 一种图像处理方法及装置 | |
US9262690B2 (en) | Method and device for detecting glare pixels of image | |
KR20180065889A (ko) | 타겟의 검측 방법 및 장치 | |
CN111126394A (zh) | 文字识别方法、阅读辅助设备、电路和介质 | |
CN111950723A (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
CN111771226A (zh) | 电子设备、其图像处理方法及计算机可读记录介质 | |
CN103617432A (zh) | 一种场景识别方法及装置 | |
CN111368672A (zh) | 一种用于遗传病面部识别模型的构建方法及装置 | |
CN109919030B (zh) | 黑眼圈类型识别方法、装置、计算机设备和存储介质 | |
EP4047509A1 (en) | Facial parsing method and related devices | |
CN111598065A (zh) | 深度图像获取方法及活体识别方法、设备、电路和介质 | |
CN113302619B (zh) | 目标区域评估和特征点评估的系统和方法 | |
CN112836653A (zh) | 人脸隐私化方法、设备、装置及计算机存储介质 | |
CN106803077A (zh) | 一种拍摄方法及终端 | |
RU2608239C1 (ru) | Способ и система определения пригодности изображения документа для оптического распознавания символов и других операций по обработке изображений | |
CN109615620B (zh) | 图像压缩度识别方法、装置、设备及计算机可读存储介质 | |
CN113179421B (zh) | 视频封面选择方法、装置、计算机设备和存储介质 | |
KR101592087B1 (ko) | 배경 영상의 위치를 이용한 관심맵 생성 방법 및 이를 기록한 기록 매체 | |
CN115147818A (zh) | 玩手机行为识别方法及装置 | |
KR20140134844A (ko) | 객체 기반 사진 촬영 방법 및 장치 |
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 |