一种基于Camshift算法的运动目标跟踪方法与流程

文档序号:17778018发布日期:2019-05-28 20:30阅读:549来源:国知局
一种基于Camshift算法的运动目标跟踪方法与流程

本发明属于运动目标跟踪技术领域,特别是一种基于camshift算法的运动目标跟踪方法。



背景技术:

运动目标跟踪是计算机视觉领域的重要分支,它是一门跨学科的新技术,涉及了图像处理、人工智能、模式识别、自动控制等多个领域。运动目标跟踪实用性高,应用面广,在军事国防安全及民用领域等都得到了广泛应用。正是因为目标跟踪系统应用的广泛性,所以受到全球各国科学研究工作者的密切关注,并逐渐成为机器视觉领域的研究重点。当前,机器视觉领域的目标跟踪技术发展趋势主要表现为场景信息与目标状态的融合,多维度、多层级信息的融合,深度学习与在线学习的融合和多传感器的融合。

目标跟踪是指针对视频或图像序列中指定的目标进行检测与跟踪,从而获得目标的位置、速度和轨迹等信息。由于图像常常存在光照条件变化、障碍物遮挡、目标尺度多变等问题,导致目标跟踪的效果不佳。这些问题都对目标跟踪算法的研究提出了挑战。因此,如何能够研究出稳定性高、准确率高、实时性高的目标检测和跟踪算法成为当前最为迫切的问题。

运动目标跟踪算法的研究离不开目标检测,目标检测为目标跟踪提供重要的模板。常见的目标检测算法有光流法、帧间差分法、背景差法和特征提取法。光流场法利用随时间变化的光流矢量特性,对运动目标进行检测,该算法使用简单但计算量大、实时性低;帧间差分法通过对视频序列中图像相邻帧的差异判断来获取目标位置,方法简单易理解,但因检测结果中易出现空洞情况而难以准确检测速度快的目标;背景差法通过对当前视频图像和背景图像求差值,并通过图像二值化处理来获取目标,该算法的难点在于基于背景建模;特征提取法通过提取目标对象的描述特征,然后构建基于机器学习的分类器进行目标检测,该算法在使用上较为复杂,难点在于对目标的图像特征的正确建模,常用于复杂背景的目标检测中。为了提高检测算法的准确性,常常会将几种检测算法结合使用。

随着目标跟踪技术的不断发展,现已有多种跟踪算法。根据目标模型的差异,传统的目标跟踪算法可分为两大类:生成类模型方法和判别类模型方法。生成类模型方法是通过对目标对象所在的区域建立目标模型,并在每帧图像中寻找相近区域的目标跟踪方法。生成类目标跟踪算法因使用简单,易于实现而被广泛应用。生成类算法又可细分为三类:基于模板匹配的目标跟踪算法、基于子空间的目标跟踪算法和基于稀疏编码的目标跟踪算法。经典的生成类跟踪算法有:meanshift算法、粒子滤波算法、卡尔曼滤波算法等。判别类模型方法则是通过在当前帧图像中,建立以目标区域为正样本、以背景区域为负样本,利用机器学习算法来训练分类器,并使用分类器来得到最优区域,从而实现目标跟踪的方法。判别类跟踪算法的准确率高,可应用于复杂背景的目标跟踪,但该类算法计算量大,实时性低,且对硬件装置要求较高。较为经典的判别类跟踪算法有:kcf算法及svm算法等。

如今,目标跟踪技术已经得到了充分的发展,但由于跟踪场景多变,现实环境复杂,目标跟踪的研究仍然存在挑战。每种算法都存在自身独特的优点,但同时亦有局限性,单一的跟踪算法很难同时满足实时性、准确性和稳定性要求。



技术实现要素:

本发明的目的在于提供一种能够更准确、实时地检测出运动目标的基于camshift算法的运动目标跟踪方法。

实现本发明目的的技术解决方案为:一种基于camshift算法的运动目标跟踪方法,包括以下步骤:

步骤1、图像预处理:使用相机采集视频图像,对图像进行灰度化处理,并进一步通过滤波操作去除图像噪声,得到视频图像序列;

步骤2、检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用canny边缘检测算法得到目标边缘轮廓;最后将三帧差分图像与经canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象对应的目标检测结果;

步骤3、构建并更新目标特征模板:首先把步骤2目标检测结果所得视频图像转成camshift算法所需的hsv模型;然后采用以h分量颜色直方图为主特征模板、s分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新;

步骤4、camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标;

步骤5、卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给camshift算法;

步骤6、确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以camshift算法为主,卡尔曼滤波算法为辅,进入下一步对目标进行持续跟踪;

步骤7、持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。

进一步地,步骤1所述的图像预处理,包括对图像的灰度化处理和滤波去噪处理;首先通过平均加权法将采集的彩色图像转化成为灰度图像,然后进行图像滤波处理,去除图像中存在的噪声,得到视频图像序列。

进一步地,步骤2所述的检测运动目标,具体如下:

步骤2.1、对连续的三帧图像ii-1(x,y)、ii(x,y)、ii+1(x,y)进行帧间差分运算,即分别对第ii-1(x,y)帧与第ii(x,y)帧、第ii(x,y)帧与第ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;

步骤2.2、将步骤2.1中得到的两帧差分图像进行与运算,得到运动目标的三帧差分图像di(x,y);

步骤2.3、分别对第i帧和第i+1帧差分图像采用canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像pi(x,y);

步骤2.4、将三帧差分图像di(x,y)与经canny边缘检测算法处理的目标边缘轮廓图像pi(x,y)进行或运算,得到与实际的运动目标对象相符的运动目标检测结果pti(x,y),融合公式如下:

pti(x,y)=pi(x,y)∪di(x,y)。

进一步地,步骤3所述的构建并更新目标特征模板,具体如下:

步骤3.1、将rgb模型转换为hsv模型:

将所有的颜色值归一化为[0,1],在rgb三个分量中,设定最大值为max,最小值为min,则转换公式如下:

v=max

其中,r、g、b分别为rgb模型的分量,hsv分别为hsv模型的分量;

步骤3.2、针对背景与目标模型中h分量存在的颜色干扰问题,在h分量的基础上,引入s分量来达到分离目标的目的:

分别计算出hsv模型中的h分量直方图、s分量直方图,并进行反向投影得到图像的h分量概率分布图ph、s分量概率密度图ps,根据式p(x,y)=βph+(1-β)ps,β∈[0.5,1],得到最终的颜色直方图的反向投影图p(x,y);

步骤3.3、根据第一帧图像提供的信息,计算质心坐标:

设图像点(x,y)处的像素值为i(x,y),则质心坐标(xi,yi)为:

其中,m00为零阶矩,m10为x的一阶矩,m01为y的一阶矩,计算方式如下:

步骤3.4、计算搜索窗口大小,二阶矩为:

则搜索窗口位置可由下式确定:

其中,旋转角

进一步地,步骤4所述的camshift目标跟踪,具体如下:

步骤4.1、根据步骤3计算的质心坐标、目标搜索框的大小及位置,将搜索框的中心移动到目标对象的质心坐标处;

步骤4.2、若搜索框与质心坐标之间距离大于阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;

步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,并对每一帧图像重复上述迭代过程。

进一步地,步骤6所述的确定融合系数,具体如下:

步骤6.1、设定第k帧中运动目标所占面积为starget,运动目标模板所占面积为s,两者的比值为干扰算子,即干扰算子

对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;

步骤6.2、针对干扰情况,调节干扰算子:

其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;

步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:

卡尔曼增益系数方程:kk=p'kht(hp'kht+(1-η)r)-1

状态修正方程:

其中,kk为卡尔曼增益系数矩阵,h为观测矩阵,r为协方差,pk为误差协方差p'k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由camshift算法提供;

当无干扰时,使用camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以camshift算法为主、卡尔曼算法为辅的跟踪方法。

本发明与现有技术相比,其显著优点在于:(1)将三帧差分法与canny边缘检测算法相结合,得到改进后的目标检测算法,弥补了三帧差分法所带来的空洞等目标对象不完整的缺点,提高了目标检测的准确性与可靠性,使检测结果更接近现实中的目标对象;(2)在颜色直方图的处理上,建立了以h分量为主特征,以s分量为次特征的颜色概率直方图模型,使得颜色直方图的特征模型更全面,更易于camshift算法的处理,提高了camshift算法的效率;(3)将camshift算法与卡尔曼滤波算法相融合,提高了跟踪算法的准确性,并克服了目标跟踪中障碍物遮挡和同色背景干扰的问题。

附图说明

图1是本发明基于camshift算法的运动目标跟踪算法的流程示意图。

图2是本发明中三帧差分法的流程示意图。

图3是本发明中三帧差分法和canny边缘算法结合的流程示意图。

图4是本发明中camshift跟踪算法的流程示意图。

图5是本发明中卡尔曼滤波算法与camshift算法融合的流程示意图。

图6是本发明实施例中的仿真效果图,其中(a)~(e)分别是视频的第1帧、第56帧、第130帧、第220帧、第278帧的跟踪效果图。

具体实施方式

本发明基于camshift算法的运动目标跟踪方法,包括以下步骤:

步骤1、图像预处理:使用相机采集视频图像,对图像进行灰度化处理,并进一步通过滤波操作去除图像噪声,得到视频图像序列;

步骤2、检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用canny边缘检测算法得到目标边缘轮廓;最后将三帧差分图像与经canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象对应的目标检测结果;

步骤3、构建并更新目标特征模板:首先把步骤2目标检测结果所得视频图像转成camshift算法所需的hsv模型;然后采用以h分量颜色直方图为主特征模板、s分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新;

步骤4、camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标;

步骤5、卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给camshift算法;

步骤6、确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以camshift算法为主,卡尔曼滤波算法为辅,进入下一步对目标进行持续跟踪;

步骤7、持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。

进一步地,步骤1所述的图像预处理,包括对图像的灰度化处理和滤波去噪处理;首先通过平均加权法将采集的彩色图像转化成为灰度图像,然后进行图像滤波处理,去除图像中存在的噪声,得到视频图像序列。

进一步地,步骤2所述的检测运动目标,具体如下:

步骤2.1、对连续的三帧图像ii-1(x,y)、ii(x,y)、ii+1(x,y)进行帧间差分运算,即分别对第ii-1(x,y)帧与第ii(x,y)帧、第ii(x,y)帧与第ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;

步骤2.2、将步骤2.1中得到的两帧差分图像进行与运算,得到运动目标的三帧差分图像di(x,y);

步骤2.3、分别对第i帧和第i+1帧差分图像采用canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像pi(x,y);

步骤2.4、将三帧差分图像di(x,y)与经canny边缘检测算法处理的目标边缘轮廓图像pi(x,y)进行或运算,得到与实际的运动目标对象相符的运动目标检测结果pti(x,y),融合公式如下:

pti(x,y)=pi(x,y)∪di(x,y)。

进一步地,步骤3所述的构建并更新目标特征模板,具体如下:

步骤3.1、将rgb模型转换为hsv模型:

将所有的颜色值归一化为[0,1],在rgb三个分量中,设定最大值为max,最小值为min,则转换公式如下:

v=max

其中,r、g、b分别为rgb模型的分量,hsv分别为hsv模型的分量;

步骤3.2、针对背景与目标模型中h分量存在的颜色干扰问题,在h分量的基础上,引入s分量来达到分离目标的目的:

分别计算出hsv模型中的h分量直方图、s分量直方图,并进行反向投影得到图像的h分量概率分布图ph、s分量概率密度图ps,根据式p(x,y)=βph+(1-β)ps,β∈[0.5,1],得到最终的颜色直方图的反向投影图p(x,y);

步骤3.3、根据第一帧图像提供的信息,计算质心坐标:

设图像点(x,y)处的像素值为i(x,y),则质心坐标(xi,yi)为:

其中,m00为零阶矩,m10为x的一阶矩,m01为y的一阶矩,计算方式如下:

步骤3.4、计算搜索窗口大小,二阶矩为:

则搜索窗口位置可由下式确定:

其中,旋转角

进一步地,步骤4所述的camshift目标跟踪,具体如下:

步骤4.1、根据步骤3计算的质心坐标、目标搜索框的大小及位置,将搜索框的中心移动到目标对象的质心坐标处;

步骤4.2、若搜索框与质心坐标之间距离大于阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;

步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,并对每一帧图像重复上述迭代过程。

进一步地,步骤6所述的确定融合系数,具体如下:

步骤6.1、设定第k帧中运动目标所占面积为starget,运动目标模板所占面积为s,两者的比值为干扰算子,即干扰算子

对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;

步骤6.2、针对干扰情况,调节干扰算子:

其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;

步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:

卡尔曼增益系数方程:kk=p'kht(hp'kht+(1-η)r)-1

状态修正方程:

其中,kk为卡尔曼增益系数矩阵,h为观测矩阵,r为协方差,pk为误差协方差p'k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由camshift算法提供;

当无干扰时,使用camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以camshift算法为主、卡尔曼算法为辅的跟踪方法。

下面结合附图及具体实施例对本发明作进一步详细说明。

实施例

首先通过相机采集一段背景复杂且目标运动过程中遇到障碍物遮挡的视频图像序列,随后在matlab2017a和visualstudio2013平台上对视频图像序列进行综合处理。

如图1所示,本发明一种基于camshift算法的运动目标跟踪方法,包括以下步骤:

步骤1:图像预处理:使用相机采集视频图像,使用加权平均法对图像进行灰度化处理,并进一步通过滤波操作,去除图像噪声,得到效果较好的图像视频序列;

步骤2:检测运动目标:手动标定跟踪目标,首先使用两帧差分法得到初步的检测结果;然后利用两帧差分图像得到三帧差分图像,同时对两帧差分图像使用canny边缘检测算法得到比较完整的目标边缘轮廓;最后将三帧差分图像与经canny边缘检测算法处理的目标边缘轮廓进行或运算,得到与目标对象较为接近的目标检测结果,结合图2、图3,具体如下:

步骤2.1、对视频序列中的连续三帧图像ii-1(x,y)、ii(x,y)、ii+1(x,y)进行帧间差分运算,即分别对第ii-1(x,y)帧与第ii(x,y)帧、第ii(x,y)帧与第ii+1(x,y)帧图像做差分运算,接着对两个差分图像采用自适应阈值二值化方法进行运算,获得两个两帧差分图像;

步骤2.2、将步骤2.1中得到的两帧差分图像作与运算,得到运动目标的三帧差分图像di(x,y);

步骤2.3、分别对第i帧和第i+1帧差分图像采用canny边缘检测算法进行运算,得到运动目标的边缘轮廓图像pi(x,y);

步骤2.4、将得到的三帧差分图像di(x,y)和边缘轮廓图像pi(x,y)进行或运算,即利用公式pti(x,y)=pi(x,y)∪di(x,y)得到较优的运动目标检测结果pti(x,y)。

步骤3:得到并更新目标特征模板:首先把采集的视频图像由rgb模型转成hsv模型;然后采用以h分量颜色直方图为主特征模板、s分量颜色直方图为次特征模板的方法得到目标特征模板;最后使用camshift算法获取目标特征模板和质心坐标,并对目标特征模板进行实时更新,结合图4,具体如下:

步骤3.1、将所有的颜色值归一化为[0,1],在rgb三个分量中,设定最大值为max,最小值为min,将图像从rgb模型转成hsv模型;转换公式如下:

v=max

步骤3.2、得到hsv模型后,针对背景与目标模型中h分量存在的颜色干扰问题,在h分量基础之上,引入s分量来达到分离目标的目的:

分别计算出hsv模型中的h分量直方图、s分量直方图,并进行反向投影得到图像的h分量概率分布图ph、s分量概率密度图ps,根据式p(x,y)=βph+(1-β)ps,(β∈[0.5,1])得到最终的颜色直方图的反向投影图;在本实施例中,取β值为0.6;

步骤3.3、根据第一帧中的图像信息,计算质心坐标:

设图像点(x,y)处的像素值为i(x,y),则质心坐标为:

其中,m00为零阶矩、m10为x的一阶矩、m01为y的一阶矩,计算方式如下:

步骤3.4、计算搜索窗口大小,二阶矩为:

则搜索窗口位置可由下式确定:

得到当前帧中目标的质心、大小,搜索框的初始尺寸和位置,然后以每帧图像中的目标质心、大小为特征模板,并不断更新。

步骤4:camshift目标跟踪:以更新后的目标特征模板为依据,对目标进行跟踪,计算并调整下一帧搜索框的大小和质心坐标,具体如下:

步骤4.1、以步骤3计算的当前帧的质心坐标、目标搜索框的尺寸及位置为依据,将搜索框的中心移动到目标对象的质心坐标处;

步骤4.2、若搜索框与质心坐标之间距离大于设置的阈值,则自适应调整搜索框的大小,直到搜索框的中心和目标质心相重合或者迭代次数满足要求;

步骤4.3、以当前得到的质心坐标作为下一帧运动目标搜索框的初始值,对每一帧图像重复上述迭代过程。

步骤5:卡尔曼目标跟踪:根据图像当前帧中目标的质心坐标、目标大小和运动速度信息,采用卡尔曼滤波算法对下一帧的质心坐标进行预测,并将结果反馈给camshift算法,结合图5,具体如下:

先根据上一时刻的状态预测当前时刻的状态,再根据得到的观测值对预测值做修正,并且把修正后的状态值当作下一时刻的初始值。在应用时,卡尔曼滤波算法主要涉及预测方程和修正方程。

预测方程包括状态预测方程、误差协方差预测方程:

状态预测方程:

误差协方差预测方程:p'k=apk-1at+q

修正方程包括卡尔曼增益系数方程、状态修正方程和误差协方差修正方程:

卡尔曼增益系数方程:kk=p'kht(hp'kht+r)-1

状态修正方程:

误差协方差修正方程:pk=(i-kkh)p'k

其中,a为状态转移矩阵,b为系统作用矩阵,h为观测矩阵,q为状态噪声协方差矩阵,r为观测噪声协方差矩阵。

步骤6:确定融合系数:判断跟踪过程中是否存在障碍物遮挡、同色背景干扰,若存在干扰,则以卡尔曼滤波算法为主,将卡尔曼滤波算法预测的目标位置作为当前帧的目标位置,更新camshift算法的目标搜索框,返回步骤3对目标特征模板进行实时更新;若不存在干扰,则以camshift算法为主,卡尔曼滤波算法为辅,对目标进行持续跟踪,具体如下:

步骤6.1、设定第k帧中运动目标所占面积为starget,运动目标模板所占面积为s,令两者的比值为干扰算子,干扰算子对干扰情况进行分类:当无干扰时,η值为1;当存在遮挡干扰时,η值小于1;当存在同色干扰时,η值大于1;

步骤6.2、针对干扰情况,调节干扰算子:

其中,0.65为目标遮挡的阈值,1.55为同色背景干扰的阈值;正常情况下,干扰因子值为1;当目标遇到遮挡干扰或同色干扰时,将干扰因子设置为0;

步骤6.3、将调节后的η值代入下式来调整卡尔曼滤波算法中的观测值和预测值的权重:

卡尔曼增益系数方程:kk=p'kht(hp'kht+(1-η)r)-1

状态修正方程:

其中,kk为卡尔曼增益系数矩阵,h为观测矩阵,r为协方差,pk为误差协方差p'k为误差协方差的预测,为第k帧的后验状态估计;为第k帧的先验状态估计;mk为第k帧的观测值,由camshift算法提供;

当无干扰时,使用camshift算法进行运动目标跟踪;当出现干扰时,则使用修正后的卡尔曼滤波算法进行运动目标跟踪,同时实时检测运动目标,将检测结果与未受干扰的目标相比较,若η值在正常范围内,则恢复以camshift算法为主、卡尔曼算法为辅的跟踪方法。

步骤7:持续跟踪:获取下一帧图像并更新每一帧的目标特征模型,重复步骤4~步骤6,直至完成运动目标的跟踪。

结合图6的仿真效果图,其中(a)~(e)分别是视频的第1帧、第56帧、第130帧、第220帧、第278帧的跟踪效果图,可以看出,本发明基于camshift算法的运动目标跟踪方法,提高了目标检测的准确性与可靠性,使检测结果更接近现实中的目标对象;提高了camshift算法的效率和跟踪算法的准确性,并克服了目标跟踪中障碍物遮挡和同色背景干扰的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1