一直都想自己从头到尾写一个驾驶员监控系统,用人工智能算法给行业赋能。拖了很久,最近终于把剩下的尾巴收了。
代码链接:
https://github.com/lyyiangang/opendms
主要实现了以下功能:
- 人脸检测
- 人脸landmark检测
- 人脸6DOF姿态检测
- 以及基于上述基础功能获取的驾驶员疲劳,分心等信息。 由于定位在较低资源的设备上运行,所以使用的模型都比较精简
- 同时支持x86和arm平台上的运行,我用的是firefly 3328,羸弱的cpu能跑得动网络已经是万幸了。。
为了方便大家编译,使用docker来做环境隔离,只要一行命令就能将所以依赖库以及交叉编译环境搭建起来。
代码写的比较粗糙,模型也都是东拼西凑的,连示例demo都有误检漏检的,但这并不妨碍我有一颗折腾的心。。。
程序运行后可以得到如下图所示界面。
左上角为驾驶员信息展示界面,包含人头姿态,人头坐标,以及左右眼开合程度。
先上一个版本吧,以后会更新检测模型提高准确度。
欢迎大家star.
地址:https://github.com/lyyiangang/opendms