




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页密集场景遮挡行人检测:FasterR-CNN算法的优化与实践目录TOC\o"1-3"\h\u10765摘要 II19846第一章前言 1317101.1研究背景及意义 1238211.2国内外研究现状 15546第二章相关理论知识 6213422.1WiderPerson行人检测数据集 6223942.2卷积神经网络 8161762.3相关评价参数 10268462.3.1精准率、准确率、召回率、交并比 10211372.3.2行人检测评价指标 1114542.4本章小结 1128266第三章FasterR-CNN算法 13301943.1FasterR-CNN算法原理 135953.2FasterR-CNN算法流程 15316643.3算法流程中相关结构的理论介绍 16240113.3.1主干特征提取网络 1640463.3.2RPN网络 18266183.3.3ROIPooling层 19284923.3.4分类预测和回归预测 19231753.4本章小结 2017200第四章实验设计与结果分析 21164774.1实验目的 21165874.2实验环境介绍 21162064.3实验设计 21197894.3.1主干特征提取网络的设计 21112414.3.2注意力机制的设计 21181064.3.3损失函数的设计 2284594.4实验过程 23260434.5实验结果与分析 24248174.5.1训练过程 2417734.5.2预测过程 25132654.5.3评估过程 26244624.6本章小结 2722598第五章总结与展望 281955.1研究总结 28317625.2期望 2826050参考文献 30 摘要 行人检测技术一直都备受人们关注,这是因为它的价值能够体现在很多日常的领域当中。近年来深度学习技术的崛起,使得输入进来的数据特征能够被提取得更加完好,以至于行人检测技术的应用领域更为广泛。不过,由于检测场景越来越复杂,现有的检测算法并不能很好地满足需求,对密集场景下被遮挡行人的检测效果并不是很完美。本文主要通过比对主干网络、添加注意力机制来实现FasterR-CNN算法的改进。本次实验中使用resnet50和vgg16作为该算法框架中的主干网络,使用WiderPerson数据集完成本次实验的训练、预测和评估。本次实验中考虑主干网络是否会对检测的结果产生影响,结果表明主干网络为vgg16时能够更好地去识别被挡住的行人。同时,在该算法的主干网络中添加注意力机制,添加的地方位于得到特征图的后面。这种做法使得网络能够聚焦于输入进来的关键性数据信息,从而提高该算法对于被遮挡行人的识别精度。结果表明添加注意力机制后,该算法对于被遮挡行人的识别精度有了提升。关键字:密集场景,行人检测,FasterR-CNN第一章前言1.1研究背景及意义对计算机的视觉任务这一概念的阐述是论述行人检测的大前提。它简单地说就是一门关于研究使用某些电子设备去完成人的眼睛功能的科学学科,而这门学科研究的内容是“某些电子设备是使用什么方法去感受、去观察这个世界的”。在这类任务中比较重要的一个就是对目标的检测,它会把检测目标的识别和分割这两任务组合在一起。行人检测REF_Ref12484\w\h[1]技术可以被当成是目标检测的一个特别的例子,该技术专门以行人为目标,它是一种要利用某些电子设备来获取行人在视频帧或单帧图片中的准确位置,并且会用矩形框标定出视频帧或单帧图片中的行人的位置和大小的视觉任务(林涛,付婉清,2022)。此外,对于行人检测REF_Ref14427\w\h[2]算法的研究也对许多研究课题是至关重要的,比如说目标的跟踪与识别以及人体姿态的估计等(陈文天,陈奇远,2023)。同时,行人检测技术也广泛地应用在如车辆的自动驾驶等领域当中。具体如,近年来大街上的车辆变得越来越多,在这样的状态中但因这种情况而带来的交通事故发生的数量也在逐年的增加。而行人检测技术中的一个名为智能驾驶的应用就可以很好地减少这种事故的发生次数,这个应用是通过使用将位于车辆前后方的物体和人体检测出来的方法来减少这类事故的发生(陈昊忠,赵奇朝,2021)REF_Ref10386\w\h[3]。图形处理单元(GPU)在不断革新的过程中会使得电脑的计算数据的能力不断地增强(付嘉瑞,孙怡忠,2021)。同时,如今的电脑在处理图像数据的时候有了更为可靠的硬件支持,在这样的布局下而且在计算机视觉等领域也广泛地去应用深度卷积神经网络(CNN)等技术。也就是由于这些计算机软件和硬件技术的不断革新,行人检测才能够得以快速地发展。目前,在密集场景下有可能会存在检测行人被挡住的情形,而一些现有的行人检测算法在这种情况下的检测效果仍然可以有很大的提升空间(孙志恒,杨慧萍,2019)。受到视频帧或单帧图片中的行人姿态、衣着变化以及场景中的光照、气候和景物遮挡等问题REF_Ref14427\w\h[2]的影响,对于场景中检测目标过多且目标可能存在被挡住的情况仍然是行人检测算法实现中的一大难点。1.2国内外研究现状现如今的许多行人检测算法框架已经非常成熟了,不过这些框架算法对于密集场景下的行人检测的性能仍然还有很大的提升空间,而对检测行人有影响的因素REF_Ref11268\w\h[4]主要有以下几点:被挡住的行人的走路姿势;在此类情境中检测场景的被拍摄角度、检测场景的光照和被挡住的行人的遮挡水平等(孙奇倩,高明泽,2023)。国内外的一些研究人员这些年提出了很多可以解决以上问题的研究成果。目前,行人检测方法REF_Ref11409\w\h[5]主要有两类(郑泽羽,孙雅琪,2019):一、传统的目标检测方法。这种方法主要包括光流法等三类。光流法会根据检测场景中像素的运动向量的持续变化和根据像素创建起来的光流场这两个标准来检测是不是存在目标。在1981年Horn等人REF_Ref19231\r\h[6]提出了一种关于光流的具有实际应用效果的计算方法,这个方法也为光流计算的日后发展打下了基础。这在一定程度上预示了不过在单独使用这个算法的时侯,它的计算量会比较大且处理的过程也会较为复杂(许润天,邓怡忠,2019)。帧差法会先计算一个差分结果,这个结果是使用基于像素的时间差分这一方法在相邻图片序列的两帧或者是三帧之间进行的,然后要对得到的这个结果进行一个闭值化操作。这在某种程度上传达不过,这个方法的计算量虽然不是太大,但仍然还是存在一些问题,如在检测时就可能会出现“空洞”或者是“鬼影”等现象。背景建模法中的最重要的操作就是对背景进行抽取(许润天,邓怡忠,2019)。具体的例子如彭宏等人通过融合小波变换和多帧平均法这两个方法以此来得到所需的背景图像REF_Ref8241\r\h[7],范长军等人对运动中的无人机进行检测是通过将单高斯与光流法这两个方法相互结合以此来进行的REF_Ref10210\r\h[8]等。不过,这类检测方法也是存在一些问题的,如单独使用一个算法的计算效果并不是很好等。且因这种做法对硬件的要求比较高而且会使整个算法的流程变得更为复杂,所以该类方法不适合被使用在现如今的一些智能系统当中(成学天,成怡彤,2020)。二、基于特征检测目标的方法。早期的目标检测算法如Bilal等人提出的非线性量化方法并没有通过深度学习来进行特征的提取,而且Bilal等人提出的这个算法是可以在计算量不变多的情况下使得漏检率变得更低。在这种模式下近几年来由于深度学习技术的崛起,这种特征的抽取是通过深度卷积神经网络来进行的且需要从输入的图片中去了解规律以及会使用了解到的规律来获得测试图片中的检测目标的信息的算法越来越多。单阶段的和双阶段的这两类检测算法都是把检测特征做为核心操作的目标检测算法。那种基于回归问题的算法如YOLO、SSD等可以将检测目标的位置和它的种类信息仅仅经过一步就可以检测完成,R-CNN、FastR-CNN、FasterR-CNN等双阶段检测算法是那种基于候选框并且可以将检测目标的位置和其种类信息要分成两步才能检测完成的算法(孙天羽,冯学文,2022)。在2014年Girshick等人提出了一种以区域卷积网络作为核心的关于目标检测的模型REF_Ref7041\r\h[9]。在2016年Joseph等人为了解决双阶段的检测算法在实际应用时具有很大的计算量等问题从而提出了YOLO算法,该算法包含了v1到v5这五个版本(周佳妮,韩旭东,2019)。该算法最大的特点就是检测的速度足够快,在此类条件作用下可以推知其发展方向不过它对小目标的检测效果却不是很好,以至于该算法的检测精度要比FasterR-CNN算法的略微低一点。在2016年被提出的SSD算法首先会通过训练好的分类网络对输入图片提取不同大小的特征层,该算法正因为如此才可以用来预测不同大小的目标,然后在位于conv4_3等六个层REF_Ref11118\r\h[10]中的特征图上面的每一个点上都构造出不同大小的六个边界框,因此该算法的网络中会由六个输出特征层,最后会使用非极大值的抑制方法来去除掉在这些特征图中的具有相同部分的或者是不正确的边界框,剩下的边界框的集合就是最终的检测结果了(高奇倩,周文天,2021)。该结果与刘晓天教授的研究成果在思路导向上大致相仿,无论是研究进程还是最终成果解读。最初在研究方法的选用上,两者都秉持了严谨的科学态度和系统性的分析框架。这种一致性不仅体现在对基础理论的遵循和运用,更在于通过定量分析结合定性探讨的手段,深度挖掘了问题的本质属性。在模型构建方面,本研究参考了刘教授关于动态调整参数以适配不同环境变化的思路,提出相应的改进办法,其中包括引入新的变量等。这些改进使本文的研究成果不仅在理论上有所创新,而且在实际运用中也展现出更高的准确性和可靠性。之后随着技术的发展,许多新的目标检测算法不断问世,面对这种情况如YannLeCun等人提出了一种可以克服空间限制但是在实际应用中的泛化能力较弱的以卷积神经网络为基础的无监督方法来进行行人检测的框架REF_Ref11862\r\h[11],在2019年陈彦斌,陈佳琪等人提出了一种基于将排斥力应用于YOLOv3算法中进行行人目标检测的框架REF_Ref11963\r\h[12]等。总体来说,双阶段目标检测算法将会在原图片上生成候选框并且会以类别为标准进行目标的检测,这类算法为了能够得以完好地部署并且能够实现实时检测将会要求机器需要有很高的硬件条件(徐昊忠,孙倩文,2020)。而单阶段目标检测算法将会直接在原图片上预测边界框的偏移量和检测目标的置信度,这种做法虽然可以使模型能够实现实时检测,却会使算法的检测精度变得更低。从这些言论可以知道以深度学习为核心的检测方法与传统的检测算法相比较具有较高的检测适应性、较低的背景模型更新要求、更好的检测实时性等优点,这使得以深度学习为核心的目标检测算法在近几年更加地受到了人们的欢迎REF_Ref30686\r\h[13]。本文主要是去实现行人检测算法--FasterR-CNN算法,并根据该算法在密集场景下的检测情况来研究其存在的一些问题并得到一些对算法的改进意见。
第二章相关理论知识2.1WiderPerson行人检测数据集WiderPerson行人检测数据集REF_Ref12411\r\h[14]是比较拥挤环境下的行人检测基准数据集,该数据集中的图片大部分都是在网络上收集的(付语嫣,成志刚,2019)。现如今已经存在的大部分数据集中的图片的来源均为交通场景,从这些证据中可以看出而该数据集中的图片是从多种场景中选择拍摄的,以至于它可以弥补现如今大部分数据集中图片的环境为交通场景而导致的数据多样性的不足。该数据集中的图片共计有13382张,而在这其中的所有图片中共包含近四十万个不同遮挡程度的人体。该数据集的三个子集中的一些注释统计如表2.1所示(陈雪怡,成承昊,2021):表2.1WiderPerson数据集的注释统计trainvaltest共计image80001000438213382persons23607327762122518386353ignoreregions8979661379313433person/images29.5127.7627.7628.87这些图片中检测人体的类别共包含5类。其中,“pedestrians”表示比较完整的人体,即这个类包括的是没有被挡住的行人和被遮挡的不是非常严重的行人,数据集中的部分标注图如图2.1中的(a)所示;“riders”表示骑着自行车的人,数据集中的部分标注图如图2.1中的(b)所示(陈昊羽,吴丽娜,2019);“partially-visiblepersons”表示被遮挡住了一部分的人,这个类包括的是被遮挡的程度是非常严重的行人,数据集中的部分标注图如图2.1中的(c)所示;“ignoreregions”表示“假人”,如大型的玩偶以及图片中的屏幕上的人体,数据集中的部分标注图如图中2.1的(d)所示;“crowd”表示一大群人,即这群人是聚集在一起的,数据集中部分标注图如图2.1中的(e)所示(成朝羽,徐丽娜,2022)。不过,由于“ignoreregions”和“crowd”这两个类在实际中并不常用,这些行为透露出一些意图所以我在项目中将这两个类删除了。(a)(b)(c)(d)(e)图2.1WiderPerson行人检测数据集中的部分图片此外,该数据集中的检测人体的类别的比例如图2.2所示,占比最高的检测人体是那些“完整的行人”和被遮挡的不是很严重的人体,大约占总量的百分之六十,其次是“partially-visiblepersons”这个类,大约占总量的百分之三十,而“riders”这个类占总量不到百分之一,但由于该数据集中大约有236000个检测人体,所以在数据集中这个类别的信息的数量还是很可观的(徐泽羽,孟菲菲,2023)。图2.2WiderPerson上的细粒度人物类别2.2卷积神经网络卷积神经网络的理论基础被提出的标志是由Hubel等人在1962年研究猫的视觉皮层上的细胞REF_Ref12558\r\h[15]的时候而提出的一个叫做“感受野”的概念和在1980年Fukushima提出的神经认知机REF_Ref12597\r\h[16]这二者共同配合奠基的(丁奇成,马钰倩,2021)。在这样的状态中卷积神经网络从理论研究阶段进入到了算法的实现阶段的标志是由LeCun等人在1998年提出的LeNetREF_Ref12633\r\h[17]来确定的,这一结构是世界上第一个真正意义上的卷积神经网络。之后,有先后出现了AlexNet、VGG、Resnet等结构(吴奇雨,张语嫣,2021)。本研究在行为方式上独具匠心,创新性地结合了前人关于此主题的研究成果,使研究深度得到了有力拓展。通过对既往文献的科学整理与统合,深度发掘该领域尚未被充分重视的核心问题以及潜在的研究方向。不仅对已有理论进行了更为透彻的解析,还在此基础上搭建了新的研究视角与分析模型。在实际研究工作中,运用先进的研究方法与技术手段,对该主题展开多角度、全方位的探究。冲破了传统研究的局限,从微观层面揭示了事物的内在规律和相互作用,并参考其他相关领域的理论与实践范例,为解决该主题的问题提供了更丰富多元的思考路径。卷积神经网络的结构可以分成五个部分,它的结构可以用图2.3来表示。图2.3卷积神经网络·输入层该层可以被看成是一个三维的输入像素的矩阵,它一般情况下都会包括一个\t"/item/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/_blank"RGB通道和一个位于平面上的二维的像素点。在此类情境中除此之外,关于该层的理论还需要知道得是输入图像的大小是使用该矩阵的长和宽来表示的,而输入图片的色彩通道则是使用该矩阵的深度来表示的,在这里需要说明的是,RGB彩色图片的深度的值为3,黑白图片的深度的值为1REF_Ref4923\r\h[18]。·卷积层卷积层所做的工作就是要去抽取输入数据的特征,由于该层的输出结果是由它的三个参数(卷积核、步长以及填充)来决定的,因此它在整个卷积神经网络中都是具有举足轻重的地位的,所以有关这三个参数的一些知识还是需要去了解一点的(田睿泽、周凯羽、冯若旭,2023)。这在一定程度上预示了卷积核可以被看成是上一层的卷积神经网络中一个小块的一部分,而这个小块中的这一部分也可以被看成是本层的卷积神经网络的输入,在这其中还需要知道的是输入的图片的尺寸的值应该要比卷积核的尺寸的值大一点,这在某种程度上传达而且在卷积神经网络中的被卷积的区域的大小是与卷积核的大小有关的,当卷积神经网络对于整个项目是起作用的时候,卷积核会扫描输出的FeatureMap,进行这个过程的原则是按照步长参数被设置的值和抽取到的输入图片的特征来进行制定的(成雅倩,付奇琦,张瑞羽,2022)。本研究突出体现了跨学科融合的研究特色,广泛吸收了多学科的理论精华和研究方法,旨在实现研究视角的多元化和研究深度的最大化。借助这种跨界研究模式,本文不仅能够更深入地揭示研究对象的复杂性和多样性,还能发现单一学科研究难以揭示的新规律和新现象。同时,本研究强调理论与实践的紧密结合,致力于将抽象的理论应用于具体实践问题的解决,以验证理论的有效性和实用性。在研究过程中,本文综合运用了多渠道的数据收集和分析方法,采用定量与定性相结合的研究手段,以确保研究结果的科学性和准确性。步长代表的是一个距离的值,这个值表示的是卷积核在特征图上每一次位置移动的距离的值,在这种模式下当卷积核会将得到的特征图中的所有像素依次扫过的时候表示步长的值被设置为1,而当卷积核在下一次扫描时跳过n-1个得到的特征图中的像素的时候则表示步长的值被设置为nREF_Ref5174\r\h[19]。填充的作用就是为了更好地去利用特征图上的信息,这些信息使用那些位于角落位置的像素来表示,常见的方法有重复的边界值的填充和0填充(付星辰,周梦琪,2019)REF_Ref5174\r\h[19]。·激励函数层激励函数的作用就是去提升卷积神经网络的非线性的表达能力,它同样是网络中的不可或缺的一部分,该函数的种类主要有表达形式为(公式2-1)的线性整流(RELU),表达形式为(公式2-2)的双曲正切函数,表达形式为(公式2-3)的Sigmoid函数(殷雅琪,汪志远,2017)REF_Ref4923\r\h[18]。(公式2-1)(公式2-2)(公式2-3)·池化层池化层(别名下采样层)中会形成一个由池化大小、步长和填充来决定大小的矩形区域,该区域是通过相互连接的神经元构成的。在此类条件作用下可以推知其发展方向该层所发挥的功能就是使特征图的维度变得更低以及使特征图的尺寸能够保持不变。而池化的种类主要有如下几种(罗向阳,林泽天,2022):1.使用被卷积区域的平均值来表示池化后的结果的池化叫做平均池化REF_Ref5174\r\h[19]。2.使用被卷积区域的最大值来表示池化后的结果的池化叫做最大池化REF_Ref5174\r\h[19]。·全连接层全连接层可以被当作是一个“分类器”,它的目的是对抽取到的输入的数据的特征进行非线性的组合使得它们得以输出。面对这种情况卷积核的长和宽的大小都设置为1的卷积是由该操作中的那些全连接层的前层是全连接的全连接层转化得来的,而卷积核的长和宽的大小分别用h和w来表示的全局卷积的前层是由该操作中的那些卷积层是全连接层的全连接层而转化得来的(钟睿哲,陈明和,2020)REF_Ref8564\r\h[20]。2.3相关评价参数2.3.1精准率、准确率、召回率、交并比在论述这几个参数的时候,要先阐明几个观点。其中,对于那些预测结果是正确的样本使用参数P来表示,对于那些预测结果是不正确的样本使用参数N来表示,对于那些预测结果和实际情况是一样的样本使用参数T来表示,对于那些预测结果和实际情况是不一样的样本使用参数F来表示(陈嘉怡,成彤彤,2020)REF_Ref10386\r\h[3]。而且还可以将这四个参数相互组合成4类:将检测器中的那种样本实际上是正确的且预测结果也是正确的情况称为正阳性(TP);将检测器中的那种样本实际上是不正确的但预测结果也是不正确的情况称为正阴性(TN);从这些言论可以知道将检测器中的那种样本实际上是不正确的但预测结果却是正确的情况称为假阳性(FP);将检测器中的那种样本实际上是正确的但预测结果却是不正确的情况称为假阴性(FN)(张文博,丁诗雨,2021)。用实际上是正确的且预测结果也是正确的样本(TP)与总样本中预测结果是正确的示例(TP+FP)的比值来表示精准率(precision),它的表示形式为(公式2-4)(郑瑞泽,胡雨珂,2022)REF_Ref10386\r\h[3]。(公式2-4)用总样本中预测结果和实际情况是相同的示例(TP+TN)与所有样本中的所有示例(TP+TN+FP+FN)的比值来表示准确率(accuracy),它的表示形式为(公式2-5)REF_Ref10386\r\h[3]。(公式2-5)用实际上是正确的且预测结果也是正确的样本(TP)与总样本中实际情况是正确的示例(TP+FN)的比值来表示召回率(recall),它的表示形式与灵敏度的是一样的,表示形式为(公式2-6)(殷君和,霍慧君,2022)REF_Ref10386\r\h[3]。(公式2-6)2.3.2行人检测评价指标mAP的计算过程是先要计算每一个检测类别的平均精度(AP),这些行为透露出一些意图然后对平均精度进行求平均值的这个操作REF_Ref8779\r\h[21]。它的表达形式为(公式2-7)。(公式2-7)既然说到了mAP,那就不能不说一下AP了。平均精度(AP)的大小近似于每个可能的阈值处的召回率的变化值乘以精确度,然后再将得到的乘积相加求和,它的表达形式为(公式2-8)(项嘉润,虞婉君,2023)。在(公式2-8)除了mAP之外,综合评价指标(F-Measure)也常被用来解决在精准率(precision)和召回率(recall)之间可能出现的矛盾,它的求解方式便是求精准率和召回率的加权倒数平均值。其中,最常使用的F-Measure是在α为1的时候,在这样的状态中这个时候的F-Measure也被叫做F1Score。它的值将精准率和召回率组合起来考虑,其能够说明实验是否是有效的2.4本章小结本章的内容是对本论文所用到的某些理论的介绍(费嘉润,陆婉君,2023)。首先介绍了WiderPerson行人检测数据集;其次对卷积神经网络中包括激励函数在内的五个部分进行了简要的阐述;最后是对相关评价指标的介绍,包括精准率、准确率、召回率、交并比、平均精度以及mAP。第三章FasterR-CNN算法3.1FasterR-CNN算法原理FasterR-CNNREF_Ref9014\r\h[22]算法是在2015年由任少庆、何凯明等为了解决FastR-CNN算法的缺点而提出的一种双阶段的目标检测算法。它是一种端到端的检测算法,该算法可以看成是一个有体系的系统,这个系统中包括RPN和FastR-CNN这两个部分,它没有利用选择性搜索的方式而是利用了RPN。换句话说,RPN和FastR-CNN共同构成了FasterR-CNN算法的结构,它的组成可以用图3.1来表示(栾文昊,姜慧君,2018)。为保障研究结果的可信度和可靠性,本文伊始便大量收集国内外相关领域的文献资料,系统整理了当前研究的前沿走向和理论依据。在此前提下,依据研究主题,精心构思了科学合理的研究方案,其中包含数据收集手段、样本选取标准以及分析体系。为保证数据的准确性和完整性,本文借助多种数据来源进行交叉验证,真切反映研究对象的真实情形。在数据分析进程中,运用先进的统计分析工具和方法对数据进行严谨处置与阐释,确保研究结论具有科学性和客观性。同时,对研究过程中可能出现的误差和偏差进行敏感性分析,进一步强化研究结果的稳健性。图3.1FasterR-CNN的构成FasterR-CNN算法在结构上会把特征提取、proposalbox的提取、boundingbox的回归和分类这四个步骤整合在了一起,在这样的布局下这样会使其综合的功能性得到大大的加强。但与单阶段检测算法比较,FasterR-CNN算法的检测精度固然更高,可是该算法的步骤更加繁琐,练习与检测的速率都还有进步的可能性。FasterR-CNN算法的基本结构REF_Ref5664\r\h[22]如图3.2所示(华俊天,陶静宜,2022)。图3.2FasterR-CNN的网络架构从上图中不难看出FasterR-CNN算法的架构大体上可以分成四个部分:一、ConvLayers:在FasterR-CNN算法中会先将输入图片的短边resize到600,然后经由一系列的conv层、relu层和pooling层操作以此来对输入的图片进行提取特征的操作,最终获得FeatureMap。在本节内容的撰写中,本文借鉴了何其飞教授的相关研究成果,尤其是在研究思路和方法上。在思路上,本文遵循了其对问题进行逐层剖析的方式,通过设定明确的研究目标和假设,构建了严谨的研究框架。本文采用了定量与定性相结合的方法,力求在数据收集和分析过程中做到客观、准确,以确保研究结论的科学性和可靠性。尽管本研究受到了何其飞教授的启发,但本文在多个环节中融入了自己的创新点,例如在研究设计阶段采用了更加灵活多样的数据收集方式,并在数据分析过程中探索了不同变量之间的复杂关系,以使研究不仅具有理论价值,还具备一定的实践指导意义。二、RegionProposalNetworks:这一步骤的结果RegionProposal是经由ConvLayers中的FeatureMap进行卷积以此来获得的。这在一定程度上预示了该层包括两个分支,一个分支用来计算相应的先验框的boundingbox的偏移量以此来获得该检测目标的位置;另一个分支用来预测是前景还是背景,通过计算相应的先验框是前景还是背景的概率以此来判断计算的这个先验框中是否包含被用来检测的目标,在这种模式下但是在这个过程中却不会对被用来检测的目标进行种类的区分(徐博文,谢梦琪,2022)。三、ROIPooling:该层会结合第一步和第二部得到的FeatureMap和RegionProposal的信息,利用RegionProposal对FeatureMap进行截取以此来得到大小一致的ProposalFeatureMap。四、Classification:该层包括两个分支,一个分支用来区分检测到的行人;另一个分支用来移动RPN中获得的boundingbox以此来获得更加准确的检测框。3.2FasterR-CNN算法流程实际上,FasterR-CNN算法实现的过程是很复杂的,参考图3.3和图3.4对该算法流程的进行更加具体的总结REF_Ref5664\r\h[22]:第一步,FasterR-CNN算法中会先将输入图片的短边resize到600;第二步,调整后的图片将会利用主干特征提取网络(Backbone)进行提取特征以此来获得共享特征层(FeatureMap),在此类条件作用下可以推知其发展方向在本次实验进行到这一步骤的时候还可以选择是否使用注意力机制(郑博文,谢婉莹,2021);第三步,将会对第一个步骤中获得的FeatureMap经由一次3*3的卷积,然后再对获得的卷积经由两次1*1的卷积,经由这三次卷积之后就会获得proposalbox;第四步,proposalbox会与FeatureMap相结合,然后传入到ROIPooling层中,ROIPooling层就会使用proposalbox对FeatureMap截取。面对这种情况由于截取的结果的shape是不一样的,这时就需要ROIPooling层会对所有的局部的特征图进行池化处理以此来改变特征图的shape的大小(陈煜祺,陈欣怡,2020);第五步,对获得的每一个局部特征层进行分类和回归预测。图3.3FasterR-CNN算法流程图3.4FasterR-CNN网络图3.5则是为了更好的理解FasterR-CNN算法的流程,以resnet50为主干提取网络,在没有用注意力机制的情况下画出来的FasterR-CNN算法的流程结构图。图3.5FasterR-CNN+resnet50流程结构图3.3算法流程中相关结构的理论介绍3.3.1主干特征提取网络FasterR-CNN网络中的主干特征提取网络(Backbone)包含的仅仅是压缩了长和宽四次的内容,而第五次的内容是存在于ROI中的。本次实验所用的Backbone是resnet50和vgg16。resnet50中共包括50层,它的结构可以被分成五个阶段,但是,其中的第二到第五个阶段在结构上是差不多的。其中,Stage1阶段可以被分成两个操作步骤,第一个操作步骤中包含卷积层(conv)、BN(BatchNorm)层和激活函数(ReLU)这三个部分,第二个操作步骤是池化操作,从这些言论可以知道将输入图像的shape改变后得到输出结果;Stage2阶段主要就是进行ConvBlock和IDBlock操作。它的总体结构如图3.6所示(陈昊忠,张泽怡,2022)。图3.6resnet50整体结构上面提到的ConvBlock和IdentityBlock是resnet50模型中两个重要的块,这两个块都是残差网络结构。其中,ConvBlock块是不能够被用来进行连续串联的且它的输入与输出的维度也应该是不一样的,这些行为透露出一些意图它的功能就是用于去改变卷积神经网络的维度,IdentityBlock块是能够被用来进行连续串联的且它的输入与输出的维度是一样的,它的功能就是用于去加深卷积神经网络(钟丽娜,黄昊羽,2022)。基于前文的分析,可以充分证明前文的理论探讨,特别是对核心概念的理解在理论上得到了进一步的深化与扩展。这种深化不仅表现在对概念本质的详细解析上,还体现在对其应用范围的广泛探索中。通过对相关文献的整理和实证数据的分析,本文更加清晰地界定了这些核心概念在理论框架中的位置和功能,以及它们之间的内在联系。同时,这种扩展为本文开辟了新的研究视角和思考路径,有助于推动该领域理论的持续进步。本文的研究还突出了理论与实践的紧密联系,通过将理论分析应用于实际问题的解决,验证了理论的可行性和实用性,这种结合也为相关领域的实践提供了坚实的理论依据。二者的结构如下图3.7和图3.8所示:图3.7ConvBlock的结构图3.8IdentityBlock的结构深度为16的vgg16是VGGNet模型中比较经典的网络结构。在这里将输入模块的大小设定为224*224*3,画出的vgg16网络结构的各个模块层次表如表3.1所示:表3.1vgg16网络结构的模块层次表模块模块中的层次模块模块中的层次输入模块224*224*3第四个模块conv3-512conv3-512conv3-512maxpool第一个模块conv3-64conv3-64maxpool表3.1(续)vgg16网络结构的模块层次表第二个模块conv3-128conv3-128maxpool第五个模块conv-512conv3-512conv3-512maxpool第三个模块conv3-256conv3-256conv3-256maxpool第六个模块FC-4096FC-4096FC-1000softmax3.3.2RPN网络在3.2节中已经提到了这一阶段需要进行一次3*3的卷积以及分别进行一次通道数为18和36的1*1的卷积。在这里的几个数字的含义需要去说明一下。FeatureMap会将输入进来的图片分成38*38的网格,在这样的状态中每一个网格上都会有9个先验框;每次预测都会出现背景和前景这两种情况;在一幅图片中确定一个目标的位置需要四个参数,分别是中心点的坐标,先验框的长、宽,正如图3.9所示(蒋泽光,史雪峰,2021)。所以,从我们将通道数18拆分成9*2就可以看出这一卷积的作用就是用于判断先验框是否包含物体;而另一卷积的作用就是用于对先验框进行调整以此来获得一个新的更加准确的先验框,故而我们将通道数36拆分成9*4。图3.9目标位置参数3.3.3ROIPooling层ROIPOOLing层的操作主要可以被分成三个部分:第一,利用输入图像把proposalsbox映射到共享特征层中的ROLs上的对应位置;第二,把上一步中获得的位置分成同样尺寸的sections,这里的sections的数目与输出维度是同样的;第三,对分好的sections使用最大池化(邓瑞波,崔玉凤,2022)。表3.2是为了阐明ROIPOOLing层所做的事情而随机提出的一个数据表,后续的过程会依据这个表来进行。首先,该过程要在获得的局部共享特征层上划分一个小一点的区块,在下表中就分成了四个区块,在这样的布局下这四个区块会使用加粗的外框线来跟表中的其余位置进行区分,不过,在具体的FasterR-CNN算法里面却会在获得的局部共享特征层上划分处出来196个区块;然后要对每一个区块各自进行最大池化的操作,完成池化操作后就可以得到一个尺寸为2*2的FeatureMap(以该表为例),它的值分别为0.91、0.82、0.66、0.81。这在一定程度上预示了这就是该层的工作了,在接下来的过程中,就可以对这些局部的FeatureMap进行下一步的处理(魏泽怡,成雪莹,2021):判断这些局部共享特征层是不是包含物体,并且可以对这个建议框进行调整,以此来获得比较准确的预测框。表3.2poolingsections0.680.740.340.060.370.570.660.860.990.970.560.160.630.330.710.110.690.530.820.220.490.460.800.210.650.290.760.770.330.820.670.370.370.880.910.690.520.430.270.590.380.230.340.570.630.550.960.470.110.540.160.460.810.110.010.360.130.440.640.500.763.3.4分类预测和回归预测分类预测(cls_pred)的目标值的数量是有限的且是无顺序的离散量,而且该预测的目标值只有相同与否的区别,该预测的功能是为了去获得最终的预测框来对建议框进行调整;回归预测(bbox_pred)的目标值是有顺序的连续变量,而且该它的目标值可取任意的实数,这在某种程度上传达该预测的功能是为了去判定proposalsbox内部是不是包括物体及物体的种类(朱晓东,成泽鸣,2022)。3.4本章小结本章是对本次实验所使用的检测算法--FasterR-CNN的论述。本章的内容主要是关于FasterR-CNN算法的原理理解、算法的实现流程及其中的Backbone、RPN网络、ROIPooling层以及分类预测和回归预测。第四章实验设计与结果分析4.1实验目的本次实验的目的是研究FasterR-CNN算法在主干特征提取网络分别为resnet50和vgg16以及主干特征提取网络是否加入注意力机制的情况下对WiderPerson数据集的检测情况以及性能情况如何。4.2实验环境介绍这个项目是在服务器上运行的,GPU的类型是TITANXP*1的,显存是12G大小的;CPU的类型是7核Inter(R)Xeon(R)CPUE5-2680v4@2.40GHz的,内存是16GB大小的;项目的语言为Python3.8,项目的环境为PyTorch1.7.0,Cuda11.0。4.3实验设计这部分的内容主要从主干特征提取网络的具体情况、使用了何种注意力机制以及使用了哪种损失函数这三个方面来介绍实验是怎么进行设计的(林卓忠,张紫朝,2020)。4.3.1主干特征提取网络的设计对于本次实验中的主要操作部分就是主干特征提取网络包括,该网络分别采用resnet50和vgg16这两种。并且分别对在这两种情况下的主干网络中是不是加入注意力机制的情况下的检测情况进行了对比,在这种模式下分析这几种情况下哪种情况得到的检测效果是更为完美的。4.3.2注意力机制的设计注意力机制是一种手段,它是将定量的计算机资源分配给更为重要的任务以此来处理更为重要的信息,当然,这种手段的前提是计算机的计算能力也应该是定量的REF_Ref6768\r\h[23]。现如今共有二类注意力机制,一类是自下而上的和与显著性有关联的注意力机制,它是无意识的、需要外部的刺激才可以进行驱动的注意力,如最大汇聚、门控机制等,另一类是自上而下的和基于最大聚焦方式的注意力机制,它是一种有意识的,可以主动集中于某一对象上的注意力(魏雪莉,赵若彤,2021)REF_Ref6768\r\h[23]。在上述这部分当中,创新主要体现在视角的创新方面。首先体现在对研究对象展开了全新的观察与思考。传统的研究往往侧重于对象的常见属性和普遍联系,而本文却独具慧眼,深入探究研究对象那些被忽视的边缘特性和潜在关联。在研究方法的选择上,突破了传统单一方法的束缚,创新性地融合了多学科的研究手段。再者,在理论运用方面,尝试从不同的理论体系中吸取营养,构建起综合性的理论分析体系。通过这种方式,既能发现以往研究中未曾涉及的理论空白区域,又能为相关领域的理论发展增添新的动力,拓宽了理论研究的范围,为后续研究提供了更丰富的思考空间。除此之外,在此类条件作用下可以推知其发展方向深度学习中的注意力机制这个技巧手段模仿的是人眼。也就是说该机制可以像人眼一样快速而简要地看完所有的信息,然后将注意力放在特定的地方。使用这个技巧手段就可以让网络去关注需要注意的地方,而不是去关注所有的细节。在这个项目中所利用的注意力机制是通道注意力机制(SE),该机制的结构可以用图4.1表示。SE的实现方式不是很复杂。面对这种情况首先就是对输进来的特征层进行全局的平均池化这个操作,这是为了把通道中的特征进行压缩使得其变成实数(成君昊,成泽天,2021);然后就是给特征通道赋予权值;最后就是把权值系数与原始输入的特征层逐个相乘以此来得到最后的结果。图4.1SE基本结构4.3.3损失函数的设计算法的损失严格上意义上可以分成分类损失和回归损失REF_Ref9596\r\h[24]。在本次实验中的回归损失使用的函数的名称叫做soomthL1Loss,该函数的求解可以通过以下的方法进行计算:当真实值与预测值的相减得到的结果x()的绝对值小于1时,它的表达形式为(公式4-1),(公式4-1)其它情况下该函数的表达形式为(公式4-2)。(公式4-2)在本次实验中的分类损失使用的函数的名称叫做交叉熵损失函数,它可以把预测目标与groundtruth的差异值看作学习的损失,它的表达式为(公式4-3),(公式4-3)其中,P和Q分别表示分类任务中的真实的分布和模型预测的概率分布REF_Ref19837\r\h[25]。4.4实验过程本次实验的步骤大致上可以分成四步,分别是数据集的准备、训练步骤、预测步骤和评估步骤。具体为(徐天昊,林文和,2023):第一步:数据集的处理。首先为了实现将项目中用到的数据集的格式变为VOC的目的从而会去运行项目中的一个名为widerpersonVOC.py的文件,从这些言论可以知道两种情况下的数据集的结构如图4.2所示。其次会运行项目中的一个名为clear.py的文件,这个过程是为了删除数据集中的不常用的类(韩一鸣,成瑾瑜,2022)。更改前更改后图4.2WiderPerson行人检测数据集格式第二步:训练步骤。首先,要将项目中的一个名为train.py的文件中的model_path参数设置成本次实验所对应的主干网络的权值文件。其次,运行项目中的一个名为train.py的文件。训练过程可以分成冻结和解冻两个阶段,每个阶段各有70个Epoch,以至于在程序运行结束后会得到140个权值文件。第三步:预测步骤。首先,将项目中的一个名为frcnn.py的文件中的model_path参数设置成上一步中生成的验证损失较小的权值文件。其次,运行项目中的一个名为predict.py的文件而且在这个过程中要输入要输入的图片的路径。第四步:评估步骤。首先,划分数据集。其次,将项目中的一个名为frcnn.py的文件中的参数model_path设置成训练过程中获得的一个权值文件。在最后要去运行项目中的一个名为get_map.py的文件。4.5实验结果与分析这个项目按照Backbone的情况可以被分成四种情况,分别是:resnet50+通道注意力机制、resnet50、vgg16+通道注意力机制、vgg16。在这里就可以通过这四种情况的实验结果来分析与对比,从这些证据中可以看出发现这个算法在哪种情况下对该数据集的检测结果是更好的。4.5.1训练过程该过程会分析这两种主干网络各自的损失的情况以及在同一主干网络中是不是添加注意力机制这一情况下的损失。本研究在确保研究结论精准性的道路上,深入考量了研究流程中可能潜藏的各类偏差风险,并在研究设计的多个层面实施了严格的管控策略。在研究蓝图规划阶段,本文以科学为基石,精心设计了研究框架,确保了研究问题的明确聚焦与假设的严谨构建。在数据采集环节,本文秉承多元化原则,整合了多源数据资源,通过数据的相互补充与验证提升了数据质量,并借助标准化操作流程有效降低了数据采集中的主观偏差。图4.3表示的是主干网络分别是resnet50和vgg16而得到的与训练过程中的损失有关系的图像。其中,这组图片的左侧部分对应的主干网络采用的是resnet50。从这两幅图中可以发现一些规律,根据这两幅图的loss曲线的趋势都可以将其分成两部分,这是因为整个训练过程分为冻结阶段和解冻阶段(张语朝,陈睿泽,2023)。其中,在冻结阶段模型的主干被冻结了,特征提取网络不会发生变化,这些行为透露出一些意图不过却可以加快训练的速度;而解冻阶段的情况则与冻结阶段阶段的情况正好相反。而且,这两个网络的训练损失和验证损失的值都在不断下降并且在最后逐步趋于平稳,证明模型在整个过程中是在不断地进行学习的且最后会逐渐收敛。图4.3resnet50和vgg16的损失图4.4表示的是主干网络为resnet50和在该网络中加上SE机制而得到的与训练过程中的损失有关联的图像(谭羽轩,陈雅静,2023)。在这组图片的左侧部分对应的主干网络采用的是resnet50且没有加注意力机制的情况。在这样的状态中对比这两幅图中可以发现一些规律,加入SE机制后,loss曲线的波动变得更大了。发生这种情况的原因就是因为SE机制会使得模型中的那些表示信息量最大的channel特征变得更多,而会使得那些不重要的channel特征REF_Ref7163\r\h[25]变得更少。图4.4resnet50和resnet50+SE的损失4.5.2预测过程该过程会对比分析这两种主干网络各自的预测情况以及在同一主干网络中是不是添加注意力机制这一情况下的预测结果。眼下的研究方向和结论跟既有的成熟理论范式相一致,在研究过程中严格恪守科学研究的规范流程与严谨做派。从研究设计之初,便充分参考经典理论结构的构建理念,确保研究框架的合理性与稳定性。数据统计阶段采用多种被理论认可有效的方式,对收集到的数据运用适宜的统计分析工具。在结果阐释环节紧紧围绕已有成熟理论展开。将研究结论与理论模型作全面比对,分析其一致之处与分歧之处。对于一致之处,进一步强调研究如何充实和验证了理论;对于分歧之处,深入思考背后的动因,为后续研究提供指引。图4.5表示的是主干网络分别采用resnet50和vgg16而得到的预测结果。其中,这组图片的左侧部分对应的主干网络采用的是resnet50。以下两幅图片中的每个框内都会显示出类别,并将得分标记出来。这两种情况的结果大体上还是可以的,大部分被遮挡的行人也都被识别出来了,不过仍有一些被漏掉了。而且采用vgg16能够更好地去识别那种遮挡程度很严重的行人,如只露出一小部分身体的行人,这使得该框架得到的结果更加的完善、完美(陈昊忠,赵奇朝,2021)。图4.5预测结果展示图4.5表示的是主干网络为resnet50和在该网络中加上SE机制而得到的预测结果。其中,这组图片的左侧部分对应的主干网络采用的是resnet50。以下两幅图片中的每个框内都会显示出类别,在这样的布局下并将得分标记出来。这两种情况的结果大体上还是可以的,大部分被遮挡的行人也都被识别出来了,不过仍有一些被漏掉了(付嘉瑞,孙怡忠,2021)。而且在网络中添加注意力机制后能够使得网络去关注整个图片,这样就可以更好地去识别那种遮挡程度很严重的行人,如只露出一小部分身体的行人,这使得该框架得到的结果更加的完善、完美。图4.6预测结果展示4.5.3评估过程该过程会对比分析这两种主干网络以及在同一主干网络中是不是添加注意力机制这两情况下对于该数据集中的“pedestrians”类的识别精度。图4.7表示的是主干网络分别是resnet50和vgg16而得到的对于“完整的行人”和被遮挡的不是非常严重的行人这个类的识别精度的图像。其中,这组图片的左侧部分对应的主干网络采用的是resnet50。从下面的两幅图中不难发现,主干网络采用vgg16的情况下对于那些对于“完整的行人”和被遮挡的不是非常严重的检测目标的识别效果是更完美的,这也说明了主干网络的类型对与算法的识别效果是有影响的(孙志恒,杨慧萍,2019)。图4.7预测结果展示图4.8表示的是主干网络为vgg16和在该网络中加上SE机制而得到的对于“完整的行人”和被遮挡的不是非常严重的行人这个类的识别精度的图像。这在一定程度上预示了其中,这组图片的左侧部分对应的主干网络采用的是resnet50。因而,本文针对结论进行了再次审核。首要工作是在理论方面确认研究假设的合理性与逻辑的严密性。通过对相关文献进行系统梳理和深入对比分析,证实了研究框架的科学性与适用性。在此基础上,进一步采用多种实证手段对研究结论加以验证,以保证结果的可靠性和稳健性。通过与其他相关研究成果的对比,验证了研究结论的普遍适用性和创新性。在与已有文献结论对比分析后,发现本文研究结果不仅支撑了部分已有的观点,还提出了新的看法,为相关领域的理论发展提供了新的思路和证据。同时,本文还探究了研究结论在实际应用中的潜在作用,为后续研究提供了指引和建议。这在某种程度上传达从下面的两幅图中不难发现,加入注意力机制后,对于那些对于“完整的行人”和被遮挡的不是非常严重的检测目标的识别效果是更完美的,因此可以才用这种方法对该算法进行改进(孙奇倩,高明泽,2023)。图4.8预测结果展示4.6本章小结本章节首先对本次实验的目的以及实验环境进行了介绍,之后从主干特征提取网络、注意力机制以及损失函数三个方面来对实验的设计进行了阐述,接下来叙述了本次实验的实验步骤,最后对在本项目中得到的实验结果进行展示和分析。第五章总结与展望5.1研究总结今朝,行人检测算法可以说只要有行人就会有它的用武之地,不只是应用于自动驾驶、智能机器人等领域。可是,对于场景中检测目标过多的行人检测,由于行人与行人之间和行人与环境之间的存在的遮挡以及场景中可能会存在一些小尺度的检测行人等情况的发生可能会使行人检测算法的性能下降。同时,被用来进行检测的行人的姿态、行人的视角以及拍摄设备的拍摄角度、场景中的光照等因素也会使密集场景中存在遮挡现象的行人检测出现漏检等现象。基于上述的种种原因,现在仍然有很多的学者投身于行人检测算法的研究当中,他们也提出了很多优秀的行人检测算法。本文是对FasterR-CNN行人检测算法的了解与实现,\t"/report/74a8a055-c563-4175-b920-086732e41276/html/resultFrame"针对的场景是被用来检测的行人过多且他们之间可能被遮挡的情况。下面的内容是对本文所做的工作的总结:一、本文说明的是关于行人检测算法的意义以及详细论述了它的国内和国外的现有研究水平。二、对FasterR-CNN算法所需要的理论进行了说明,包括WiderPerson行人检测数据集的统计特性;关于卷积神经网络的知识论述;精准率、准确率、召回率、交并比、AP和mAP等行人检测算法中可能会用到的评价指标。三、对FasterR-CNN算法的理论研究和该算法在密集场景下的实现。阐述了该算法的原理、流程及其中的Backbone、RPN网络、ROIPOOLing层以及分类和回归预测这四个算法结构进行了理论介绍。从主干特征提取网络、注意力机制以及损失函数这三个方面对实验设计进行了介绍。展示了四种情况下获得的实验结果,并对其进行分析。5.2期望通过对本次实验的分析,对于本文所做的工作还有以下几个可以被改进地方。一、本文所使用的的数据集仅仅是WiderPerson,由于时间紧任务重,该数据集的格式被改为VOC后就直接使用了,并没有考虑其它数据集在这种情况下的使用情况。尽管该数据集包括了绝大多数的密集的场景,但在后续的研究中,仍然需要对其它的数据集进行检测,以便于检查该算法的竞争性和适合性如何。二、本文的代码是参照FasterR-CNN算法的理论写出来的,所以它也具有一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西中医药大学《藏医药经典著作选读》2023-2024学年第一学期期末试卷
- 陕西国际商贸学院《中国财政史》2023-2024学年第二学期期末试卷
- 陕西学前师范学院《食品微生物》2023-2024学年第二学期期末试卷
- 陕西师范大学《固体矿产勘查案例》2023-2024学年第二学期期末试卷
- 陕西服装工程学院《彝文典籍导读》2023-2024学年第二学期期末试卷
- 陕西省咸阳市礼泉县2025届高三下学期第五次月考语文试题试卷含解析
- 陕西省延安一中2024-2025学年高三二模数学试题试卷与答案含解析
- 陕西省榆林市佳县2025届六年级下学期5月模拟预测数学试题含解析
- 陕西省汉中市南郑中学2025届高三第五次适应性训练生物试题试卷含解析
- 陕西省渭南市2024-2025学年小升初复习数学模拟试卷含解析
- 学校卫生监督课件
- 532近代前夜的危机
- 物理人教版(2019)必修第二册5.2运动的合成与分解(共19张ppt)
- 病原微生物实验室生物安全备案专家意见表
- 中国航信离港系统讲义
- 6000m3内浮顶油罐设计
- 食堂管理考核评分表
- (精心整理)朱德熙_说 “的”
- 《雷锋叔叔,你在哪里》说课稿(附优质教案)
- 日语N5阅读理解
- 员工餐厅餐具清洗消毒制度及流程
评论
0/150
提交评论