第一组项目总结

第一组项目总结

项目名称

口罩佩戴识别检测系统

项目成员和预期计划

一、Alpha阶段
成员分工:
这一阶段主要将任务分成了三部分:前端、后端以及摄像头获取人脸部分
前端:郭隆鑫、金子懿
负责前端的设计、美化与完成,实现与后台处理的各种对接,完成了react-electron客户端的全部搭建,并与摄像头获取人脸部分结合起来。
后端:程陆瑶、曹舟雯、杨雯
配置好相关环境,使用Pytorch、YOLOv4模型,处理数据集,训练好模型,实现了对单张图片是否佩戴口罩进行检测的功能。
摄像头获取人脸识别:刘少愉
用Python实现摄像头对人脸的捕捉,截取并上传人脸图片,实现对图像的实时捕获和检测,并成功将摄像头实时获取人脸代码与前端连接起来。
enter description here
enter description here
二、Beta阶段
成员分工:
经过很多努力,也尝试了很多方法,但我们还是没能将前后端连接起来,所以打算重新尝试别的方法。
训练模型重训练:郭隆鑫、杨雯
重新训练模型,并实现在CPU上加载预先训练好的GPU模型
Python设计前端界面:曹舟雯、金子懿、程陆瑶
重新规划前端实现,使用pycharm、Django框架完成前端内容开发
GUI设计:刘少愉
完成了GUI的界面设计、功能完善以及GUI打包为可执行文件,能够实现异地使用
(2)完成情况
前后端能够连接起来,实现摄像头实时获取人脸并识别是否佩戴口罩的功能,且没有明显BUG。

项目燃尽图

enter description here

enter description here

SCRUM会议照片

enter description here

enter description here

项目测试

时间安排:12.26-1.2
测试结果:(测试集结果图)
网站口罩检测准确度基本符合预期需求
网站连接响应速度适中
图形、内容以及整体界面简洁明了
浏览器兼容情况较为良好
软件缺陷:无法区分遮挡物是口罩还是其他
enter description here

困难及解决方法

1:
困难:yolov4训练模型无法在本地运行
解决方法:配置Anaconda环境,安装pytorch库,使用jupyter运行
2:
困难:用node. js框架开发的前端无法与Anaconda虚拟环境中的后端连接
解决方法:换了一种思路,因为pycharm可以直接使用后端环境,大大减小了前后端连接难度,所以采用Django框架+pycharm开发工具开发网站,并用GUI作为补充。

项目的实际框架

前端
GUI:使用了Spyder+PyQt5完成了GUI的界面设计以及摄像头获取人脸照片,并从本地选择图片的功能
网页端:使用了Django框架+pycharm开发工具+Anaconda(pytorch)环境实现了
后端:基于pytorch+yolov4实现的口罩佩戴检测
使用的技术:python pytorch opencv-python pillow GUI
部署的流程:
环境搭建:pytorch环境搭建安装Anaconda,进行显卡配置,配置pycharm的Ananconda环境

项目体会

刘少愉
最大的遗憾是我不够强,没能把大家带飞,最后小组互评的名次也不是很好。
第一次接触Django框架、pytorch库以及用python进行GUI设计,能够通过自学做出与深度学习相关的项目,解决了很多很多bug,在学习的过程中渐渐发现一些框架和技术也不是很难以及自己的动手能力和抗压能力还可以,这是一个自信心逐渐确立的过程。
郭隆鑫
在这个项目开发的过程中,进一步加深了对网站开发的学习理解,学会了编写一个基于electron-react框架的客户端,以及如何实现不同语言之间的调用,还参与了部分的后端开发,学到了些许的后端知识,虽然因为后端没法完全脱离虚拟机没有实现成功部署,但还是学到了不少东西。
金子懿
这次小组合作经历培养了我的团队精神,提高了合作能力,交流沟通的能力和分析及解决问题的能力,学到了新的知识!
程陆瑶
在本次项目中,对于yolo模型以及数据集处理有了一定的学习,掌握了一些新的知识,提高了团队合作能力,收获颇多。
曹舟雯
通过这次的项目,我了解到了很多的相关知识,虽然遇到了很多问题,但是解决过后还是比较开心的,收获良多。
杨雯
在本次项目中,我所负责的部分是与其他成员共同完成后端部分。学习相关的知识,配置相关的pytorch环境,寻找合适的训练模型,处理数据集,对代码进行优化,最终完成检测是否佩戴口罩的功能。一步步看着我们的项目从无到有,再逐渐完善美观,有了很大的成就感。通过小组合作学习,在收获知识与实践的同时,也提高了自己的交流能力。

附加题

刘少愉
1.建议和告诫:可以提前学一些关于软件开发的知识,比如说怎么搭建网站,怎么做客户端,怎么做微信小程序。
2.建议:老师上课概念性知识和技术知识比例可以略作调整,多讲讲技术方面的知识,比如网站前后端的搭建之类的(毕竟做项目的时候会用到)。
3.期许:能保到北航的学硕。
郭隆鑫
1 代码能力蛮重要的,选这门课一定要有大佬带
2 之前一周好几次的总结不是很好,调试装环境就要好几天,给人压力蛮大的
3 希望代码能力能强一点吧
金子懿
这次小组合作经历培养了我的团队精神,提高了合作能力,交流沟通的能力和分析及解决问题的能力,学到了新的知识。
1.认真学习这门课,尤其是认真对待小组项目,对自己会有很大的帮助和提升
2.一周两次作业,会议有点多三四天的时间小组项目可能没有什么太大的进展。项目开始时间或许可以再早一点
3.好好学习提升自己,考研考到想去的大学
程陆瑶
1.建议和告诫:可以提前了解一下课程的相关内容,以便于后续的学习。在做项目的时候,要合理安排好时间,明确项目完成目标,在初期要明确项目各项内容实现的可行性,提高工作效率,合理安排成员分工,加强合作。
2.建议:希望老师可以在项目开始前多多介绍一下相关的知识。
3.期许:读书的时候好好学习,打工的时候好好工作,国考上岸。
曹舟雯
理解和体会:通过这次的项目,我对卷积神经网络有了初步的了解,学到了很多YOLO v4模型的相关知识,为以后做项目积累了一些宝贵的经验。
附加题:
1、对之后上这门课的同学,或者对于开学初的你,有什么建议和告诫
非常建议大家选这门课,尽早开始学习和做项目。
2、对于作业或者课程安排有什么样的建议
很好,没有其他建议。
3、自己对未来的期许
好好学习,好好准备考研,天天向上!
杨雯
附加题一: 一开始算法的学习可能是很枯燥的,也有很多不明白的地方,但坚持下来还是可以收获很多的。
附加题二:课程安排还是很合理的,有利于缓解拖延症。只不过在其他科目作业也很多的时候,压力会很大。
附加题三:希望未来的自己能够提高自己的代码能力与逻辑思维,从而能够更好的规划和安排自己的生活。

原文地址:https://www.cnblogs.com/lsy625/p/14274498.html