基于卷积神经网络的教室灯光识别算法研究
2022-09-14李守智
徐 微,李 彤,李守智
(1.西安交通大学城市学院,陕西 西安 710018;2.西安理工大学电气工程学院,陕西西安 710048)
高校用电节能是当前热点话题[1-2],随着高校扩招,校园人数增加,照明用电量逐年递增,目前对于照明用电的管理主要是人工控制[3-4],但教室数量多,同一个教室,不同时间,自习人数不固定,管理人员无法及时对教室的照明灯进行实时有效的控制,造成了巨大的电能浪费[5-6]。
要实现对教室照明灯准确控制,对教室灯光和人的定位是关键[7-8],该文采用图像处理算法结合卷积神经网络算法[9-10],进行教室照明灯和人数识别与定位,将人和照明灯位置发送给单片机,结合光照传感器,实现教室照明灯分区域控制。通过多次测试数据分析,发现该文算法不仅适用于教室,还适用于不同背景的图书馆、自习室,采用卷积神经网络能有效提高检测的适应性和准确性。
1 数据采集与处理
1.1 图像采集
测试对象为校园教室、自习室以及图书室,教室容纳人数为200 人,灯的数量为25 个;图书馆中一个小场馆容纳人数为36 人,灯的数量为8 个;自习室容纳人数为53 人,灯的数量为12 个。利用教室安装的摄像头进行数据采集。采集的图像尺寸为4 000×3 000,输出文件格式为JPG。采集数量为1 000张,以不同场景下的亮灯、灭灯以及人作为识别对象,随机选取700幅图像用于训练,其余300张图像用于测试。
1.2 图像预处理
将采集的图像导入PyCharm 软件中,为了减少算法运算量,先将图像压缩,转换成300×300 dpi 的尺寸,再使用rotate 将图像旋转90°、180°、270°,使用flip 函数对图像水平镜像,以进行数据增强,最后再进行滤波处理,数据增强如图1 所示。
图1 数据增强
2 模型建立
将采集的教室图像作为输入值,再将亮灯数、灭灯数和人数作为输出值,利用神经网络算法建立输入与输出之间的关联。
2.1 BP神经网络模型
BP 神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。学习过程是以网络误差的平方为目标函数,采用梯度下降法来计算目标函数的最小值[11]。
该文首先对每张预处理后的图像进行二值化处理,转化为一维的向量(x1,x2,x3)作为输入,采用平方误差代价函数,通过BP 神经模型分析图像中亮灯的数量、灭灯的数量、人数。假设有N个训练样本,误差函数[12]如式(1):
其中,y_pre是每个位置对应的预测值,而y表示每个位置的实际值,用式(2)和式(3)来求解出y_pre:
其中,x1表示第1 层的输出;ω1表示输入层到隐含层的权重;ω2表示隐含层到输出层的权重;b1表示输入层到隐含层的偏置项;b2表示隐含层到输出层的偏置项;f(x)表示激活函数,由于所预测的亮灯数量、人数等是大于0 的整数,经过采用多个激活函数进行多次实验,对比发现效果比较好的是Relu激活函数,因此该文采用Relu 激活函数,如式(4)所示[13]:
利用梯度下降算法进行反向传播,进而达到优化内部参数的作用,计算出误差函数E对参数偏置项和权重的偏导,使用式(5)和式(6)求取偏置项和权重变化值:
经过多次循环迭代优化内部参数后,得到一个较好模型,如图2 所示。
图2 BP神经网络模型
2.2 卷积神经网络模型
为了提高算法的识别效果,让模型预测结果更加准确,采用卷积神经网络模型。输入一张含有RGB 3 个颜色通道的图片,然后将亮灯数、灭灯数、人数作为要训练的变量,由此建立含两个卷积核为3×3 的卷积层和、两个池化核为2×2 的池化层、两个激活函数、两个全连接层以及一个SoftMax 输出层的CNN 网络模型,如图3 所示。
图3 CNN网络模型
卷积层使用“卷积核”进行局部感知得到一个值,通过不断移动卷积核和求卷积来完成对整个图像的卷积。二维卷积的输出如式(7)表示[14]:
图4 卷积结果
3 环境及结果分析
3.1 仿真环境及参数设置
仿真采用Intel(R)Core(TM)i5-8250u CPU,运行环境为8 GB 的Win10 64 bit 系统,编程环境为PyCharm Community Edition 2020.2.1 x64,编程语言为Python 3.7 64 bit。BP 神经网络和卷积神经网络图像参数分别如表1、表2 所示。
表1 BP神经网络参数设置
表2 卷积神经网络参数设置
3.2 实验结果分析
实验将700 张样本图像分批次进行训练,每批样本图像为100 张,采用BP 神经网络和卷积神经网络两种算法,选取0.001 的学习率对构建的BP 神经网络算法进行了3 000 次迭代,每经过100 次迭代,记录一次损失值,第2 900 次迭代后的模型损失值为0.365 568 72。选取0.001 的学习率对构建的卷积神经网络算法进行了150 次迭代,每经过1 次迭代,记录一次损失值,卷积神经网络模型第149 次迭代后的模型损失值为0.040 264 7。采用Matlab 拟合出了迭代过程中损失值的变化曲线,如图5所示。
图5 两种神经网络模型损失值随迭代次数变化曲线
从图5 可以直观地发现随着迭代次数的增加,损失值不断减少直至趋于平缓,说明训练好的网络模型具有较好的稳定性。随机抽取一批样本进行验证,发现BP神经网络算法的准确率为81.6%,卷积神经网络算法的准确率为96.5%左右,卷积神经网络算法大大提高了教室照明灯、人数的识别率,结果如图6所示。
图6 两种神经网络检测结果与实际值对比图
由于抽取的样本来自教室、图书馆、自习室,不同环境下样本复杂度不同,从检测结果发现在复杂场景下BP 神经网络模型识别准确率较低且用时过长,而卷积神经网络模型通过权重共享、局部感受野和降采样三种方式降低了模型的复杂性[17-18],且对尺度缩放、平移、旋转等形式具有不变性,可以快速有效地从大量图片样本中学习到相应特征,准确率高达到96.5%,较BP 神经网络模型提高了14.9%。
4 结论
为了对高校照明灯进行有效管理,该文提出了基于卷积神经网络的照明灯图像识别算法,对1 000张样本中的照明灯和人员进行数量和位置识别。经过多次仿真证明,采用卷积神经网络能够快速有效地从大量图片样本中学习到相应特征,对灯和人的识别准确率可达到96.5%。