留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

基于增强多流形学习的监控视频追踪算法

上一篇

下一篇

李建新. 基于增强多流形学习的监控视频追踪算法[J]. 西南师范大学学报(自然科学版), 2019, 44(1): 95-101. doi: 10.13718/j.cnki.xsxb.2019.01.016
引用本文: 李建新. 基于增强多流形学习的监控视频追踪算法[J]. 西南师范大学学报(自然科学版), 2019, 44(1): 95-101. doi: 10.13718/j.cnki.xsxb.2019.01.016
Jian-xin LI. A Tracking Algorithm of Surveillance Video Based on Enhanced Multi-Manifold Learning[J]. Journal of Southwest China Normal University(Natural Science Edition), 2019, 44(1): 95-101. doi: 10.13718/j.cnki.xsxb.2019.01.016
Citation: Jian-xin LI. A Tracking Algorithm of Surveillance Video Based on Enhanced Multi-Manifold Learning[J]. Journal of Southwest China Normal University(Natural Science Edition), 2019, 44(1): 95-101. doi: 10.13718/j.cnki.xsxb.2019.01.016

基于增强多流形学习的监控视频追踪算法

  • 基金项目: 广东省教育厅青年创新人才类项目(2017GkQNCX116,2017GkQNCX119);东莞市社会科技发展项目(2017507156388);2018东莞职业技术学院政校行企合作项目(政201805)
详细信息
    作者简介:

    李建新(1984-), 男, 讲师, 硕士, 主要从事模式识别、图形图像处理、智能软计算研究 .

  • 中图分类号: TP391

A Tracking Algorithm of Surveillance Video Based on Enhanced Multi-Manifold Learning

  • 摘要: 提出了一种多流形局部线性嵌入的流形学习算法,为每个类的流形学习过程设计了一种监督的近邻点选择方法,将流形-流形距离作为度量指标,搜索最优的低维空间.在视频追踪算法中对外部数据库进行图像训练预处理,为人脸检测建立级联分类器,利用均值粒子滤波器结合跟踪校正策略对人脸图像实时跟踪,采用多流形训练的结果从视频流的人脸集中检测出追踪的目标人脸.仿真实验结果表明本算法对不同的数据集均获得了较高的检测率与较高的计算效率.
  • 加载中
  • 图 1  本文视频追踪算法的总体结构

    图 2  本文的近邻点选择策略

    图 3  YTC数据集的视频帧样本

    图 4  COX数据集的视频帧样本

    表 算法1  基于局部线性嵌入的多流形学习算法

    1.读取数据集X={X1X2,…,XN};
    2.FOREACH数据分类Cq IN X DO
    3. FOREACH数据点xi IN Cq DO
    4.搜索kq个近邻点Nεkq(xi);
    5.通过最小化(1)式计算权重wij
    6.搜索权重矩阵W,每个元素的权重为wij
    7.ENDFOR
    8.ENDFOR
    9.搜索N×N稀疏矩阵F=(IW)T(IW);
    10.设置d=1,MinDist=0;
    11./*迭代地运行以下子程序直至不同分类之间的流形距离最小化*/
    12.WHILE(MinDist < εmmd & & d < N)    DO
    13.从M个特征向量中搜索d+1个最小特征向量构成集合Y,忽略最小的特征向量;
    14. /*从Y中搜索流形嵌入坐标Yq*/
    15.设置initialLength=0;
    16. FOREACH数据类Xq IN X DO
    17. Yq=Y((initialLength+1),(initialLength+length(Xq)));
    18. initialLength=initialLength+length(Xq);
    19. ENDFOR
    20./*计算流形与流形之间的距离*/
    21. FOREACH YqYr IN Y DO
    22.根据定义6搜索D(YqYr);
    23. ENDFOR
    24./*搜索流形之间的最小距离*/
    25.搜索最小距离:MinDist=min(D(YqYr));
    26. d=d+1;
    27. ENDWHILE
    下载: 导出CSV

    表 1  视频识别算法对YTC数据集与COX数据集的识别率/%

    视频检测算法 YTC COX12 COX13 COX23 COX21 COX31 COX32
    MaxMD 52.6 36.4 19.6 8.9 27.6 19.1 9.6
    CDL 69.7 78.4 85.3 79.7 75.6 85.8 81.9
    LMKML 70.3 66.0 71.0 56.0 74.0 68.0 60.0
    SGM 52.0 26.7 14.3 12.4 26.0 19.0 10.3
    GMM 61.0 30.1 24.6 13.0 28.9 31.7 18.9
    本算法 73.3 95.1 96.3 94.2 92.3 95.4 94.5
    下载: 导出CSV

    表 2  目标检测算法的计算时间/s

    视频检测算法 训练时间 测试时间
    MaxMD 无训练 0.1
    CDL 433.3 2.6
    LMKML 245.3 0.5
    SGM 11.9 0.1
    GMM 42.3 1.9
    本算法 27.1 0.1
    下载: 导出CSV
  • [1] 李燕燕, 闫德勤, 刘胜蓝, 等.一种基于局部线性嵌入的多流形学习算法[J].小型微型计算机系统, 2012, 33(8):1795-1799. doi: 10.3969/j.issn.1000-1220.2012.08.033
    [2] 高翠珍, 胡建龙, 李德玉.保持局部邻域关系的增量Hessian LLE算法[J].计算机科学, 2012, 39(4):217-219. doi: 10.3969/j.issn.1002-137X.2012.04.050
    [3] 晏勇.基于SKLLE和SVM的人脸表情识别[J].西南师范大学学报(自然科学版), 2014, 01(1):55-60. doi: http://xbgjxt.swu.edu.cn/jsuns/jscnuhhse/ch/reader/view_abstract.aspx?file_no=X2014-01-055&flag=1
    [4] 王鑫, 沃波海, 管秋, 等.基于流形学习的人体动作识别[J].中国图象图形学报, 2014, 19(6):914-923. doi: http://d.old.wanfangdata.com.cn/Thesis/D01014489
    [5] ZHANG S Q.Enhanced Supervised Locally Linear Embedding[J].Pattern Recognition Letters, 2009, 30(13):1208-1218. doi: 10.1016/j.patrec.2009.05.011
    [6] ZHANG W.An Improved Locally Linear Embedding Algorithm by Using Recurrent Neural Networks[J].Journal of Computational and Theoretical Nanoscience, 2016, 13(1):425-437. doi: 10.1166/jctn.2016.4823
    [7] ZHANG L, LENG Y, YANG J, et al.Supervised Locally Linear Embedding Algorithm Based on Orthogonal Matching Pursuit[J].IET Image Processing, 2015, 9(8):626-633. doi: 10.1049/iet-ipr.2014.0841
    [8] 任剑锋, 梁雪, 李淑红.基于非线性流形学习和支持向量机的文本分类算法[J].计算机科学, 2012, 39(1):261-263. doi: 10.3969/j.issn.1002-137X.2012.01.060
    [9] CHOJNACKI W, BROOKS M J.A Note on the Locally Linear Embedding Algorithm[J].International Journal of Pattern Recognition and Artificial Intelligence, 2009, 23(08):1739-1752. doi: 10.1142/S0218001409007752
    [10] 胡一帆, 胡友彬, 李骞, 等.基于视频监控的人脸检测跟踪识别系统研究[J].计算机工程与应用, 2016, 52(21):1-7. doi: 10.3778/j.issn.1002-8331.1602-0035
    [11] 吴文通, 李元祥, 韦邦合, 等.局部测地距离估计的增量等距特征映射算法[J].上海交通大学学报(自然科学版), 2013, 47(7):1082-1086. doi: http://d.old.wanfangdata.com.cn/Periodical/shjtdxxb201307014
    [12] KAYO O.Locally Linear Embedding Algorithm——Extensions and Applications[M].Oulu:Oulu University Press, 2006.
    [13] KIM M, KUMAR S, PAVLOVIC V, et al.Face Tracking and Recognition with Visual Constraints in Real-World Videos[C]//2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.New York: IEEE Computer Society Press, 2008.
    [14] HUANG Z, SHAN S, ZHANG H, et al.Benchmarking Still-to-Video Face Recognition via Partial and Local Linear Discriminant Analysis on COX-S2V Dataset[C]//Asian Conference on Computer Vision.New York: Springer-Verlag, 2012: 589-600.
    [15] LU J, WANG G, MOULIN P.Image Set Classification Using Holistic Multiple Order Statistics Features and Localized Multi-kernel Metric Learning[C]//IEEE International Conference on Computer Vision.New York: IEEE Computer Society Press, 2013: 329-336.
    [16] doi: http://d.old.wanfangdata.com.cn/OAPaper/oai_arXiv.org_0805.2368 GRETTON A.A Kernel Two-Sample Test[J].Journal of Machine Learning Research, 2012, 13(1):723-773.
    [17] WANG R, GUO H, DAVIS L S, et al.Covariance Discriminative Learning: A Natural and Efficient Approach to Image Set Classification[C]//IEEE Conference on Computer Vision and Pattern Recognition.New York: IEEE Computer Society Press, 2012: 2496-2503.
    [18] doi: http://d.old.wanfangdata.com.cn/NSTLQK/NSTL_QKJJ0232544303/ MLIKI H, FENDRI E, HAMMAMI M.Face Recognition Through Different Facial Expressions[J].Journal of Signal Processing Systems, 2015, 81(3):1-14.
    [19] doi: http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=090d23b8abc1a53db6770694bc9d87a2 CUI Z, CHANG H, SHAN S, et al.Joint Sparse Representation for Video-Based Face Recognition[J].Neurocomputing, 2014, 135(8):306-312.
  • 加载中
图( 4) 表( 3)
计量
  • 文章访问数:  873
  • HTML全文浏览数:  656
  • PDF下载数:  23
  • 施引文献:  0
出版历程
  • 收稿日期:  2017-01-18
  • 刊出日期:  2019-01-20

基于增强多流形学习的监控视频追踪算法

    作者简介: 李建新(1984-), 男, 讲师, 硕士, 主要从事模式识别、图形图像处理、智能软计算研究
  • 东莞职业技术学院 计算机工程系, 广东 东莞 523808
基金项目:  广东省教育厅青年创新人才类项目(2017GkQNCX116,2017GkQNCX119);东莞市社会科技发展项目(2017507156388);2018东莞职业技术学院政校行企合作项目(政201805)

摘要: 提出了一种多流形局部线性嵌入的流形学习算法,为每个类的流形学习过程设计了一种监督的近邻点选择方法,将流形-流形距离作为度量指标,搜索最优的低维空间.在视频追踪算法中对外部数据库进行图像训练预处理,为人脸检测建立级联分类器,利用均值粒子滤波器结合跟踪校正策略对人脸图像实时跟踪,采用多流形训练的结果从视频流的人脸集中检测出追踪的目标人脸.仿真实验结果表明本算法对不同的数据集均获得了较高的检测率与较高的计算效率.

English Abstract

  • 目前LLE(局部线性嵌入)算法[1-2]广泛地应用于图像分类与目标识别问题中[3],但经典的LLE算法难以学习多个流形[4-8].本文在文献[9]的LLE算法的基础上,设计了基于LLE的多流形学习方法,通过局部非线性、多流形的方法学习并保留数据集的类结构.假设一个向量数据集为x1x2,…,xNε是一个正实数,k是一个正整数,N(xi)表示xi的近邻点,包含了与xi距离最近的k个向量,即:对于每个xjN(xi),其欧式距离‖ xixj‖小于ε,将数据样本xi线性地表示为N(xi)中的近邻点.通过最小化(1)式计算权重值{wij}xjN(xi)

    约束条件为∑xjN(xi)wij=1,wij>0;如果xj$\notin $N(xi),则wij=0.可将(1)式转换为:ε2=[xi$\sum\limits_{j = 1}^k {} $wij xj]2=[$\sum\limits_{j = 1}^k {} $wij(xixj)]2=$\sum\limits_{jk} {} $wijwik Gjk,式中Gjk=(xi- xj)T(xi-xk)是局部Gram矩阵,其中xjxkN(xi).使用拉格朗日乘法计算重构权重${w_{ij}} = \frac{{\sum\nolimits_k {\mathit{\boldsymbol{G}}_{jk}^{-1}} }}{{\sum\nolimits_{lm} {\mathit{\boldsymbol{G}}_{lm}^{-1}} }}$,使用重构权重搜索d维的向量y1y2,…,yn$\mathbb{R}$d,这些向量定义了$\mathbb{R}$d中原数据集的d维嵌入,其中d < D,通过最小化(2)式可获得d维的向量.

    其中

    将(2)式改写为以下的矩阵形式:

    式中:Wn×n的权重矩阵,mN×N=(IWn×n)T(IWn×n),Yi均正交.使用拉格朗日乘法计算最优解:

    用(4)式对Yk(k=1,2,…,d)求导,YkTmλkYkT=0则说明了mYk=λkYk,{λk}为m的特征值,{Yk}则是对应的特征向量.通过搜索m底部的特征向量可将E2(Y)最小化. Y0T的一个特征值为λ0=0,所以应当获得m底部的d+1个特征值及其特征向量,然后忽略Y0.

  • 图 1所示是本文系统的总体结构:首先对外部数据库进行图像训练预处理,为人脸检测建立级联分类器;其次利用摄像头采集监控的视频信息,通过级联分类器检测视频流的人脸图像;然后利用均值粒子滤波器结合跟踪校正策略对人脸图像实时跟踪[10];接着将追踪的目标人脸样本集作为训练库进行多流形局部嵌入的学习;最后采用多流形训练的结果从视频流的人脸集中检测出追踪的目标人脸.

  • 流形空间与欧式空间的拓扑相似.

    定义1 流形M是一个度量空间,M具有以下的性质:如果xM,则存在一些x的近邻点U与整数n≥0,使得U$\mathbb{R}$n同胚.假设ε>0是一个正实数,将流形中点x的近邻点定义为与x距离小于ε的点集合Nε(x)={ yMd(xy) < ε},将流形M中每个点x表示为一个特征向量(a1,…,an)∈$\mathbb{R}$n,其中xix均为实数,将特征向量之间的距离d(xy)定义为马氏距离:d(xy)=$\sum\limits_{i = 1}^n {} $| xiyi|.

  • 首先考虑单类的分类问题:使用LLE算法对X进行处理,首先定义点xiXk-近邻点,假设Nε(x)c表示近邻Nε(x)的各个元素.

    定义2(k-近邻点) 假设ε>0,Nεk(x)表示点xXk-近邻点,定义为Nεk(x)$ \subset $Nε(x),$\forall $xiNεk(x),且$\forall $xjNεk(x)cNε(x),d(xxi) < d(xxj).以下证明数据集中如果任意两点xixj包含相同的特征向量,则xixj具有相同的k-近邻点.

    命题1 假设xixj均为$\mathbb{R}$D中的特征向量,如果xi= xj,则Nεk(xi)∩Nεk(xj)≠Ø.

     对于xixj$\mathbb{R}$n,如果xi= xj,则Nε(xi)=Nε(xj).根据定义2可得Nεk(xi)$\subset $Nε(xj),Nεk(xj)$\subset $Nε(xj),因此Nεk(xi)∩Nεk(xj)≠Ø.

  • 考虑多类的分类问题.为了简化分析,仅考虑两个类的分类问题,假设X是包含N+P个特征向量的数据集,F表示高维空间的数据点,假设前N个点属于类1,后P个点属于类2,假设c∈{1,2},L∈{NP},X中每个特征向量xic的维度为Dxid=(xi,1cxi,2c,…,xiLc)T,1≤iD.

    传统的LLE算法无法同时学习多个流形,因为LLE算法中决定给定点的近邻点的过程忽略了类标签.由命题1知两个类的任意两点含有相同的特征向量,这两点则具有相同的近邻点,在流形学习中现有的算法无法保留流形的结构.

    针对上述问题,为传统的LLE算法设计了一个近邻点选择机制,本方法在选择点xi近邻点的过程中考虑其类标签,将本方法称为监督k-近邻选择. 图 2所示,在寻找类1中点xik-近邻点过程中,经典方法也会考虑类2的点,因此,不属于类1的xkxi的近邻点,而类1的xjxl则不会变为xi的近邻点;本文方法中xk不是xi的近邻点,而xjxl变为其近邻点,所以获得一个成功的流形重构过程.

    定义3(监督k-近邻点) 假设CX的一个数据类,如果点xiC$\subset $X的监督k-近邻点是Nεk(xi),则xjC.

    定义4(等距算子[11]) 假设XY是线性的度量空间,xyX,如果XY的映射f满足条件:d(f(x),f(y))=d(xy),则f是一个等距算子,即等距算子是一个保留了距离的映射.

    选择监督k-近邻点与每个类中数据的等距算子,然后根据引理1可获得它们对应的流形.

    引理1 假设XY是线性的度量空间xyX,一个等距算子fX$\xrightarrow{{}}$Yx的近邻映射到Yf(x)的近邻.

     假设Nε(x)是点xX的一个近邻点集合,假设等距算子将x映射到f(x),Nε(x)的每个点y满足d(xy) < ε.根据定义4,因为d(f(x),f(y))=d(xy),所以每个点yNε(x)$\subset $X映射至f(y)∈Nε(f(x))$\subset $Y.

    引理2 假设X是线性的度量空间,CX的一个数据类,对于任意点xiX

    1) 如果xiC$\subset $X,则Nεk(xi)$\subset $C

    2) 如果xiC$\subset $X等距地映射至点yiM1,则Nεk(yi)$\subset $M1,其中M1C中所有点获得的流形.

     根据引理1的定义,将Nεk(xi)$\subset $X映射到Nεk(yi)$\subset $M,可得Nεk(xi)$\subset $C,因此Nεk(yi)$\subset $M1.

    根据引理1与2的结果可看出,通过流形内每个点的近邻点可重构其邻域,并保留流形的局部几何结构.下面通过本文的近邻选择方法对降维空间的流形结构进行比较.为了简便,本文规定如果至少有一个点xi1C1与点xj2C2使得xi1= xj2,则表示为C1δC2.

    引理3 假设xi1xj1是有限维线性空间X的任意两点,C1C2是两个数据类,其中xi1C1$ \subset $Xxj2C2$ \subset $X,如果xi1=xj2,则Nεk(xi1)δNεk(xj2).

     如果xi1=xj2,则Nεk(xi1)∩Nεk(xj1)≠Ø,因此Nεk(xi1)δNεk(xj2).

    理论2 假设C1C2$\subset $X,即X=C1C2,假设M1M2分别是C1C2获得的流形,如果C1接近C2,则M1接近M2.

     假设将xi1映射到点yiM1xj2映射到点yjM2,则根据引理2可得Nεk(yi)$\subset $M1Nεk(yj)$\subset $M2,其中C1映射至M1C2映射至M2.根据引理3可得Nεk(xi1)δNεk(xj2),根据引理2可将Nεk(xi1)映射至Nεk(yi),将Nεk(xj2)映射至Nεk(yi),所以Nεk(yi)δNεk(yj)$\Rightarrow $M1δM2.

    在分类与模式识别过程中度量流形空间的距离具有重要意义.首先,考虑点到流形的距离,该距离对于流形空间中未知数据样本的分类极为重要.

    定义5(点到流形的距离(PMD)) 假设x是有限维向量空间V中的一个点,M是一个流形,点x到流形M的距离d(xM)定义为d(xM)=$\mathop {{\rm{min}}}\limits_{{S_i} \in M} $d(xSi)=$\mathop {{\rm{min}}}\limits_{{S_i} \in M} \mathop {{\rm{min}}}\limits_{y \in {S_i}} $xy‖,式中SiM的局部线性空间,因此M={Sii=1,2,…,m},‖·‖是欧氏距离.

    在多流形空间中度量两个流形的距离也十分重要,因为本算法关注于保留每个流形的几何结构,通过测量多流形空间中两个流形的距离可比较降维空间中的流形距离,定义6定义了流形-流形距离.

    定义6(流形-流形距离) 假设M1M2是两个流形,则流形-流形有向距离定义为:

    式中:TM1TM2分别为M1M2的长度,M1(i)是流形M1的第i个点.因为d(M1M2)是有向距离,M1M2的无向距离计算公式为:

  • 本文基于LLE的多流形学习算法主要步骤如算法1所示.

  • 假设一个D维数据集,大小为n,将C个数据类降维到d维空间,近邻数量设为k.文献[12]分析了传统LLE算法的计算复杂度,下文分析了本算法的计算复杂度.

    本算法包含3个步骤:

    步骤1每次k-近邻搜索的平均计算成本为O(Dlog(k)nlog(n)),因为本算法对各类独立地进行k-近邻搜索,所以平均成本为O($\sum\nolimits_i^C {} $Dlog(ki)nilog(ni)),本算法在高维空间的改进明显地降低了近邻搜索的计算复杂度.

    步骤2中权重矩阵的构建成本为O($\sum\nolimits_i^C {} $Dniki3),而传统LLE的成本为O(Dnk3).

    步骤3包含了两个子步骤:特征值分解的成本为O(dn2);最小化流形-流形距离的计算成本为O($\sum\nolimits_{i < J}^C {} $dninj).步骤3是一个迭代过程,结束条件为最小化流形-流形距离达到预定的阈值,假设算法的迭代次数为m,则步骤3的计算复杂度为O(m(dn2+$\sum\nolimits_{i < J}^C {} $dninj)).

    综上所述,本算法的总计算复杂度为:

  • 每个流形学习算法对训练数据进行流形学习,在流形空间建立测试数据样本之后,在低维流形空间使用k-近邻分类方法对样本进行分类处理,本算法的低维流形嵌入包含了多个流形.使用点-流形的距离(定义5)选择与给定的测试样本(xts)距离最近的流形,定义为:

    假设d(dtsMq)=minMiMd(xtsMi),其中M=[M1M2,…,Mq,…,MN]是流形空间,Mq是与类Cq对应的流形. Class(xts)=$\left\{ {\begin{array}{*{20}{l}} {{C_q}}&{\rm{如果}}d\left( {{\mathit{\boldsymbol{x}}_{ts}},{M_q}} \right){\rm{ < }}{\varepsilon _{pmd}}\\ {{\rm{未决定}}}&{{\rm{其他情况}}} \end{array}} \right.$

  • 为了测试多流形算法对人脸识别与追踪的性能,选择两个公开的大规模视频数据集:YouTube Celebrities(YTC)[13]与COX[14],YTC广泛应用于视频人脸数据集的检测与追踪应用中,YTC共有47个主题、1 910个视频剪辑,其中大多数剪辑经过了高度的压缩且含有噪声,视频质量较低;COX则是一个大规模数据集,包含了1 000个主题,每个主题包含3个视频(不同摄像头拍摄),每个视频中大约有25~175个低分辨率的视频帧. 图 34所示分别是YTC与COX数据集的部分样本.

    首先对COX数据集的所有人脸基于人脸边界框进行正则化处理,获得大小接近的人脸,采用文献[15]的方法对YTC数据集进行预处理:YTC的人脸缩放为20×20大小,COX的人脸缩放为32×40大小,对两个数据集进行直方图均衡化处理来消除光照效应.使用文献[15]的实验方案构建十折交叉检验,即随机选择10个训练集/测试集,YTC数据集的每折随机选择3个图像集作为训练集,6个作为测试集;COX数据集的每个主题有3个视频,从3个视频测试集(每个人)中选择一个视频作为训练集,剩下的两个视频作为测试集,因此,共需建立6个测试分组.

  • 将本文多流形监督学习算法与无监督学习算法(MaxMD[16],CDL[17])、监督学习算法(SGM[19],GMM[20])进行比较,全面评估本算法的检测性能. 表 1所示是视频识别算法对YTC数据集与COX数据集的实验结果,全部结果均为十折交叉检验的平均识别率.从结果可看出,本算法对大规模视频数据集YTC与COX的检测结果均具有明显的优势,原因在于本算法通过多流形的学习策略有效地降低了问题的维度,提高了目标识别的准确率,此外,将流形空间中流形之间的距离作为一个度量指标,搜索数据的最优低维嵌入,最优的低维嵌入可提高分类准确率.

    表 2所示是几种目标检测算法的计算时间统计,可看出本算法的训练时间较低,测试时间也较低,具有较好的实时性.

  • 经典的LLE算法难以学习多个流形,本文设计了基于LLE的多流形学习方法,通过局部非线性、多流形的方法学习并保留数据集的类结构.本算法设计了监督的近邻选择策略,将流形空间中流形之间的距离作为一个度量指标,搜索数据的最优低维嵌入提高分类准确率.通过寻找多流形空间中与同一数据样本距离最近的流形对已知数据进行分类,有效地保留了每个流形的结构并保持流形之间分离性.

参考文献 (19)

目录

/

返回文章
返回