一种基于深度学习模型的红外行人识别方法及系统与流程

    专利2022-07-08  101


    本发明涉及红外成像技术领域,具体涉及一种基于深度学习模型的红外行人识别方法及系统。



    背景技术:

    神经网络算法是拟人类思考方式的一种算法,搭建的网络模型就是模拟的人脑,训练集就是我们提供的学习资料,将训练集不断送至电脑进行训练,获得模型,并用测试集加以修正,最终得到一个最接近理想输出的模型。该模型便可在红外图片的情况下最大程度地识别图中的行人。自2005年以来,行人检测技术的训练库趋于大规模化、检测精度趋于实用化、检测速度趋于实时化。但是目前行人检测数据集鲜有红外热成像图片,也很少有算法去针对红外图像中的行人做识别。一般来说,基于普通图像的行人识别机器依赖于图片的质量,在夜间光线不足的情况下很难准确识别行人,所以需要红外识别系统加以辅助。

    行人检测有十余年发展,目前主流的是haar特征 adaboost算法,hog特征 svm算法等传统算法,深度学习因其更符合人思考模式,开源的代码方式和近几年大数据的迅速发展和网络框架的不断优化,正在迅猛的发展中。行人检测在计算机应用领域有着非常广泛的应用,由于传统的行人识别方法存在光照不足,背景复杂,人体形态变化大等的限制,不能准确实时地识别出行人,因此想要在完全无光的情况下快速准确检测出行人,需要将红外热成像与行人识别相结合,搭配先进的深度学习算法。

    如中国专利cn106407948a,公开日2017年2月15日,一种基于红外夜视仪的行人检测与识别方法,包括以下步骤:通过红外夜视仪采集并保存视频帧,实时更新当前最新三帧的有效数据,对采集的三帧视频图像进行预处理;对处理后的三帧视频图像进行区域匹配,图像补偿完成后,进行三帧差分计算,对图像进行形态学膨胀、腐蚀处理;根据几何特征和运动速率特征进行图像的行人识别。本方法在已有的行人检测基础上,提出了一种改进的三帧差分法进行行人检测,可以更好地将行人的外形轮廓提取出来,同时结合行人的几何和运动速率特征进行目标识别分类,即可识别道路上运动的行人。其并没有考虑到如何在完全无光的情况下快速准确检测出行人,无法在缺少可见光的情况下快速准确的进行行人识别检测。



    技术实现要素:

    本发明要解决的技术问题是:目前的行人识别系统在完全无光的情况下无法快速准确地检测出行人的技术问题。提出了一种能够在完全无光的情况下快速准确地检测出行人的基于深度学习模型的红外行人识别方法及系统。

    为解决上述技术问题,本发明所采取的技术方案为:一种基于深度学习模型的红外行人识别方法,包括如下步骤:

    s1:获取数据并对数据进行预处理:获取包含行人的红外图像,对红外图像进行标记,按照设定比例划分为检测模型的训练集和测试集;

    s2:搭建神经网络:使用目标检测网络faster-rcnn对图片进行图像分割,使用vgg_16完成对目标图片的特征提取和识别;

    s3:模型训练:使用训练集对神经网络进行模型训练,计算训练集和测试集的损失函数;

    s4:设计交互界面:建立交互窗口,实现待处理的视频和处理后的视频的同步对比播放。用红外热成像仪拍摄视频,因为卷积网络会自动提取颜色,对比度等各个方面的信息,所以要选择在不同的温度下拍摄视频;因为需要各种姿态的行人,以增强网络的鲁棒性,因街拍并不能很好的收录,选择组织人员进行摆拍,截取10000张效果较好的图片作为图片集,对图片集进行人工框选后作为数据集,将所有数据按照3∶1的比例分为训练集和测试集,最后转换成合适的格式,利用tensorflow进行训练;利用卷积神经网络进行图片的特征提取,并通过vgg_16完成神经网络的搭建,框架搭建完后,先用最基本的参数和方法进行模型的训练,训练网络。再不断加上先进的优化方法,调整参数,观察应用前后的识别速度和识别正确率,不断测试效果和修改网络。训练网络并没有终点,但并不是训练越多次越好,因为网络存在拟合不足和过拟合的问题,所以需要画出在训练集和测试集的损失曲线,选择较好效果批次的模型导出。然后需要测试模型的效果,包括第一类错误率和第二类错误率,再将出现的问题进行理论分析,并依据分析结果调整正则化等网络参数甚至网络结构。模型搭建和优化完成之后,使用pyqt5和tkinter库进行基础gui制作,将模型的功能和反馈结果通过交互界面实现、显示。设定菜单栏、状态栏和工具栏,使界面能够实现基础功能,比如文件的导入、关闭,图像截取等,之后进行进一步的设计将待处理的视频和处理后的视频实现同步对比播放。

    作为优选,所述步骤s1包括如下步骤:

    s11:获取行人视频源数据后用opencv对视频源进行分帧;

    s12:使用labelimg对图片进行人工选框标记;

    s13:制作voc数据集,将voc数据集转换成tfrecord;

    s14:预处理完毕。对图片的预处理有利于之后对图片中特征的识别和提取。

    作为优选,所述步骤s13具体步骤为:将标记的行人图片集整理成数据集,将标记完的数据集转换为tfrecord格式的文件,再将注释的xml文件转换为csv格式,使用xml_to_csv.py,将所有数据按照3∶1的比例分为训练集和测试集,将生成train.csv训练集和eval.csv测试集,最后生成tfrecord文件。3∶1的比例可以更方便在训练测试后检测训练效果。

    作为优选,所述步骤s2包括如下步骤:

    s21:对图像进行相应的预处理;

    s22:通过预处理的图片输入卷积神经网络提取特征,特征提取网络拟选择vgg_16;

    s23:公共特征图经过3*3的卷积得到256*h*w的特征图,再经过一些列处理得到h*w*9个anchors;

    s24:每个anchors经过后处理得到分数最大的k个框;

    s25:k个候选框对应到原图,并映射到公共特征图上;

    s26:公共图上的候选框通过roipooling得到标准大小的一组特征;

    s27:roi特征再次分类和回归。vgg_16是一个优秀的卷积神经网络框架。是一个具有非常好的分类性能的基础网络,先用vgg_16完成对单一目标图片的识别,但vgg_16虽然能快速的完成目标图片的识别,对于一张图片上出现多个目标的情况,却完全无法进行处理,需要先对图片进行图像分割即把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。使用目标检测网络之一的faster-rcnn,faster-rcnn属于rcnn派系,先后经历了rcnn,fast-rcnn,最后到了faster-rcnn,已经具备了较高的识别能力,faster-rcnn分为两部分,图像识别部分(fast-rcnn)和候选框选择部分(rpn)。

    作为优选,所述步骤s3中的损失函数为:

    l(p,u,tu,v)=lcls(p,u) β[u≥1]lloc(tu,v)

    其中,tu表示预测的结果,u表示类别,v表示真实的结果。损失函数是将分类的loss和回归的loss整合在一起,其中分类采用logloss,即对真实分类的概率取负log,而回归的loss和r-cnn基本一样。分类层输出k 1维,表示k个类和1个背景类。

    作为优选,所述步骤s3包括如下步骤:

    s31:从每张图像中挑选25%的roi;

    s32:采用随机水平翻转的方式增加数据集;

    s33:将每张图像的roi增长到至少2000个;

    s34:计算训练集和测试集的损失函数;

    s35:重复上述步骤,计算每次训练后训练集和测试集的损失函数。在实际训练中,每个mini-batch包含2张图像和128个regionproposal(或者叫roi),也就是每张图像有64个roi。然后从这些roi中挑选约25%的roi,这些roi和groundtruth的iou值都大于0.5。另外只采用随机水平翻转的方式增加数据集,测试的时候则每张图像大约2000个roi。

    作为优选,所述步骤s4包括如下步骤:

    s41:建立交互窗口;

    s42:设定菜单栏、状态栏和工具栏;

    s43:设置待处理的视频播放窗口和处理后的视频播放窗口;

    s44:将待处理的视频和处理后的视频同步对比播放。让程序的功能都能通过可视化交互界面操作,同时程序的运行结果以可视化的方式显示出来,比如将待处理的视频和处理后的视频实现同步对比播放。显示结果的同时要让界面设计得美观而简洁。gui要能够快速响应用户的操作和反馈结果。在设计时要考虑多方面因素比如减少用户的记忆负担,界面简约但是功能完备。

    一种基于深度学习模型的红外行人识别系统,应用上述方法进行控制,包括:

    数据预处理模块:用于获取包含行人的红外图像及对红外图像进行预处理,并对预处理后的红外图像进行人工标注,然后按照设定比例划分为检测模型的训练集和测试集;

    检测网络及模型训练模块:用于搭建网络模型,优化检测方法并调整参数,导出模型检测效果,确定最终模型;

    外界交互模块:建立交互窗口,实现待处理的视频和处理后的视频同步对比播放。该红外行人识别系统通过数据预处理模块、检测网络及模型训练模块和外界交互模块实现在完全无光的情况下无法快速准确地检测出行人的功能并通过外界交互模块使用者操作更为方便。

    本发明的实质性效果是:通过数据预处理模块实现获取包含行人的红外图像及对红外图像进行预处理,并对预处理后的红外图像进行人工标注,然后按照设定比例划分为检测模型的训练集和测试集;通过检测网络及模型训练模块实现搭建网络模型,优化检测方法并调整参数,导出模型检测效果,确定最终模型;通过外界交互模块建立交互窗口,实现待处理的视频和处理后的视频同步对比播放,从而使本系统实现在完全无光的情况下快速准确地检测出行人的功能。

    附图说明

    图1为本发明整体实施步骤的流程图。

    图2为原红外图像。

    图3为标记后的图像。

    图4为本发明的实施示意图。

    具体实施方式

    下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。

    一种基于深度学习模型的红外行人识别方法,如图1所示,包括如下步骤:

    s1:获取数据并对数据进行预处理:获取包含行人的红外图像,对红外图像进行标记,按照设定比例划分为检测模型的训练集和测试集;步骤s1包括如下步骤:

    s11:获取行人视频源数据后用opencv对视频源进行分帧;

    s12:使用labelimg对图片进行人工选框标记;原红外图像如图2所示,标记后的图像如图3所示;

    s13:制作voc数据集,将voc数据集转换成tfrecord;步骤s13具体步骤为:将标记的行人图片集整理成数据集,将标记完的数据集转换为tfrecord格式的文件,再将注释的xml文件转换为csv格式,使用xml_to_csv.py,将所有数据按照3∶1的比例分为训练集和测试集,将生成train.csv训练集和eval.csv测试集,最后生成tfrecord文件。3∶1的比例可以更方便在训练测试后检测训练效果。

    s14:预处理完毕。对图片的预处理有利于之后对图片中特征的识别和提取。

    s2:搭建神经网络:使用目标检测网络faster-rcnn对图片进行图像分割,使用vgg_16完成对目标图片的特征提取和识别;步骤s2包括如下步骤:

    s21:对图像进行相应的预处理;

    s22:通过预处理的图片输入卷积神经网络提取特征,特征提取网络拟选择vgg_16;

    s23:公共特征图经过3*3的卷积得到256*h*w的特征图,再经过一些列处理得到h*w*9个anchors;

    s24:每个anchors经过后处理得到分数最大的k个框;

    s25:k个候选框对应到原图,并映射到公共特征图上;

    s26:公共图上的候选框通过roipooling得到标准大小的一组特征;

    s27:roi特征再次分类和回归。vgg_16是一个优秀的卷积神经网络框架。是一个具有非常好的分类性能的基础网络,先用vgg_16完成对单一目标图片的识别,但vgg_16虽然能快速的完成目标图片的识别,对于一张图片上出现多个目标的情况,却完全无法进行处理,需要先对图片进行图像分割即把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。使用目标检测网络之一的faster-rcnn,faster-rcnn属于rcnn派系,先后经历了rcnn,fast-rcnn,最后到了faster-rcnn,已经具备了较高的识别能力,faster-rcnn分为两部分,图像识别部分(fast-rcnn)和候选框选择部分(rpn)。

    s3:模型训练:使用训练集对神经网络进行模型训练,计算训练集和测试集的损失函数;步骤s3中的损失函数为:

    l(p,u,tu,v)=lcls(p,u) β[u≥1]lloc(tu,v)

    其中,tu表示预测的结果,u表示类别,v表示真实的结果。损失函数是将分类的loss和回归的loss整合在一起,其中分类采用logloss,即对真实分类的概率取负log,而回归的loss和r-cnn基本一样。分类层输出k 1维,表示k个类和1个背景类。步骤s3包括如下步骤:

    s31:从每张图像中挑选25%的roi;

    s32:采用随机水平翻转的方式增加数据集;

    s33:将每张图像的roi增长到至少2000个;

    s34:计算训练集和测试集的损失函数;

    s35:重复上述步骤,计算每次训练后训练集和测试集的损失函数。在实际训练中,每个mini-batch包含2张图像和128个regionproposal(或者叫roi),也就是每张图像有64个roi。然后从这些roi中挑选约25%的roi,这些roi和groundtruth的iou值都大于0.5。另外只采用随机水平翻转的方式增加数据集,测试的时候则每张图像大约2000个roi。

    s4:设计交互界面:建立交互窗口,实现待处理的视频和处理后的视频的同步对比播放。步骤s4包括如下步骤:

    s41:建立交互窗口;

    s42:设定菜单栏、状态栏和工具栏;

    s43:设置待处理的视频播放窗口和处理后的视频播放窗口;

    s44:将待处理的视频和处理后的视频同步对比播放。让程序的功能都能通过可视化交互界面操作,同时程序的运行结果以可视化的方式显示出来,比如将待处理的视频和处理后的视频实现同步对比播放。显示结果的同时要让界面设计得美观而简洁。gui要能够快速响应用户的操作和反馈结果。在设计时要考虑多方面因素比如减少用户的记忆负担,界面简约但是功能完备。

    一种基于深度学习模型的红外行人识别系统,如图4所示,应用上述方法进行控制,包括数据预处理模块:用于获取包含行人的红外图像及对红外图像进行预处理,并对预处理后的红外图像进行人工标注,然后按照设定比例划分为检测模型的训练集和测试集;检测网络及模型训练模块:用于搭建网络模型,优化检测方法并调整参数,导出模型检测效果,确定最终模型;外界交互模块:建立交互窗口,实现待处理的视频和处理后的视频同步对比播放。该红外行人识别系统通过数据预处理模块、检测网络及模型训练模块和外界交互模块实现在完全无光的情况下无法快速准确地检测出行人的功能并通过外界交互模块使用者操作更为方便。

    本实施例使用红外热成像仪拍摄视频,因为卷积网络会自动提取颜色,对比度等各个方面的信息,所以要选择在不同的温度下拍摄视频;因为需要各种姿态的行人,以增强网络的鲁棒性,因街拍并不能很好的收录,选择组织人员进行摆拍,截取10000张效果较好的图片作为图片集,对图片集进行人工框选后作为数据集,将所有数据按照3∶1的比例分为训练集和测试集,最后转换成合适的格式,利用tensorflow进行训练;利用卷积神经网络进行图片的特征提取,并通过vgg_16完成神经网络的搭建,框架搭建完后,先用最基本的参数和方法进行模型的训练,训练网络。再不断加上先进的优化方法,调整参数,观察应用前后的识别速度和识别正确率,不断测试效果和修改网络。训练网络并没有终点,但并不是训练越多次越好,因为网络存在拟合不足和过拟合的问题,所以需要画出在训练集和测试集的损失曲线,选择较好效果批次的模型导出。然后需要测试模型的效果,包括第一类错误率和第二类错误率,再将出现的问题进行理论分析,并依据分析结果调整正则化等网络参数甚至网络结构。模型搭建和优化完成之后,使用pyqt5和tkinter库进行基础gui制作,将模型的功能和反馈结果通过交互界面实现、显示,设定菜单栏、状态栏和工具栏,使界面能够实现基础功能,比如文件的导入、关闭,图像截取等,之后进行进一步的设计将待处理的视频和处理后的视频实现同步对比播放。

    以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。


    技术特征:

    1.一种基于深度学习模型的红外行人识别方法,其特征在于,包括如下步骤:

    s1:获取数据并对数据进行预处理:获取包含行人的红外图像,对红外图像进行标记,按照设定比例划分为检测模型的训练集和测试集;

    s2:搭建神经网络:使用目标检测网络faster-rcnn对图片进行图像分割,使用vgg_16完成对目标图片的特征提取和识别;

    s3:模型训练:使用训练集对神经网络进行模型训练,计算训练集和测试集的损失函数;

    s4:设计交互界面:建立交互窗口,实现待处理的视频和处理后的视频的同步对比播放。

    2.根据权利要求1所述的一种基于深度学习模型的红外行人识别方法,其特征在于,所述步骤s1包括如下步骤:

    s11:获取行人视频源数据后用opencv对视频源进行分帧;

    s12:使用labelimg对图片进行人工选框标记;

    s13:制作voc数据集,将voc数据集转换成tfrecord;

    s14:预处理完毕。

    3.根据权利要求2所述的一种基于深度学习模型的红外行人识别方法,其特征在于,所述步骤s13具体步骤为:将标记的行人图片集整理成数据集,将标记完的数据集转换为tfrecord格式的文件,再将注释的xml文件转换为csv格式,使用xml_to_csv.py,将所有数据按照3∶1的比例分为训练集和测试集,将生成train.csv训练集和eval.csv测试集,最后生成tfrecord文件。

    4.根据权利要求1或2所述的一种基于深度学习模型的红外行人识别方法,其特征在于,所述步骤s2包括如下步骤:

    s21:对图像进行相应的预处理;

    s22:通过预处理的图片输入卷积神经网络提取特征,特征提取网络拟选择vgg_16;

    s23:公共特征图经过3*3的卷积得到256*h*w的特征图,再经过一些列处理得到h*w*9个anchors;

    s24:每个anchors经过后处理得到分数最大的k个框;

    s25:k个候选框对应到原图,并映射到公共特征图上;

    s26:公共图上的候选框通过roipooling得到标准大小的一组特征;

    s27:roi特征再次分类和回归。

    5.根据权利要求1所述的一种基于深度学习模型的红外行人识别方法,其特征在于,所述步骤s3中的损失函数为:

    l(p,u,tu,v)=lcls(p,u) β[u≥1]lloc(tu,v)

    其中,tu表示预测的结果,u表示类别,v表示真实的结果。

    6.根据权利要求1或5所述的一种基于深度学习模型的红外行人识别方法,其特征在于,所述步骤s3包括如下步骤:

    s31:从每张图像中挑选25%的roi;

    s32:采用随机水平翻转的方式增加数据集;

    s33:将每张图像的roi增长到至少2000个;

    s34:计算训练集和测试集的损失函数;

    s35:重复上述步骤,计算每次训练后训练集和测试集的损失函数。

    7.根据权利要求1所述的一种基于深度学习模型的红外行人识别方法,其特征在于,所述步骤s4包括如下步骤:

    s41:建立交互窗口;

    s42:设定菜单栏、状态栏和工具栏;

    s43:设置待处理的视频播放窗口和处理后的视频播放窗口;

    s44:将待处理的视频和处理后的视频同步对比播放。

    8.一种基于深度学习模型的红外行人识别系统,利用如权利要求1-7所述的任意一项方法,其特征在于,包括:

    数据预处理模块:用于获取包含行人的红外图像及对红外图像进行预处理,并对预处理后的红外图像进行人工标注,然后按照设定比例划分为检测模型的训练集和测试集;

    检测网络及模型训练模块:用于搭建网络模型,优化检测方法并调整参数,导出模型检测效果,确定最终模型;

    外界交互模块:建立交互窗口,实现待处理的视频和处理后的视频同步对比播放。

    技术总结
    本发明公开了一种基于深度学习模型的红外行人识别方法及系统,包括数据预处理模块、检测网络及模型训练模块和外界交互模块。通过数据预处理模块实现获取包含行人的红外图像及对红外图像进行预处理,并对预处理后的红外图像进行人工标注,然后按照设定比例划分为检测模型的训练集和测试集;通过检测网络及模型训练模块实现搭建网络模型,优化检测方法并调整参数,导出模型检测效果,确定最终模型;通过外界交互模块建立交互窗口,实现待处理的视频和处理后的视频同步对比播放,从而使本系统实现在完全无光的情况下快速准确地检测出行人的功能。

    技术研发人员:黄绍帅;崔光茫;张家承;蔡斌斌;方德宸;苏展
    受保护的技术使用者:杭州电子科技大学
    技术研发日:2020.11.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-19071.html

    最新回复(0)