基于图像的人体检测方法和装置与流程

文档序号:15983876发布日期:2018-11-17 00:39阅读:177来源:国知局

本发明涉及移动终端技术领域,尤其涉及一种基于图像的人体检测方法和装置。

背景技术

目前,国内外许多家电设备都配置有摄像头,通过摄像头检测家电设备周围的环境,实现对家电设备的自动调节功能。例如,配置有摄像头的空调,通过检测摄像头获得的图像确定用户的活动范围,以此来调节空调的使用模式。

现有技术中,家电设备通过摄像头采集图像,对采集到的图像进行人体检测,导致检测效率低、在某些区域也会引起误判。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明提出一种基于图像的人体检测方法,以实现通过缩小图像的检测范围,提高检测速度,同时提高检测的精度,减少误判,解决现有技术中对整个图像进行检测,导致检测速度慢、结果存在误差的技术问题。

本发明提出一种基于图像的人体检测装置。

本发明提出一种家电设备。

本发明提出一种计算机可读存储介质。

本发明第一方面实施例提出了一种基于图像的人体检测方法,包括:

获取待检测图像;

根据预设的目标区域范围,从所述待检测图像中,选取处于所述目标区域范围内的部分图像;其中,所述目标区域,是根据人体画面在所述待检测图像各位置出现的可能性确定的;

对所述待检测图像中处于所述目标区域范围内的部分图像进行人体检测。

本发明实施例的基于图像的人体检测方法,通过获取待检测图像;根据预设的目标区域范围,从所述待检测图像中,选取处于所述目标区域范围内的部分图像;其中,所述目标区域,是根据人体画面在所述待检测图像各位置出现的可能性确定的;进而对所述待检测图像中处于所述目标区域范围内的部分图像进行人体检测。该方法通过缩小图像的检测范围,提高了检测速度,同时提高了检测的精度,减少误判,解决现有技术中对整个图像进行检测,导致检测速度慢、结果存在误差的技术问题。

本发明第二方面实施例提出了一种基于图像的人体检测装置,包括:

获取模块,用于获取待检测图像;

选取模块,用于根据预设的目标区域范围,从所述待检测图像中,选取处于所述目标区域范围内的部分图像;其中,所述目标区域,是根据人体画面在所述待检测图像各位置出现的可能性确定的;

检测模块,用于对所述待检测图像中处于所述目标区域范围内的部分图像进行人体检测。

本发明实施例的基于图像的人体检测装置,通过获取待检测图像;根据预设的目标区域范围,从所述待检测图像中,选取处于所述目标区域范围内的部分图像;其中,所述目标区域,是根据人体画面在所述待检测图像各位置出现的可能性确定的;进而对所述待检测图像中处于所述目标区域范围内的部分图像进行人体检测。该方法通过缩小图像的检测范围,提高了检测速度,同时提高了检测的精度,减少误判,解决现有技术中对整个图像进行检测,导致检测速度慢、结果存在误差的技术问题。

本发明第三方面实施例提出了一种家电设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本发明前述实施例提出的基于图像的人体检测方法。

本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明前述实施例提出的基于图像的人体检测方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的一种基于图像的人体检测方法的流程示意图;

图2为本发明实施例中摄像头拍摄的图像区域;

图3为本发明实施例中摄像头拍摄的人体训练图像;

图4为本发明实施例中利用标签矩形框统计方法获得目标区域的流程图;

图5为本发明实施例所提供的一种基于图像的人体检测装置的结构示意图;以及

图6为本发明实施例提供的一种家电设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的基于图像的人体检测方法和装置。在具体描述本发明实施例之前,为了便于理解,首先对关键词术语进行介绍:

人体标注:通过多个场景拍摄大量的人体在家居场景中的图片,将这些图片中人体的人肩部位用矩形框标识出来。

图1为本发明实施例所提供的一种基于图像的人体检测方法的流程示意图。

本发明实施例以配置有摄像头的家电设备来举例说明,该基于图像的人体检测方法可以应用于配置有摄像头的家电设备中,其中,该家电设备可以为空调、空气净化器等。

如图1所示,该基于图像的人体检测方法包括以下步骤:

步骤101,获取待检测图像。

具体地,配置有摄像头的家电设备通过获得待检测的图像,其中,摄像头主要由镜头、图像传感器、模数转换电路、数字信号处理芯片四大部分构成。本实施例中,家电设备的摄像头发射至人体的光在人体表面发生反射,反射光通过镜头传输至图像传感器上;图像传感器接收反射光并将光信号转换为电信号传递至模数转换电路中;模数转换电路将接受到的模拟电信号转换为数字电信号并传送至数字信号处理芯片中对其进行加工处理,最终获得摄像头拍摄的待检测的图像。

步骤102,根据预设的目标区域范围,从待检测图像中,选取处于目标区域范围内的部分图像;其中,目标区域,是根据人体画面在待检测图像各位置出现的可能性确定的。

其中,目标区域范围是覆盖人体画面在各训练图像中出现位置的最小范围;目标区域,是根据人体画面在待检测图像各位置出现的可能性确定的。

作为一种示例,参见图2,图2为本发明实施例中摄像头拍摄的图像区域,其中,最外层矩形为摄像头拍摄区域,即图像的宽为1280像素,图像的高为720像素。下方矩形区域为人体头肩标注区域的并集区域,也就是目标范围区域,即图像的宽为1280像素,图像的高为550像素。

需要说明的是,通过针对不同的人,进行大量的视频样本分析人体在图像中的区域发现,由于家电设备摄像头角度和高度固定,人体在这样的情况下活动区域约为1280*550,而不是所有的拍摄区域1280*720。因此,本实施例中的算法只分析目标区域范围内的图像,将会在处理效率上有较大的提升。很大程度上减少了在目标区域范围以外的区域的误判。

本实施例中,目标区域范围是通过获取多张训练图像,对多张训练图像中的人体分别进行人体标注,得到人体画面在各训练图像中出现的位置,进而根据人体画面在各训练图像中出现的位置确定的。如图3为本发明实施例摄像头拍摄的人体训练图像,图3中通过位置标注框对图像中出现的人体分别进行了人体标注。

进一步地说明,目标区域范围的边界为矩形,通过建立平面直角坐标系,其中横轴为x轴,纵轴为y轴,初始化目标区域范围的边界坐标,如边界坐标包括四个顶点,四个顶点坐标分别为(x1,y1),(x1,y2),(x2,y1)和(x2,y2)。

进一步地,针对人体画面在每一个训练图像中的位置标注框,确定位置标注框的边界坐标。针对训练图像中的每一个位置标注框,获取位置标注框的顶点坐标(x1a,y1a),(x1a,y2a),(x2a,y1a)和(x2a,y2a);其中,x1a<x2a,y1a<y2a,a为正整数。

最终根据上述各位置标注框的边界坐标,对目标区域范围的边界坐标进行更新,从而得到覆盖人体画面在各训练图像中出现位置的最小范围。

作为一种可能的情况,根据上述位置标注框的顶点坐标,更新上述目标区域范围的四个顶点坐标为(x1b,y1b),(x1b,y2b),(x2b,y1b)和(x2b,y2b)的情况下,确定更新后的目标区域范围的顶点坐标为(x1c,y1c),(x1c,y2c),(x2c,y1c)和(x2c,y2c);其中,x1b<x2b,y1b<y2b,x1c<x2c,y1c<y2c,b、c为正整数;x1c为x1b和x1a中的最小值,y1c为y1b和y1a中的最小值,x2c为x2b和x2a中的最大值,y2c为y2b和y2a中的最大值。

步骤103,对待检测图像中处于目标区域范围内的部分图像进行人体检测。

具体地,对待检测图像中处于目标区域范围内的部分图像,进行人体检测,得到目标区域范围内出现人体画面的置信度以及出现的位置。其中,置信度,又称可靠度,或置信水平、置信系数,即在抽样对总体参数做出估计时,由于样本的随机性,其结论总是不确定的。进而在目标区域范围包含的多个子区域中,确定目标区域范围内出现人体画面的位置所在的目标子区域。如图2中1280*550的目标区域范围包括8*4共32个目标子区域。

进一步地说明,针对目标区域范围中出现人体画面的训练图像进行统计,确定人体画面出现在目标区域各子区域中的频率,从而根据得到的频率,确定各子区域的系数。例如,将人体画面出现在目标区域各子区域的频率分为两个等级,子区域频率高的系数为1.0,频率低的系数为0.9。其中,低频率区域主要为处于四个角落的子区域。

进一步的,通过将各目标子区域对应的系数与目标区域范围内出现人体画面的置信度相乘,得到修正后的置信度。例如,在四个角落检测到人体画面信息时,其修正后的置信度为其概率的置信度乘以0.9。最终根据修正后的置信度,确定待检测图像中是否存在人体画面。

本发明实施例的基于图像的人体检测方法,通过获取待检测图像;根据预设的目标区域范围,从所述待检测图像中,选取处于所述目标区域范围内的部分图像;其中,所述目标区域,是根据人体画面在所述待检测图像各位置出现的可能性确定的;对所述待检测图像中处于所述目标区域范围内的部分图像进行人体检测。该方法通过缩小图像的检测范围,提高了检测速度,同时提高了检测的精度,减少误判,解决现有技术中对整个图像进行检测,导致检测速度慢、结果存在误差的技术问题。

在图1所示实施例的基础上,步骤102根据人体画面在各训练图像中出现的位置,确定目标区域范围,作为一种可能的实现方式,参见图4,具体可以包括以下子步骤:

子步骤401,初始化roi区域为图像中心点。

其中,roi(regionofinterest)区域,为感兴趣区域,指从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域。本实施例中的roi区域为上述目标区域范围,是矩形区域。

需要说明的是,首先建立平面直角坐标系,其中横轴为x轴,纵轴为y轴。进而,在直角坐标系中确定目标区域范围的各顶点坐标信息,从而得到覆盖人体画面在各训练图像中出现位置的最小范围。

子步骤402,循环读取每一条标注信息。

其中,标注信息,是指人体画面在每一个训练图像中的位置标注框的边界坐标信息。每一条标注信息反映过人体画面在各训练图像中出现的位置的坐标信息。

可选地,对roi区域出现的人体分别进行标注,确定人体画面在roi区域中的位置标注框,并循环读取每一条标注信息。

子步骤403,针对每一个位置标注框,获取每个标注框的四个顶点坐标信息。

具体地,如上述实施例中,针对训练图像中的每一个位置标注框,获取位置标注框的顶点坐标(x1a,y1a),(x1a,y2a),(x2a,y1a)和(x2a,y2a);其中,x1a<x2a,y1a<y2a,a为正整数。

子步骤404,判断标注框起点x坐标是否小于roi起点x坐标。

其中,起点x坐标是指标注框的四个顶点坐标中,x轴坐标较小的点的x坐标,例如,标注框的起点x坐标为x1a,roi起点x坐标为x1b。

具体地,判断标注框起点x坐标x1a是否小于roi起点x坐标x1b,如果标注框起点x坐标x1a小于roi起点x坐标x1b,执行步骤405,否则,执行步骤406。

子步骤405,将标注框x轴起点赋值给roi起点x坐标。

具体地,当标注框起点x坐标x1a小于roi起点x坐标x1b时,将标注框x轴起点坐标x1a赋值给roi起点x坐标,此时roi起点x坐标为x1c,其中,x1c为x1b和x1a中的最小值。

子步骤406,判断标注框起点y坐标是否小于roi起点y坐标。

其中,起点y坐标是指标注框的四个顶点坐标中,y轴坐标较小的点的y坐标,例如,标注框的起点y坐标为y1a,roi起点y坐标为y1b。

具体地,判断标注框起点y坐标y1a是否小于roi起点y坐标y1b,如果注框起点y坐标y1a小于roi起点y坐标y1b,执行步骤407,否则,执行步骤408。

子步骤407,将标注y轴起点赋值给roi起点y坐标。

具体地,当标注框起点y坐标y1a小于roi起点y坐标y1b时,将标注框y轴起点坐标y1a赋值给roi起点y坐标,此时roi起点y坐标为y1c,其中,y1c为y1b和y1a中的最小值。

子步骤408,判断标注框终点x坐标是否小于roi终点x坐标。

其中,终点x坐标是指标注框的四个顶点坐标中,x轴坐标较大的点的x坐标,例如,标注框的终点x坐标为x2a,roi终点x坐标为x2b。

具体地,判断标注框终点x坐标x2a是否小于roi终点x坐标x2b,如果注框终点x坐标x2a小于roi终点x坐标x2b,执行步骤409,否则,执行步骤410。

子步骤409,将标注x轴终点赋值给roi终点x坐标。

具体地,当标注框终点x坐标x2a小于roi终点x坐标x2b时,将标注框x轴终点坐标x2a赋值给roi终点x坐标,此时roi终点x坐标为x2c,其中,x2c为x2b和x2a中的最大值。

子步骤410,判断标注框终点y坐标是否小于roi终点y坐标。

其中,终点y坐标是指标注框的四个顶点坐标中,y轴坐标较大的点的y坐标,例如,标注框的终点y坐标为y2a,roi终点y坐标为y2b。

具体地,判断标注框终点y坐标y2a是否小于roi终点y坐标y2b,如果注框终点y坐标y2a小于roi终点y坐标y2b,执行步骤411。

子步骤411,将标注y轴终点赋值给roi终点y坐标。

具体地,当标注框终点y坐标y2a小于roi终点y坐标y2b时,将标注框y轴终点坐标y2a赋值给roi终点y坐标,此时,roi终点y坐标为y2c,其中,y2c为y2b和y2a中的最大值。最终确定更新后的目标区域范围的顶点坐标为(x1c,y1c),(x1c,y2c),(x2c,y1c)和(x2c,y2c)。

本发明实施例中,通过在直角坐标系中确定目标区域范围的各顶点坐标信息,进而根据各位置标注框的边界坐标,对目标区域范围的边界坐标进行更新,从而得到覆盖人体画面在各训练图像中出现位置的最小范围。该方法缩小了图像的检测范围,提高了检测速度,同时也会提高检测的精度,减少误判。

为了实现上述实施例,本发明还提出一种基于图像的人体检测装置。

图5为本发明实施例提供的一种基于图像的人体检测装置的结构示意图。

如图5所示,该基于图像的人体检测装置包括:获取模块510、选取模块520、检测模块530。

获取模块510,用于获取待检测图像。

具体地,配置有摄像头的家电设备通过获得待检测的图像,其中,摄像头主要由镜头、图像传感器、模数转换电路、数字信号处理芯片四大部分构成。本实施例中,家电设备的摄像头发射至人体的光在人体表面发生反射,反射光通过镜头传输至图像传感器上;图像传感器接收反射光并将光信号转换为电信号传递至模数转换电路中;模数转换电路将接受到的模拟电信号转换为数字电信号并传送至数字信号处理芯片中对其进行加工处理,最终通过获取模块510获得摄像头拍摄的待检测的图像。

选取模块520,用于根据预设的目标区域范围,从待检测图像中,选取处于目标区域范围内的部分图像;其中,目标区域,是根据人体画面在待检测图像各位置出现的可能性确定的。

本实施例中,目标区域范围是通过获取多张训练图像,对多张训练图像中的人体分别进行标注,得到人体画面在各训练图像中出现的位置,根据人体画面在各训练图像中出现的位置确定的。

具体地,通过在直角坐标系中确定目标区域范围的各顶点坐标信息,进而根据各位置标注框的边界坐标,对目标区域范围的边界坐标进行更新,从而得到覆盖人体画面在各训练图像中出现位置的最小范围。

可选地,通过选取模块520根据预设的目标区域范围,从待检测图像中,选取处于目标区域范围内的部分图像进行人体检测。检测模块530,用于对待检测图像中处于目标区域范围内的部分图像进行人体检测。

具体地,检测模块530用于对待检测图像中处于目标区域范围内的部分图像,进行人体检测,得到目标区域范围内出现人体画面的置信度以及出现的位置。进而在目标区域范围包含的多个子区域中,确定目标区域范围内出现人体画面的位置所在的目标子区域。

进一步地说明,针对目标区域范围中出现人体画面的训练图像进行统计,确定人体画面出现在目标区域各子区域中的频率,从而根据得到的频率,确定各子区域的系数。例如,将人体画面出现在目标区域各子区域的频率分为两个等级,子区域频率高的系数为1.0,频率低的系数为0.9。其中,低频率区域主要为处于四个角落的子区域。

进一步的,通过将各目标子区域对应的系数与目标区域范围内出现人体画面的置信度相乘,得到修正后的置信度。例如,在四个角落检测到人体画面信息时,其修正后的置信度为其概率的置信度乘以0.9。最终根据修正后的置信度,通过检测模块530确定待检测图像中是否存在人体画面。

本发明实施例的基于图像的人体检测装置,通过获取待检测图像;根据预设的目标区域范围,从所述待检测图像中,选取处于所述目标区域范围内的部分图像;其中,所述目标区域,是根据人体画面在所述待检测图像各位置出现的可能性确定的;进而对所述待检测图像中处于所述目标区域范围内的部分图像进行人体检测。该方法通过缩小图像的检测范围,提高了检测速度,同时提高了检测的精度,减少误判,解决现有技术中对整个图像进行检测,导致检测速度慢、结果存在误差的技术问题。

需要说明的是,前述对基于图像的人体检测方法实施例的解释说明也适用于该实施例的基于图像的人体检测装置,此处不再赘述。

为了实现上述实施例,本发明还提出一种家电设备。

图6为本发明实施例提供的一种家电设备的结构示意图。

如图6所示,该家电设备600,包括:存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序,所述处理器601执行所述程序时,实现如前述实施例提出的基于图像的人体检测方法。

为了实现上述实施例,本发明实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如前述实施例提出的基于图像的人体检测方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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