模型生成器

2024-05-15

模型生成器(精选8篇)

模型生成器 篇1

0 引 言

交互性电子技术手册IETM(Interactive Electronic Technical Manual)作为欧美等国推行持续采办和全寿命周期支持CALS(Continuous Acquisition and Life-cycle Support)战略的核心技术,一直以来都是装备保障信息化研究与应用的热点之一[1]。IETM的核心问题就是实现技术信息的共享和交换问题[2]。可扩展标记语言XML是万维网协会(W3C)[3]推出的新一代数据交换的标准。它具有可扩展性、交互性好、高结构化、内容与显示分离等优点[4]。美军、欧盟以及国内各IETM标准也都推荐使用XML来描述IETM技术数据。

目前,随着我军信息化建设的不断深入,各级、各类管理和保障机构为提高装备维修保障信息化水平,逐步将装备IETM作为信息化建设的重要方向。但是,要形成规范、统一的IETM还存在着如下问题:

(1) 装备研发、使用、维护保障过程中产生的信息数据大多以word、excel等文件形式存储;

(2) 各级、各类管理和保障机构现有的装备IETM技术数据格式各异,大多以HTML、关系数据库等形式存在;

(3) 装备技术数据分布在各级、各类管理和保障机构,地域广、时间跨度大,无法保证数据统一。

针对上述问题,设计一个IETM系统与外部系统信息交换的接口,导入不同文件格式的技术数据文档,自动生成相应的符合IETM标准的XML文档,能够显著提高工作效率,推进军队装备IETM建设。

1 相关理论基础

IETM标准中规定,装备的所有技术信息均以数据模块的形式组织,并采用严格按照模式定义的XML进行描述。数据模块通常分为很多种类别,包括描述类信息、故障类信息、零件类信息等。

针对不同类别的数据模块,都给出了相应的XML模式(DTD或XML-Schema),用以对XML文档在结构、语意等方面进行规范和约束。由于XML-Schema相对DTD而言,具有以下优点[5]:

(1) 丰富的数据类型、支持用户自定义的数据类型;

(2) 结构化,代码重用高;

(3) XML-Schema本身就是一个特殊的XML文档,可以利用DOM对它进行解析。

因此,本系统选用XML-Schema来定义XML文档的结构。利用DOM解析技术对XML-Schema进行解析,分析其内部结构,得出其元素和层次关系,由此制作出符合该XML-Schema定义的XML文档。DOM将XML文档的逻辑结构看成树形结构,随机访问DOM树,进行读写操作[6]。在DOM树中用节点来表示XML文档中的数据内容,节点包含节点名称、节点类型、节点值等信息。一棵典型的XML-Schema的DOM树如图1所示。

利用XPath[7]可以快速查询和定位XML元素,提供一个路径表达式,检索出所查询的XML文档片段,从而对该XML文档片段进行读写操作。

2 算法设计与验证

系统的总体设计思路分为以下四个步骤:

(1) 针对标准中罗列的不同类别的数据模块,事先准备好相应的XML-Schema。

(2) 对于用户提交的文档,建立相应连接,将查询得到的数据保存至数据集中。

(3) 获取用户选择的需要创建的数据模块类别,对相应的XML-Schema进行DOM解析,找出所有的与数据有关的节点和属性,以及它们之间的层次结构,对于其中的叶子节点和属性节点,加入步骤⑵中的数据。

(4) 对结果XML文档进行验证,通过XML-Schema验证的XML文档显示给用户。

分析不同类别数据模块的XML-Schema,可以得出以下结论:XML-Schema文档中与数据有关的节点只包含在根元素xs:schema(xs为命名空间前缀)中。根元素xs:schema下含有若干个子节点,第一个子节点(顺序无关性)应为该XML-Schema所描述的主体。其他子节点为全局声明,主体中包含了对它们的引用(ref)。

算法schemaToxml有关的参数与函数定义。

schemaFirstChild:XML-Schema文档描述的主体,根元素xs:schema的第一个子节点。该节点不被其他任何节点引用。

xmlRoot:与XML-Schema文档匹配的XML文档的根元素,其名称应为schemaFirstChild的name属性值。

parent:当前活跃节点,任何新建的元素节点作为它的子节点,任何新建的属性节点作为它的属性。

checknode(xmlelement,parent):递归函数,对参数节点xmlelement进行相关处理,过程中新建的节点或元素添加为parent的子节点或属性。xmlelement初始值为schemaFirstChild. FirstChild,parent初始值为xmlRoot。

具体处理过程如下:

输入:XML-Schema和数据文档。

输出:XML。

Step1 开始调用递归函数checknode(xmlelement,parent)。

Step2 获取xmlelement节点名称xmlelement.name。

如果 xmlelement.name为xs:element或xs:group,转step3;

如果 xmlelement.name为xs:attribute或xs:attributegroup,转step4;

如果 xmlelement. HasChildNodes,转step5。

Step3 判断xmlelement是否有ref属性。若有,转step6;若没有,转step7。

Step4 判断xmlelement是否有ref属性。若有,转step6;若没有,转step8。

Step5 获取其子节点集合,依次将每个子节点赋值给xmlelement,回step1。

Step6 调用XPath,找到其引用的全局声明,将其赋值给xmlelement,回step1。

Step7 获取xmlelement的name属性,再判断xmlelement是否为叶子节点。若是,转step9;若不是,转step10。

Step8 获取xmlelement的name属性,再判断xmlelement是否为叶子节点。若是,转step11;若不是,转step12。

Step9 创建以该name属性值命名的元素节点newelement,添加为parent的子节点,节点值从数据集中获取。

Step10 创建以该name属性值命名的元素节点newelement,添加为parent的子节点,将newelement赋值为parent。

Step11 创建以该name属性值命名的属性节点newattribute,添加为parent的属性,属性值从数据集中获取。

Step12 创建以该name属性值命名的属性节点newattribute,添加为parent的属性。

综上所述,算法流程如图2所示(只判断是否为xs:element的情况,其他情况类似)。

为了验证算法的可行性,现以零件类信息为例,为了简化,取某段弹簧的XML-Schema如下。

对于用户提交的数据文档,必须满足一定的格式,否则可能导致生成XML不符合要求。因此,先给出示例,用户只需将原有的文档格式稍加修改,符合相应的格式要求之后,即可提交给系统。假设用户提交文件形式为excel,则给出如表1示例。

系统的关键是对XML-Schema解析,提取出文档结构,加入数据集中的数据,生成XML的过程。如图3所示。

这样,最终将excel表转换为符合XML-Schema定义的XML文档。

3 系统设计与实现

前文已经提到,本文旨在建立一个IETM系统与外部系统信息交换的接口,接收来自外部系统的各种格式的技术文档,统一输出为符合IETM标准的XML技术文档。其主要模块如图4所示。

获取数据集模块是系统的入口,负责从外部系统接收数据文件。首先,获取文档的后缀名,判断文档的类型。针对不同格式的数据文档,实例化相应的数据连接字符串,调用数据集填充函数,获取数据集datatable,目前只实现了excel和关系数据库的转换。数据转换模块是系统的核心,负责对XML-Schema的解析和数据的录入工作,生成相应的XML文档。数据验证模块负责对生成的XML文档进行有效性验证,验证其是否与XML-Schema匹配,并给出错误提示和修改意见等。

该系统的主要特点如下:

(1) 用户透明性。用户无需对XML-Schema标签定义以及各种约束有深刻的认识,系统会根据用户提交的技术文档和相应的数据模块类别,自动生成XML文档。整个工作过程对于用户端是透明的。

(2) 可扩展性。转换算法对于所有数据模块的XML-Schema都是通用的。因此,对于新格式的文件,只需制定新的数据连接,获取相应的数据集,从而进行XML转换。

(3) 验证功能。生成的XML文档不一定符合XML-Schema格式要求,未通过验证模块验证的XML文档,系统会给出错误原因、修改意见等。最终将符合标准的XML文档显示给用户。

利用asp.net进行开发,asp.net提供了良好的DOM接口。利用XmlDocument对象的Attribute属性、Child属性以及SelectSingleNode方法快速查找节点,同时也可以利用XmlDocument对象的CreateElement方法和AppendChild方法建立XML文档。同时还可以使用 XmlValidatingReader 对XML进行验证[8]。

4 结 语

本文围绕装备IETM系统开发前期XML文档制作的过程,设计了一个信息转换接口,重点解决不同格式的数据文档,统一转换为XML文档,为IETM的开发奠定了基础。后期将在系统中加入XML-Schema约束规则,输入数据的同时会提示相应的信息,则本系统完全可以担当IETM数据模块制作的大任。

参考文献

[1]高万春,等.S1000D下IETM的研究与实践[J].微计算机信息,2007,23(6-3):1-3.

[2]姜莉莉,等.XML和关系数据库在IETM开发中的应用[J].微计算机信息,2009,25(10-3):28-30.

[3]W3C XML[OL].http://www.w3.org/XML.

[4]曾春平,王超,张朋.XML编程从入门到精通[M].北京:北京工业出版社,2002.

[5]朱建山.基于S1000D规范的IETM数据管理系统研究[D].南京航空航天大学,2010.

[6]常浩.基于XML的异构数据交换模型的研究[D].太原理工大学,2011.

[7]王竞原,等.XPath中的文本查询研究[J].计算机工程,2007(11):70-72.

[8]洪石丹,等.ASP.NET范例开发大全[M].北京:清华大学出版社,2010.

模型生成器 篇2

简要介绍TIN模型及其数据结构,主要从计算机地图制图的角度,研究基于TIN模型(不规则三角网)的等高线的自动绘制问题.同时,用VB设计程序,通过实验证明其正确性和有效性.

作 者:任丽艳 周秋生 成枢 张周平REN Li-yan ZHOU Qiu-sheng CHENG Shu ZHANG Zhou-ping 作者单位:任丽艳,成枢,REN Li-yan,CHENG Shu(山东科技大学,地球信息科学与工程学院,山东,青岛,266510)

周秋生,ZHOU Qiu-sheng(黑龙江工程学院测绘工程系,黑龙江,哈尔滨,150050)

张周平,ZHANG Zhou-ping(西安市勘察测绘院,陕西,西安,710054)

洗衣粉生成优化模型 篇3

生活中使用的一种洗衣粉, 是将几种原料, 经过精炼然后加以混合而成的。原料有两大类共5种:A型2种, 分别记为A1和A2;B型3种, 记为B1、B2和B3。各种原料均从市场采购, 从目前 (一月份) 到六月份的未来半年内, 各种原料的市场预测价格 (元/吨) 。成品洗衣粉售价2800元/吨。A型、B型原料需要在不同的生产线上加工。A型生产线每个月最多可加工A型250吨, B型生产线每个月最多可加工B型300吨, 假设加工过程的重量损失忽略不计。每种原料最多可存贮1000吨备用。存贮费为每吨每月80元。成品洗衣粉和加工过的原料不能存贮。目前这五种原料各存有500吨, 要求在6月底仍然保持同样的存贮。根据原料价格的预测, 编制逐月各种原料的采购量, 使这半年内公司获得最大利润。

2 模型假设和符号说明

1) 假设以一个月为一个生产周期;

2) 假设该工厂的生成运营方式是购买进的直接加工月末剩余时在储存;

3) 假设每个月的储存费用在月末时支付;

4) 根据实际市场物价幅度增长变化假设X的范围为0≤x≤20;

5) Pi, j表示第j种原料在i个月份的价格;

6) Bi, j表示第j种原料在i个月份购买数量;

7) Si, j表示第j种原料i-1月底存储量作为第j种原料在i月初的数量;

3 模型建立与求解

洗衣粉是人类生活的必要消费品, 为人类提供一个清洁舒适的环境。随着中国经济的飞速发展, 人民生活水平的大幅度提高, 人们对洗衣粉的质量要求不断提升。而保洁市场的逐步开放, 更使洗衣粉行业的发展呈现出勃勃生机, 成为中国的朝阳行业, 市场前景广阔。在现有的技术上如何的在保证洗衣粉的质量、功效, 前提下投资洗衣粉产业, 以获得更高的利润成为了洗衣粉投资者们所关心的话题。

通过对问题的分析了解到问题属于最优化问题, 最优化问题必然涉及约束条件和目标函数, 对于该题的目标函数为:确定每个月各种原料的采购量、耗用量及贮存量计划, 使这半年内公司获得最大利润。其对应的约束条件为:

1) A型生产线每个月最多可加工A型250吨, B型生产线每个月最多可加工B型300吨;

2) 每种原料最多可存贮1000吨备用。成品洗衣粉的质量标准限制:成品洗衣粉限定其杂质在3~6%之间。其他的约束为:a.每个月储存杂质量与上一个月的关系;b.非负约束;c.初始储存量和最后储存量的约束。

根据上面的目标函数和约束条件, 建立最优化模型, 最后通过LINGO对其进行求解。根据题目所给的信息, 设Pij为第i个月第j种原料的采购价格, Wi为第i个月的采购总价格, Bij为第i个月第j种原料的采购量, Rij为第i个月第j种原料的耗用量, Sij为第i个月第j种原料的储存量, Hj为第j种原料的杂质 (i={1~6月}, j={A1, A2, B1, B2, B3}) 。

根据题意该工厂希望在未来的六个月里盈利最高因此其目标函数为:

建立最优化模型如下:

根据所建立的模型, 用LINGO对模型进行求解得到该洗衣粉加工厂得6个月的最高利润为:3750463.0元, 其每个月每种各种原料的购买量如下表:

摘要:洗衣粉是人类生活的必要消费品, 为人类提供一个清洁舒适的环境。文章通过了解题意找到约束条件和目标函数, 建立最优化模型, 得到该洗衣粉加工厂的最高利润为3750463.0元。

关键词:最优化问题,购买量

参考文献

[1]姜启源, 谢金星, 叶俊.数学模型 (第三版) .北京:高等教育出版社, 2003.

[2]韩中庚.数学建模方法及其应用.北京:高等教育出版社, 2005.

基于模型的会话含意的生成 篇4

H.P.Grice1967年提出的会话含意理论大致经历了“创立——修补——重构”三个阶段, 从古典格氏理论发展为具有广泛解释力的新格氏会话含意理论。该理论拓宽了语用学研究的领域, 为丰富和发展当代语言学理论作出了贡献。徐盛桓从20世纪80年代到90年代末致力于会话含意理论的研究, 发表了10多篇系列论文, 指出含意性是话语的一种内在的禀性;含意是含意性在具体话语中的实际体现, 指活跃于话语之中的、存在于话语的命题意义、概念意义之外的, 又确是为话语的语言单位的形、音或义所承载的“言外之意”。话语的含意性的研究表明, 含意在话语中是普遍存在的因而含意性的确是话语固有的一种特性。徐氏建立了自己的会话含意生成机制的理论框架 (沈家煊1996) , 提出了会话含意语用推理模式, 进行了会话含意理论的本体论研究。本文以徐盛桓 (2006a, b) 的基于心理模型的语用推理范式为理论基础, , 探索会话含意的生成动因。含意体现在话语之中, 话语有无数句子的表达式构成。因此, 研究会话含意的生成也就是研究句法表达式的生成。然而本文的探索方向与徐盛桓 (2006a, b) 有不同, 他的心理模型范式探索的是语用推理过程, 即以形式→语义为取向, 为语言理解活动的认知机制提供一种可能的解释;我们的研究则是探索这种机制如何影响和决定句法表达式的建立, 即语义→形式取向, 为会话含意的形成过程和动因提供一种可能的解释。

二、关于心理模型

“心理模型” (mentalmodels, MM) 这一概念, 是美心理学家Kenneth Craik在1943年出版的The Natureof Explanation提出来的。根据Craik的说法, 心理模型是心智对实在的或想象的情况的表征, 人们运用表征来理解各种特定现象, 以作出预测、推理和解释。Norman曾给出对心理模型的概括说明:心理模型是“人们在同环境、同其他人、同科技的人造物相互作用过程中所形成的同自己和同涉及的事物有关的内在的心智上的模型, 这些模型为理解所面对的相互作用提供预测和解释力。”心理模型是人类对现实或想象情景的心理表征 (Johnson-Laird&Byrne2000) 。Johnson-Laird认为心理模型作为一种心理表征, 指的是人们以即时的短时记忆为基础建构起来的知识结构所形成的心理映像;人们为表征现实而建构起来的内部模型与外部世界的“关系模型”具有相似性;心理模型的运用是人类进行推理的基本形式。

认知科学把心理模型建看成是大脑对外部世界的内在表征, 强调心理模型的建构来源于人类先在的经验知识和有关图式知识及过去解决问题的策略的积累;心理模型并不是一成不变的;心理模型的运用是认知活动的重要组成部分。从认知的维度来讲, 心理模型还有如下重要特征:心理模型是认知主体知识结构的表现形式, 或称心智中的知识的基本组织形式, 这一抽象知识结构由大大小小的类知识或抽象知识的“知识集”构成, 是人们的知识、经验、信念经由大脑的长短期记忆储备起来并经抽象和整合成为复杂的知识网络系统, 体现为由历时、共时的各种规则规律汇集成的集合体, 这些规则规律组成默认的层级和结合为各种范畴;心理模型将复杂的现象抽象为一个个简单的表征形式, 通常是以“如果x则y”的形式呈现出来;心理模型是一切推理活动的心理基础。

三、心理模型与常规关系

常规关系是事物自身的关系, 某一事物同另一事物之间的关系, 或某一事物的某一状态同某一 (些) 时间、空间、性状、形态、功能、因果等之间的关系, 就会被认定为较为经常性规约性地建立起来的联系, 形成某一“常规关系”。例如“下馆子”、“考研”、等, 就凝聚了一连串的常规关系。

从更为抽象的层次对常规关系作了新的概括, 认为常规关系在人们大脑里的知识结构中, 是作为小型知识集分布的, 分布为多层级的支系统和分系统, 由相邻和/或相似关系把它们纵横交错地连通在一起;这就是说, [相邻±]、[相似±]可以作为审视常规关系的两个维度。一方面, 两事物间肯定可以从两个维度表现出它们之间的关系, 从很相邻/相似到很不相邻/相似, 比较容易观察, 而且没有什么事物是例外的。另一方面, 人们感知外界事物的心理特征, 也强烈受相邻、相似关系的影响。一事物/事件可以看成是一个“单位”。人们对一事物/事件的认识可以分解为若干小的单位。例如, “考公务员”可根据人们的知识和经验大体可抽象为: (i) 报名-- (ii) 初试-- (iii) 复试-- (iv) 获取 (不/录取) 通知这样的常规关系, 其以 (i) 与 (ii) 相邻、 (ii) 又与 (iii) 相邻……建立起来的常规关系集, 常规关系集是一个以连锁的相邻关系整合成的横聚合型的常规范型, 还可以有更大的常规范型;“公务员”、“考雅思”、“考研”等又可以其一定程度的相似性整合为纵聚合型的常规范型。人们对于常规范型掌握是以长期记忆为基础进行心理建模的过程。相邻维度和相似维度就是这样以抽象知识的形态影响着人们对常规关系的把握。通过相邻和/或相似关系, 把体现了常规关系的小型知识集连通为具有多层级的支系统和分系统的知识结构。相邻和/或相似认定的过程就是一种以关系的方式来把握世界的认知方式。具有常规关系的两事物互为对方的“关系体”一关系体的存在总是内在地蕴含着另一关系体的存在;在一定的语境下, 提到x就可能意味着。

四、心理模型与语用推理范式

徐盛桓 (2006b) 发现, 心理模型的建构同他多年来探索的“常规关系”有着密切的联系。对常规关系的把握是人类对现实世界认识的结晶, 因此可以用来推定世界事物之间的隐含关系。这样, 常规关系就可以用作语用推理的机制 (徐盛桓1993:11-17) 。徐盛桓还发现, 含意在语言表达中具有本体地位而不仅仅是修辞性的 (徐盛桓1996:21-27) 。话语的字面表达即显性表述通常都是不完备的, 要达成对话语相对完备的理解, 就必须利用其蕴含的隐性表述即含意对话语加以补足或阐释, 而利用常规关系则是补足和阐释过程的必由之路。因此, 常规关系是含意推导的有力工具, 对话语推导具有很强的解释力。基于对语用推理机制的长期探索, 徐盛桓提出这一“基于心理模型的含意推理因果化模型”, 基本内容为:以心理模型的知识结构为参数, 根据初始条件和边界条件约束, 在知识结构里建立下向因果关系域, 引导话语的显性表述在域内搜索体现为相邻/相似的常规关系, 并在下向因果力的制约下被因果化, 使话语在知识结构里突现因果关系从而获得理解 (徐盛桓2006a, b) 。

五、心理模型与会话含意的生成

话语的表述总是离不开含意, 从本原来说, 含意是对语句所体现的常规关系的具体内容的解读, 话语通过显性表述的句法结构来体现, 因此讨论会话含意的生成也就是讨论句子的句法表达式的生成。句法结构是现实世界事物关系通过人类认知投射到语言运用的结果。对含意推导过程具有普遍解释力的“基于心理模型的含意推理因果化模型”既然能够解释形式 (显性表述) 和语义 (隐性表述) 的关系, 也就能够反过来解释表达这个显性表述的句法结构是如何在体现隐性表述 (会话含意) 的语义的基础上建构起来的。

从话语的建构来看, 话语又会经历一个含意化的过程。含意化指话语的语言单位的形音义承载隐性表述的过程, 也就是含意内化于话语的过程, 也就是会话含意的生成的过程。话语含意化过程是同话语建构过程同时发生的。既然话语的含意性是话语的一种普遍特性, 那么话语含意化过程也是话语建构的一个普遍过程。话语的含意化, 不是说话人外加在话语之上的, 这是话语中所体现的各常规关系相互作用的必然结果, 是语言内在机制的运作使然。要寻求更为经济、简洁的表达方式, 唯一途径就是简化原始描述中涉及的较低层级心理模型, 集约为更高层级的心理模型, 并将这个高层级的心理模型投射到话语。这个高层级心理模型应“高”到何处, 语言运用者能够做的, 只是根据规律适度地控制和合理地运用这个过程。

从我们举例来看, 例1, “小李在餐馆简单吃了快餐就开始工作了”, 听者一定不会认为“小李”是站着吃的或者没有付钱, 这是因为“坐着”、“付费”等较小心理模型集表征的常识被集约到表达式表征的更高层级的心理模型中成为共有知识的缘故。例2, “他每星期都会给在家乡的父亲写一封信。”——只写不寄?其实至少包括写信、写信封、贴好信封、贴上邮票、寄出, 但这一切自有含意补足, 即通过常规关系, 多个与写信相关的小型的心理模型集约成为大型的心理模型, 然后投射到话语中, 使话语的表述更加经济。例3, 著名歌星宋某在一杂志上登了一则启事, 全文是:“012345689”;看来, 城中不知有多少青春玉女要神魂颠倒了。其中, 数字“7”发音同汉字“妻”, 可以通过常规关系联系起来, “0到9”数字中缺少“7”, 即是要表达“缺妻”这一含意, 这也是小型的心理模型通过常规关系集约成大的心理模型并且投射到话语中, 生成会话含意的过程。

在这些过程中, 我们可以明显感到, 这些表征较高层级心理模型的句法表达式是建立在说话人相信听话人能够根据常规关系作出推导的基础上的, 句式的最终产生, 是自觉不自觉地遵循了基于心理模型的含意推理范式的结果, 只是其运作过程与“模型”的操作方向 (形式→语义) 相反, 从相对较为完备的语义内容到不完备表述的句法表达式 (语义→形式) 。从这里可以看出, 徐盛桓的“模型”可以刻画不完备的句法表达式和相对完备的语义表述之间的双向关系, 即可有效地解释形式←→语义关系。据此, 我们假设:“基于心理模型的含意推理因果化模型”也是会话含意生成的心理和认知基础, 即也是会话含意生成的基础动因。根据这一假设, 我们将上述流程图的运作方向和表述方式加以改动, 作为刻画基于“模型”的会话含意生成机制的形式化描述:

根据我们在“模型”的理论框架内对句法结构的产生过程所做的形式描述, 会话含意的产生过程是语言使用者在概念化过程中将诸多来自世界经验的小型心理模型集通过语义相邻/相似关系推断、处理而集约为较高层级心理模型然后投射到句法表达式的过程。具体过程可描述为:如果在语义内容中存在xy, 而在某一可认定的情境中x曾同y相邻/相似, 那么语言表达式 (话语) A有可能简化或集约为x或y, 即xy→A:x/A:y, 最终的x和y表征的心理模型是概念结构的不同表现形式, 映射到句法就形成了话语中会话含意的表达式。

六、结语

“基于心理模型的含意推理因果化模型”本质上描写的是形式 (显性表述) 和语义 (隐性表述) 的关系, 因此它能够解释会话含意句法结构 (形式) 是如何在语义的基础上建构的。对于会话含意生成机制的把握主要依靠我们的世界经验, 依赖我们对常规关系的把握, 也就是创建和操作“心理模型”。话语含意的句法表达式的建构是心理模型集集约的结果“模型”推理机制制约着句法所表征的心理模型的建立, 从而制约会话含意句法表达式的组织。只是“模型”推理范式描写的是从句法形式到意义释读的过程, 话语含意的句法表达式的建构则是逆向遵守“基于心理模型的含意推理因果化模型”的规则, 即从语义到句法的过程。

参考文献

[1]Johnson-Laird, P.N.Mental Models:Towards a Cognitive Science of Language, Inference, and Consciousness[M].Cam-bridge, MA:Harvard

[2]Johnson-Laird, P.N.1980.Mental models in cognitive sci-ence[J].Cognitive Science

[3]徐盛桓.常规推理与“格赖斯循环”的消解[J].外语教学与研究, 2006, (3) .

[4]徐盛桓.论常规关系[J].外国语, 1993, (6) .

基于部件替换的三维模型生成方法 篇5

由于传统的3D建模比较繁琐,近年来,一些利用已有模型进行模型生成的方法已被提出。Thomas等[1]提出了一种数据驱动合成方法,来构建三维几何表面模型,基于部件的几何相似性,通过交换将模型的部件进行融合与匹配,利用智能剪裁分割出所需部件的网格模型,并按照相应的方式将他们组合在一起生成新的三维模型。此方法只允许沿着现有网格的顶点和边缘进行分割与连接,不能自适应地分割三角形。Karevoy等[2]设计的一个模型生成系统(The Shuffler System),考虑部件的几何相似性和部件的接触信息,允许用户加载一组人工选定的兼容的三维模型,并快速交换模型之间的相似部分。该系统依赖于一种所有模型都兼容的分割方法,只能用于用户的当前模型不能用于其他模型,需要用户控制生成模型的形状以确保其合理性。Siddhartha等[3]提出了一种利用统计几何处理技术来进行数据驱动建模的方法,该方法支持开放阶段的建模过程,利用形状检索和形状对应,从简单的三维模型中获取一些组件,这些组件能被添加到设计者的当前模型中,激发设计者的创作灵感,但算法只考虑了几何属性,没有考虑部件的语义功能。Talton等[4]的探索性建模系统适用于数据驱动的方法来支持开放式三维建模。它依赖于一个参数化空间,在这个空间中设计新的三维模型。Bokeloh等[5]对三维模型进行分析,提取潜在的对接部位,使有意义的逆过程建模变的可能。徐凯等人[6]提出通过使用图像轮廓线约束变形零件,利用图像激发3D模型创作。形状生成的另一种方法[7]是基于统计模型创建实例,这是一种常用的纹理生成方法,将模型分解为多个纹理元素,然后重新组合这些元素生成新的模型。当生成的模型有一个复杂的层次结构时,基于局部相似性的统计模型是无效的。

本文通过计算已分割模型部件间的对称和接触关系,由粗糙到精细构建模型层次结构;然后根据位置信息对层次中的节点进行匹配以及层次结构的再生成;接着进行部件替换,生成新的模型;最后通过部件连接确保部件间合理接触。本文方法进一步简化了建模接口,不用直接操纵几何形状,能够在已有模型库的基础上自动、有效地生成一系列新模型。

1 形状分析

要实现模型的重组,首先对单个模型进行形状分析,包括接触分析、对称检测和层次结构生成。整个形状分析过程如图1所示。

由于模型分割技术的不断发展,现已存在大量的已分割模型库。为便于分析,首先对模型进行规则化处理,使其具有一致的主轴方向;进而采用将模型包围盒的最长边缩放为1的方法对模型进行归一化处理,使模型缩放的一个立方体内,采用的包围盒是Axis-aligned bounding box(AABB)包围盒,该包围盒是与坐标轴对齐的包围盒,构造简单,存储空间小,且能达到本文所需要求,故采用此包围盒。

1.1 接触分析

部件间的接触点描述一个模型的连接关系,找到模型中各部件的接触关系,并保存接触点,为后续分层和形状匹配做准备。接触分析过程如下所述。

由于每个三维网格模型都包含大量的三角面片,若直接计算两部件间三角面片是否有接触,计算量较大。为了提高程序运行效率,首先判断两部件的AABB包围盒是否接触,由于该包围盒包围物体时不紧致,即便两包围盒有重叠,还不能直接断定两部件有接触,需要进一步判断两部件的三角面片是否有接触。判断两三角面片T1(来自部件1)和T2(来自部件2)是否接触的流程图如图2所示:

其中判断交点是否在T2内采用的是同向法。假设三角面片的三个顶点为ABC,当沿着ABCA的方向在三条边上行走时,若点P始终位于边AB,BC和CA的同侧,则点P就在三角形内。利用叉积来判断P是否位于三个边同侧,连接PA,将PA和AB做叉积,再将CA和AB做叉积,若两个叉积的结果方向一致,那么两个点在同一侧。用点积判断两个向量是否同向,若点积结果同为1,则两向量同向,否则,两向量不同向。

按照上述过程遍历两部件的所有面片,将T1中与T2相交线段的两个端点中距离T2较近的端点作为接触点保存起来。遍历模型的所有部件,保存所有的接触部件和相应的接触点。

1.2 对称检测

对称检测是计算机图形学领域的热点问题,其广泛应用于三维几何模型的形状匹配、检索、对准、重网格化、模型分割等领域。对称性通常被视作连接三维形状低层几何属性和高层语义信息的桥梁,对称作为一种几何属性,其定义和检测可以完全基于几何信息,同时对称性对于模型结构和语义分析具有重要作用[8]。本文利用对称性对模型进行分层细化,并利用层次节点的对称来简化部件替换过程,提高程序的运行效率。

由于已将模型主轴方向处理一致,把x=0面作为对称面,只需计算x=0面的两侧是否存在对称部件。可根据两部件的AABB包围盒是否对称来判断两个部件是否对称。对称检测步骤如下:

1)判断两部件的AABB包围盒的中心距离是否小于某个阈值,若小于阈值则进行步骤(2),否则,可判定两部件不对称。

2)判断两部件AABB包围盒的对角线向量的夹角和长度是否分别小于某个阈值,若均小于各自的阈值,则两部件对称,否则两部件不对称。

经过实验验证分析,将两部件AABB包围盒中心距离的阈值threshold1设定为0.01,包围盒对角线夹角的阈值threshold2设定为5˚,包围盒对角线长度的阈值threshold3设定为0.01,可正确检测出模型中存在的对称部件。

1.3 层次结构生成

此过程为模型生成由粗糙到精细的层次结构,每一个层次包括若干个层次节点N,该节点由若干个相互连接的部件组成,并利用对称检测找到节点N的对称节点,记录节点N的各种信息,如节点中心、节点大小、父节点等,用于形状匹配。层次结构生成的流程图如图3所示:

用k表示层次结构的层号(k=0,1,2…n)。当k=0时,表示第0层,包含一个节点,这个节点包括模型的所有部件。当由较粗糙层k生成较精细的层次k+1时,将k层上的每个父节点分割成两个子节点,并把生成的子节点分配到k层上。若节点中存在对称的部件,分割时将把对称信息考虑在内,把对称的部件分别分配给两个子节点。若某些部件的中心距离分割平面非常近,则认为这些部件的中心位于分割平面上,并将这些部件添加到第三个节点中去。分割操作后,若父节点至少生成了两个子节点,并且每个子节点至少包含一个部件,则认为分割操作是成功的。若父节点中不存在对称的部件,或父节点中存在对称的部件,但基于对称面的分割操作不成功,则将父节点坐标系中的x=0面作为分割面,若此分割操作仍然不成功,则依次将y=0面、z=0面作为分割面进行分割。如果按任何一个分割面分割都不成功,则这个父节点只生成一个子节点,且包含父节点的所有部件。若分割成功,计算并保存每个子节点对应的节点信息。对称检测也将在每个子节点中进行,并记录节点中对称的部件。

由于在层次生成的过程中没有考虑部件间的接触信息,一个子节点中包含的部件可能是分离的。例如子节点中的一个或多个部件与其他部件不连接,这就需要重新调整层次k的节点,确保每个节点所包含的部件都是接触的。这一过程的步骤如下:

1)根据记录的部件间接触信息,重新调整k层的节点,原节点中如果存在分离的部件,则将原节点分成两个或多个节点。

2)为保证新生成的节点与原来的节点数目相同,需要对节点进行合并。将节点按体积大小排序,把体积最小的节点与其接触的体积也较小的节点进行合并。

通过以上分离和合并步骤,再次生成的每个节点所包含的部件都是一个整体,不再存在部件与部件间分离的情况。迭代进行以上分层过程,直至某个层次的每个节点都不能再进行分割,则层次构建结束。至此,形状分析过程完成,其结果将用于形状匹配。

2 形状合成

单个模型的形状分析完成后,对两个模型之间的形状进行合成,形状合成包括形状匹配、部件替换和部件连接三个部分。

2.1 形状匹配

一般情况下,两个模型所含的部件个数是不同的,所以部件间很难形成一对一的匹配。显然,由不同部件个数构成的模型生成的层次结构也不能实现一对一匹配,这就需要调整两个模型层次结构中每层的节点个数,以便形成节点间一对一匹配。如图4(a)所示,S1汽车模型作为原模型,S2卡车模型作为目标模型、每个模型的节点个数是相同的,但是为了形成一对一匹配,汽车车身将与卡车的两个部件卡车车身和尾部的一个轮胎相匹配,这样就会造成不合理的匹配。图4(b)是在匹配的过程中,为了适应S1的层次节点为S2生成的新的层次节点。

形状匹配算法实现过程如下所述:

1)构造一个与原形状S1完全相同的层次结构LS,使其每个节点都为空节点,得到一个与S1的层次结构完全对应的空层次结构,使其在形状匹配过程中起到纽带作用。

2)根据最邻近匹配原则,将目标形状S2在各层节点所包含的部件分配到与其对应层的对应节点,即将与原层次节点中心距离最近的目标层次节点的部件分配到新构造的层次结构的对应层的对应节点。如果在原节点中有两个节点距离同一个目标节点都最近,则判断目标节点距离哪一个原节点最近,将目标节点与其距离最近的原节点相匹配,并将目标节点所包含的部件添加到与原节点相对应的LS的节点中,这样与未被匹配的原节点相对应的LS节点就是空节点了。

3)新生成的层次结构中有空节点存在,将空节点移除,并将对应的原层次和目标层次节点合并到具有共同父节点且接触的节点里。如果对应的原层次或目标层次节点没有与其共享父节点的节点,则将其合并到当前层体积最小且与其接触的节点里。

对各个层次进行迭代,使S1和S2层次结构完全相同,每层的节点一一对应。模型的形状匹配过程如图5所示:

2.2 部件替换

形状匹配后,在层次结构的最精细层(最后一层)进行部件替换,,通过替换两个模型层次结构中最后一层相匹配的节点来生成新的形状。部件替换时要控制替换顺序,进而有规律的生成若干模型。具体的部件替换控制方法如下所述:

通过设置一个权重ω∈[0,1]来生成新的模型S(ω),其中新生成的模型S(0)=S1,S(1)=S2,。在形状生成的过程中,S1的部件只能被S2的部件替换一次,并且不再进行逆替换。这个过程通过以下方法来完成,用nk表示一个层次结构的第k层有n个节点,实例化一个新模型时令ω×nk个节点来自S2,剩余的节点来自S1,这样就能控制哪个模型的哪个节点被替换,有规律的生成若干模型。如果两个节点是对称的,则其同时被实例化或不被实例化。

在替换的过程中,随着ω的增大,索引小的节点将首先被实例化,为了使实例化时按照一定的规律生成新模型,将原模型S1最后一层的节点按照节点体积由大到小排序,同时将目标模型S2的最后一层也作相应的调整,以保证节点索引一一对应。这样体积大的节点将首先被实例化,新生成的模型将逐渐由S1向S2过渡。

2.3 部件连接

通过部件替换生成的新模型,由于不同部件的尺寸,坐标位置不同,替换的部件放置的位置可能不合理,这就需要重新调整部件放置的位置。用Cj,k代表两个部件间一系列接触点的集合,如果部件j在当前节点中,部件k在另一个节点中,则每个节点与其连接的节点的接触点P通过以下公式求得:

其中Pi为求得的部件j和部件k的接触点。如果原模型S1的部件j被目标模型S2的部件h替换,则将h所在节点对应的接触点平移到接触点P,并将h所在的节点作相同的平移,实现部件h和部件k良好接触。

3 实例验证

在Visual Studio2010开发平台下,采用C#编程对本文算法进行实例验证。下面以两个飞机模型为例详细讲解

本方法的实现过程,fighter1、fighter2的层次构建结果分别如图6、图7所示:

由图6 fighter1层次结构的第1层(即k=0)包括一个节点,这个节点包含模型的所有部件。节点中存在三对对称的部件,按对称平面将模型分割,得到k=1层上的三个节点,第1个节点包含右上、下羽翼和右引擎三个部件;第2个节点包含一个躯干部件,第3个节点包含左上、下羽翼和左引擎三个部件,利用对称检测得出节点1与节点3是对称的。接着再分割k=1层的节点,由于三个节点中不存在对称的部件,则先按x=0面分割,由于节点1包含的三个部件的中心位置都在x=0面的右侧所以导致分割不成功,再按照z=0面分割,由于右上羽翼与右引擎的中心都在z=0面的上方,这两个部件被分配到同一个节点中,右下羽翼的中心在z=0面的下方,被单独分配到另一个节点中去。同理,节点3也被分割成了两个节点。第2个节点只包含一个部件,因此不必再被分割。随着k=1层的节点被分割完毕,k=2层的节点完全生成了。按照以上过程依次生成第3、第4层的节点。图6中第4层中的每个节点都只包含一个部件,模型fighter1的层次结构构建完毕。

Fighter2层次结构生成过程与fighter1类似,不同之处在于对其层次结构的第2层进行了节点的再生成。第1层的节点中存在四对对称的部件,按照对称轴进行分割,得到图7中a、b、c三个节点,由于节点a和c中包含的部件存在分离现象,所以要重新划分节点,确保节点中包含的部件都接触。重新划分后,由节点a得到节点d和e,由节点c得到节点f和g。为了使节点个数与刚分割时的节点个数相同,需要对有接触部件的某些节点进行合并。将节点d、e、f、g、b按体积大小排序,使节点体积小的节点和与其有接触部件的节点合并,如果其与多个节点都有接触的部件,则将其合并到体积较小的节点中。由于节点e的体积最小,并且其只与b有接触,所以将节点e合并到节点b中;由于节点f与节点e对称,节点f也同时被合并到节点b中,合并之后得到三个节点,与刚分割时的节点个数相同,停止合并。通过节点的重划分和再合并生成了图7中k=1层的三个节点,它们包含的部件都是相互接触的,说明节点再生成完毕。

fighter1与fighter2层次结构中最后一层的匹配结果如图8所示:

图8中节点索引按照体积大小得到,当索引为0时,代表节点体积最大,替换时将首先被替换。图中1和2,3和4,5和6分别对称,节点替换时对称的节点将被同时替换。fighter1与fighter2模型重组的结果如图9所示:

fighter1与fighter2模型重组之后得到的部分新模型接触不合理,如图9所示的shape1,左、右下羽翼与躯干没有接触。对模型进行部件连接后得到的结果如图10所示,可以看出模型部件间接触良好。

图11为若干模型重组结果实例,重组结果显示本文方法可以较好地实现两个来自同类模型集中模型间的重组,生成的新模型较为合理。

4 结论

本文实现了一种基于部件替换的三维模型生成方法。在形状分析阶段中考虑了单个模型部件间的接触和对称关系,并为每个模型生成一个由粗糙到精细的层次结构;形状匹配过程通过节点中心的位置关系实现节点一对一匹配;部件替换时通过节点体积大小和权重ω来控制新生成的模型形状;对新模型进行部件连接以实现节点间合理接触。由于匹配时仅考虑位置信息,所以本文方法对部分同模型集的模型适用,对一些比较复杂或不同模型集中的模型难以适用,可能会导致重组生成的新模型在结构上不合理。下一步研究将通过增加一些约束条件优化本文算法,使其适用于更多更复杂的模型,使重组后生成的新模型更加合理且更加多样化。

摘要:对给定的两个三维模型进行层次构建与部件替换,生成一系列新颖的模型。首先对模型进行接触分析、对称检测和层次结构生成;然后通过形状匹配确保两个模型生成的层次节点一对一匹配,进而通过部件替换生成若干模型,最后进行部件连接确保模型的接触合理性。实验表明,该方法可以快速生成一系列与原模型在外观上有所不同,但具有类似的对称和邻接结构的新模型。

关键词:层次结构,形状匹配,部件替换,部件连接

参考文献

[1]Funkhouser T,Kazhdan M,Shilane P,et al.Modeling by ex-ample[J].In Proc.SIGGRAPH,2004,23(3):652–663.

[2]Kraevoy V,Julius D,Sheffer A.Shuffler:Model compositionfrom interchangeable components[J].In Proc.Pacific Graphics,2007,129–138.

[3]Chaudhuri S,Koltun V.Data-driven suggestions for creativitysupport in 3d modeling[J]ACM Trans.Graph.,2010,29(6):183–183.

[4]Talton,J.O,Gibson,Yang,L,et al.Exploratory modeling withcollaborative design spaces[Z].ACM Trans.Graph.2009.

[5]Bokeloh M,Wang M,Seidel H.A connection between partialsymmetry and inverse procedural modeling[J].In ACM(Sig-graph),2010,29(4):104:1–104:10.

[6]Xu K,Zheng H,Zhang H,et al.Photo-inspired model-driven3d object modeling[J].ACM Siggraph,2011,30(4):80:1-80:10.

[7]Efros A,Leung T.Texture synthesis by nonparametric sam-pling[J].In Proc.ICCV,2002,2:1033–1038.

模型生成器 篇6

动作分类主要有两大方法, 一类是利用判别模型 (discriminative models) 进行分类, 例如采用支持向量机等方法, 另一类是基于生成模型 (generative models) 进行分类, 例如采用主题模型或隐马尔科夫模型进行分类。作为一种典型的生成模型, 主题模型在计算机视觉领域, 特别是物体识别和分类领域得到成功的运用, 很多研究者结合词袋模型的框架, 利用生成模型来进行动作识别。

这些方法利用主题模型进行分类, 动作的类别直接对应于主题标记。原则上来讲, 判别模型在训练和分类方面, 性能比生成模型好。但是, 生成模型能够提供更多有用的信息, 它能够在视觉特征与模型中的隐变量之间建立直接的联系, 从而能够处理数据丢失以及非监督学习等问题。有一些研究者试图将判别模型和生成模型结合起来进行物体识别。在文献中判别模型和生成模型采用ad-hoc的方式进行结合。在文献中, 作者在生成模型的基础上进行判别模型的学习, 其中背景的后验概率被认为是一个常量。

本文提出了一种新的生成/判别混合模型来进行动作识别。该方案利用Fisher核的方法, 通过主题模型LDA建立训练样本的Fisher核表示, 然后利用核函数训练判别模型进行动作分类。

2 生成/判别混合模型的动作识别

2.1 动作表示

本文仍采用轨迹特征和时空点特征进行动作表示。利用显著点得到动作运动模式的轨迹, 然后对这些运动轨迹提取一些描述子来表示轨迹。这些轨迹反映了动作在较长时间段的信息。同时本文利用了时空兴趣点的方法来捕捉局部运动信息。针对轨迹特征, 提取了三种不同的描述子, 一是用SIFT点的平均特征表示的轨迹点之间的信息, 二是用轨迹的方向和幅值表示的轨迹运动特征, 三是利用傅里叶描述子进行表示的轨迹形状特征。针对时空兴趣点特征, 则采用了3D-SIFT描述子进行表示。在生成/判别混合模型中, 将让这两种特征进行整合, 从而训练一个分类器。轨迹特征能够反映全局的运动信息, 而时空点特征能够反映局部运动信息, 将这两种特征进行组合, 能够有效的提高动作表示的可判别性。

2.2 核方法

对于监督学习的问题, 例如回归或是分类问题, 核方法已经被证明是非常有效的一类方法。本文选择SVM作为基于核的分类器。构建一个有效核的方法是定义一组特征, 然后定义一个核矩阵K (x i, xj) =φT (xi) (xj) 。在这样的判别模型下, 生成模型可以通过定义这些特征来与判别模型进行整合。也就是说, 可以利用生成模型定义核函数, 然后在判别方法中利用这个核。

本文利用LDA模型作为训练Fisher分值的生成模型。原则上, 任意形式的可以进行利用求导进行推断的主题模型均可以利用Fisher核方法计算Fisher分值。本文采用LDA模型作为选定的生成模型。

为了训练一个SVM分类器, 需要计算LDA的Fisher分值。针对LDA模型, 可以利用变分推断的算法计算偏导数变分推断的基本思想是将p (θ, z, w|α, β) 用一个可以进行因式分解的变分概率分布q (θ, z) 来表示, 其中

偏导数实际上可以由变分EM算法计算得到。在完整的贝叶斯形式的LDA生成模型中, Fisher分值的长度为k+V。本文利用完整的贝叶斯LDA作为生成模型来训练SVM。

假定有一组M (j=1, 2, ..., M) 个视频序列, 这些序列由大小为V的词典中的单词构成。每一个视频dj可以表示成Nj个时空单词构成的向量w= (w1, w2, ..., w Nj) , 生成/判别混合模型的训练过程如下:

(1) 计算主题模型的Fisher分值, 这些导数可以从变分EM收敛的结果中得到。这个过程可以看做是生成模型的特征训练过程。

(2) 利用Fisher核方法训练一个基于RBF核的SVM分类器, RBF核的形式如下:

尽管LDA是一个简单的模型, 但它可以很容易的进行扩展。因此, 将那些扩展的生成模型与判别模型进行整合也可以得到新的混合模型。这篇文章提出的构建Fisher分值的方法为那些利用变分方法求解的主题模型与判别模型的组合提供了一种可行的参考。需要强调的是, 基于生成模型来构建核的Fisher核方法, 仅适用于可以利用变分方法求解的主题模型, 那些利用随机方法 (采样) 求解的主题模型并不能很容易的计算出Fisher分值。

3 实验结果与分析

本文在KTH数据库上进行了测试。对KTH数据, 将25个人完成的视频序列分成训练集、验证集和测试集, 其中8个人的动作视频用来进行训练, 另外8个人的视频序列作为验证集进行分类器参数的选择, 其余9个人的视频序列用于测试。混淆矩阵:图1给出了在数据库上的混淆矩阵。可以看出本方法具有较好的识别效果。

由于本文采用基于码书的特征来进行动作表示, 码书的大小影响对识别率有一定的影响。由于主题可以表示每个动作的语义信息, 主题的个数对识别率也有影响。随着参数个数的增加, 识别率成上升趋势。此外, 仅仅使用主题参数的Fisher分值得到的识别率较高, 而使用码书参数得到的Fisher分值较低。这主要是由于每段视频的Fisher分值之间差异不大, 不能有效反映动作类别之间的差异。

4 小结

本文提出了一个新的生成/判别模型来进行动作识别, 这个混合模型首先采用Fisher核的方法, 利用主题模型得到特征的一种映射表示, 然后利用这种映射表示, 实现对SVM的训练。这个混合模型有效的保持了生成模型的优点, 同时提高了判别模型的分类性能。

摘要:生成模型能够处理丢失的数据, 而判别模型一般具有较好的分类性能。本文提出了一种新的生成/判别混合模型来进行动作识别。该方案利用Fisher核的方法, 通过主题模型LDA建立训练样本的Fisher核表示, 然后利用核函数训练判别模型进行动作分类。

关键词:生成模型,判别模型,混合模型,主题模型,Fisher核

参考文献

[1]Holub, A.P., P., A discriminative framework for modelling object classes, in IEEE Conference on Computer Vision and Pattern Recognition, C.Schmid, S.Soatto, and C.Tomasi, Editors.2005, Ieee Computer Soc:Los Alamitos.p.664-671.

[2]Bar-Hillel, A.H., T.Weinshall, D., Object class recognition by boosting a part-based model, in 2005IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Vol 1, Proceedings, C.Schmid, S.Soatto, and C.Tomasi, Editors.2005, Ieee Computer Soc:Los Alamitos.p.702-709.

[3]Blei, D.M.N., A.Y.Jordan, M.I., Latent Dirichlet allocation.Journal of Machine Learning Research, 2003.3 (4-5) :p.993-1022.

[4]Holub, A.D.W., M.Perona, P., Combining generative models and Fisher kernels for object recognition.IEEE International Conference on Computer Vision, 2005.143 (1) :p.136-43

模型生成器 篇7

1. DEM表示与建立方式

一个地区的地表高程的变化可以采用多种方法表达, 用数学定义的表面或点、线、影像都可以用来表示DEM。包括数学方法:一般采用整体拟合方法, 即根据区域所有的高程点数据, 用傅立叶级数和高次多项式拟合统一的地面高程曲面。图形方法: (1) 、线模式:等高线是表示地形最常见的形式, 其地形特征线也是表达地面高程的重要信息源, 如山脊线、谷底线、海岸线等。 (2) 、点模式:用离散采样数据点建立DEM的方法, 可以是规则或不规则的三角网、邻近网模型等。

目前最主要的DEM三种表示模型是:规则格网模型、等高线模型和不规则三角网模型。本文主要采用不规则三角网模型建立DEM。

2. DEM数据采集过程

2.1 VPstudio V9软件中图像处理

采用Geo Way图像纠正软件, 将扫描的图像进行纠正, 通过VPstudio V9软件对地形图进行自动矢量化, 提取高程信息。

在矢量化过程中一定要分层, 这样可以保证数据的正确, 同时也简化了后续的操作。矢量化过程中通常避免使用全自动化的方式, 因为自动矢量化过程中通常将一些线性信息提取错误。这通常使用人机交互的方式进行矢量化。

2.2 Auto CAD软件中数据处理

将矢量化好的数据导入到Auto CAD软件中, 对错误的数据信息进行修改, 同时完善各项属性信息, 建立起正确的数字高程模型所必须的各项数据。由于在GIS系统中数据只存在三种形式:点、线和面, 所以需要在Auto CAD中将矢量化后的数据形式转换为上述的三种形式。

具体方法如下:

点:将各种点状符号删除, 仅留下点并记录相应的属性。同时还需要将展点展出来的圆删掉, 否则, 当数据转入GIS系统中时, 点成为一个面, 会造成GIS系统数据的冗余。

线:将各种线性符号删除, 并记录其属性。然后将矢量化后分散的原本在一起的线条连接起来, 这样可以使数据转换变得简单同时也可以避免大量的数据冗余。

面:将各种面域填充起来并画出其边界线, 组成一个闭合的线条。若有的边界未闭合, 则将其闭合, 同时记录其属性。

2.3 Arc Toolbox转化数据

通过ArcToolbox将AutoCAD中的数据转成GIS数据, 当然要保证AutoCAD数据符合GIS所要求的格式。使用该工具进行转换时一定要分层转换, 这样可以避免属性各数据的混乱, 同时也可以根据分层后的不同数据得到不同的处理结果。在使用ArcToolbox时要注意将所有的过程全部设置成英文, 以免在数据输入时发生加载错误。使用该工具中的Conversion Tools命令中的To Shapefile, 将Auto CAD中的数据转换成为可被Arc GIS识别的shp格式。

2.4 Arc Map中建立数字高程模型

首先用Arc GIS软件加载Auto CAD中的线数据图层, 通过3DAnalyst工具中的Create TINfromfeatures命令, 将等高线数据生成不规则三角格网, 然后再使用Convert命令, 将生成的不规则三角格网转化为栅格, 最后对栅格进行填充, 生成数字高程模型 (如图2) 。由于输入的数据较大, 计算机处理起来较为吃力, 可能会在短时间内对输入的数据没有任何的处理。

3. 对生成DEM的精度分析

3.1 执行规范

我国国家测绘局对1:1万数字高程模型生产技术规定 (暂行本) 对数字高程模型格网附近野外控制点的高程中误差要求见下表。

3.2 实测结果对比

由于DEM数据结果是通过矢量化过程得来的, 其精度并不是绝对的可靠, 我们要对DEM的精度进行评定。实测所用检查点个数为60, 获取方式为在生成的DEM中利用随机加点的方式添加新的点位。因为已知地形图的边界范围, 所以在加点时尽量避开集中加点, 最好让所有的点平均分配在图上的各个部分。这样得到的点不仅分散在试验区内, 同时还是随机分布的, 符合精度评定中对点的要求。当确定好检查点后, 对原始等高线进行放大, 用量距工具确定检查点和相邻两等高线的距离比例, 以此求出检查点的高程, 这些工作均是由人工方法完成的。从数字高程模型的精度要求来说, 这样的线性内插完全合理, 而且我们侧重于精度的比较, 所以内插点的精度可以不作考虑。

根据以上实测数据与内插数据进行计算高程中误差

中误差

最终计算高程点中误差为, 符合表1中国家规范对1:1万数字高程模型中山地一级的精度要求。

3.3 精度分析

采用此方法生成的DEM数据, 根据ley (1986) 提出的 (其中DH表示利用检查点内插出的相应点之间的高差, SD表示计算出的标准偏差) 的指标, 本实验选择60个点作为检查点检验数字高程模型的精度是正确的。

根据国家规范, 在选点的过程中是平均分散在整个数字高程模型之中, 所以在等高线密集和稀疏之处均有大量的点位分布, 检查点的精度能够反映出数字高程模型的精度。经上述方法计算出数字高程模型内插高程点的中误差, 符合国家规范对1:1万数字高程模型中一级山地控制点高程中误差的误差范围要求。所以该精度评定方法是可行的。

4. 结论

基于模型设计的控制程序自动生成 篇8

概述

Simulink PLC Coder生成结构化文本格式源代码,它要通过Simulink模型、Stateflow流程图和MATLAB处理完才能进行,然后使用一种来自工业自动化供应商提供的集成开发环境(IDE)编译后,在PLC或者PAC中运行。而Mathworks合作的第一个自动化供应商就是罗克韦尔自动化公司。

“工业自动化是一个竞争激烈的领域,各公司都不断地寻找创新的方法,开发更为复杂的机电工业系统,”Tony Lennon,MathWorks公司的工业自动化和机械工业经理说道,“我们的客户认识到:带有自动程序生成的模型设计方法是设计和验证这些复杂系统的最佳方案,这种方法涵盖了电气、机械和控制系统范畴。可以使整个设备成功地运行。”

Simulink PLC Coder的功能

使用Simulink PLC Coder,工程师能够完成对工业控制系统自动地生成控制程序,包括回路控制、监视数采等应用。自动程序生成,是基于模型设计的一个集成部分,协助工程师消除传统手动编程方式带来的相关错误,缩短了整个项目的开发和验证时间。

罗克韦尔自动化公司与MathWorks公司的合作

罗克韦尔自动化公司的战略合作经理Jason Weber说:与MathWorks公司的协作,“我们的客户得到了使用模型设计开发PAC应用程序的能力,增强了机械设备的性能。基于模型的设计与我们的虚拟设计和生产战略更加接近和一致,这使得用户的产品能够更快地进入市场,降低工程费用,且生产前能更好地验证设备。”

MathWorks公司的Matlab是一种编程环境,用于算法开发、数据分析、可视化和数字计算。Simulink是一种图形环境,用于多范畴动态、嵌入式系统的模型设计和模拟。这些产品历史上能够生成C语言代码,已经非常广泛地用于与基于PC的控制。增加了结构化文本的程序输出,可以扩展基于模型设计的应用范围,因为控制工程师非常熟悉PLC/PAC产品,比如基于罗克韦尔自动化的ControLogix PLC/PAC控制器和RSLogix编程软件。

Simulink PLC Coder的产品特色

·自动生成IEC 61131-3结构化文本的程序;

·Simulink的支持,包括重用子系统、PID控制功能块和查找表;

·Stateflow的支持,包括图形功能,真值表和状态机;

·嵌入式MATLAB支持,包括if-else声明、循环结构和数学指令;

·支持多种数据类型,包括布尔、整数、列举和浮点,以及向量、矩阵、可变参数;

·IDE支持,包括PLCopen XML,罗克韦尔自动化®RSIogix TM 5000;

·测试结果报告。

使用Simulink PLC Coder生成PLC程序

在Simulink中,你可以用Simulink PLC Coder生成结构化文本,做法如下:用鼠标右键点住一个子系统块,在弹出的菜单命令中选择:PLC Coder>Generate Code for Subsystem选项。在MATLAB中,你可以调用plcgeneratecode命令,创建脚本,自动地、可重复地构建过程生成结构化文本。

支持多达130个Simulink功能块、所有Stateflow的构造和很多嵌入于MATLAB的功能,Simulink PLC Coder可以完全执行你的控制系统模型,包括反馈回路、模式、状态逻辑和数学运算。你可以使用Simulink PLC Coder把离散时间工厂模型转换成结构化文本,用于硬件回路(HIL)测试。作为选择,你可以使用实时车间(Real-Time Workshop®)生成C/C++程序代码用于对离散时间或者连续时间模型的HIL测试。

基于模型设计的发展

嵌入式系统的使用不断地往汽车工业转移。通过使用复杂的、板级的、基于软件的电子控制,这种转移出现了提高性能、增加安全和方便维护的机遇。另外,除了公交车辆工业的转变之外,嵌入式系统的第二波热潮正在商用汽车工业中出现。这里嵌入式系统用于控制液压系统,而以前这要依靠机械控制来完成的功能。在这两个工业中,系统复杂性的增加对传统系统开发流程的能力:满足项目的时限、费用和质量等指标提出了巨大的挑战。为了应对这些挑战,在主要汽车制造商的工程师,正在跳过基于手动编程的系统设计流程,而使用图形模型设计、分析,并用软件决定机械的性能和行为。

使用模型设计可确保了一个最终产品满足系统的要求。模型设计使得不同专家组成的工程团队一起更有效率地工作,工作在设计流程的不同阶段人们可以不断沟通;指出并改正在早期开发流程中的错误;自动生成坚固、高效和高质量的程序。通过软件工具提供商的独特视角,按照基本的法则引领基于模型设计的成功应用是可能的。使用范围可以从相关的特定实践,到自动程序生成,再到必须解决的组织问题。

什么是基于模型的设计?

在基于模型的设计中,开发流程要围绕一个系统模型中心——通过模型提炼出可执行的要求,然后是:设计与模拟、生成与执行、测试与验证。

这个系统模型是一个可执行的规范,规范的描述和使用遍及整个设计流程。可执行的规范还包括了输入和期望的输出或者接受的标准、应用环境,以及与要求的链接和参考。可执行规范的目的能够与设计的目标清晰地沟通,并且允许通过仿真对规范要求进行可行性和兼容性分析。当软件和硬件的执行完成了规范要求,比如固定点和时间行为,程序能够自动生成,通过测试指标可以对系统进行验证,这个流程节省了时间,而且避免了手动错误的发生。

使用了基于模型的设计,工程师能够从以下方面提高效率:

·使用一种公共设计环境,跨越不同的项目团队;

·把设计直接连接到要求;

·设计集成了测试,不断地发现和纠正错误;

·通过多范畴的仿真,改进算法;

·自动生成程序;

·开发和重用测试套件;

·自动生成文件;

·跨越多个处理器和硬件目标,重用设计部署系统。

基于模型设计的使用

公司为什么要采用基于模型的设计?有的情况是,公司是从上到下的管理模式,战略规划需要部署一套公共的工具和流程。有时是,工程师们在大学使用过模型方法,现在要寻找工具解决当今工作中的问题,这样的草根会主动采用这种模型设计方法。还有的时候,基于模型设计是一种实用的技术,有广泛的用途,比如:六西格码或者系统工程。不管什么推动力促进了基于模型的设计,这种努力应该是持续的,因为公司能够看到回报。回报来自于以下不同的方面:

·获得了效率,比如减少了完成整个项目所需的时间;

·加快了产品进入市场的速度;

·提高了产品的质量;

·降低了对物理原型的依赖。

此外,当工程师们有了合手的工具,工作起来常常会有更多的乐趣。

上一篇:新见解下一篇:直接免疫荧光法