文章快速检索     高级检索
  浙江大学学报(工学版)  2018, Vol. 52 Issue (3): 461-472  DOI:10.3785/j.issn.1008-973X.2018.03.007
0

引用本文 [复制中英文]

张欣蔚, 王进, 陆国栋, 费少梅, 张东亮. 基于本体和形状文法的图案构形提取与重用[J]. 浙江大学学报(工学版), 2018, 52(3): 461-472.
dx.doi.org/10.3785/j.issn.1008-973X.2018.03.007
[复制中文]
ZHANG Xin-wei, WANG Jin, LU Guo-dong, FEI Shao-mei, ZHANG Dong-liang. Extraction and reuse of pattern configuration based on ontology and shape grammar[J]. Journal of Zhejiang University(Engineering Science), 2018, 52(3): 461-472.
dx.doi.org/10.3785/j.issn.1008-973X.2018.03.007
[复制英文]

基金项目

国家自然科学基金资助项目(51775492,51275460,61472355)

作者简介

作者简介:张欣蔚(1992-), 男, 博士生, 从事CAD/CG研究.
orcid.org/0000-0003-2249-5502.
Email: hermanncain@zju.edu.cn

通信联系人

王进, 男, 副教授.
orcid.org/0000-0003-3106-021X.
Email: dwjcom@zju.edu.cn

文章历史

收稿日期:2016-10-29
基于本体和形状文法的图案构形提取与重用
张欣蔚1, 王进1, 陆国栋1, 费少梅1, 张东亮2     
1. 浙江大学 流体动力与机电系统国家重点实验室, 浙江 杭州 310027;
2. 浙江大学 国际设计研究院, 浙江 杭州 310027
摘要: 定义构形和图元、子图案、图案的概念;建立图案的层次表达模型以描述图案结构,建立图案本体模型以明确图案属性关系;模拟自然语言的语法结构以建立适用于形式化表达图案构形的改进形状文法,并基于该文法给出手动和自动提取构形的方法;提出构形规则重用方法,使用本体约束消除轮廓重叠,并给出基于层次表达模型的子图案组合重用设计与基于构形规则编码参数的图案渐变设计方法,使重用结果更加丰富.实验证明,所提出的方法能够有效地提取和重用图案的构形,实现复杂图案的快速设计.
关键词: 形状文法    本体论    构形规则    构形重用    图案设计    
Extraction and reuse of pattern configuration based on ontology and shape grammar
ZHANG Xin-wei1 , WANG Jin1 , LU Guo-dong1 , FEI Shao-mei1 , ZHANG Dong-liang2     
1. State Key Laboratory of Fluid Power and Mechatronic Systems, Zhejiang University, Hangzhou 310027, China;
2. International Design Institute, Zhejiang University, Hangzhou 310027, China
Abstract: Concepts of configuration, pattern element, child-pattern and pattern were defined. The hierarchical expression model was built to describe pattern's construction and the ontology model was built to specify the relationship of pattern's attributes. Improved shape grammar was designed to express pattern configuration based on the imitation of natural language, and related manual/auto extracting methods were proposed. The reusing method was given in which ontological strains were used to avoid contour-overlapping. Combinational reusing design based on hierarchical expression model and gradual reusing design based on configuration rule parameters were demonstrated, bringing diversity to reusing results. According to experiments, these methods can extract and reuse pattern configuration effectively, so that rapid design of complex pattern can be achieved.
Key words: shape grammar    ontology    configuration rules    configuration reuse    pattern design    

在计算机辅助工业设计中, 陶瓷、刺绣等工艺品的图案设计是一项费时费力的工作.图案的构形是图案元素之间的排布关系[1], 轮廓按照构形构成图案.设计师往往通过自己的设计经验进行绘制, 受个人水平制约并且效率低下.一些设计软件虽然提供了图案元素以减少设计师绘制轮廓的工作量, 但图案的构形仍然需要设计师手工完成, 且难以重用.业界仍然缺少针对图案构形进行快速设计和重用的方法和工具, 难以满足工艺品种类繁多的设计需求.

形状文法[2]是一种常用的图案设计方法, 最初应用于建筑设计, 后广泛扩展到工业设计领域[3].陈满儒等[4]将形状文法和感性工学结合用于驱动智能手表外形设计.Lee等[5]将形状文法和遗传算法结合对设计结果进行求解.王伟伟等[6]提出了产品概念设计的形状推演模型.但这些研究仍然只是局限于轮廓线的变化.薛梅等[7]根据形状文法设计了脚本式的建筑三维模型设计系统.Cui等[8]基于形状文法提出了动态形状表示法, 扩展了形状文法的理论, 进一步丰富了文法规则形式.建筑、机械等行业的图案多为标准化的参数化图形构成, 文法规则的规模小, 易于构造.但工艺品等艺术设计领域图形较难参数化, 因此使用形状文法进行设计的研究较少.Sayed等[9]使用参数化的形状文法设计伊斯兰几何图案.Cui等[10]则提出分层形状文法的概念用于壮族刺绣图案的创成式设计.对于艺术类的图案设计而言, 传统的形状文法抽象程度低, 缺少对图案构形的描述,难以满足快速设计的重用和转移需求.

本体最初是哲学领域的概念, 后来被信息技术汲取, 在信息检索和知识工程中用于描述知识系统结构[11].在图像处理中语义本体也常常用于图像的分类和识别.钟艳如等[12]在三维计算机辅助设计模型的相似度计算中使用了本体.潘翔等[13]使用语义本体对动画模型分割进行了研究.Francois等[14]探讨了形状文法和本体模型之间的信息流交互问题.使用本体模型可以较好描述和标记元素的概念和关系, 为自动推理提供了可能.

本文基于本体的思想提出了图案的层次表达模型和本体模型, 并将形状文法作相应的改造融入其中, 实现了对图案构形规则的形式化描述, 提出了图案构形规则的提取和重用方法, 有助于满足复杂图案系列化、多样化的设计需求.

1 基于本体的图案构形描述 1.1 构形和图元的定义

构形最早是建筑学空间句法中的概念, 用于表达元素的关系.建筑学中常用关系图解直观描述构形, 并进一步地发展出了定量的描述方式[15].但对于艺术图案的构形则难以使用建筑学的理论描述.对一幅图案, 观察者能够用语言描述出图案中元素之间的关系, 如图 1(a)所示的图案, 观察者会给出类似“4个火焰环绕1朵花”的自然语言描述.其中“4个”、“环绕”、“1朵”等词汇描述了图案中元素的排布规律, 这种规律的形式化表达即为构形.即使是相同的轮廓, 在不同的构形下也会产生不同的观感, 如图 1(b)(c)所示.图案的疏密、层次等多种观感均受构形支配.

图 1 图案构形及由相同元素构成的不同图案的观感 Fig. 1 Pattern configuration and different impressions of pattern constructed by same elements

1) 定义轮廓c为一系列点组成的一条封闭曲线:c=[p1p2,…,pn];

2)定义图元e为有限个轮廓组成的复合轮廓:e={c1, c2, …, cm};

3) 定义构形k为有限个图形变换组成的序列:k=[τ1τ2,…,τr], 这里的变换包括但不仅限于基本图形变换.

例如, 图 1(a)中有5个轮廓, 但图元可以有很多种.可以将4个“火焰”看作一个图元, 将“花”看作一个图元, 此时图 1(a)有2个图元;也可以将4个“火焰”看作4个图元, 则图 1(a)一共有5个图元.图元是组成图案的基本图形单元, 也是图形变换作用的最小对象.为了更加详细地描述图案中的层次关系, 提出图案的层次表达模型.

1.2 图案的层次表达模型

对图元应用构形规则, 就可以得到子图案的概念, 进而反递归得到图案的概念:

1) 定义子图案u是有限个图元按照构形组成的结构, u={〈e1, k1〉, 〈e2, k2〉, …, 〈en, kn〉};

2) 定义子图案u也可以是有限个子图案{uC1, uC2, …, uCn}, 按照构形组成的结构, u={〈uC1, kC1〉, 〈uC2, kC2〉, …, 〈uCn, kCn〉};

显然, 子图案的定义是递归的.递归的起点就是整幅图案, 递归的终点是图元.图案可以由其包含的所有图元反递归得到, 从而整个图案可以表达为一种树状结构, 称为图案的层次表达模型, 如图 2(b)所示, 根节点是整个图案, 其他节点为子图案, 其中叶节点的子图案为图元.这种抽象模型将图案中轮廓的拓扑和层次信息进行了组织和表达, 同时符合人类对图案认知的规律.

图 2 图案的层次表达模型示例 Fig. 2 Example of pattern's hierarchical expression model
1.3 子图案本体模型

图案的层次表达模型由子图案组成, 子图案包括了图元和构形.为了能够形式化地将这种抽象层次模型和子图案内的图元和构形信息表达出来, 建立推理机制, 需要设计一种细化的结构来组织子图案的信息.根据子图案和构形的定义, 基于本体理论, 构造子图案本体模型,如图 3所示.

图 3 面向图案构形的子图案本体模型 Fig. 3 Pattern configuration-oriented ontology model of child-pattern

1) 一个子图案对象u由“几何”、“标记”和“构形”定义;

2) 其中几何节点P代表子图案u的基本信息, 包括点数据、面积、最小包围矩形面积、长轴方向等用于描述形状几何特征的信息, 支持扩展;

3) 标记节点Q包含了子图案的层次ID、名称等用于标记的信息, 支持扩展;

4) 构形节点K代表子图案的构形信息, 是构形k的集合.k中的变换包括但不仅限于平移、旋转、缩放、镜像等变换操作, 并且同样支持扩展.

图案的层次表达模型和子图案本体模型分别从宏观和微观的角度实现了对图案及构形的描述, 从而为后续的提取和重用创造了条件.这些抽象模型可以依照使用者制定的不同的分层或者分组标准、差异化的尺度环境以及自定义的描述符号, 在不同情况下衍生出不同的表现形式并构建出互相转化和通信的机制, 可以广泛使用在陶瓷、刺绣服装等图案设计领域.

2 基于形状文法的图案构形规则编码 2.1 形状文法基本定义

形状文法是四元组G=〈S, L, R, I〉, 其中S为形状的有限集合, L为标号的有限集合, 〈S, L+为非空的标号、形状集, 〈S, L*为所有的标号、形状集, R为规则r的有限集合, I为初始形状且I∈〈S, L+.

规则rαβ是文法的产生式, 其中前驱α∈〈S, L+, 后继β∈〈S, L*.某条规则r的应用过程如下:

1) 子形状检测.在初始形状I中寻找α的相似形状τ(α), 其中τ表示基本变换;

2) 替换.按照规则rI中的τ(α)替换为τ(β):I-τ(α)+τ(β).

图 4所示, 规则1为将带标号的方形替换为嵌套方形, 内部方形带标号;规则2为将带标号的方形替换为不带标号的方形, 实际上是作为了规则1应用的终点.对初始图形使用2次规则1和1次规则2, 产生了最后3层嵌套的方形图案.

图 4 传统形状文法的图形生成过程 Fig. 4 Pattern generation process of traditional shape grammar
2.2 面向构形提取的规则编码

传统的形状文法虽然在图形演化上有很大优势, 但都是具体的形状, 因此文法的抽象程度低.如图 5(a)所示, 如果平移的参数发生变化, 就必须使用全新的规则才能实现, 而1条规则就包含2个图形, 规则的制作时间、规则所占用的存储空间就会迅速增加;图 5(b)则表现了规则重用性差的特点.为了解决这2个问题, 需要对形状文法进行改进.

图 5 形状文法抽象程度低且重用性差 Fig. 5 Shape grammar with poor abstraction and reusability

在传统形状文法中, 构形主要是由图形变换τ决定的, 而τ是抽象的操作, 并不依赖于具体形状.因此不妨将形状文法对形状的关注转移到对变换的关注上来, 用字符串将构形k转为“构形规则”.变换τ实际上是一种“谓词”, 为了完成一个句子, 还需要变换的对象, 即名词, 更加复杂的句子还需要连词来建构.定义这3种句子成分的编码形式为[单词参数列], 单词是词性和含义的标志, 参数列可以解决图 5(a)的问题.各单词及参数和解释如表 1所示.开发人员可使用表中单词构造新的构形变换及其编码, 对谓词进行扩展.

表 1 构形规则编码单词表 Table 1 Wordlist of configuration rules encoding
2.3 基于仿自然语言的改进形状文法

基于如表 1所示的单词表W, 给出以下仿自然语言语法的改进形状文法:

1) 简单句(只有1个名词主语)形式如下:名词+有限个谓词(可以是0个);

2) 复合句由多个简单句构成, 分为并列句和主语从句;

3) 并列句为多个简单句的并列;

4) 主语从句中的从句使用连词放置在主句的主语之后.

进一步地, 给出改进形状文法的形式化定义:改进形状文法是描述图案构形的四元组H=〈W, I′, T′, R′〉, 其本质是字符串重写系统.其中W为单词表, 即表 1中所有单词;I′={U, U\rU, U\rU\rU, …}为初始符的集合, 初始符可能是其中的任何一个元素;T′={′U′, ′}′, v|vV}为终结符的集合, 终结符可以是名词’U’、连词’}’或任何谓词集合V中的单词vR′为产生式规则, 所包含的具体规则类型如下:

1) 谓词文法U→U\rV*, 即任意种类和数量的谓词组成的序列, 接在名词下一行;

2) 并列文法U→U\rU, 即并列句各占1行;

3) 从句文法U→U\r{\r__U\r}, 即从句使用连词括起跟在主句主语的下一行, 且从句比主句多缩进2字符.

此文法机制中只有单词本身是产生式规则重写的对象, 单词的参数列不参与字符串重写过程.

改进形状文法将构形从具体形状中分离了出来, 使用纯字符串来描述构形规则, 具有很高的抽象性, 这是重用的基础.基于改进形状文法的产生式构造出构形规则的过程如图 6所示.

图 6 基于改进形状文法的构形规则编码过程 Fig. 6 Encoding process of configuration rules based on improved shape grammar

规则r3的解析过程如图 7所示.可见实现和图 4相同的效果, 使用改进形状文法时, r3大小仅为49字节, 不需要子形状检测;而使用传统形状文法则需要r1r2两条规则, 即使规则中的4个图形是矢量, 大小也超过了300字节, 而且需要进行复杂的子形状检测过程[16].

图 7 基于改进形状文法的构形规则解析过程 Fig. 7 Decoding process of configuration rules based on improved shape grammar
3 改进形状文法的图案构形提取方法 3.1 手动提取方法

用户交互式手动提取规则是自底向上构造层次表达模型和规则编码的过程, 步骤如下.

1) 选择子图案.手动选取一个或多个轮廓, 将之作为子图案u1, 如图 8(a)的U11、U2以及图 8(b)的U1、U21、U31的选择过程;

图 8 手动提取构形规则得到的不同结果 Fig. 8 Different results obtained by manual ruleextraction

2) 构造层次.用户根据自己的判断, 如果u1唯一存在, 则自身即为父图案u, 进入4);否则说明有相似子图案, 依次选取相似子图案u2, …, un, 将u1~un作为子图案组成父图案u, 自底向上构造层次表达模型, 如图 8(a)的U11到U1, 图 8(b)的U21到U2、U31到U3的构造过程;

3) 选择编码.用户选择构形规则形式, 如圆周阵列等, 系统计算构形规则相应的谓词及参数, 使用谓词文法和上溯文法构造编码, 并计算本体信息, 标记父图案u和子图案样本u1, 其中子图案u1xy参数为其在父图案u中的局部坐标;

4) 重复步骤2)~4), 直到用户将图案中所有想要提取规则的子图案都编码完毕后, 选择退出规则提取模式, 形成整个图案的构形规则.

同一个图案因用户对图案层次区分的认知和操作的差异, 得到不同的手动提取结果, 如图 8所示.

3.2 自动提取方法

当图案中相似轮廓的数量很多时, 如图 9(a)外围, 用户手动提取规则需要进行大量的操作;在少数情况下图案中的轮廓有集群分布时, 如图 9(a)中间轮廓集聚成3个群组, 为了提取出集群的层次关系, 用户也只能逐个编码.这都使提取工作变得费时费力, 因此需要使用图案构形规则的自动提取方法, 对轮廓进行分类并自动编码, 以减少人工操作.对轮廓分类从两个维度上考虑:相似和距离.相似轮廓往往存在阵列特征, 距离则造成明显的集群观感或具有特殊意义.

图 9 基于Hu矩匹配的轮廓相似性聚类 Fig. 9 Classification of contours' similarities based on Hu moment matching

基于以上的考虑, 自动提取有3个主要过程.

1) 基于Hu矩匹配的轮廓相似性聚类.

相似形往往存在阵列变换, 因此需要使用Hu矩匹配首先将相似形分离;Hu矩[17]是常用的相似图像匹配方法.设轮廓A和轮廓B的Hu矩分别为h1~h7, 定义

$ \begin{array}{*{20}{c}} {m_i^A = {\rm{sign}}\left( {h_i^A} \right)\log \left| {h_i^A} \right|, }\\ {m_i^B = {\rm{sign}}\left( {h_i^B} \right)\log \left| {h_i^B} \right|, } \end{array} $

则2个轮廓差异性的计算函数为

$ I\left( {A, B} \right) = \sum\limits_{i = 1}^7 {\left| {\frac{1}{{m_i^A}}-\frac{1}{{m_i^B}}} \right|} . $

理论上当时2个轮廓相似, 应该归入一类.因为图案为从图片中提取轮廓获得, 存在少量的变形, 经过测试发现I(A, B) < 0.03可以将绝大多数相似轮廓识别出.这样就可以首先将轮廓中的相似轮廓分离出来, 形成l个相似轮廓类F1, F2, …, Fl, 剩下的轮廓归入不相似轮廓类D.对F1, F2, …, Fl可以进行一系列参数计算和判断将之编码为阵列等各种构形规则, 这里不再赘述.相似性聚类的过程如图 9所示.经过Hu矩匹配计算之后, 图 9(b)所示的外圈和图 9(c)所示内部的火焰轮廓分离开来.

2) 基于凝聚层次的集群轮廓聚类.

有些轮廓虽然不相似, 但在空间上临近, 它们往往在视觉、隐喻上共同构成一个子图案, 因此需要从剩下的非相似轮廓中将集群的轮廓分离;集群往往和形状有关, 因此不能简单地使用轮廓的中心距离, 而是应该用边缘最小距离来衡量.设两个非相似轮廓MN上的点分别为piqj, 点数量分别为mn, 则轮廓MN边缘最小距离:

$ {d_{MN}} = \min \left\{ {\sqrt {{{\left( {{p_i}, x-{q_j}, x} \right)}^2} + {{\left( {{p_i}, y-{q_j}, y} \right)}^2}} } \right\}. $

使用凝聚层次聚类方法对D中的轮廓按照最小边缘距离进行分类, 得到f个集群轮廓类J1, J2…, Jfg个彼此独立的轮廓类O1, O2, …, Og.然后根据相似和集群的分类结果构造层次表达模型, 如图 10所示.

图 10 集群聚类之后的结果及整个图案的层次表达模型 Fig. 10 Results and hierarchical expression model of pattern after flock classification

3) 基于改进形状文法的规则自动编码.

对相似轮廓和集群轮廓进行规则构建和编码.步骤如下所示:

1) 构造初始符.首先根据得到的层次表达模型, 根据第1层的n个子图案用单词’U’构造包含n个单词的初始符’U…U’, 计算各单词的参数;

2) 构造相似类从句.对每个相似轮廓类对应的U使用连词和从句文法, 将之变为形如U{U}的形式, 主句的U是所有相似轮廓的集合, 从句中的U是集合中所有相似形的基准轮廓.如果相似形构成的不是内置的几种阵列变换, 则使用拷贝体描述其他相似轮廓, 否则不作变化.经过上述步骤, 语句进一步演化为U{UU…U}的形式, 从句中第一个U为基准轮廓, 从句中其他各U对应剩余相似轮廓.然后使用谓词文法变为U{U…v}的形式, 计算参数;

3) 构造凝聚类从句.对每个凝聚轮廓类对应的U使用连词和从句文法, 将之变为形如U{U…U}的形式, 从句中的每个U对应该类中的一个轮廓, 计算参数(同样为局部坐标);

4) 检查字符串结尾是否是终结符, 是则完成编码, 计算本体信息写入文件, 完成自动提取过程, 否则提示错误信息.

使用图 10中得到的层次表达模型构造规则编码的过程如图 11所示.

图 11 构形规则自动编码过程示意图 Fig. 11 Example of configuration rules' auto-encoding process

自动提取方法对于拥有多个轮廓的子图案之间的相似性判断不易实现, 最终提取的规则层次不会超过2层, 在复杂图案的构形规则提取存在一定的局限.不过除了分形图案之外, 大多数图案的层次一般不会超过2层, 因此自动提取的方法仍然具有较强实用性.

4 构形规则重用演化的图案创意设计 4.1 构形规则重用的基本方法

图案的构形实际上是子图案在图案中分布的模板.将一幅图案的构形规则提取出之后, 使用设计师新绘制或从图案库中选择的若干图案作为子图案填入该模板, 即可生成新的图案.规则重用的步骤如下:

1) 选择子图案和规则.用户从图元库中选择要填入的子图案(如图 12的子图案A), 从规则库中选择要重用的构形规则(图 12原图案的构形规则r5).

图 12 不需要重叠消除的重用过程 Fig. 12 Reusing process with no need for overlappingelimination

2) 子图案预变换.基于子图案和规则的本体信息, 对填入的子图案先进行缩放和旋转操作, 使预变换后子图案的最小包围矩形面积、长轴方向与规则的本体信息中对应的相同.如图 12中通过预变换将A旋转和缩放, 使之最小包围矩形面积以及倾斜方向和U1相同, 得到B的形式.

3) 构形变换.如图 12, 解析构形规则r5的编码, 对子图案B进行变换, 得到初步结果.

4) 重叠消除.检测轮廓重叠情况, 如果没有重叠, 直接得到结果图案(如图 12的重用结果), 否则缩小重叠的轮廓, 以去除重叠, 得到结果图案.

5) 局部修改.用户对结果图案进行局部的修改, 得到满意结果.

轮廓的重叠检测即点在多边形内外检测, 这里不再赘述.消除重叠的步骤如下:

1) 检测出所有重叠的轮廓, 得到重叠的轮廓序列C′=[c1c2,…,cn], 设对应的最小包围矩形面积为A0=[a1a2,…,an];

2) 对序列中的所有轮廓执行缩放操作, 使得Ai=0.9iA0, 如果轮廓序列中有阵列单元, 则阵列的所有单元都要作同样的变换;

3) 重叠检测, 从序列中去掉不再和其他轮廓有重叠的轮廓;

4) 重复2)~3), 直到结果中没有轮廓重叠为止.

例如, 对3.2节中自动提取出的规则进行重用, 从图案库中选择图案后, 只进行预变换的结果如图 13(a)所示, 重叠很多(实线圆圈标出);进行了重叠消除之后的结果如图 13(b)所示, 形成了较好的图案, 设计师进行局部的微调后上色, 得到刺绣图案的设计, 如图 13(c)所示.

图 13 规则重用过程的重叠消除效果 Fig. 13 Effects of overlapping elimination in rules' reusing process
图 14 基于层次表达模型的子图案组合重用 Fig. 14 Child-pattern combinational reusing based on hierarchical expression model
4.2 基于层次表达模型的子图案组合重用设计

在规则重用的过程中, 将子图案填入层次表达模型的不同节点会得到不同结果.子节点的优先级低于父节点, 因此如果被填入的节点有子节点, 会首先清空子节点.将从图案库中选出的子图案填入层次表达模型, 设子图案集为Uf={u1, u2, …, um}, 层次表达模型中选择出的节点按照深度优先排序代表的子图案序列为γ=[u1, u2, …, un], mn, 从Uf中选出的按顺序填入目标层次表达模型节点的子图案序列为γ=[u1, u2, …, un], u′iUf, 如果允许子图案重复使用, 则可以得到mn个结果, 不重复使用可以得到m!个结果.如图 15中虚线所示为用户从提取出的层次表达模型中选择的3个节点u1, u2, u3, 然后从图元库中选择ABC三个子图案用来填入, 此时m=n=3, 不重复使用可以获得3!=6种γ′及结果.

图 15 基于带权均方误差的组合优化筛选 Fig. 15 Combinational optimization filtering based on weighted mean squared error (WMSE)

当节点数量很多时备选结果呈排列数(重复使用时为指数)上升, 若生成所有的结果图案需要大量计算时间并且带来过多的选择.为了减少和辅助用户选择, 给出基于带权均方误差(weighted mean squared error, WMSE)的组合优化筛选方法.子图案最小包围矩形的高宽比η=h/w(以下简称高宽比)能够描述该子图案的大致外形信息(规定w>h).如果子图案填入与之η差别较大的节点, 会出现较多空白.设ui的高宽比为ηi, u′i的高宽比为η′i, 不重复使用子图案的筛选步骤如下所示:

1) 获取样本空间.对所有可能的子图案序列γ′=[u′1, u2, …, u′n], (u′iUf)进行全排列, 得到Amnγ′.如图 15(a)的图形, 其层次表达模型如图 16(a)所示, 将图 16(b)所示的8个子图案填到虚线框所标示的8个叶节点中, 一共可以生成8!=40 320个γ′;

图 16 基于构形规则编码参数的图案渐变设计示例 Fig. 16 Examples of gradual design based on configuration rules' encoding parameters

2) 计算评价值.计算各γ′整体高宽比的带权均方误差, 然后升序排序:

$ \lambda \left( {\mathit{\boldsymbol{\gamma '}}} \right) = \frac{1}{n}{w_i}\sum\limits_{i = 1}^n {{{\left( {{{\eta '}_i}-{\eta _i}} \right)}^2}, } $

其中,

$ {w_i} = \frac{{1-\alpha _i^{-1}}}{{\sum\limits_{i = 1}^n {\alpha _i^{-1}} }}, $

ai为子图案ui的最小包围矩形面积, 为了使大子图案多变化, 小子图案少变化, 因此权重的构建采用了面积的倒数.λ(γ′)越小, 则按照γ′填入的子图案对节点的契合程度越好;

3) 图案生成.选择前6个最小λ(γ′), 将对应的6个γ′生成6个图案, 供用户选择, 如图 16(c)所示.

4.3 基于构形规则编码参数的交互式图案渐变设计

构形规则的具体参数体现在规则编码中谓词的参数列上, 可以对重用结果所基于的规则中的谓词进行参数渐变, 使重用结果发生渐变演化, 形成同“族”的结果.方法主要用在存在阵列的构形规则中.一个谓词有多个参数, 每个参数取值范围很大, 将参数取值所有可能组合的结果生成是不现实的, 这里提出一种使用正交试验确定参数组合、使用二分法交互式确定参数取值的方法:

1) 参数选择.用户对一次渐变设计选择n个参数(为限制计算量, 规定n < 11), 如图 16(b)所示, 选择2个CLAR谓词共4个参数;

2) 范围确定.用户指定或根据谓词获取各参数取值范围.如谓词CLAR的参数n∈3~9, θ∈20~70(θ为从动参数, 故实际取值由n决定);

3) 正交组合.每个参数取范围内的极大、极小值作为2个水平, 以能满足L(2n)的正交表中的组合为基础, 生成各参数取值的组合.对于4个参数, 使用L8(27)正交表, 各试验点的参数取值如图 16(c)中的表格所示;

4) 生成图案.对各试验点生成结果图案, 如图 16(c)所示, 限于篇幅, 这里展示8个结果中的2个;

5) 二分筛选.用户选择一个接近期望的图案(如图 16(c)中虚线所选), 系统对之前各参数取值进行二分, 以用户所选结果的参数值落入的区间作为新的取值范围, 重复1)~5), 直到用户停止区间选择或不能再二分为止.图 16(d)展示了第2次渐变结果.图 16(e)展示了使用此方法设计陶罐草图的过程.

渐变中产生的众多图案可以直接作为结果, 形成系列化设计, 也可以帮助用户了解图案随参数变化的过程, 从而自行指定参数取值, 精准地得到某个期望结果.

在Windows 7系统下搭建复杂图案设计系统对图案构形提取及转移方法进行实现, 具有轮廓提取、构形提取、图元库与规则库管理、图案生成与修改等功能, 其中轮廓使用OpenCV库中的方法提取, 不再赘述.图 17展示了使用该系统设计出的图案用于陶瓷、刺绣等多种工业产品图案设计的案例.

图 17 基于本体与形状文法的产品图案设计案例 Fig. 17 Design examples of products' pattern based on ontology and shape grammar
5 结论

(1) 定义了构形和图案的概念, 提出了图案的层次表达模型和本体模型, 使图案中元素的层次得以表达, 能够详细描述图案属性, 具有抽象性强、扩展性好的优点.

(2) 提出了改进形状文法的概念.该文法模拟自然语言的结构, 创新性地使用名词和谓词形式化编码构形规则, 解决了传统形状文法不能很好描述构形的问题, 且规则所占空间小.

(3) 提出了基于改进形状文法的构形规则提取算法, 有手动和自动2种实现形式, 其中自动提取算法基于相似聚类和距离聚类, 能够将图案中的构形提取成规则, 简单快速.

(4) 提出了构形规则重用的方法, 通过本体属性的约束消除轮廓重叠.进一步提出组合和渐变2种重用设计方法, 前者使用带权均方误差减小子图案的组合优化解空间, 后者使用正交试验和二分法交互式快速获得渐变结果, 具有高效、准确的优点.

本文的研究工作还有很多有待改进的地方, 暂时无法提取分形图案, 重用算法效率还有提升空间;将来需要制定规则运算法则, 将构形规则的建构过程提升到更抽象的层面.

参考文献
[1]
HILLER B. Space is the machine:a configurationaltheory of architecture[J]. Journal of Urban Design, 1996(3): 333-335.
[2]
STINY G. Introduction to shape and shape grammars[J]. Environment and Planning B, 1980(7): 343-351.
[3]
KNIGHT T, STINY G. Making grammars:from computing with shapes to computing with things[J]. Design Studies, 2015(41): 8-28.
[4]
陈满儒, 李阁, 王伟伟. 基于感性工学和形状文法的智能手表造型设计研究[J]. 机械设计与制造工程, 2016, 45(11): 82-85.
CHEN Man-ru, LI Ge, WANG Wei-wei. Modelingdesign of smart watches based on kansei engineering and shape grammar[J]. Machine Design and Manufacturing Engineering, 2016, 45(11): 82-85. DOI:10.3969/j.issn.2095-509X.2016.11.017
[5]
LEE H C, TANG M X. Generating stylistically consistent product form designs using interactive evolutionary parametric shape grammars[C]//2006 International Conference on Computer-Aided Industrial Design and Conceptual Design. Hangzhou: IEEE. 2006: 1-6. http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=4127160
[6]
王伟伟, 杨延璞, 杨晓燕, 等. 基于形状文法的产品形态创新设计研究与实践[J]. 图学学报, 2014, 35(1): 68-73.
WANG Wei-wei, YANG Yan-pu, YANG Xiao-yan, et al. Method of product form design based on shape grammar[J]. Journal of Graphics, 2014, 35(1): 68-73.
[7]
薛梅. 一种基于形状文法的建筑物三维建模新方法[J]. 地理与地理信息科学, 2012, 28(6): 31-34.
XUE Mei. A shape grammar based method for 3D building modeling[J]. Geography and Geo-Information Science, 2012, 28(6): 31-34.
[8]
CUI J, TANG M X. Representing 3D shape grammars in a generative product design system[C]//2012 International Conference on Design Computing and Cognition. Texas: Springer. 2012: 377-392. http://link.springer.com/content/pdf/10.1007/978-94-017-9112-0_21.pdf
[9]
SAYED Z, UGAIL H, PALMER I, et al. Parameterized shape grammar for generating n-fold Islamic geometric motifs[C]//2016 International Conference on Cyberworlds. Chongqing: IEEE, 2016: 79-85.
[10]
CUI J, TANG M X. Integrating shape grammars into a generative system for Zhuang ethnic[J]. Computer-Aided Design, 2013, 45(3): 591-604. DOI:10.1016/j.cad.2012.08.002
[11]
杨月华, 杜军平, 平源. 基于本体的智能信息检索系统[J]. 软件学报, 2015, 26(7): 1675-1687.
YANG Yue-hua, DU Jun-ping, PING Yuan. Ontology-based intelligent information retrieval system[J]. Journal of Software, 2015, 26(7): 1675-1687.
[12]
钟艳如, 梁毅芳, 许本胜, 等. 基于网络本体语言的三维计算机辅助设计主模型相似性计算方法[J]. 计算机应用, 2016, 36(6): 1599-1604.
ZHONG Yan-ru, LIANG Yi-fang, XU Ben-sheng, et al. Similarity measure method for 3D CAD master model based on Web ontology language[J]. Journal of Computer Applications, 2016, 36(6): 1599-1604. DOI:10.11772/j.issn.1001-9081.2016.06.1599
[13]
潘翔, 童伟淮, 张三元, 等. 结合语义本体与泊松方程的动画角色模型分割[J]. 浙江大学学报:工学版, 2015, 49(9): 1634-1641.
PAN Xiang, TONG Wei-huai, ZHANG San-yuan, et al. Segmentation of animation character model by combining semantic ontology and Poisson equation[J]. Journal of Zhejiang University:Engineering Science, 2015, 49(9): 1634-1641.
[14]
GROBLER F, AKSAMIJA A, KIM H, et al. Ontologies and shape grammars:communication between knowledge-based and generative systems[M]. .
[15]
张晓瑞, 程志刚, 白艳. 空间句法研究进展与展望[J]. 地理与地理信息科学, 2014, 30(3): 82-87.
ZHANG Xiao-rui, CHENG Zhi-gang, BAI Yang. Review and prospect of space syntax[J]. Geography and Geo-Information Science, 2014, 30(3): 82-87.
[16]
KRISHNAMURTI R. The construction of shapes[J]. Environment and Planning B:Planning and Design, 1981, 8(1): 5-40. DOI:10.1068/b080005
[17]
YU X, FEI X N. Target image matching algorithm based on pyramid model and higher moments[J]. Journal of Computational Science, 2017(21): 189-194.