【项目总结-实验室】高铁驾驶疲劳监测
介绍自己的项目需要注意STAR法则,即简短的背景介绍situation,自己的任务task,如何实现action,以及最终的效果result。
1.项目的背景
甲方是谁?
这个项目是和铁路局合作的项目。需求是什么?
他们需要一个系统了解高铁驾驶员的状态是否符合规范,警报,比较笼统的需求。项目周期有多长?进度怎么安排?
整个项目总体流程大概3-5个月。
至于我们进度安排,分为几步:
(1)一周左右,和那边对接的人开会去把需求给清晰化,功能化,明确明白他们最后预期的效果。
(2)一周左右,我们这边开会讨论实现这几个功能需要什么技术,有什么难点,然后对于模糊不清的以及不太现实的需求再反馈给他们进行协商。
(3)进入开发时期,在完成基础算法的搭建之后,我们这边会需要什么样的驾驶员的视频数据,让他们那边提供一部分数据来测试每个功能。
(4)交付,我们整合所有的功能,并在自己的平台录一些demo和他们那边沟通,并提供参数文档供他们自由调整。
2.自己承担的角色
在整个过程中,所有的步骤都有参与吧,因为实验室人比较少。团队规模(2人)
1)需求沟通
规范和警报
规范:手势高铁,操作台按钮
警报:离开驾驶台,抽烟,玩手机,打瞌睡,睡觉,伸懒腰,多人
600左右的图
删掉不合理需求:抽烟(小物体,错检测,烟雾报警),玩手机(不好界定,什么时候算玩,这块的交互有很大的错误率)
2)开发和算法迭代
算法:明确轻量化模型(人体关键点,人脸关键点,人体检测,部位分割),学姐给模型ResNet系列R18/26,输出信息功能逻辑的设计。
平台:pyQT,界面交互,一些参数设置,警报信息,日志系统。
3.技术实现的细节
难点1:摄像头位置,单摄像头
当时他们那边安装位置靠上,为了照顾能看到操作台,对人体关键点十分不友好,因为条件有限在coco上训练的数据集,经常检测不到手部信息不好做手势判定,沟通无果遂删除。最好还是有侧面人体数据集。
难点2: 速度问题
resnet系列比较笨重,跳帧
难点3: 操作台,以及按钮
每辆车摄像头回来的画面中,操作台位置都不一样,所以这个参数手动确定也很麻烦,所以我在前端加了个交互,用手划定一个多边形传递参数。
算法层面的难点,侧面人脸关键点不好预测,正面人脸,检测人头扣下来,背景太多,先检测人体,扣一块下来进行人头检测再做关键点。
4. 最终的效果
他们那边好像比较满意。
####模型效果
####业务收益 十万元左右吧。