2024年5月23日发(作者:捷秋)
基于0V7670的疲劳驾驶预警系统
陆晓,冯 桑,呙 腾,黄超
(广东工业大学,广东广州 510006)
摘要:介绍一种用0V7670图像传感器采集图像数据,并以MFC上位机处理图像的系统设计。此设计实现了图
像数据的采集与处理,并可根据图像数据判断驾驶员的疲劳状态并给出预警。
关键词:图像传感器;图像处理;模板匹配;PERCLOS
中图分类号:U463.6 文献标识码:A 文章编号:1003—8639(2013)02—0022—04
Vehicle Image Acquisition System Based on OV7670
LU Xiao,FENG Sang,GUO Teng,HUANG Chao
(Guangdong University of Technology,Guangzhou 510006,China)
Abstract:The author introduces a system that collects image data by the 0V7670 image sensor and process
and display image through MFC program.This design realizes the image data acquisition and processing and can
judge the fatigue of the driver according to the image data and give early warning.
Key words:image sensor;image processing;template matching;PERCLOS
疲劳驾驶是交通事故的一个主要原因.如果能
在疲劳产生的初期给驾驶员进行预警提示,那么就
会大大减少交通事故的发生。因此,在驾驶中实时
监测驾驶员的疲劳状况成为当前国内外研究的热
点。目前,疲劳驾驶的检测方法主要包括检测驾驶
员的生理特征,如脑电图、眼电图、心电图等…,
检测驾驶员身体动作特征,如眼部的动作变化 、
驾驶员头部动作与特征 ]、手部特征(利用转向盘
上的传感器检测驾驶员对转向盘施加的压力,来判
断是否疲劳驾驶的安全装置[7 )。其中,检测驾驶员
眼部特征的方法由于其直接、非接触性等优点,是
目前被广泛采用的方法。
1 基于人眼识别疲劳判断理论基础
1.1 PERCLOS方法介绍
PERCLOS(Percentage of Eyelid Closure Over
内采集到的有效帧数;卜疲劳评价系数。
当眼睛闭合超过80%时P(t)=1,反之P(t)=0。
如果PERCLOS大于40%,就认为驾驶员处于疲劳状
态[ 。
1.2人眼识别流程
准确地识别人眼是判断驾驶员疲劳状况的关键
环节。常用的人眼识别方法有:①模板匹配法:通
过在输入图像上滑动图像块,对实际的图像块和输
入图像进行匹配;②灰度投影法:利用人脸特征的
灰度值差别和人脸的几何分布关系确定人眼位置。
本文采取模板匹配与灰度投影结合的方法来进
行人眼的识别,先用模板匹配找出眼睛所在的区
域,然后对人眼区域进行灰度投影,得出人眼的开
闭状况
2硬件系统的总体设计
the Pupil over time)是由卡内基梅隆研究所提出的,
指的是在一定的时间内眼睛闭合所占的时间比例。
在实际应用过程中,眼睛闭合程度超过某一标准的
时间占某一特定时间的百分比,表现出与驾驶疲劳
程度较好的相关性。通过摄像头获取驾驶员眼睛闭
合时间的数据.作为判断驾驶员疲劳程度的依据。
系统主要包括0V7670 CMOS摄像头、FIFO存储
芯片AL422B、AVR单片机以及处理图像的车载PC。
硬件结构如图1所示。其中,摄像头采用0V7670摄
OV7670 CMOS摄像头 FIFO存储芯片AL422B
配置ll 1
配置
图像数据 ]c图像数据 图像数据
EP(t)
PERcL0s计算公式:PERCLOs=— 一<
式中:P( )——眼睛的开闭状况;Ⅳ_一£时间
收稿日期:2012-l1—05
AVR单片机芯片ATMEGA16L
图像数据
车载PC
图1 系统硬件结构示意图
作者简介:陆晓(1987一),男,硕士,主要从事疲劳预警相关理论与技术的研究。
乏 《汽车电器》2o13年第2期
像头,其灵敏度高,可以使用低电压驱动,具有标
准的SCCB接口,支持VGA、YUV422、RGB565等格
式输出。AIA22B作为FIFO存储芯片,存储采集到
的图像信息。AVR芯片ATMEGA16L设置摄像头的
工作参数,从AIA22B读取图像数据并传送到车载
PC进行处理
系统上电后,首先由摄像头采集图像信息并将
其存储在A1422B存储芯片中.然后由ATMEGA16L
起时主机驱动SCL为0;SDA为双向数据传输线,既
可以由主机驱动也可以由从机驱动。当总线空闲时
保持浮动,状态不固定(0、1或三态高阻)。当总
线挂起时,驱动SDA为0。为了不让该总线产生未
知的状态,主机和从机必须保持SDA的电平。
图4为0V7670、ATMEGA16L与AL422B的接线
图,HREF为行同步信号.VSYNC为场同步信号。
SCL与SDA分别是SCCB总线的时钟线与数据线。其
读取图像数据并将其传送到车载PC,车载PC对图
像进行处理。识别人眼的状态.再根据PERCLOS方
法判断驾驶员的疲劳状况.从而给出预警信息。
3图像采集
数字图像采集中常
用的有CMOS(Comple.
mentary Metal-Oxide——
Semiconductor)与CCD
(Charge Coupled Device)
摄像头,与CCD相比.
CMOS具有灵敏度高、
分辨率高、低功耗以及
成本低廉等优势,所以
本文采用CMOS摄像头
图2 0V7670摄像头
0V7670(图2)。
3.1 OV7670的结构及其工作原理
OV7670摄像头是整个系统的最前端,其集成
了一个640x480的感光阵列、帧(行)控制电路、
视频时序产生电路、模拟信号处理电路、A/D转换
电路、数字信号输出电路及寄存器SCCB编程接口。
感光阵列得到原始的彩色图像信号后,模拟处理电
路完成诸如颜色分离与均衡、增益控制、gamma校
正、白电平调整等主要的信号处理工作,最后可根
据需要输出多种标准的视频信号。视频时序产生电
路用于产生行同步、场同步、混合视频同步等多种
同步信号和像素时钟等多种内部时钟信号,外部控
制器可通过SCCB总线接口设置或读取0V7670的工
作状态、工作方式以及数据的输出格式等。其SCCB
控制时序如图3所示。
图3 SCCB时序图
其中,SCL为由主机发出的单向信号线,输出
时钟信号,总线空闲时主机驱动SCL为l,当总线挂
中VSYNC为场同步信号,其下降沿表示一帧图像的
开始,HREF为行同步信号,高电平时表示一行的
图像数据开始输出。一帧图像开始后,仅当HREF
为高,PCLK上升沿时,数据为有效的像素值。对
图像数据的采集是通过中断触发的,这里用
VSYNC、HREF、PCLK的上升沿触发3个中断。当
采集到VSYNC中断时开始一帧图像数据的采集.
HREF中断到来时开始采集一行图像数据.一行数
据采集完成后,等待下次HREF中断,开始采集下
一
行数据,以此类推。对HREF中断采集480次,就
得 ̄lJ640x480像素点的一帧图像的数据。
VCC
VCC VCC PC6 WEN VCC
GND SCL
PD4 PC1
OE/CS GND
SDA
PD5 PD6 RRST
HREF
PD2 PC7 RCLK
VSYNC
PD3 PA7~}IAO
D07~DoO
GND
ATMEGAl6L
GND
D7 DO DI7一D10
AL422B
GND
图4 OV7670、ATMEGA16L与AL422B的接线图
3.2图像缓存
由于0V7670产生的数据在速率上与接口电路
不匹配.因此数据缓存必不可少。AIA22B是Aver-
Logic公司推出的一个存储容量为393216字节×8位的
FIFO存储芯片。由于其所有的寻址、刷新等操作都
由集成在芯片内部的控制系统完成,因而使用非常
简单。目前市场上的FIFO存储体的存储容量都较
小。很难适应视频技术的高速发展,而AL422B的
存储空间为3M位,对于普通的视频应用绰绰有余,
并且它加快了存取速度,因此可以在本系统中应
用。AL422B的内部功能如图5所示。
AIA22B的写时序如图6所示。WCK为AL422B
的写入时钟,周期最大为1 000ns,最小为20ns,其
上升沿时数据写人。随着该时钟输入,其内部写指
针自动增加。显然,AL422B的速度足够。
AIA22B的读时序如图7所示。图中RCK为AIA22B
《汽车电器》2o13年第2期 i
输入缓冲H薯 冀H H 鬈H输出缓冲
疲劳检测.每个检测周期
写地址计数器H时钟发生器H读地址计数器
地址刷新计数器
cyck n
w
cy出0十cy _1
/w
D17 o
篱 — ’ ‘ ——————一
T。8 。H
中包含18帧图像。由于已
经实现了对驾驶员眼睛状
态的识别,则可以通过统
计一个检测周期内,驾驶
员眼睛闭合状态的帧数和
周期内总的帧数,得到驾
驶员的疲劳指数,即:
PERCLOS=闭眼帧数/总帧
数xl00%。开眼帧与闭眼
帧的二值图与灰度投影如
图9所示
图6 AL422B写时序
的读出时钟,周期最大为1 000 ns,最小为20 ns。
当/RE和/OE有效时,在RCK上升沿数据有效,随
着该时钟输入,其内部的读指针自动增加。当单片
机的主频为12MHz,可以用单片机中的ALE/WR/
RD合成RCK信号。再利用图像芯片的数据输出特
性和单片机的中断功能及AIA22B的特点加以解决。
对于容量问题,利用AIA22B的大存储容量(3M位)
就可以满足要求
图7 AL422B读时序
3.3下位机程序设计
下位机程序基于AVR Studio环境开发。运行于
AVR芯片ATMEGA16L C引.主要实现配置OV7670工
作参数,读取并传输图像数据的功能。首先对
AL422B、0V7670进行初始化.通过SCCB总线配置
0V7670的寄存器,使其输出RGB565格式图像数
据,存储到缓存芯片AL422B,由ATMEGA16L将图
像数据传送到车载PC.下位机程序流程如图8所示。
4系统调试与试验
采用帧率CMOS摄像头0V7670采集驾驶员的脸
部图像,并以6 s作为一个检测周期(时间取太短,
误警率会增加;时间取太长,则不能及时报警),
并每隔O.33 s取l帧图像(即每秒取3帧图像)进行
“
2 《汽车电器}2013年第2期
根据前面介绍过的
PERCLOS方法.当PERC.
LOS大于指定阈值40%时.
则判定驾驶员处于疲劳驾
驶状态.并给予驾驶员预
图8下位机程序流程图
警信息。
(a)开眼帧
(b)闭眼帧
图9开眼帧与闭眼帧的二值图与灰度投影
5 结束语
基于以上硬件与软件的设计,实现了AVR单片
机对CMOS摄像头0V7670的配置,用AL422B存储并
转发图像数据,将图像数据传送到车载PC,并利用
上位机软件实现了图像数据的处理。系统运行良好,
很好地识别了人眼的位置及状态,并能够根据图像
信息判断驾驶员的疲劳状态,给出有效的预警。
参考文献:
[1]Lin CT,Ko LW,Chung IF,et a1.Adaptive EEG—based
Alertness Estimation System by Using ICA—based Fuzzy
Neural Networks C].IEEE Transactions on Circuits and
Systems,2006,53(11):2469—2476.
[2]Wang RB,Guo KY,Shi SM,et aL A monitoring method
of driver fatigue behavior based on machine vision『C].
IEEE Symposium on Intelligent Vehicles.2003:l1o_l13.
[3]D Orazio T,Leo M,Guaragnella C,et a1.A visual
approach for driver inattention detection『C].Pattern
Recognition,2007,40(8):2341—2355.
[4]施树明,金立生,王荣本,等.基于机器视觉的驾驶员
嘴部状态检测方法[J].吉林大学学报,2004,34(2):
232—236.
[5]Kithil PW,Jones RD,Jone M.Development of dri;er
alertness detection systems using overhead capacitive
sensor array fC].SAE Technical Paper Seires,982292,
2024年5月23日发(作者:捷秋)
基于0V7670的疲劳驾驶预警系统
陆晓,冯 桑,呙 腾,黄超
(广东工业大学,广东广州 510006)
摘要:介绍一种用0V7670图像传感器采集图像数据,并以MFC上位机处理图像的系统设计。此设计实现了图
像数据的采集与处理,并可根据图像数据判断驾驶员的疲劳状态并给出预警。
关键词:图像传感器;图像处理;模板匹配;PERCLOS
中图分类号:U463.6 文献标识码:A 文章编号:1003—8639(2013)02—0022—04
Vehicle Image Acquisition System Based on OV7670
LU Xiao,FENG Sang,GUO Teng,HUANG Chao
(Guangdong University of Technology,Guangzhou 510006,China)
Abstract:The author introduces a system that collects image data by the 0V7670 image sensor and process
and display image through MFC program.This design realizes the image data acquisition and processing and can
judge the fatigue of the driver according to the image data and give early warning.
Key words:image sensor;image processing;template matching;PERCLOS
疲劳驾驶是交通事故的一个主要原因.如果能
在疲劳产生的初期给驾驶员进行预警提示,那么就
会大大减少交通事故的发生。因此,在驾驶中实时
监测驾驶员的疲劳状况成为当前国内外研究的热
点。目前,疲劳驾驶的检测方法主要包括检测驾驶
员的生理特征,如脑电图、眼电图、心电图等…,
检测驾驶员身体动作特征,如眼部的动作变化 、
驾驶员头部动作与特征 ]、手部特征(利用转向盘
上的传感器检测驾驶员对转向盘施加的压力,来判
断是否疲劳驾驶的安全装置[7 )。其中,检测驾驶员
眼部特征的方法由于其直接、非接触性等优点,是
目前被广泛采用的方法。
1 基于人眼识别疲劳判断理论基础
1.1 PERCLOS方法介绍
PERCLOS(Percentage of Eyelid Closure Over
内采集到的有效帧数;卜疲劳评价系数。
当眼睛闭合超过80%时P(t)=1,反之P(t)=0。
如果PERCLOS大于40%,就认为驾驶员处于疲劳状
态[ 。
1.2人眼识别流程
准确地识别人眼是判断驾驶员疲劳状况的关键
环节。常用的人眼识别方法有:①模板匹配法:通
过在输入图像上滑动图像块,对实际的图像块和输
入图像进行匹配;②灰度投影法:利用人脸特征的
灰度值差别和人脸的几何分布关系确定人眼位置。
本文采取模板匹配与灰度投影结合的方法来进
行人眼的识别,先用模板匹配找出眼睛所在的区
域,然后对人眼区域进行灰度投影,得出人眼的开
闭状况
2硬件系统的总体设计
the Pupil over time)是由卡内基梅隆研究所提出的,
指的是在一定的时间内眼睛闭合所占的时间比例。
在实际应用过程中,眼睛闭合程度超过某一标准的
时间占某一特定时间的百分比,表现出与驾驶疲劳
程度较好的相关性。通过摄像头获取驾驶员眼睛闭
合时间的数据.作为判断驾驶员疲劳程度的依据。
系统主要包括0V7670 CMOS摄像头、FIFO存储
芯片AL422B、AVR单片机以及处理图像的车载PC。
硬件结构如图1所示。其中,摄像头采用0V7670摄
OV7670 CMOS摄像头 FIFO存储芯片AL422B
配置ll 1
配置
图像数据 ]c图像数据 图像数据
EP(t)
PERcL0s计算公式:PERCLOs=— 一<
式中:P( )——眼睛的开闭状况;Ⅳ_一£时间
收稿日期:2012-l1—05
AVR单片机芯片ATMEGA16L
图像数据
车载PC
图1 系统硬件结构示意图
作者简介:陆晓(1987一),男,硕士,主要从事疲劳预警相关理论与技术的研究。
乏 《汽车电器》2o13年第2期
像头,其灵敏度高,可以使用低电压驱动,具有标
准的SCCB接口,支持VGA、YUV422、RGB565等格
式输出。AIA22B作为FIFO存储芯片,存储采集到
的图像信息。AVR芯片ATMEGA16L设置摄像头的
工作参数,从AIA22B读取图像数据并传送到车载
PC进行处理
系统上电后,首先由摄像头采集图像信息并将
其存储在A1422B存储芯片中.然后由ATMEGA16L
起时主机驱动SCL为0;SDA为双向数据传输线,既
可以由主机驱动也可以由从机驱动。当总线空闲时
保持浮动,状态不固定(0、1或三态高阻)。当总
线挂起时,驱动SDA为0。为了不让该总线产生未
知的状态,主机和从机必须保持SDA的电平。
图4为0V7670、ATMEGA16L与AL422B的接线
图,HREF为行同步信号.VSYNC为场同步信号。
SCL与SDA分别是SCCB总线的时钟线与数据线。其
读取图像数据并将其传送到车载PC,车载PC对图
像进行处理。识别人眼的状态.再根据PERCLOS方
法判断驾驶员的疲劳状况.从而给出预警信息。
3图像采集
数字图像采集中常
用的有CMOS(Comple.
mentary Metal-Oxide——
Semiconductor)与CCD
(Charge Coupled Device)
摄像头,与CCD相比.
CMOS具有灵敏度高、
分辨率高、低功耗以及
成本低廉等优势,所以
本文采用CMOS摄像头
图2 0V7670摄像头
0V7670(图2)。
3.1 OV7670的结构及其工作原理
OV7670摄像头是整个系统的最前端,其集成
了一个640x480的感光阵列、帧(行)控制电路、
视频时序产生电路、模拟信号处理电路、A/D转换
电路、数字信号输出电路及寄存器SCCB编程接口。
感光阵列得到原始的彩色图像信号后,模拟处理电
路完成诸如颜色分离与均衡、增益控制、gamma校
正、白电平调整等主要的信号处理工作,最后可根
据需要输出多种标准的视频信号。视频时序产生电
路用于产生行同步、场同步、混合视频同步等多种
同步信号和像素时钟等多种内部时钟信号,外部控
制器可通过SCCB总线接口设置或读取0V7670的工
作状态、工作方式以及数据的输出格式等。其SCCB
控制时序如图3所示。
图3 SCCB时序图
其中,SCL为由主机发出的单向信号线,输出
时钟信号,总线空闲时主机驱动SCL为l,当总线挂
中VSYNC为场同步信号,其下降沿表示一帧图像的
开始,HREF为行同步信号,高电平时表示一行的
图像数据开始输出。一帧图像开始后,仅当HREF
为高,PCLK上升沿时,数据为有效的像素值。对
图像数据的采集是通过中断触发的,这里用
VSYNC、HREF、PCLK的上升沿触发3个中断。当
采集到VSYNC中断时开始一帧图像数据的采集.
HREF中断到来时开始采集一行图像数据.一行数
据采集完成后,等待下次HREF中断,开始采集下
一
行数据,以此类推。对HREF中断采集480次,就
得 ̄lJ640x480像素点的一帧图像的数据。
VCC
VCC VCC PC6 WEN VCC
GND SCL
PD4 PC1
OE/CS GND
SDA
PD5 PD6 RRST
HREF
PD2 PC7 RCLK
VSYNC
PD3 PA7~}IAO
D07~DoO
GND
ATMEGAl6L
GND
D7 DO DI7一D10
AL422B
GND
图4 OV7670、ATMEGA16L与AL422B的接线图
3.2图像缓存
由于0V7670产生的数据在速率上与接口电路
不匹配.因此数据缓存必不可少。AIA22B是Aver-
Logic公司推出的一个存储容量为393216字节×8位的
FIFO存储芯片。由于其所有的寻址、刷新等操作都
由集成在芯片内部的控制系统完成,因而使用非常
简单。目前市场上的FIFO存储体的存储容量都较
小。很难适应视频技术的高速发展,而AL422B的
存储空间为3M位,对于普通的视频应用绰绰有余,
并且它加快了存取速度,因此可以在本系统中应
用。AL422B的内部功能如图5所示。
AIA22B的写时序如图6所示。WCK为AL422B
的写入时钟,周期最大为1 000ns,最小为20ns,其
上升沿时数据写人。随着该时钟输入,其内部写指
针自动增加。显然,AL422B的速度足够。
AIA22B的读时序如图7所示。图中RCK为AIA22B
《汽车电器》2o13年第2期 i
输入缓冲H薯 冀H H 鬈H输出缓冲
疲劳检测.每个检测周期
写地址计数器H时钟发生器H读地址计数器
地址刷新计数器
cyck n
w
cy出0十cy _1
/w
D17 o
篱 — ’ ‘ ——————一
T。8 。H
中包含18帧图像。由于已
经实现了对驾驶员眼睛状
态的识别,则可以通过统
计一个检测周期内,驾驶
员眼睛闭合状态的帧数和
周期内总的帧数,得到驾
驶员的疲劳指数,即:
PERCLOS=闭眼帧数/总帧
数xl00%。开眼帧与闭眼
帧的二值图与灰度投影如
图9所示
图6 AL422B写时序
的读出时钟,周期最大为1 000 ns,最小为20 ns。
当/RE和/OE有效时,在RCK上升沿数据有效,随
着该时钟输入,其内部的读指针自动增加。当单片
机的主频为12MHz,可以用单片机中的ALE/WR/
RD合成RCK信号。再利用图像芯片的数据输出特
性和单片机的中断功能及AIA22B的特点加以解决。
对于容量问题,利用AIA22B的大存储容量(3M位)
就可以满足要求
图7 AL422B读时序
3.3下位机程序设计
下位机程序基于AVR Studio环境开发。运行于
AVR芯片ATMEGA16L C引.主要实现配置OV7670工
作参数,读取并传输图像数据的功能。首先对
AL422B、0V7670进行初始化.通过SCCB总线配置
0V7670的寄存器,使其输出RGB565格式图像数
据,存储到缓存芯片AL422B,由ATMEGA16L将图
像数据传送到车载PC.下位机程序流程如图8所示。
4系统调试与试验
采用帧率CMOS摄像头0V7670采集驾驶员的脸
部图像,并以6 s作为一个检测周期(时间取太短,
误警率会增加;时间取太长,则不能及时报警),
并每隔O.33 s取l帧图像(即每秒取3帧图像)进行
“
2 《汽车电器}2013年第2期
根据前面介绍过的
PERCLOS方法.当PERC.
LOS大于指定阈值40%时.
则判定驾驶员处于疲劳驾
驶状态.并给予驾驶员预
图8下位机程序流程图
警信息。
(a)开眼帧
(b)闭眼帧
图9开眼帧与闭眼帧的二值图与灰度投影
5 结束语
基于以上硬件与软件的设计,实现了AVR单片
机对CMOS摄像头0V7670的配置,用AL422B存储并
转发图像数据,将图像数据传送到车载PC,并利用
上位机软件实现了图像数据的处理。系统运行良好,
很好地识别了人眼的位置及状态,并能够根据图像
信息判断驾驶员的疲劳状态,给出有效的预警。
参考文献:
[1]Lin CT,Ko LW,Chung IF,et a1.Adaptive EEG—based
Alertness Estimation System by Using ICA—based Fuzzy
Neural Networks C].IEEE Transactions on Circuits and
Systems,2006,53(11):2469—2476.
[2]Wang RB,Guo KY,Shi SM,et aL A monitoring method
of driver fatigue behavior based on machine vision『C].
IEEE Symposium on Intelligent Vehicles.2003:l1o_l13.
[3]D Orazio T,Leo M,Guaragnella C,et a1.A visual
approach for driver inattention detection『C].Pattern
Recognition,2007,40(8):2341—2355.
[4]施树明,金立生,王荣本,等.基于机器视觉的驾驶员
嘴部状态检测方法[J].吉林大学学报,2004,34(2):
232—236.
[5]Kithil PW,Jones RD,Jone M.Development of dri;er
alertness detection systems using overhead capacitive
sensor array fC].SAE Technical Paper Seires,982292,