一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

动作识别方法及计算设备与流程

2022-05-18 15:24:55 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,更具体地,涉及一种动作识别方法及计算设备。


背景技术:

2.近年来,由于教育视频直播的发展,需要教育智能录制系统,智能化录制系统用高清摄像机采集教师、学生的画面,通过对视频图像分析,实现多种教学场景切换,自动跟拍教师、学生主体,并对主体的动作进行识别。
3.智能化录制系统需要对视频中的教师进行检测跟踪,并对教师的讲课动作进行识别。然而,常规的基于姿态识别方法的技术耗时很大,如openpose、densepose等,在实际的教师讲课识别方法中,处理速度往往太慢,很难达到实际应用的需求。
4.例如,选用openpose算法对图像中的教师进行检测和讲课动作识别,openpose算法用于提取输入图像中的人体关键点,算法采用自下而上的策略,先提取图像中的关键点位置,再通过学习到的关键点关系计算出人体骨架信息,根据这些关键点信息可以计算出教师在图像中的位置,解决了教师的检测问题,但在实际的教师讲课识别方法中,算法的处理速度往往较慢,不能达到实际应用的需求。
5.因此,期望对动作识别方法进行改进,以提高运算速度。


技术实现要素:

6.鉴于上述问题,本发明的目的在于提供一种动作识别方法及计算设备,以提高运算速度。
7.根据本发明的一方面,提供一种动作识别方法,包括:将图像数据发送至动作识别模型,以获得动作识别结果,其中,所述动作识别模型是基于efficientnet的基础网络结构构建的新的efficientnet识别网络模型,所述新的efficientnet识别网络模型修改了所述efficientnet的基础网络结构中的模块、层和运算方向中的至少一个。
8.可选的,所述动作识别模块的训练方法包括:接收随机采样的表征多种动作类别的数据,以获得训练集;基于efficientnet的基础网络结构分别构建多个新的efficientnet识别网络模型;基于所述训练集分别测试所述多个新的efficientnet识别网络模型,以得到多个测试结果;基于所述多个测试结果从所述多个新的efficientnet识别网络模型选择其中之一作为动作识别模型。
9.可选的,每个所述efficientnet识别网络模型包括多个移动翻转瓶颈卷积模块、2个卷积层、1个全局平均池化层和1个分类层,其中,各个所述efficientnet识别网络模型的输出分别与所述训练集所包含的类别数匹配。
10.可选的,在多个所述efficientnet识别网络模型中,所述移动翻转瓶颈卷积模块具有不完全相同的激活函数,所述激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
11.可选的,在多个所述efficientnet识别网络模型中,所述移动翻转瓶颈卷积模块
包括第一卷积、第一批归一化层、第一激活函数、第二卷积、第二批归一化层、第二激活函数、全局平均池化层、第三卷积、第三激活函数、第四卷积、第四激活函数、数据融合、第五卷积、第二批归一化层,其中,所述移动翻转瓶颈卷积模块中的各个步骤可调。
12.可选的,在多个所述efficientnet识别网络模型中,所述移动翻转瓶颈卷积模块进行数据融合的方法包括相乘、相加或直接拼接成数组。
13.可选的,在多个所述efficientnet识别网络模型中,调整所述移动翻转瓶颈卷积模块的卷积核大小、卷积步长和输出通道。
14.可选的,在多个所述efficientnet识别网络模型中,使用所述移动翻转瓶颈卷积模块的次数不完全相同。
15.可选的,选择多个所述efficientnet识别网络模型中运算速度最快的一个作为动作识别模型。
16.根据本发明的另一方面,提供一种动作识别方法,包括:将图像数据发送至动作识别模型,以获得动作识别结果,其中,采用如上所述的动作识别方法获得所述动作识别模型。
17.可选的,还包括对所述动作识别结果进行平滑处理,所述平滑处理包括:若当前帧的链表长度不大于预定值,则将当前帧的动作识别结果加入队列,并输出空值;若当前帧的链表长度大于预定值,则从链表头部取出最先存入的动作识别结果,将当前帧的动作识别结果加入队列,并统计队列中每种动作类别连续出现的最大次数,当动作类别连续出现的最大次数不大于阈值时,输出上一帧的动作识别结果,当动作类别连续出现的最大次数大于阈值时,更新并输出动作类别连续出现的最大次数。
18.根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述的动作识别方法中的任一方法的指令。
19.本发明提供的动作识别方法及计算设备,基于efficientnet的基础网络结构进行了修改而获得了动作识别模型,相比于传统的动作识别模型大大提高了运算速度。
20.进一步地,该技术方案中,利用构建了多种不同的改进的efficientnet识别网络模型,并选取其中一个效果较好的模型作为动作识别模型,可以进一步提高运算速度。
21.进一步地,该技术方案中,可以根据实际的任务和工作平台,在保证精度的同时,压缩模型,尽量寻找在平台上运算速度快的算子。不断尝试改进,最后得到运算速度快,精度高的动作识别模型。
22.进一步地,在动作识别方法中,加入了平滑处理的步骤,可以让智能录播系统更稳定,表现更好。
附图说明
23.通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
24.图1示出了根据本发明实施例的动作识别方法的流程图;
25.图2示出了根据本发明实施例的基于efficientnet的基础网络结构的示意图;
26.图3示出了根据本发明实施例的移动翻转瓶颈卷积模块的示意图;
27.图4示出了根据本发明实施例的动作识别方法中的平滑处理的流程图。
具体实施方式
28.以下将参照附图更详细地描述本发明的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
29.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
30.图1示出了根据本发明实施例的动作识别方法的流程图;图2示出了根据本发明实施例的基于efficientnet的基础网络结构的示意图;图3示出了根据本发明实施例的移动翻转瓶颈卷积模块的示意图;图4示出了根据本发明实施例的动作识别方法中的平滑处理的流程图。
31.本技术提供的动作识别方法包括:将图像数据发送至动作识别模型,以获得动作识别结果,其中,动作识别模型是基于efficientnet的基础网络结构构建的新的efficientnet识别网络模型,新的efficientnet识别网络模型修改了efficientnet的基础网络结构中的模块、层和运算方向中的至少一个。
32.具体的,该动作识别方法包括步骤s101-s105,可选的,还包括步骤s106,其中,步骤s101-s104为动作识别模型的训练方法的具体实施例。
33.在步骤s101中,接收随机采样的表征多种动作类别的数据,以获得训练集。以教学场景为例,搜集各种教学场景中,各种老师在教学时的数据,利用图像检测算法,检测出老师目标,并通过随机采样保存起来,并至少将数据作为训练集。
34.在步骤s102中,基于efficientnet的基础网络结构分别构建多个新的efficientnet识别网络模型。在该步骤中,每个efficientnet识别网络模型包括多个移动翻转瓶颈卷积模块、2个卷积层、1个全局平均池化层和1个分类层,各个efficientnet识别网络模型的输出分别与训练集所包含的类别数匹配。移动翻转瓶颈卷积模块例如是16个。
35.可选的,在多个efficientnet识别网络模型中,移动翻转瓶颈卷积模块具有不完全相同的激活函数,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
36.可选的,在多个efficientnet识别网络模型中,移动翻转瓶颈卷积模块包括所述移动翻转瓶颈卷积模块包括第一卷积、第一批归一化层、第一激活函数、第二卷积、第二批归一化层、第二激活函数、全局平均池化层、第三卷积、第三激活函数、第四卷积、第四激活函数、数据融合、第五卷积、第二批归一化层,其中,移动翻转瓶颈卷积模块中的各个步骤可调。
37.可选的,在多个efficientnet识别网络模型中,移动翻转瓶颈卷积模块进行数据融合的方法包括相乘、相加或直接拼接成数组。
38.可选的,在多个efficientnet识别网络模型中,调整移动翻转瓶颈卷积模块的卷积核大小、卷积步长和输出通道。
39.可选的,在多个efficientnet识别网络模型中,使用移动翻转瓶颈卷积模块的次数不完全相同。
40.efficientnet是一种标准化的卷积网络扩展方法,既可以实现较高的准确率,又
可以充分的节省算力资源。efficientnet的基础网络架构是通过使用神经网络架构搜索(neural architecture search)设计得到。卷积神经网络模型通常是在已知硬件资源的条件下,进行训练的。当拥有更好的硬件资源时,可以通过放大网络模型以获得更好的训练结果。为系统的研究模型缩放,研究人员针对efficientnet的基础网络模型提出了一种全新的模型缩放方法,该方法使用简单而高效的复合系数来权衡网络深度(depth)、宽度(width)和输入图片分辨率(resolution)。通过放大efficientnet基础模型,获得了一系列efficientnet模型。该系列模型在具有很高的效率和准确性。
41.移动翻转瓶颈卷积也是通过神经网络架构搜索得到的,该模块结构与深度分离卷积(depthwise separable convolution)相似,该移动翻转瓶颈卷积首先对输入进行1x1的逐点卷积并根据扩展比例(expand ratio)改变输出通道维度(如扩展比例为3时,会将通道维度提升3倍。但如果扩展比例为1,则直接省略该1x1的逐点卷积和其之后批归一化和激活函数)。接着进行kxk的深度卷积(depthwise convolution)。如果要引入压缩与激发操作,该操作会在深度卷积后进行。再以1x1的逐点卷积结尾恢复原通道维度。最后进行连接失活(drop connect)和输入的跳越连接(skip connection),该方法让模型具有了随机的深度,剪短了模型训练所需的时间,提升了模型性能(注意,在efficientnet中,只有当相同的移动翻转瓶颈卷积重复出现时,才会进行连接失活和输入的跳越连接,且还会将其中的深度卷积步长变为1),连接失活是一种类似于随机失活(dropout)的操作,并且在模块的开始和结束加入了恒等跳越。注意该模块中的每一个卷积操作后都会进行批归一化,激活函数使用的是swish激活函数。
42.具体的,以efficientnet-b0模型为例,对本技术的efficientnet的基础网络结构进行说明。
43.第一阶段t1,对输入的224x224x3的图像按顺序进行卷积、批归一化层(batch normalization,bn)和激活函数,以得到第一阶段的结果。
44.在卷积(卷积核例如为32核3
×3×
3,步长例如为2
×
2,填充为“same”即输出的宽和高缩小一半)中,该卷积运算的输出是一个维度为(112
×
112
×
32)的特征图。
45.在批归一化层中,该层输入为(112
×
112
×
32)的特征图,故该层含参数总数为128个(32x4)。
46.在激活函数中,激活函数例如是swish激活函数。可选的,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
47.在第二阶段t2,对前一阶段输出的112x112x32的特征图进行移动翻转瓶颈卷积(扩张比例为1,深度卷积核大小为3x3,核步长为1x1,包含压缩与激发操作,有连接失活和连接跳越),并输出第二阶段的结果。
48.请参照图3,移动翻转瓶颈卷积模块包括第一卷积、第一批归一化层、第一激活函数、第二卷积、第二批归一化层、第二激活函数、全局平均池化层、第三卷积、第三激活函数、第四卷积、第四激活函数、数据融合、第五卷积、第二批归一化层。其中,第一卷积、第一批归一化层、第一激活函数可以作为一条数据流,第二卷积、第二批归一化层、第二激活函数可以作为一条数据流,全局平均池化层、第三卷积、第三激活函数、第四卷积、第四激活函数可以作为一条数据流,第五卷积、第二批归一化层可以作为一条数据流。
49.第一卷积例如是扩张比例为6的逐点卷积(卷积核为96核1
×1×
16,步长为1
×
1,
填充为“same”即输出的宽和高不变),该卷积运算的输出是一个维度为(112
×
112
×
96)的特征图。
50.第一批归一化层(batch normalization,bn)中,该层输入为(112
×
112
×
96)的特征图。
51.在第一激活函数中,激活函数例如是swish激活函数。可选的,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
52.第二卷积例如是深度卷积(卷积核为6核3
×3×
16,步长为2
×
2,填充为“same”即输出的宽和高缩小一半)。深度卷积输出是一个维度为(56
×
56
×
96)的特征图。
53.在第一批归一化层(batch normalization,bn)中,该层输入为(56
×
56
×
96)的特征图。
54.在第二激活函数中,激活函数例如是swish激活函数。可选的,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
55.全局平均池化层(global average pooling),该层在通道维度方向上进行全局平均池化,输出为(1x1x96)的特征图。
56.在第三卷积(压缩与激发模块中的第一个卷积,卷积核为4核1x1x96,步长为1
×
1,填充为“same”即输出的宽和高不变)中,该卷积运算的输出是一个维度为(1
×1×
4)的特征图。
57.在第三激活函数中,激活函数例如是swish激活函数。可选的,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
58.在第四卷积(压缩与激发模块中的第二个卷积,卷积核为96核1x1x4,步长为1
×
1,填充为“same”即输出的宽和高不变)中,该卷积运算的输出是一个维度为(1
×1×
96)的特征图。
59.在第四激活函数中,激活函数例如是sigmoid激活函数。可选的,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
60.在数据融合中,将第四激活函数的结果与第二激活函数的结果相乘,得到56x56x96的特征图。融合的地方定义为两条数据流结合的地方,数据融合的位置可选。数据融合的方式可以是相乘、相加或直接拼接成数组数据。
61.第五卷积例如是逐点卷积(卷积核为24核1
×1×
96,步长为1
×
1,填充为“same”即输出的宽和高不变)。该卷积运算的输出是一个维度为(56
×
56
×
24)的特征图。
62.在第二批归一化层(batch normalization,bn)中,该层输入为(56
×
56
×
24)的特征图。
63.在第三阶段t3,对前一阶段输出的112x112x16的特征图进行两次移动翻转瓶颈卷积,第一个(扩张比例为6,深度卷积核大小为3x3,核步长为2x2,包含压缩与激发操作,有连接失活和连接跳越),第二个(扩张比例为6,深度卷积核大小为3x3,核步长为1x1,包含压缩与激发操作,有连接失活和连接跳越),并输出第三阶段的结果。
64.在第四阶段t4,对前一阶段输出的56x56x24的特征图进行两次移动翻转瓶颈卷积,第一个(扩张比例为6,深度卷积核大小为5x5,核步长为2x2,包含压缩与激发操作,有连接失活和连接跳越),第二个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活和连接跳越),输出是一个28x28x40的特征图。
65.在第五阶段t5,对前一阶段输出的28x28x40的特征图进行三次移动翻转瓶颈卷积,第一个(扩张比例为6,深度卷积核大小为3x3,核步长为2x2,包含压缩与激发操作,有连接失活和连接跳越),第二个(扩张比例为6,深度卷积核大小为3x3,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),第三个(扩张比例为6,深度卷积核大小为3x3,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),输出是一个14x14x80的特征图。
66.在第六阶段t6,对前一阶段输出的14x14x80的特征图进行三次移动翻转瓶颈卷积,第一个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活和连接跳越),第二个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),第三个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),输出是一个14x14x112的特征图。
67.在第七阶段t7,对前一阶段输出的14x14x112的特征图进行四次移动翻转瓶颈卷积,第一个(扩张比例为6,深度卷积核大小为5x5,核步长为2x2,包含压缩与激发操作,有连接失活和连接跳越),第二个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),第三个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),第四个(扩张比例为6,深度卷积核大小为5x5,核步长为1x1,包含压缩与激发操作,有连接失活核连接跳越),输出是一个7x7x192的特征图。
68.在第八阶段t8,对前一阶段输出的7x7x192的特征图进行一次移动翻转瓶颈卷积(扩张比例为6,深度卷积核大小为3x3,核步长为1x1,包含压缩与激发操作,有连接失活和连接跳越)输出是一个7x7x320的特征图。
69.在第九阶段t9,对输入的7x7x320的图像按顺序进行卷积、批归一化层、激活函数、全剧平均池化层、随机失活、全连接层操作得到模型最终的结果。
70.在卷积(卷积核为1280核1
×1×
320,步长为1
×
1,填充为“same”即输出的宽和高不变)中,该卷积运算的输出是一个维度为(7
×7×
1280)的特征图。
71.在批归一化层(batch normalization,bn)中,该层输入为(7
×7×
1280)的特征图,故该层含参数总数为5120个(1280x4),其中需要训练学习的参数为2560个。
72.在激活函数中,激活函数例如是swish激活函数。可选的,激活函数选自sigmoid,tanh,relu,leaky relu,swish中的任意一个或多个。
73.在全局平均池化层(global average pooling)中,该层在通道维度方向上进行全局平均池化,输出为(1x1x1280)的特征图。
74.在随机失活(dropout)中,对(1x1x1280)的特征图进行随机失活处理。
75.在全连接层fc中,该层有1000个神经元。
76.最后利用softmax激活函数,输出分类结果。
77.应理解,上述实施例中的各项参数可以改变。例如,网络的输出需要和自己的识别任务(类别数等)匹配。又例如,每个阶段中使用mbconv模块的次数可以改变。再例如,mbconv模块中,每条数据流中的数据处理顺序可以改变。
78.上述实施例是为了对本技术的方案进行示例性说明,应理解,除了efficientnet-b0识别网络之外,也可以使用其他系列的efficientnet识别网络模型。例如,efficientnet系列还有其它7个网络(efficientnet-b1,efficientnet-b2,efficientnet-b3,
efficientnet-b4,efficientnet-b5,efficientnet-b6,efficientnet-b7),这些网络是通过神经网络架构搜索在不同的运算次数和运行内存限制下,在efficientnet-b0的参数基础上对模型进行缩放得到的。主要涉及三个参数深度参数、广度参数和输入分辨率参数,通过这三个参数来控制模型的缩放。其中深度参数通过与efficientnet-b0中各阶段的模块重复次数相乘,得到更深层的网络架构;广度系数通过与efficientnet-b0中各卷积操作输入的核个数相乘,得到表现能力更强的网络模型;输入分辨率参数控制的则是网络的输入图片的长宽大小。
79.在步骤s103中,基于训练集分别测试多个新的efficientnet识别网络模型,以得到多个测试结果。
80.在步骤s104中,基于多个测试结果从多个新的efficientnet识别网络模型选择其中之一作为动作识别模型。例如,选择多个efficientnet识别网络模型中运算速度最快的一个作为动作识别模型。
81.在步骤s105中,将图像数据发送至动作识别模型,以获得动作识别结果。在该步骤中,图像数据例如是包含教育场景视频的数据集,对数据集中的教育场景视频进行帧分解,将视频格式文件转化为连续的图像帧序列,即可获得图像数据。
82.可选的,还包括步骤s106,对动作识别结果进行平滑处理。
83.如图4所示,平滑处理包括步骤s1061-s1069。
84.在步骤s1061中,判断当前帧的链表长度是否大于预定值。若当前帧的链表长度不大于预定值,则执行步骤s1062-s1063,将当前帧的动作识别结果加入队列,并输出空值;若当前帧的链表长度大于预定值,则执行步骤s1064-s1069。
85.在步骤s1064中,从链表头部取出最先存入的动作识别结果;在步骤s1065中,将当前帧的动作识别结果加入队列;在步骤s1066中,统计队列中每种动作类别连续出现的最大次数;在步骤s1067中,判断动作类别连续出现的最大次数是否大于阈值。当动作类别连续出现的最大次数不大于阈值时,执行步骤s1068,输出上一帧的动作识别结果;当动作类别连续出现的最大次数大于阈值时,执行步骤s1069,更新并输出动作类别连续出现的最大次数。
86.依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献