当前位置:首页 期刊杂志

基于深度学习的全极化SAR影像冰川边界识别

时间:2024-08-31

范吉延,柯长青,姚国慧,王梓霏

南京大学 地理与海洋科学学院,南京 210000

1 引言

来自喜马拉雅山脉的冰川融水为周边地区居住的人口提供了至关重要的淡水资源(Immerzeel等,2010)。近年来喜马拉雅山脉的冰川在加速萎缩(聂勇 等,2010;Scherler 等,2011)。通过监测冰川获取冰川融水情况已经成为评估周边国家水资源可用性和提供区域气候反馈的重要方式。

冰川识别是冰川监测的重要组成部分,而使用遥感图像能够快速、准确的提取冰川边界以显示冰川变化与研究冰川物质平衡(Harris等,2009;Paul 等,2015)。虽然使用光学遥感影像能够准确的识别出冰川边界,但由于其受到云层的影响,云及云影下冰/雪信息重建面临困难,且冰川表面积雪消融变化特征在光学影像上难以观测,无法在固定区域研究冰川变化的时间序列问题。合成孔径雷达(SAR)具有穿透云层的能力,而L 波段的SAR 有比X 和C 波段SAR 更长的波长,能够穿透更厚的雪(Takeuchi和Oguro,2003),因此更适合于冰川识别与变化监测。从20 世纪80 年代后期开始L 波段SAR 影像就开始被用于冰川识别,Shi和Dozier(1993)使用AIRSAR 数据对冰川进行识别,并探究了L波段SAR与C波段SAR在冰川识别中的效果。

全极化SAR 数据具有比传统SAR 以及单极化SAR 数据更丰富的信息,而极化分解可以量化表面和内部后向散射的贡献,提高对不同位置冰川的识别能力(Sharma 等,2011)。极化分解的特征参数不仅增加了雷达图像的信息量,而且扩大了SAR 数据在冰川遥感中的应用维度(Singh 等,2014;Thakur 等,2017)。Thakur 等(2017)利用Pauli 极化分解特征,基于支持向量机(SVM)实现了表碛冰川的识别。除此之外,人们发现在用极化雷达数据识别冰川时,加入地形数据能够大幅提升识别精度(Usami 等,2016)。Callegari 等(2016)在采用后向散射值时,将局部入射角作为支持向量机(SVM)的输入特征,得到的分类精度最高。Yao 等(2020)将局部入射角与多种极化分解特征参数相结合,分类精度得到显著提升。

近年来,深度学习发展迅速,在AlexNet 基础上发展出的VGG(Simonyan 和Zisserman,2015)神经网络大大提高了图像的分类精度,全卷积神经网络模型U-net(Ronneberger 等,2015)的出现使影像在实现像素级分类的同时能够获取更深层次的语义信息,这些网络凭借其优良的纹理特征提取能力应用广泛,在冰川识别方面也展现出其优势。Parrella等(2016)使用经过微调的Alex-Net从Sentinel-2 图像中提取特征,并使用主成分分析(PCA)进行降维,然后输入到随机森林分类器(RF)中识别出冰川,精度达到96.02%;Xie 等(2020)使用基于深度学习改进的GlacierNet 图像分割方法,将Landsat 8 影像作为特征进行输入以识别冰川,精度达到99.36%。由以上方法可以发现,使用图像分割能够实现更高的识别精度。虽然以上方法在冰川识别中达到了很高的精度,但多光谱影像数据受制于气候条件。因此,本文采用全极化SAR 影像作为数据源,并在此基础上生成极化相干矩阵,使用Freeman-Durden、H/A/α、Pauli、VanZyl、Yamaguchi 这5 种极化分解特征参数以及极化相干矩阵对角线元素共计19 个特征参数,并结合基于U-net开发出的适用于全极化SAR影像的VGG16-unet 进行冰川识别。在此过程中探究多种极化特征参数在冰川识别中的作用,进而获取最优的特征组合方式;探究冰川与非冰川地区地形差异对冰川识别的影响,并将地形数据与极化特征参数相结合提升冰川的识别精度。与以往研究相比,使用具有更多特征的全极化影像,并与地形因子结合作为VGG16-unet 的输入进行冰川识别,探究了全极化影像在全卷积神经网络中对冰川边界识别的适用性。

2 研究区与数据

2.1 研究区

研究区位于喜马拉雅山脉西端克什米尔,区域内包含典型的中纬度、高海拔冰川,大部分地区高程处于3200—6500 m。该地区多数大型冰川地势起伏大,平均坡度处于17°左右,同一冰川内不同区域坡度具有明显差异(Vijay 和Braun,2018)。研究区总面积7613.678 km2,其中冰川面积1909.047 km2,G1 冰川面积16.484 km2,区域内月平均气温在-8.4 ℃—17.5 ℃(Rai等,2016)。由于其独特的地形条件,大部分冰川如G1 冰川内地表类型丰富,包含表碛覆盖冰川、含有裸冰与雪的纯净冰川以及冰川外围的裸露岩石,且冰川的大小、状态以及几何形状差异较大(Brun 等,2017)。

2.2 SAR数据

采用ALOS2-PALSAR全极化数据。ALOS-2卫星搭载的PALSAR 是一种SAR 传感器,向地面物体发射L波段雷达波,并接收其后向散射信号。与ALOS-PALSAR 相比,它在时间和空间分辨率、观测波段、极化方式以及数据传输的时间间隔方面有显著的提升。特别是全极化模式可以获取目标的所有极化特性,大大提高了成像雷达对目标信息的获取能力。本文使用了条带模式下的同一轨两景全极化SAR 影像,空间分辨率为5 m。成像时间为2020年10月2日。

2.3 DEM数据

SRTM(Shuttle Radar Topography Mission)数据是由美国航空航天局(NASA)和国防部国家测绘局(NIMA)联合测量的,雷达影像数据覆盖全球陆地表面的80%以上,精度有1 arc-second 和3 arcseconds 两种,即30 m 与90 m 空间分辨率的数据。本文选取SRTM 30 m 空间分辨率的数据作为原始数据,用来对SAR 数据进行地理编码并计算雷达波在冰川表面的局部入射角以及地表的坡度信息。

2.4 辅助数据

GLIMS(Global Land Ice Measurements from Space)是一项使用光学卫星数据监测世界冰川的计划,而RGI(Randolph Glacier Inventory)是对GLIMS 的补充,它将曾经的冰川地图和有用的属性相结合。RGI 包含了全球的冰川轮廓,使用RGI 6.0(2017 年7 月28 日)作为训练样本的标签数据。选取2020年10月21日的Landsat 8影像作为精度验证数据。

3 方法

SAR 影像,DEM 与冰川边界数据按照图2 所示的流程进行处理。整个过程细分为3 个部分:SAR 数据处理、神经网络分类、精度评价。下面对这3个部分进行详细说明。

3.1 SAR数据处理

3.1.1 数据预处理

SAR 数据预处理分为4个部分,包括极化矩阵生成、极化滤波、极化分解和地理编码(红色虚线矩形,图2)。

极化雷达影像中的每一个像素的信息能够通过Sinclair散射矩阵表示。

式中,S是描述散射体对入射波散射现象的2×2 散射矩阵,SHV表示发射的水平H 极化波和接收的垂直V 极化波的目标后向散射系数。为了从散射矩阵中提取物理信息,将矩阵转换为字典矩阵基表示的目标散射向量k:

基于以上的等式,与极化相关的散射矩阵的二阶乘积可以定义为相干矩阵[T3](Cloude,1985),如式(3)所示。

相干斑是SAR 成像中的一种散射现象,含有相干斑的后向散射系数影像不利于图像解译。为了消除相干斑的影响,使用Improved Lee sigma 滤波器(Lee 等,2009)对影像进行滤波,以保证极化SAR影像的清晰度和极化信息。

当雷达波与地面目标相互作用时极化状态会发生变化,这种变化受到目标的介电常数、结构、粗糙度和化学成份影响。通过对表面和体积分量的分解能够推断出冰面和冰内特性的独立信息,而极化分解可以量化表面和体积后向散射的贡献,从而提高区分不同冰川带的能力(Sharma等,2010)。

由于雷达的成像机制,地形因素会使影像产生几何畸变,并对雷达接收的后向散射产生一定影响(Paul等,2017)。因此,采用DEM 对遥感影像进行地理配准,并将DEM 及其衍生出的局部入射角、坡度与极化特征相结合以消除影响。

3.1.2 极化特征组合

为了探究不同极化特征在冰川识别中的作用,选取了Pauli 分解(Cloude 和Pottier,1996)、Freeman-Durden 分解(Freeman 和Durden,1998)、Yamaguchi 分解(Yamaguchi 等,2005)、Van Zyl分解(van Zyl等,2011)和H/A/α 分解(Cloude 和Pottier,1996)5 种极化分解方式生成的特征以及具有物理散射信息的极化矩阵3 个对角线元素T11,T22,T33(赵泉华 等,2018)共计19个特征(表1)。按照两种方法对特征进行划分,第1种方法是根据特征的生成方式对数据进行划分(图2绿色虚线部分),第2 种方式是根据单特征输入网络后的整体精度、特征的所属类别进行选取,将特征划分为3种类别,表面散射、偶次散射、体散射,选取每种类别中整体精度最高的特征并进行组合。按照上述方式共划分为7组数据。

表1 19个极化特征的描述与计算式Table 1 Description and calculation formula of the 19 polarization features

3.2 神经网络分类

3.2.1 输入数据处理

输入数据处理如图2 中蓝色虚线框图部分所示。采用直方图均衡化以增强输入图像的信息。采用RGI 6.0 矢量数据作为冰川的标签数据,将标签与遥感影像裁剪为512×512 像素大小的数据块(图3),然后对标签与影像进行水平、垂直以及对角线旋转增强数据以增加数据量(图4),并对增强后的数据进行线性归一化处理。按照1833∶611∶611即6∶2∶2的小训练集经典比例将数据集划分成训练集、验证集、测试集(图5)。

3.2.2 网络结构设计

U-net 网络呈U 形结构,主要包括编码器和解码器部分,编码器通过卷积和池化对影像降维并提取特征,解码器采用上采样且与特征部分相同尺度的图像进行拼接,将浅层特征和深层特征结合起来,更有利于提取目标。为了使网络用于冰川识别,在U-net 的基础上设计了VGG16-unet,并对其中的参数进行修改以确定最佳参数(表2)。选取T11,T22,T33这3 个特征进行组合作为网络的输入数据,过程中发现多层卷积层配合小卷积核能够得到更高的精度,最终确定了如图7 所示的VGG16-unet 结构,具有4 层池化层,卷积核大小为3×3,起始层卷积核数量32,编码器内部卷积层数分别为2,2,3,3,3。VGG16-unet 编码和解码的结构是对称的,每个编码器都有一个对应的解码器。通过编码器提取的特征输入到解码器内进行分类。在编码器内部,存在卷积层、批标准化层、Relu 激活函数层、最大池化层以及Dropout层,在解码器内部存在卷积层、上采样层。影像作为输入数据输入卷积层,输出特征图。输入层与输出层通过补零后具有相同的分辨率。卷积后得到的特征图传入批标准化层,以加快网络的学习速度,降低对网络初始化的敏感性。为防止网络中梯度的消失,对神经网络使用Relu 函数进行激活,并引入Dropout层屏蔽参与训练的神经元,避免过拟合。编码器使用最大池化层(图6)以保持平移不变性(Badrinarayanan等,2017),解码器使用去池化层恢复到经过池化之前的大小(图6),输入值返回到其对应最大值的原始位置。不充足的池化层会提取无关的信息,过多的池化层会丢失部分信息。实验得到4层池化分类精度最高(表2)。

表2 VGG16-unet神经网络测试参数Table 2 VGG16-unet neural network test parameters

3.3 精度评价

用于精度评价的冰川边界数据是在Landsat 8 5,4,3 波段合成的影像上参考RGI 6.0 边界进行目视解译修改得到。精度评价的方法都是基于冰川识别结果与目视解译冰川轮廓来进行对比分析,包括精确度(P)、召回率(R)、F1 分数(F1)、交并比(IoU)、平均交并比(mIoU)、整体精度(OA)。

式中,TP 是预测结果为正类,实际是正类;FP 是预测结果为正类,实际是负类;TN 是预测结果为负类,实际是负类;FN 是预测结果为负类,实际是正类;n为类别总数,i为类别序号。

4 结果与讨论

4.1 极化分解特征比较

将19 个特征参数单独输入神经网络中进行识别对比整体精度(表3),发现散射功率较高的表面散射与体散射特征(Huang等,2014)在识别冰川时的整体精度高于散射功率较低的偶次散射特征。根据整体精度及召回率,选取Surfyama、Dblpauli、Volpauli作为新的特征组合(SDV)输入网络中。

表3 19种极化分解特征整体精度及召回率对比Table 3 Comparison of the overall accuracy of 19 polarization decomposition features %

利用SDV 组合进行识别的整体精度最高,达到93.3%,平均用户交并比(mIoU)达到80.91%,召回率达到76.89%(表4)。基于物理散射机制的Freeman-Durden、Pauli、VanZyl、Yamaguchi 极化分解特征与极化相干矩阵的T11,T22,T33整体精度均高于基于统计特征的H/A/α 极化分解特征,其中广泛适用于许多不同类型地表(Huang 等,2014)的Pauli 分解特征精度最高,整体精度92.54%,平均用户交并比(mIoU)达到78.78%,召回率达到73.03%,虽然Yamaguchi 有4 个极化分解特征,但在基于物理散射机制的特征中精度最低,这可能是因为其第4特征表示的螺旋散射并不适用于自然地表的分类(Yamaguchi等,2005),加入第4特征会降低冰川识别的精度。虽然利用熵值(H),各向异性值(A),极化散射角(α)单独进行识别时的整体精度均大于81%,但H/A/α特征组合识别冰川时的精度最低,整体精度89.83%,用户交并比(mIoU)75.62%,召回率70.02%,这可能是由于熵值(H)与极化散射角(α)具有很高的相关性(Yao等,2020),组合输入时导致了特征的冗余。

表4 7种极化特征组合冰川识别精度对比(不含地形数据)Table 4 Comparison of glacier recognition accuracy for seven combinations of polarization features(topographic data not included) %

为了进一步分析冰川识别精度与极化特征的关系,选取包含岩石、表碛、冰、雪多种地表类型的G1 冰川区域作为样本,对该区域内多种极化特征进行分析(图8)。由于Yamaguchi分解中的螺旋散射特征不适用于自然地表的分类(Yamaguchi 等,2005),因此仅计算4 种地物类型的18 个极化特征参数并生成散点图(图9)。在Freeman-Durden、Pauli、VanZyl、Yamaguchi 与极化相干矩阵对角元素构成的散点图中,岩石与其余3种地物的点位分布具有明显的差异,而H/A/α构成的散点图中,4种地物的点位较聚集,无法进行清楚的区分,结合表5 的结果显示,具有高分离度的Pauli 分解特征与相干矩阵对角元素在冰川识别中也具有较高的精度,因此不同地物的特征分离度可能是影响VGG16-unet的因素之一。

表5 7种不同极化特征组合冰川识别精度对比(∂为地形数据)Table 5 Comparison of glacier recognition accuracy for seven different combinations of polarization features(∂ is topographic data) /%

4.2 地形数据对冰川识别结果的影响

加入局部入射角、坡度、DEM 数据后7 组特征的冰川识别精度均有显著提升,选取一张512×512 像素影像观察不同极化特征加入地形因子后的分类情况(图10)。通过表5 可以看出,整体精度从90.65%—93.3%提升至93.51%—94.98%,平均用户交并比(mIoU)从73.81%—80.91%提升至81.1%—85.67%,召回率从61.41%—84.13%提升至74.77%—85.54%。具有最高精度的Surfyama、Dblpauli、Volpauli(SDV)组合整体精度从93.3%提升至94.98%,平均用户交并比(mIoU)从80.91%提升至85.67%,召回率从76.89%提升至85.54%,精度最低的组合由H/A/α变为极化相干矩阵。

图1 克什米尔冰川地理位置及其分布Fig.1 Location and distribution of Kashmir glaciers

图2 基于深度学习的ALOS2-PALSAR影像冰川识别流程Fig.2 Deep learning based glacier recognition process for ALOS2-PALSAR images

图3 ALOS2-PALSAR影像及地形数据的合成与裁剪Fig.3 Synthesis and cropping of ALOS2-PALSAR images and topographic data

图4 神经网络数据增强Fig.4 Neural network data enhancement

图5 VGG16-unet训练、验证及测试数据分布Fig.5 Regional distribution of VGG16-unet train,validation and test data

图6 VGG16-unet池化与去池化过程Fig.6 VGG16-unet pooling and unpooling process

图7 VGG16-unet网络结构及其参数Fig.7 Structure and parameters of VGG16-unet network

图8 18种极化特征实例及样本点分布Fig.8 Examples of 18 polarization characteristics and sample point distribution

图9 不同冰川地表类型中岩石、表碛、冰、雪的18个极化特征分布Fig.9 Distribution of 18 polarization features of bare rock,debris,ice and snow in different glacial surface types

图10 不同极化特征组合冰川识别结果对比Fig.10 Comparison of glacier identification results for different combinations of polarization features

通过表5可以看出地形对冰川的识别精度有一定的影响,因此,选取地形变化明显的G1 冰川进行剖面分析生成曲线(图11),其中P1 位于裸岩部分,是剖面线终点;P2是裸岩与表碛的交界点;P3 位于雪覆盖冰川部分,为剖面线起点。由于输入神经网络前对数据进行了归一化,图12中高程、坡度与局部入射角的范围均在0—1 且无单位。图12 中可以看出在冰川与非冰川部分曲线具有明显差异。高程值(DEM)曲线在P1—P3 段呈稳定上升趋势,且P1—P2 非冰川段高程值小于P2—P3冰川段高程值。在P1—P2 非冰川段,局部入射角与坡度曲线波动较大,整体呈现先上升后下降的趋势,局部入射角总体分布约为0.36,坡度约为0.21。在P2—P3 冰川段,局部入射角与坡度曲线比P1—P2 段更加稳定,局部入射角总体分布约为0.29,坡度约为0.10。这些曲线的变化表明,非冰川区与冰川区的地形在数值与变化趋势上都存在差异,因此将地形数据作为辅助特征输入神经网络时不仅能够降低局部入射角、坡度等对地物后向散射强度造成的影响,还能扩大非冰川区与冰川区特征的差异,从而进一步提高冰川识别的精度。除此之外,结合图9可以看出,地形数据的加入还会降低特征分离度对冰川识别精度的影响,使具有高特征分离度相干矩阵的冰川识别精度最低。

图11 G1冰川剖面线分布(背景数据采用Landsat 8 5,4,3波段)Fig.11 Distribution of profile lines in G1 glacier(The background data were using the 5,4,3 bands of Landsat 8)

图12 G1冰川地形因子剖面分析曲线Fig.12 G1 Glacier topographic factor profile analysis curve

4.3 冰川识别分类结果

图13是SDV特征结合地形数据输入神经网络得到的冰川识别结果,可以看出,较大型纯净冰川内部的冰与雪能够很好的识别(图13Ⅱ区域),表碛型冰川中段与末端也能较为准确的识别(图13 中区域Ⅲ—Ⅳ),面积小于0.1 km2的小型冰川与周围岩石具有相似的特征,识别的准确性较差(图13中区域Ⅰ—Ⅱ)。总体看来除部分面积较小的冰川外,表碛、冰、雪等具有显著纹理特征的大型冰川识别效果良好,VGG16-unet 提取的冰川边界与验证数据边界基本一致。

4.4 机器学习与VGG16-unet冰川识别对比

图14 是SDV 特征结合地形数据按照相同的样本输入VGG16-unet、随机森林、支持向量机得到的冰川识别结果,精度如表6所示。可以看出随机森林(图14(c))会将裸岩识别为表碛,并且对于小型冰川的识别结果较差,识别的总体精度为73.69%,平均用户交并比(mIoU)为58.28%,召回率为74.19%。支持向量机(图14(d))能够较好的区分裸岩与表碛,但对于小型冰川的识别结果很差,裸岩与冰川几乎无法区分,识别的总体精度为89.91%,平均用户交并比(mIoU)为60.89%,召回率为61.33%。VGG16-unet 在冰川识别中相较于以上两种机器学习方法有显著的优势,除部分碎块冰川无法准确识别外,对冰川的表碛、冰、雪部分识别准确,总体精度为93.41%,平均用户交并比(mIoU)为87.58%,召回率为95.23%。

表6 VGG16-unet与机器学习冰川识别精度对比Table 6 Comparison of glacier recognition accuracy between VGG16-unet and machine learning /%

图14 VGG16-unet与机器学习冰川识别结果对比Fig.14 Comparison of glacier recognition results between VGG16-unet and machine learning

4.5 VGG16-unet方法可迁移性

为了验证VGG16-unet 方法在冰川识别上的可迁移性,选取位于藏东南地区左贡县旺达镇(图15)附近4景ALOS1-PALSAR全极化影像(3景2011年4 月15 日,1 景2011 年3 月19 日),按照与图2 中ALOS2-PALSAR 影像相同的处理步骤进行冰川边界提取,得到图16所示的结果。

图15 基于ALOS1-PALSAR的VGG16-unet训练、验证及测试数据分布Fig.15 VGG16-unet train,validation and test data distribution based on ALOS1-PALSAR

图16 基于深度学习的旺达镇ALOS1-PALSAR影像冰川识别分类结果Fig.16 Deep learning based classification results for glacier identification in ALOS1-PALSAR images of Wangda town

冰川识别精度如表7 所示,可以看到ALOS1-PALSAR 比ALOS2-PALSAR 整体精度(OA)降低1.74%,平均用户交并比(mIoU)降低4.45%,召回率(Recall)降低5.54%。这是由于ALOS1-PALSAR的几何畸变较严重,影像质量低于ALOS2-PALSAR影像质量,并且参与模型建立样本对数量仅为1027对。尽管如此,使用VGG16-unet基于ALOS1-PALSAR 对冰川的整体精度(OA)仍能够达到93.24,平均用户交并比(mIoU)能够达到81.22%,这说明VGG16-unet结合全极化SAR数据中Surfyama、Dblpauli、Volpauli波段及地形因子进行冰川边界提取的方法具有良好的可迁移性。

表7 ALOS2与ALOS1冰川识别精度比较Table 7 Comparison of glacier recognition accuracy between ALOS-2 and ALOS-1 images /%

5 结论

本文基于ALOS2-PALSAR全极化影像数据,利用VGG16 与全卷积神经网络模型U-net 结合生成的VGG16-unet,对19 个极化特征进行对比、分析与组合,并结合地形数据进行冰川边界的识别,得到的结果显示(1)VGG16-unet 神经网络对冰川区地物物理特性的差异更加敏感,结合物理特性相关的Pauli、Freeman-Durden、VanZyl、Yamaguchi、T矩阵对角元素进行识别能够得到更高的冰川识别精度,通过筛选得到的SDV 组合特征精度最高,加入地形因子后冰川的识别精度能够达到94.98%;将19 种极化分解特征输入神经网络时,冰川散射机制中占主导的表面散射与体散射的识别精度高于偶次散射的识别精度,虽然与统计特性相关的H、A、α 都能得到较高的精度,但进行组合输入时由于特征冗余,使得其冰川识别精度最低;将地形数据作为辅助特征与极化特征相结合输入神经网络能够大幅提升冰川的识别精度,但是会影响极化特征分离度在冰川识别中的作用;特征是冰川识别的关键,特征显著的表碛、冰、雪等大型冰川能够得到良好的识别,而与岩石相似的小型冰川识别效果较差。(2)综上所述,利用全极化SAR 影像结合神经网络进行冰川边界的识别能够有效弥补光学影像受云层影响导致的云及云影下冰/雪信息的缺失。与Yao 等(2020)在文中的实验相比较,本文在证实其提出的加入地形数据能够提升识别精度的观点的同时,采用了更加先进的深度学习方法,相较于其实验精度有1.2%的提升,并且本文实验方法具有更好的迁移性和普适性,为不同地区进行光学影像云下冰雪信息重建提供了可行的方案。(3)文中还存在一些不足,例如神经网络训练数据不足,仅使用两景SAR 影像作为数据源;数据源单一,仅利用SAR 影像与地形因子作为神经网络的特征输入;网络结构单一,在U-net 框架下仅探究VGG16 在冰川识别中的适用性。在以后的研究中可以尝试增加参与网络训练的数据量,提升网络的稳定性与准确性;使用多源遥感影像,扩大特征的数量与维度;基于更多样的神经网络模型如Deeplab、PSP-net 等对数据集进行训练,更多元地提取影像中的特征,从而进一步提高冰川的识别精度。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!