最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于SSD算法的课堂行为检测研究

IT圈 admin 28浏览 0评论

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-

【通联编辑:唐一东】

本栏目责任编辑:梁书

发布评论

评论列表 (0)

  1. 暂无评论