一种图像中的物体检测方法及装置与流程

文档序号:12551283阅读:144来源:国知局
一种图像中的物体检测方法及装置与流程

本发明涉及机器学习技术领域,特别涉及一种图像中的物体检测方法及装置。



背景技术:

随着视频监控技术的发展,智能视频监控应用在越来越多的场景中,例如交通、商场、医院、小区、公园等等,智能视频监控的应用为各种场景中,通过图像进行目标检测奠定了基础。

现有技术在图像中进行目标检测时,一般采用基于候选区域的卷积神经网络(Region Convolutional Neural Network,R-CNN)及其延伸Fast RCNN和FasterRCNN。图1为采用R-CNN进行物体检测的流程示意图,其检测过程包括:接收输入图像,在图像中提取候选区域(region proposal),计算每个候选区域的CNN特征,并采用分类和回归的方法确定物体的类型和位置。上述过程中,需要在图像中提取出2000个候选区域,整个提取的过程需要耗时1~2s的时间,然后针对每个候选区域,需要计算该候选区域的CNN特征,而候选区域中有很多是存在重叠的,因此在计算CNN特征时也会存在很多的重复工作;并且该检测过程中还包括后续步骤:proposal的特征学习,以及对确定的物体的位置进行校正和消除虚警等处理,整个检测过程可能需要2~40s的时间,大大影响了物体检测的实时性。

另外,采用R-CNN进行物体检测的过程中,图像的提取是采用显著性检测(selective search)提取的,之后采用卷积神经网络计算CNN特征,最后再使用支持向量机模型(SVM)进行分类,从而确定目标的位置。而上述三个步骤都是相互独立的方法,没办法对整个检测过程进行整体优化。

图2为采用Faster RCNN进行物体检测的过程示意图,该过程采用卷积神经网络进行,每个滑动窗在中间层(intermediate layer)将会生成一个256维的数据,在分类层(cls layer)检测物体的类别,在回归层(reg layer)检测物体的位置。上述对物体的类别和位置的检测是两个独立的步骤,两个步骤中都需要针对256维的数据分别进行检测,因此该过程也将会增长检测的时长,从而影响物体检测的实时性。



技术实现要素:

本发明实施例公开了一种图像中的物体检测方法及装置,用以提高物体检测的实时性,并便于对物体检测进行整体优化。

为达到上述目的,本发明实施例公开了种图像中的物体检测方法,应用于电子设备,该方法包括:

按照预设的划分方式,将待检测的图像划分为多个网格,其中所述待检测的图像的尺寸为目标尺寸;

将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量;

针对每个网格对应的特征向量,识别该特征向量中类别参数的最大值,当所述最大值大于设定阈值时,根据所述特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应类别的物体的位置信息。

进一步地,所述按照预设的划分方式,将待检测的图像划分为多个网格之前,所述方法还包括:

判断所述图像的尺寸是否为目标尺寸;

如果否,将所述图像的尺寸调整为目标尺寸。

进一步地,所述卷积神经网络的训练过程包括:

针对样本图像集合中的每个样本图像,采用矩形框标注目标物体;

按照预设的划分方式将每个样本图像划分为多个网格,确定每个网格对应的特征向量,其中,每个所述样本图像尺寸为目标尺寸,当网格中包含目标物体的中心点时,根据所述目标物体的类别,将该网格对应的特征向量中该类别对应的类别参数的值设置为预先设定的最大值,根据该中心点位于该网格中的位置,确定所述特征向量中中心点位置参数的值,并根据标注的所述目标物体的矩形框的大小,确定所述特征向量中的外形尺寸参数的值,当网格中不包含目标物体的中心点时,该网格对应的特征向量中各参数的值为零;

根据确定了每个网格的特征向量的每个样本图像,对卷积神经网络进行训练。

进一步地,所述按照预设的划分方式将每个样本图像划分为多个网格之前,所述方法还包括:

针对每个样本图像,判断该样本图像的尺寸是否为目标尺寸;

如果否,将所述样本图像的尺寸调整为目标尺寸。

进一步地,所述根据确定了每个网格的特征向量的每个样本图像,对卷积神经网络进行训练包括:

在所述样本图像集合中选取子样本图像,其中选取的所述子样本图像的数量小于所述样本图像集合中样本图像的数量;

采用选取的每个所述子样本图像,对卷积神经网络进行训练。

进一步地,所述预设的划分方式包括:

将图像和样本图像划分为行数量和列数量相同的多个网格;或,

将图像和样本图像划分为行数量和列数量不相同的多个网格。

进一步地,所述方法还包括:

根据所述卷积神经网络对所述子样本图像中物体的位置和类别的预测,及子样本图像中标注的目标物体的信息,确定所述卷积神经网络的误差;

当所述误差收敛时,确定所述卷积神经网络训练完成,其中所述误差采用以下损失函数确定:

其中,S为划分的网格的行数目和列数目相同时的行数目或列数目、B预先设置的每个网格预测的矩形框的数量,一般取1或2,xi为标注的目标物体的中心点在该网格i的横坐标,为预测的物体的中心点在该网格i的横坐标,yi为标注的目标物体的中心点在该网格i的纵坐标,为预测的物体的中心点在该网格i的纵坐标,hi为标注的该目标物体所在矩形框的高度,wi为标注的该目标物体所在矩形框的宽度,为预测的该物体所在矩形框的高度,为预测的该物体所在矩形框的宽度,Ci为标注的该网格i当前是否存在目标物体的概率,为预测的该网格i当前是否存在物体的概率,Pi(c)为标注的该网格i内的目标物体归属于类别c的概率,为预测的该网格i内的物体归属于类别c的概率,λcoord和λnoobj为设置的权值,在预测的第j个矩形框内的物体的中心点位于网格i内时取1,否则取0,在预测的网格i存在物体的中心点时取1,否则取0,在预测的网格i不存在物体的中心点时取1,否则取0,其中,根据以下公式确定:

Pr(Object)为预测的该网格i当前是否存在物体的概率,Pr(Class|Object)为预测的网格i内的物体归属于类别c的条件概率。

进一步地,所述根据所述特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应类别的物体的位置信息包括:

根据所述中心点的位置参数,确定所述中心点在所述网格中的位置信息;

根据所述位置信息确定所述中心点,将所述中心点作为矩形框的中心,根据所述外形尺寸参数,确定所述矩形框的位置信息,将所述矩形框的位置信息作为所述物体的位置信息,并将所述类别参数对应的物体类别作为所述物体的类别。

进一步地,所述根据所述中心点的位置参数,确定所述中心点在所述网格中的位置信息包括:

将所述网格的设定点作为参考点;根据所述参考点及所述中心点的位置参数,确定所述中心点在所述网格中的位置信息。

本发明实施例公开了一种图像中的物体检测装置,所述装置包括:

划分模块,用于按照预设的划分方式,将待检测的图像划分为多个网格,其中所述待检测的图像的尺寸为目标尺寸;

检测模块,用于将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量;

确定模块,用于针对每个网格对应的特征向量,识别该特征向量中类别参数的最大值,当所述最大值大于设定阈值时,根据所述特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应类别的物体的位置信息。

进一步地,所述装置还包括:

判断调整模块,用于判断所述图像的尺寸是否为目标尺寸;如果否,将所述图像的尺寸调整为目标尺寸。

进一步地,所述装置还包括:

训练模块,用于针对样本图像集合中的每个样本图像,采用矩形框标注目标物体;按照预设的划分方式将每个样本图像划分为多个网格,确定每个网格对应的特征向量,其中,每个所述样本图像尺寸为目标尺寸,当网格中包含目标物体的中心点时,根据所述目标物体的类别,将该网格对应的特征向量中该类别对应的类别参数的值设置为预先设定的最大值,根据该中心点位于该网格中的位置,确定所述特征向量中中心点位置参数的值,并根据标注的所述目标物体的矩形框的大小,确定所述特征向量中的外形尺寸参数的值,当网格中不包含目标物体的中心点时,该网格对应的特征向量中各参数的值为零;根据确定了每个网格的特征向量的每个样本图像,对卷积神经网络进行训练。

进一步地,所述训练模块,还用于针对每个样本图像,判断该样本图像的尺寸是否为目标尺寸;如果否,将所述样本图像的尺寸调整为目标尺寸。

进一步地,所述训练模块,具体用于在所述样本图像集合中选取子样本图像,其中选取的所述子样本图像的数量小于所述样本图像集合中样本图像的数量;采用选取的每个所述子样本图像,对卷积神经网络进行训练。

进一步地,所述装置还包括:

误差计算模块,用于根据所述卷积神经网络对所述子样本图像中物体的位置和类别的预测,及子样本图像中标注的目标物体,确定所述卷积神经网络的误差;

当所述误差收敛时,确定所述卷积神经网络训练完成,其中所述误差采用以下损失函数确定:

其中,S为划分的网格的行数目和列数目相同时的行数目或列数目、B预先设置的每个网格预测的矩形框的数量,一般取1或2,xi为标注的目标物体的中心点在该网格i的横坐标,为预测的物体的中心点在该网格i的横坐标,yi为标注的目标物体的中心点在该网格i的纵坐标,为预测的物体的中心点在该网格i的纵坐标,hi为标注的该目标物体所在矩形框的高度,wi为标注的该目标物体所在矩形框的宽度,为预测的该物体所在矩形框的高度,为预测的该物体所在矩形框的宽度,Ci为标注的该网格i当前是否存在目标物体的概率,为预测的该网格i当前是否存在物体的概率,Pi(c)为标注的该网格i内的目标物体归属于类别c的概率,为预测的该网格i内的物体归属于类别c的概率,λcoord和λnoobj为设置的权值,在预测的第j个矩形框内的物体的中心点位于网格i内时取1,否则取0,在预测的网格i存在物体的中心点时取1,否则取0,在预测的网格i不存在物体的中心点时取1,否则取0,其中,根据以下公式确定:

Pr(Object)为预测的该网格i当前是否存在物体的概率,Pr(Class|Object)为预测的网格i内的物体归属于类别c的条件概率。

进一步地,所述确定模块,具体用于根据所述中心点的位置参数,确定所述中心点在所述网格中的位置信息;

根据所述位置信息确定所述中心点,将所述中心点作为矩形框的中心,根据所述外形尺寸参数,确定所述矩形框的位置信息,将所述矩形框的位置信息作为所述物体的位置信息,并将所述类别参数对应的物体类别作为所述物体的类别。

进一步地,所述确定模块,具体用于将所述网格的设定点作为参考点;根据所述参考点及所述中心点的位置参数,确定所述中心点在所述网格中的位置信息。

本发明实施例提供了一种图像中的物体检测方法及装置,该方法中按照预设的划分方式,将待检测的图像划分为多个网格,其中所述图像的尺寸为目标尺寸,将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量,识别每个特征向量中类别参数的最大值,当该最大值大于设定阈值时,根据特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应的类别的物体的位置信息。由于本发明实施例中通过预先训练完成的卷积神经网络,确定该图像对应的每个特征向量,根据特征向量中的类别参数和位置相关参数,确定图像中的物体的类别和位置,可以同时实现物体位置和类别的检测,便于整体优化,另外由于根据每个网格对应的特征向量,确定物体的位置和类别,无需选择多个特征区域,节省了检测的时间,提高了检测的实时性和检测的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为采用R-CNN进行物体检测的流程示意图;

图2为采用Faster RCNN进行物体检测的过程示意图;

图3为本发明实施例提供的一种图像中的物体检测过程示意图;

图4为本发明实施例提供的一种图像中的物体检测的详细实施过程示意图;

图5为本发明实施例提供的卷积神经网络的训练过程示意图;

图6A-图6D为本发明实施例提供的目标物体的标注结果示意图;

图7为图6D中立方体结构的构造过程示意图;

图8为本发明实施例提供的一种图像中的物体检测装置的结构示意图。

具体实施方式

为了有效提高物体检测的效率,提高物体检测的实时性,便于物体检测整体优化,本发明实施例提供了一种图像中的物体检测方法及装置。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图3为本发明实施例提供的一种图像中的物体检测过程示意图,该过程包括以下步骤:

步骤S301:按照预设的划分方式,将待检测的图像划分为多个网格,其中所述待检测的图像的尺寸为目标尺寸。

本发明实施例应用于电子设备,具体的该电子设备可以是台式机、笔记本、其他具有处理能力的智能设备等。

获取到目标尺寸的待检测的图像后,按照预设的划分方式,将待检测的图像划分为多个网格,其中该预设的划分方式与卷积神经网络训练时,对图像的划分方式相同。例如为了方便,可以是将图像为多个行、多个列,行之间的间隔以及列之间的间隔相等,或不等。当然也可以将图像划分为多个不规则的网格,只要保证待检测的图像及进行卷积神经网络训练的图像采用相同的网格划分方式即可。

当将图像划分为多个行和多个列时,可以是将图像划分为行、列的数量相同的多个网格,或者也可以是划分为行、列的数量不同的多个网格,当然划分后的每个网格的长宽比可以相同,也可以不同。

步骤S302:将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量。

为了检测图像中物体的类别和位置,在本发明实施例中对卷积神经网络进行训练,通过训练完成的卷积神经网络获取每个网格对应的特征向量,例如可以将图像划分为7*7的49个网格,则将划分后的图像输入到训练完成的卷积神经网络后,可以输出49个特征向量,每个特征向量对应一个网格。

步骤S303:针对每个网格对应的特征向量,识别该特征向量中类别参数的最大值,当所述最大值大于设定阈值时,根据所述特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应类别的物体的位置信息。

具体的,本发明实施例得到的特征向量为多维向量,该特征向量至少包括:类别参数和位置参数,其中类别参数包括多个,该位置参数又包括:中心点位置参数和外形尺寸参数。当获取了每个网格对应的特征向量后,针对每个网格对应的特征向量,分别判断该网格是否检测到物体。如果网格对应的特征向量中多个类别参数中的最大值大于设定阈值,则该网格检测到物体,该类别参数对应的类别即为该物体的类别,可以根据该网格对应的特征向量确定该物体的位置。

因为在卷积神经网络训练时采用的特征向量中的位置参数是根据设定的方法确定的,因此可以根据该设定的方法,确定物体的位置。

由于本发明实施例中通过预先训练完成的卷积神经网络,确定该图像对应的每个特征向量,根据特征向量中的类别参数和位置相关参数,确定图像中的物体的类别和位置,可以同时实现物体位置和类别的预测,便于整体优化,另外由于根据每个网格对应的特征向量,确定物体的位置和类别,无需选择多个特征区域,节省了检测的时间,提高了检测的实时性和检测的效率。

本发明实施例中的物体检测是针对目标尺寸的图像进行的检测,该目标尺寸为卷积神经网络进行训练时,采用的图像的统一尺寸,该尺寸可以是任意尺寸,只要卷积神经网络训练时和物体检测时的图像的尺寸相同即可。该目标尺寸例如可以是1024*1024,或者,可以是256*512等。

因此,在本发明实施例中,为了保证输入到卷积神经网络中的图像都是目标尺寸的图像,在按照预设的划分方式,将待检测的图像划分为多个网格之前,所述方法还包括:

判断所述图像的尺寸是否为目标尺寸;

如果否,将所述图像的尺寸调整为目标尺寸。

当待检测的图像为目标尺寸时,直接对该图像进行后续处理,当待检测的图像非目标尺寸时,将该待检测的图像调整到目标尺寸。图像尺寸的调整属于现有技术,在本发明实施例中对该过程不进行赘述。

具体的,在本发明实施例中根据所述特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应类别的物体的位置信息包括:

根据所述中心点的位置参数,确定所述中心点在所述网格中的位置信息;

根据所述位置信息确定所述中心点,将所述中心点作为矩形框的中心,根据所述外形尺寸参数,确定所述矩形框的位置信息,将所述矩形框的位置信息作为所述物体的位置信息,并将所述类别参数对应的物体类别作为所述物体的类别。

其中,所述根据所述中心点的位置参数,确定所述中心点在所述网格中的位置信息包括:

将所述网格的设定点作为参考点;根据所述参考点及所述中心点的位置参数,确定所述中心点在所述网格中的位置信息。

图4为本发明实施例提供的一种图像中的物体检测的详细实施过程示意图,该过程包括以下步骤:

步骤S401:接收待检测的图像。

步骤S402:判断所述图像的尺寸是否为目标尺寸,如果是,进行步骤S404,否则,进行步骤S403。

步骤S403:将所述图像的尺寸调整为目标尺寸。

步骤S404:按照预设的划分方式,将待检测的图像划分为多个网格,其中所述待检测的图像的尺寸为目标尺寸。

步骤S405:将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量。

步骤S406:针对每个网格对应的特征向量,识别该特征向量中类别参数的最大值。

步骤S407:当所述最大值大于设定阈值时,将所述网格的设定点作为参考点,根据所述参考点及所述中心点的位置参数,确定所述中心点在所述网格中的位置信息。

步骤S408:根据所述位置信息确定所述中心点,将所述中心点作为矩形框的中心,根据所述外形尺寸参数,确定所述矩形框的位置信息,将所述矩形框的位置信息作为所述物体的位置信息,并将所述类别参数对应的物体类别作为所述物体的类别。

上述目标检测是基于训练完成的卷积神经网络进行的,为了实现对物体的检测,需要对卷积神经网络进行训练。本发明实施例中在对卷积神经网络进行训练时,将目标尺寸的样本图像划分为多个网格,如果某一目标物体的中心点位于某一个网格内,则该网格负责检测该目标物体,包括检测该目标物体的类别和对应的位置(bounding box)。

图5为本发明实施例提供的卷积神经网络的训练过程示意图,该过程包括以下步骤:

步骤S501:针对样本图像集合中的每个样本图像,采用矩形框标注目标物体。

在本发明实施例中采用大量的样本图像对卷积神经网络进行训练,则大量的样本图像构成样本图像集合。采用矩形框在每个样本图像中标注目标物体。

具体的,如图6A-图6D所示的目标物体的标注结果示意图,图6A中的样本图像中存在3个目标物体分别为狗、自行车和小轿车。在对每个目标物体进行标注时,分别在样本图像中识别每个目标物体在上、下、左、右(相对图6A所示的上、下、左、右方向)四个方向的顶点,如果该顶点为上、下顶点,则将分别经过上、下顶点平行于样本图像上下底边的两条线作为矩形框的两条边,如果该顶点为左、右顶点,则将分别经过左、右顶点平行于样本图像左右侧边的两条线作为矩形框的另外两条边。如图6A中用虚线标注的狗、自行车和小轿车的矩形框。

步骤S502:按照预设的划分方式将每个样本图像划分为多个网格,确定每个网格对应的特征向量,其中,每个所述样本图像尺寸为目标尺寸,当网格中包含目标物体的中心点时,根据所述目标物体的类别,将该网格对应的特征向量中该类别对应的类别参数的值设置为预先设定的最大值,根据该中心点位于该网格中的位置,确定所述特征向量中中心点位置参数的值,并根据标注的所述目标物体的矩形框的大小,确定所述特征向量中的外形尺寸参数的值,当网格中不包含目标物体的中心点时,该网格对应的特征向量中各参数的值为零。

在本发明实施例中可以按照预设的划分方式,将样本图像划分为多个网格,其中该样本图像的划分方式,与上述检测过程中对待检测的图像的划分方式相同。

例如为了方便,可以是将图像为多个行、多个列,行之间的间隔以及列之间的间隔相等,或不等。当然也可以将图像划分为多个不规则的网格,只要保证待检测的图像及进行卷积神经网络训练的图像采用相同的网格划分方式即可。

当将图像划分为多个行和多个列时,可以是将图像划分为行、列的数量相同的多个网格,或者也可以是划分为行、列的数量不同的多个网格,当然划分后的每个网格的长宽比可以相同,也可以不同。例如将样本图像划分为12*10、或者15*15、或者6*6等等的多个网格。当网格的大小相等时,可以将网格大小进行归一化。如图6B所示,在本发明实施例中将样本图像划分为横向7行,纵向7列的多个网格,每个网格为方格,因此归一化后的每个网格的大小可以认为1*1。

样本图像中每个网格对应一个特征向量,该特征向量为多维向量,该特征向量至少包括:类别参数和位置参数,其中类别参数包括多个,该位置参数又包括:中心点位置参数和外形尺寸参数。

步骤S503:根据确定了每个网格的特征向量的每个样本图像,对卷积神经网络进行训练。

具体的,在本发明实施例中,可以采用样本图像集合中的所有样本图像对卷积神经网络进行训练。但因为样本图像集合中包含大量的样本图像,为了提高训练的效率,在本发明实施例中根据确定了每个网格的特征向量的每个样本图像,对卷积神经网络进行训练包括:

在所述样本图像集合中选取子样本图像,其中选取的所述子样本图像的数量小于所述样本图像集合中样本图像的数量;

采用选取的每个所述子样本图像,对卷积神经网络进行训练。

通过随机选取远小于样本图像总数量的子样本图像,对卷积神经网络进行训练,不断更新卷积神经网络的参数,直到每个网格预测的物体的信息与标注的目标物体的信息之间的误差收敛为止。

同样的,在本发明实施例中在对卷积神经网络进行训练时,采用的目标尺寸的样本图像,因此,在本发明实施例中,为了保证输入到卷积神经网络中的样本图像都是目标尺寸,所述按照预设的划分方式将每个样本图像划分为多个网格之前,所述方法还包括:

针对每个样本图像,判断该样本图像的尺寸是否为目标尺寸;

如果否,将所述样本图像的尺寸调整为目标尺寸。

当样本图像为目标尺寸时,直接对该样本图像进行后续处理,当样本图像非目标尺寸时,将该样本图像调整到目标尺寸。图像尺寸的调整属于现有技术,在本发明实施例中对该过程不进行赘述。

上述过程中,可以先对样本图像进行目标尺寸的调整,也可以先在样本图像中进行矩形框的标注。先进行进行矩形框的标注保证在样本图像的尺寸比较大时,能够准确标注目标物体,先进行目标尺寸的调整可以保证在样本图像的尺寸比较小时,能够准确标注目标物体。

在上述标注过程中,可以确定样本图像中每个网格对应的特征向量,在本发明实施例中每个网格对应的特征向量可以表示为(confidence,cls1,cls2,cls3,…,cls20,x,y,w,h),其中confidence为概率参数、cls1,cls2,cls3,…,cls20为类别参数,x、y、w和h为位置参数,其中x和y为中心点位置参数,w和y为外形尺寸参数。当该网格中包含目标物体的中心点时,确定该网格对应的特征向量中每个参数的值,当该网格中不包含目标物体的中心点时,该网格对应的特征向量中每个参数的值为0。

具体的,由于在样本图像中采用矩形框对每个目标物体进行了标注,可以认为矩形框的中心点即为目标物体的中心点,如图6C所示的三个矩形框的中心点。当网格中包含目标物体的中心点时,则在标注时,可以认为该网格对应的特征向量中概率参数为1,即当前该网格中存在目标物体的概率为1。

因为样本图像中包含的目标物体的类别有多个,在本发明实施例中采用类别参数cls来表示,cls1、cls2、……、clsn分别表示不同类别的目标物体。例如n可以为20,即共有20中类别的目标物体,cls1表示的目标物体类别为小轿车,cls2表示的目标物体类别为狗、cls3表示的目标物体类别为自行车。当网格中包含目标物体的中心点时,将该目标物体对应的类别参数值设置为最大值,其中该最大值大于设定的阈值,例如该最大值可以为1,阈值可以为0.4等。

例如图6C中所示的,从下往上(图6C中所示的上下)每个中心点所在的网格对应的特征向量中,第一个中心点对应的特征向量中的类别参数中cls2为1,其他类别参数为0,第二个中心点对应的特征向量中的类别参数中cls3为1,其他类别参数为0,第三个中心点对应的特征向量中的类别参数中cls1为1,其他类别参数为0。

该特征向量中还包含目标物体的位置参数x、y、w和h,其中x和y为中心点位置参数,其数值为目标物体的中心点相对于设定点的横纵坐标值,其中每个网格对应的设定点可以相同,也可以不同,例如可以认为样本图像的左上角为设定点,即坐标原点,因为对每个网格进行了归一化,因此每个网格中的每个位置的坐标都唯一确定。当然,为了简化过程,减少计算量,每个网格对应的设定点也可以不同,可以将每个网格作为一个独立的单元,该网格的左上角即为设定点,即坐标原点。因此在进行标注时,可以根据中心点相对于其所在网格左上角的偏移,确定该网格对应的特征向量中的x和y的值。其中,根据相对位置的偏移,确定x和y值的过程属于现有技术,在本发明实施例中对该过程不进行赘述。位置参数中w和h为外形尺寸参数,其数值为目标物体所在矩形框的长和宽的值。

因为特征向量是一个多维向量,为了准确的表示每个网格对应的特征向量,在本发明实施例中根据图7所示的构建方式,构建图6D所示的立方体结构,将该网格在卷积层、最大池化层、全连接层和输出层进行相应处理,生成立方网格结构,其中立方网格在Z轴方向的深度根据特征向量的维度确定。在本发明实施例中,该立方网格在Z轴方向的深度为25。上述在卷积神经网络的各层中进行相应处理,生成立方网格结构的过程属于现有技术,在本发明实施例中对该过程不进行赘述。

采用上述方式对大量的样本图像进行标注后,采用标注后的样本图像对卷积神经网络进行训练。具体的,在本发明实施例中采用的多个子样本图像,对卷积神经网络进行的训练。在训练过程中,针对每个子样本图像,通过卷积神经网络得到该子样本图像的卷积特征图,该卷积特征图中包含对应每个网格的特征向量(confidence,cls1,cls2,cls3,…,cls20,x,y,w,h),该特征向量中包含该网格中预测到的物体的位置参数和类别参数,以及概率参数confidence,该概率参数confidence表示该网格预测到的物体所在矩形框与标注的该目标物体的矩形框的重叠程度。

在训练过程中针对每个子样本图像,通过计算预测信息与标注信息的误差,调整卷积神经网络的网络参数,通过每次随机选取远小于样本图像总数量(batch)的子样本图像,对卷积神经网络进行训练,并更新其网络参数,直到每个网格的预测信息与标注信息之间的误差收敛。根据子样本图像对卷积神经网络进行训练,调整卷积神经网络的网络参数,直至卷积神经网络训练完成的过程属于现有技术,在本发明实施例中对该过程不进行赘述。

在上述卷积神经网络的训练过程中,为了准确的预测物体的位置和类别信息,在本发明实施例中该卷积神经网络的最后的全连接层采用逻辑激活函数,卷积层和其他全连接层采用Leak ReLU函数。其中该leaky ReLU函数为:

在本发明实施例中为了完成对卷积神经网络的训练,使其收敛,在对卷积神经网络训练时,该方法还包括:

根据所述卷积神经网络对所述子样本图像中目标物体的位置和类别的预测,及子样本图像中标注的目标物体的信息,确定所述卷积神经网络的误差;

当所述误差收敛时,确定所述卷积神经网络训练完成,其中所述误差采用以下损失函数确定:

其中,S为划分的网格的行数目和列数目相同时的行数目或列数目、B预先设置的每个网格预测的矩形框的数量,一般取1或2,xi为标注的目标物体的中心点在该网格i的横坐标,为预测的物体的中心点在该网格i的横坐标,yi为标注的目标物体的中心点在该网格i的纵坐标,为预测的物体的中心点在该网格i的纵坐标,hi为标注的该目标物体所在矩形框的高度,wi为标注的该目标物体所在矩形框的宽度,为预测的该物体所在矩形框的高度,为预测的该物体所在矩形框的宽度,Ci为标注的该网格i当前是否存在目标物体的概率,为预测的该网格i当前是否存在物体的概率,Pi(c)为标注的该网格i内的目标物体归属于类别c的概率,为预测的该网格i内的物体归属于类别c的概率,λcoord和λnoobj为设置的权值,在预测的第j个矩形框内的物体的中心点位于网格i内时取1,否则取0,在预测的网格i存在物体的中心点时取1,否则取0,在预测的网格i不存在物体的中心点时取1,否则取0,其中,根据以下公式确定:

Pr(Object)为预测的该网格i当前是否存在物体的概率,Pr(Class|Object)为预测的网格i内的物体归属于类别c的条件概率。

为了使预测结果与标注结果之间的误差比较大时,其在预测过程中对位置预测的贡献比较小,在本发明实施例中,采用上述损失函数。

如图6B所示,在本发明的一个具体实施例中将每个样本图像划分为了7*7共49个网格,每个网格都能对20个类别进行检测,因此一个样本图像可以产生980个检测概率,其中大部分网格的检测概率为0。这将导致训练离散化,在这里引入一个变量解决这个问题:即某个网格是否有物体存在的概率。因此除了20个类别参数,还有一个预测的网格当前是否有物体存在的概率Pr(Object),则某个网格内的目标物体归属于类别c的概率为Pr(Object)与预测的某个网格内的物体归属于类别c的条件概率Pr(Class|Object)的乘积。在每个网格都对Pr(Object)进行更新,只有在网格中存在物体时才对Pr(Class|Object)进行更新。

图8为本发明实施例提供的一种图像中的物体检测装置结构示意图,该装置位于电子设备中,该装置包括:

划分模块81,用于按照预设的划分方式,将待检测的图像划分为多个网格,其中所述待检测的图像的尺寸为目标尺寸;

检测模块82,用于将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量;

确定模块83,用于针对每个网格对应的特征向量,识别该特征向量中类别参数的最大值,当所述最大值大于设定阈值时,根据所述特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应类别的物体的位置信息。

所述装置还包括:

判断调整模块84,用于判断所述图像的尺寸是否为目标尺寸;如果否,将所述图像的尺寸调整为目标尺寸。

所述装置还包括:

训练模块85,用于针对样本图像集合中的每个样本图像,采用矩形框标注目标物体;按照预设的划分方式将每个样本图像划分为多个网格,确定每个网格对应的特征向量,其中,每个所述样本图像尺寸为目标尺寸,当网格中包含目标物体的中心点时,根据所述目标物体的类别,将该网格对应的特征向量中该类别对应的类别参数的值设置为预先设定的最大值,根据该中心点位于该网格中的位置,确定所述特征向量中中心点位置参数的值,并根据标注的所述目标物体的矩形框的大小,确定所述特征向量中的外形尺寸参数的值,当网格中不包含目标物体的中心点时,该网格对应的特征向量中各参数的值为零;根据确定了每个网格的特征向量的每个样本图像,对卷积神经网络进行训练。

所述训练模块85,还用于针对每个样本图像,判断该样本图像的尺寸是否为目标尺寸;如果否,将所述样本图像的尺寸调整为目标尺寸。

所述训练模块85,具体用于在所述样本图像集合中选取子样本图像,其中选取的所述子样本图像的数量小于所述样本图像集合中样本图像的数量;采用选取的每个所述子样本图像,对卷积神经网络进行训练。

所述装置还包括:

误差计算模块86,用于根据所述卷积神经网络对所述子样本图像中物体的位置和类别的预测,及子样本图像中标注的目标物体的信息,确定所述卷积神经网络的误差;

当所述误差收敛时,确定所述卷积神经网络训练完成,其中所述误差采用以下损失函数确定:

其中,S为划分的网格的行数目和列数目相同时的行数目或列数目、B预先设置的每个网格预测的矩形框的数量,一般取1或2,xi为标注的目标物体的中心点在该网格i的横坐标,为预测的物体的中心点在该网格i的横坐标,yi为标注的目标物体的中心点在该网格i的纵坐标,为预测的物体的中心点在该网格i的纵坐标,hi为标注的该目标物体所在矩形框的高度,wi为标注的该目标物体所在矩形框的宽度,为预测的该物体所在矩形框的高度,为预测的该物体所在矩形框的宽度,Ci为标注的该网格i当前是否存在目标物体的概率,为预测的该网格i当前是否存在物体的概率,Pi(c)为标注的该网格i内的目标物体归属于类别c的概率,为预测的该网格i内的物体归属于类别c的概率,λcoord和λnoobj为设置的权值,在预测的第j个矩形框内的物体的中心点位于网格i内时取1,否则取0,在预测的网格i存在物体的中心点时取1,否则取0,在预测的网格i不存在物体的中心点时取1,否则取0,其中,根据以下公式确定:

Pr(Object)为预测的该网格i当前是否存在物体的概率,Pr(Class|Object)为预测的网格i内的物体归属于类别c的条件概率。

所述确定模块83,具体用于根据所述中心点的位置参数,确定所述中心点在所述网格中的位置信息;根据所述位置信息确定所述中心点,将所述中心点作为矩形框的中心,根据所述外形尺寸参数,确定所述矩形框的位置信息,将所述矩形框的位置信息作为所述物体的位置信息,并将所述类别参数对应的物体类别作为所述物体的类别。

所述确定模块83,具体用于将所述网格的设定点作为参考点;根据所述参考点及所述中心点的位置参数,确定所述中心点在所述网格中的位置信息。

本发明实施例提供了一种图像中的物体检测方法及装置,该方法中按照预设的划分方式,将待检测的图像划分为多个网格,其中所述图像的尺寸为目标尺寸,将划分后的图像输入到预先训练完成的卷积神经网络中,获取卷积神经网络输出的所述图像的多个特征向量,其中每个网格对应一个特征向量,识别每个特征向量中类别参数的最大值,当该最大值大于设定阈值时,根据特征向量中中心点位置参数和外形尺寸参数,确定该类别参数对应的类别的物体的位置信息。由于本发明实施例中通过预先训练完成的卷积神经网络,确定该图像对应的每个特征向量,根据特征向量中的类别参数和位置相关参数,确定图像中的物体的类别和位置,可以同时实现物体位置和类别的检测,便于整体优化,另外由于根据每个网格对应的特征向量,确定物体的位置和类别,无需选择多个特征区域,节省了检测的时间,提高了检测的实时性和检测的效率。

对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1