行人检测方法、装置、介质及电子设备与流程

文档序号:17549201发布日期:2019-04-30 18:08阅读:163来源:国知局
行人检测方法、装置、介质及电子设备与流程

本发明涉及图像处理技术领域,具体而言,涉及一种行人检测方法、装置、介质及电子设备。



背景技术:

现有的行人检测算法通常针对直立的行人很有效,但是对于倾斜、变形的行人检测通常会存在检测出的行人所处的位置不精确,难以根据检测框的位置去判断行人头、脚所处位置等问题。由于检测框为矩形包围框,若对行人位置检测不准确,会导致检测框内包含较多背景环境的信息,进而会对下一步的分析处理造成干扰,如判断行人属性、行人是谁等问题。

因此,如何能够对畸变图像中的行人进行检测,同时提高检测的精度成为亟待解决的技术问题。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明的目的在于提供一种行人检测方法、装置、介质及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明实施例的第一方面,提供了一种行人检测方法,包括:获取原始图像;确定所述原始图像中的行人的头部和脚部的位置;根据所述原始图像中的行人的头部和脚部的位置,对所述原始图像进行矫正,以得到行人处于直立姿态的矫正图像;检测所述矫正图像中的行人,并通过检测框进行框选;根据所述矫正图像与所述原始图像的映射关系,将所述检测框映射到所述原始图像中,以得到所述原始图像中行人的检测区域。

在本发明的一些实施例中,基于前述方案,根据所述原始图像中的行人的头部和脚部的位置,对所述原始图像进行矫正,包括:以所述原始图像中的行人的头部和脚部的位置为基准,确定将所述原始图像中的行人变换为直立姿态的变换关系;基于所述变换关系,对所述原始图像进行矫正。

在本发明的一些实施例中,基于前述方案,检测所述矫正图像中的行人,包括:获取检测模型,以及用于对所述检测模型进行训练的样本数据;通过所述样本数据对所述检测模型进行训练,以得到训练后的检测模型;基于所述训练后的检测模型,检测所述矫正图像中的行人。

在本发明的一些实施例中,基于前述方案,所述样本数据包括:未进行行人姿态矫正的图像及图像中的行人数据,和/或进行行人姿态矫正后的图像及图像中的行人数据。

在本发明的一些实施例中,基于前述方案,根据所述矫正图像与所述原始图像的映射关系,将所述检测框映射到所述原始图像中,包括:在所述矫正图像中,生成所述检测框的上下边线的中点连线;根据所述矫正图像与所述原始图像的映射关系,将所述中点连线映射到所述原始图像中,得到映射中心线;计算所述矫正图像中的所述检测框的上边线与下边线分别映射到所述原始图像中的第一长度和第二长度;根据所述映射中心线、所述第一长度和所述第二长度,在所述矫正图像中生成所述检测框映射得到的选择框。

在本发明的一些实施例中,基于前述方案,计算所述矫正图像中的所述检测框的上边线与下边线分别映射到所述原始图像中的第一长度和第二长度,包括:确定所述矫正图像中的所述检测框的上边线与下边线的各个端点在所述原始图像中的映射点;根据所述上边线的各个端点在所述原始图像中的映射点计算所述第一长度,并根据所述下边线的各个端点在所述原始图像中的映射点,计算所述第二长度。

在本发明的一些实施例中,基于前述方案,根据所述映射中心线、所述第一长度和所述第二长度,在所述矫正图像中生成所述检测框映射得到的选择框,包括:将所述映射中心线作为梯形的对称中心,将所述第一长度和所述第二长度分别作为梯形的上边和下边,生成所述选择框。

在本发明的一些实施例中,基于前述方案,确定所述原始图像中的行人的头部和脚部的位置,包括:接收用户的选择指令,根据所述用户的选择指令确定所述原始图像中的行人的头部和脚部的位置。

根据本发明实施例的第二方面,提供了一种行人检测装置,包括:获取单元,用于获取原始图像;确定单元,用于确定所述原始图像中的行人的头部和脚部的位置;矫正单元,用于根据所述原始图像中的行人的头部和脚部的位置,对所述原始图像进行矫正,以得到行人处于直立姿态的矫正图像;检测单元,用于检测所述矫正图像中的行人,并通过检测框进行框选;处理单元,用于根据所述矫正图像与所述原始图像的映射关系,将所述检测框映射到所述原始图像中,以得到所述原始图像中行人的检测区域。

根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的行人检测方法。

根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的行人检测方法。

在本发明的一些实施例所提供的技术方案中,通过对原始图像进行校正,得到行人处于直立姿态的矫正图像,对矫正图像中的行人进行检测,并用检测框进行框选,同时根据矫正图像与原始图像的映射关系,将检测框映射到原始图像中,使得对于畸变的图像,可以先对其中的行人姿态进行矫正,然后通过对矫正图像中的行人进行检测,并根据矫正图像与原始图像的映射关系将检测框映射到原始图像中,进而能够保证映射到原始图像中的选择框可以对行人包围更紧密,提高了行人检测的精度,保证检测到的行人位置更准确。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出了根据本发明的第一个实施例的行人检测方法的流程图;

图2示意性示出了图1中所示的步骤s18的一种实现方式的流程图;

图3示意性示出了根据本发明的第二个实施例的行人检测方法的流程图;

图4示出了根据本发明的实施例的对原始图像进行标定的示意图;

图5示出了根据本发明的实施例的对原始图像矫正后得到的矫正图像的示意图;

图6示出了根据本发明的实施例的对矫正图像进行行人检测得到的结果示意图;

图7示出了根据本发明的实施例的将矫正图像中的矩形框映射到原始图像中的示意图;

图8示意性示出了根据本发明的实施例的行人检测装置的框图;

图9示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图1示意性示出了根据本发明的第一个实施例的行人检测方法的流程图。

参照图1所示,根据本发明的第一个实施例的行人检测方法,包括:

步骤s10,获取原始图像。

在本发明的实施例中,原始图像可以是需要进行行人检测的图像,该图像中的行人可能发生畸变。

步骤s12,确定所述原始图像中的行人的头部和脚部的位置。

在本发明的示例性实施例中,步骤s12具体包括:接收用户的选择指令,根据所述用户的选择指令确定所述原始图像中的行人的头部和脚部的位置。

在该示例性实施例中,用户可以手动标定原始图像中行人的头部和脚部的位置。当然,也可以通过图像识别的技术来自动识别原始图像中行人的头部和脚部的位置。

步骤s14,根据所述原始图像中的行人的头部和脚部的位置,对所述原始图像进行矫正,以得到行人处于直立姿态的矫正图像。

在本发明的示例性实施例中,步骤s14包括:以所述原始图像中的行人的头部和脚部的位置为基准,确定将所述原始图像中的行人变换为直立姿态的变换关系;基于所述变换关系,对所述原始图像进行矫正。

步骤s16,检测所述矫正图像中的行人,并通过检测框进行框选。

在本发明的示例性实施例中,步骤s16包括:获取检测模型,以及用于对所述检测模型进行训练的样本数据;通过所述样本数据对所述检测模型进行训练,以得到训练后的检测模型;基于所述训练后的检测模型,检测所述矫正图像中的行人。

在本发明的一些实施例中,基于前述方案,所述样本数据包括:未进行行人姿态矫正的图像及图像中的行人数据,和/或进行行人姿态矫正后的图像及图像中的行人数据。

可选地,检测模型可以是ssd(singleshotmultiboxdetector)模型,或者是基于卷积神经网络进行行人检测的其它模型。在通过样本数据对检测模型进行训练时,可以先通过未进行行人姿态矫正的图像及图像中的行人数据进行训练,如通过网络上公开的数据进行训练,然后再使用矫正后的图像及图像中的行人数据进行训练。

步骤s18,根据所述矫正图像与所述原始图像的映射关系,将所述检测框映射到所述原始图像中,以得到所述原始图像中行人的检测区域。

在本发明的示例性实施例中,参照图2所示,步骤s18包括:

步骤s181,在所述矫正图像中,生成所述检测框的上下边线的中点连线。

在本发明的实施例中,由于检测框为矩形框,因为可以确定检测框的上下边线的中点,然后得到上下边线的中点连线。

步骤s182,根据所述矫正图像与所述原始图像的映射关系,将所述中点连线映射到所述原始图像中,得到映射中心线。

在本发明的实施例中,在进行图像矫正处理时,确定了将原始图像中的行人变换为直立姿态的变换关系,该变换关系即为矫正图像与原始图像的映射关系。

步骤s183,计算所述矫正图像中的所述检测框的上边线与下边线分别映射到所述原始图像中的第一长度和第二长度。

在本发明的示例性实施例中,步骤s183可以包括:确定所述矫正图像中的所述检测框的上边线与下边线的各个端点在所述原始图像中的映射点;根据所述上边线的各个端点在所述原始图像中的映射点计算所述第一长度,并根据所述下边线的各个端点在所述原始图像中的映射点,计算所述第二长度。

步骤s184,根据所述映射中心线、所述第一长度和所述第二长度,在所述矫正图像中生成所述检测框映射得到的选择框。

在本发明的示例性实施例中,步骤s184包括:将所述映射中心线作为梯形的对称中心,将所述第一长度和所述第二长度分别作为梯形的上边和下边,生成所述选择框。

图3示意性示出了根据本发明的第二个实施例的行人检测方法的流程图。

参照图3所示,根据本发明的第二个实施例的行人检测方法,包括:

步骤s301,图像标定与矫正,得到原图中倾斜的行人与矫正图中直立行人的头脚连线的映射关系。

具体地,对于需要处理的多幅图像中的每幅图像,对图像中任意位置出现的人物的脚与头的位置进行标定。如图4所示,对于图像中出现的人物,可以标定每个人物的脚部与头部的位置。需要说明的是,在进行标定时,可以仅指定人物的脚部和头部的位置,然后会自动生成如图4中所示的带有箭头的线段。

当对图像进行标定后,可以得到在相应场景中,不同位置出现行人时,行人的脚部与头部在图像中的位置。然后根据标定,对图像进行矫正,要求不同位置出现的行人均可接近直立姿态,具体地址,可以以标定的多个行人的脚部、头部位置为基准,计算最优的变换关系,然后根据得到的变换关系来由原图得到矫正图像。对图4所示的原始图像进行矫正后得到的矫正图像如图5所示,根据图5可以看出,经过矫正,各个行人的姿态接近直立姿态。

在矫正图像中,通过图像的变换关系以及插值处理,可得到矫正图像中任意位置直立的行人头脚在原图中的对应位置。

步骤s302,训练行人检测模型。

可选地,可以使用ssd或者其他常见的基于卷积神经网络的方法进行行人检测模型的训练。

在本发明的实施例中,对行人检测模型训练的具体步骤可以如下:

1)将矫正后的图像和行人数据转换成pascalvoc接受的标准格式。

2)使用通用物体检测的ssd模型与网络,如对适用于20类的pascalvoc上的vgg-netssd网络进行修改,将检测20类物体修改为仅检测1类物体,即行人。

3)进行训练:以20类模型的参数为基础,使用大量行人的数据进行训练。此时的行人数据可使用网络上的公开数据集里的行人数据。

4)进行调优:使用矫正后的图像和行人数据进行训练ssd。

步骤s303,在矫正图像中执行行人检测算法,得到行人位置的矩形框。

具体如图6所示,在矫正后的图像中检测到行人,然后会矩形框进行框选。

步骤s304,将矫正图像中的矩形框映射到原图中,得到梯形框。

具体地,根据步骤s301中标定与矫正后得到的映射关系,可将矫正后图像中任意直立行人对应的矩形框映射到原始图像中。映射结果如图7所示。

在本发明的一个实施例中,将矫正后图像中的矩形框映射到原始图像中的具体过程可以如下:

1)确定矫正图像中矩形框的上下边线中点的连线,记为线a,如图6中虚线所示。

2)根据步骤s301中得到的映射关系,将图6中的线a映射到原始图像中,具体如图7中所示的线a1。

3)计算矫正图像中的矩形框的上下边线,即图6中所示的线段ab、cd映射到原始图像中的长度,分别记为d1和d2。

4)在原始图像中,以线a1为梯形的对称中心,长d1,d2分别为梯形的上下边,得到梯形a1b1c1d1(如图7所示),作为原图中行人的检测区域。

本发明上述实施例的技术方案对畸变图像中的行人进行检测的精度更高,检测位置更精确,尤其是脚的位置为检测框下边线的中点,可应用于店铺中行人位置与轨迹的分析。同时,所得到的梯形检测框对行人的包围更紧密,可减少检测框中背景因素的干扰,有利于对行人属性进行进一步分析。

图8示意性示出了根据本发明的实施例的行人检测装置的框图。

参照图8所示,根据本发明的实施例的行人检测装置800,包括:获取单元802、确定单元804、矫正单元806、检测单元808和处理单元810。

具体地,获取单元802用于获取原始图像;确定单元804用于确定所述原始图像中的行人的头部和脚部的位置;矫正单元806用于根据所述原始图像中的行人的头部和脚部的位置,对所述原始图像进行矫正,以得到行人处于直立姿态的矫正图像;检测单元808用于检测所述矫正图像中的行人,并通过检测框进行框选;处理单元810用于根据所述矫正图像与所述原始图像的映射关系,将所述检测框映射到所述原始图像中,以得到所述原始图像中行人的检测区域。

在本发明的一些实施例中,基于前述方案,矫正单元806配置为:以所述原始图像中的行人的头部和脚部的位置为基准,确定将所述原始图像中的行人变换为直立姿态的变换关系;基于所述变换关系,对所述原始图像进行矫正。

在本发明的一些实施例中,基于前述方案,检测单元808配置为:获取检测模型,以及用于对所述检测模型进行训练的样本数据;通过所述样本数据对所述检测模型进行训练,以得到训练后的检测模型;基于所述训练后的检测模型,检测所述矫正图像中的行人。

在本发明的一些实施例中,基于前述方案,所述样本数据包括:未进行行人姿态矫正的图像及图像中的行人数据,和/或进行行人姿态矫正后的图像及图像中的行人数据。

在本发明的一些实施例中,基于前述方案,处理单元810包括:第二生成单元、映射单元、计算单元和第二生成单元。

具体地,第二生成单元用于在所述矫正图像中,生成所述检测框的上下边线的中点连线;映射单元用于根据所述矫正图像与所述原始图像的映射关系,将所述中点连线映射到所述原始图像中,得到映射中心线;计算单元用于计算所述矫正图像中的所述检测框的上边线与下边线分别映射到所述原始图像中的第一长度和第二长度;第二生成单元用于根据所述映射中心线、所述第一长度和所述第二长度,在所述矫正图像中生成所述检测框映射得到的选择框。

在本发明的一些实施例中,基于前述方案,所述计算单元配置为:确定所述矫正图像中的所述检测框的上边线与下边线的各个端点在所述原始图像中的映射点;根据所述上边线的各个端点在所述原始图像中的映射点计算所述第一长度,并根据所述下边线的各个端点在所述原始图像中的映射点,计算所述第二长度。

在本发明的一些实施例中,基于前述方案,所述计算单元配置为:将所述映射中心线作为梯形的对称中心,将所述第一长度和所述第二长度分别作为梯形的上边和下边,生成所述选择框。

在本发明的一些实施例中,基于前述方案,确定单元804配置为:接收用户的选择指令,根据所述用户的选择指令确定所述原始图像中的行人的头部和脚部的位置。

下面参考图9,其示出了适于用来实现本发明实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备的计算机系统900仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有系统操作所需的各种程序和数据。cpu901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。

以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的行人检测方法。

例如,所述电子设备可以实现如图3中所示的:步骤s10,获取原始图像;步骤s12,确定所述原始图像中的行人的头部和脚部的位置;步骤s14,根据所述原始图像中的行人的头部和脚部的位置,对所述原始图像进行矫正,以得到行人处于直立姿态的矫正图像;步骤s16,检测所述矫正图像中的行人,并通过检测框进行框选;步骤s18,根据所述矫正图像与所述原始图像的映射关系,将所述检测框映射到所述原始图像中,以得到所述原始图像中行人的检测区域。

例如,所述电子设备还可以实现如图2和图3中所示的各个步骤。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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