2024年3月28日发(作者:巢含芙)
ISSN1009-3044
Computer
Knowledge
Knowledge
and
and
Technology
Technology
电脑知识
电脑知识
与技术
与技术
Computer
Vol.16,No.34,
December.
2020
E-mail:*************.cn
第16卷第34期(2020年12月)
http://
Tel:+86-551-6569
基于SSD算法的课堂行为检测研究
赵君,龚炳江
(河北工程大学信息与电气工程学院,河北邯郸056038)
摘要:课堂行为是评估学生成绩和授课质量的重要参考因素。目前关于课堂行为的研究多是通过人工问卷或直接观察,
准确率低且费时费力。提出使用SSD深度学习算法进行学生课堂行为识别。搜集学生上课视频和图片,经过数据预处理
和数据增强操作后构成数据集。训练SSD网络模型以识别学生坐着,举手,看手机,睡觉,写作等行为。最后比较SSD、
VGG16、RestNet18三个网络在行为检测方面的准确率,得出SSD模型比较出色。
关键词:行为识别;SSD;深度学习;目标检测;图像处理
中图分类号:TP391文献标识码:A
开放科学(资源服务)标识码(OSID):
文章编号:1009-3044(2020)34-0212-03
ClassroomBehaviorDetectionBasedonSSDAlgorithm
ZHAOJun,GONGBing-jiang
(SchoolofInformationandElectricalEngineering,HebeiUniversityofEngineering,Handan056038,China)
Abstract:Classroombehaviorisanimportantreferencefactorforevaluatingstudents'rent
researchonclassroombehaviorsmostlythroughmanualquestionnairesordirectobservation,theaccuracyislowandtime-consum⁃
eplearningalgorithmisproposedtoidentifystudents'tstudents'videoandgothroughda⁃
ningtheSSDnetworkmodel,itispossibletorecognizethebehaviorsofstudentssitting,
raisingtheirhands,watchingmobilephones,sleeping,whispering,y,theaccuracyofthethreenetworksSSD,VGG16,
andRestNet18inbehaviordetectioniscompared,andtheSSDmodelisrelativelygood.
Keywords:Behaviorrecognition;SSD;deeplearning;Targetdetection;Imageprocessing
1引言
近年来,深度学习快速发展并被应用到各个领域。随着国
家提出“利用智能技术加快推动人才培养模式、教学方法改革,
[1]
构建包含智能学习、交互式学习的新型教育体系”,实现智能
化教学是未来的发展趋势。学生作为课堂的主体,其行为是对
课堂氛围、学习效果和授课情况等进行分析的主要依据。目
前,关于使用深度学习进行学生课堂行为识别研究的论文不
多。魏艳涛
[1]
等人通过训练VGG16模型,实现了对中学生睡
觉、写字等行为的识别。提供了将深度学习用于行为识别的方
法,不过准确率还不够。左国才
[2]
等人通过基于深度学习的人
脸识别模型,采用检测眼睛和鼻子的方法来判断学生上课专注
度。该研究方法对于学生状态判断比较细致,但是由于课堂中
人脸容易被遮挡,因此此方法在实际应用中实施较为困难。尚
[3]
伟艺则通过Openpose骨骼检测的方式进行学生课堂行为识
别。该方法对人体动作检测有很好的效果,不过教室中人员分
布比较密集,容易出现两个人之间骨骼关键点错位的现象,进
而容易造成识别错误。
目标检测方法分为传统的和基于深度学习的,两者差别主
要为是否可以自动完成特征提取,因此后者准确率提升了很
多。应用较多的目标检测方法有FasterR-CNN、YOLO和SSD。
本文采用的SSD算法在小目标检测上略高于YOLO算法,和
FasterR-CNN相差不多;在检测速度上高于FasterR-CNN,几乎
和YOLO相同。综合考虑,本文使用SSD目标检测算法展开研
究,为学生课堂行为检测提供了新的思路。
2SSD算法
2.1SSD网络结构
SSD网络结构包括可以分类图片的基础网络和辅助网络
两部分,是由Liu
[4]
等人于2016年提出的一种基于回归的目标
检测算法。本文中基础网络采用修改过的VGG16模型,将其
最后的两个全连接层fc6和fc7分别改为3x3和1x1的卷积层,
命名为Conv6和Conv7,然后删除最后的全连接层fc8并添加四
个卷积层
[5]
。如图1所示。
收稿日期:2020-06-25
作者简介:赵君(1996—),女,河北石家庄人,工程硕士,研究方向为深度学习和图像识别;龚炳江,教授,工程硕士。
212
计算机工程应用技术
本栏目责任编辑:梁书
第16卷第34期(2020年12月)
图1SSD网络结构图
2.2SSD算法原理
Conv4_3
1)使用多种尺度的特征图进行检测:
个特征图进行预测,
、Conv7、Conv8_2、Conv9_2、Conv10_2
从整个网络中选择
、Conv11_26这几
方和长方形两种形状,
2)每个特征图有其特定数量和大小的先验框:
并且前面的尺寸大于后面的尺寸。
不同形状计算公式不同。具体计算过程
先验框有正
如下。
m
层,
①
同时假设
首先计算
S
SSD的缩放比:将当前用来检测的特诊图设为
k
为
k
个先验框和真实框相比。
第一层计算缩放比的公式为:
其他层计算缩放比的公式为:
S
k
=S
min
2
(1)
S
k
=S
min
+
S
max
-S
min
(k-1),k∈[1,m
通常情况下取
S
验框的值为最小时;
min
=0.2
m-
S
1
]
(2)
max
=0.9
,
②
后者则表示值为最大时。
、前者代表真实框比先
通过缩放比与原始图像尺寸进行计算得到中间小正方形
计算两个正方形的大小
的大小。此时的S
寸,则令S
k
不再是缩放比,而是代表中间小正方形尺
则外面大正方形的大小计算公式为:
k+1
为后面那一层先验框的尺寸。
③
S
k
'
=S
k
S
k+1
(3)
首先给出五种宽高比,
计算两个长方形的大小
然后根据宽高比计算长方形的
宽高。
宽高比为:
α
r
∈{1,2,3,
1
,
1
}
(4)
宽高的计算公式为:
23
w
α
k
在上面公式中可以发现,
=S
k
α
r
对于不同层的特征图都有其特有
,h
α
k
=S
k
α
r
(5)
的先验框尺寸,就算是在同一个特征图中每个栅格的长方形大
小也不同,
3
SSD
)损失函数
所以可以高效检测大小形状不一的图像。
损失函数等于定位损失(
L
loc
)和置信度损失(
L
conf
)的加
权和,其中
c
表示置信度、
l
表示预测框、
g
表示真实框、
n
表示匹
配到的默认框数量、
α
表示两者的权重
[6]
。
损失函数公式为:
L(x,c,l,g)=
N
1
(L
conf
(x,c)+αL
loc
(x,l,g))
(6)
定位损失和置信度损失的公式如下:其中
P
代表类别序
号,
P=0
时表示背景;
X
ij
目标,此时先验框有可以相配的真实框;
={0,1}
取1时表示检测到类别为
C
p
P
的
i
表示预测为
P
这一
类别的概率。
本栏目责任编辑:梁书
ComputerKnowledgeandTechnology
电脑知识
与技术
定位损失函数公式为:
L
loc
(x,l,g)=
∑
N
x
k
ij
smooth
L1
i∈Posm∈{
∑
(l
m
i
cx,xy,w,h}
-g
m
j
)
(7)
置信度损失函数公式为:
L
conf
(x,c)=
i
∑
N
x
P
ij
∈Pos
log(c
P
i
)-
i
i
∑
∈Neg
log(c
0
)
(8)
3模型训练
3.1制作数据集
1
模型训练之前需要大量数据,
)数据采集
目前还没有专门用于学生课
堂行为识别的数据集,因此本文使用的数据集都是来源教室监
控录像和网络图片。视频图像需要经过处理才能作为数据集,
从其中选取包含举手、端坐、睡觉、写字、玩手机这几个动作出
现比较多视频段。然后,使用OpenCV对选取的视频进行帧采
样,分别选出包含以上五个动作的图片进行保存。为了保证训
练的速度,尽量保证图片的大小为200k左,如果图片太大会导
致训练比较慢。部分图形数据如下所示。
2
图2部分图形数据(举手、看手机、睡觉、听课、写字)
数据预处理在深度学习算法中是非常重要的一部分,
)数据预处理
本文
使用的预处理方法有:①随机裁剪,由于SSD涉及了目标框标
注问题,因此在随机裁剪后需要修改相应的目标框信息。②在
训练时对图像随机添加噪声。
本文能收集的图像数据不多,但是模型训练的精度需要大
量数据作为支撑,因此本文使用数据增强的方法来增加数据
量。主要包括对图像进行水平、左右和随机方向翻转,水平方
向和竖直方向的平移,以及随机改变图像颜色
[7]
。经过数据增
强后,本文数据集共2500张图片。以举手这一动作为例,给出
部分数据增强后的图片,如下图所示分别为左右翻转、随机翻
转和竖直平移后的图片。
3
图3部分数据增强图片
本文使用目前常用的
)标签标注
LabelImg图片标注工具。标注完成
后图像的一些基本信息,包括存储位置、大小、类别名称都保存
在xml文件中。
3.2训练SSD网络模型
1)模型训练环境
表1模型训练环境
操作系统
Windows10pro64-bit
硬件环境
IntelCorei5-5200U处理器;GeForce820M显卡
编程语言
python
软件工具
Keras
Anaconda
深度学习框架;
搭载平台;OpenCV计算机视觉库
计算机工程应用技术
213
ComputerKnowledgeandTechnology
电脑知识
与技术
2
①
)模型训练过程中用到的参数
训练集、测试集:网络训练用训练集,
几个
②batchsize:把所有数据划分为多个小部分,
测试时用测试集。
几个部分就有
③
batchsize
④
训练次数
,其大小直接影响模型的性能;
(
3
设置好模型参数后,
)
学习率
SSD模型训练过程
(lr)
epoch
:表示损失函数中梯度下降的步长。
):把所有数据训练完一遍;
将训练集放入SSD网络进行训练,该
过程主要是找到和图片中提前标注好的目标框相配的先验框。
先验框有可能找不到相配的目标框,也就是其范围内没有要识
别的目标,将这一类先验框定位负样本,如果有的话则为正样
本。如果正负样本数量相差很多,会造成损失函数值非常大。
因此本文人为减少负样本数量,即在训练中去除一部分负样
本,使正负的比约为1:3。
每完成一次训练就会生成一个模型,选择损失函数最低、
准确率高的作为本次实验的最终模型,并对其进行测试和优
化,直到达到预期效果。为了更加直观的了解训练过程,将得
到的数据放到TensorBoard工具中,然后调用相关函数方法就
可以看到准确率等值的变化过程。
4实验结果分析
为了达到比较好的识别效果,本文分别设置不同的模型参
数进行试验,然后通过对比选择最优参数。研究的参数主要有
三个,训练集和测试集之比、batchsize大小、以及epoch的取值。
将训练集与测试集的比值作为研究对象,分析其值对结果
的影响。首先将学习率设置为0.0001、batchsize设置为8,分别
选择三组不同的比值,得到的结果见表2。可以看出如果想得
到比较高的识别效果,应该加大训练集的量。
表2不同的训练集和测试集比
训练集:测试集
4:68:29:1
准确率
0.81630.89070.9325
在上面实验的基础上,对batchsize取值展开研究。同样分
别设置三个不同的取值,实验结果如表3所示。batchsize取值
同时影响准确率和速度,太小会影响速度,太大则准确率不能
保证,综合考虑本文选择batchsize为8。
表3不同的batchsize取值
batchsize
值4
准确率
0.94070.9280
8
0.8954
12
速度(
f/s
)
0.380.460.49
分别设置三个不同的epoch值,实验结果如表4所示。当
epoch为100时,损失函数值和准确率基本趋于稳定。所以在保
证准确率的同时,为了节省训练时间,本文选择epoch为100。
表4不同的epoch取值
epoch
值
准确率
0.8759
50
0.9401
100
0.9415
150
损失函数值
3.120.960.91
同时为了验证算法的有效性,本文在相同迭代次数和ep⁃
och值的情况下,分别选取SSD网络、VGG16网络和ResNet18网
络的10次实验结果的平均准确率和速度进行对比。如表5所
示,在训练相同次数的情况下,SSD模型的准确率高于VGG16
214
计算机工程应用技术
第16卷第34期(2020年12月)
和Resnet网络模型。
表5三个网络的准确率和速度
模型名称
epoch
值
迭代次数平均准确率
SSD100300000.9431
VGG.9131
Resnet.8746
通过对不同参数的研究,得出当选取2250张图像作为测
试集、250张为训练集,设置学习率为0.0001、batchsize为8时得
到的识别准确率比较高。经过30000次迭代后,得到每个行为
准确率如表6所示。其中端坐、举手、睡觉准确率比较高,分别
为0.9635、0.9705、0.9531。而写字为0.8946、看手机0.8667,效
果没有前面三个好。造成的原因有:一方面,看手机和写字这
些动作容易受到遮挡不容易识别;另一方面,玩手机和写字两
个动作比较细微,造成所采集的部分数据集中手机和笔不清
楚,这样就造成关于这两个动作的数据集减少,进而导致训练
时不能提取足够的特征。
表6每个动作识别准确率
行为动作端坐举手睡觉写字看手机
准确率
0.96350.97050.95310.89460.8667
5结论
本文分析了目前常用的几种行为检测方法优劣,提出基于
深度学习的SSD算法。该算法的模型训练从输入到输出都是
自动完成的,包括寻找图像特征。另外SSD算法在完成动作识
别的同时还可以定位目标,为针对特定一个的学生进行分析奠
定了基础。实验结果表明该方法在学生行为分析方面可以取
得不错的效果,
97.05%
例如对举手这一动作识别准确率可以达到
有轻微误差和教室环境比较复杂,
。但是由于采集的数据集数量不够庞大、
关于写字和看手机这些比较
前期图像标注
小的动作识别准确率还有待提高。针对这些问题,在后续工作
中将继续探讨和研究。
参考文献:
[1]魏艳涛
[2]
别
左国才
[J].现代教育技术
,秦道影,胡佳敏,等.基于深度学习的学生课堂行为识
堂行为分析评测系统研究
,韩东初,苏秀芝
,2019,29(7):87-91.
,等.基于深度学习人脸识别技术的课
[J].
[3]
135-137,141.
智能计算机与应用,2019,9(5):
尚伟艺.基于视频图像的课堂点名及听课状态检测[D].大连:
[4]
大连交通大学
Liu
,2018.
tector[M]//Computer
W,AnguelovD,Erhan
Vision
D,et
–
:single
:
shotMultiBox
Springer
de⁃
In⁃
[5]
ternationalPublishing,2016:21-37.
彭昕昀,李嘉乐,李婉,等.基于SSD算法的垃圾识别分类研究
[6]
[J].
胡梦龙
韶关学院学报
[7]
现代信息科技
,施雨.基于
,2019,40(6):15-20.
man_world.
,2020(3):5-9.
SSD方法的小目标物体检测算法研究[J].
06-02]./mzpmzk/article/details/80039481.
数据增强及预处理[EB/OL].(2018-04-22)[2020-
【通联编辑:唐一东】
本栏目责任编辑:梁书
2024年3月28日发(作者:巢含芙)
ISSN1009-3044
Computer
Knowledge
Knowledge
and
and
Technology
Technology
电脑知识
电脑知识
与技术
与技术
Computer
Vol.16,No.34,
December.
2020
E-mail:*************.cn
第16卷第34期(2020年12月)
http://
Tel:+86-551-6569
基于SSD算法的课堂行为检测研究
赵君,龚炳江
(河北工程大学信息与电气工程学院,河北邯郸056038)
摘要:课堂行为是评估学生成绩和授课质量的重要参考因素。目前关于课堂行为的研究多是通过人工问卷或直接观察,
准确率低且费时费力。提出使用SSD深度学习算法进行学生课堂行为识别。搜集学生上课视频和图片,经过数据预处理
和数据增强操作后构成数据集。训练SSD网络模型以识别学生坐着,举手,看手机,睡觉,写作等行为。最后比较SSD、
VGG16、RestNet18三个网络在行为检测方面的准确率,得出SSD模型比较出色。
关键词:行为识别;SSD;深度学习;目标检测;图像处理
中图分类号:TP391文献标识码:A
开放科学(资源服务)标识码(OSID):
文章编号:1009-3044(2020)34-0212-03
ClassroomBehaviorDetectionBasedonSSDAlgorithm
ZHAOJun,GONGBing-jiang
(SchoolofInformationandElectricalEngineering,HebeiUniversityofEngineering,Handan056038,China)
Abstract:Classroombehaviorisanimportantreferencefactorforevaluatingstudents'rent
researchonclassroombehaviorsmostlythroughmanualquestionnairesordirectobservation,theaccuracyislowandtime-consum⁃
eplearningalgorithmisproposedtoidentifystudents'tstudents'videoandgothroughda⁃
ningtheSSDnetworkmodel,itispossibletorecognizethebehaviorsofstudentssitting,
raisingtheirhands,watchingmobilephones,sleeping,whispering,y,theaccuracyofthethreenetworksSSD,VGG16,
andRestNet18inbehaviordetectioniscompared,andtheSSDmodelisrelativelygood.
Keywords:Behaviorrecognition;SSD;deeplearning;Targetdetection;Imageprocessing
1引言
近年来,深度学习快速发展并被应用到各个领域。随着国
家提出“利用智能技术加快推动人才培养模式、教学方法改革,
[1]
构建包含智能学习、交互式学习的新型教育体系”,实现智能
化教学是未来的发展趋势。学生作为课堂的主体,其行为是对
课堂氛围、学习效果和授课情况等进行分析的主要依据。目
前,关于使用深度学习进行学生课堂行为识别研究的论文不
多。魏艳涛
[1]
等人通过训练VGG16模型,实现了对中学生睡
觉、写字等行为的识别。提供了将深度学习用于行为识别的方
法,不过准确率还不够。左国才
[2]
等人通过基于深度学习的人
脸识别模型,采用检测眼睛和鼻子的方法来判断学生上课专注
度。该研究方法对于学生状态判断比较细致,但是由于课堂中
人脸容易被遮挡,因此此方法在实际应用中实施较为困难。尚
[3]
伟艺则通过Openpose骨骼检测的方式进行学生课堂行为识
别。该方法对人体动作检测有很好的效果,不过教室中人员分
布比较密集,容易出现两个人之间骨骼关键点错位的现象,进
而容易造成识别错误。
目标检测方法分为传统的和基于深度学习的,两者差别主
要为是否可以自动完成特征提取,因此后者准确率提升了很
多。应用较多的目标检测方法有FasterR-CNN、YOLO和SSD。
本文采用的SSD算法在小目标检测上略高于YOLO算法,和
FasterR-CNN相差不多;在检测速度上高于FasterR-CNN,几乎
和YOLO相同。综合考虑,本文使用SSD目标检测算法展开研
究,为学生课堂行为检测提供了新的思路。
2SSD算法
2.1SSD网络结构
SSD网络结构包括可以分类图片的基础网络和辅助网络
两部分,是由Liu
[4]
等人于2016年提出的一种基于回归的目标
检测算法。本文中基础网络采用修改过的VGG16模型,将其
最后的两个全连接层fc6和fc7分别改为3x3和1x1的卷积层,
命名为Conv6和Conv7,然后删除最后的全连接层fc8并添加四
个卷积层
[5]
。如图1所示。
收稿日期:2020-06-25
作者简介:赵君(1996—),女,河北石家庄人,工程硕士,研究方向为深度学习和图像识别;龚炳江,教授,工程硕士。
212
计算机工程应用技术
本栏目责任编辑:梁书
第16卷第34期(2020年12月)
图1SSD网络结构图
2.2SSD算法原理
Conv4_3
1)使用多种尺度的特征图进行检测:
个特征图进行预测,
、Conv7、Conv8_2、Conv9_2、Conv10_2
从整个网络中选择
、Conv11_26这几
方和长方形两种形状,
2)每个特征图有其特定数量和大小的先验框:
并且前面的尺寸大于后面的尺寸。
不同形状计算公式不同。具体计算过程
先验框有正
如下。
m
层,
①
同时假设
首先计算
S
SSD的缩放比:将当前用来检测的特诊图设为
k
为
k
个先验框和真实框相比。
第一层计算缩放比的公式为:
其他层计算缩放比的公式为:
S
k
=S
min
2
(1)
S
k
=S
min
+
S
max
-S
min
(k-1),k∈[1,m
通常情况下取
S
验框的值为最小时;
min
=0.2
m-
S
1
]
(2)
max
=0.9
,
②
后者则表示值为最大时。
、前者代表真实框比先
通过缩放比与原始图像尺寸进行计算得到中间小正方形
计算两个正方形的大小
的大小。此时的S
寸,则令S
k
不再是缩放比,而是代表中间小正方形尺
则外面大正方形的大小计算公式为:
k+1
为后面那一层先验框的尺寸。
③
S
k
'
=S
k
S
k+1
(3)
首先给出五种宽高比,
计算两个长方形的大小
然后根据宽高比计算长方形的
宽高。
宽高比为:
α
r
∈{1,2,3,
1
,
1
}
(4)
宽高的计算公式为:
23
w
α
k
在上面公式中可以发现,
=S
k
α
r
对于不同层的特征图都有其特有
,h
α
k
=S
k
α
r
(5)
的先验框尺寸,就算是在同一个特征图中每个栅格的长方形大
小也不同,
3
SSD
)损失函数
所以可以高效检测大小形状不一的图像。
损失函数等于定位损失(
L
loc
)和置信度损失(
L
conf
)的加
权和,其中
c
表示置信度、
l
表示预测框、
g
表示真实框、
n
表示匹
配到的默认框数量、
α
表示两者的权重
[6]
。
损失函数公式为:
L(x,c,l,g)=
N
1
(L
conf
(x,c)+αL
loc
(x,l,g))
(6)
定位损失和置信度损失的公式如下:其中
P
代表类别序
号,
P=0
时表示背景;
X
ij
目标,此时先验框有可以相配的真实框;
={0,1}
取1时表示检测到类别为
C
p
P
的
i
表示预测为
P
这一
类别的概率。
本栏目责任编辑:梁书
ComputerKnowledgeandTechnology
电脑知识
与技术
定位损失函数公式为:
L
loc
(x,l,g)=
∑
N
x
k
ij
smooth
L1
i∈Posm∈{
∑
(l
m
i
cx,xy,w,h}
-g
m
j
)
(7)
置信度损失函数公式为:
L
conf
(x,c)=
i
∑
N
x
P
ij
∈Pos
log(c
P
i
)-
i
i
∑
∈Neg
log(c
0
)
(8)
3模型训练
3.1制作数据集
1
模型训练之前需要大量数据,
)数据采集
目前还没有专门用于学生课
堂行为识别的数据集,因此本文使用的数据集都是来源教室监
控录像和网络图片。视频图像需要经过处理才能作为数据集,
从其中选取包含举手、端坐、睡觉、写字、玩手机这几个动作出
现比较多视频段。然后,使用OpenCV对选取的视频进行帧采
样,分别选出包含以上五个动作的图片进行保存。为了保证训
练的速度,尽量保证图片的大小为200k左,如果图片太大会导
致训练比较慢。部分图形数据如下所示。
2
图2部分图形数据(举手、看手机、睡觉、听课、写字)
数据预处理在深度学习算法中是非常重要的一部分,
)数据预处理
本文
使用的预处理方法有:①随机裁剪,由于SSD涉及了目标框标
注问题,因此在随机裁剪后需要修改相应的目标框信息。②在
训练时对图像随机添加噪声。
本文能收集的图像数据不多,但是模型训练的精度需要大
量数据作为支撑,因此本文使用数据增强的方法来增加数据
量。主要包括对图像进行水平、左右和随机方向翻转,水平方
向和竖直方向的平移,以及随机改变图像颜色
[7]
。经过数据增
强后,本文数据集共2500张图片。以举手这一动作为例,给出
部分数据增强后的图片,如下图所示分别为左右翻转、随机翻
转和竖直平移后的图片。
3
图3部分数据增强图片
本文使用目前常用的
)标签标注
LabelImg图片标注工具。标注完成
后图像的一些基本信息,包括存储位置、大小、类别名称都保存
在xml文件中。
3.2训练SSD网络模型
1)模型训练环境
表1模型训练环境
操作系统
Windows10pro64-bit
硬件环境
IntelCorei5-5200U处理器;GeForce820M显卡
编程语言
python
软件工具
Keras
Anaconda
深度学习框架;
搭载平台;OpenCV计算机视觉库
计算机工程应用技术
213
ComputerKnowledgeandTechnology
电脑知识
与技术
2
①
)模型训练过程中用到的参数
训练集、测试集:网络训练用训练集,
几个
②batchsize:把所有数据划分为多个小部分,
测试时用测试集。
几个部分就有
③
batchsize
④
训练次数
,其大小直接影响模型的性能;
(
3
设置好模型参数后,
)
学习率
SSD模型训练过程
(lr)
epoch
:表示损失函数中梯度下降的步长。
):把所有数据训练完一遍;
将训练集放入SSD网络进行训练,该
过程主要是找到和图片中提前标注好的目标框相配的先验框。
先验框有可能找不到相配的目标框,也就是其范围内没有要识
别的目标,将这一类先验框定位负样本,如果有的话则为正样
本。如果正负样本数量相差很多,会造成损失函数值非常大。
因此本文人为减少负样本数量,即在训练中去除一部分负样
本,使正负的比约为1:3。
每完成一次训练就会生成一个模型,选择损失函数最低、
准确率高的作为本次实验的最终模型,并对其进行测试和优
化,直到达到预期效果。为了更加直观的了解训练过程,将得
到的数据放到TensorBoard工具中,然后调用相关函数方法就
可以看到准确率等值的变化过程。
4实验结果分析
为了达到比较好的识别效果,本文分别设置不同的模型参
数进行试验,然后通过对比选择最优参数。研究的参数主要有
三个,训练集和测试集之比、batchsize大小、以及epoch的取值。
将训练集与测试集的比值作为研究对象,分析其值对结果
的影响。首先将学习率设置为0.0001、batchsize设置为8,分别
选择三组不同的比值,得到的结果见表2。可以看出如果想得
到比较高的识别效果,应该加大训练集的量。
表2不同的训练集和测试集比
训练集:测试集
4:68:29:1
准确率
0.81630.89070.9325
在上面实验的基础上,对batchsize取值展开研究。同样分
别设置三个不同的取值,实验结果如表3所示。batchsize取值
同时影响准确率和速度,太小会影响速度,太大则准确率不能
保证,综合考虑本文选择batchsize为8。
表3不同的batchsize取值
batchsize
值4
准确率
0.94070.9280
8
0.8954
12
速度(
f/s
)
0.380.460.49
分别设置三个不同的epoch值,实验结果如表4所示。当
epoch为100时,损失函数值和准确率基本趋于稳定。所以在保
证准确率的同时,为了节省训练时间,本文选择epoch为100。
表4不同的epoch取值
epoch
值
准确率
0.8759
50
0.9401
100
0.9415
150
损失函数值
3.120.960.91
同时为了验证算法的有效性,本文在相同迭代次数和ep⁃
och值的情况下,分别选取SSD网络、VGG16网络和ResNet18网
络的10次实验结果的平均准确率和速度进行对比。如表5所
示,在训练相同次数的情况下,SSD模型的准确率高于VGG16
214
计算机工程应用技术
第16卷第34期(2020年12月)
和Resnet网络模型。
表5三个网络的准确率和速度
模型名称
epoch
值
迭代次数平均准确率
SSD100300000.9431
VGG.9131
Resnet.8746
通过对不同参数的研究,得出当选取2250张图像作为测
试集、250张为训练集,设置学习率为0.0001、batchsize为8时得
到的识别准确率比较高。经过30000次迭代后,得到每个行为
准确率如表6所示。其中端坐、举手、睡觉准确率比较高,分别
为0.9635、0.9705、0.9531。而写字为0.8946、看手机0.8667,效
果没有前面三个好。造成的原因有:一方面,看手机和写字这
些动作容易受到遮挡不容易识别;另一方面,玩手机和写字两
个动作比较细微,造成所采集的部分数据集中手机和笔不清
楚,这样就造成关于这两个动作的数据集减少,进而导致训练
时不能提取足够的特征。
表6每个动作识别准确率
行为动作端坐举手睡觉写字看手机
准确率
0.96350.97050.95310.89460.8667
5结论
本文分析了目前常用的几种行为检测方法优劣,提出基于
深度学习的SSD算法。该算法的模型训练从输入到输出都是
自动完成的,包括寻找图像特征。另外SSD算法在完成动作识
别的同时还可以定位目标,为针对特定一个的学生进行分析奠
定了基础。实验结果表明该方法在学生行为分析方面可以取
得不错的效果,
97.05%
例如对举手这一动作识别准确率可以达到
有轻微误差和教室环境比较复杂,
。但是由于采集的数据集数量不够庞大、
关于写字和看手机这些比较
前期图像标注
小的动作识别准确率还有待提高。针对这些问题,在后续工作
中将继续探讨和研究。
参考文献:
[1]魏艳涛
[2]
别
左国才
[J].现代教育技术
,秦道影,胡佳敏,等.基于深度学习的学生课堂行为识
堂行为分析评测系统研究
,韩东初,苏秀芝
,2019,29(7):87-91.
,等.基于深度学习人脸识别技术的课
[J].
[3]
135-137,141.
智能计算机与应用,2019,9(5):
尚伟艺.基于视频图像的课堂点名及听课状态检测[D].大连:
[4]
大连交通大学
Liu
,2018.
tector[M]//Computer
W,AnguelovD,Erhan
Vision
D,et
–
:single
:
shotMultiBox
Springer
de⁃
In⁃
[5]
ternationalPublishing,2016:21-37.
彭昕昀,李嘉乐,李婉,等.基于SSD算法的垃圾识别分类研究
[6]
[J].
胡梦龙
韶关学院学报
[7]
现代信息科技
,施雨.基于
,2019,40(6):15-20.
man_world.
,2020(3):5-9.
SSD方法的小目标物体检测算法研究[J].
06-02]./mzpmzk/article/details/80039481.
数据增强及预处理[EB/OL].(2018-04-22)[2020-
【通联编辑:唐一东】
本栏目责任编辑:梁书