本发明涉及计算机视觉领域,特别是一种基于深度学习的人流检测方法和系统。
背景技术:
随着大数据和深度学习的发展,cnn(卷积神经网络)在图像信息处理上的优势正在被越来越多人所接受,相对于人工提取的特征,神经网络可以提供更丰富的特征,而且可以获取图像从细节特征到抽象特征的多种特征(细节特征到抽象特征:细节特征可以是图像的纹理波纹,抽象特征可以是具体的物体,比如人的鼻子,眼睛等)。现有的技术方案大多数都基于传统图像算法和依赖于激光等设备,容易受到人姿态和环境变化的影响,从而导致对人流的检测会有较多漏检和误检;而依赖于激光等设备的方案对于设备要求较高,输入设备的只能是一种类型的图像。如何避免因人的姿态、外部环境影响而导致的对人流检测有较多漏检和误检,以及克服因设备因素而导致输入设备的只能是一种类型的图像,成为亟需解决的问题。
技术实现要素:
本发明的目的是提供一种基于深度学习的人流检测方法和系统,用于解决因人的姿态、外部环境影响而导致的对人流的检测有较多漏检和误检,以及克服因设备因素而导致输入设备的只能是一种类型的图像的技术问题。
本发明提供的技术方案如下:
一种基于深度学习的人流检测方法,包括以下步骤:
采集人流的深度图和灰度图,对采集到的所述灰度图数据进行标注,并对人头进行分割处理,获取检测人头数据集;
对所述深度图和灰度图进行处理,得到归一化的图像;
将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数;
根据所述最优参数神经网络模型和最优参数,在所述人头数据集中进行人流检测。
进一步地,所述对所述深度图和灰度图进行处理,得到归一化的图像具体为:
对所述深度图数据进行深度筛选,将深度筛选后的深度图和标注后的灰度图进行融合,获得新的三通道图像;
将所述三通道图像减去均值,然后除以标准差得到归一化的图像。
进一步地,所述将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数包括:
设输入所述预先设置的神经网络模型的所述归一化图像为i,输出为y,损失函数为l,图像长为ih,图像宽度为iw,图像的通道数为ic;
对输入所述归一化的图像i进行卷积运算,得到多通道的特征图;对所述多通道的特征图进行batchnormal,将归一化的特征图用relu激励函数进行运算得到处理后的特征图t0;
对所述归一化的图像进行2乘2下采样,得到ih/2和iw/2大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t;
对所述归一化的图像进行4乘4下采样,得到ih/4和iw/4大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t1;
对所述特征图t1进行上采样后和所述特征图t进行融合,将融合后的特征图进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到所述处理后的特征图t2。
进一步地,在所述得到所述处理后的特征图t2之后,还包括:
将特征图t0、t、t1、t2进行上采样,得到和输入图片一样尺寸的上采样特征图,将所述上采样特征图用1x1的卷积核进行卷积降维,得到一维的特征图,对所述一维的特征图进行卷积然后输出图像。
进一步地,所述对所述神经网络模型进行训练,得出最优参数神经网络模型具体包括:
采用交叉熵损失函数和bp算法,优化所述神经网络模型,得到最优参数神经网络模型,所述交叉熵损失函数为l=-[ilogy+(1-i)log(1-y)]。
本发明还提供一种基于深度学习的人流检测系统,包括:
采集模块,用于采集人流的深度图和灰度图,对采集到的所述灰度图数据进行标注,并对人头进行分割处理,获取检测人头数据集;
处理模块,用于对所述深度图和灰度图进行处理,得到归一化的图像;
训练模块,用于将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数;
人流检测模块,用于根据所述最优参数神经网络模型和最优参数,在所述人头数据集中进行人流检测。
进一步地,所述处理模块包括:
融合单元,用于对所述深度图数据进行深度筛选,将深度筛选后的深度图和标注后的灰度图进行融合,获得新的三通道图像;
归一化单元,用于将所述三通道图像减去均值,然后除以标准差得到归一化的图像。
进一步地,所述训练模块,包括:
神经网络模型设计单元,设输入所述预先设置的神经网络模型的所述归一化图像为i,输出为y,损失函数为l,图像长为ih,图像宽度为iw,图像的通道数为ic;
第一处理单元,用于对输入所述归一化的图像i进行卷积运算,得到多通道的特征图;对所述多通道的特征图进行batchnormal,将归一化的特征图用relu激励函数进行运算得到处理后的特征图t0;
第二处理单元,用于对所述归一化的图像进行2乘2下采样,得到ih/2和iw/2大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t;
第三处理单元,用于对所述归一化的图像进行4乘4下采样,得到ih/4和iw/4大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t1;
第四处理单元,用于对所述特征图t1进行上采样后和所述特征图t进行融合,将融合后的特征图进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到所述处理后的特征图t2。
进一步地,所述训练模块,还包括:
图像输出单元,用于在所述得到所述处理后的特征图t2之后,将特征图t0、t、t1、t2进行上采样,得到和输入图片一样尺寸的上采样特征图,将所述上采样特征图用1x1的卷积核进行卷积降维,得到一维的特征图,对所述一维的特征图进行卷积然后输出图像。
进一步地,所述训练模块,还包括:
模型优化单元,用于采用交叉熵损失函数和bp算法,优化所述神经网络模型,得到最优参数神经网络模型,所述交叉熵损失函数为l=-[ilogy+(1-i)log(1-y)]。
通过本发明提供的一种基于深度学习的人流检测方法和系统,能够带来以下有益效果:
1、避免了因人的姿态、外部环境影响而导致的对人流检测有较多漏检和误检,提高了检测的准确率,在不同的背景,穿着,姿态等情况下均有很高的准确率。
2、克服了因设备因素而导致输入设备的只能是一种类型的图像,解决了输入信息多样性的问题,可以接受rgb图、深度图、点云等数据信息。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的主要特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种基于深度学习的人流检测方法的流程图;
图2是本发明的一种神经网络模型训练的流程图;
图3是本发明的一种基于深度学习的人流检测系统的结构示意图;
图4是本发明的一种神经网络模型训练模块的结构示意图。
附图标号说明:
01.采集模块,02.处理模块,03.训练模块,04.人流检测模块,神经网络模31.型设计单元,32.第一处理单元,33.第二处理单元,34.第三处理单元,35.第四处理单元,36.图像输出单元。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在本发明的一个实施例中,如图1所示,一种基于深度学习的人流检测方法的流程图,包括以下步骤:
s1.采集人流的深度图和灰度图,对采集到的所述灰度图数据进行标注,并对人头进行分割处理,获取检测人头数据集;
s2.对所述深度图和灰度图进行处理,得到归一化的图像;
s3.将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数;
s4.根据所述最优参数神经网络模型和最优参数,在所述人头数据集中进行人流检测。
本实施例基于深度学习的人流检测方法,通过采集人流的深度图和灰度图,获取检测人头数据集,将经归一化处理后的图像输入预先设置的神经网络模型以进行神经网络模型训练,从而得出最优参数神经网络模型和最优参数。由于利用了深度图的深度信息和灰度图的纹理信息,同时基于最优参数神经网络模型和最优参数进行人流检测,使得在人流检测方面,可以快速准确的找出人头并跟踪显示,解决了传统算法不能准确识别人头、容易受人的姿态以及外部环境影响的技术问题。
具体地,所述s2步骤包括:
s21.对所述深度图数据进行深度筛选,将深度筛选后的深度图和标注后的灰度图进行融合,获得新的三通道图像;
s22.将所述三通道图像减去均值,然后除以标准差得到归一化的图像。
本实施例,通过对所述深度图数据进行深度筛选,将深度筛选后的深度图和标注后的灰度图进行融合,获得新的三通道图像,将所述三通道图像减去均值,然后除以标准差得到归一化的图像,得到归一化的图像,使得在神经网络模型训练中可以接受图片、点云、深度信息、激光等各种不同的信息输入,克服了因设备因素而导致输入设备的只能是一种类型的图像,解决了输入信息多样性的问题。
在本发明的另一个实施例中,如图2所示,所述s3步骤包括:
s31.设输入所述预先设置的神经网络模型的所述归一化图像为i,输出为y,损失函数为l,图像长为ih,图像宽度为iw,图像的通道数为ic;
s32.对输入所述归一化的图像i进行卷积运算,得到多通道的特征图;对所述多通道的特征图进行batchnormal,将归一化的特征图用relu激励函数进行运算得到处理后的特征图t0;
s33.对所述归一化的图像进行2乘2下采样,得到ih/2和iw/2大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t;
s34.对所述归一化的图像进行4乘4下采样,得到ih/4和iw/4大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t1;
s35.对所述特征图t1进行上采样后和所述特征图t进行融合,将融合后的特征图进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到所述处理后的特征图t2;
s36.将特征图t0、t、t1、t2进行上采样,得到和输入图片一样尺寸的上采样特征图,将所述上采样特征图用1x1的卷积核进行卷积降维,得到一维的特征图,对所述一维的特征图进行卷积然后输出图像。
进一步地,所述s3步骤还包括:
s37.采用交叉熵损失函数和bp算法,优化所述神经网络模型,得到最优参数神经网络模型,所述交叉熵损失函数为l=-[ilogy+(1-i)log(1-y)]。
具体地,本实施例的上采样是对图像进行像素的扩展以得到更大分辨率的图片;下采样是对图像中像素进行间隔获取可以得到更小分辨率的图片,而融合操作则是对图片或者通道维度上的信息进行相加,但对图像尺寸不做操作。通过将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数,较佳的,将保存的最优参数神经网络模型转为pb文件,将pb文件部署到设备上进行人流检测,避免了因人的姿态、外部环境影响而导致对人流的检测有较多漏检和误检,提高了检测的准确率,在不同的背景,穿着,姿态等情况下均有很高的准确率。
在本发明的一个实施例中,如图3所示,一种基于深度学习的人流检测系统,包括:
采集模块01,用于采集人流的深度图和灰度图,对采集到的所述灰度图数据进行标注,并对人头进行分割处理,获取检测人头数据集;
处理模块02,用于对所述深度图和灰度图进行处理,得到归一化的图像;
训练模块03,用于将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数;
人流检测模块04,用于根据所述最优参数神经网络模型和最优参数,在所述人头数据集中进行人流检测。
本实施例基于深度学习的人流检测方法,通过采集人流的深度图和灰度图,获取检测人头数据集,将经归一化处理后的图像输入预先设置的神经网络模型以进行神经网络模型训练,从而得出最优参数神经网络模型和最优参数。由于利用了深度图的深度信息和灰度图的纹理信息,同时基于最优参数神经网络模型和最优参数进行人流检测,使得在人流检测方面,可以快速准确的找出人头并跟踪显示,解决了传统算法不能准确识别人头、容易受人的姿态以及外部环境影响的技术问题。
进一步地,所述处理模块02包括:
融合单元021,用于对所述深度图数据进行深度筛选,将深度筛选后的深度图和标注后的灰度图进行融合,获得新的三通道图像;
归一化单元022,用于将所述三通道图像减去均值,然后除以标准差得到归一化的图像。
本实施例,通过对所述深度图数据进行深度筛选,将深度筛选后的深度图和标注后的灰度图进行融合,获得新的三通道图像,将所述三通道图像减去均值,然后除以标准差得到归一化的图像,得到归一化的图像,使得在神经网络模型训练中可以接受图片、点云、深度信息、激光等各种不同的信息输入,克服了因设备因素而导致输入设备的只能是一种类型的图像,解决了输入信息多样性的问题。
在本发明的一个实施例中,如图4所示,所述训练模块03,包括:
神经网络模型设计单元031,设输入所述预先设置的神经网络模型的所述归一化图像为i,输出为y,损失函数为l,图像长为ih,图像宽度为iw,图像的通道数为ic;
第一处理单元032,用于对输入所述归一化的图像i进行卷积运算,得到多通道的特征图;对所述多通道的特征图进行batchnormal,将归一化的特征图用relu激励函数进行运算得到处理后的特征图t0;
第二处理单元033,用于对所述归一化的图像进行2乘2下采样,得到ih/2和iw/2大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t;
第三处理单元034,用于对所述归一化的图像进行4乘4下采样,得到ih/4和iw/4大小的特征图,然后对得到的图片用3x3的卷积核进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到处理后的特征图t1;
第四处理单元035,用于对所述特征图t1进行上采样后和所述特征图t进行融合,将融合后的特征图进行卷积操作,进行batchnormal,用relu激励函数进行运算,得到所述处理后的特征图t2;
图像输出单元036,用于在所述得到所述处理后的特征图t2之后,将特征图t0、t、t1、t2进行上采样,得到和输入图片一样尺寸的上采样特征图,将所述上采样特征图用1x1的卷积核进行卷积降维,得到一维的特征图,对所述一维的特征图进行卷积然后输出图像。
进一步地,所述训练模块03,还包括:
模型优化单元037,用于采用交叉熵损失函数和bp算法,优化所述神经网络模型,得到最优参数神经网络模型,所述交叉熵损失函数为l=-[ilogy+(1-i)log(1-y)]。
具体地,本实施例的上采样是对图像进行像素的扩展以得到更大分辨率的图片;下采样是对图像中像素进行间隔获取可以得到更小分辨率的图片,而融合操作则是对图片或者通道维度上的信息进行相加,但对图像尺寸不做操作。通过将所述归一化的图像输入预先设置的神经网络模型,对所述神经网络模型进行训练,得出最优参数神经网络模型和最优参数,较佳的,将保存的最优参数神经网络模型转为pb文件,将pb文件部署到设备上进行人流检测,避免了因人的姿态、外部环境影响而导致对人流的检测有较多漏检和误检,提高了检测的准确率,在不同的背景,穿着,姿态等情况下均有很高的准确率。
综上所述,本发明提供的一种基于深度学习的人流检测方法和系统,避免了因人的姿态、外部环境影响而导致的对人流的检测有较多漏检和误检,提高了检测的准确率,在不同的背景,穿着,姿态等情况下均有很高的准确率;同时克服了因设备因素而导致输入设备的只能是一种类型的图像,解决了输入信息多样性的问题,可以接受rgb图、深度图、点云等数据信息。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。