论文部分内容阅读
摘 要:本文提出的基于视频图像分析算法的落水检测系统是应用于检测人员落水的实时性系统,目的是对落水人员进行第一时间的营救,减少因溺水导致死亡的风险。本文提出的落水检测系统是利用了FFmpeg、OpenGL、CUDA等开源算法,设计了一套具备实时性与高效性,同时兼顾了应用性与稳定性的落水监测系统。
关键词:落水检测系统;FFmpeg;OpenGL;CUDA
1引言:随着国民经济和基础科学的迅猛发展,人们开始对日常生活中的公共安全保障有了更高的标准和要求。当危险即将发生时,人们希望可以通过一些高科技的手段来预警或者报警,以降低人员伤害和财产损失。我国卫生部估算全国每年有5.7万人死于溺水,相当于每天有150多人。足以见得,解决此类问题是多么的迫在眉睫。本文提出的落水检测系统是自主研发的具有源码的视频分析系统。经过实践论证,该系统能够高效地解决上述问题,更好地满足了工程上的实际需求。
2落水监测系统核心算法:
FFmpeg是一套可以用来录制、转换以及流化音视频的开源计算机程序。具备很高的可移植性。本文提出的落水监测系统就是采用了FFmpeg的编解码、播放和抓取等技术。
OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API),同样具备很高的可移植性。本文提出的落水监测系统就是采用了OpenGL的划线和团块边界确定等技术。
CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 本文提出的落水监测系统程序代码就是利用了CUDA运算平台,将复杂的视频图像分析算法从CPU移植到了GPU上,解决了实时性和高效性的问题。
3落水监测系统算法步骤:
(1)实时视频流解码:从前端摄像机读取的实时视频流利用FFmpeg视频解码器进行解码,将数据暂时存入缓存中。
(2)背景生成及背景更新:用VIBE背景建模算法进行背景的生成和更新,将缓存中的数据进行VIBE算法的计算,将计算结果存入缓存中,该结果即为首背景和更新背景。
(3)检测区域划线:利用OpenGL算法在视频中实际需要的区域进行多边形闭合划线,划线区域内部即为检测区域。
(4)团块计算:利用帧间差分法和形态学算法进行团块个数和团块大小的计算,再利用OpenGL确定团块边界。
(5)落水逻辑判断:团块满足以下条件的保留:第一,团块大小大于既定阈值;第二,团块的几何型心进入了划线区域。当检测到落水事件时系统立即预警:划线闭合框变红和预警提示音。
(6)短视频存储:当出现一次落水检测后,将预警时刻前30秒视频帧从缓存区中提出,用FFmpeg视频编码器进行视频编码,然后反复快速播放并立即存储在落水检测服务器中指定文件夹。以上算法步骤如图1所示。
4落水监测系统硬件系统架构:
(1)前端设备模块:主要包括:IP摄像机和报警器。IP摄像机能够实时采集室外水域的数字视频,通过网络将视频流传入服务器。报警器的作用则是:当确定为落水事件时,通过触发信号的方式使发生事件区域内的报警器发出报警声音,起到警示、预防危险的作用。
(2)网络传输模块:主要包括:接入層交换机、核心交换机、网线和光纤等,摄像机和报警器通过网线连接接入层交换机,接入层交换机光纤连入核心交换机,最终所有的视频流汇入到核心交换机中。
(3)算法分析模块:该模块为本系统的核心硬件,即:基于深度学习的视频分析服务器。获取的所有视频流都是通过该服务器搭载的算法进行分析运算,最终进行判断是否为落水事件。如图2所示为硬件模块的架构图。
5落水检测系统工作原理
当发生人员落水事件时,摄像机将采集到的该事件视频流通过网络模块传输到深度学习视频分析服务器中,通过程序算法的分析,得出该事件为落水事件,同时将该段视频保存在缓存中,并在操作员显示器上反复播放,发出报警声音提醒操作员进行排查。如果操作员认为此情况为人员落水事件,则按下确认键,系统将保留短视频,触发报警信号让外部报警器发出报警声音,同时通知现场预备抢救队伍进行快速出警抢救。如果不是落水事件,则需要按下否定键,系统将删除短视频,并取消预警。
6落水检测系统的有益效果
本文提出的基于视频图像分析算法的落水检测系统具备以下有益效果:第一,该系统有效地减少了误报率,提高了报警精确度,进而提高了工作效率;第二,该系统不需要大量的人力进行现场巡逻,也不需要工作人员24小时查看监控视频,只需要一位视频监控人员当听到预警后,及时查看短视频,作出判断后一键式操作即可,节省了大量的人力物力资源。
参考文献:
[1]徐农.智能视频监控系统的分析与设计.北京邮电大学软件学院报刊,2012(10):14-40.
[2]朱爱娟.面向智能视频分析的网络视频监控系统软件设计与实现.东南大学校报,2016:21-30.
[3]张磊.基于深度学习的视频分析系统.南京邮电大学校报,2017(10):30-36.
[4]曹昌盛.智能视频监控系统关键技术的研究与实现.华北电力大学校报,2014:15-31.
[5]刘思全。落海集装箱漂移模型研究。大连海事大学校报,2018(1):36,48.
关键词:落水检测系统;FFmpeg;OpenGL;CUDA
1引言:随着国民经济和基础科学的迅猛发展,人们开始对日常生活中的公共安全保障有了更高的标准和要求。当危险即将发生时,人们希望可以通过一些高科技的手段来预警或者报警,以降低人员伤害和财产损失。我国卫生部估算全国每年有5.7万人死于溺水,相当于每天有150多人。足以见得,解决此类问题是多么的迫在眉睫。本文提出的落水检测系统是自主研发的具有源码的视频分析系统。经过实践论证,该系统能够高效地解决上述问题,更好地满足了工程上的实际需求。
2落水监测系统核心算法:
FFmpeg是一套可以用来录制、转换以及流化音视频的开源计算机程序。具备很高的可移植性。本文提出的落水监测系统就是采用了FFmpeg的编解码、播放和抓取等技术。
OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API),同样具备很高的可移植性。本文提出的落水监测系统就是采用了OpenGL的划线和团块边界确定等技术。
CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 本文提出的落水监测系统程序代码就是利用了CUDA运算平台,将复杂的视频图像分析算法从CPU移植到了GPU上,解决了实时性和高效性的问题。
3落水监测系统算法步骤:
(1)实时视频流解码:从前端摄像机读取的实时视频流利用FFmpeg视频解码器进行解码,将数据暂时存入缓存中。
(2)背景生成及背景更新:用VIBE背景建模算法进行背景的生成和更新,将缓存中的数据进行VIBE算法的计算,将计算结果存入缓存中,该结果即为首背景和更新背景。
(3)检测区域划线:利用OpenGL算法在视频中实际需要的区域进行多边形闭合划线,划线区域内部即为检测区域。
(4)团块计算:利用帧间差分法和形态学算法进行团块个数和团块大小的计算,再利用OpenGL确定团块边界。
(5)落水逻辑判断:团块满足以下条件的保留:第一,团块大小大于既定阈值;第二,团块的几何型心进入了划线区域。当检测到落水事件时系统立即预警:划线闭合框变红和预警提示音。
(6)短视频存储:当出现一次落水检测后,将预警时刻前30秒视频帧从缓存区中提出,用FFmpeg视频编码器进行视频编码,然后反复快速播放并立即存储在落水检测服务器中指定文件夹。以上算法步骤如图1所示。
4落水监测系统硬件系统架构:
(1)前端设备模块:主要包括:IP摄像机和报警器。IP摄像机能够实时采集室外水域的数字视频,通过网络将视频流传入服务器。报警器的作用则是:当确定为落水事件时,通过触发信号的方式使发生事件区域内的报警器发出报警声音,起到警示、预防危险的作用。
(2)网络传输模块:主要包括:接入層交换机、核心交换机、网线和光纤等,摄像机和报警器通过网线连接接入层交换机,接入层交换机光纤连入核心交换机,最终所有的视频流汇入到核心交换机中。
(3)算法分析模块:该模块为本系统的核心硬件,即:基于深度学习的视频分析服务器。获取的所有视频流都是通过该服务器搭载的算法进行分析运算,最终进行判断是否为落水事件。如图2所示为硬件模块的架构图。
5落水检测系统工作原理
当发生人员落水事件时,摄像机将采集到的该事件视频流通过网络模块传输到深度学习视频分析服务器中,通过程序算法的分析,得出该事件为落水事件,同时将该段视频保存在缓存中,并在操作员显示器上反复播放,发出报警声音提醒操作员进行排查。如果操作员认为此情况为人员落水事件,则按下确认键,系统将保留短视频,触发报警信号让外部报警器发出报警声音,同时通知现场预备抢救队伍进行快速出警抢救。如果不是落水事件,则需要按下否定键,系统将删除短视频,并取消预警。
6落水检测系统的有益效果
本文提出的基于视频图像分析算法的落水检测系统具备以下有益效果:第一,该系统有效地减少了误报率,提高了报警精确度,进而提高了工作效率;第二,该系统不需要大量的人力进行现场巡逻,也不需要工作人员24小时查看监控视频,只需要一位视频监控人员当听到预警后,及时查看短视频,作出判断后一键式操作即可,节省了大量的人力物力资源。
参考文献:
[1]徐农.智能视频监控系统的分析与设计.北京邮电大学软件学院报刊,2012(10):14-40.
[2]朱爱娟.面向智能视频分析的网络视频监控系统软件设计与实现.东南大学校报,2016:21-30.
[3]张磊.基于深度学习的视频分析系统.南京邮电大学校报,2017(10):30-36.
[4]曹昌盛.智能视频监控系统关键技术的研究与实现.华北电力大学校报,2014:15-31.
[5]刘思全。落海集装箱漂移模型研究。大连海事大学校报,2018(1):36,48.