DreamBlooms/HansPub-15000-to-45000 huggingface dataset:
system: [SYSTEM]

user: 2. 属性加权多核模糊聚类算法 2.1. 混合核函数 不同的核函数会将输入空间的数据集映射到不同的特征空间，相似度度量矩阵就会不同，对于基于核的模糊聚类方法，核函数起着关键的作用。常见的核函数大致被分成两类，即局部核函数和全局核函数。局部核函数就是在数据点远离测试点时函数取值很小，比如高斯核函数就是最常用的局部核函数，具有较好的学习能力。而多项式核函数是一个典型的全局核函数，对离测试点相距较远的数据点也会从产生作用，但局部性较差，保证了良好的泛化能力。构造一个合适的核函数对于核模糊聚类的聚类结果具有重要影响。只使用一个核函数有时并不能满足待聚类数据集的需求，而不同的核函数结合起来使用，会有更好的特性，比如将具有局部核函数和全局核函数相结合，这就是混合核函数的基本思想 [ 13 ] 。 根据定理2-1如果 k ( ⋅ ， ⋅ ) 是一个有效的核函数(也称Mercer核函数)，当且仅当输入数据集 D = { x 1 ， x 2 ， ⋯ ， x n } 对应的核矩阵是半正定和对称的。 设 k 1 ， k 2 是 R d × R d → R 上的核函数， a ∈ R + ，根据定理2-1容易得出以下是核函数： k ( x ， z ) = k 1 ( x ， z ) + k 2 ( x ， z ) (1) k ( x ， z ) = a k 1 ( x ， z ) (2) 容易证明函数 k ( x ， z ) = λ k 1 ( x ， z ) + ( 1 − λ ) k 2 ( x ， z ) ， λ ∈ [ 0 ， 1 ] 也是核函数。 本文将学习能力强的高斯核函数和泛化能力强的多项式核函数进行线性组合构造了混合核函数，如下式所示： k ( x ， x i ) = λ exp ( − ‖ x − x i ‖ 2 2 σ 2 ) + ( 1 − λ ) ( γ ‖ x − x i ‖ + r ) d (3) 并将该混合核函数用于以下的聚类算法中。 2.2. 算法理论 以往的聚类算法中，默认所有的特征属性在聚类过程中起着同等的作用，但实际上不同属性对各个类别的重要性并不相同。属性加权多核模糊聚类算法充分考虑了各特征属性对聚类结果贡献度的差异，在聚类过程中，根据不同类的具体特性动态调整各个属性对于不同类别的重要性。并引入混合核函数，将学习能力强的局部核函数和泛化能力强的全局核函数进行线性组合以此取代原来的单个核函数，以此处理单个核函数不能满足待聚类数据集的需求的问题。将该方法充分考虑了属性间的不平衡性，能够更真实的反映待聚类问题的真实情况。 设聚类样本集为 X = { x 1 ， x 2 ， ⋯ ， x j ， ⋯ ， x n } ， x j = { x j 1 ， x j 2 ， ⋯ ， x j k ， ⋯ ， x j d } ， j = 1 ， 2 ， ⋯ ， n ，样本集经过非线性变化 φ 映射到高维核特征空间后 X φ = { φ ( x 1 ) ， φ ( x 2 ) ， ⋯ ， φ ( x j ) ， ⋯ ， φ ( x n ) } φ ( x j ) = { φ ( x j 1 ) ， φ ( x j 2 ) ， ⋯ ， φ ( x j k ) ， ⋯ ， φ ( x j d ) } ， 则WMKFCM模糊聚类算法准则为使以下目标函数最小： J WMKFCM φ = ∑ i = 1 c   ∑ j = 1 n   ∑ k = 1 d   u i j b w i k a ‖ φ ( x j k ) − m i k φ ‖ 2 (4) S.t. u i j ∈ [ 0 ， 1 ]     and     ∑ i = 1 c u j k = 1 ，     j = 1 ， 2 ， ⋯ ， n (5) w i k ∈ [ 0 ， 1 ]     and     ∑ k = 1 d w i k = 1 ，     i = 1 ， 2 ， ⋯ ， c (6) 其中， w i k 表示第k个属性对于第 类的重要程度，称为属性权值； a > 1 表示权重因子。 根据约束优化问题的Lagrange求解，用混合核函数推导结果如下： u i j = 1 ( ∑ i = 1 c ( 1 ∑ k = 1 d   w i k a b − 1 ‖ φ ( x j k ) − m i k φ ‖ 2 b − 1 ) ) ( ∑ k = 1 d   w i k a b − 1 ‖ φ ( x j k ) − m i k φ ‖ 2 b − 1 ) (7) w i k = 1 ( ∑ k = 1 d ( 1 ∑ j = 1 n   u i j b a − 1 ‖ φ ( x j k ) − m i k φ ‖ 2 a − 1 ) ) ( ∑ j = 1 n   u i j b a − 1 ‖ φ ( x j k ) − m i k φ ‖ 2 a − 1 ) (8) m i k = ∑ j = 1 n   u i j φ ( x j k ) ∑ j = 1 n   u i j (9) 将混合核函数代入，得以下公式： (10) w i k = [ ∑ j = 1 n   u i k b ( k ( x j k ， x j k ) − 2 k ( x j k ， m i k ) + k ( m i k ， m i k ) ) ] 1 1 − b ∑ i = 1 c ( ∑ j = 1 n   u i j b ( k ( x j k ， x j k ) − 2 k ( x j k ， m i k ) + k ( m i k ， m i k ) ) ) 1 1 − b (11) m i k = ∑ j = 1 n   u i j k ( x j k ， m i k ) x j k ∑ j = 1 n   u i j k ( x j k ， m i k ) (12) 其中，k表示混合核函数。 2.3. 算法步骤 属性加权多核模糊聚类算法(WMKFCM)模糊聚类算法具体实现步骤如下： Step 1设定初试迭代聚类参数：聚类类别数c、模糊加权指数b、属性权重因子a、混合核函数比例λ，高斯核函数参数 σ ，多项式核函数参数 γ ， r ， d ，迭代终止阈值ε和迭代次数I； Step 2随机初试化 m i k 和 ； Step 3根据上述推导公式，依次更新 和 J WMKFCM φ ； Step 4重复Step 3的计算，直到 | J WMKFCM φ ( I + 1 ) − J WMKFCM φ ( I ) | ≤ ε ； Step 5根据最大隶属度原则，由隶属度矩阵 确定最终聚类结果。
system: [SYSTEM]

user: 3. 实验及结果分析 为了测试属性加权多核模糊聚类算法(WMKFCM)的性能，本次研究将该算法与另外两种典型的求解大规模数据的聚类算法属性加权核模糊聚类和多核模糊聚类在同一数据集Haberman’s Survival数据集上聚类，并对比聚类性能。 Haberman’s Survival数据集，选自UCI机器学习数据库，该数据集包含306个样本，具备3种属性：手术时病人的年龄(Age of patient at time of operation)，病人手术的年份(Patient’s year of operation)，检测到正腋窝节点的数量(Number of positive axillary nodes detected)。一共分为2类：1——这个病人活了5年或更长(1—the patient survived 5 years or longer)，如下图蓝色点，2——病人在5年内死亡(2—the patient died within 5 year)，如下图1红色点。 将属性加权多核模糊聚类中的混合核函数比例系数的取值区间设为[0， 0.2 ，0.5，0.6，0.7，0.8，0.9，1]。其他参数设置相同。本次实验分别从聚类准确率，CPU运行时间，以及迭代次数三方面进行比对。其中聚类准确率的计算方式如下： P = SS + DD SS + SD + DS + DD (13) 上式中，SS对记录属于相同的真实分组和相同的聚类；DD对记录属于不同的真实分组和不同的聚类；SD对记录属于相同的真实分组，但不同的聚类；DS对记录属于不同的真实分组，但相同的聚类。如下图2所示。 属性加权多核模糊聚类算法在Haberman’s Survival数据集中的运行结果如下表1所示。 如表1所示。当 λ = 0 的时候，此时聚类算法为属性加权核模糊聚类算法，核函数为多项式核函数； 图1. Habarman’s Survival数据集 图2. 聚类准确图解释图 Table 1 The result table of attribute-weighted multi-kernel fuzzy clustering algorith 混合核函数比例 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 迭代次数 9 9 13 10 11 14 14 17 42 107 45 cpu运行时间 3.1356 3.276 4.6956 3.7128 3.962 5.616 4.992 6.0372 15.5065 32.4207 16.0901 聚类准确度 0.5001 0.5005 0.5067 0.5069 0.504 0.5003 0.577 0.5578 0.5534 0.5795 0.5031 表1. 属性加权多核模糊聚类算法运行结果表 当 λ = 1 的时候，此时聚类算法为属性加权核模糊聚类算法，核函数为高斯核函数。当 λ ∈ ( 0 ， 1 ) 时，此时聚类算法为属性加权多核模糊聚类算法，核函数为混合核函数。 将上述数据用折线图的形式表示更为直观。如下图3图示。 如图所示，3(a)为聚类准确度与混合核函数关系图，3(b)为迭代次数与混合核函数比例关系图，3(c)为运行时间与混合核函数比例关系图。与属性加权核模糊聚类算法相比，属性加权多核模糊聚类的迭代次数和运行时间较高。但当混合核函数比例系数 λ ∈ ( 0 ， 1 ) 的时候，其聚类准确度明显高于 时。其中，当混合核函数比例系数 λ = 0.9 的时候，属性加权多核模糊聚类算法的聚类准确度最高。由此可见，在牺牲一定的运行时间和迭代次数上，属性加权多核模糊聚类算法的聚类准确度要明显优于属性加权核模糊聚类算法。 如图4~6所示，属性加权多核模糊聚类算法相比于多核模糊聚类算法，其运行时间和迭代次数有一定的增长，但是其聚类准确度普遍优于多核模糊聚类算法。因此，在牺牲一定运行时间和迭代次数的前提下，属性加权多核模糊聚类算法的准确度优于多核模糊聚类算法。 将属性加权多核模糊聚类孙发与多核模糊聚类算法相对比，其他参数设置相同，实验结果如表2所示。将表2数据以折线图的形式表示更为直观，如图4~6所示。 图3. 属性加权多核聚类算法运行结果图 图4. 多核模糊聚类与属性加权多核模糊聚类准确度对比图 图5. 多核模糊聚类与属性加权多核模糊聚类Cpu运行时间对比图 图6. 多核模糊聚类与属性加权多核模糊聚类迭代次数对比图
system: [SYSTEM]

user: 4. 结束语 本次研究通过将多核模糊聚类算法与属性加权核模糊聚类算法相结合，提出了属性加权多核模糊聚类算法。通过多个核函数的线性组合以解决单个核函数不能满足待聚类数据集的需求，并且，充分考虑了各特征属性对聚类结果贡献度的差异，在聚类过程中，根据不同类的具体特性动态调整各个属性对于 不同类别的重要性。最后通过在数据集上进行测试，有效地证明了属性加权多核模糊聚类算法的可行性。
system: [SYSTEM]

user: 摘 要 随着各国城市化、工业化的飞速发展，气候问题已在全球范围内受到广泛重视。纵观2016年于杭州举办的G20峰会，全球气候治理、能源环境问题等成为各国协商的重点。空气污染已不仅仅隶属于环境能源问题的范畴，也同时与经济生活息息相关。本文主要探讨空气污染对股票市场的影响，认为主要的影响渠道主要有两种，即通过投资者情绪以及当局者政策制定来分别影响投资者个人和企业的决策，进而引起股票市场的波动。运用Z检验法并构建线性模型，探讨中国空气指数对股票市场的影响，同时用美国、英国等国家作为对照。本文针对研究结果得出的结论是：空气指数对股票收益率无显著影响，但对换手率的影响稍大于对收益率的影响；近年来，投资者看好抗雾霾题材的股票，对此类股票的交易热情逐渐高涨。 关键词 :空气指数，股票收益率，雾霾，投资者情绪 Copyright © 2018 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 在空气污染成为全球各国环境治理问题的症结所在时，其带来的经济效益也不容忽视。尤其中国的雾霾问题日趋严重，雾霾日占比连年增多，覆盖城市广泛且雾霾强度大，不仅是亟待解决的环境问题，也在一定程度上拖累了我国经济发展。本文主要研究空气指数与股票市场的关系，虽然针对此问题的国内外文献还不甚丰富，但已有多名学者的研究结果表明空气指数的高低会引起股票市场的波动，对股票收益率产生影响。本文主要利用多元回归的方法，首先将不同国家的数据进行比较，希望能找到中国股票市场对空气指数敏感度的独特之处，其次会主要针对中国市场，研究不同城市、或不同题材股票(抗霾与非抗霾)分别会产生怎样的差异。
system: [SYSTEM]

user: 2. 空气污染影响股票市场的理论机制 2.1. 理论背景及影响渠道分析 2.1.1. 空气污染的研究范围界定 广义的空气污染是指自然或人为活动过程中产生的物质进入大气，经过一段时间并达到一定浓度后，对人类等生物或大自然造成各方面危害的现象。污染物种类繁多，包括二氧化硫、氮氧化物、悬浮颗粒物、一氧化碳等百余种，前三种则是构成“雾霾”的罪魁祸首。近年来中国的雾霾现象日益严重，主要特点有强度大、频率高、持续时间长、覆盖城市广。例如在2013年，100多个大中型城市遭到了雾霾的侵袭，据统计北京的非雾霾天仅有5天。另一个发展走向是，“雾”出现次数的比例快速下降，而“霾”所占天数却逐步上升。在2016年耶鲁大学发布的环境绩效指数 空气质量排名中，中国位列倒数第二，空气污染问题已极其严重。 雾霾的危害渗入到方方面面，其一对居民健康构成威胁，例如诱发呼吸道、心脑血管疾病等；其二会影响交通运行，雾霾天使能见度下降，不利于交通有序安全运行；其三也会对人的心理健康产生影响，天气阴沉、呼吸不便有很大倾向给人们造成压抑、懒散、低落的感受。其他的危害此处不再赘述。需要引起关注的是，空气污染也会为人们的经济生活带来不容忽视的负面影响。本文将主要讨论空气污染对股票市场的影响，包括影响成因、方向及程度，通过近几年来的数据作出分析并预测未来发展趋势。 2.1.2. 空气污染影响股票市场的可能渠道 空气污染会直接影响投资者和政策决定者，进而通过其投资决策间接地引起股票市场的波动。以下主要分析个人投资者投资决策和政府政策制定是如何成为污染影响股市的媒介的 [ 1 ] 。 1) 个人投资者渠道：对个人投资者来说，空气污染有左右其情绪的效力。当暴露在恶劣的空气中时，人们倾向于拥有压抑、紧张、焦虑、易怒以及无助等情绪，这样的负面情绪会造成投资者的感知偏差、认知能力下降以及决策非理性 [ 2 ] 。行为金融学表明，负面情绪会对主体的投资决策产生负作用。一方面，投资者的理性判断能力下降，会不由自主地产生不看好股市未来前景的倾向；另一方面，投资者对风险的厌恶程度增强，更不愿意增加股票的买卖活动，这些潜在的后果均会对股市产生显著的负面影响，有可能使股票收益率下降。 2) 政府政策渠道：为加强环境治理和空气改善，政府部门会实施一系列政策措施，伴随着环境监管的加强，一些“三高——高污染、高投入、高能耗”企业必将面临经营危机。为达到排放标准，或迎合环保政策，企业将会因环保成本提高而暴露在难以正常营运的压力之下。另外，政府可能会调整产业政策，势必会对一些上市公司的经营发展造成影响，进而导致其股价波动。国家变动政策的同时也会影响到各类投资主体对市场的预期，一些抗霾题材的股票可能会备受青睐，而“三高”企业的业绩增长和发展成长则会受到抑制 [ 3 ] 。 2.2. 理论假设及研究方法 2.2.1. 理论假设 针对上文的理论分析，本文提出两个假设以供研究： 假设1：空气指数大小与股票市场表现负相关。即空气污染程度的加深会通过投资者情绪的渠道使投资者产生悲观预期，减少股票市场的交易，降低股票收益率 [ 4 ] 。 假设2：随着空气污染的蔓延，人们会更关注抗霾题材股票，相对减少对非抗霾题材股票的交易。随着政府产业政策的调整，要素资源会重新配置到环保意识强且环保措施到位的企业，密切关注国家政策风向的投资者看好环保企业的前景，抗霾题材股票交易量可能会上升，而“三高”企业上市的股票会面临潜在的被抛售风险 [ 5 ] 。 2.2.2. 研究方法 1) 验证假设1的方法：假设1主要探究空气指数和股票收益率的关系，为此选用两种方法来作出判断： ① Z检验法：主要研究空气指数与股市效益间是否存在关联。首先将空气指数分为三个等级：健康空气(指数 ≤ 50)、中等空气(50 < 指数 < 100)和较差空气(指数 ≥ 100)，然后分别研究好空气和差空气两种情况下股市收益情况，观察股票收益情况是否有显著不同 [ 6 ] 。 ② 回归检验：主要研究具体是哪些因素贡献了空气对股市的影响，以及空气质量因素贡献程度的大小。通过寻找包括空气质量指数在内的可能会引起股市波动的各个因素作为自变量，并将股票收益率作为因变量，构建线性模型。通过观察回归结果中的t值、F值和系数来确定各个因素影响效力的显著性，判断其是否影响以及影响大小。 2) 验证假设2的方法：假设2主要探究不同题材股票收益率对空气指数变化的敏感度，为此分别选用横向和纵向两种方法进行比较。 ① 横向比较法：分别选取几只典型抗霾题材股票和高能耗企业股票，研究在同一时间段内，空气指数变化对股票收益率的影响程度。 ② 纵向比较法：选取典型的抗霾题材股票，研究在固定的一段时间内，不同的空气状况(健康空气、污染空气)下股票收益率的变化。
system: [SYSTEM]

user: 3. 变量及数据 3.1. 明确解释变量及被解释变量 3.1.1. 解释变量 1) 空气质量指数(AQI)：由几种主要的大气污染物按照不同权重简化形成的一种衡量空气质量的指数，可划分为六级，数值越大说明大气污染越严重。本文将其分割为三个区间，分别为健康空气(0~50)、中等空气(51~100)和较差空气(101及以上) [ 7 ] 。本文中只有上海的数据区间为2013~2016年，因上海空气质量实时发布系统历史数据起始时间为2013年。 2) 日历效应：本文选取周内效应和一月效应来进行研究。 ① 周内效应：指在股票市场上，平均来看，星期一的股票收益率低于另外四天，而周五的平均收益率在统计上显著较高。 ② 一月效应：指股票市场上，一月份的股票平均收益率显著较高。 3) 季节性紊乱变量(SAD)：季节性紊乱学说指出在秋冬季节由于白天时间的缩短，低落情绪倾向于出现，从而增加人们的风险厌恶程度。股票市场季节性地受到白天长度的影响被称作SAD效应。SAD的计算借鉴了MJ Kamstra等人的方法，公式如下： [ 8 ] [ 9 ] S A D t = { H t − 12         交 易 日 在 秋 冬 季 0                                     其 他 ； (1) λ t = 0.4102 ⋅ sin [ ( 2π 365 ) ( j u l i a n t − 80.25 ) ] ； (2) H t = { 24 − 7.72 ⋅ arcos [ − tan ( 2 π δ 360 ) tan ( λ t ) ] 7.72 ⋅ arcos [ − tan ( 2 π δ 360 ) tan ( λ t ) ] 。 (3) 其中，“ j u l i a n t ”代表某一天在一年中是第几天， δ 为所测地区的纬度， λ t 为太阳的偏转角度， H t 为夜晚的小时数，从而得出SAD的值。 3.1.2. 被解释变量 1) 股票收益率：此处采用对数收益率的形式，t期的股票指数计算公式为 [ 10 ] ： R t = ln P t − ln P t − 1 (4) 2) 换手率：指在指定的日期区间，投资者买卖股票的频次，反应该股流通转手的强弱。换手率越高代表在市场中交易次数越多，人们越青睐交易此股票。此处计算公式为 [ 11 ] ： 换手率 = 股票总成交量/股票发行总股数 × 100% (5) 3.2. 确定样本，选取数据 3.2.1. 样本选择 本文主要以美国、英国和加拿大的情况为对照，以中国香港和上海地区为主要研究对象，探讨空气质量对股票市场的影响。所选取的时间区段为2010年至2016年。美国选取纽约郡(曼哈顿区)的空气质量，因其为纽约市人口最密集的地区，为美国的经济文化中心；股票指数选取纳斯达克指数(NASDAQ)和道琼斯指数(DJIA)两种股票指数。英国选取伦敦的空气质量指数，作为世界上最大的金融中心之一，以及英国的经济、文化、政治中心，其数据具有一定的代表性；股票指数则为富时100指数，由在伦敦证券交易所交易的前100强企业股指组成。加拿大的空气数据调查城市为多伦多，股票指数选为多伦多300指数。在中国香港选择中环地区作为空气质量数据采集点，股指采用恒生指数。中国则选择上海地区的空气质量指数数据作为样本，股指选择上证综指 [ 12 ] [ 13 ] 。 3.2.2. 数据来源及数据描述 1) 数据来源：以下分别介绍各国AQI和股票指数的来源。 ① 空气质量数据：美国数据来源于美国环境保护局(US EPA: https://www.epa.gov/)，英国来源于英国环境食品及农村事务部(UK DEFRA: https://uk-air.defra.gov.uk/)，加拿大数据汲取于安大略环境与气候变化部(ONTARIO.CA: http://www.airqualityontario.com/)，中国香港数据来源于香港特别行政区政府环境保护署(HK EPD: http://www.epd.gov.hk/)，上海数据取自上海市空气质量实时发布系统(http://www.semc.com.cn/aqi/home/Index.aspx)。 ② 股票指数：所有股票指数数据均从wind金融资讯终端处下载。 2) 数据处理及描述：因为各个国家空气质量数据完整度各不相同，本文采取将股票指数的日期固定，用AQI的日期去匹配股指的日期，去除非交易日的空气指数数据。其次加入滞后变量、空气指数变量、周内变量、月变量和SAD变量后，采用拉依达准则法(设μ和σ分别为样本正态总体的均值和标准差，将样本中处于(μ − 3σ，μ + 3σ)区间外的值视为异常值并予以剔除。)剔除股票收益率中的异常值。对处理过的收益率数据进行描述统计，其结果如表所示(表1)： 对各股票指数进行了描述性统计，结果显示几只股票的中位数和平均数均为正值，说明在所选取的样本观察区内，正收益率较为占优；比较来看上证综指的标准差值最大，但其绝对值也不是很大，说明六只股票的相对波动幅度都不是很大，已经剔除了样本中的离群点，使样本更客观。
system: [SYSTEM]

user: 5. 结论与展望 本文重要通过Z检验法和线性回归法验证了空气质量指数对股票市场的影响，并研究了人们对抗霾题材股票的关注度。首先观察了几个发达国家的情况，但结果并未支持文章中提出的假设，尽管在美国市场中AQI的回归系数为负，但在英国和加拿大的回归结果中系数都为正，且数值非常小，结果不显著，模型的线性拟合度也很低，没有充足证据表明空气与股票收益率有很强的联系。其次探讨了中国香港和上海市的情况，回归结果并无很大改观，但上海市的数据显示AQI对换手率的影响稍大于其对股票收益 Table 1 2 Mean difference of anti-haze stocks in different air condition 股票 空气质量 观测值 收益率 换手率 抗霾股 好空气 139 −0.0006 3.273 差空气 81 −0.0001 3.248 总体 753 0.00004 3.308 Z绝对值 P值 0.296 0.767 0.104 0.917 表12. 抗霾股在不同空气状况下均值差异 率的影响，说明空气对投资者的交易热情和频率存在着一些影响。最后将股票分为抗霾股和非抗霾股，通过Z检验得出的结论为相较于高能耗股，人们近年来更多地倾向于交易环保类股票。 本文对国外案例的研究仅涵盖了几个发达国家，其污染空气的样本量很少，导致在进行比较时数据不足，不能构成很好的对照。2013年以前，人们并未大范围地关注“雾霾”问题，随着空气污染越来越明显地侵入人们的生活，影响人们的情绪，一国的经济生活会越来越显著地受到空气质量的影响。同时，提倡清洁能源、资源净化等企业的股票也会越来越多地引起投资者的购买欲望。因此，空气治理问题亟待解决，也许目前无足够证据表明空气会直接对人们的金融经济生活产生影响，但管理部门应作出理性分析，未雨绸缪，将空气治理放在首要位置。
system: [SYSTEM]

user: 摘 要 目的：本文采用图像形状特征来描述商标图像特征点，建立基于形状特征的商标图像检索系统，以实现更直观、准确和快捷的商标图像检索。方法：本文在Canny算法的基础上提出一种改进的自适应Canny边缘提取算法，在Shape Context的基础上提出能反映图像内部结构的Inner-Angle Shape Context，并将新算法应用于图像检索系统中。结果：设计和实现了基于形状特征的商标图像检索系统，该系统由商标预处理、特征提取和商标检索三个模块组成，实现了对任意商标在已有商标数据库中的检索，返回与样本商标最相似的15幅商标图像。结论：商标图像检索系统的实验结果表明，该系统前6个检索结果的查准率达85%，查全率达22%。 关键词 :商标图像，形状特征，检索系统，内角形状上下文 Copyright © 2018 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 研究现状 目前国内注册商标已达200多万，传统的商标检索是基于文本的检索，包括基于类目的检索和基于关键字的检索。随着注册商标数目的增多，传统的商标检索显露出如下几个弊端： 1) 检索系统基于手工分类管理，管理成本太高； 2) 出现比较抽象的商标图像时，不易以文本的方式来描述图像，不易归类； 3) 对于图像的相似性，没有一致的衡量标准，不能保证商标分类是否正确。 鉴于以上这些缺点，人们开始考虑将基于内容的图像检索技术应用于商标图像检索领域中，从而实现更准确、高效和直观的商标检索。因此研究基于内容的商标图像检索系统是非常有必要的。 基于内容的商标图像检索是基于商标视觉特征的相似性检索技术，传统的视觉特征包括颜色、纹理和形状特征。商标图像大部分都是人工设计的，一般不存在纹理特征，且大部分商标的形状特征要比颜色特征更为显著，所以商标图像检索使用形状特征检索效果更好。因此本文的主要工作目标就是：1) 提出一种改进的商标图像形状特征提取方法；2) 将该方法应用于商标图像检索系统中，设计出一个性能良好的商检图像检索系统 [ 1 ] 。
system: [SYSTEM]

user: 2. 研究内容 在基于形状特征的商标图像检索系统中，商标信息通过形状特征传递给上层检索操作，形状特征提取是否全面准确影响着整个系统的检索结果，所以形状特征提取方法是商标检索系统中最核心的技术，也是本文的研究重点。基于形状特征的商标检索系统的检索过程如图1所示，其中实线方框内部分是本课题的主要研究内容。 基于形状特征的商标检索流程包括商标预处理、边缘检测、形状特征描述、商标特征匹配和返回检索结果五个部分，其中边缘检测和形状特征描述是本文研究重点。 边缘检测对商标形状特征提取非常重要，直接反映了商标的物质属性和空间属性。本文在Canny算法的基础上提出一种新的边缘提取算法——自适应Canny边缘提取算法，该方法通过两次使用最大类间方差法获得商标边缘检测的阈值，实现Canny算法 [ 2 ] 的自适应性，解决其过分依赖人为经验的问题。 形状特征描述是本文研究的另一个重点，是商标形状特征提取的核心。本文在形状上下文(Shape Context)的基础上提出一种新的描述方法——内角形状上下文(Inner-Angle Shape Context)，该描述方法不 图1. 系统检索流程图 受商标旋转的影响，并且能够很好的描述内部有洞的商标图像。
system: [SYSTEM]

user: 3. 系统商标预处理 商标预处理是系统对商标处理的第一个阶段，目的是去除商标中的无用信息，增强商标中的有用信息，为以后商标特征提取提供最有用的视觉信息。常见的预处理过程有灰度化、归一化、二值化、去噪和效果增强处理等步骤，处理流程图如图2所示。 3.1. 商标灰度处理 灰度处理是将商标图像转换为灰度图的一系列操作，灰度图在计算机上以位图的形式保存，即一个矩形点阵，每一点代表一个像素(pixel)，矩阵的大小代表灰度图像的大小。一幅大小为m*n的商标，是由m*n个灰度值不等的像素点构成的。灰度值的大小决定着图像明暗程度的变化，它直接的反应了图像的视觉信息。灰度值的取值范围为[0，255]，值的大小指图像中像素点的颜色深度 [ 3 ] ，让像素点从黑过度到白，其中0为黑色，255为白色，也就是人们常说的256级灰度。我们采用文献 [ 4 ] 提到的算法对商标进行灰度处理。 3.2. 商标归一化处理 商标归一化是将待处理的商标灰度图转化成相应的唯一的标准形式的过程。商标的某些性质是固定的，比如目标区域的面积、边缘的周长等，不会因为旋转、平移而改变，所以为了消除或减弱周围环境对图像的影响，我们需要事先对商标灰度图进行归一化处理。常见的商标归一化的方法有灰度归一化、 图2. 商标预处理流程图 几何归一化和变换归一化。本文采用的是基本的几何归一化。 几何归一化是为了将大小不一的商标图像变换成统一的尺寸，方便后续商标特征的提取、特征点匹配、以及相似度的计算。由于平时我们输入的商标图像都会出现大小不一的情况，当商标图像过小时会影响系统识别率；当商标图像过大时，图像信息过多，数据量过大，增加了图像处理的计算量。所以，为了方便后续图像处理，需要对输入商标图像进行统一的大小归一化处理。对于较小(宽度 < 100，高度 < 30，单位为像素)或较大的图像(宽度 > 250，高度 > 80，单位为像素)，按照原始图像比例进行缩放，这样就能保证图像归一化后宽度与高度的比例关系保持不变，避免归一化处理引起的图像形变，进而影响后续的商标图像处理操作 [ 5 ] 。 3.3. 商标二值处理 目前主流的二值化方法有双峰法、P参数法、最大熵法和最大类间方差法。最大类间方差法的应用广泛，尤其是对前景和背景差别明显的图像，处理效果非常好。考虑到本文商标图像的目标和背景灰度差别明显，本文采用最大类间方差法确定Canny边缘提取时的双阈值，通过计算机自动确定图像阈值，无须依靠人工来确定阈值，实现阈值自适应性。 3.4. 商标去噪处理 高斯滤波器是较其他滤波器能够更好地去噪，但滤波器仍有很多问题，比如滤波器在去噪的同时也去除掉很多图像的细节，针对此缺点已经提出了很多改进意见 [ 6 ] [ 7 ] [ 8 ] 。一种改进思路就是将图像中未被污染的和被污染的像素点分开，只对被污染的像素点进行去噪处理，从而最大限度的保留图像中的有用信息，去除无用信息 [ 9 ] 。另一种改进思路是与数学形态学相结合的滤波方法，将中值滤波和形态学滤波相结合，既能有效的去除图像中的噪点，又能很好的保留图像原有的边缘信息 [ 10 ] 。 高斯滤波器是一类线性平滑滤波器，它能有效去除服从正态分布的噪声。一般情况下，商标图像结构相对简单，噪声也多是由于拍摄和输入造成的点状噪声，所以本系统采用高斯滤波器来消除商标图像的噪声。 高斯滤波去噪时，需要人为设定平滑系数σ，σ较小时定位准确，但去噪效果差；σ较大时定位不准，去噪效果好。故本系统使用一种自适应高斯平滑滤波器 [ 11 ] 。该方法通过移动滤波窗口，自动计算并获取图像当前像素点的空间尺度参数值，从而实现高斯平滑滤波的自适应性。 3.5. 商标图像效果增强处理 商标图像去噪后的视觉效果削弱好多，为了方便后续特征提取、特征点匹配和相似度计算，我们需要对去噪后的灰度图像进行效果增强处理，在增强图像主要信息的同时不削弱相关信息，使图像视觉效果更强。 本文采用形态学算子 [ 12 ] 对灰度图像进行增强处理。形态学算子属于数学形态学研究的范畴，由G.Mathern和J.Serra提出，如今已经广泛应用于图像处理的增强、分割、边缘检测等领域中。本文采用形态变换中的膨胀运算，增加灰度图像边界像素点，从而达到增强图像的目的。增强后的图像在不削弱相关信息的同时能够突出图像的主要信息，视觉效果更加强烈。
system: [SYSTEM]

user: 4. 系统商标形状特征提取 商标预处理后，系统对商标梯度直方图进行形状特征提取，包括边缘检测、轮廓跟踪和形状特征描述三个步骤，具体系统对商标形状特征提取的流程图如图3所示。 4.1. 商标图像边缘检测 边缘检测是图像处理和计算机视觉中的基本问题，对商标图像特征提取非常重要。目前已经有许多方法用于边缘检测，检测效果也很好，比如Roberts Cross算子、Prewitt算子、Sobel算子和Canny算子 [ 2 ] 等。其中Roberts算子计算简单，但精度不高，只能检测出图像大致的轮廓，而对于比较细的边缘可能会忽略。Prewitt和Sobel算子比Roberts效果要好一些，但检测精度还是不高。Canny算子的检测效果优于Roberts、Prewitt和Sobel算子，能够检测出图像较细的边缘部分。但Canny算法也有它自身的缺点，Canny算法需要人为设定高低阈值，梯度值在双阈值范围内的像素点就是图像最可能边缘点。当高低阈值设置不合适时，商标图像背景中的点和曲线会被当做边缘，商标图像目标边缘被当做噪点，提取出来的图像边缘跟实际图像相差甚远。所以本文基于Canny算法提出一种自适应Canny边缘检测算法，该算法能够根据处理商标的内容，自适应生成高低阈值，不再过度依赖于人为经验。 自适应Canny边缘检测算法采用两次最大类间方差法求得高低阈值，该方法的理论思想是：根据商 图3. 商标形状特征提取流程图 标梯度直方图的特性，首先将直方图信息分为绝对边缘和非绝对边缘两类，采用最大类间方差法获得一个最佳的分割阈值，并用该阈值完成对所有划分为绝对边缘点的分类，对绝对边缘点进行定位并以此作为边缘连接的基础。对非绝对边缘部分的梯度直方图，再次采用最大类间方差法得到另一个分割阈值，以该阈值作为连接边缘的最低梯度值。根据两次得到的分割阈值结果完成对Canny算法中双门限值的设定。得到商标图像所有可能的边缘点后，需要对图像边缘进行进一步的跟踪处理，即将边缘点连接起来，从而获得商标图像边缘，具体跟踪算法如下： 1) 任取一个梯度值大于t 1 的像素点，将其设为绝对边缘点，作为边缘连接的起始点。 2) 在该绝对边缘点的八邻域范围内，判断是否存在其它的绝对边缘点，如果有则作为边缘点连接。如果八邻域范围内不再有绝对边缘点，则转向判断是否存在梯度值大于t 2 的边缘点，如果有也把它作为边缘点连接。 3) 当邻域内所有梯度值大于t 2 的像素点处理完毕后，转向下一绝对边缘点进行处理，当所有的绝对边缘点都处理完毕后，边缘连接过程结束。 根据以上跟踪算法得到商标图像边缘，下面需要在边缘点中均匀提取100个样本点作为图像特征点。 4.2. 商标图像形状特征描述 形状特征描述按照内容分为两类，一类是区域特征，另一类是轮廓特征。区域特征主要针对图像的整个形状区域，常见的形状特征描述方法有：限元法(Finite Element Method)、小波描述符(Wavelet Deor)等方法。区域特征描述符能很好的表现图像形状轮廓内部的信息，但计算量大，时间复杂度高。轮廓特征主要针对物体的外边界，常见的特征描述方法有：边界特征法、傅里叶形状描述法、几何参数法、形状不变矩法和形状上下文等。其中形状上下文经常被用在商标检索方面，但该方法不能描述内部有洞的商标，对于图像目标旋转比较敏感，所以本文提出一种新的商标形状特征描述方法——内角形状上下文(Inner-Angle Shape Context)来描述图像特征点，该方法是在形状上下文 [ 12 ] (Shape Context)基础上提出的，不仅能够有效的利用图像轮廓信息，更能表现图像内部区域的信息，对图像目标的旋转也不敏感。 IASC(Inner-Angle Shape Context)很好的利用了商标图像的区域连接点，利用连接点之间的最短路径和连接点切线之间的夹角来表示图像形状特征。当商标图像内部有空洞时，IASC能够保证两点之间的连线不会穿越形状边界，从而做到在不分解局部形状结构和连接的情况下，通过Inner-Angle反映出图像的局部信息。下面给出一个计算商标图像样本点距离的方法，从而保证商标图像样本点之间的连线完全落在图像前景中，解决商标图像内部有洞的情况。 首先定义一个形状 O ⊂ R 2 ，且O是闭合的，由形状 O 1 ， O 2 ， ⋯ ， O n 组成，每一个形状O i ， i ∈ [ 0 ， n ] 都是凸区域，每个O i 之间都有连接点J ij ，则 O = { U i = 1 n O i } ∪ { U i ≠ j J i j } ，如图4所示，O i 和J ij 需满足以下条件： 1) ∀ i ，   1 ≤ i ≤ n ，   O i ⊂ R 2 ，且 O i ∩ O j = ∅ ， ∀ i ≠ j ，   1 ≤ i ，   j ≤ n 。 2) ∀ i ≠ j ，   1 ≤ i ，   j ≤ n ，   J i j ⊂ R 2 ，连接点J ij 也是凸包的，它将O i ，O j 连接在一起，如果O i ，O j 之间没有连接点，则 J i j = ∅ ，否则 J i j ∩ O i ≠ ∅ ， J i j ∩ O j ≠ ∅ 。 下面定义图像形状O上样本点之间的距离。在形状O上取两个样本点 x ， y ∈ O ，它们之间的距离记为 d ( x ， y ; O ) 。如果它们之间的连线完全落在图像前景中，则x和y之间的距离为欧氏距离，即 d ( x ， y ， O ) = ‖ x − y ‖ 。如果x和y之间的连线没有完全落在图像前景中，则x和y之间的距离为两点间的最短路径，最短路径采用Floyd-Warshall [ 13 ] 提出的计算方法。如图5所示， d ( x ， y ; O ) 相当于区域O 1 O 2 O 3 内的欧氏距离的加和，这样就保证了样本点之间的连线全都落在图像前景中，在不分解局部形状结构的情况下，通过最短距离反映出商标图像的局部信息。 一般情况下，给定的x，y之间的最短路径是唯一的，但也会有不唯一的情况出现，当出现这种情况 图4. 图像O的组成部分 图5. x，y之间的最短路径 时，我们随机选择一条路径作为最短路径。 在SC算法中，图像特征点是通过计算每个bin中的像素点个数来表示的。同样的Inner-Angle Shape Context也是通过这种方法来表示特征点的。这两种方法之间的不同在于IASC计算的是两个样本点之间的相对内角，也就是Inner-Angle，而SC计算的是样本点跟X轴之间的夹角。 在本文提出的形状描述算法中，两样本点之间的相对方向用内角θ来表示，本文将内角θ取为最短路径 Γ ( p ， q ， O ) 的起始点p的切线方向与最短路径 Γ ( p ， q ， O ) 的第一条路径之间的夹角，表示为 θ ( p ， q ， O ) ，如图6所示，θ就是样本点p的内角，显然只要p和q点的相对位置不发生改变，p，q两点的内角就不会发生改变。所以，用以上方法表示样本点内角能解决图像旋转带来的问题。 以上就是本文提出的基于Shape Context算法的Inner-Angle Shape Context 描述方法。该方法通过样本点之间最短距离来表示商标形状，做到在不分解局部形状结构的情况下，将商标内部形状结构反映出来。通过样本点的内角来表示样本点之间的相对位置信息，在商标发生旋转时，只要样本点的相对位置不发生改变，样本点的内角不会发生改变，一定程度上能解决商标旋转带来的问题。
system: [SYSTEM]

user: 5. 系统商标检索 5.1. 商标特征点匹配 在形状上下文算法中采用匈牙利算法对商标样本点进行匹配，匹配效果较好，故本文也采用匈牙利算法对商标样本点进行匹配。 匈牙利算法是图像匹配最常见的算法，该算法的核心就是寻找增广路径，它是一种用增广路径求二分图最大匹配的算法。通过该方法我们可以将图像100个特征点进行一对一的匹配。假设需要进行形状 图6. 样本点p，q之间的内角 匹配的两幅图像分别为图像f和图像g，通过边缘检测和轮廓跟踪法，所提取的包含n个特征点的点集分别为 P = { P 1 ， P 2 ， ⋯ ， P n } 和 q = { q 1 ， q 2 ， ⋯ ， q n } 。设p i 为图像f上的一个边缘特征点，而q j 是图像g上的一个边缘特征点，则p i 、q j 之间的匹配代价cost值为C ij = C(p i ，q j )，定义如下： C i j = 1 2 ∑ k = 1 K [ h i ( k ) − h j ( k ) ] 2 h i ( k ) + h j ( k ) (5.1) 则图像f、g之间的匹配代价为： C s = ∑ i ， j = 1 n C i j (5.2) 当匹配代价Cs的值最小时，图像f和g的特征点的匹配方式达到最优。 5.2. 商标图像相似度计算 由于在基于形状的商标图像检索中商标图像的特征多是用向量表示的，所以，常用的相似性度量方法都是向量空间模型。即将商标图像特征看作是向量空间中的点，通过计算两个点之间的距离来衡量商标图像特征间的相似度，例如在聚类问题中一个很关键的问题就是如何衡量两个数据间的相似性，就可以采用距离这样的相似性度量方法。最理想的距离度量机制应该能够反映人的感觉，也就是说，人们感觉相似的图像之间的距离应该较小，而感觉不同的图像之间的距离应该较大。 本文的相似性度量属于无序简单集合间的度量。无序简单集合间的度量分为两大类方法：分散性度量和整体性度量。从分散的角度，即分别度量两个集合之间各点的相似度，再按某种策略进行整合；从整体的角度，先获得对数据集合的一个整体性表示，基于整体性来度量。整体性度量的表示形式有代表点、统计量、统计分布、直方图和熵等，本文采用直方图表示数据集合。 本文采用χ 2 距离来表示图像之间的距离。假设需要进行形状匹配的两幅图像分别为图像f和图像g，通过边缘检测和轮廓跟踪法，所提取的包含n个特征点的点集分别为 P = { P 1 ， P 2 ， ⋯ ， P n } 和 q = { q 1 ， q 2 ， ⋯ ， q n } 。则图像f、g之间的距离为： D ( f ， g ) = ∑ i ， j = 1 n 1 2 ∑ k = 1 K [ h i ( k ) − h j ( k ) ] 2 h i ( k ) + h j ( k ) (5.3) 距离D(f，g)的值越小，表示图像f和g越相似。
system: [SYSTEM]

user: 6. 商标检索系统的设计与实现 6.1. 系统开发环境 本文商标检索系统在window8操作系统平台下，采用matlab进行开发。本文中商标图像数据是利用My SQL数据库来存储和管理。本系统中用户通过键盘、鼠标等外设与检索系统进行交互，操作简单方便。本系统的详细开发环境配置如表1。 6.2. 系统框架设计 基于内容的商标图像检索过程是对于给定的待检索商标图像，首先进行图像预处理；然后提取该商标图像的特征向量；最后将该图像特征向量与特征数据库中每幅图像的特征向量进行相似度计算、匹配，并将检索结果按相似度由大到小排列返回给用户。上述检索过程建立在商标图像特征库基础之上，在检索之前，图像特征库必须已经存在。因此，本系统主要包含商标图像特征库生成子系统和商标图像查询子系统两个部分。商标图像特征库生成子系统主要是提取商标图像的形状特征并存入数据库。在提取特征时还需进行相应的预处理操作。商标图像查询子系统主要是完成商标图像的匹配检索功能，即对于给定的待检索商标图像，提取相应的特征，并与特征数据库中的特征进行相似度计算、匹配，显示检索结果。系统的框架模型如图7所示。 根据系统的框架结构可知，本系统主要包括商标图像预处理模块、商标图像特征提取模块和图像匹配模块三部分，如图8所示。 Table 1 Trademark image system development environment configuratio 主机 PC机 操作系统 Window 8 开发环境 Matlab 数据库 My SQL 外设 鼠标、键盘、显示器等 表1. 商标图像系统开发环境配置 图7. 系统框架结构模型 图8. 系统功能模块 6.3. 系统应用 系统用户界面由input Selection区和Rank区两个部分组成。界面如图9所示。 用户在input Selection区中输入待检索商标图像地址和数据库地址，点击OK按钮，即可将待检索图像导入系统，图像在右侧白框内显示，如图10所示。 用户输入待检索图片后，点击运行按钮“RUN”，系统进入商标处理过程中，处理结束后系统返回相似度最大的15幅商标图像，并从大到小在Rank区排列显示，如图11所示。 其中A为与查询图像相关的图像集合，B为检索到的图像集合，a为检索到的相关图像子集，b为检 图9. 用户检索界面 图10. 待检索图像的界面 索到的不相关图像子集，c为未检索到的相关图像子集，d为未检索到的不相关子集。 在计算查准率和查全率时，先选定含有特有目标的图像作为一组相关的图像，然后根据返回的结果计算查准率和查全率。一般情况下，查准率和查全率的变化是相反的，当要求查准率提高时，查全率就会降低，当要求查全率提高时，查准率就会降低。因此，系统评价需要在两个评价指标之间找到一个平衡点，在该平衡下系统检索效果较好 [ 14 ] [ 15 ] 。 6.4. 实验结果 本系统实验所用的商标图像库包含大约1000张实验图像。每个商标均为JPG格式的图像，尺寸均为300*300，大多数大小在l0k左右。检索前事先对图像库中的商标进行预处理、提取商标图像特征向量，并将特征向量入特征数据库中；检索时对目标图像进行预处理、提取商标图像的特征，与特征数据库中的商标图像进行匹配，返回商标检索结果。 本文对商标检索结果进行了分析。实验过程分两步：首先，对同一检索图像，计算其检索结果的前3、6、9、12、15张图片的查准率和查全率；然后对同一检索图像进行5次检索操作，取5次检索结果的平均查准率和查全率。根据以上实验步骤得到表2商标图像的查准率和查全率，由此绘制的查准率与查全率曲线(PVR曲线)如图12所示。 本文对不同大小的数据库的系统检索时间进行了统计，记录结果如表3所示。由此绘制的检索时间曲线如图13所示。
system: [SYSTEM]

user: 7. 结论 基于形状特征的商标图像检索是基于内容的图像检索(CBIR)的一个重要研究领域。一方面在于形状特征比颜色和纹理特征更能表达图像内部信息，更容易将不同的图形区分开来；另一方面由于形状特征本身的特点给研究工作带来了一定的难度。所以基于形状特征的商标图像检索是基于内容的图像检索中一个极具挑战性的研究课题。 商标形状特征的提取和商标图像的匹配是商标图像检索中两个最重要的技术难点和工作重点。本文的工作重点在于形状特征的提取，针对Canny算法和Shape Context算法的不足提出相应的改进方法，并 图11. 检索结果显示界面 Table 2 Trademark image registration rate - inspection rate tabl 返回数目 3 6 9 12 15 查准率 0.9 0.85 0.7 0.64 0.55 查全率 0.05 0.22 0.48 0.66 0.89 表2. 商标图像查准率-查全率表 Table 3 System retrieval schedul 数据库大小/张 100 300 500 800 1000 检索时间/s 30 55 93 154 229 表3. 系统检索时间表 图12. 系统查准率和查全率曲线 图13. 系统检索时间曲线 将改进方法应用于商标图像检索系统中，但由于作者研究能力不足，研究时间有限，基于形状特征的商标图像检索系统只是一个具备了基本功能的检索系统，该系统还存在着很多不足，还有很多问题需要进一步解决。
system: [SYSTEM]

user: 摘 要 源程序理解在白盒测试以及高校教师批改学生源程序作业代码时发挥着至关重要的作用。然而，人工通过查看一行行风格可能迥异的代码，自主在脑中构筑相应流程再进行测试或评判，是非常低效的。本文提出了一种C源代码逆向流程图分层重构的方法，实现了源代码的可视化，利用分层的抽象性逐步降低源代码的复杂性和缩小源代码的规模，依据源代码结构分类给出了各模块图形的定义，并基于分层法的思想逆向分析源代码，开发了C源代码到多层流程图的自动转化程序，最后通过具体的实例操作，实践了从C源代码到多层程序流程图的自动生成过程。这种源代码逆向分层重构的程序流程图，能很好的显示出来程序的业务逻辑和流程，实现了源代码的可视化，这为白盒测试人员以及源程序作业批改教师等人员，进行高效的程序理解提供了方便。 关键词 :分层法，流程图，源代码，程序理解 Copyright © 2018 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
system: [SYSTEM]

user: 1. 引言 在实际教学过程中，学生在程序编程的题目中所呈现出来的格式，代码风格迥异。教师在批阅学生的答题情况时，在自己的头脑中已经展现出来了大致的程序流程，往往在批阅过程中从不自主的按照自己的惯性思维作为评判标准，效率低下，并且可能会出现差错。在较大项目的前期进行白盒测试代码走查过程中，虽然现在有各种技术来辅助测试人员，但是还是需要人工进行大量的阅读代码，而人工阅读代码并且能够分析出它的程序结构是非常麻烦的，而且费时费力，导致工作效率低下。程序流程图通过简单的平面二维平面图形和一些相应的文字构成，简单明了的为技术人员展现出算法的步骤和程序的结构，清晰的呈现出复杂的嵌套结构，远比测试人员去阅读源代码方便。 分层法研究的主要是面向过程的开发，通过读取源代码直接输出程序流程图，而不需要通过编译源代码来实现。通过对复杂的嵌套的提取实现主程序图的简单明了，实现了对程序结构的充分细致的了解。 关于源代码与程序流程图之间相互转换已有很多研究 [ 1 ] - [ 7 ] ，大部分研究集中在根据流程图自动生成代码，如文献 [ 2 ] 等实现了由程序流程图自动生成源代码。而由源代码逆向生成流程图的研究却比较少，且存在一定的局限性。如朱云 [ 7 ] 等人实现了基于图文法的程序流程图与源代码之间的自动转换，其生成过程是对一维字符文法的二维扩展，同时有一组产生规则以及基于产生式规则的推导和规约操作，在该方法中从源程序到程序流程图的转化需要对源代码进行编译。又如文献 [ 8 ] 的逆向输出必须通过该系统产生的源代码才能生成程序流程图，该方法生成程序流程图的局限性比较大。另外，code2flow是目前公认比较好的一款自动生成程序流程图的软件(http://www.code2flow.com/)，但它利用源代码生成的流程图，结构上不能很好的显示程序的意义，尤其在程序流程图分层抽象方面，无法提供程序作业阅卷者所需的关键信息，这在一定程度上辅助人类对于复杂大规模程序的理解，显得力不从心。 本文尝试提出一种基于分层法 [ 9 ] 的C语言源代码转化成程序流程图的方法，无需对源代码进行编译，无需使用特定源代码和伪代码，并能支持逆向流程图的抽象分层，以方便人类理解。同时将研究分析分层法的分层依据以及相关的参数，为后续的研究提供基础；最终提出并实现基于分层法的C语言源代码转化成程序流程图的图形生成的基本方法；然后利用实例展示从源代码到程序流程图转化的过程；最后对全文进行总结和展望。
system: [SYSTEM]

user: 2. 模块流程设计图的提出 所谓层次分析法，是指将一个复杂的多目标决策问题作为一个系统，将目标分解为多个目标或准则，进而分解为多指标(或准则、约束)的若干层次，通过定性指标模糊量化方法算出。 本文提出的分层法是在结构复杂的程序中，定义部分复杂的结构进行简单化表示，从而形成一个较为简单的主体结构，可以看出程序的大体流程图。然后再进行对复杂的结构进行单独输出，这样可以较为清晰看到复杂结构里面的结构，从而可以较快的判断出是否程序是否正确。 如今图形界面的可视化发展迅速，分层法作为形式化的方法，可以清楚呈现出源程序的结构体系，图形化的表示避免的纯文字表述带来的歧义。下面是后文中用到的分层法中的一些定义。 传统的流程图(FC， N-S， PAD)等都比较容易理解，但是之间的关系不是很严格，绘制后需要大量的修改，我们基于C语言的特点，把几个复杂的结构分为几个单元块分别表示：If-else if模块、for模块、switch模块和递归模块。 在C语言中，结构类型有顺序结构、循环结构、选择结构。下图将复杂的结构在主程序图中简单化进行表示，这里自定义了四个复杂的结构，分别是If-else if模块、for模块、switch模块和递归模块。在一般的流程图中，往往将递归内分解为具体的If-else if模块、for模块、switch模块，但是由于递归次数可能会比较大，而且递归往往完成一个相对明确的功能，与循环类似却又不同，因此将递归专门定义为一个模块。借鉴现有流程图经验，这四个模块的具体图形化流程提出如图1。 图1. 复杂模块流程设计图。(a) If-else if流程图；(b) For流程图；(c) Switch流程图；(d) 递归流程图 本研究所提的这四个模块的流程设计图，即If-else if模块流程设计图、for模块流程设计图、switch模块流程设计图和递归模块流程设计图，具有全覆盖、可伸缩分层的特点，满足了程序读者或理解者的层次化抽象理解的需要。全覆盖特点是指，本研究所提四种模块流程设计图配合国家标准学会规定的流程图符号，可以保证所有的结构化C源代码都可以覆盖到，即都可以图形化。可伸缩分层是指每个模块的流程设计图都是可以逐层细化呈现的，这使得源代码可视化既可以实现从大的方面理解也可以从细节方面查看，大大方便了不同尺度宏观、微观理解能力的人群。