风雨兼程 2011-01-05 08:54:54

风雨兼程

康健

本次大学生创新活动为期一年左右。在这个过程中我们一起付出,一起成长。回想这一年来的点点滴滴,我在不经意间发现原来在对一个个问题和方案的探索中,不知不觉已经过了一年的时间。

最初关于参加这次大学生创新活动的初衷,一方面是出于对这个活动的新奇与热情,一方面是出于想学习一些课外知识,拓宽视野的需求,还有一个方面便是对自己在小组中的协调能力的锻炼。在组建好了我们的小组之后,我们便开始进行了选题工作。我们本着从实际出发,注重和实际生活联系紧密的方面进行选题立项。在好多个备选方案下,我们逐渐将目标放在了关于和视频处理联系紧密的摄像头监控方面。在当前,摄像头等视频监控设备已经很广泛的应用于人们生活的各个方面,尤其在一些公共地区和重要地段,摄像头往往在维护治安,保护人民财产等方面起着十分重要的作用。而在这些有摄像头的地方都需要有人对摄像头进行监控,而且很多情况下无法实现对视频的实时监控和24小时不离岗监控。这样会带来一些比较明显的确点。比如在摄像头的监控地段突发威胁人生命的紧急情况的时候,监控摄像设备依然只有录像的功能,而能否对此时的录像内容作出及时的调动与反应只能依赖于当时有没有在监视这个摄像设备所录制的画面,如果没有人值守,只能在事发后通过回访录像来获得一定信息,但是这样对于及时救援就失去了意义。

于是我们以为,如果能够有一种基于监控设备的技术,能够对于当时所监控的地段不止有录像的作用,还能够对所录制的视频进行处理,当录制的视频中所拍摄的人物在危机的情况下作出之前被告知的特定报警动作时,系统会及时对这时的人像进行识别,如果确实与我们预先所定义的报警动作达到了匹配,就产生报警信号,告知管理人员在某个监控地段有情况发生。这样对于监控设备的利用率和监控反馈的及时性都会有很大的提高。因此,我们基于以上思路进行了关于智能监控识别系统的立项和研究。

在定下了我们的研究方向之后,我们便及时的找导师进行了可行性等方面的分析。导师对于我们的项目提出了相关的指导意见和可行性方面的建议,然后我们便开始制定计划并开始了相关方面的学习。

在开始时,由于对于项目内设计的图像处理基本上是首次接触,有很多方面的知识需要学习。于是我们从图书馆借了很多的关于图像处理方面的书籍,进行相关知识的补充。在这个过程中,我逐渐对于图像处理的基本概念如图像的矩阵表示图像采集,获取,编码,存储以及传输,图像的变化,复原和重建等方面有了更多的了解。我们在这个学习的过程中是分工协作。每人负责一部分图像处理的学习任务,最后在每周末的小组学习环节中将各自所学习到的东西讲解给其他组员听。这样一来我们在学习效率上有了不小的提高。我在这个过程中主要负责了关于图像处理的基本部分的原理以及我们小组内部学习资料整合,并联系老师和安排其他小组之间组间交流活动。

在最初的一段时间里,我们学习了关于图像处理的基本知识,同时由于当时所在的学期正好有一门关于图像处理的课程,我们也进行了旁听,通过这段时间的积累,图像处理已经不是那么陌生了,对于一些专业书籍中所出现的比较常见的专有名词也基本了解了其用法和所涉及到的原理。

随后我们在组长张翼的带领下展开了MATLAB中关于图像处理方面的学习。这个过程中主要包括对于MATLAB基本使用,MATLAB常用的函数和m文件等的编写要求,以及MATLAB中涉及到的常用的关于图形处理方面的函数的功能和参数设置的意义。

在学习这些基本技能的时候我们也展开了对于我们课题中所涉及的内容的研究。我们本着从最简单的方式出发的思路,首先识图对“十”字形的图样进行匹配。由于之前的学习中已了解到,图像的矩阵表示可以得到每一个像素点的信息(包括这个像素点在整个图中的二维空间坐标以及该点的灰度值)。于是我们想只要得能够检测出十字形的点的坐标满足十字形的要求即可达到要求。而这个十字形图形我们在最开始也进行了标准化的用单像素点来描绘出的黑色背景的白色十字形。在此基础上,只要能够根据这些白色点的信息来判断出它们能够恢复出一个十字即完成了我们的要求。

在如何判断这个十字的过程中,我们提出了好几种不同的方法,然后在小组讨论中最后决定下来用提取关键点信息的方法来测试。整个程序的识别过程我可以用围棋作为比喻来较为形象的说明。假设整个一个棋盘是一张图像,棋盘上每一个交点处的棋子代表一个像素点,这每一个点都会有自己的纵横坐标以及自己的颜色。在棋盘上有用白色棋子摆出的一个十字形(在此做了这样的假设:这个白色十字的笔画粗细只有一个棋子那么宽),然后棋盘上其他空余的地方都用黑色的棋子来填充(即模拟了图片的黑色背景),每个棋子都有纵横坐标和黑白色这些参数来表征。那么我们要判断一个十字形,只要选取它的十字形四个末端点以及中心的交叉点即可。关于上下左右四个端点处信息的提取相对比较简单。以最上端点为例,即如果有一个白色点,在其左,右,上三个紧邻的方向上都是黑色的点,在其下方为白色的点,那么这个点便是最上端点。其他方向上的三个边沿点的情况与此类似。关于中心点的判断稍微复杂一些,还是从最简单的情况入手,以中心处为标准十字的情况为例,这个过程是:如果一个白色点紧邻的上下左右都是白色的点,那么这个点便为中心点。不失一般性进行讨论,对于非标准的十字形,其中心点的选取会有不同的类型。对此我在编程当中进行了不同的分类。并且对每一种类型进行了各自适合的判别程序。因此在整个识别过程中对于中心点要用分类判断直到找到中心点为止。具体可参考源程序。

在第二种方法中,我们换了一个角度,不是从关键点的信息提取而是对图像采取了轮廓化处理,然后加矩形框的方式来实时测量。如果矩形框的长宽比大于我们预设的阈值,那么即认定为识别。这个方法相比之前的十字形判别有自己的优势。加一个矩形框以后我们对于视频监控的直观性和实时性有了更好的效果。十字形关键点选取法的特点是其处理的精度比较高,但是由于其是对图片提取信息进行处理的,而加框法则是基于轮廓的处理,所以在监控的过程中管理人员可以及时对报警的视频及时进行人为验证。但是这种方式下也有其局限性。例如在正对监控设备的情况下如果长宽比如果大于了预设的阈值,但是对于同样的长宽比,人与监控设备有一个倾角的情况下就会出现长宽比变小以至于小于阈值的可能性。因此在实际应用中可以将两种方法结合起来会有更好的效果。

在最后我们也进行了对于更加实用的识别图样选取。在讨论中我们决定用了向上举手的姿势,这种姿势在现实当中危险的情况下更加具有普遍性。在这种情况下的报警识别图像无法采用先前讨论的第二种方法,因为加矩形框的方法对于举起双手的这种姿势不敏感,矩形框只是对于人的轮廓的上下左右四周的边缘进行框取,所以在这种新的报警姿势中无法采取方法二来实现。在其他的备选方案中(可参见工作记录本),我们最终选取基于方法一的关键点信息的选取方法,由于在骨骼化图像的情况下对于肘部并不是很敏感,故最终我们决定选取了基于头部,左右手,脚步和中心交叉点的关键信息提取。在最后的程序测试阶段也证明这种方法是一种比较优化的判别方式。

至此,我们在本项目中基本完成了对于智能监控识别方面的三个不同实现方案,而且各有各的特点和适用的范围。本次大学生创新活动中我对图像处理相关知识进行了认真的学习,也很积极的投身到每一次的小组例会和方案讨论环节当中,一起提出和讨论了不同实现方案的优劣和可行性,负责了图像处理的程序编写。整个大学生创新活动让我收获了很多很多,非常珍惜这样一次锻炼自己的机会,希望以后能够有机会多参与这类创新探索的活动。

在此,要感谢指导老师对我们的细心指导,这让我们少走了很多弯路,并且学到了很多图像处理的先进理念!

 

康健,上海交通大学电子信息与电气工程学院2006级信息工程专业,第二期“上海大学生创新活动计划”——对智能视频监控系统功能拓展的探索”项目参与人;指导老师:杨杰教授,上海交通大学电子信息与电气工程学院
 
 
 
@2008 上海交通大学教务处     网络信息中心技术支持