MATLAB教室人数统计(免费开源代码)
本人参考了很多的资料最后总结整出来的,如果能够该博客对你的学习有所帮助的话,希望大家可以帮我点个赞,本人是抱着学习的态度进行分享,大家如果能在我的基础上进行二次创作的话,希望不要吝啬,分出来给大家,谢谢!
一、简介
开题报告参考链接:【人脸识别】基于GUI教室人数统计系统
1 课题背景
本课题为基于matlab的人数统计系统。近年来,很多行业对人流信息有极大的需求,如汽车公交站,地铁站台,商场出入口等。通过人数统计系统可以方便、可靠、实时地对各种场所的人流进行统计,而不对公众造成任何影响。结合其他图像分析技术,系统可以清楚快捷地掌握客流动态,提供数据支持,使决策者及时做出对策。利用图像处理来完成人数统计系统的主要优点就是图像信号非常直观,便于人为的理解。可以看出,图像的人数统计无论是在商业信息采集还是公共安全监控方面具有重要意义,图像的人数统计识别算法的研究无论在理论上还是在实际应用领域都有着诱人的发展前景。
2 课题分析
以往老师统计学生出勤情况基本上靠人工点名,但是这种方法往往会浪费大量的时间,效率低下,不是一个好的选择。本课题,基于MATLAB的教室人数统计,带有丰富的人机交互GUI界面。实现教室人数的计数统计,进而统计出勤率,上课认真听讲的比例。原先预设总人数,未出勤或者书本遮住脸部、趴着玩手机等必然无法采集到人脸,从而对应数量缺失,得出出勤率或听讲率。该课题采用肤色原理进行人脸定位和人脸分割。本课题中,为了界面GUI的美观,刻意将分割出的人脸单独显示在GUI对应的axes里。
3 社会需求分析
(1)对同学来说:脱离高中魔鬼式的学习,迈入高校的殿堂,许多在校大学生作息时间紊乱,课堂到课情况不理想。出现缺课、旷课情况,严重影响到学业成绩。更有少数学生利用上课时间出去游玩,发生意外。让学生养成一个好的作息习惯,规范学生的考勤,是很多高校最想做到的事情之。因此,快速、有效的出勤统计对大学生的学习以及学习至关重要。
(2)对老师来说:统计出勤情况是记录学生课程学习过程、提供平时成绩评定依据、减少学生发生意外的风险的有效方法。而传统考察出勤人数的方式大多耗时费力,在浪费宝贵课堂时间的同时,也为老师增添了负担。
4 可行性分析
4.1为了说明开发本项目—教室人员统计系统的必要性,我们对传统的考察出勤人数方式进行了分析。
(a)花名册顺序点名
教师或者教师让一名学生使用花名册进行顺序点名。
优点:每一名学生都要答到,教师可以有更多的机会认识每一位同学,比较真实的反应了学生的到课情况。
缺点:如果学生的人数比较多,会浪费学生和老师很多的宝贵时间,并且,存在其他同学帮忙答到的情况。
(b)花名册随机点名
教师第一次上课时,使用花名册进行顺序点名,未到的同学做好标记。下次上课的时候先点前几次未到的同学,然后再随机点几名同学。
优点:随机点名法节省了大量的时间,给那些点名未到的同学施加适当的压力,班级旷课的同学基本.上都是“老面孔”,这种方法可以让那些同学不敢再旷课。
缺点:第一次点名仍然要花费大量的时间,随机点名法存在很多“运气”成份,可能会有一些同学经常没来.上课,但没有被发现。
(c)固定座位
让所有的学生靠前坐,并给班级的每位学生固定座位,上课后,统计缺席人员名单。
优点:老师在上课的时候,可以清楚地看到学生的出勤情况。学生座位靠近讲台,可以提高学生的上课注意力。
缺点:高校学生上课要经常更换教室,固定座位的做法,随着教室的变动会带来很多不便。
(d)分组统计
将班级的学生分为多个小组,每个组选出一一个小组长,由小组长确定小组人员的到课情况,下课后, 小组长将名单交给老师。
优点:节省了老师的时间,便于进行以小组为单位的讨论和学习。
缺点:可能会存在小组长包庇组员的情况,教师无法确定学生的真实出勤率。
4.2为了了解大学生对本项目—教室人员统计系统的接受度,我们使用问卷星对大一至大四的在读本科生进行了问卷调查。以下为调查结果分析:
调查结果显示被调查者在校期间考察出勤的方式中传统点名占72.13%,软件签到占19.03,其他占9.84%。由此可见传统点名占占据考察方式的大多数,仍没有可以完全取代它的方式出现。
对于本项目中通过老师拍照的方式统计出勤人员可能涉及肖像权的问题,仅有9.67%人会有些介意,49.34%完全不在意。而更多则是没考虑过这个这问题,占总人数的40.98%。 由此可见忽略极少部分,可以认为通过拍照方式统计人数可以被大多数人接受。
被问及此项目优缺点时,认为这种方式速度快的占参与者的57.38%,方便占30.17%,其它占12.45%。而他们担心的问题中担心统计不准切导致“被”缺勤占比最高达83.61%。
综上调查,我们认为目前需要一种比传统点名更高效的方式出现。此项目正是想要弥补这一空缺。而提高系统性能,减少差错的出现是增强教室人员统计系统实用性的关键。
5 计算机视觉系统工具箱简介
计算机视觉系统工具箱(Computer Vision System Toolbox,CVST)是Matlab2012b版本自带工具箱。该工具箱不仅包括用于特征提取、运动检测、目标检测、目标跟踪、立体视觉、视频处理、视频分析的算法,还包括视频文件输入输出,视频显示,绘图以及合成。这些功能以Matlab函数、Matlab系统对象、Simulink块的形式提供。对于快速原型和嵌入式系统设计,该工具箱支持定点算法和C代码产生。
计算机视觉系统工具箱的人脸检测算法主要基于Viola-Jones的人脸检测,通过内置的类和函数进行人脸甚至是鼻子、嘴以及眼睛的自动检测。Viola-Jones人脸检测是Paul viola 和 Michael J Jones共同提出的一种人脸检测算法,该算法原理简单,耗费资源小,在提出后被广泛用于人脸检测。Viola-Jones人脸检测主要包含Haar-like特征、积分图、AdaBoost迭代算法和级联分类器等内容,实现人脸检测的主要步骤是:①利用Haar-like矩形特征表征人脸,使用“积分图”对图像中的矩形特征进行快速计算。②利用AdaBoost算法从数量巨大的Haar-like特征中训练出人脸检测所需要的分类器。③将训练得到的强分类器进行级联,利用级联的强分类器构成最终的分类器。
计算机视觉系统工具箱只需要用简单的命令即可实现人脸检测。调用工具箱中的vision.CascadeObjectDetector即可运行。不仅运行速度较快,且人脸检测准确度很高。经过自行改进,可进行批处理。