题记:
本科毕业论文选题,写在此处,就随便写点主体,留存。特别感谢自己的论文指导老师以及other teachers的指导。
大致目的:
大致内容:
大致研究方法:
反正大致研究方法就那些嘛,无非就是场景识别理论、人体识别技术,然后前面就是讲述基本暴力场景的界定,后面我就要写一些深度学习理论以及迁移学习理论的知识点了呗,不然我的论文怎么算写得有深度呢(虽然吧,那些东西确实挺有意思的)。哦哦哦,对了,还有支持向量机,这个东西不能少,因为它是我论文支撑的实现依据!!!!
关于数据采集部分:
由于题目本身叫基于多源数据的XXX,所以,多源数据是重点,我查阅了众多文献,几乎都是做单一数据源的暴力场景识别,大多数是视频和音频分开做还有就是图片、文本(类似于电影中的字幕)这种,并且国内参考文献不多,国外的研究太多又看着很累(论文翻译软件可以试试),但是还是会出现那种数据源和代码中的数据源对不上的情况,我都在怀疑是不是他们故意选取了低成本的样本来节省时间效益。反正,国外文献真的看着很累,代码复现也很累,还不如github上找一个好的数据源来做。然后,说回本文内容,我做的是视频数据以及音频数据的,视频用的是分类器,音频是使用梅尔滤波器对功率谱进行处理。不是二分类器,因为我做不来(水本水本水本!做了很累的,好吧),我只能用音频数据来做一个增强检测识别的作用。
关于现存暴力系统识别的不足:
这个的话,我是这么认为的,看了很多博硕论文,其实用的很多都是深度神经网络,对于融合方面的检测,其实不多,这个融合就是好比,没有一个统一的依据,就像我看见A同学打了B同学,但是我没听见声音,我是不能判断这种“肢体接触”是否是对他人造成了危害的,也不能将他定义为暴力行为的,“暴力行为是指以武力或威胁武力为手段,以侵犯他人权利、造成他人身心伤害为目的的行为。其表现形式多种多样,包括肢体上的攻击、言语上的辱骂、心理上的恐吓等。暴力行为通常具有以下几个特点:(1)使用或威胁使用武力;(2)造成身体或心理伤害;(3)侵犯他人的合法权利;(4)具有攻击性和威胁性。”这是我在论文中对其(暴力行为)的界定。所以,不足点1:滑动窗口引发资源消耗问题;不足点2:由于缺少公开的数据集,也没有统一的评价标准;不足点3:处理音频数据算法效率普遍不高。差不多就是这个意思。
完成论文之我的做法:
我前面不是说了嘛,音视频数据融合。这是主要核心,论文的主题就是这个了,暂时不管我用我的硬件理论知识做了一个视频监控系统,主要是单片机知识和流媒体服务器的搭建,我至少要实现的功能就是打开摄像头以及,视频数据的采集这种,虽然看着是很简单,但是加上流媒体服务器的话,要做的东西还是很多的,费时间,难倒是不难。然后我下位机是可以控制摄像头的,那么我上位机就是需要有一个UI界面来对传入的视频进行一个识别以及结果输出,我用的是pyqt来做的。下面我就复制一些论文主体吧:
1.设备管理模块功能设计
2.数据处理模块功能设计
(1)视频数据处理模块
为了构建一个优秀的深度学习模型,必须保证训练集和测试集具有相同的分布特性,并依赖大量的带标签的数据来完成这个任务。这包括以下几个方面:对图像目标边缘的长度进行重新设定;确定最小的和最大的宽度变化比率;规定剪切区域相对于总图形的比例下限;定义明亮度因子可接受的区间;决定随机调节明亮度的可能性;明确对比度因子可以覆盖的范围;指定随机增加或减少对比度的几率;界定饱和度因子的适用范围;设定的随机增减饱和度的可能性;最后是颜色偏移因子的应用范围及随机更改颜色的可能性。
(2)音频数据处理模块
本系统探讨了基于支持向量机(SVM)和连续声学特征的暴力音频场景分类技术。该技术通过提取每帧音频的Mel频率倒谱系数(MFCC)、能量熵、信号振幅、短时能量、过零率等特征,并将几帧音频作为一个音频段进行统计量计算,包括算术均值、最大值、最小值、均方根、标准差、峰度、偏度等统计量。在考虑音频的上下文信息时,系统计算帧与帧之间的一阶差分,并结合支持向量机分类器进行音频场景识别。为了提升音频数据的质量和准确性,系统进行了预处理步骤,包括预加重、分帧和加窗。预加重旨在强调音频的高频部分,使得音频信号的频谱更加平坦,有利于后续频谱分析或声道参数分析。分帧操作基于短时平稳假设对音频信号进行处理,将长时间的音频信号分解成短时的小片段。加窗操作则旨在平滑信号的两端,减少边缘效应,避免信号畸变。
通过以上预处理和特征提取步骤,系统能够有效地从音频数据中提取出有用的特征,并结合支持向量机分类器进行暴力音频场景的准确分类。这种技术对于暴力场景的识别和分类具有重要意义,可以帮助提高安全监控系统的效率和准确性。
(3)识别模块功能设计
对于深入研究中的神经元计算器来说,其包含了大量复杂且精细化的结构元素及相应的算法规则;为了有效地优化这一系统性能以达到更高的准确度水平,必须投入更多的精力去收集与处理相关的大型数据库信息资料来支持实验过程,然而当前所构建的信息存储平台规模相对较为狭窄,这导致在使用它的时候可能会出现一些过度适应的情况发生:如果将这个已经经过充分调整过的机器应用于新的环境下后发现它的表现并没有想象得那样好。针对这个问题,可以采取一种叫做"转移学法”的方法加以应对,这种策略的核心理念在于利用之前已有的知识经验或技术成果在新的问题场景里实现快速有效的解决方案生成,具体操作步骤如下:首先要找到两个具有一定关联性的不同领域的样本集合a、b (比如一个是关于“人脸识别”)然后通过比较它们之间的异同点从而找出可以被借鉴的地方并将之运用至新问题的求解过程中,本系统基于PaddleVideo视频开发套件训练暴力场景识别模型,然后将训练好的模型集成到PaddleDetection的PP-Human中,并在PP-TSM视频分类模型训练流程的基础上修改适配,完成模型训练,助力暴力场景识别分析。如下图4-4识别模块图显示的是通过迁移学习方法最终得到的模型。具体识别流程为首先对于输入的视频或者视频流,进行等间隔抽帧,抽帧过程中会对帧中的出现的人脸进行识别,当视频帧累计到指定数目时,生成可能存在暴力场景的视频流,输入到视频分类模型中会进行人体行为的分析,判断是否属于暴力场景,并在视频上方生成置信度信息。然后通过在前面音频数据处理环节,提取到了梅尔频率倒谱系数(MFCC)特征。提取的音频特征经过均值归一化,并通过热力图进行可视化展示。
(4)监测分析模块功能设计
在进行模型训练前,因为用户使用该系统不能确定其暴力场景发生的地点以及参与人物的具体情况,所以在对视频进行训练时,需要多方位的进行考虑,对录制的视频帧图进行随机剪裁和设置对应参数对图片任意进行翻转。点击测试对比按钮后,视频和音频将被传送至后台系统,视频会被送入先前训练好的模型进行分类。将得到的结果与界面相连,传送到界面上。在进行场景识别时,程序开始运行时,点击打开摄像头按钮,会识别拍摄的第一张视频帧图,同时会将前一帧图抛弃,不会继续识别已识别图片,只有等到识别到人脸时才会开放点击录制按钮会接着识别视频内容,如若没有对应的识别图像,还继续点击识别按钮,会在界面中弹框报错显示“未检测到目标视频”。同时他会检测,在系统文件目录下,是否存在检测视频,即外部输入的非场景录制的视频,并对该视频进程音视频分离,然后点击识别按钮后则会对该视频进行检测。
同时对经过模型检测后的输入视频数据,可以通过提取置信度的方法来更直观地显示暴力场景的识别结果同时对检测到置信度的视频帧提取时间戳来绘制折线图;同理,对于音频的处理,则是通过提取暴力特征绘制热力图的方式来与前面绘制的折线图进行对比分析。最终分析结果模块的结果都是以前两者的数据作为依据。
(5)数据查询模块模块功能设计
这块地方我直接用的文件名索引来查找历史记录,我是不建议这样的,建议还是时间戳来查找,或者标签。所以我就不复制了。
实现如何实现(一丢丢思路啦):
我想想啊,该怎么表述。简单来说就是在网上找一个已经训练好的模型,然后你参照他训练的形式来自己训练一个,其中数据源用自己的。大致这个意思。我总不用在这里讲我怎么下载python、pycharm这种东西吧,哦,有个好用的,百度飞浆里面有个视频分类的打架模型,那个可以做迁移学习。音频反正我就是提取特征嘛,就正常操作(主要觉得真没什么可取之处,我就不在这里提了,其实选一个其他音频特征都可以增强检验结果,但是,我总觉得做这种线上音视频融合分析的东西,很大程度上都是用视频来做处理的,哎,现实生活中不也是这样嘛)。
然后我的界面是做成下面这个样子的,哈哈哈,室友出境。
然后下面这个是我从网上找的视频资料,用的检测方式当然是本地导入啦,本科毕业论文嘛,既可以实时监控传输,又可以检测网上资源,其实已经可以了,我是这么觉得的,幸好老师给我过了。
放在最后:
写这个只是为了见证我大学的结束,希望自己以后好好学习,就像我在论文中写的,感谢党和国家,以及我的老师们,师者如光,微以致远,追光而遇,沐光而行。感谢家人以及这一路遇见的人,行文至此,落笔为终。