穿救生衣人数统计研究本科学位论文Word文档下载推荐.docx
- 文档编号:22402495
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:28
- 大小:1.65MB
穿救生衣人数统计研究本科学位论文Word文档下载推荐.docx
《穿救生衣人数统计研究本科学位论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《穿救生衣人数统计研究本科学位论文Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。
4.3本文总结20
致谢22
参考文献22
附录A程序清单23
附录B实物图34
穿救生衣人数统计研究
应用电子教育技术2010级袁大洋
摘要
本设计是基于MATLAB软件工作平台对穿救生衣人数统计研究,完成了对河道上穿救生圈人人数的自动统计,节省了大量的人力资源。
该系统的开发是紧密建立在图像处理与目标识别的基础上,自动进行检测识别并统计,同时该课题的研究开发意识现今国内外研究的热点该系统的研究开发以人为对象,通过对人头和救生圈的特征信息的提取来实现对穿救生圈人的自动跟踪和统计地的一个小的软件开发系统。
该系统采用了MATALB软件工作平台,利用MATLAB语言实现自动统计功能,并且还利用MATLAB强大GUI界面制作工具箱,设计了一个友好的人机界面,可以简洁直观的显示统计和控制状态,当统计有误时进行报警。
关键字:
自动统计,图像处理,目标识别,MATLAB软件
ABstract
ThedesignisbasedonMATLABsoftwareplatformworkwearbuoynumberofpersonnelstatistics,completedanumberofpeopleontheriverwearingalifepreserverautomaticstatistics,savealotofhumanresources.
Developmentofthissystemiscloselybasedonimageprocessingandobjectrecognitionontheautomaticdetectionandidentification,andstatistics,andresearchanddevelopmentonthesubjectofresearchanddevelopmentofmodernconsciousnessresearchhotspotofthesystemtohumansubjects,throughtheheadandlifebuoyextractfeatureinformationtorealizetheautomatictrackingofpeoplewearingalifepreserverandstatisticallyasmallsoftwaredevelopmentsystem.ThesystemusessoftwareMATALBworkplatform,usingMATLABlanguagetoachieveautomaticstatisticalfunctions,andalsoapowerfulGUIinterfaceproducedusingMATLABtoolboxdesignedafriendlyinterface,canbesimpleandintuitivedisplaystatisticsandcontrolstate,whenstatisticshavewhenfalsealarms.
1绪论
1.1数字图像处理及matlab简介
人类获取外界信息的方式有视觉、听觉、触觉、嗅觉、味觉等等,其中视觉是人类最重要的感官,获取的信息占总信息量的绝大部分。
因此,图像对于人类信息的存储和传输都具有重要意义,图像处理技术得到广泛的应用也是科技发展一种必然。
一幅图像可定义为一个二维函数f(x,y),当空间坐标x、y和幅值f为有限的离散数值时,称该图像为数字图像[1]。
简单来说,用计算机来处理图像,就是数字图像处理。
从70年代中期开始,随着计算机技术的发展,数字图像处理向更高、更深层次发展[2]。
世界范围内很多国家和地区的科学家们在该领域投入了大量的精力,也取得了很多重要的研究成果。
数字图像处理的目的是使图像更符合人们的要求,它是让差质量的图像被改善,成为好质量的图像,常用的处理方法有图像增强、复原、压缩等,另外还有一类数字图像处理是模拟人眼,让计算机能够有“思考”的能力,对图像内容进行识别,并能够独立作出判断。
基于这些方法,目前数字图像主要应用的领域有:
1)航天和航空技术方面
数字图像处理技术在航天和航空技术方面的应用,一方面是对太空图像,如月球、火星照片的处理之,另一方面的应用是在飞机遥感和卫星遥感技术中。
2)生物医学工程方面
数字图像处理在生物医学工程方面的应用十分广泛,而且很有成效。
除了上面介绍的CT技术之外,还有一类是对医用显微图像的处理分析,如红细胞、白细胞分类,染色体分析,癌细胞识别等。
此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术[1]。
3)工业和工程方面
图像处理技术在工业和工程领域有广泛的应用,如自动装配线中检测零件的质量、并对零件进行分类,印刷电路板疵病检查,弹性力学照片的应力分析,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些有毒、放射性环境内识别工件及物体的形状和排列状态,先进的设计和制造技术中采用工业视觉等等[1]。
4)军事公安方面
在军事方面图像处理和识别主要用于导弹的精确末制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;
公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。
目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别都是图像处理技术成功应用的例子。
MATLAB软件是矩阵实验室(MatrixLaboratory)的简称,是由美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
自从20世纪80年代中期推出以来,吸收了各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,成为了国际公认的、最优秀的科学计算与数学应用软件之一,近几年来在国内外得到了广泛流行。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。
基于以上种种优点,MATLAB很快被用于图像处理领域,其强大的功能得到了淋漓尽致的体现,MATLAB有专门的图像处理工具箱,功能十分强大,支持几乎所有格式的图像,如真彩色图像、索引色图像、灰度图像、二值图像,如果有的函数对图像类型有特定要求,这四种类型还可以用工具箱自带的类型转换函数相互转换。
它涵盖了数字图像处理几乎所有的算法函数,利用这些图像处理函数,并结合其强大的数据处理能力,我们不必关心图像文件的格式、读写、显示等细节,而把精力集中在算法研究上,大大提高了工作效率。
而且,在测试这些算法时既可方便地得到统计数据,同时又可得到直观图示。
1.2本设计的主要工作
目前,随着世界经济往来日益密切,航运交通也越来越重要,但通航环境日益恶化,船舶上船员及乘客溺水的事件越来越多。
因此,为确保航船上船员及乘客的安全,防范溺水事件,不得不引起我们的注意,我们得开发一种能自动实时检测识别统计并错误报警的系统。
本课题是“关于对穿救生圈人员个数统计”,主要是基于图像处理与目标识别理论学习基础之上,在一定复杂背景条件下,通过对人特征分析和救生圈特征分析(主要对重叠问题的研究及分析),把目标从背景中提取出来,从而识别并统计人并判断他\她是否穿了救生圈,再通实现做出来的友好界面直观的显示出来。
1.3系统的设计意义
通过采用图像处理与目标识别有效地对船上船员及乘客穿救身衣的情况进行自动的实时检测识别统计并错误报警,并传输到实现做好的友好界面上,从而为安全监控部门提供准确的数据依据,实时发布安全预警信息,降低事故的发生率和严重性,确保乘客安全。
因此,本课题的研究对智能图像分析理论研究与提升船舶乘客安全保障能力具有十分重要的理论价值和现实指导意义。
1.4国内外相关技术的发展概况
人数识别技术指的是使用一定的技术手段,通过计算机分析处理实时自动的实现对某一区域内人数的统计。
由于人数统计数字不仅对于安全监控具有十分重要的意义,而且还可以为一些经济管理方法体统数据支撑。
因此目前的人数识别技术广泛应用到车站、码头、商店、博物馆、交通等地方。
目前人数识别技术主要有红外检测技术、压力检测技术和智能图像分析技术。
在图像智能分析领域,欧美国家走在世界的前列,原因之一是受政府和军队的支持,欧美国家起步早,如1995年伦敦地铁最早采用了人群监控系统[5]。
同时大部分智能视频监控系统的核心技术(如图像采集芯片)仍被美国及欧洲等国家垄断。
另外,由于欧美地区经济发达,智能分析系统需求强大,因而催生了大量专门进行智能视频分析监控技术研究的企业,如美国的!
e-nt!
objectVideo,以色列Mate!
ioimage!
NlcE等公司。
在激烈的市场竞争中,这些企业处于图像智能分析研究与应用的前列,研制的人数识别软件不仅用于交通工具、商店,而且可用于客流人群最为密集的换乘车站,而中国在该领域由于起步晚,虽然有了一些规模较大的视频采集设备生产商,如海康威视、浙江大华,但是在软件领域的智能分析,尤其是客流人数识别还处于起步阶段,成熟产品较少,与国外同类产品差距明显,列举如下:
国内目前研究开发最成熟的实用型人数识别产品是单目人数统计[8],它采用嵌入式设计,通过对连续视频图像的处理和分析,用背景差法将运动物体从视频背景中检测、分离出来,再进行筛选、过滤,获得真实的运动物体,再对其进行跟踪分析,结合计数线进行判断,将符合计数规则的目标的通过行为进行计数,平均准确率达到80%一90%,运行效果如图1.1。
与单目人数统计仪相似的是双目人数统计仪,它是基于立体视觉技术而开发的嵌入式设备,准确率能达到90%以上。
单目和双目人数统计仪适合用于公交、地铁、商场出入口出作为进出人数的统计,但相比国外人数识别系统而言,单双目人数统计仪对摄像头的角度要求非常高,要求摄像头视线尽量与地面垂直,使用区域明显受限,不能直接在原有区域内监控摄像头的基础上实现功能,无法检测行人在较大区域内自由活动时的客流人数变化情况,该类产品在我国有近十余家厂商研制生产。
图1.1、单目人数统计仪
2系统总体方案设计
2.1系统总体方案及技术指标
该系统首先通过友好界面选择要被处理图像,然后通过对目标特征分析来用相应图像算法来实现对目标检测识别统计并错误报警,在显示到友好界面上。
系统整体结构图,如图2.1所示。
如图2.1系统整体结构图
本课题中,充分利用到图像处理与目标识别的理论知识,并结合当前国内外对此可以研究水平,通过对不同算法的比对选择最适当的一个算法来实现对渡口上人的检查识别统计并对人员是否穿救生圈进行判断,如果发现有人没穿救生圈就报警。
我们对渡口上人口的检查识别统计及对人是否穿救生圈情况判断准确无误,最多只在重叠情况和背景复杂的情况下有点错误,但正确率力争保持在80%以上。
2.2系统需求分析
该软件最主要的功能就是要能检测识别出人并判断每个人是否穿了救生圈没,首先该系统需要对通过摄像头拍照而获取到的原始的人图片进行一系列处理才可进行下一步的工作,该处理过程也称图像预处理。
预处理这个模块在整个人头识别系统的开发过程中占有很重要的地位,只有预处理模块做的好,才可能很好的完成后面的人定位和特征提取这两大关键模块。
因此本设计中所要完成的主要功能如下所述:
图像获取功能:
该模块主要是从摄像头拍照后进行获取图片,也可以从图片库中获取,获取后的图片可以在MATLAB软件中通过编程显示出来并进行后期处理
图像预处理功能:
该模块主要包括图像阈值、图像HOUGH变换、中值滤波、形态太学处理、实现图像对比度增强、二值化变换等。
人头定位功能:
该模块主要是将处理后的人头图片进行定位,将对符合要求的目标进行表记出来,以便进行特征提取。
特征提取功能:
该模块是在定位后的人头图片中将人头的特征值提取出来。
分析功能:
判断统计出来的人是否穿了救生圈,如果有人没有穿就报警。
3.软件设计
3.1友好界面设计
3.1.1友好界面结构图
上位机示意图,如图3.1所示。
如图3.1上位机示意图
3.1.2友好界面函数
打开图片:
globalimI
im=str2num(get(handles.edit1,'
String'
));
I=cell(1,10);
forn=1:
im
frame=strcat(num2str(n),'
rentou.jpg'
);
I{im}=imread(frame);
%依次读入各帧图像
end
axes(handles.axes1);
imshow(I{im});
统计个数:
globalnummsum
set(handles.edit3,'
string'
num2str(numm+sum));
guidata(hObject,handles);
关闭文件:
choice=questdlg('
你确定要关闭吗?
'
'
关闭对话框'
Yes'
No'
switchchoice
case'
delete(handles.figure1);
return;
case'
End
3.2算法分析
3.2.1轮廓提取前的预处理
在轮廓提取中采用八方向码(Freeman码)跟踪方式,为了便于对头部区域进行面积计算,这里使用的八方向不是用0~7表示,而是用8取代0,1~7不变,分别表示0°
、45°
、90°
、135°
、180°
、225°
、270°
、315°
,如图3.2所示
如图3.2所示
在提取区域轮廓之前,需要对图片做一些预处理。
首先用原始图像进行分析,然后用模糊C均值算法求得的灰度与之对其进行二值化。
由于二值化图像可能存在一些噪声,而且人头区域可能别分成距离很小的几块,所以要对其进行形态学出来。
采用开运算,即用结构元素B对应图像F进行腐蚀,然后进行膨胀操作。
图3.3是灰度图像,经过灰度化,二值化和形态学处理后,得到如图3.4,3.5,3.6,3.7所示的结果。
如图3.4灰度图如图3.5二值处理
如图3.6中值滤波+空洞填充如图3.7局域形态学处理
3.2.2轮廓提取方法
在轮廓提取时,为了防止出现死循环现象,需要对预处理后的图像进行去毛刺处理。
根据轮廓提取方法,图3.8和图3.9风格的毛刺将会引起死循环。
图3.8是一块区域延伸出一根单像素宽度的线条,这种毛刺会使得程序在那根单像素线条上来回提取轮廓,从而形成死循环。
图3.9这种毛刺不是单像素宽度的,根据去毛刺方法,不能一次去除干净。
去毛刺的方法如下。
图3.8所示图3.9所示
对图像从上到下逐行搜索白色像素点,当碰到白色像素点时,判断和该点八方向相邻的白色像素点数目,如果数目小于等于2,则认为是单像素宽度的线条,将该点置为黑色。
这样对图像遍历一次后,图3.8类型的毛刺就完全清除了,但是图3.9类型的毛刺还会剩下部分毛刺像素。
用上述方法循环遍历图像,直到最后一次对图像的遍历没有改变图像任何像素为止,即说明毛刺去除干净。
对二值化图像去了毛刺后,就可以进行提取轮廓的运算了。
具体步骤如下。
(1)对图像从上到下逐行搜索白色像素点,当碰到第一个白色像素点时,记录该点坐标值,设为(x0,y0)。
(2)以(x0,y0)为中心,从八方向码的8方向开始,顺时针方向依次判断相邻像素点是否是白色像素点。
当碰到白色像素点时,记录其坐标值,设为(x1,y1)。
并记录(x0,y0)到(x1,y1)的八方向码矢量V0,V0为(x1,y1)的当前矢量,为(x0,y0)的次矢量)。
(3)以(x1,y1)为中心,搜索的八方向码方向为(V0+4)%8-1,如果求得的方向码值为0和-1,则分别用8和7代替。
顺时针方向依次判断(x1,y1)的相邻像素点是否是白色像素点。
碰到白色像素点时,记录其坐标,设为(x2,y2)。
于是可以得到(x1,y1)的次矢量和(x2,y2)当前矢量。
(4)以(x2,y2)为中心,按照(3)的方法,继续寻找后面的轮廓点,直到寻找到的轮廓点回到起点(x0,y0)为止。
于是就得到了某个区域的轮廓。
这样得到的轮廓的特点为:
沿着轮廓顺时针方向走,其区域内部的像素都位于右边。
.3.2.3轮廓的特征
在取得了一个区域的轮廓之后,下一步就是根据轮廓特征判断该区域是否是人头。
首先根据轮廓所包围的面积大小来对人头进行初步筛选,如果轮廓内面积小于最小人头面积,则将其中的区域标记为黑色,即排除是人头的可能性。
对面积达到人头要求的区域,采用圆形度来判断。
圆形度C是周长(P)的平方与面积(A)的比值。
C=P*p/A;
这就需要计算轮廓的周长和面积。
计算轮廓的周长主要有两种计算方式,一种是所有相邻像素点距离为1,轮廓的像素点数目即长;
一种是八方向码中2、4、6、8方向相邻的像素点长度计为1,1、3、5、7方向相邻的像素点长度计为2,各相邻像素长度之和即为周长。
为简便起见,采用第一种方式。
对轮廓所包围的区域进行面积计算。
保留每个轮廓点的序号,建立矢量表。
从表中找出Y坐标的最小值Ymin和最大值Ymax。
自Ymin至Ymax,从矢量表中筛出Y值相同的各个轮廓点,根据它们的X坐标由小到大排序。
从Xmin至Xmax,对每个轮廓点逐个进行矢量分析,即分析当前矢量和次矢量是否大于等于4,矢量差(次矢量和当前矢量之差)的绝对值是否大于等于4,然后作弦长计算及相关处理。
每一行的弦长自动累加,其和为轮廓包围区域的面积。
详细计算面积的方法可以参阅文献[6]。
3.2.4人头识别
区域的圆形度计算出来后,由于圆的圆形度最小,为4π,可以设置一个阈值,当区域的圆形度小于该阈值时,可以认为是人头。
人头中心可以用其重心(设为(xy))来计算。
其中n+1是轮廓点的数目,(x0y0),(x1y1),…,(xnyn)是各个轮廓点的坐标值。
每检测到一个轮廓就立即进行筛选和人头识别,然后作不同的标记。
如果该轮廓包围的区域被识别出不是人头,可以将其区域内的所有像素灰度设置为0;
如果是人头,可以将其区域内的所有像素灰度设置为0到255之间的一个值(要与二值化图像中的已经存在的灰度值不同,这样才不影响后面的轮廓提取)。
处理完当前轮廓后,接着搜索下一个轮廓。
当整个图像搜索完成后,所有人头的参数也就检测出来了。
该算法除了需要一块存储空间来保存一幅图像之外,只需额外开辟不到2KB的存储空间来保存当前正在分析的轮廓,所以只需很小存储空间。
如图3.10所示及相应代码
4)最后通过边缘提取等到人头形状,当然也有相似面积的杂物,我还利用圆似度来正确进一步提取人头目标。
如图3.7所示
如图3.11所示及相关代码
如图3.12特征提取部分算法
3.2.5标记
通过之前特征提取,把符合特征的该特征点放人动态数组保留下,在通过相应函数显示出来,以便直观的看出统计穿救生圈人数正确与否。
如图3.8所示及代码
4结论与展望
4.1本文总结
本文在利用数字图像处理技术在MATLAB软件上进行渡口上人数检测识别统计及报警方面做了很多尝试。
首先,为了让我们快速熟悉图像处理与目标识别这么课程,我们首先以检测识别统计图片中硬币为例来做,边了解MATLAB中图像处理工具,为我们做本课题打下扎实基础;
然后,本课题的复杂性和算法本身的理论局限性,并不能让本方法达到很高的准确度,所以即使在理想状况下,计数结果也会有些误差,我能做到的只能是尽量减小这种误差。
本系统的另外一困难是如何解决好重复统计的问题,要解决好这个问题,最主要的是做好数学建模和算法分析。
但由于我们的功底有限,只能做一些简单的算法分析,不过还是在一定程度上解决了重叠问题。
4.2遇到的主要难题
行人检测除了具有一般人体检测具有的服饰变化、姿态变化等难点外,由于其特定的应用领域还具有以下难点:
●摄像机是运动的,这样广泛应用于智能监控领域中检测动态目标的方法便不能直接使用;
●行人检测面临的是一个开放的环境,要考虑不同的路况、天气和光线变化,对算法的鲁棒性提出了很高的要求;
●实时性是系统必须满足的要求,这就要求采用的图像处理算法不能太复杂.
4.3展望
目前,数字图像技术一直是个热门的研究领域,也提出了很多新的算法,图像处理领域有很多的大师和学者。
在本次毕业设计中,但是由于由于个人能力的限制和研究时间的限制,本系统还有很多不足和需要提高的地方,如果未来需要进一步开展的工作,可以从以下方面进行改进:
1.由于图像处理的原始视频的各种特性非常庞杂,一般的数字图像处理方法都不具备太好的普遍适用性,希望将来能在这方面有所进展。
2.算法优化的问题,随着近年来图像处理技术的发展,如何根据实际需要进一步优化算法,也是需要研究的一个方向。
3.对遮挡问题的深入研究,遮挡问题一直是统计的难问题,它对统计的结果带来了误差,如何通过误差统计来进一步提高结果的精确度。
致谢
四个月的毕业设计结束了,这期间在实验室的专业理论、动手能力的学习,以及各位老师、同学的无私帮助,让我受益匪浅,是我人生重要的转折点。
我要感谢我的指导教师林俊老师,是他耐心的为我讲解,指导着我,他的细心督促、治学严谨的态度、知识的全面与准确性,使我更加深了对他的崇敬,有了他的支持和帮助,我提高了专业知识的积累,并应用于实践,使我的设计得以顺利完成,论文进一步充实;
也使我避免了很多弯路,我不仅有知识的提高,还学到了老师优秀工作方法和工作态度,是我毕业设计最大的收获。
同时,我也要感谢我的搭档陈益、余欢同学,在毕业设计过程中,我们遇到过很多困难,是他的坚持不懈感染了我,我们一起解决问题,一起探讨,相互促进,共同学习,使我们的毕业设计得以圆满完成。
我还要感谢设计过程中给我很多帮助的刘龙学长,能够在百忙之中耐心的指导我,不仅帮我解决问题,还教会我学习的方法。
最后,对我的指导教师林俊老师、搭档陈益、于欢同学和给予我帮助的刘龙学长再次表示衷心感谢!
参考文献
[1]邓玉春.姜昱明.张建荣.视频序列图像中运动对象分割综述
[J].计算机应用研究,2005。
(1):
8·
11.
[2]ZhaoT,NevatiaR.Trackingmultiplehumansincomplexs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 救生衣 人数 统计 研究 本科 学位 论文