首页 百科知识 国土安全视频图像处理技术

国土安全视频图像处理技术

时间:2024-01-18 百科知识 版权反馈
【摘要】:对于视频监控系统,图像序列的处理可以大致分为目标检测与跟踪、目标识别、目标行为分析等三个部分。图5.6运动目标检测实现流程5.3.1.1图像平滑前端视频采集设备获取的视频信息流常常会受到各种噪声的干扰和影响,使视频信号质量下降。因此,在对图像序列进行处理之前,需要进行视频图像预处理,通常称为图像平滑过程。

国土安全视频图像处理技术

5.3.1 视频信号特征识别

视频监控作为计算机视觉研究的一个重要方面,已经在工业、生活、医学、安防等多个领域得到广泛应用。当今社会,人们对公共安全的要求不断提高,对视频监控系统自然也提出了更高的要求。

基于视频监控中的运动目标分析主要包括从各种视频监控序列中检测运动目标,并进行目标提取与目标识别。运动目标检测就是把感兴趣的运动目标从监控序列中检测出来,它是后续各种处理的基础,运动目标检测的正确率与准确度会直接影响最终分析结果的好坏。目标识别是视频监控要达到的最终目的之一,它是指将场景中某个或者某类目标从其他目标中区分出来的过程。其基本原理是利用目标的幅度、相位、频谱等特征信息,通过数学上各种多维空间的变换操作来判断目标的形状、大小、重量等自身特征,最后根据大量实例所得到的判别函数进行目标识别。

现今社会,目标识别技术已经被广泛应用于安防等领域。例如,用于确认身份的人脸识别指纹识别,用于交通系统的车辆跟踪、车辆识别以及事故分析等,都用到了目标识别技术。

根据使用场景的不同,目标检测可以分为静态目标检测和运动目标检测。静态目标检测多指对于数码或扫描图片等静态图像中的车牌、手势、人脸、姿态等内容的检测;运动目标检测多指对于视频序列中运动的行人、车辆或者运动的目标区域等内容的检测。

在视频监控的图像序列中,人们通常把某些感兴趣的行人、车辆等运动目标或者运动区域称为目标区域(前景区域),而把其他的图像区域称为背景区域[9]

对于视频监控系统,图像序列的处理可以大致分为目标检测与跟踪、目标识别、目标行为分析等三个部分。运动目标检测是序列处理中最基础的部分,也是最重要的一个组成部分。它是指从视频图像序列中检测出目标变化的区域(也就是上述所说的目标区域),并将感兴趣的运动目标从其他的图像区域(也就是上述所说的背景区域)中提取出来的过程,其检测结果的正确性与准确性会直接影响后续处理中目标的定位与识别,所以也可以说运动目标检测是视频监控处理的核心。

运动目标检测的实现过程一般需要经过前期图像平滑处理,然后使用目标检测算法提取运动目标,再进行后期误判消除这三步,每一步都会影响到系统的整体性能。运动目标检测实现流程如图5.6所示。

图5.6 运动目标检测实现流程

5.3.1.1 图像平滑

前端视频采集设备获取的视频信息流常常会受到各种噪声的干扰和影响,使视频信号质量下降。噪声会降低图像的质量,给后期图像分析带来困难。噪声的来源主要有以下三个途径:采集设备本身精度,如摄像机采样精度、分辨率等;环境因素,如光线变化和扰动;视频压缩导致的精度降低和传输导致的信道污染,如视频压缩算法的选取和有限的网络传输带宽都会引入噪声。视频图像序列质量的好坏直接影响后续图像的编码效率、可视效果、目标识别精度。因此,在对图像序列进行处理之前,需要进行视频图像预处理,通常称为图像平滑过程。视频平滑处理的目标是最大限度地保持原始视频信息的完整性,同时能够消除视频信号中冗余的噪声信息。视频平滑处理是图像处理过程中一个非常重要的步骤。消除图像噪声的过程也称为图像滤波。

视频图像中噪声一般有两种:高斯噪声和椒盐噪声[10]。高斯噪声的特征是出现在图像所有像素点上,但噪声的幅值是随机的。椒盐噪声的特征是出现位置随机,但噪声的幅值基本相同。针对噪声种类的不同,常用的处理方法有高斯滤波、均值滤波、中值滤波、最小均方差滤波等,都是利用图像内部进行的平滑处理过程。其中,高斯滤波和中值滤波就是分别针对高斯噪声和椒盐噪声的。

(1)高斯滤波

高斯噪声就是N维分布都服从高斯分布的噪声。由于高斯函数的Fourier变换仍是高斯函数,因此高斯函数能够用来设计具有平滑性能的低通滤波器。高斯滤波器就是建立的一个低通滤波器,根据图像中各像素点的幅值,滤掉幅值小的部分,这正是噪声的幅值特征。高斯平滑滤波器能够较好地消除图像中的高斯噪声。最简单的一维零均值高斯函数为:

其中,A是高斯函数的幅值;σ是函数均方差。因为图像可以看成是二维离散分布的像素点的集合,所以常用二维零均值离散高斯函数作平滑滤波器,函数表达式为:

(2)中值滤波

视频图像序列中经常会出现一些黑色或白色的小点,这是在图像采集、信道传输和压缩解码处理等过程中产生的黑白相间的亮暗点噪声,称为椒盐噪声,直观上理解就是图像中的噪声像椒盐一样分布在图像中。这种噪声值不是连续变化的,只有单个极值,譬如在0~255的8级灰度图像中,椒盐噪声值只能出现在0或255附近,而不出现其他中间值,因此它表现为图像某些特别明显的亮暗点。该噪声在图像中表现得比较明显,对目标检测、识别、特征提取等后续处理的影响很大,也影响了直观的视觉效果。目前去除椒盐噪声的方法主要是中值滤波法。由于椒盐噪声的特征是幅值近似相等且随机分布在不同位置上,图像中有干净点也有污染点,因此中值滤波就是选择适当的点来替代污染点的值,所以处理效果比较好。因为椒盐噪声的均值不为0,所以均值滤波器不能很好地去除噪声点。

中值滤波是源于排序思想的消除椒盐噪声的滤波技术,它把视频图像序列中某像素点的灰度值用该点的邻域中各点的中值代替,让这个像素点的值与周围像素点相近,从而消除孤立的椒盐噪声点,对椒盐噪声具有较好的抑制作用。邻域有多种选择方法,通常为2×2或3×3方形区域,也可以是不同的形状,如线形、圆形、十字形、圆环形等,如图5.7所示。

图5.7 方形邻域和十字形邻域

选择合适的邻域后,将邻域内的像素按照灰度值的大小进行排序,生成单调上升或下降的数据序列,中值滤波输出为:

其中,f(x,y),g(x,y)分别为原始图像和处理后的图像;W为选择的区域。

中值滤波算法只对消除椒盐噪声非常有效,是经典的图像平滑的方法之一。对于高斯噪声,中值滤波无能为力,因为高斯噪声是幅值近似正态分布,但分布在每点像素上,图像中的每点都是污染点,所以中值滤波选不到合适的干净点。

5.3.1.2 目标检测

对监控视频中的运动目标进行检测的算法有很多种,目前比较常用的三种方法是背景差法[11]、帧间差法[12]和光流法。

(1)背景差法

灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途。彩色图像中任何颜色都由红、绿、蓝三原色组成,假如原来某像素点的颜色为RGB(R,G,B),那么可以用一定的方法将其转换为灰度图[13]

通常情况下,图像中运动目标的灰度值和背景的灰度值差别很大。因此,如果用当前图像与背景图像作差得到差值图像,这个差值图像只会在存在运动目标的区域内灰度值变化较大。给灰度值变化选择一个适当的阈值T,当差值图像某点的灰度值小于T时,认为是背景点,反之则认为是运动目标点。背景差法就是按照这种思想建立的一种背景模型,用当前帧和背景作差得到的差值图像来寻找运动目标,其原理如图5.8所示。从其基本原理可以看出,背景差法主要涉及三个问题:背景提取、背景更新和阈值选取。在实际应用中,还要考虑环境变化等因素导致的噪声和运动目标阴影等问题。

图5.8 背景差法原理

在视频图像序列中取一个固定像素点的灰度值进行观测,随着时间的增加图像序列不断变化,该像素点的灰度值也在不断变化。

可以发现,该像素点的灰度值大部分时间在某一稳定值上下进行小幅震荡,但在有些时间段上会有较大幅度的变化。这些灰度值较大的变化刚好和运动目标出现的时间点吻合,因此可以利用视频图像序列灰度值变化这个特征来提取背景图像,称为灰度统计背景提取法。这种方法首先读入N帧图像序列,对每个像素点取平均值,得到的平均图像即为背景,完成初始化。用当前帧和背景作差,通过固定的阈值判断哪些像素属于前景,哪些像素属于背景。公式描述法如下:

其中,fi为第i帧视频图像,B为提取的背景图像,T是灰度阈值,Gi为二值化后的差值图像。阈值T是根据背景噪声等因素选择的合适值,可以将背景噪声和运动目标引起的变化分开,并且消除噪声。阈值选择对最后的识别效果影响明显。

从上式可以看出,背景差法需要一个合适的背景图像B来与当前图像作差。针对视频监控系统来说,在一段时间内可以认为背景是没有变化的,但对于长时间观测其背景是在缓慢变化的。这些变化的原因主要来自光线等外部环境的影响。考虑到以上两点,不仅需要得到背景图像,还要在适当的时候更新背景图像。这两方面对背景差法的最终效果都有非常大的影响。

首先考虑背景获取。因为背景获取的最终目的是得到监控画面中的静止区域,而图像序列一开始并不一定就是静止不动的,所以一般采用最简单的平均法来获取背景图像。平均法通过在一段时间内对图像序列进行统计平均来获得背景,即式(5.36)中N为图像的帧数,一般背景图像的效果与N值有关。这种方法计算量比较大,而且对缓慢移动的运动目标效果不好。

背景不是一成不变的,需要考虑背景更新。随着时间的推移,光照发生了变化或者监控画面中某个静止的物体被移动了,都可能导致背景更新。如果不进行背景更新,光线的变化会导致很多背景噪声;一个进入监控区域的静止物体会被认为是运动目标;一个离开监控区域的物体会在以前停留的地方留下一个空洞。Surendra背景更新算法可以用来自适应地更新背景图像。Surendra背景更新算法首先由差值图像得到运动目标区域和非运动目标区域,运动目标区域保持原样不变,非运动目标区域的背景用当前帧的相应区域进行替换更新,这样就可以自适应地更新背景图像,同时也可以用来初始化背景。其算法如下:将第1帧图像F0作为背景B0,选取阈值T,求当前帧的差分图像并且进行二值化:

其中,Fi为第i帧图像;二值化后得到的图像Di为二值图像。二值图像是指每个像素值不是0就是255,其灰度值没有中间过渡的图像,占用的空间很小。图像二值化的目的是最大限度地将图像中感兴趣的部分保留下来,选取多大的阈值要根据对二值化后图像的质量要求来定。

由二值图像Di更新背景图像Bi,即

其中,α为更新系数,用来衡量更新背景对原背景图像的依赖程度,α越小背景更新越慢,可以根据实际应用场景来调节;Ii代表当前帧。

背景差法原理简单,算法设计复杂度低,计算速度快,实现也容易,而且能够得到较为完整的运动目标信息,在运动目标识别图像分析上应用很广泛,是目标检测最常用的算法之一。但是,该方法过于依赖背景图像,而背景图像易受各种因素影响而发生渐变或者突变,导致必须进行背景更新,但背景更新总是会有延迟,影响了最终目标检测的效果。另外,算法需要人为设定二值化阈值,此阈值依赖具体情况而定,没有统一的设定方法。而阈值的选择,对于检测又至关重要,影响系统的自动化和环境适应能力。目标阴影也常被检测为运动目标的一部分,影响了检测结果的准确性。

(2)帧间差法

帧间差法与背景差法类似,只是将背景差法中的固定背景始终换成前一帧图像,有时也称为序列差分法、相邻帧差分法[14]。在固定摄像机的视频监控系统中相邻两个图像帧之间的背景区域基本不变,作差后可以相互抵消。当某区域出现运动目标时,两帧在运动目标出现区域会有较明显的不同。与背景差法类似,求出两帧的差分图像,再对差分图像按一定的规则进行二值化得到二值化图像,最后对二值化图像进行分析就可以判断出运动目标的区域,其原理如图5.9所示。这种对相邻图像帧作差分的方法很好地适用于存在多个运动目标和摄像机移动的情况,比背景差法应用范围要广一些,也不存在背景差法必须要解决的背景更新问题。但是它也需要对二值化后的图像设置一个合适的灰度阈值T,这与背景差法类似。

图5.9 帧间差法原理

帧间差法可以选择相邻帧作差分,也可以选择与前k帧作差分,设差分图像为D,则:(www.xing528.com)

其中,In和In-k分别代表当前帧和前k帧图像。这里k是预先设定的差帧间隔,当图像序列中目标运动缓慢时,则设置间隔k较大;当k=1时退化成相邻帧差。对差分图像D按以下公式进行二值化:

按照阈值T对差分图像二值化,当差值大于T为前景,认为是运动目标,反之认为是背景。另外,还可以采用三帧差分的方法,利用2次帧间差分结果,然后进行操作,从而得到更加精确的运动目标信息,其方法公式描述为:

进行2次帧间差分效果优于1次帧间差分,但由于存在乘法运算,计算量较大,在实时性允许的情况下可以考虑使用。

帧间差法最大的优点是对背景变化不敏感,因为差分的对象为相邻或间隔不远的两帧,所以背景部分往往变化不大,差分运算时能相互抵消,在光线变化剧烈的情况下仍然能够取得很好的效果。同时它的稳定性也较好,因为只依赖于邻近的几个图像帧,所以对环境变化适应性很强。它的缺点是不能提取出运动目标的完整区域,也就是只能提取出目标的边界,而且帧间间隔的选取对目标识别结果影响很大。运动目标移动速度越快,需要选择的帧间间隔就越大,这在实际应用中往往难以取舍。

(3)光流法

人眼能够看到物体运动是因为物体反射的光线可以在人眼的视网膜上形成不断变化的连续图像。连续图像就像水一样流过人眼视网膜,直观上理解可以认为这是一种光的流,故称为光流[15]。光流反映了图像的变化过程,因此包含了运动目标的信息,可以从光流中来寻找运动目标。

图像中每个像素点灰度值都在实时变化,如果把这个变化的速率定义成光流矢量,那么对于整帧图像来说所有光流矢量就形成光流场。这个光流场的特征反映了图像的很多信息,可以根据它来进行图像运动目标识别分析。当图像中不存在运动目标时,光流场在整帧图像中的变化是连续的;当图像中出现运动目标时,运动目标和图像的背景之间就会存在相对运动,这样运动目标所形成的光流场和图像背景所形成的光流场就不一样。根据这个特征就可以得到运动目标的区域和位置信息,其原理如图5.10所示。

图5.10 光流法原理

假设函数G(x,y,t)为像素点(x,y)在时刻t的灰度值,设t+dt时刻该像素点运动到(x+dx,y+dy),它的灰度为G(x+dx,y+dy,t+dt)。对于同一个像素点来说,在很小的时间间隔内认为其灰度值没有发生变化,因此得出光流约束方程为:

将上式右边作泰勒展开,并使dt>0,得到等式:

上面的导数Gx,Gy,Gt可以用离散的差分来代替,然后就是要根据光流约束方程求出m和n。这里有两个未知数和一个方程,一般来说是不可解的。但是如果摄像机是固定的话,图像就分为运动的目标区域和不动的背景区域。不动的背景区域在理想情况下其光流应该为0,只有运动目标区域才有光流。这样就不用求出m和n的具体值了,只需要知道光流梯度方向的速率,即求出:

当Oi为1时,认为当前像素点是属于运动目标区域,反之则认为是背景区域,得到所有像素点信息后就可以得到完整的运动目标区域了。

光流法的优点是不需要预先知道场景的信息就可以准确地识别运动目标位置,并且适用于摄像机运动的情况下。缺点是计算量大,耗时长,在对实时性要求苛刻的情况下不适用;另外,光线的变化对其影响较大,因为变化的光线会被错误地识别为光流。

5.3.1.3 误判消除

由于外界环境的复杂性,会使一些属于背景上的区域被错误地检测为前景的运动目标,有时也会使前景区域被错误地检测为背景区域。同时背景上物体的轻微扰动、运动目标的阴影也会使这些背景区域被错误地识别为运动目标。为了消除这些负面影响,需要对获得前景和背景的差分图像作进一步的判断处理,把运动目标和其阴影分开,去掉噪声点,判断背景扰动,更进一步需要用形态学的方法来认识目标属性,为最终判断提供依据。

(1)阴影消除

视频图像处理中在对运动目标识别时,不仅需要在图像序列中完整地获取运动目标,还要能根据目标的形状等信息推断出其形状,为接下来目标跟踪提供依据。通常,运动目标在光线的照射下会产生运动的阴影。阴影不属于运动目标的一部分,但它本身会和运动目标一起移动,会被目标识别算法误判。因此,运动目标的阴影检测和消除是必要的。

目前有多种方法可以消除阴影,主要有两大类方法:基于背景模型方法和基于阴影模型方法。基于背景模型方法是利用当前图像与背景图像作差分,得到运动目标及阴影。但背景信息必须动态更新以反映场景变化,必然带来庞大的计算量。基于阴影模型方法模拟光照环境建模,利用阴影与目标颜色的差异来分割阴影。

(2)噪声处理与目标聚合

检测出运动目标以后,需要再次对检测出来的运动目标集合进行检查。有两种典型情形需要考虑:

一是图像中可能有微小扰动存在,如一张纸片飞过。这种现象的表现形式就是有许多面积比较小的运动块存在。这些运动块可能是真实的微小运动,也可能是噪声导致的。在检测结果中表现出来的形式就是小块区域,如图5.11所示,面积较大的A和B区域是正常目标,而面积较小的C和D点是干扰噪声点。对其面积设定阈值,以此滤去面积较小的连通区域。

图5.11 噪声示意图

二是一个整体的运动目标可能会被分割成几个不连通的部分,这时需要进行目标的聚合,可采用膨胀法来进行目标聚合。膨胀法就是让运动目标区域在各个方向上向外扩张,扩张的最大距离限定为L。例如,在图5.12中,当某方向上有2个运动目标区域A和B,其之间距离为D,若D<L,则认为它们属于同一运动目标区域,于是把它们连通起来变成一个运动区域;而目标区域C和D之间的距离D>L,则认为它们是两个不相关的运动目标区域。A和B区域由于相距较近最后被聚合成一个目标。

图5.12 膨胀法示意图

(3)背景扰动

在视频监控系统的图像序列背景上有时会出现背景物体轻微运动的情况,例如背景上的树枝随风晃动,这种现象称为背景扰动。很明显背景扰动会导致误判,因此需要消除。解决背景扰动的一般方法有基于统计背景模型法、形态学滤波法和混合高斯模型法。

5.3.2 视频目标跟踪与行为理解

视频处理系统采用图像传感器对动态环境中的运动目标(如人、车辆等)进行实时观测,通过检测、识别和跟踪图像序列中的运动目标,监视场景中目标的活动,理解和描述目标的各自行为和相互间行为。

(1)目标跟踪:在连续图像帧间匹配锁定目标,获得目标连续运动信息。

(2)行为理解:行为理解与描述是近年来广泛关注的研究热点,是指对特定目标的运动模式进行分析和识别,并用自然语言等加以描述。行为理解可以简单地认为是时变数据的分类问题,即将测试序列与预先标定的代表典型行为的参考序列进行匹配。

5.3.2.1 目标跟踪

在视频处理过程中,跟踪是位于运动检测和目标识别之后、行为理解与描述之前的不可缺少的关键步骤。运动目标跟踪,就是在成功地提取出运动目标之后,通过已知目标位置、状态信息,建立跟踪模型,通过对目标在前后帧的匹配,获取目标的运动状态,从而实现对目标的实时跟踪。现有的目标跟踪方法主要有三类:基于特征匹配的跟踪方法、基于区域匹配的跟踪方法、基于模型匹配的跟踪方法。

(1)基于特征匹配的跟踪方法不考虑运动目标的整体特征,即不关心目标是什么,只通过目标物体的一些特征来进行跟踪。由于图像采样时间间隔通常很小,可以认为这些特征在运动形式上是平滑的,因此可以完成目标的整体跟踪过程。无论是刚体运动目标还是非刚体运动目标,采用基于特征匹配的方法进行目标跟踪时均包括特征提取和特征匹配两个过程。在特征提取中要选择适当的匹配特征,并且在下一帧图像中提取特征;在特征匹配中将提取的当前帧图像中目标的特征与特征模板相比较,根据比较的结果来确定目标,从而实现目标的跟踪。例如,使用特征点对人体进行运动跟踪。该方法把需要跟踪的每一个人用一个矩形框封闭起来,封闭框的质心被选择为目标的跟踪特征。除了用单一的特征来实现跟踪外,还可以采用多个特征信息综合在一起作为跟踪特征,以此来提高跟踪的效果。

(2)基于区域匹配的跟踪方法是把图像中运动目标的连通区域的共有特征信息作为跟踪检测的一种方法。在连续的图像中有多种区域信息,例如颜色特征、纹理特征等等。这种方法不需要在视频序列的图像中找到完全相同的特征信息,通过计算区域的原始目标之间的相关性来确定跟踪目标的位置。基于区域匹配的跟踪方法可以选取整个区域的单一的特征来实现跟踪,但是实际跟踪过程中单一的特征不太好选择,所以一般采用运动目标的多个特征来进行跟踪。

(3)基于模型匹配的跟踪方法是用模型来表示目标物体,也就是建模,然后在图像序列中跟踪这个建好的模型来实现目标的跟踪。对于刚体目标来说,其运动状态变换主要是平移、旋转等,可以利用该方法实现目标跟踪。但是实际应用中跟踪的目标(人)往往是非刚体的,不容易得到目标确切的几何模型,因此可以利用变形轮廓模板来匹配目标进行跟踪。目前有两种可变形模型:一种是自由式的可变形模型,主要满足一些简单的约束条件(连续性、平滑性等),用来跟踪任意形状的运动目标。另一种是参数可变的模型,这种方法用一个参数公式或一个变形公式来描述目标物体的形状。

5.3.2.2 行为理解

近年来,目标行为理解是计算机视觉领域中备受关注的前沿方向,它从包含人的图像序列中检测、识别、跟踪目标并对其行为进行理解和描述,属于图像分析和理解的范畴。从技术角度而言,目标的运动分析研究内容相当丰富,主要涉及模式识别、图像处理、计算机视觉、人工智能等方面的知识。行为理解包含了从底层处理到高层推理的全过程,涉及底层运动特征的提取和表示、行为的表示方法,以及高层行为语义的推理模型。

(1)行为的描述方法与识别技术是实现智能化的关键技术。行为的描述是指通过采用一种规范化的视频事件定义语言来实现对监控场景中的关注目标的语义描述,包括对行为结构的定义和概念的定义。目前对于行为的表示还没有一个通用的模型,大部分的研究都是针对特定的应用采用某种行为表示模型,最常见的是分层结构模型,而各个层次表示的内容取决于应用的需要。

(2)视觉或者其他底层运动特征的提取和表示是进行高层行为理解推理所必需的基础工作。较早开始的对动作行为分析的工作很多是采用主动传感器来获得目标的运动信息。比如针对人体,主要是通过人体的四肢或躯干佩戴的各种传感器来获取该部位的运动特征,然后分析动作行为。由于当前以人为中心的计算强调用户感觉自然,嵌入式的传感器破坏了用户的感受,给用户的行动造成不便,因此,目前越来越多的研究开始转向用摄像机这种非嵌入式被动的传感器获取人体的动作特征。基于视觉的动作表示按特征的性质大致可以分为两类:一类是三维特征,另一类是二维图像特征。三维特征本身具有视角不变性,适用于分布式视觉系统下的动作体态表示。三维模型通常参数多,训练复杂,计算量大。如果是基于立体视觉的原理,还可能要遇到匹配中的对应性困难。相比之下,基于二维图像特征的表示计算相对简单,适用于视角相对固定的情况。

(3)行为理解的推理广泛采用了基于图模型的推理方法,如隐马尔可夫模型(HMM)、动态贝叶斯网络(DBN)、条件随机场(CRF)等。在目前的行为分析领域中,HMM是较常使用的一种推理模型。HMM是一种有效的时变信号处理方法,它隐含了对时间的校正,并提供了学习机制和识别能力。根据不同应用环境下行为的特性,很多研究对HMM进行了适应性扩展,如Hierarchical-HMM、Coupled-HMMs、Parameterized-HMMs等。大部分的模型采用了分层的结构来对应行为的分层特性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈