基于神经网络的学生行为检测算法研究 下载: 850次
1 引言
随着神经网络和深度学习的快速发展,计算机视觉在不同领域都有了长足的进步。行为检测作为计算机视觉的重要领域,也出现了很多经典算法。文献[ 1]提出了时空双流网络结构(Two Stream Network)并进行了视频的行为检测,该网络使用两个相同的卷积神经网络(Convolutional Neural Network,CNN)来分别训练视频图像和光流,最后进行融合分类。文献[ 2]在原始双流网络的基础上,使用LSTM[3]方法进行空间流和时间流的融合,进一步提升了检测效果。为了解决双流网络对长视频检测效果差的问题,文献[ 4]提出了TSN网络,其主要思想是对长视频进行分段处理。基于双流网络的不同算法在数据集上的表现良好,但由于网络复杂,检测速度较慢。文献[ 5]使用3D卷积构建网络,提出了C3D结构并证明了其在时空特征提取上的有效性,该算法提升了检测速度但准确率较低。在具体的应用中,文献[ 6]通过结合灰度值与光流场的分布来提取运动区域,并进行了人群行为的异常检测,该方法抗干扰能力较强。Hu等[7]提出了基于语义的人体行为识别方法,该方法在室内人体行为识别上具有较大优势。Hu等[8]根据人体动作与预先建立的动作模型的相似度来进行人体动作识别。
尽管许多算法在数据集或其他场景中表现优异,但针对于教室场景下学生行为检测的算法却难以直接套用现有算法。其难点在于:1)针对教室场景下的学生行为检测,需要特定的数据集,且训练神经网络的数据集较大。2)深度学习的模型一般较大,应用时将面临模型承载设备(嵌入式开发板等)计算能力不足等问题。3)对学生在教室中的行为的判定存在一定的歧义,难以实现行为的分类。为了解决这些问题并设计出可以应用在教室场景下的算法,本文首先拍摄并制作了学生教室行为的数据集,包括教室情景下最常出现的五类行为。其次,本文基于目标检测和图像分类进行了行为检测,并加入了关键点检测和分类,提高了行为检测的准确率。利用改进的MTCNN[9]网络结构进行了人体框预测和关键点预测,通过图像和关键点联合分类对学生行为进行了识别。最后在Jetson TX2上构建了以本文算法为核心的行为检测系统,实现了算法和应用的对接。
2 原理和方法
2.1 网络架构
本文采用一种自上而下的行为检测的网络结构,即先用目标检测网络进行人体的定位检测,然后将检测到的人体图像和关键点送至分类网络并进行识别,最后输出行为检测结果。MTCNN网络包括P-Net,R-Net和O-Net三个网络,在人脸检测任务中有很好的表现,但在人体检测时却不够精准且无法进行图像的分类。因此,本文改进了MTCNN网络并通过图像分类网络和关键点分类网络对学生行为进行了联合分类。
本文对MTCNN网络的改进集中于O-Net模块,如
图像分类网络结构如
表 1. 图像分类网络结构
Table 1. Network structure for image classification
|
关键点分类网络是一个纯全连接网络,以改进的MTCNN网络输出的7个关键点坐标作为关键点分类网络的输入,中间有两个隐含层(神经元数分别为512和126),输出为五种行为类别的概率。关键点的选取主要以人体上半身关节为主,分别为双肩、双肘和双手六个关节,再加上额头共7个关键点。改进的MTCNN网络、图像分类网络及关键点分类网络组成了本文的核心网络,整体结构如
2.2 激活函数
激活函数是神经网络的重要组成部分,激活函数的选择和好坏影响着神经网络的效果。Swish[11]是Google提出的一种激活函数,有着不错的效果,在许多数据集上的表现都超过其他激活函数。Swish函数的曲线如
式中:x为激活函数的输入;rrelu6是指ReLUctant[13]函数输出大于6的部分全部取6。h-Swish函数的曲线如
式中:x≥0的部分沿用h-Swish的计算方法;x<0的部分使用三个函数组合。从
2.3 相对陡峭损失
利用损失函数来计算神经网络模型的预测值和准确值之间的差异幅度。坐标点损失函数的选择对人体检测网络预测人体框和关键点的准确率有着至关重要的影响。MTCNN网络使用平方欧氏距离(SEUCLID)作为坐标点的损失函数。
式中:l表示坐标点预测的损失;P表示神经网络对坐标点的预测值;T表示目标值。由于输入图像经过处理后,|P-T|的值总是小于1,而小于1的数的平方只会更小。为了扩大损失值以便于后期神经网络参数的优化,本文尝试|P-T|加上一个常数α。这个常数最终选择为α=1, 1是保证|P-T|+α>1的最小数,这使得在增大损失时不会出现梯度爆炸现象。最后,在平方项之后再减去1,使预测值和真实值相等时损失为0。
2.4 训练模型及在Jetson TX2上的实现
本文收集了课堂中普遍存在的五种行为,包括听讲、写字、站立(回答)、举手和睡觉在内的10000张图像,利用这些图像标注的行为框和人体上半身的7个关键点制作成数据集,并拍摄制作了教室场景的视频以用作检测。数据集如
图 5. 数据集示例。(a)(b)站立;(c)(d)举手;(e)(f)听讲;(g)(h)写字;(i)(j)睡觉;(k)(l)多人图像
Fig. 5. Dataset examples. (a)(b)Stand; (c)(d) hand up; (e)(f) listen; (g)(h) write; (i)(j) sleep; (k)(l) multiple students
使用
3 实验结果与分析
表 3. 各算法的准确率
Table 3. Accuracy of each algorithm unit: %
|
表 2. 不同网络结构在不同激活函数以及损失函数下的准确率
Table 2. Accuracies of different network structures under different activation functions and loss functions unit: %
|
表 4. 各算法在Jetson TX2上处理1 frame图像的平均时间
Table 4. Average time of each algorithm to process 1 frame image on Jetson TX2 unit: ms
|
在检测同一教室场景视频条件下,各算法在数据集上的准确率及在Jetson TX2上的准确率如
4 结论
提出了一种基于改进的MTCNN网络并结合图像和关键点联合分类的教室行为检测算法。在改进MTCNN网络的同时提出了新的激活函数和损失函数,且改进的措施均增加了模型的准确率。另外,在Jetson TX2上实现了完整的教室行为检测系统。综合实时检测的准确率和检测速度可以看出,所提出的算法相比YOLOv3和SSD等算法具有一定的优势。之后的研究重心将通过添加或选取更加有效的关键点来减少由遮挡带来的漏检等问题,同时将制作含有更多图片及学生行为类型的数据集,为后期训练更准确的学生行为检测模型提供支持。
[1] SimonyanK, Zisserman A. Two-stream convolutional networks for action recognition in videos[EB/OL]. ( 2014-11-12)[2019-12-21]. https:∥arxiv.org/abs/1406. 2199.
[2] Ng JoeYH, HausknechtM, VijayanarasimhanS, et al. Beyond short snippets: deep networks for video classification[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 4694- 4702.
[3] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[4] Wang LM, Xiong YJ, WangZ, et al. Temporal segment networks: towards good practices for deep action recognition[M] ∥ Leibe B, Matas J, Sebe N, et al. Computer Vision—— ECCV 2016. Lecture Notes in Computer Science. Cham: Springer, 2016, 9912: 20- 36.
[5] Tran D, Bourdev L, Fergus R, et al. Learning spatiotemporal features with 3D convolutional networks[J]. 2015 IEEE International Conference on Computer Vision (ICCV), 2015: 4489-4497.
[6] 周培培, 丁庆海, 罗海波, 等. 视频监控中的人群异常行为检测与定位[J]. 光学学报, 2018, 38(8): 0815007.
[7] Hu T, Zhu X, Guo W, et al. Human action recognition based on scene semantics[J]. Multimedia Tools and Applications, 2019, 78(20): 28515-28536.
[9] Zhang K P, Zhang Z P, Li Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.
[10] SzegedyC, VanhouckeV, IoffeS, et al. Rethinking the inception architecture for computer vision[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30,2016, Las Vegas, NV, USA. New York: IEEE, 2016: 2818- 2826.
[11] RamachandranP, ZophB, Le Q V. Swish: a self-gated activation function[EB/OL]. ( 2017-10-16)[2019-12-21]. https:∥arxiv.org/abs/1710.05941v1.
[12] HowardA, SandlerM, ChenB, et al. Searching for MobileNetV3[C]∥2019 IEEE/CVF International Conference on Computer Vision (ICCV), October 27-November 2, 2019, Seoul, Korea (South). New York: IEEE, 2019: 1314- 1324.
[13] GlorotX, BordesA, Bengio Y. Deep sparse rectifier neural networks[EB/OL].( 2010-01-17)[2019-12-21]. https:∥wenku.baidu.com/view/7822feb5770bf78a65295450.html.
[14] LiuW, AnguelovD, ErhanD, et al. SSD: single shot MultiBox detector[M] ∥ Leibe B, Matas J, Sebe N, et al. Computer Vision—— ECCV 2016. Lecture Notes in Computer Science. Cham: Springer, 2016, 9905: 21- 37.
[15] RedmonJ, Farhadi A. Yolov3: An incremental improvement[EB/OL]. ( 2018-04-08)[2019-12-21]. https:∥arxiv.org/abs/1804. 02767.
[16] SandlerM, HowardA, Zhu ML, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 4510- 4520.
[17] 陈立里, 张正道, 彭力. 基于改进SSD的实时检测方法[J]. 激光与光电子学进展, 2019, 56(1): 011002.
[18] CuiH, DahnounN. Real-time stereo vision implementation on Nvidia Jetson TX2[C]∥2019 8th Mediterranean Conference on Embedded Computing (MECO), June 10-14, 2019, Budva, Montenegro. New York: IEEE, 2019: 1- 5.
[19] JoseE, M G, Haridas M T P, et al. Face recognition based surveillance system using FaceNet and MTCNN on jetson TX2[C]∥2019 5th International Conference on Advanced Computing & Communication Systems (ICACCS), March 15-16 , 2019, Coimbatore, India. New York: IEEE, 2019: 608- 613.
[20] Giubilato R, Chiodini S, Pertile M, et al. An evaluation of ROS-compatible stereo visual SLAM methods on a nVidia Jetson TX2[J]. Measurement, 2019, 140: 161-170.
[21] 王祖武, 韩军, 孙晓斌, 等. 基于视觉导航的输电线杆塔方位确定方法[J]. 激光与光电子学进展, 2019, 56(8): 081006.
[22] HeK, ZhangX, RenS, et al. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification[C]∥ 2015 IEEE International Conference on Computer Vision, December 7-13 , 2015, Santiago, Chile. New York: IEEE , 2015: 15802053.
苏寒松, 刘腾腾, 刘高华, 田曦初. 基于神经网络的学生行为检测算法研究[J]. 激光与光电子学进展, 2020, 57(22): 221016. Hansong Su, Tengteng Liu, Gaohua Liu, Xichu Tian. Algorithm for Student Behavior Detection Based on Neural Network[J]. Laser & Optoelectronics Progress, 2020, 57(22): 221016.