训练静态人体检测模型的方法、人体检测方法及装置与流程
未命名
07-13
阅读:82
评论:0

1.本技术实施例涉及智能监测技术领域,尤其涉及一种训练静态人体检测模型的方法、人体检测方法及装置。
背景技术:
2.伴随万物互联时代的来临,智慧生活已成为众多终端用户的向往,如何实现更加智能化的服务已成为热点。现如今智能家居中所注入的智慧监测服务备受青睐,而室内区域人体存在检测技术在弱势群体的智慧照护、智能家居的交互等方面发挥着至关重要的作用,因而近些年受到了广泛的关注。其中,利用非接触式智能感知方式对室内目标区域中的人体存在实现精准感应与识别,进而监测人员是否在目标区域中发生长时间滞留,对提升用户的身心健康以及家居的智能化程度具有重要价值。
3.然而,当背景中静态的干扰热源和人体的温度相近,人体未发生移动时,将难以区分物体和静态人体,容易将干扰热源误检为人体,静态人体存在漏判。
技术实现要素:
4.有鉴于此,本技术一些实施例提供了一种训练静态人体检测模型的方法、人体检测方法及装置,使得训练得到的静态人体检测模型能够准确区分静态人体和干扰热源,准确检测出未发生移动的人体。
5.第一方面,本技术一些实施例中提供了一种训练静态人体检测模型的方法,包括:
6.获取若干个静态热源样本,静态热源样本包括k帧红外图像,k帧红外图像具有时序性,各静态热源样本均标注有真实标签,真实标签反映静态热源样本中的静态热源属于静态人体热源或干扰热源;
7.采用若干个静态热源样本,对预先设置的3d卷积神经网络进行迭代训练,直至3d卷积神经网络收敛,得到静态人体检测模型。
8.在一些实施例中,前述3d卷积神经网络包括依次级联的第一特征提取模块、第二特征提取模块和分类模块;
9.其中,第一特征提取模块用于提取静态热源样本中各个红外图像中的静态热源的大致形状特征;
10.第二特征提取模块用于提取静态热源样本中各个红外图像中的静态热源的温度分布特征以及静态热源样本中静态热源在时间维度上的变化特征;
11.分类模块用于对第二特征提取模块输出的特征图进行分类,输出属于静态人体热源的概率和属于干扰热源的概率。
12.在一些实施例中,前述第一特征提取模块包括多个3d卷积层,各3d卷积层后均设置有最大池化层。
13.在一些实施例中,前述第二特征提取模块包括多个级联的子模块,各子模块包括依次连接的多个3d卷积层,其中,最后一个3d卷积层后设置有最大池化层。
14.在一些实施例中,前述分类模块包括多个全连接层和softmax函数层,其中,相邻两个全连接层之间设置有dropout层。
15.在一些实施例中,训练过程中所采用的损失函数包括:
[0016][0017]
其中,loss为单个训练分支的损失,n为单个训练分支中的样本数量,wn为第n个静态热源样本中检测到存在热斑的帧数占比,yn为第n个静态热源样本对应的预测标签,为第n个静态热源样本对应的真实标签。
[0018]
第二方面,本技术一些实施例中提供了一种人体检测方法,包括:
[0019]
获取测试样本,测试样本包括具有时序性的k帧红外图像;
[0020]
根据测试样本,确定测试样本中是否存在热源,若不存在热源,则输出不存在人体;
[0021]
若存在热源,则根据测试样本,确定热源是否发生移动,若发生移动,则输出存在人体;
[0022]
若未发生移动,则将测试样本输入静态人体检测模型,输出测试样本中的热源属于静态人体热源还是属于干扰热源,其中,静态人体检测模型是采用第一方面的方法训练得到的。
[0023]
在一些实施例中,前述根据测试样本,确定热源是否发生移动,包括:
[0024]
对测试样本进行差分计算,得到差分样本;
[0025]
遍历差分样本,确定每一帧差分图像分别对应的温度阈值;
[0026]
针对差分图像中的像素点,筛选出差值不小于温度阈值的像素点,构成移动区域,若移动区域的最大连通面积大于或等于面积阈值,则确定差分图像中热源存在移动;
[0027]
当差分样本遍历完成后,若差分样本中存在热源移动的差分图像的数量大于或等于数量阈值,则确定热源发生移动。
[0028]
第三方面,本技术一些实施例中提供了一种电子设备,其特征在于,包括:
[0029]
至少一个处理器;和
[0030]
与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面或第二方面的方法。
[0031]
第四方面,本技术一些实施例中提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机设备执行第一方面或第二方面的方法。
[0032]
本技术实施例的有益效果:区别于现有技术的情况,本技术一些实施例提供的训练静态人体检测模型的方法,通过获取若干个静态热源样本,采用这若干个静态热源样本,对预先设置的3d卷积神经网络进行迭代训练,直至3d卷积神经网络收敛,得到静态人体检测模型。其中,静态热源样本包括具有时序性的k帧红外图像,各静态热源样本均标注有真实标签,该真实标签反映静态热源样本中的静态热源属于静态人体热源或干扰热源。
[0033]
在此实施例中,采用大量丰富的静态热源样本对3d卷积神经网络进行训练,使得
3d卷积神经网络能够学习静态人体热源和干扰热源的单帧特征及时域特征,从而,训练得到的静态人体检测模型具备准确区分静态人体和干扰热源的能力,准确检测出未发生移动的人体,有效解决了干扰热源易误判为有人、静态人体存在而漏判的难点问题。此外,训练得到的静态人体检测模型可应用于具有红外摄像头的监测设备,一方面,对阳光、热水、加热物体等热源引起的干扰具有较高的鲁棒性,检测准确率高,另一方面,能够有效规避用户隐私暴露问题。
附图说明
[0034]
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0035]
图1为本技术一些实施例中红外图像的示意图;
[0036]
图2为本技术一些实施例中人体检测系统的应用场景示意图;
[0037]
图3为本技术一些实施例中电子设备的结构示意图;
[0038]
图4为本技术一些实施例中训练静态人体检测模型的方法的流程示意图;
[0039]
图5为本技术一些实施例中采集静态热源样本的示意图;
[0040]
图6为本技术一些实施例中3d卷积神经网络的结构示意图;
[0041]
图7为本技术一些实施例中人体检测方法的流程示意图。
具体实施方式
[0042]
下面结合具体实施例对本技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本技术,但不以任何形式限制本技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进。这些都属于本技术的保护范围。
[0043]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0044]
需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
[0045]
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本说明书中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0046]
此外,下面所描述的本技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0047]
为便于对本技术实施例提供的方法进行理解,首先对本技术实施例中涉及的名词
进行介绍:
[0048]
(1)红外热成像技术
[0049]
红外热成像技术运用光电技术检测物体热辐射的红外线特定波段信号,将该信号转换成可供人类视觉分辨的红外成像图,并可以进一步计算出温度值。红外成像图中每个像素点的值为对应世界坐标系中物体的温度值。从而,红外热成像技术使人类超越了视觉障碍,由此人们可以“看到”物体表面的温度分布状况。
[0050]
例如,将红外摄像头安装在室内的天花板上,对室内的人体进行拍摄采集得到红外视频,可以理解的是,红外视频包括连续的多帧红外图像。请参阅图1,图1为采用低分辨率(24*32)的红外摄像头安装在地面上方天花板时,采集到的一帧红外图像。图1中右下角的高亮区域为人体热源的温度分布,左上角的高亮区域为干扰热源的温度分布。
[0051]
(2)分位数
[0052]
对于一串数量为n的数字x1、x2…
、x
n-1
、xn,定义有0-100%分位数,0%分位数就是这串数字的最小值,100%分位数就是这串数字的最大值。而中间分位数,比如50%分位数q
50
,则表示这串数字里面有50%的数字都小于等于q
50
,同理75%分位数q
75
,则这串数字中75%的数都小于等于q
75
。可以理解的是,q
50
不一定是这串数字从小到大排名中间的那个数,可能是接近中间数的一个数,分位数的具体求取方法有现成算法,这里不做赘述。
[0053]
ql:下四分位数,即25%分位数,表示全部数值中有四分之一的数值比ql小。
[0054]
qu:上四分位数,即75%分位数,表示全部数值中有四分之一的数值比qu大。
[0055]
iqr:四分位间距,即qu-ql=75%分位数-25%分位数,期间包含了全部数值的一半。
[0056]
红外热成像设备按一定的频率采集红外成像图,在保障隐私的前提下,可以捕捉和分析目标人体的动态行为。红外成像图中各像素点反映对应空间中物体的温度,在对目标人体进行监护时,需要从红外成像图中识别出人体,以方便监护。
[0057]
为介绍本技术实施例前,先对本技术发明人所知晓的人体检测方法进行简单介绍,使得后续便于理解本技术实施例。
[0058]
在一些方案中,基于毫米波多普勒雷达技术对室内人体存在进行检测。首先,通过毫米波雷达发射电磁波信号并获取该信号遇到空间内的目标物反射回来的回波信号;其次,依据回波信号确定所反射信号的目标物相对于设备的距离信息和方位信息,并基于距离信息和方位信息确定回波信号功率谱;最后,依据功率谱从回波信号中筛选出由人体反射回来的目标回波信号,并基于此确定人体是否存在于目标空间内。
[0059]
在此方案中,毫米波雷达技术主要依靠目标移动、心跳等波动信号进行人体存在检测,对环境中存在的扰动信息较为敏感,例如动态的窗帘、风扇、掉落物体等易误报为有人,从而易引发长时间滞留预警的误报;另外,毫米波雷达受多径效应影响较大,对于非波束范围内的目标容易丢失,即出现目标区域中有静态人体存在的漏报。
[0060]
在一些方案中,基于红外热成像传感技术进行目标区域内的人体存在检测。首先,通过红外热成像传感器获取初始帧温度数据并计算其最大值与平均值的差值d1,如果差值d1小于阈值t1则默认目标区域内无人,否则判断后续两帧温度数据的最大值与平均值的差值d2是否小于阈值t1;如果差值d2小于阈值t1则输出目标区域内无人,否则进入下一步的判断流程;即通过标记当前帧温度最大值的坐标信息,并计算以坐标值为中心形成3*3点阵
的温度最大值与平均值的差值d3,如果差值d3大于阈值t2则输出目标区域内无人,否则输出当前时刻目标区域内有人体存在。
[0061]
在此方案中,依靠红外热成像传感器获取的热源温度信息进行简单的差值计算,并比较差值与设定阈值的大小进行判断人体存在,虽然可以排除水杯、茶壶等小尺寸热源信号的误报,但居家场景(如卫生间等场所)干扰热源多且复杂,该技术方案对于面积稍大的静态干扰热源容易引起误报为有人的情况,从而给用户带来较差的体验感。
[0062]
针对上述问题,本技术实施例提供了一种训练静态人体检测模型的方法、人体检测方法及装置,通过获取若干个静态热源样本,采用这若干个静态热源样本,对预先设置的3d卷积神经网络进行迭代训练,直至3d卷积神经网络收敛,得到静态人体检测模型。其中,静态热源样本包括具有时序性的k帧红外图像,各静态热源样本均标注有真实标签,该真实标签反映静态热源样本中的静态热源属于静态人体热源或干扰热源。
[0063]
在此实施例中,采用大量丰富的静态热源样本对3d卷积神经网络进行训练,使得3d卷积神经网络能够学习静态人体热源和干扰热源的单帧特征及时域特征,从而,训练得到的静态人体检测模型具备准确区分静态人体和干扰热源的能力,准确检测出未发生移动的人体,有效解决了干扰热源易误判为有人、静态人体存在而漏判的难点问题。此外,训练得到的静态人体检测模型可应用于具有红外摄像头的监测设备,一方面,对阳光、热水、加热物体等热源引起的干扰具有较高的鲁棒性,检测准确率高,另一方面,能够有效规避用户隐私暴露问题。
[0064]
下面说明本技术实施例提供的用于训练静态人体检测模型或用于人体检测的电子设备的示例性应用。本技术实施例提供的电子设备可以是服务器,例如部署在云端的服务器。本技术一些实施例提供的电子设备可以是笔记本电脑、台式计算机或移动设备等各种类型的终端。
[0065]
作为示例,参见图2,图2是本技术实施例提供的人体检测系统的应用场景示意图。终端10通过网络连接服务器20,其中,网络可以是广域网或者局域网,又或者是二者的组合。
[0066]
终端10可以被用来获取训练数据和构建神经网络,例如,本领域技术人员在终端上下载准备好的训练数据,以及,搭建神经网络的网络结构。其中,训练数据包括若干个静态热源样本。可以理解的是,终端10也可以被用来获取测试样本,例如,红外摄像头将采集到的测试样本发送给终端10,从而,终端10获取到测试样本。在一些实施例中,终端10可以与红外摄像头集成在一起。
[0067]
在一些实施例中,终端10本地执行本技术实施例提供的训练静态人体检测模型的方法来完成采用训练数据对设计好的神经网络进行训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到静态人体检测模型。在一些实施例中,终端10也可以通过网络向服务器20发送本领域技术人员在终端上存储的训练数据和构建好的神经网络,服务器20接收该训练数据和神经网络,采用训练数据对神经网络进行训练,确定最终的模型参数,然后将该最终的模型参数发送给终端10,终端10保存该最终的模型参数,使得神经网络配置该最终的模型参数,即可得到静态人体检测模型。
[0068]
下面说明本技术实施例中电子设备的结构,图3是本技术实施例中电子设备500的结构示意图,电子设备500包括至少一个处理器510、存储器550、至少一个网络接口520和用
户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统540。
[0069]
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0070]
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头,其他输入按钮和控件。
[0071]
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access m emory)。本技术实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
[0072]
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0073]
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0074]
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(wifi),和通用串行总线(usb,universal serial bus)等;
[0075]
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0076]
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0077]
根据上文可以理解,本技术实施例提供的训练静态人体检测模型的方法可以由各种类型具有处理能力的电子设备实施,例如由电子设备的处理器实施执行或由其它具有计算处理能力的设备实施执行等。其它具有计算处理能力的设备可以是与电子设备通信连接的智能终端或服务器等。
[0078]
下面结合本技术实施例提供的电子设备的示例性应用和实施,说明本技术实施例提供的训练静态人体检测模型的方法。请参阅图4,图4是本技术实施例提供的训练静态人体检测模型的方法的流程示意图。可以理解的是,该训练方法的执行主体可以是电子设备的一个或多个处理器。
[0079]
请再次参阅图4,该方法s100具体可以包括如下步骤:
[0080]
s10:获取若干个静态热源样本。
[0081]
其中,静态热源样本包括k帧红外图像,该k帧红外图像具有时序性。各静态热源样本均标注有真实标签,真实标签反映静态热源样本中的静态热源属于静态人体热源或干扰热源。
[0082]
可以理解的是,静态热源样本是红外摄像头对某一区域内进行采集得到的红外视频,该红外视频包括k帧按时序排列的红外图像。在一些实施例中,k=f*t,其中,f为红外摄像头的采集频率,t为时间(秒)。在一些实施例中,1≤t≤60,1≤f≤32。
[0083]
在这些若干个静态热源样本中,一部分静态热源样本仅包括干扰热源,例如一盆热水、取暖器或发热马桶等,不包括人体;另一部分静态热源样本包括干扰热源和静态人体,其中,静态人体是指未发生大幅移动的人体。
[0084]
每个静态热源标注有反映热源类别的真实标签。在一些实施例中,可以采用编码标注标签,例如,干扰热源用0表示,静态人体热源用1表示,则只包括干扰热源的静态热源样本标注0,包括静态人体热源的静态热源样本标注1。
[0085]
在一些实施例中,请参阅图5,将红外摄像头安装在室内目标区域对应天花板中心位置,设备正对下方目标区域,且距离地面高度h为2.0至3.0米。如图5所示,红外摄像头采集目标区域内的外视频数据,在数据采集期间,人员自行进入目标区域,人员在目标区域内可能静止或移动,也可以制造静态干扰热源,例如在目标区域内放置一盆热水、热毛巾或取暖器等,一段时间后离开。数据采集期间可以反复进入或离开目标区域,并在目标区域内制造不同的静态干扰热源。在一些实施例中,数据采集可在真实应用场景中进行,例如将红外摄像头安装在卫生间天花板中央,对卫生间场景进行实时数据采集,以24小时为周期进行数据采集与存储。
[0086]
红外摄像头每采集并缓存到一定时长(例如1分钟)的红外视频数据后,将缓存的红外视频数据发送给电子设备(例如电脑或服务器等),然后清空当前缓存,并继续进行数据采集与缓存。在一些实施例中,所采集单个时间周期内的红外视频数据的帧数远大于静态热源样本所需要的k帧。通过观看红外数据视频记录人员进入与离开目标区域时对应的数据帧编号,根据该数据帧编号即可标注红外视频数据中某一段数据序列是否有人体热源。根据记录的人员进入、离开目标区域对应数据帧编号即可从采集的单个时间周期内的红外视频数据中提取出有人的数据片段和无人的数据片段。再分别将有人和无人的数据片段分割为固定时长t秒(即k帧)的备选样本。
[0087]
在一些实施例中,可通过检测人体移动的算法筛选出人体存在移动的备选样本,剔除人体存在移动的备选样本,从而,剩余的有效备选样本包括只含有干扰热源的静态热源样本(负样本)和含有静态人体热源的静态热源样本(正样本)。
[0088]
电子设备获取到若干个有效备选样本后,可以通过人工或标签工具,对这些有效备选样本标注标签,从而,得到若干个静态热源样本,每个静态热源样本均标注有反映是干扰热源还是静态人体热源的真实标签。
[0089]
可以理解的是,上述采集数据的实施例中,静态热源样本是模仿真实居家场景中获取的,如固定的干扰热源或者人体长时间在一个位置站立或静坐时,会产生重复性样本。为了使用于训练的数据尽可能保证样本的多样性,在一些实施例中,通过对样本进行筛选,丢弃重复性样本,使得训练得到的静态人体检测模型具有更好的泛化性。
[0090]
具体地,先从上述若干个静态热源样本中选取至少一个已选样本,剩余的作为待
选样本,通过抽取待选样本的中间帧imge2和已选样本的中间帧imge1做差值处理,得到差值帧diff_imge=imge2-imge1,采用某一阈值threshold_1将差值帧中不小于该阈值threshold_1的像素点进行单独分割,若被分割出的最大连通区域面积达到某一设定面积阈值s1,则将该待选样本作为已选样本。若被分割出的最大连通区域面积未达到该面积阈值s1,则丢弃当前的待选样本。
[0091]
在一些实施例中,对丢弃重复样本后的若干个静态热源样本进行数据增强处理,例如对静态热源样本的每帧红外图像分别进行上下镜面翻转、左右镜面翻转或180
°
旋转等处理。在一些实施例中,为了增加包括静态人体热源的样本的数量,对包括静态人体热源的静态热源样本进一步进行数据增强处理,例如以静态人体热源的质心为参考,对静态人体热源进行平移后,使其质心位置会随之移动。
[0092]
在一些实施例中,在样本输入神经网络之前先进行异常值处理,对温度值为空值或温度值偏高与偏低的异常像素点进行处理,针对像素点对应温度值为空值的情况,采用当前样本数据中所有像素点温度值的中值进行填充处理;而针对像素点对应温度值偏高与偏低的情况,通过设定温度数值的上下限阈值进行截断处理。
[0093]
由于各季节对应环境温度值差异性较大,从而红外摄像头在不同季节获取到的相同热源温度分布数据差异性也较大,为了能使得模型训练时更快收敛且保证模型的鲁棒性,对静态热源样本数据进行归一化处理,即将每个静态热源样本数据映射到固定区间范围:
[0094][0095]
其中,imges0为当前进行归一化处理的静态热源样本,t
min
与t
max
分别为静态热源样本imges0中的温度最小值与最大值,imges1为归一化后的静态热源样本。
[0096]
通过上述丢弃重复样本、数据增强、异常值处理和/或数据增强处理后的若干个静态热源样本,作为输入神经网络的训练数据,不仅能让神经网络学习到丰富的样本,还能加速神经网络收敛,提高模型的鲁棒性和泛化能力。
[0097]
s20:采用若干个静态热源样本,对预先设置的3d卷积神经网络进行迭代训练,直至3d卷积神经网络收敛,得到静态人体检测模型。
[0098]
可以理解的是,在一些实施例中,这里的若干个静态热源样本可以是丢弃重复样本、数据增强、异常值处理和/或数据增强处理后的若干个静态热源样本。
[0099]
将若干个静态热源样本作为输入3d神经网络的训练数据,对预先设置的3d神经网络进行训练,不断调整3d神经网络的参数,在损失函数的约束下,3d神经网络输出的预测标签会越来越接近真实标签。当由损失函数计算的损失在一定范围内波动或达到某一值时,3d神经网络收敛,将收敛时的参数作为模型参数,得到静态人体检测模型。
[0100]
其中,3d卷积神经网络是包括3d卷积层的神经网络,更适用于时空特征的学习,从而,3d卷积神经网络除了学习静态热源样本的单帧特征外,还能够学习到静态热源样本的时域特征,有益于训练得到的静态人体检测模型通过区分时域特征,检测静态人体。
[0101]
在此实施例中,采用大量丰富的静态热源样本对3d卷积神经网络进行训练,使得3d卷积神经网络能够学习静态人体热源和干扰热源的单帧特征及时域特征,从而,训练得到的静态人体检测模型具备准确区分静态人体和干扰热源的能力,准确检测出未发生移动
的人体,有效解决了决干扰热源易误判为有人、静态人体存在而漏判的难点问题。此外,训练得到的静态人体检测模型可应用于具有红外摄像头的监测设备,一方面,对阳光、热水、加热物体等热源引起的干扰具有较高的鲁棒性,检测准确率高,另一方面,能够有效规避用户隐私暴露问题。
[0102]
在一些实施例中,3d卷积神经网络包括依次级联的第一特征提取模块、第二特征提取模块和分类模块。
[0103]
对于任意一个静态热源样本,静态热源样本中的n帧图像输入3d卷积神经网络,经过第一特征提取模块进行特征提取后,输出的结果输入第二特征提取模块进行特征提取后,输出的结果输入分类模块进行计算,输出静态热源属于静态人体热源的概率,以及,静态热源属于干扰热源的概率。
[0104]
其中,第一特征提取模块用于提取静态热源样本中各个红外图像中的静态热源的大致形状特征。第二特征提取模块用于提取静态热源样本中各个红外图像中的静态热源的温度分布特征以及静态热源样本中静态热源在时间维度上的变化特征。分类模块用于对第二特征提取模块输出的特征图进行分类,输出属于静态人体热源的概率和属于所述干扰热源的概率。
[0105]
在此实施例中,通过设置第一特征提取模块和第二特征提取模块,使得3d神经网络能够从特征的粒度和维度两方面,提取静态热源的形状特征、温度分布特征和其在时间维度上的变化特征(例如轻微晃动等时域特征),从而,分类模块能够基于静态热源的形状特征、温度分布特征和在时间维度上的变化特征,对静态热源进行分类,有利于提高分类结果的准确性,一方面,能够加快3d神经网络收敛,另一方面,能够得到检测准确的静态人体检测模型。
[0106]
在一些实施例中,第一特征提取模块包括多个3d卷积层,各3d卷积层后均设置有最大池化层。
[0107]
请参阅图6,第一特征提取模块包括2个3d卷积层和2个最大池化层,这2个3d卷积层和2个最大池化层交叉堆叠设置。每个3d卷积层的激活函数为relu函数。请再次参阅图6,将包括k帧大小为24*32红外图像的静态热源样本作为输入,其维度为(1,24,32,k),第一维度1是单帧红外图像的通道数,第二维度24和第三维度32分别是单帧红外图像的大小,第四维度k是红外图像的帧数。
[0108]
图6中3d卷积层的f为做卷积时输出的滤波器数量(即第一维度通道数转化后的值),s是在卷积层或最大池化层运算时窗口的移动步长。基于为了用户隐私采用分辨率较低的静态热源样本,即第二维度与第三维度较小,第一个最大池化层不对样本数据进行降维,而是在第二个最大池化层开始对样本数据的第二维度与第三维度进行降维,从而,能够保证学习到热源的大致形状等基础性特征。
[0109]
在此实施例中,通过将3d卷积层和最大池化层交叉堆叠设置,使得第一特征提取模块能够提取静态热源样本中各个红外图像中的静态热源的大致形状特征。
[0110]
在一些实施例中,第二特征提取模块包括多个级联的子模块,各子模块包括依次连接的多个3d卷积层,其中,最后一个3d卷积层后设置有最大池化层。
[0111]
在图6所示的实施例中,第二特征提取模块包括2个级联的子模块,一个子模块包括依次设置的2个3d卷积层和1个最大池化层。第一特征提取模块输出的特征图输入第二特
征提取模块进一步进行卷积、池化处理以提取特征,使得输入数据的第二维度逐渐降至3,第三维度逐渐降至4以及第四维度逐渐降至k
′
,k
′
的值与样本帧数k相关,第一维度对应的通道数升维至64。
[0112]
在此实施例中,通过设置多个级联的重复的子模块,使得输入的数据经过3d卷积层与池化层等操作后映射到隐层特征空间,能够提取静态热源样本中各个红外图像中的静态热源的温度分布特征以及静态热源样本中静态热源在时间维度上的变化特征。
[0113]
在一些实施例中,分类模块包括多个全连接层和softmax函数层,其中,相邻两个全连接层之间设置有dropout层。
[0114]
其中,全连接层用于将输入的特征图展平成一维的向量。softmax函数层采用softmax函数基于输入的向量进行分类,输出静态热源被划分为静态人体热源和干扰热源的概率值。相邻两个全连接层之间设置有dropout层,用于在每一个分支的训练当中随机减掉一些神经元,有利于避免模型训练时过拟合,从而增强模型的鲁棒性。
[0115]
请再次参阅图6,例如分类模块包括串联的三个全连接层(flatten,fc),全连接层的神经元数量配置分别为128、32和2,即第1个全连接层fc-128输出一个长度为128的向量,第2个全连接层fc-32输出一个长度为32的向量,第3个全连接层fc-2输出一个长度为2的向量。
[0116]
第3个全连接层fc-2输出的向量随后输入softmax层,输出静态热源被划分为静态人体热源和干扰热源的概率值。在一些实施例中,通过比较输出的概率值p1与预先设定的阈值p0的大小判断目标区域中的静态热源是否为人体热源,即:
[0117][0118]
其中,presence为目标区域人体存在状态值,presence为0表示目标区域内的静态热源为干扰热源,presence为1表示目标区域中的静态热源为人体热源。
[0119]
在此实施例中,通过将分类模块设置为包括多个全连接层和softmax函数层,相邻两个全连接层之间设置有dropout层,能够递进式进行降维,避免过拟合,增加模型的鲁棒性。
[0120]
在一些实施例中,训练过程中所采用的损失函数包括:
[0121][0122]
其中,loss为单个训练分支的损失,n为单个训练分支中的样本数量,wn为第n个静态热源样本中检测到存在热源的帧数占比,yn为第n个静态热源样本对应的预测标签,为第n个静态热源样本对应的真实标签。
[0123]
在此实施例中,将每个静态热源样本中检测到存在热源的帧数占比作为预测标签和真实标签之间差异的加权系数,一方面,能够有效避免训练过程中难以学习的困难样本所产生的损失被简单样本所稀释而导致困难样本未被充分学习的问题;另一方面,能够有效避免热源无法被分割的红外图像造成的干扰。
[0124]
综上所述,本技术一些实施例提供的训练静态人体检测模型的方法,采用大量丰富的静态热源样本对3d卷积神经网络进行训练,使得3d卷积神经网络能够学习静态人体热
源和干扰热源的单帧特征及时域特征,从而,训练得到的静态人体检测模型具备准确区分静态人体和干扰热源的能力,准确检测出未发生移动的人体,有效解决了干扰热源易误判为有人、静态人体存在而漏判的难点问题。此外,训练得到的静态人体检测模型可应用于具有红外摄像头的监测设备,一方面,对阳光、热水、加热物体等热源引起的干扰具有较高的鲁棒性,检测准确率高,另一方面,能够有效规避用户隐私暴露问题。
[0125]
在通过本技术实施例提供的训练静态人体检测模型的方法训练得到静态人体检测模型后,可利用该静态人体检测模型应用至人体检测。本技术实施例提供的人体检测方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端、服务器或具有红外摄像头的监控设备等。
[0126]
下面结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例提供的人体检测方法。参见图7,图7是本技术实施例提供的人体检测方法的流程示意图。该方法s200包括如下步骤:
[0127]
s201:获取测试样本,该测试样本包括具有时序性的k帧红外图像。
[0128]
可以理解的是,该测试样本是红外摄像头在实际应用场景中采集得到的红外视频。红外摄像头将测试样本发送给终端,从而,终端获取到测试样本。
[0129]
终端内置有人体检测应用程序,人体检测模型封装于该应用程序中,调用人体检测模型对前述测试样本进行人体检测,经过一系列的计算处理后,输出是否存在人体。
[0130]
s202:根据测试样本,确定测试样本中是否存在热源,若不存在热源,则输出不存在人体。
[0131]
首先,根据测试样本中的红外图像,确定测试样本中是否存在热源。可以理解的是,若不存在热源,则说明也不存在人体。
[0132]
在一些实施例中,采用以下方式确定测试样本中是否存在热源:
[0133]
(1)遍历该测试样本中的每一帧红外图像,确定每一帧红外图像对应的温度阈值threshold_2。
[0134]
(2)针对红外图像中的像素点,筛选出温度大于或等于温度阈值threshold_2的像素点,构成热斑区域,若热斑区域的最大连通面积大于或等于面积阈值s2,则确定红外图像存在热源。
[0135]
(3)当测试样本遍历完成后,若测试样本中存在热源的红外图像的数量大于或等于数量阈值m1,则确定测试样本中存在热源。
[0136]
可以理解的是,对于任意一帧红外图像,对应有自己的温度阈值threshold_2。也就是说,测试样本中的各个红外图像,采用的温度阈值threshold_2不是相同的。可以理解的是,实际场景中温度受环境、物体种类、传感器自身影响,每一红外图像中温度分布不同,例如,同样的场景(同样的温度分布)在两个红外图像中温度分布不同。若采用统一的绝对阈值,会造成一些红外图像的阈值不合理,影响热斑区域的提取。因此,在此实施例中,每帧红外图像,对应有自己的温度阈值threshold_2,有益于后续准确分割提取热斑区域。
[0137]
在一些实施例中,每帧红外图像对应的温度阈值threshold_2采用如下公式进行计算:
[0138]
threshold_2=q3+α*(q3-q1)
[0139]
其中,α∈[0.5,2.0]为参数因子,q1为每帧红外图像对应的温度值的下四分位数;
q3为每帧红外图像对应的温度值的上四分位数。
[0140]
在此实施例中,根据红外图像中各像素点的温度分布,确定温度阈值threshold_2,使得温度阈值threshold_2能够与该红外图像相匹配,准确分割提取出热斑区域。
[0141]
将红外图像中的各个像素点对应的温度值,分别与温度阈值threshold_2进行比较,若某一像素点的温度值大于或等于温度阈值threshold_2,则将该像素点划分至热斑区域。可以理解的是,当对红外图像中的各个像素点完成筛选后,得到热斑区域。
[0142]
然后,计算热斑区域的最大连通面积,即最大连通区域中像素点的个数。面积阈值s2为判断红外图像是否包括热源的临界值,可以排除异常像素点。在一些实施例中,面积阈值s2可以基于面积较小的热源确定,能够大致区分热源和异常像素点。
[0143]
由此,若热斑区域的最大连通面积大于或等于面积阈值s2,可以有效排除异常像素点,区分热源。从而,可以确定红外图像中存在热源。
[0144]
可以理解的是,考虑到单帧红外图像进行热源检测的偶发误差,这里,采用k帧红外图像进行热源检测。即,当测试样本遍历完成后,若测试样本中存在热源的红外图像的数量大于或等于数量阈值m1,则确定测试样本中存在热源。
[0145]
其中,数量阈值m1可以根据测试样本中红外图像的总帧数确定,在一些实施例中,数量阈值m1=β*k,其中,β取值为[0.4,0.8]),k为测试样本的总帧数。
[0146]
在此实施例中,通过上述方式,能够规避采用单帧红外图像进行热源检测的偶发误差,使得热源检测准确。
[0147]
s203:若存在热源,则根据测试样本,确定热源是否发生移动,若发生移动,则输出存在人体。
[0148]
若存在热源,该热源可能是静态干扰热源,也可能是人体热源。为了进一步区分,根据测试样本,确定热源是否发生移动。可以理解的是,若发生移动,说明热源是人体热源。若未发生移动,则热源可能是静态干扰热源,也有可能是静态的人体热源。
[0149]
在一些实施例中,前述“根据测试样本,确定热源是否发生移动”具体包括:
[0150]
(1)对测试样本进行差分计算,得到差分样本。
[0151]
(2)遍历差分样本,确定每一帧差分图像分别对应的温度阈值threshold_3。
[0152]
(3)针对差分图像中的像素点,筛选出差值不小于温度阈值threshold_3的像素点,构成移动区域,若移动区域的最大连通面积大于或等于面积阈值s3,则确定差分图像中热源存在移动。
[0153]
(4)当差分样本遍历完成后,若差分样本中存在热源移动的差分图像的数量大于或等于数量阈值m2,则确定热源发生移动。
[0154]
其中,差分计算是指将两个图像按对应像素点位置进行像素值相减运算。可以采用如下公式进行差分计算:
[0155]d(i,j)
=p
(i,j)-h
(i,j)
[0156]
其中,p
(i,j)
是测试样本中一个红外图像中第i行第j列的像素点的像素值,h
(i,j)
是测试样本中另一个红外图像中第i行第j列的像素点的像素值,d
(i,j)
是差分图像中第i行第j列的像素点的像素值(即差分值)。
[0157]
可以理解的是,测试样本的两幅图像中未发生重合部分的像素区域对应的差分值较大,发生重合部分的像素区域的差分值接近于0。由于测试样本中每帧红外图像中的静态
热源的位置近乎不会发生变化,从而,差分计算可以消除测试样本中的静态热源。
[0158]
在一些实施例中,从第2帧起依次计算每帧红外图像与第1帧红外图像的差值,即得到包括k-1帧差分图像的差分样本。
[0159]
可以理解的是,对于任意一帧差分图像,对应有自己的温度阈值threshold_3。在一些实施例中,也可以采用公式threshold_3=q3+β*(q3-q1)计算温度阈值threshold_3。其中,β∈[0.5,2.0]为参数因子,q1为每帧差分图像对应的温度值的下四分位数;q3为每帧差分图像对应的温度值的上四分位数。
[0160]
筛选出差值不小于温度阈值的像素点,构成移动区域,若移动区域的最大连通面积大于或等于面积阈值,则确定差分图像中热源存在移动。
[0161]
将差分图像中的各个像素点对应的温度值,分别与温度阈值threshold_3进行比较,若某一像素点的温度值大于或等于温度阈值threshold_3,则将该像素点划分至移动区域。可以理解的是,当对差分图像中的各个像素点完成筛选后,得到移动区域。
[0162]
然后,计算移动区域的最大连通面积,即最大连通区域中像素点的个数。面积阈值s3为判断差分图像中热源发生移动的临界值,可以排除异常像素点。
[0163]
由此,若移动区域的最大连通面积大于或等于面积阈值s3,则说明热源发生移动。若移动区域的最大连通面积小于面积阈值s3,则说明热源未发生移动。
[0164]
可以理解的是,考虑到运动在时间上的连续性以及单帧差值图像进行移动检测的偶发误差,这里,采用包括k-1帧差分图像的差分样本进行移动检测。即,当遍历完成后,若差分样本中存在热源移动的差分图像的数量大于或等于数量阈值m2,说明运动存在持续性,则确定热源发生了移动,否则,确定热源未发生移动。其中,数量阈值m2可以根据差值样本的总帧数确定。在一些实施例中,也可与数量阈值m1相同的方式,确定数量阈值m2。
[0165]
在此实施例中,通过对测试样本进行差分计算,计算各个差分图像中移动区域的面积,筛选出移动区域的最大连通面积大于或等于面积阈值m2的差分图像,基于筛选出的差分图像的数量大于或等于数量阈值m2,能够准确确定热源是否发生移动。
[0166]
若热源发生移动,说明热源是人体热源。若热源未发生移动,则热源可能是静态干扰热源,也有可能是静态的人体热源,则继续进行步骤s204。
[0167]
s204:若未发生移动,则将测试样本输入静态人体检测模型,输出测试样本中的热源属于静态人体热源还是属于干扰热源。其中,静态人体检测模型是采用上述训练方法实施例中任意一项训练静态人体检测模型的方法训练得到的。
[0168]
可以理解的是,该静态人体检测模型是通过上述实施例中训练静态人体检测模型的方法训练得到,与上述实施例中静态人体检测模型具有相同的结构和功能,在此不再一一赘述。
[0169]
在此实施例中,先根据测试样本中各个红外图像的温度分布,判断是否存在热源,若不存在热源,说明也不存在人体。若存在热源,则进一步判断热源是否发生移动,若发生移动,说明存在人体。若未发生移动,则进一步采用静态人体检测模型检测热源是静态人体还是干扰热源。通过此方式,能够准确检测出静态的人体,使得人体检测更加准确。
[0170]
本技术实施例还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的训练静态人体检测模型的方法或人体检测方法。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随
机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cdrom)、磁带、软盘和光数据存储设备等。
[0171]
本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括一条或多条程序代码,该程序代码存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,以完成上述实施例中提供的训练静态人体检测模型的方法的步骤或人体检测方法的步骤。
[0172]
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0173]
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0174]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:
1.一种训练静态人体检测模型的方法,其特征在于,包括:获取若干个静态热源样本,所述静态热源样本包括k帧红外图像,所述k帧红外图像具有时序性,各所述静态热源样本均标注有真实标签,所述真实标签反映所述静态热源样本中的静态热源属于静态人体热源或干扰热源;采用所述若干个静态热源样本,对预先设置的3d卷积神经网络进行迭代训练,直至所述3d卷积神经网络收敛,得到所述静态人体检测模型。2.根据权利要求1所述的方法,其特征在于,所述3d卷积神经网络包括依次级联的第一特征提取模块、第二特征提取模块和分类模块;其中,所述第一特征提取模块用于提取所述静态热源样本中各个红外图像中的静态热源的大致形状特征;所述第二特征提取模块用于提取所述静态热源样本中各个红外图像中的静态热源的温度分布特征以及所述静态热源样本中静态热源在时间维度上的变化特征;所述分类模块用于对所述第二特征提取模块输出的特征图进行分类,输出属于所述静态人体热源的概率和属于所述干扰热源的概率。3.根据权利要求2所述的方法,其特征在于,所述第一特征提取模块包括多个3d卷积层,各所述3d卷积层后均设置有最大池化层。4.根据权利要求2所述的方法,其特征在于,所述第二特征提取模块包括多个级联的子模块,各所述子模块包括依次连接的多个3d卷积层,其中,最后一个3d卷积层后设置有最大池化层。5.根据权利要求2所述的方法,其特征在于,所述分类模块包括多个全连接层和softmax函数层,其中,相邻两个全连接层之间设置有dropout层。6.根据权利要求1所述的方法,其特征在于,训练过程中所采用的损失函数包括:其中,loss为单个训练分支的损失,n为单个训练分支中的样本数量,w
n
为第n个静态热源样本中检测到存在热斑的帧数占比,y
n
为所述第n个静态热源样本对应的预测标签,为所述第n个静态热源样本对应的真实标签。7.一种人体检测方法,其特征在于,包括:获取测试样本,所述测试样本包括具有时序性的k帧红外图像;根据所述测试样本,确定所述测试样本中是否存在热源,若不存在热源,则输出不存在人体;若存在热源,则根据所述测试样本,确定所述热源是否发生移动,若发生移动,则输出存在人体;若未发生移动,则将所述测试样本输入静态人体检测模型,输出所述测试样本中的热源属于静态人体热源还是属于干扰热源,其中,静态人体检测模型是采用如权利要求1-6任意一项训练静态人体检测模型的方法训练得到的。8.根据权利要求7所述的方法,其特征在于,所述根据所述测试样本,确定所述热源是否发生移动,包括:
对所述测试样本进行差分计算,得到差分样本;遍历所述差分样本,确定每一帧差分图像分别对应的温度阈值;针对所述差分图像中的像素点,筛选出差值不小于所述温度阈值的像素点,构成移动区域,若所述移动区域的最大连通面积大于或等于面积阈值,则确定所述差分图像中热源存在移动;当所述差分样本遍历完成后,若所述差分样本中存在热源移动的差分图像的数量大于或等于数量阈值,则确定所述热源发生移动。9.一种电子设备,其特征在于,包括:至少一个处理器;和与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行如权利要求1-8任一项所述的方法。
技术总结
本申请实施例涉及智能监测技术领域,公开了一种训练静态人体检测模型的方法、人体检测方法及装置,采用若干个静态热源样本,对预先设置的3D卷积神经网络进行迭代训练,直至3D卷积神经网络收敛,得到静态人体检测模型。其中,静态热源样本包括具有时序性的k帧红外图像,各静态热源样本均标注有真实标签,该真实标签反映静态热源样本中的静态热源属于静态人体热源或干扰热源。通过上述方式,使得3D卷积神经网络能够学习静态人体热源和干扰热源的单帧特征及时域特征,从而,训练得到的静态人体检测模型具备准确区分静态人体和干扰热源的能力,准确检测出未发生移动的人体,有效解决了干扰热源易误判为有人、静态人体存在而漏判的难点问题。的难点问题。的难点问题。
技术研发人员:钟贞炎
受保护的技术使用者:深圳数联天下智能科技有限公司
技术研发日:2023.03.23
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种摄像头支架保护壳的制作方法 下一篇:一种新型的主减速器润滑油路结构的制作方法