一种教室节能照明系统的人员识别算法

2011-06-25 09:39黄斌全
电视技术 2011年15期
关键词:算子灰度边缘

聂 雄,黄斌全,陈 华

(1.广西大学 计算机与电子信息学院,广西 南宁 530004;2.广西广播电视学校,广西 南宁 530031)

0 引言

节能减排是全球各国应对地球气候变化的有效措施之一,推广高效节电照明系统是国家“十一五”规划十大节能重点工程之一。然而由于缺乏有效管理,许多高校的教室在白天室内照度很高的情况下,仍然普遍开灯作业;晚间即使室内无人或人数很少的情况下,室内照明灯也全部开启,经常存在人走不熄灯的现象,从而造成用电资源的严重浪费。近年来有不少基于单片机、光电传感器和定时器等来实现照明控制的方法[1-4],均存在无法根据实际人员分布情况进行照明缺点。笔者提出一种基于DSP的教室照明节能控制系统,该系统采用图像处理方法和技术对教室人员及其所处位置进行识别和分析,根据情况对室内照明进行自动控制。图像处理过程的实现采用TMS320DM642高速DSP芯片进行图像处理和分析,然后对教室照明系统进行相应控制。

1 教室节能照明系统的人员识别算法

室内人员识别是教室照明节能控制系统中的关键技术。只有获得准确的人员分布信息,才能正确地控制室内的照明灯光。教室内人员位置识别算法的基本流程如图1所示,其过程可分为4个主要步骤:1)通过摄像头采集教室内图像;2)对图像进行灰度化、二值化和中值滤波;3)对图像进行边缘检测处理;4)采用边界跟踪的相应算法判断人员的所在位置。经过以上步骤,就可以获得教室内人员分布的基本情况,从而能够准确地控制室内相应位置的照明,实现节能。

1.1 图像的灰度化

从安装在教室内摄像头采集到的图像一般是彩色图像。彩色图像中每一像素的颜色由红(R)、绿(G)、蓝(B)3个分量组成,用3 byte表示。灰度图像中每个像素只有1个的亮度值(Y),每个像素用1 byte表示。彩色图像和灰度图像的转换可以通过亮度方程来实现

图2a为处理前的彩色图像,图2b为处理后的灰度图像。灰度化后的图像保持了原彩色图像中人员主要特征和位置信息,但大大节省了存储空间,减少后续数字图像处理的数据量,从而提高人员识别算法的效率。

1.2 图像的二值化

从教室摄像头采集得到的图像里所含的信息非常丰富,一部分信息在很大程度上干扰了系统对人物的识别[5-6],为了降低这种干扰,把256级灰度图像转化成二值图像。二值化具体操作步骤如下:给整幅图像选定一个合适的二值化阈值T,把小于该阈值的像素灰度赋值为0(黑色),把大于或等于该阈值的像素灰度赋值为255(白色)。

将图2b的灰度图像进行二值化处理,得到图3。比较图2b和图3,可以看到,由于人的头部亮度较小,一般低于阈值T,经过二值化处理后,变成了黑色,这将作为有用信息成为后续处理的基础,一部分无用信息被过滤掉了。

1.3 图像的平滑滤波

实际获取的图像在形成、传输、接收和处理的过程中,不可避免地存在外部干扰和内部干扰,如光电转换过程中的敏感元件灵敏度的不均匀性、数字化过程的量化噪声、传输过程中的误差及人为因素等,均会存在一定程度的噪声干扰[7-8]。通常通过对图像的平滑滤波可以消除图像噪声,从而改善图像质量,便于提取对象特征。

中值滤波器是一种非线性平滑滤波器,它也是一种邻域运算,把模板内的所有像素按灰度值进行排序,然后取该组数据的中间值作为模板中心像素点的新灰度值。数学表示是:一组数x1,…,xn,假设其排序为x1≤x2≤…≤xn。则这组数的中值Y表示为

把一个点的特定长度或形状的邻域称为窗口。常用的中值滤波窗口形状有线形、方形、圆形、十字形以及圆环形等,窗口尺寸一般先取3,再取5,逐点增大,直到滤波效果满意为止。就处理效果而言,对于有缓慢变化的、较长的轮廓线物体的图像,采用方形或圆形的窗口为宜;对于包含有尖顶角物体的图像,适宜用十字形窗口,而窗口大小则以不超过图像中最小有效物的尺寸为宜。

本系统中采用中值滤波器对图像进行去噪。

1.4 二值图像的腐蚀

腐蚀是一种最基本的数学形态学运算。二值图像的腐蚀运算是消除图像边界点的一种过程,其结果使剩下的图像沿其周边比原来图像小若干个像素。如果图像在某处的像素很少,那么在腐蚀运算后,图像将会在该处变为非连通,即变成2个区域,而像素足够少的图像可能被删除,达到了去除噪声的目的[9]。

腐蚀运算的数学表达为

式中:S表示腐蚀后的二值图像集合;B表示用来进行腐蚀的结构元素,结构元素内的每个元素取值为0或255,它可以组成任何一种形状的图形,在B图像中有一个中心点;X表示原图像经过二值化后的像素集合。

通过图4来进一步说明腐蚀的原理。

图4表示了用结构元素B(如图4b所示)对目标图像X(如图4a所示)进行腐蚀运算并得到运算结果(如图4c所示)的过程。图4a中白色的部分代表背景,灰色的部分代表目标图像X。图4b中黑色的方格代表结构元素的中心点,灰色的方格代表邻域。图4c中黑色的部分表示腐蚀后的结果,灰色的部分表示目标图像被腐蚀掉的部分。在腐蚀处理过程中,将结构元素在图像中移动,如果结构元素完全包含在目标图像X中,则保留目标图像中对应于中心点的像素点,否则删除该像素点。

在本系统中,对二值图像进行了腐蚀,选用的结构元素如图5所示。

结构元素的中心位于它的

几何中心,将该结构元素在被腐蚀图像中漫游,若结构元素完全包含在被腐蚀图像的有用信息中时,保留该像素点,否则删除该像素点,即置为背景。

实验表明,只需进行1次腐蚀运算,原图像中绝大部分的有用区域都只向内收缩了1个像素点。

1.5 图像边缘检测

边缘是由相邻域灰度级不同像素点构成的,如图6a的图像数据所示,不难发现图像左边暗,右边亮,中间存在着一条明显的边界,若想检测出此边界,可采用差分运算来实现对图像的求导[5,10-12]。做法是当前列的新灰度值等于相邻的右边一列灰度值与当前列的差值,得到如图6b所示的运算结果。

图6 边缘检测原理

可以看到,运算结果中第3列比其他列的灰度值高很多,人眼观察时,就能发现一条很明显的亮边,即边界,这种方法实现了垂直边缘检测。其他方向上的边缘检测原理类似,只是求差的方向不一样。

边缘提取首先检出图像局部特性的不连续性,再将这些不连续的边缘像素连成完备的边界。边缘的特性是沿边缘走向的像素变化平缓,而垂直与边缘方向的像素变化剧烈。所以从这个意义上说,提取边缘的算法就是检出符合边缘特性的边缘像素的数学算子。

边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,通常也包括方向的确定。有若干种方法可以使用,其中大多数是基于方向导数模板求卷积的方法。边缘模板用于沿着不同的方向检测边缘的4个模板。图7给出了大小为3×3的边缘模板,能在0°,45°,90°,135°这4个方向上检测边缘。

图7 不同方向边缘检测模板

实现边缘检测有很多现成的边缘检测算子可以使用,如Robert算子、Sobel算子、Prewitt算子、Krisch算子、Laplacian算子等。在实际中使用Robert算子进行边缘检测时发现,某些方向上的边缘不能检测出来,出现了边缘断开的现象,导致后续的边界跟踪出现问题。

如图8所示,采用Sobel算子进行边缘检测时发现,可以解决边缘断开的现象,但是得到的边缘像素宽度至少为2个像素,不仅是加大了接下来将进行的边界跟踪的计算量,而且实际进行边界跟踪的处理效果并不好。另外,使用这一类的边缘检测算子需要计算不同方向上的模板卷积,计算量都比较大,所以在本系统中没有采用上述的边缘检测算子[5]。

图8 用Sobel算子进行边缘检测

在本系统中,采用形态学的方法进行边界提取[13],它的基本思想是:先用一定的结构元素对目标图像进行形态学运算,也就是第1.4节提到的腐蚀运算,再用原图像减去经过腐蚀的图像,最后得到物体的外边界图像。

在实践中发现,采用图6所示的全方向腐蚀结构元素进行腐蚀运算,处理后的物体绝大部分只向内收缩了1个像素。所以进行图像的减运算后,得到的物体边界几乎都是1个像素点,而且得到的边界也大都是连续的,几乎没有出现断开的现象,这为下一步进行边界跟踪打下了一个很好的基础。实际处理效果如图9所示。

1.6 图像边界跟踪

物体往往都有其特定的边界,在模式识别中,常利用物体的边界来判断当前物体的类别。进行边界跟踪可以获取物体的边界,这一步骤也成为了本系统中最重要也是最关键的部分。

由于数字图像采用了矩形网络进行采样,进行边界跟踪时,简单地看,当前像素有4个相邻的像素,但是如果加上其斜方向上的像素,当前像素则有8个相邻的像素。为了便于表示一个像素的邻域,使用不同数字代表当前像素的8个邻域像素的位置,如图10所示,当前像素位于中心,8个邻域像素分别取值0~7,按逆时针递减,相应的像素直角坐标如图11所示。

由于本系统要处理的对象是普通教室中的物体,人在里面有着与众不同的特点,比如说从后面的视角往前看,人的头部是比较圆的物体,而其他的物体,比如座子、椅子,它们的外形都是方形的,利用这一特点就可以把人识别出来。

图10 像素的邻域之间的关系示意图

图11 像素的直角坐标关系

本系统检测人的方法是:

1)首先对经过二值化处理后的图像按照从左至右,从上至下的顺序进行扫描,当遇到物体时,记录当前点Po的坐标。按照此视角得到的图像进行分析,如果扫描到的像素正好是人的头部的一部分,那么它就是人的头部的正上顶点。把Po点当作边界跟踪的起始点。

2)向右进行跟踪。从Po点开始按1,0,7,6,5的方向顺序寻找是否存在物体。如果有,则存储该点的坐标,作为新的跟踪当前点,按照相同的规则继续寻找下去,在一定数量的跟踪次数限制内,直到当前点在Y方向上的坐标比Po点增加一定的数量K(由图片的尺寸确定),结束跟踪。如果该条件不满足,或者当前点找不到下一点目标点,可以判断跟踪过的物体不是人,置为背景,重新回到1)寻找新的起始点。

3)向左进行跟踪。与2)的跟踪方法类似,只是跟踪方向变为3,4,5,6,7,这里不再赘述。如果判断这个方向上的物体不是人,将左右方向跟踪过的物体置为背景,重新回到1)寻找新的起始点。

4)在前面的条件都满足的基础下,可以简单判断跟踪过的物体是人。如果要提高判断的准确度,可以增加一些规则,如面积要满足一定大小,或者左右跟踪的最后2点X方向上的坐标之差大于一定值,或者已跟踪物体的面积与外接矩形面积之比满足一定的限制条件等。

5)当把跟踪过的物体判断为人后,因为已知跟踪起始点的坐标,也就明确了人在图像中的位置,即在教室中的位置。重新回到1)寻找新的起始点,直至跟踪完整幅图像。

实验发现,在没有使用4)的情况下,边界跟踪效果不是很好,往往会将图12以及类似的边界误判为人的头部,从而产生错误判别结果。

但在4)中使用了一些规则后,提高了系统判断的准确性。本系统采用的规则是分别统计跟踪过的物体面积和它本身的外接矩形的面积,计算它们的面积比,要求这个面积比的值满足一定的条件[14-15]。

图13显示了本系统的判别结果,以深颜色表示系统对人员头部正确跟踪的轨迹。实验结果表明,系统准确地判断了教室里人员的所在位置。

2 系统硬件结构

为简化系统结构和节约成本,上述的人员识别算法通过高性能的DPS处理器TMS320DM642所构成的硬件系统来实现。整个系统由摄像头、DSP系统板图、STC单片机和照明控制接口等部分构成,如图14所示。其基本工作原理为:摄像头采集到教室人员分布图像,经DSP处理器进行一系列处理后,得出室内人员分布信息送单片机,由单片机系统对照明灯光进行相应控制。

3 小结

本系统能比较好地检测出教室内人员的所在位置,在室内有人时根据其所坐位置自动开启对应位置的照明灯,无人时灯自动熄灭的自动控制,达到明显的节能效果。

[1]戴天,丁月华,文贵华.计算机智能照明系统的设计[J].电气应用,2005,24(2):57-59.

[2]李俊,郭玉成.学校公共照明系统节能优化设计研究[J].华北科技学院学报,2009(3):53-55.

[3]汤一平,李雯.基于动态图像理解的空调节能研究[J].工业控制计算机,2007,20(1):39-42.

[4]陈岁生,卢建刚.基于智能检测技术的室内照明系统[J].机电工程技术,2008,37(5):53-55.

[5]李俊山,李旭辉.数字图像处理[M].北京:清华大学出版社,2007.

[6]王林吉,王兆青.基于图像二值化处理的混纺图像杂色去除方法的研究[J].浙江理工大学学报,2010,27(1):46-49.

[7]李艳玲,黄春艳,赵娟.基于灰色关联度的图像自适应中值滤波算法[J].计算机仿真,2010,27(1):238-275.

[8]王宇新,贺圆圆,郭禾,等.FPGA的快速中值滤波算法[J].计算机应用研究,2009,26(1):224-226.

[9]张利平,张红英,吴斌.基于多种边缘检测的视频划痕检测技术[J].电视技术,2010,34(1):85-87.

[10]姚宗国,田芳,李金屏.基于图像处理和虚拟位置设定的智能教室管理系统研究[J].信息技术与信息化,2008(5):68-70.

[11]SONKA M,HLAVCA V,BOYLE R.Image processing,analysis and machine vision[M].2nd ed.Beijing:Post&Telecom Press,2003.

[12]沈勇武,章专.基于特征颜色边缘检测的车牌定位方法[J].仪器仪表学报,2008(12):2673-2677.

[13]周春霞,魏敏,唐正宁.基于数学形态学的印刷网点图像分割方法[J].包装工程,2007(6):14-15.

[14]葛伟华,陈优广.基于边界跟踪的区域面积计算[J].计算机应用与软件,2008(6):239-241.

[15]安宁,林树忠,刘海华,等.图像处理方法研究及其应用[J].仪器仪表学报,2006,27(6):792-793.

猜你喜欢
算子灰度边缘
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
采用改进导重法的拓扑结构灰度单元过滤技术
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于灰度线性建模的亚像素图像抖动量计算
全彩LED驱动芯片的S-PWM优化
在边缘寻找自我