驾驶员疲劳状态检测软件的设计

时间:2022-04-08 08:22:08

驾驶员疲劳状态检测软件的设计

【摘要】疲劳驾驶是司机在驾车过程中介于意识清醒和进入睡眠的一种非正常状态,阐述了利用3G视频监控技术设计驾驶员疲劳状态检测软件的过程,该软件利用摄像机抓取驾驶员的脸部图像,通过图像处理方法得到眼睛图像,经过图像分析和识别的手段确定眼睛是睁开还是闭合的。该软件通过准确的人脸疲劳判断,一旦发现驾驶员眼睛疲劳状态立即进行报警,能有效减少驾驶员疲劳所造成的交通事故。

【关键词】驾驶员;检测软件;疲劳驾驶

1 引言

随着社会的进步与发展,人们的物质生活水平逐渐提高,对汽车这种交通工具需求越来越高,现在拥有私家车的家庭越来越多,安全性是当下一个重要的话题。由于车辆流动性强、任务区域广、安全隐患多、风险责任大,对其管制就难于形成科学有效的监管手段,近年来疲劳驾驶所造成的车辆事故时有发生。本文就是针对以上问题,设计了一款基于3G视频的驾驶员疲劳状态检测软件,该软件一旦发现驾驶员眼睛疲劳状态立即进行报警,能有效减少驾驶员疲劳所造成的交通事故。

本文设计的驾驶员疲劳状态检测软件实现了视频抓拍、人脸识别、人眼定位、疲劳状态识别、疲劳报警等功能。本软件界面良好,提高了用户体验效果,本文最后对所设计的软件进行了功能测试和性能测试,并对测试数据进行了分析。测试结果表明,该软件具有易于操作、可靠性高、易于扩展、传输效率高等特点。

2 系统设计

2.1 系统界面设计

软件用户界面(Software User Interface)是指软件用于和用户交流的外观、部件和程序等。朴素的软件设计,会给人一种舒服的感觉;创意的软件界面设计,能给人带来意外的惊喜和视觉的冲击;而当前有相当多的软件页面上充斥着怪异的字体,花哨的色彩和图片,给人一种眩晕的感觉。在软件界面设计过程中,要在结合图形和版面设计相关原理的基础上从外观上进行创意以到达吸引眼球的目的。

2.2 系统结构

本文设计的驾驶员疲劳状态检测软件包括视频抓拍、人脸识别、人眼定位、疲劳状态识别、疲劳报警等功能模块。视频抓拍利用摄像头按事先设定的时间间隔不断对驾驶员的面部进行抓拍,人脸识别就是从抓拍的视频中确定人脸的范围,人眼定位就是在识别的人脸中确定眼睛的位置,疲劳状态识别就是根据人眼闭合的程度来给出是否为疲劳状态,疲劳报警就是在识别驾驶员疲劳的情况下给出报警提示,使驾驶员能够及时安全驾驶。系统功能结构图如图1所示。

3 系统实现

系统实现包括如下几个步骤:视频采集及预处理、基于肤色检测的人脸识别、基于灰度信息的人眼定位、基于Perclos 的疲劳状态识别以及疲劳报警等。系统实现流程如图2所示。

系统关键代码如下:

Void Detect::OnButtonStartSrv()

{GetDlgItem(IDC_BUTTON_START_SRV)>EnableWindow(FALSE);

GetDlgItem(IDC_BUTTON_STOP_SRV)>EnableWindow(TRUE);

WSADATA wsaData;

int iErrorCode;

if(WSAStartup(WINSOCK_VERSION,&wsaData))

{MessageBox(“无法初始化WinSock!!!”);

WSACleanup();

return;

}

else

{WSACleanup();}

GetNetIP();

sock = socket(PF_INET,SOCK_STREAM,DEFAULT_PROTOCOL);

if(sock == INVALID_SOCKET)

{MessageBox(“无法创建套接字!!!”);

return;

}

SockServerAddrsin_family = AF_INET;

SockServerAddrsin_addrs_addr = INADDR_ANY;

SockServerAddrsin_port = htons(5000);

if(bind(sock,(LPSOCKADDR)&SockServerAddr,sizeof(SockServerAddr))== SOCKET_ERROR)

{MessageBox(“无法绑定端口和套接字!!!”);

return;

}

iErrorCode = WSAAsyncSelect(sock,m_hWnd,WM_ACCEPT,FD_ACCEPT);

if(iErrorCode == SOCKET_ERROR)

{MessageBox(“无法绑定接受函数!!!”);

return;

}

if(listen(sock,QUEUE_SIZE)== SOCKET_ERROR)

{MessageBox(“无法监听!!!”);

}

}

4 小结

本文利用Microsoft Visual C++设计的基于3G视频的驾驶员疲劳状态检测软件能够根据驾驶员的状态来判断是否疲劳驾驶,发现驾驶员眼睛疲劳状态立即进行报警,能有效减少驾驶员疲劳所造成的交通事故,该软件的上线,不仅可以有效的预防交通事故发生,而且可以减少相关人员的工作量,提高他们的工作效率。该软件必有广阔的市场,在未来的应用前景十分看好!

参考文献:

[1]于兴玲,王民,张立材.驾驶员眼睛疲劳状态检测技术研究.传感器与微系统,2007,26(7).

[2]王秀,赵雪竹,朱雪峰.驾驶疲劳的眼睛状态检测算法.计算机与数字工程,2009,37(8).

[3]黄仁等.基于人眼状态识别的驾驶员疲劳监测方法研究.世界科技研究与发展,2011,33(1.)

基金项目:

南昌航空大学大学生第七届“三小”项目。

上一篇:早春大棚菜豆“三产”栽培技术 下一篇:农牧企业咨询式培训的榜样