物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统

背景

对于安全性问题夜间监视是非常重要,一些研究试图通过使用红外热像仪自动检测闯入禁区的人员。但是,从红外闭路电视(闭路电视)中检测人身具有挑战性,因为他们通常安装在头顶位置,并且人只在结果图像中占据很小的区域。因此,本研究提出了一种在夜间检测红外闭路电视图像中人物的准确有效的方法。为此,构建了三个不同的红外图像数据集。其中两个来自安装在公共海滩上的红外闭路电视,另一个来自安装在人行天桥上的前视红外(FLIR)摄像机。此外,基于卷积神经网络(CNN)的像素级分类器用于细粒度人检测。将该方法的检测性能与五种常规检测方法进行了比较。结果表明,所提出的基于CNN的人类检测方法在所有数据集中均优于常规检测方法。特别是,该方法在所有数据集的对象级检测中均保持F1分数高于80%。通过改善从红外图像进行人体检测的性能,我们希望这项研究将有助于夜间公共区域的安全性。结果表明,所提出的基于CNN的人类检测方法在所有数据集中均优于常规检测方法。特别是,该方法在所有数据集的对象级检测中均保持F1分数高于80%。通过改善从红外图像进行人体检测的性能,我们希望这项研究将有助于夜间公共区域的安全性。结果表明,所提出的基于CNN的人类检测方法在所有数据集中均优于常规检测方法。特别是,该方法在所有数据集的对象级检测中均保持F1分数高于80%。通过改善从红外图像进行人体检测的性能,我们希望这项研究将有助于夜间公共区域的安全性。

介绍

夜间入侵预警系统是物联网(IoT)技术的一些最重要的应用。由于夜间缺乏安全人员并且视野有限,夜间闯入危险区域的入侵者面临很高的受伤或死亡风险。拥有自动预警系统来阻止入侵者对于公众安全和禁区安全至关重要。夜间入侵警告最重要的应用之一是防溺水。根据世界卫生组织(WHO)的数据,每年有37.2万人死于溺水事故。尽管大多数溺水事故发生在白天,但防止溺水的夜间入侵预警系统很重要,因为在夜间可能会缺少救生员,救援行动也更加困难[。由于持续的努力,以防止这些溺水事故的一部分,一些智能监控系统已使用闭路电视与计算机视觉和机器学习技术。这些系统自动检测在图像中既定边界之间游动的人员,并在系统发现有人越过安全线时向主管发出警报。但是,大多数系统使用白天拍摄的图像进行操作,而在夜间检测水中人员的性能却大大降低。

为了在夜间更有效地检测人员,一些研究采用了基于机器学习的方法,使用了从红外摄像机图像中提取的特定特征。这些基于机器学习的人体检测方法可以根据应用的特征描述符和分类器的类型进行分类。例如,直方图梯度方向(HOG)的,尺度不变特征变换(SIFT)样取向特征,和强度分布为基础的惯性特征(惯量)被广泛地用于功能提取,和支持向量机(SVM),或AdaBoost算法经常用作分类器。此外,哈尔级联分类器,这是基于公知的物体检测方法类Haar与升压级联分类器的功能,也被在几个研究。如果选择适当的特征和特征提取技术,则经典的机器学习方法通常会显示令人满意的检测性能。在另一方面,这些方法从在含有暧昧或嘈杂特征。

为了解决这个问题,深学习方法基于卷积神经网络(CNN)最近已经提出了在红外图像。由于增加的模型复杂度导致更好的学习能力,因此这些基于深度学习的方法可以增强红外图像中的对象检测性能。它已经在文献中发现,基于CNN-人体检测方法表现出更好的检出率相比,基于SVM的分类方法。基于深度学习的方法的检测性能取决于拥有正确的训练数据。因此,为在夜间检测游泳者的特定情况构建合适的数据集至关重要。一些研究开发了红外图像数据集,例如KAIST,CVC-14和LSI 。]在夜间进行人体检测。但是,由于这些红外图像数据集旨在检测行人,因此它们由从安装在地面车辆上的摄像机捕获的图像组成。与出于安全目的在海滩上安装的CCTV相比,这些图像中的人物具有明显不同的外观,在CCTV上,人物仅由几个像素(即,水上部分人体)代表。因此,为了达到在夜间对CCTV图像中的人进行远距离监视的目的,需要更具体的数据集和更细粒度的物体检测方法。

这项研究提出了一种准确而有效的方法,可以在夜间检测安装在头顶位置的红外闭路电视中的人员。为此,提出了用于细粒度人检测的基于CNN的像素方式分类器。这项研究基于红外摄像机从上方视角获取的图像,获取了三个不同的数据集。此外,本文还提出了一种改进的CNN模型,其中三个输入通道取自

(i)原始红外图像

(ii)与前一帧的差异图像

(iii)背景减法蒙版。为了验证所提出的方法,使用四种不同的人类检测方法进行了比较分析。这项研究的主要贡献是

  • 引入一种细粒度的人检测器,该检测器的精度比基线方法高10–30%;
  • 演示在挑战性条件下执行远程目标检测的能力;
  • 验证训练有素的检测器对不同数据集进行概括的能力。

方法

  • 数据集的组成

这项研究使用了三个红外图像数据集,分别是“学校”,“海滩”和“海岸”,以训练和测试人体检测算法。“学校”数据集是使用红外(FLIR)摄像机从校园的人行天桥上方拍摄的。“海滩”和“海岸”数据集是使用红外闭路电视从韩国公共海滩旁的一座建筑物的屋顶上获取的。所有数据集均在夜间收集,并在像素级别标记。表1显示了数据集的详细信息,而图1,图2和图3描述所有数据集中的样本原始图像和标签图像。将所有数据集分为80%训练数据和20%测试数据。进行分割的同时要确保训练数据和测试数据中的图像出现在原始视频的不同时间段。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第1张图片

图1. 学校数据集的示例图像和地面真相标签。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第2张图片

图2. 海滩数据集的示例图像和地面真相标签。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第3张图片

图3. 海岸数据集的示例图像和地面真相标签。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第4张图片

表1. 每个数据集的详细信息

“学校”数据集用于在明亮的城市地区从高空俯瞰基准,对夜间人体检测的性能进行基准测试。该数据集是在大学校园内使用许多不同的光源采集的,这些光源对基于强度的检测算法构成了挑战。另一方面,使用“海滩”和“海岸”数据集来评估评估人类探测夜间夜间溺水的能力。图4显示了由沙滩CCTV摄像机捕获的夜间场景的布局。现场包括一个公共海滩,周围是安全浮标,周围散布着几组人。感兴趣的任务是自动检测夜间在海域内游泳的任何人。这是一项具有挑战性的任务,因为由于相机距离场景较远,因此关注区域仅构成图像中的一小部分。其他挑战性因素包括波浪产生的噪音和周围建筑物的不规则照明。为了部分克服这些问题,将原始图像裁剪为仅包含感兴趣的区域,即靠近海滩的海域。因此,仅检测到侵入水域的人员,而未检测到海滩上的人员。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第5张图片

图4. 海滩数据集中监视区域的可视化。

  • 人体从红外图像检测

这项研究实施了六种不同的方法来检测红外图像中的人物,包括我们提出的方法和五种基准方法:

(i)简单阈值化

(ii)自适应阈值化

(iii)背景减法和

(iv)K均值聚类和(v卷积神经网络(CNN)

检测任务被公式化为像素级别的二进制分类,即,每个像素被分类为人的一部分或没有。这允许在哪里可以相比包围盒,其是不准确的并且仅得到目标[的粗略近似来确定确切的对象概略的细粒度检测26 ]。

  • 使用常规计算机视觉进行人体检测

在红外图像中检测人的最简单方法是通过阈值。简单阈值化技术将恒定阈值应用于像素强度,以确定与人类相对应的像素。由于人类通常比周围环境温度更高,因此红外图像中相应的像素将具有更高的强度。与简单阈值相比,自适应阈值不使用固定阈值,而是使用由局部强度值的高斯加权总和确定的变化阈值。这允许阈值过程对于照明条件的变化更加鲁棒。

这项研究还基于人类通常相对于周围环境移动这一事实来考虑背景减法。通过背景减法,可以将人类与一系列红外图像区分开来,因为像素会随时间变化,而像素保持不变。该方法适用于本研究,因为摄像机的安装位置和视角固定。因此,像素值的任何实质变化都可以归因于运动物体。实施的背景扣除方法基于 的方法,其中高斯混合模型用于表示像素强度变化。

此外,K-均值聚类方法,该方法通常用于具有一定范围内的强度值,进行了审议。前景对象将具有与背景像素不同的特定像素值分布。因此,使用K均值算法确定每个分布的平均值(即前景与背景),以便可以将前景和背景像素分开。

  • 使用深度神经网络进行人体检测

深神经网络已经示出在文献证明在各种图像处理任务。即使红外图像与视觉图像相比外观可能有所不同,但仍可以应用类似的技术。本研究使用为语义图像分割任务设计的CNN。该架构具有ResNet的基础网络和带有无规则卷积的顶层。网络接收N×N×3图像的输入,并输出N×N像素方式的标签。

图5显示了详细的网络架构:

三个输入通道取自

(i)原始红外图像

(ii)与前一帧的差异图像

(iii)背景减法蒙版。

这样一来,网络就可以在进行预测时捕获时间信息。使用交叉熵损失对网络进行了二元分类任务的训练。网络的输出是每个像素的2D置信度分数数组。阵列以0.99的检测阈值进行过滤以创建二进制掩码。高检测阈值用于确保充分滤除检测结果中的噪声。为了确定实际人数,使用了连通分量算法将二进制掩码中的相邻像素合并在一起以形成单个对象。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第6张图片

图5. 所提出的人检测方法的网络架构。

为每个数据集训练了两个网络模型。在本文的其余部分中,“学校”,“海滩*”和“海岸*”是指使用所有三个输入通道(即包含时间信息)而“学校”,“海滩”和“海滩”的情况。 “海岸”是指仅使用第一输入通道(即,没有时间信息)的场景。图6显示了训练的前20个时期每个数据集的训练损失图。训练进度对于所有数据集都显示出相似的趋势,其中损失函数在前几个时期迅速下降,然后逐渐平稳。该图还显示,与“海滩”和“海岸”数据集相比,“学校”数据集的训练损失通常更高。这可能是因为“大学”数据集在明亮的城市场景中具有更宽的像素强度值范围。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第7张图片

图6. 每个数据集训练期间的前20个时期的损失函数(对数标度)。(*)表示使用时间输入。

与传统的视觉图像相比,在特定数据集实现分割网络方面存在一些挑战。首先,由于从俯视图拍摄图像,因此与肯定检测相对应的像素仅占据图像中的小区域。为了解决此问题,使用了ResNet的修改版本,输出步幅要小得多,同时减小了功能图的深度,以将内存消耗保持在合理的水平。这允许网络就像素邻域进行细粒度的预测。此外,由于标签分布严重偏斜(每个图像的背景像素约为99%,前景像素仅为1%)。

实验结果

通过“学校”,“海滩”和“海岸”数据集评估了拟议的人体检测方法在红外图像中的性能。

评估指标是

(i)精度

(ii)召回率

(iii)F1分数

分别在像素级别和对象级别进行测量。所提出的方法在两种配置下进行了评估:

  1. 一种仅使用第一个输入通道(即没有时间信息)
  2. 另一种使用所有三个输入通道(即包含时间信息)

将所提出的方法与五种基线方法进行了比较,这些基线方法是

(i)简单阈值处理

(ii)自适应阈值处理

(iii)背景扣除

(iv)K均值聚类

(v)基线CNN

基线CNN是直接从而无需进行任何修改,例如输出步幅调整或加权损失函数。

图7,图8和图9显示了与基线方法相比检测结果的可视化,而表2,表3,表4,表5,表6和表7显示了数值结果。图7,图8和图9表明,与基线方法相比,我们的方法获得了更好的检测结果,几乎接近了地面真实性。我们的方法能够在不理会诸如灯柱和波浪之类的背景物体的情况下正确检测人。表2中的数值结果证实了这一点。,表3,表4,表5,表6和表7,其中我们的方法在所有数据集中获得了最佳的像素级和对象级F1得分。在“大学”数据集中,使用时间信息作为CNN输入能够改善检测性能,而在“海滩”和“海岸”数据集中,时间信息效果不佳。这是因为由于移动的波浪,“海滩”和“海岸”数据集具有很高的动态性,因此检测器可能对波浪的随机运动变得过于敏感,并导致假阳性。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第8张图片

图7. 学校数据集的检测结果:(a)原始红外图像,(b)地面真实情况,(c)简单阈值,(d)自适应阈值,(e)背景减法,(f)K-均值聚类,(g)基线卷积神经网络(CNN),(h)我们的方法和(i)我们的方法。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第9张图片

图8. 海滩数据集的检测结果:(a)原始红外图像,(b)地面真实情况,(c)简单阈值,(d)自适应阈值,(e)背景减法,(f)K-均值聚类,(g)基线CNN,(h)我们的方法和(i)我们的方法。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第10张图片

图9. 海岸数据集的检测结果:(a)原始红外图像,(b)地面真实情况,(c)简单阈值化,(d)自适应阈值化,(e)背景减法,(f)K均值聚类,(g)基线CNN,(h)我们的方法和(i)我们的方法。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第11张图片

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第12张图片

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第13张图片

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第14张图片

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第15张图片

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第16张图片

在“海滩”数据集中检测游泳人士是一项挑战,因为游泳者只会显示为小白点。由于安全浮标和移动波会反射背景光,并在IR图像中显示为小白点,因此常规检测方法(例如阈值或背景减法)无法很好地工作。如图8所示,这些混杂因素可导致多种假阳性,从而简化了检测方法。另一方面,提出的CNN方法能够考虑到更高级别的特征,例如有助于区分游泳者的形状和强度变化。表4和表5 证明了我们提出的方法在人类检测任务中胜过简单的方法,例如背景扣除。

与基线CNN方法相比,根据表2,表3,表4,表5,表6和表7的结果,我们提出的方法在所有三个数据集中仍然能够胜过它。与基线CNN相比,提出的方法具有相似的对象级检测分数,但像素级检测分数高得多。这种效果在图7 g和图8中很明显g,其中CNN基线方法只能识别人员的大致轮廓。相反,我们的方法能够准确标记特定像素。这表明我们对CNN训练提出的改进建议,例如加权损失函数和输出步幅调整,有助于提高网络与基线CNN相比在像素级别捕获更精细细节的能力。

图10显示了海滩数据集随时间的检测结果。检测结果表明,该方法即使不断移动到场景中的不同位置,也能够成功检测出水中的人。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第17张图片

图10. 海滩数据集随时间的检测结果。第一行显示原始红外图像;中间一行显示基本事实;最下面一行显示了基于我们提出的方法的检测结果。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第18张图片

图11. 像素检测结果的精确调用曲线。黄色框表示曲线上每个点的检测阈值。

为了确定经过训练在一个数据集中检测人类的检测器是否能够对另一个数据集中的人类进行泛化和检测,这项研究进行了交叉比较研究,其中对检测器进行了不同数据集的训练和测试。这是一项具有挑战性的任务,因为学校和海滩数据集之间的外观,对象大小和背景景色存在很大差异,并且某些学习到的功能可能无法推广。表8显示了使用不同训练测试配置的像素级和对象级F1得分。当使用与训练数据集不同的测试数据集时,F1分数要比相同时更低。但是,结果仍优于大多数基准方法(请参阅表2,表3,表4和表5)。这表明,即使训练集和测试集中的对象不同,人类检测器仍具有跨数据集进行概括的能力。将时间信息用作CNN输入会产生不一致的结果,即,在某些配置下性能会提高,而在其他配置下则不会。这表明该网络对时间变化很敏感,并且可能过度适合于背景噪声较大的训练数据。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第19张图片

表8. 具有不同训练/测试配置的F1分数的交叉比较。每个单元格的左侧显示像素级F1得分,右侧显示对象级F1得分。

物联网IoT:开源代码基于CNN的红外图像人检测夜间入侵预警系统_第20张图片

表9显示了使用Intel Xeon E3-1246(3.5 GHz)CPU和NVIDIA GTX 1080 GPU测量的每种方法每帧的计算时间。通常,除K均值聚类之外,与基线方法相比,我们的方法需要更多的计算时间。这是由于使用深度神经网络对计算的要求很高。

结论

论文地址或源码下载地址:关注“图像算法”wx公众号 回复"红外检测",这项研究旨在使用红外热像仪来自动检测夜间闯入危险区域的人员,以帮助预防事故。为了解决这个问题,创建了三个用于训练和测试人员检测算法的红外图像数据集。这项研究开发了一种基于CNN的人体检测方法,该方法可以执行像素级分割并根据对象邻域进行细粒度的预测。为了验证所提出方法的检测性能,对四种基线物体检测方法进行了比较分析。

实验结果表明,所提出的基于CNN的人类检测方法在所有数据集中均优于常规检测方法。特别是,该方法在所有数据集的对象级检测中均保持F1分数高于90%。此外,这项研究有望通过改善人体从红外图像的检测性能,为夜间公共区域的安全和安保做出贡献。但是,由于数据集是在特定的时间和位置获取的,因此该方法应用于不同的数据集时可能缺乏通用性。因此,未来的研究将集中在构建具有从更广泛的视角和位置获取的红外图像的数据集。另外,将探索诸如时域递归神经网络(RNN)的用于合并时间图像信息的更高级方法。

 

你可能感兴趣的:(图像算法)