视频中的人脸检测研究进展及算法代码.docx

上传人:b****3 文档编号:3841883 上传时间:2023-05-06 格式:DOCX 页数:20 大小:29.83KB
下载 相关 举报
视频中的人脸检测研究进展及算法代码.docx_第1页
第1页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第2页
第2页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第3页
第3页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第4页
第4页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第5页
第5页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第6页
第6页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第7页
第7页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第8页
第8页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第9页
第9页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第10页
第10页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第11页
第11页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第12页
第12页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第13页
第13页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第14页
第14页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第15页
第15页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第16页
第16页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第17页
第17页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第18页
第18页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第19页
第19页 / 共20页
视频中的人脸检测研究进展及算法代码.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

视频中的人脸检测研究进展及算法代码.docx

《视频中的人脸检测研究进展及算法代码.docx》由会员分享,可在线阅读,更多相关《视频中的人脸检测研究进展及算法代码.docx(20页珍藏版)》请在冰点文库上搜索。

视频中的人脸检测研究进展及算法代码.docx

视频中的人脸检测研究进展及算法代码

视频中的人脸检测研究进展

摘要

近年来基于视频中的人脸识别已成为人脸识别领域最为活跃的研究方向之一,充分利用视频中人脸的空间和时间信息克服视频中人脸分辨率低,尺度变化范围大,光照、姿态变化比较剧烈以及时常发生遮挡等困难是研究的重点。

文中对近期基于视频的人脸识别研究进行了详细的介绍和讨论,在对相关方法分类的基础上,分析了各类方法的优缺点。

本文采用VC++6.0andOPENCV实现了基于视频的人脸检测程序。

Abstract

Recently,video-basedfacerecognitionhasbecomeoneofthehottesttopicsinthedomainoffacerecognition.Howtofullyutilizebothspatialandtemporalinformationinvideotoovercomethedifficultiesexistinginthevideo-basedfacerecognition,suchaslowresolutionoffaceimagesinvideo,largevariationsoffacescale,radicalchangesofilluminationandposeaswellasoccasionallyocclusionofdifferentpartsoffaces,isthefocus.Thepaperreviewsmostexistingtypicalmethodsforvideo-basedfacerecognition(especiallyforthelast5years)andanalysestheadvantagesanddisadvantagesofeachmethod.

ThisthesisusesVC++6.0andOPENCVtorealizefacedetectionprogrambasedonthevideo.

●1.研究背景与意义

人脸检测是指判定任意给定一幅图像或者一组图像序列中是否存在人脸。

如果存在,则返回其位置和各个人脸所占的区域[1]。

在输入图像中确定所有的人脸如果存在的位置,大小,位姿的过程。

是自动人脸识别系统的一个关键环节。

人脸检测问题最初来源于人脸识别,其研究可以追溯到上个世纪八十年代,但早期的人脸识别研究主要针对具有较强约束条件的人脸图像如无背景的图像,往往假设人脸位置己知或很容易获得,因此人脸检测问题并未受到重视。

近几年随着电子商务等应用的发展,人们对于复杂背景下人脸自动识别的要求日益迫切,对各种情形下人脸检测的要求也越来越高。

目前,人脸检测的应用背景已经远远超出了人脸识别的范畴,在人工情感计算,基于内容的检索,数字视频处理,视觉检测等方面有着重要的应用价值。

作为人脸信息处理中的一项关键技术,近年来成为模式识别与计算机视觉领域内一项受到普遍重视-研究十分活跃的课题.

人脸检测分为两种情况:

第一种情况是在静止的图像中判断是否存在人脸,若存在,则定位人脸的位置;第二种情况是在视频图象序列中判断是否存在人脸,若存在人脸,则动态跟踪人脸。

这是一种根据人脸样本模式的共性特征进行模式识别的操作:

它将图像内待检的任意一个子区域划分为两类模式:

人脸区域和非人脸区域。

.

视频中人脸检测的难点:

由于人脸内在的变化所引起这些变化主要包括以下几点:

(1)人脸具有相当复杂的细节变化,不同的外貌如脸形、肤色等,不同的喜怒哀乐表情,以及局部特征如眼睛、嘴的开和闭等。

(2)人脸遮挡,如眼镜、胡须、头发和头部饰物以及其他外部遮挡物等。

由于外在条件变化所引起,这类变化包括:

(1)由于成像角度的不同造成人脸的多姿态:

如平面内旋转,深度旋转以及上下旋转,其中深度旋转影响较大。

(2)光照的影响,如图像中的亮度,对比度的变化和阴影等。

(3)图像成像的背景复杂多样。

视频中人脸检测的重点:

如何充分利用视频中人脸的时间和空间信息克服视频中人脸分辨率低,尺度变化范围大,光照、姿态变化剧烈以及时常发生遮挡等困难。

2.论文的研究内容及主要工作

1.对视频中人脸检测的方法及其发展进行对比和总结;

2本文采用VC++和OPENCV实现了对基于摄像头采集的实时图像的人脸检测。

3.论文结构

第1章主要介绍人脸检测技术的发展背景,并对论文的主要研究内容和论文结构进行了介绍。

第2章介绍人脸检测技术的发展及研究现状,对当前检测方法进行分类,就各种方法的优缺点进行简单分析。

第3章.程序实现及实验结果。

●2.人脸检测综述

2.1人脸检测的研究现状

人脸检测早期的研究主要致力于模板匹配、子空间方法,变形模板匹配等,使用简单的启发式和人体测量技术[2]。

早期人脸检测方法往往对输入的人脸图像有很多严格的限制,比如要求背景简单、正面面对摄像机、光照条件受控等。

基于这些方法构建的检测系统,任何图像条件的改变,即使不用完全重新设计整个系统,也要对系统的参数进行精细的调整。

那时人们更重视对人脸识别的研究,直到上个世纪九十年代,随着实际的人脸识别和视频编码系统开始成为现实[3],这种情况才有所改变。

研究者提出了多种检测方法,特别是那些利用运动、肤色和一般信息的方法。

统计和神经网络方法的使用也使在复杂背景和多分辨率中的人脸检测成为可能。

近期人脸检测的研究主要集中在基于数据驱动的学习方法,如统计模型方法,神经网络学习方法,统计知识理论和方法,基于马尔可夫随机域的方法,以及基于肤色的人脸检测。

目前,国外对人脸检测问题的研究很多,比较著名的有CMU(卡耐基梅隆大学)、Mrr(麻省理工学院)、YALE(耶鲁大学)等学院机构。

而且,MEPG一7标准组织己经建立了人脸识别草案小组,人脸检测算法也是一项征集的内容。

国内的清华大学、浙江大学、中国科学院计算技术研究所和中国科学院自动化研究所等都有人员从事人脸检测相关的研究。

目前,针对人脸检测问题的人脸库很多,但由于人脸这一特定模式本身具有复杂性,建立一个公认的、权威的、能够基本上涵盖可能人脸情形的和评价人脸检测方法优劣的人脸检测测试图像库是比较困难的。

2.2存在的主要问题

(1)背景中可能存在和人脸相近的模式:

人脸常存在于一个复杂的背景之中,可能在背景中存在着与人脸近似的模式

(2)人脸模式的不确定:

人脸是一个非刚性,是一个包含五官、毛发等的极不规则的复杂待测目标,不同的人脸在形状、大小、颜色、质地等方面有很大的变化性,某些局部的特征还具有随机性,而且人的面部还存在着不同的表情。

脸部的其它附属物如胡须、眼镜等都会造成人脸模式的不确定性

(3)图像获取过程的不确定性带来的影响光照强度、光源的数目和方向、拍摄角度、不同的成像方式、图像的分辨率,都可以引起图像质量的变化人脸可能以不同的视角出现在图像中,为了实现检测方法的鲁棒性,我们需要考虑在不同的方向、角度、尺度等情况下所表现出来的不同表象

(4)运算量太大,通常要对整个图像进行多尺度的非线性插值和全搜索

(5)很难解决侧转和旋转的人脸检测。

2.3人脸测试的主要方法

人脸的主要的共性特征有几何特征、肤色特征、运动特征等。

静止图像中的人脸检测主要用前两个特征;视频中的人脸检测主要采用后两个特征。

当前人脸检测方法可分为基于启发式模型的方法和基于统计模型的方法两大类[4].本文作者通过文献阅读,在这二者基础上又增加了基于运动特征的方法,具体分析如下:

2.3.1基于启发式模型的方法[5]首先抽取几何形状、灰度、纹理等特征,然后检验他们是否符合人脸的先验知识。

早起利用人脸的轮廓、对称性等少量特征的方法适用于较强约束下(如简单背景、头肩图像)的人脸检测。

由于使用的特征较少,此类算法可以达到较高的检测速度,实现实时检测和跟踪。

利用人脸五官分布特征的知识模型方法能够在一定程度上适用于复杂背景图像中的人脸检测,同时达到较高的检测速度。

基于启发式模型的人脸检测方法通过检测出不同的人脸特征的位置,然后根据它们之间的空间几何关系来定位人脸。

这种方法又可以进一步分为基于经验知识、基于局部特征的检测和基于模板匹配的方法

(1)基于经验知识的方法

该方法是将人脸面部器官之间关系编码准则化的人脸检测方法。

这是一种自顶而下的方法,依据人脸面部器官的对称性、灰度差异等先验知识,制定一系列的准则。

当图像中的待测区域符合准则,则被检测为人脸。

例如基于几何特征的人脸检测主要依靠提取人脸一些低层次的特征,然后对抽取的低层次的特征进行基于知识的分析从而进行检测人脸。

按照抽取的特征的规则的不同可以分为①对称性规则;②器官分布规则。

例如:

在正面人脸中有互相对称的眼睛,位居中央的一个鼻子和一张嘴。

Huang使用了基于经验知识的人脸检测方法[6],他们的系统有三级规则组成。

最高级找出输入图像的人脸候选区。

次高级则用来描述人脸看起来像什么,最低级的规则依赖与面部特征的细节来进行最终判断。

姜军等人提出了一种基于经验知识的快速检测方法[7]。

他们采用符合人脸生理结构特征的人脸镶嵌图模型。

它针对人脸图像的灰度和边缘信息,建立了一种比较完备的经验知识库。

(2)基于特征的方法

基于特征的方法从己有的面部特征和它们的几何关系中来判断是否是人脸。

与基于经验知识的方法不同,它努力寻找人脸的不变特征作为人脸检测的依据。

目前,人们已经提出了许多可用于检测的面部特征。

如将人脸中的眉毛、眼睛、鼻子、嘴等通过边缘检测提取出来,根据提取的特征,建立统计模型描述各个特征之间的关系,进而确定是否存在人脸。

Sirohey提出了从复杂背景中分割人脸的定位方法[8]。

它使用边缘图和启发式算法来去得到一个边缘轮廓,然后用一个椭圆拟合头部区域和背景间的边界。

Graf等人提出定位灰度图像的面部特征和人脸检测方法[9],使用形态学的方法增强具有某些特定形态的区域。

Leung等人根据确定面部特征的排列方式[10],提出了一种基于局部特征检测器和任意图匹配的概率方法用于在复杂背景中定位人脸。

Han等人提出一种基于形态学技术进行眼部分割川[11],进而实现人脸检测的方法。

在国内,彭进业等人提出了一种在图像的反对称双正交小波分解数据域中[12],实现多尺度对称变换的方法。

王延江等人提出一种能够在复杂背景下快速进行人脸检测的方法[13]。

(3)基于模板匹配的方法

人脸具有典型的边沿和形状特征,人脸的整个轮廓可以近似的抽象成一个类椭圆,因此粗糙的检测人脸可以通过检测图像空间内是否存在类椭圆形来实现。

人脸的各个器官,例如眉毛、眼睑、嘴唇等都具有明显的轮廓特征,可以将这些轮廓特征抽象成为线段、弧线、椭圆等几何特征进行描述,采用模板匹配的方法去进行检测。

对任意幅图像,首先进行边缘检测,然后对细化后的边缘提取曲线特征,通过计算曲线特征存在来判断存在来判断是否存在人脸。

基于模板的方法简单来说,就是预先将标准脸部模型通过函数预定义或参数化,分类时对输入图像计算检测区域如脸部轮廓、眼睛、鼻子以及嘴等与标准模板的相关值,相关值符合制定的准则就判断检测区域为人脸。

Sakai等人使用眼睛、鼻子、嘴和人脸轮廓等子模板建模、检测图像中的正面人脸[14]。

Graw等人提出了一种基于正面人脸的形状模板定位方法[15]。

它使用Sobel滤波器提取边缘,将边缘组织在一起,根据几个约束条件去搜索人脸模板。

Govindaraju等人提出两步人脸检测方法[16]。

在他的方法中使用的人脸模型根据边缘定义的特征构成,这些特征对正面人脸的轮廓曲线,发际等。

Miao等人提出了用于人脸检测的层次模板匹配方法[17]。

人脸模板通过六个人脸成分产生的边缘组成:

两个眼眉、两只眼睛、一个鼻子和一张嘴。

最后应用启发式算法确定人脸的存在。

在国内,梁路宏等人使用了直接的平均脸模板匹配方法[18]。

该方法考虑到眼睛在人脸检测中的特殊作用,使用双眼模板首先进行粗筛选,然后使用不同长宽比的人脸模板进行匹配,最后应用马赛克规则进行验证。

●2.3.2基于统计模型的方法

基于统计模型的方法将人脸图像看作一个高维矢量,在高维空间中对分布信号进行检测。

此类方法将人脸区域看作一类模式,即模板特征,使用大量的人脸与非人脸样本训练并构造分类器,通过判断图像中所有可能区域属于哪类模式的方法实现人脸检测。

基于统计模型的方法又可以分为基于特征空间的方法[19],基于人工神经网络的方法[20],基于概率模型的方法和基于支持向量机的方法[21]。

(1)基于特征空间的方法(子空间方法),此方法将人脸区域图像变换到某一特征空间,根据其在特征空间中的分布规划来划分“人脸”与“非人脸”两类模式

子空间方法主要包括两类主分量(PCA)分析方法、线性判别(LDA)分析方法。

主分量分析(principal-componentanalysisPDA)是一种常用的方法。

它根据图像的统计特性进行正交变换(K-L变换)以消除原有向量各个分量间的相关性。

变换得到对应特征值依次递减的特征向量,即特征脸。

Turk等将PCA方法用于人脸检测与识别。

他们将人脸图像投影到一个由若干个最大的特征向量组成的子空间。

通过对这些特征向量加权求和即可得出某个特定的人脸。

Moghaddam等将检测图像投影到主成分空间F和其正交补空间[22],并定义相应的距离度量为DTFS(DistanceInFeatureSpace)和DFFS(DistanceFromFeaturespace)。

Yang等提出的Fisher线性判别(FLD)方法[23]。

他们首先使用自组织映射(SOM)将人脸和非人脸样本各分为个类,然后计算各类的类间离散度与类内离散度,利用两者的比值求出投影矩阵。

Sung等提出了基于事例学习的方法。

他们首先利用椭圆K均值聚类将人脸和非人脸样本各自聚成六个类,然后设置两组距离矩阵来度量检测数据和十二个样本类的距离。

最后使用这些距离矩阵来训练一个多层感知器作为分类器进行人脸检测。

(2)基于人工神经网的方法

神经网络方法是通过训练一个网络结构,把模式的统计信息隐含在神经网络的结构和参数之中。

Rowley等在19%年提出基于神经网络的人脸检测系统。

他们的系统分为两个阶段第一阶段是基于神经网络的分类器。

该分类器的输入是规定尺寸的检测区域,输出为1到一1的数,由此来判断检测区域是否是人脸。

输出接近1为人脸,接近一1为非人脸。

第二阶段是合并重复检测并判别。

Bakry提出了一种利用对称形式来提高神经网络人脸检测速度的决速神经网络方法[24]。

该算法将检测数据进行上下左右的对称翻转后构成一个新的检测图像。

利用新图像在频率域内的互相关特性,可以在减少训练样本以及隐层神经元数目,达到了与传统神经网络相当的检测结果,同时也达到了提高速度的效果。

(3)基于支持向量机的方法

支持向量机(SvM)是由vN.Vapnik等提出的基于结构风险最小化原理的统计学习理论基础上发展起来的[25]。

Osuna等首先将支持向量机用于人脸检测[26]。

该方法的基本思路是对每一个检测窗口使用方法进行分类,以区分“人脸”和“非人脸”窗口。

支持向量机(SVM)的训练使用了大量的人脸样本,并利用“自举”的方法搜集大量的非人脸样本,同时使用逼近的方法选择出少量的支持向量为关键支持向量,以减少运算中支持向量的数目。

J.CPlatt提出了称为顺序最小最优化(SequentialMinimalOptimization)的支持向量机动训练方法[27],将一个大型的求解二次规划问题分成一系列最小可能的二次规划问题,避免了对大型二次规划问题直接求解,大大提高了训练速度。

(4)隐马尔可夫模型(HiddenMarkovModel),前提假设是模型可被定义为一个参数化的进程。

该进程的参数可通过精确的方法估计出来。

首先决定隐态并形成一HMM个模型,然后通过学习来自样本集的各个状态间的转移概率来训练HMM,每个样例由一系列观测值表征。

HMM训练之后,观测值的输出概率就决定了它属于哪一类。

Nefian等将人脸从上到下划分为五个互有重叠的区域头发、额头、眼、鼻、嘴[28]。

根据这个划分构造了一个包含五个状态的一维连续HMM用以表示人脸。

此后,他们还提出基于嵌入式HMM的人脸检测方法[29]。

该方法同时考虑到人脸由左到右各个特征的自然顺序,使用二维HMM,并采用二维DCT变换的系数作为观察向量。

(5)Viola等提出了一种基于AdaBoost的实时人脸检测算法[30][31][32]。

该方法使用Harr-like特征表示图像,引入“积分图”概念,提高特征的计算速度,采用方法选择AdaBoost少量特征组成强分类器,使用瀑布模型提高人脸检测速度。

在取得较好检测性能的同时,实现了人脸的实时检测。

RainerLienhart等在Viola基础上扩展了Harr-like特征[33],他们训练的系统可以用于旋转人脸的快速检测,s.z.Li等提出了一种基于F10atBoost的多视角人脸检测算法[34],构建了第一个实时的多角度人脸检测系统。

方法还提出了一种改良的统计模型,可以使用更少的弱分类器达到更低的错误率。

蒋焰等提出了一种基于多步校正的AdaBoost改进算法[35],在该算法中训练样本的分布更新不仅与当前分类器有关,而且也需要考虑到前面的若干分类器,提高了传统AdaBoost算法的收敛性能,缩短了训练时间。

●2.3.3基于运动特征的方法

Yacoob比较了基于统计模型的方法和基于几何特征的方法(feature-graph)对表情人脸的识别结果,得出特征脸方法稍稍好一点的结论[36],但是用特征脸方法识别表情人脸时,至少有如下两个问题没有很好解决:

(1)构成特征脸空间的特征脸不仅表征了不同人的人脸之间的区别,同时也表征了同一个人自身的多种人脸变化[37],如由姿态,表情引起的人脸变化,而后者显然对人脸识别造成干扰,针对这一弱点,浙江大学计算机科学和工程系提出一新算法[38],该算法为每一个人建立了一个仅表征它自身的特征空间,由于这个空间更好地反映了这个人本身的特点,因此测试人脸像到子空间的距离就成为识别的一个很好依据;

(2)特征脸方法作用在像素域上,由于其是表征人脸像各个像素的灰度变化的一种模型,因此不能很好地表征人脸像平面上的运动,可是当存在表情变化时,像素却在人脸像平面上存在着运动

该方法首先利用块匹配的方法来确定表情人脸和无表情人脸之间的运动向量,然后利用主成分分析方法(PCA)从这些运动向量中,产生低维子空间,称之为特征运动空间.测试时,先将测试人脸与无表情人脸之间的运动向量投影到特征运动空间,再根据这个运动向量在特征运动空间里的残差进行人脸识别

2.4各种方法的优缺点

基于统计的方法是目前比较流行的方法,是解决复杂的人脸检测问题的有效途径,较适合对正面人脸图像进行检测,但图像中人脸尺度及位姿发生变化,特别是旋转变化,会使检测难度加大,准确率相应降低。

它的优点是①不依赖于人脸的先验知识和参数模型,可以避免不精确或不完整的知识造成的错误②采用了实例学习的方法获取模型的参数,统计意义上更为可靠③通过增加学习的实例可以扩充检测模式的范围,提高检测系统的鲁棒性。

基于统计模型的方法大多适用于复杂背景图像中的人脸检测。

基于局部特征的方法首先在整个图像中搜索一组人脸局部特征,然后通过它们之间的几何关系组合成候选的人脸区域。

由于局部人脸特征的不变性,通过组合人脸局部特征,可把这种方法应用在检测不同位置、不同角度的人脸。

该方法所面临的主要问题是由于图像噪声等因素的影响,造成人脸局部特征不明显,使得根据局部特征组合人脸的算法失效,从而产生拒识和误识。

总体来说,基于经验知识和基于特征的方法直观,易于为人所接受和采用。

但是由于很难将人类的知识转换为明确定义的规则,所以这两种方法的局限性很大。

它们还存在的一个共同缺陷是都依赖于固定的先验模式,适应变化的能力差譬如出现彩色光照改变了图像中的脸部颜色、图像大小改变、旋转人脸中双眼不在鼻子的正上方等人脸特征发生变化时,原有的肤色、模板、知识就不再适用基于模型匹配的方法使用事先选定的模板对输入图像进行逐一对照。

这类方法通常容易实现[39],但由于事先得到模板很难描述出图像中的人脸各种情况,所以只能应用与特定环境下的人脸检测。

基于统计理论方法中“人脸”区别于“非人脸”的特征是通过样本学习的方法获得的,不是人们根据直观印象得到的表层规律。

这样,不仅避免了因为人们肉眼观察的不完整、不精确而带来的错误,还能通过增加训练样本扩充检测的范围,提高系统的鲁棒性。

但是这种方法需要大量的统计特征,样本训练费时费力

综上所述,尽管研究者在人脸检测方面取得了很多成就,但是任何一种算法都不能适用于所有类型的图像,故有很多值得改进的地方。

●3.程序实现及结果

本文采用了VC++6.0及Opencv进行了仿真,代码如下:

#include"cv.h"

#include"highgui.h"

#include

#include

#include

#include

#include

#include

#include

#include

#include

#ifdef_EiC//预编译命令

#defineWIN32

#endif

staticCvMemStorage*storage=0;

staticCvHaarClassifierCascade*cascade=0;

voiddetect_and_draw(IplImage*image);

constchar*cascade_name="haarcascade_frontalface_alt.xml";

/*"haarcascade_profileface.xml";*/

intmain(intargc,char**argv)

{

CvCapture*capture=0;

IplImage*frame,*frame_copy=0;

intoptlen=strlen("--cascade=");

constchar*input_name;

if(argc>1&&strncmp(argv[1],"--cascade=",optlen)==0)

{

cascade_name=argv[1]+optlen;

input_name=argc>2?

argv[2]:

0;

}

else

{

cascade_name="haarcascade_frontalface_alt2.xml";

//opencv装好后haarcascade_frontalface_alt2.xml的路径,

//也可以把这个文件拷到你的工程文件夹下然后不用写路径名cascade_name="haarcascade_frontalface_alt2.xml";

//或者cascade_name="C:

\\ProgramFiles\\OpenCV\\data\\haarcascades\\haarcascade_frontalface_alt2.xml"

input_name=argc>1?

argv[1]:

0;

}

cascade=(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,0);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2