APP下载

基于分组卷积进行特征融合的全景分割算法

2021-07-30冯兴杰张天泽

计算机应用 2021年7期
关键词:空洞实例类别

冯兴杰,张天泽

(1.中国民航大学计算机科学与技术学院,天津 300300;2.中国民航大学信息网络中心,天津 300300)

0 引言

图像全景分割(Panoptic Segmentation,PS)任务是图像语义分割任务与实例分割任务的结合,要求在图像中通过语义分割的方式识别图像背景的类别和范围,通过实例分割的方式标记划分前景物体的实例信息区域,并将每一个像素标记为事物对应的类别[1]。全景分割任务在解决了语义分割无法区分前景事物个体与范围信息的同时,也解决了实例分割无法区分背景语义信息的问题,旨在得到更加综合、更加全面的图像分割结果。近年来,由于全景分割任务新指标的提出以及相关识别挑战[2]的兴起,使得该项任务得到了更加广泛的应用发展与关注。

针对全景分割任务的方法主要分为两种,分别是自顶向下的方法以及自底向上的方法。自顶向下的方法中,联合全景分割网络(Unified Panoptic Segmentation Network,UPSNet)[3]、全景特征金字塔网络(Panoptic Feature Pyramid Network,Panoptic FPN)[4]以及注意力引导的联合全景分割网络(Attention-guided Unified Network for panoptic segmentation,AUNet)[5]等方法普遍通过采用Mask R-CNN 网络[6]进行语义分割分支的处理。通过采用实例预测结果优于语义预测结果、类别之间的相互语义关系以及预测置信度得分等方式解决预测掩码重叠冲突等问题。这种自顶向下的方法通常运行速度较为缓慢,难以快速并行地进行神经网络的训练和预测,这是由于网络中存在多个复杂顺序模块导致的。

而自底向上的方法通过分别预测不重叠的掩码区域解决掩码重叠冲突问题,通常起始于语义分割分段再通过分组操作生成实例分割掩码并合并语义与实例分割结果,代表方法包括DeeperLab[7]、SSAP(Single-Shot instance segmentation with Affinity Pyramid)[8]等。相比自顶向下的方法,自底向上的网络模型具有更高的推理速度,但采用该种方式的方法较少并且表现出相对较差的性能。

由Cheng 等[9]提出的Panoptic-DeepLab 网络同样采用自底向上的方法,通过双路空间金字塔池化的方式将由残差网络提取得到的图像特征信息划分为双路多尺度图像特征信息对应进行语义分割与实例分割处理,得到的分支结果分别进行语义分割预测、实例分割预测与实例中心点预测三个部分进行训练学习。该方法不仅用时较少并且表现出优越的性能;但该方法采用双路网络结构在自底向上的方法中增加了一定的训练用时,结构相对较为复杂。

针对上述方法所存在的问题,本文提出一种基于分组卷积[10]进行由底向上进行全景分割预测的方法GCPSNet(Grouped Convolutional Panoptic Segmentation Network)。GCPSNet 通过残差网络结构提取深层图像信息,并利用不同感受野的空洞卷积空间金字塔池化结构对图像中语义背景与实例前景进行优化训练,然后采用分组卷积的方式对语义与实例分割分支进行合并训练,最终通过语义分割预测、实例分割预测与实例中心点预测三个分支进行损失函数的反向回归。

与前述方法比较,本文方法具有如下特点:

1)采用分组卷积[10]的方式,在不影响参数交互的情况下将语义分割与实例分割支路合并为一路,极大减少了参数量,提高了网络运行速度。

2)在语义分割与实例分割支路中分别采用不同扩张率的空洞卷积:针对语义背景选用更大的扩张率空洞卷积,针对实例前景则选用更小扩张率空洞卷积,这样有利于更加准确地提取图像信息特征,提升神经网络性能。

3)在模型的归一化操作中引入Inplace-ABN(Inplace Activated Batch Normalization)层[11],在添加少量计算的基础上节省大量的存储空间,更加有利于神经网络的训练与优化。

1 本文方法

1.1 网络模型

本文全景分割网络由四个部分组成:1)由语义分割与实例分割共享的编码骨干网络;2)由不同扩张率组成的双路空洞卷积空间金字塔池化(Atrous convolutional Spatial Pyramid Pooling operation,ASPP)模型进行整合得到用于分组卷积的图像特征模块;3)可以同时进行语义与实例分割的分组解码模型;4)用于预测的语义分割、实例分割以及中心点预测的接口模型。完整的网络模型结构如图1所示。

图1 本文全景分割网络模型Fig.1 Panoptic segmentation network model in this paper

1.1.1 特征提取骨干网络

GCPSNet 采用经典残差网络结构(Residual Network,ResNet)[12]作为提取图像特征的骨干网络(如图2)。该网络由残差结构组成,这种残差网络结构通过在卷积神经网络中增加直连通路,解决了梯度离散现象,使得网络深层特征可以在浅层特征基础上层层递进,更好地保留了图像的细节特征。再将其中的归一化层(BatchNorm,BN)[13]替换为更加节省内存空间的Inplace-ABN 层[11],通过牺牲一点运算时间的代价,使得网络在训练中可以提升batch size 的数量,达到更加稳定的训练结果。

图2 残差网络结构Fig.2 ResNet structure

该残差网络结构分别对应生成分辨率为1/4、1/8、1/16、1/16 四种层次的图像特征,这些参差网络的输出记录了图像中实例类别的边缘特征信息,图像中的线条、曲线等特征结构以及局部特征的语义信息。图3 所示为具体残差网络最深层的输出结果,相比浅层残差网络特征图更能提取出较为详细的语义信息。图中从对于同一张图像中的1 024 通道特征图中选取的不同通道特征图实例,分别展示了经典残差网络对于图像部分特征的表达结果。图像所标记的方框中可以依次体现出经典残差网络ResNet 结构对于图像中局部特征信息、纹理特征信息(如道路等类别)、轮廓信息(如汽车等类别)、边界边缘特征信息(如路杆、边道等类别)以及具体语义信息(路杆等类别)的表达。这些特征表达将在后续ASPP网络中进行进一步的特征融合。

图3 残差网络部分输出特征表达结果Fig.3 Some residual network output feature representation results

其中分辨率为1/4和1/8的图像特征也将被用于与后续解码操作进行特征融合,以达到细化图像边缘特征的作用;而最终得到的分辨率为1/16 的最深层特征将被用于ASPP 网络结构进行空洞卷积特征提取处理。

1.1.2 多尺度的ASPP网络结构

将由骨干网络得到的底层图像特征经过两个多尺度的空洞卷积空间金字塔池化结构[14-16],分化为语义分割与实例分割两种课题的图像特征模型。不同扩张率的空洞卷积可以记录不同尺度的图像感受野信息,而ASPP结构通过联合不同尺度的空洞卷积融合了多尺度的图像信息进一步提升了图像分割效果。图4 表示了不同尺度的空洞卷积在ASPP 空间金字塔池化结构下感受野的关系。

图4 空间金字塔池化(ASPP)结构Fig.4 Atrous Spatial Pyramid Pooling(ASPP)structure

GCPSNet 采用两组不同扩张率的空洞卷积联合组成一组较大的空洞卷积组,其中扩张率分别为6、12、18 的空洞卷积用于提取图像中占比较大的语义背景特征信息;而采用扩张率为4、10、16 的空洞卷积用以提取图像中占比较小的前景实例信息,避免遗漏图像中小物体实例的细节特征。

将空洞卷积提取的用于语义分割与实例分割的图像特征分别与经过卷积核为1×1和经过全局平均池化操作的底层图像特征结合在一起,并分别进行特征融合,得到记录不同尺度的多尺度语义、实例特征信息。将语义分割与实例分割信息级联在一起,更加便于有效地进行后续分组卷积操作。

1.1.3 分组卷积的解码过程

通过双线性插值上采样的方式将图像特征上采样,通过分组卷积[10]分离语义分割部分图像特征与实例分割部分图像特征。分组卷积可以将图像记录特征分为语义、实例两组,并且在两组内部的网络学习过程中权重互不干扰,有效地保证了语义特征、实例特征信息的分别完整表达。图5 表示了分组卷积的分组结构。

图5 分组卷积结构Fig.5 Grouped convolution structure

在图像上采样到原图1/8 与1/4 阶段,分别将编码过程中对应层级的图像特征进行特征融合为16通道与8通道的特征图像,级联到分组卷积的底部与顶部。此种做法保证了语义分割与实例分割部分得到相同层次特征进行信息融合的一致性。在与编码信息通过分组卷积操作进行特征融合后,再通过卷积核大小为5×5的深度可分离卷积[17]进行特征融合到指定通道数,保证后续上采样操作的顺利执行。

而采用深度可分离卷积的方式,可以极大减少在特征融合过程中的参数计算量,加快神经网络的运行速度,并且不会造成分组卷积在语义分割与实例分割过程中的参数混淆问题,其深度可分离卷积的结构如图6 所示。在本文模型的每一个上采样阶段,都采用5×5 的深度可分离卷积进行特征融合。

图6 深度可分离卷积结构Fig.6 Depthwise separable convolution structure

本文分组卷积解码方法可以通过如下公式进行表达:式(1)表示基础骨干网络卷积层的迭代过程,I表示输入图像,Cn表示第n个卷积模块,fn则表示经过n个卷积模块后提取得到的特征图;式(2)中F表示分组卷积最初的特征融合结果,Fs与Fi分别表示语义与实例特征部分,G表示特征融合操作,As与Ai分别对应语义与实例部分的空洞卷积,分别是由各自扩张率(A6,A12,…与A4,A10,…)的空洞卷积构成;式(3)表示第n层分组卷积是由n-1 层分组卷积与骨干网络第k层特征进行特征融合的结果(其中k小于n);式(4)表示将多支路输出接口融合在一起,Ps、Pi、Pcen分别代表语义、实例以及中心点输出接口操作,D则表示最终的输出结果。

最终,通过分组卷积[10]的方式将得到的包含语义、实例信息的分组特征上采样至原图大小,通道数为256 的特征图,导入不同的预测接口进行神经网络的预测。

1.1.4 接口模型预测

将由分组卷积得到的解码分组特征中用于表示背景语义特征信息的前128 层通道作为语义分割接口模型的预测;用于表示前景实例特征信息的后128 层通道用于实例分割接口与实例中心点接口模型的预测。

对于语义分割接口,通过普通的全卷积网络进行网络融合,最终输出为与图像数据集类别数目相对应的特征通道数。而实例输出接口模型则通过全卷积网络输出两层通道数进行二分类任务来分别判断实例物体的前景背景信息。除此之外,引入实例中心点接口通过质心表示每一个对象实例,通过非最大值抑制的方式过滤掉低置信度评分的预测,仅保留前100 个具有最高置信度评分的位置。针对每一个实例物体的质心,通过{Cn:(in,jn)}表示,以获得中心点预测。对于每一个像素点采用实例中心回归的方式预测对应类别,如式(5)所示:

其中考虑位置(i,j)处的预测类别ki,j,它到实例中心的偏移量为O(i,j),包括了水平方向与垂直方向的偏移。则代表该位置的预测实例类别为最接近实例中心的最近索引。

最终,本文采用DeeperLab 方法中的“多数表决”的原则[7]进行快速并行的结果合并,完成模型掩码的预测。

1.2 训练

1.2.1 损失函数与优化

对于给定数据集,本文的目标是将其在全景分割模型的语义分割、实例分割以及中心点预测三个端口的联合损失函数达到最小。其中语义与实例分割接口采用加权交叉熵损失函数[18],如式(6)所示为实例分割二分类交叉熵损失函数,yi表示前景标签类别,若为前景其值为1,否则值为0;pi则代表判断为前景对应概率。

式(7)表示语义分割交叉熵损失,代表整体图像损失为每一个像素i上的损失Li之和。

其中:yic与pic分别代表像素i判定为c类时的标签与概率值;M代表该数据集所有类别。

而中心点损失函数采用L1 损失函数如式(8),代表每个像素点(i,j)对应类别的L1损失函数之和。

最终损失函数如式(9)所示:

本文按照DeeperLab[7]为属于实例分割的交叉熵权值参数λins设置为3,该实例分割区域在整体特征图中相对较小;为其余属于语义分割的交叉熵权值λsem设置为1;为保证相对稳定的损失占比,将λcenter设置为0.01。

1.2.2 优化方式

本文模型采用Adam 优化器[19]更新权重矩阵,尽可能降低损失函数数值。更新参数的公式如下:

本文根据多元学习策略[20-21],将学习率η设置为0.001,ε设置为10-8;梯度第一时刻平均值mt,第二时刻方差值vt,对应β1与β2分别为0.9与0.999 9。

1.2.3 参数设置

本文通过采用方差为1、平均值为0的正态分布初始化神经网络的权重,并将偏置b设置为0;将初始的学习率设置为0.001,每经过20 轮训练依次递减50%,保证了神经网络参数更好的训练和更新。

实验采用的硬件环境为AMD Ryzen 2700X 八核处理器,NVIDIA GeForce GTX 1080Ti 的GPU;软件环境设置为Ubuntu 16.04操作系统;采用TensorFlow2.0框架构建神经网络模型。实验的训练批次batch size 大小设置为2,训练轮次为20 000,在训练完成后终止神经网络的学习。

2 实验结果与分析

2.1 数据集与评价指标

实验选用公开的图像城市景观数据集Cityscapes[22]用于全景分割。该数据集包括2 975 张训练图像、500 张验证图像以及1 525张测试图像,包含8个实例事物类别以及11个语义背景类别。在实验中通过90°旋转、左右翻转、放缩等方式对训练集进行图像增强[23]并扩充至11 900 张训练图像,并在增强数据集上将整图(大小为1 024×2 048)进行随机裁剪至1 024×1 024 大小放入神经网络进行训练,而神经网络的全卷积结构可以使得裁剪图像更加便于优化网络模型参数。

模型性能通过平均交并比(mean Intersection-over-Union,mIoU)、全景分割质量(Panoptic Quality,PQ)以及平均精度(Average Precision,AP)三个评价指标更加综合地对模型进行性能评估。其中AP 表示为精确率(Precision)与召回率(Recall)共同作用的PR曲线下的面积(如图7所示)。

图7 PR曲线Fig.7 PR curve

令TP表示预测正确的正样本数(即在图像中对应类别预测正确的像素点数目),FP表示预测错误的正样本数目,FN表示漏预测的正样本数目。精确率Pre与召回率Rec如式(13)、(14)所示:

AP 表示为贯穿召回率从0到1之间的全部值所对应的精确率p(r)的平均值。

2.2 实验细节

2.2.1 多尺度的空洞卷积

在第1.1.2 节所介绍的对于网络实例分割支路应用不同扩张率以改善对于前景实例物体细节特征的描述。由于空洞卷积可以在扩张卷积感受野的同时减少图像冗余信息以达到提升精度的效果,所以在实验中首先对3×3 普通卷积与空洞卷积的实例分割效果进行对比。除此之外,考虑到前景实例物体由于与背景语义类别尺度不同,所包含的冗余信息也有区别,需求的感受野大小与语义背景类别也有所不同,所以考虑对前景实例分支进行不同扩张率空洞卷积的对比实验。表1 展示了普通卷积(扩张率为1)与不同扩张率的带洞卷积在全景分割网络中仅比较前景实例类别时在mIoU 以及PQ 两个指标上的对比情况。

表1 普通卷积与空洞卷积(不同分辨率)性能对比Tab.1 Performance comparison between ordinary convolution and atrous convolutions(different expansion rates)

从表1 中的前四行可以看出,PQ 随着空洞卷积扩张率的增加而提升,并在扩张率为4,10,16 时达到最大值,这表明随着感受野的增大,空洞卷积所提取得到的有用特征信息在增多,冗余信息也得到了很好的过滤;而后两行数据PQ 开始降低,这是由于当扩张率达到一定大小后,冗余信息开始逐渐增多,空洞卷积的效用开始降低[24]。

2.2.2 双ASPP结构的仿真结果

本文通过双ASPP 结构分别对语义分割支路与实例分割支路进行特征融合。根据2.2.1 节所示对于空洞卷积结构扩张率的选择,语义分割部分的ASPP空洞卷积空间金字塔池化结构的空洞卷积采用扩张率为6,12,18 空洞卷积,以及全局平均池化和卷积核尺寸为1×1的普通卷积五个部分进行特征融合组成。这些部分的参数设置大体相同,空洞卷积的参数设置均选用256 通道数的卷积核,卷积核权重采用均值为0、方差为1 的高斯分布进行随机初始化,偏置设置为0,并均选用same padding 进行填充。全局平均池化操作后同样通过一个卷积核尺寸为1×1 的256 通道的瓶颈层操作,进行特征融合,其参数权重设置与空洞卷积设置相同。将这五个结构合并,并通过卷积核为1×1 的256 通道、相同权重偏置设置的瓶颈层进行特征融合操作。特征输出结果如图8 所示,经过ASPP 语义分割的仿真图像对于特征图上道路、天空以及汽车、路灯边界以外的语义信息有着较为清晰的表达。

图8 ASPP语义分割特征融合结果Fig.8 ASPP semantic segmentation feature fusion result

针对于实例分割的ASPP 结构采用扩张率分别为4,10,16 的空洞卷积进行特征提取,并选用1×1 的卷积操作以及全局平均池化操作分为五个部分进行特征融合。空洞卷积的通道数、参数、权重设置,全局平均池化的参数设置以及后续语义融合操作的通道数、参数、权重设置均与语义分割ASPP 部分保持一致。特征输出结果如图9 所示,该图像对于车辆、边道以及路杆等前景信息有着较为清晰的体现。

图9 ASPP实例分割特征融合结果Fig.9 ASPP instance segmentation feature fusion result

此后将双ASPP 网络512 通道的合并融合结果结果卷积核大小为1×1,参数权重为均值0、方差1 的随机分布,无偏置的卷积操作进行特征融合作为分组卷积解码网络的输入。图10 为该分组结构所包含的语义特征与实例特征的融合输出结果。

图10 双ASPP特征融合输出结果Fig.10 Double ASPP feature fusion output result

2.2.3 分组卷积

为比较模型方法中解码结构分组卷积通道数选用对实验结果以及模型运行时长的影响,在对比实验中分别采用四组通道数进行PQ 以及单轮次图像模型训练时长的对比,如表2所示。

表2 不同分组通道数性能对比Tab.2 Performance comparison of different grouping channels

根据表2 可知,在分组通道数(语义,实例分支)增加后,PQ 精度有所提升并且单轮次的训练时长也在增长。再结合对比图11 坐标系中不同方法的预测时间及其结果,可以得出在通道数选用256,256 以及512,512 时对比模型预测图像时长明显增加,均在100 ms以上;而通道数选用64,64时相比其他模型在分割质量上下滑较大。最终选用通道数为128,128的分组卷积进行全景分割更加能够平衡时间效率与全景分割效果。

2.2.4 卷积层仿真结果

在编码结构残差骨干网络中的卷积层起到了不同语义特征提取的作用,有利于神经网络在后续图像分割过程中对特征进行更好的提取和表达。而在解码网络中的卷积层则起到上采样复现图像特征细节边缘结果的作用。在解码网络中分组卷积分别与残差网络中的第2、3 层的中间结果进行融合,从而不断加强模型对于图像细节特征的表达,使实验结果更加精确。图12 是仿真图像卷积层的仿真结果,图(a)、(b)所示图像从上到下分别为浅层卷积与深层卷积的对比输出结果,随卷积层的逐渐加深与编码网络中间层结果的融合,可以观察到随卷积层的逐层加深有助于表述出更加清晰明确的边缘特征,而对于特征图特征表达区域的亮度更大则代表着置信度更高,语义信息更加明确。图(c)的图像则清晰地显示了卷积层对于实例特征之间更明确的边界划分以及对于实例中心点特征表达的帮助。

图12 图像卷积层仿真结果对比Fig.12 Comparison of image convolutional layer simulation results

2.3 模型训练细节

模型的实验过程共经历20 000 轮次训练,每个轮次的batch size 设置为2,具体实验环境以及模型学习率等设置在1.2.3 节给出了详细说明。模型的参数设置分为骨干网络、双ASPP融合网络、分组卷积解码网络三个部分。其中骨干网络采用从ImageNet 上进行预训练完毕的参数权重进行导入,随训练过程的进行不再更改;双ASPP网络中的参数权重已在2.2.2 节给出;分组卷积解码网络采用骨干网络第三层的256层通道经过两组32 个1×1 的卷积核进行压缩,再与双ASPP网络输出通道顶端与底端进行concat操作,组合成320通道分组卷积,再进行320通道深度可分离卷积与1×1卷积核的分组卷积处理后调整回256 通道。之后再与骨干网络第二层重复当前操作,提取骨干网络通道数改为两组16个1×1卷积核,分组卷积通道调整为288,深度可分离卷积通道数为288,最终依旧调整至256 通道数目。在分组卷积解码网络上普通卷积操作卷积核大小均为1×1,权重采用均值为0、方差为1的正态分布进行随机初始化,偏置设置为0;深度可分离卷积的卷积核大小设置为5×5,权重与偏置同普通卷积采用相同配置,在每次卷积操作后分别经过归一化层与ReLU函数进行处理。

表3 展示了模型在语义分割、实例分割、目标中心点三个分支进行损失函数运算时,分别在训练与测试时损失函数的输出结果。根据表中结果可以得知,实例中心点在模型中相对更加好判断,而实例分割区域相较于语义分割区域占比较小,实例特征轮廓相较更好识别,也拥有相对较好的损失函数输出结果。

表3 三种分支损失函数的输出结果Tab.3 Output results of three branch loss functions

图13 则展示了本文模型在训练时的收敛曲线,纵坐标代表训练损失,横坐标则代表从模型20 000 次迭代的训练结果中平均选取的一共4 000次输出。

图13 损失函数收敛曲线Fig.13 Convergence curve of loss function

模型训练采用Cityscapes 数据集,共19 个类别。在模型输出端每个通道代表对应类别,部分类别输出图像如图14 所示,图(a)~(f)分别表示模型输出通道关于道路类别、天空类别、建筑物类别、森林类别、车辆类别以及行人类别信息的表达。

图14 部分类别的特征表达Fig.14 Feature representation of some categories

2.4 实验结果对比

为比较模型自身的效果,对比实验将在相同的实验环境下针对5 种主流全景分割模型表现进行对比,即采用相同的实验设备,通过相同的优化方法以及学习率,在保持相同的batch size 下迭代相同的epoch 数量等,此外这些对比方法也经过相同的编码骨干网络ResNet101[12],骨干网络上的权重参数经过ImageNet预训练处理固定,并不参与整体的训练过程。实验结果如表4 所示。通过表4 可以看出,在Cityscapes 数据集上,本文模型的性能上要优于AUNet[5]、UPSNet[3]等主流方法,与其中最好的Panoptic-DeepLab[9]相比,GCPSNet 的PQ 值要差0.003,但AP 与AP50(目标IoU 阈值超过50%的情况下)分别提升了0.002 与0.014,mIoU 提升了0.006,总体表现与Panptic-DeepLab差距不大。

表4 本文模型与其他方法对比Tab.4 Comparison of the proposed model and other methods

表5 则表示了本文模型与Panoptic-DeepLab 在Cityscapes城市景观数据集上的具体类别在PQ、分割质量(Segmentation Quality,SQ)与识别质量(Recognition Quality,RQ)指标的对比。其中三个指标的关系[1]如式(16)所示:

由表5 对比可以看出,本文模型在多个类别中分割质量要略低于对比模型,这表明了随着2.2 节中分组卷积选用的解码网络参数量降低而带来的分割精度的小幅下滑;而在大部分前景实例类别如公交车、卡车、围栏、火车、自行车等的识别质量则小幅领先于对比模型,也表明了选用不同尺度空洞卷积所带来的前景物体识别质量的改善。

表5 具体类别分割质量对比Tab.5 Comparison of segmentation qualities of specific categories

图15 展示了原始图像、分割标签、本文的中心点输出结果(本文1.1.4 节中实例中心点接口的输出结果)以及最终的分割图像,从图中看出本文方法可以较好地完成全景分割的任务。

图15 图像分割结果Fig.15 Image segmentation result

3 结语

本文从自底向上全景分割网络语义、实例双支路特征信息的角度出发,提出了一种通过分组卷积在不影响语义、实例特征表达情况下进行统一解码的单路全景分割网络,并通过调整双ASPP 结构中的空洞卷积的扩张率使之更加适应分割任务的结果表达。通过这样的改进,本文模型在不影响语义、实例特征表述的情况下简化了双支路网络的模型结构,降低了参数量,加快了推理速度并在CityScapes 数据集上取得了相对优秀的分割结果。但本文算法也存在一定的不足,首先图像类别的分割边界依旧存在不够清晰的问题;其次在2.4节表4 中所记录的某些特定类别如墙体、地势、火车等存在着识别质量不够理想影响分割质量的情况。这些需要解决的问题将在今后的工作中进行进一步的探讨。

猜你喜欢

空洞实例类别
番茄出现空洞果的原因及防治措施
一起去图书馆吧
如何避免想象作文空洞无“精神”
简析基于概率预测的网络数学模型建构
空洞的眼神
完形填空Ⅱ
完形填空Ⅰ
选相纸 打照片
班有活宝