计算机研究与发展
JOURNAL OF COMPUTER RESEARCH AND DEVELOPMENT
1999年 第36卷 第5期 Vol.36 No.5 1999



图案设计中形象思维模拟的研究
简正三　李海龙　潘云鹤
摘　要　ICAD领域内的设计类问题不但涉及到人类的抽象思维，更充分体现了人类的形象思维.这类问题涉及到了联想、直觉、灵感等形象知识，是人类智能更本质的内容.传统人工智能方法在处理此类问题时已经力不从心，文中在总结视觉心理学实验结果的基础上，提出了一种基于内容的构图知识表达方法，同时给出了一种知识推理模型，该模型利用了二维空间矩阵的概念，在图案设计领域中对人类形象思维的模拟进行了研究，并在“敦煌风格图案创作系统”实现了原型系统，得出了一些有意义的结论.
关键词　ICAD，图案设计，知识推理，形象思维，二维空间矩阵
中图法分类号　TP391； TP18
SIMULATION OF THINKING IN IMAGES IN PATTERN DESIGN
JIAN Zheng-San, LI Hai-Long, and PAN Yun-He
(Institute of Artificial Intelligence, Zhejiang University, Hangzhou　310027)
(State Key Laboratory of CAD & CG,Zhejiang University, Hangzhou　310027)
Abstract　Problems about design in the ICAD field fully embody human's thinking in images as well as the use of mental knowledge such as association, instinct, and inspiration. Traditional AI methods are unable to solve those problems perfectly. As a result of studying several visual psychology's experiments, a reasoning model based on the pattern composition knowledge representation based on content is proposed in the paper. This model uses the concepts of plane matrix and studies the simulation of human's thinking in images in pattern design. This model has been implemented in the prototype system of Pattern Creation of Dunhuang Style. Thus some useful conclusions were reached.
Key words　ICAD,pattern design, knowledge reasoning, thinking in images, plane matrix
1　引　　言
　　计算机智能图案设计系统中的知识推理过程是一个充分体现计算机智能活动的过程，如何让计算机的推理过程更好地模拟人的形象思维活动，一直是智能CAD(ICAD)领域研究的重要内容.
　　基于传统人工智能技术的知识表达与推理过程很难满足ICAD系统中对人类形象思维进行模拟的要求，为了使ICAD系统具有模拟人类形象思维的能力，一个有效的解决途径是将人工智能技术与人类的真正认知过程相结合.研究表明，在人的设计思维活动过程中，大量运用的是联想、直觉、灵感等形象知识，这些形象知识的运用正是真正的智能和创造性体现的关键，因此，形象知识的表达与运用对于提高ICAD系统的智能性至关重要.
　　同时，设计类问题的特点是在一定的约束条件下包含了创新的成分，其本质是设计知识的运用具有非线性、自适应的特点，这也是人类智能活动的特点.已有的知识表达方法，如：正则语言、数学解析式、实体模型等，它们所表达的信息都是精确的、具体的，能有效地表达人类抽象思维(逻辑思维)部分的知识，但对于表达人类形象思维部分的知识则无能为力.已有的推理方法，如：经典逻辑、基于文法的推理、基于CASE的推理、以及模糊推理等，它们本质上都是线性的、自洽的和可预测的，很难体现人类形象思维中的创造性部分.
　　由于设计类问题的这些特点，认知科学提出了基于心像的知识表达方法，以及综合推理、类比推理等知识推理方法.受对人类智能行为研究的深度、以及计算机体系结构的限制，这些知识表达及其推理方法在ICAD领域的实现还未能取得突破性进展，更未能推向实用.
　　智能图案设计是一个充分体现人类形象思维的CAD领域，不像别的CAD领域，如机械CAD、电子CAD等，有许多定量约束存在.并且在图案设计系统中，所生成的结果图案除了在某些特定行业中需要满足一定的规格要求外，无论从几何布局、色彩选择上都无定量的约束，对结果图案的评价也只有一个比较模糊的满意度，而且还因人而异.因此，我们选择了这个领域作为研究人类形象思维的平台，希望能有所突破.
　　本文应用拓扑学中二维空间矩阵的思想，结合视觉心理学的研究结果，提出了一种图案设计知识的表达与推理模型.在本模型中，图案的结构被表达为一个二维空间矩阵(点阵).该点阵代表了图案的大范围拓扑性质，与图案在人脑中的记忆表像(心像)同构.图案的生成过程体现为对点阵的各种线性与非线性变换，这样，在用户输入初始要求的情况下，就形成了一个在可控范围内创新的知识推理模型.
　　我们已经在“敦煌风格的图案创作系统”中运用了该模型并取得了部分成果，随着研究的深入，可以将该模型推广到其它领域，并将对计算机模拟人类形象思维的研究工作有所启发.
2　构图知识的表达
　　对一幅图案的结构信息如何进行分解并表达，是设计类问题中对设计形状进行描述的问题.当前主要的工具有G.Stiny的形状文法［1］(shape grammar)和S.K.Chang的ICON理论等，但这些基于符号的方法都不能充分表达人类的形象类知识.认知科学认为，人类的形象类知识在人脑中表现为心像(mental image)，因此，在设计类问题的研究中要充分考虑心像的作用.加拿大学者Glasgow提出的计算心像理论［2，3］综合了心像的描述性表示、空间表示和视觉表示，在表达能力与推理效率方面都比较适合图案结构信息的描述.在此，我们借助心像的概念，提出了一种图案结构的表达模型，我们称之为基于点阵的图案结构表达模型，进而提出了一种图案构图知识表达模型，称为基于内容的构图知识表达模型.在以下的讨论中，图案指的都是二维平面图案.
2.1　基于点阵的图案结构表达模型
　　认知心理学与视觉心理学的研究表明，人类在辨别文字、图形符号或一幅图案时，被视形象的细节是次要的，而它们的在大范围内的拓扑性质起着决定性作用［4］.如图1所示，该图是用于测试视觉系统对拓扑差异的敏感性，实验中使用了3对刺激图形示意图.实验结果(即报告两个图形不一样的正确报告率)标明在图的右边.图中的实验结果表明，拓扑性质差别较大的环与圆的辨识正确率在统计的意义上明显高于另外两组图形.基于此，我们可以假设对于二维平面图案，其主要特征就体现在整幅图案大范围的拓扑性质上.实际情况也是这样，一幅图案(包括别的形象信息)在人们头脑中存储的具体结构当前并不十分清楚，但是，各种视觉心理学试验已经表明，这类形象信息(心像)都具有上述特点.


图1
　　在一幅图案中，总可以将图案分为空间位置上相互独立的子图案，称为图案结构的划分，我们称这些相互独立的子图案为图案元素.对于一幅特定的图案，图案元素划分的方法很多，可以基于图案元素所表达的含义进行划分，也可以基于图案元素的几何形状或者色彩信息划分，等等.
　　在将图案以图案元素为单位进行划分以后，很自然地得到一个二维矩阵，我们称之为图案矩阵.例如，如图2所示，即为一幅图案及其图案矩阵.


图2　图案及其图案点阵
　　图案矩阵中，为1的矩阵元素表示该位置有图案元素，0表示该位置无图案元素.在实际的系统实现中，矩阵元素所包含的内容可以很复杂，例如其中可以包含图案元素的类型、图案元素的色彩特征以及图案元素本身的形状特征等.因此，此处的图案矩阵是一幅图案大范围空间结构的高度抽象，图案矩阵的大小没有实际的意义，只是元素之间的拓扑关系才是最重要的.
　　在上述的图案矩阵表达中，由于图案元素被抽象为一个点，因此我们称该模型为基于点阵的图案结构表达模型，该矩阵相应地称为点阵.在这种表达模型中，点阵结构与图案的大范围拓扑性质同态，因此其表达效率相对一般的空间拓扑关系表达方法，如一阶谓词逻辑、有向图等有更高的表达效率.
2.2　基于内容的构图知识表达
　　在基于点阵的图案结构表达模型中，只是表达了图案的静态结构，其中并未包含图案设计的动态信息.
　　一幅图案在从无到有的创作过程中，我们认为是一个以自顶向下为主的过程.而传统的方法往往偏重于自底向上的方法［5］，即认为先有图案元素，然后对图案元素进行各种变形及组合操作，形成子图案，进而形成结果图案.然而实际情况是，人们在创作一幅图案的时候，除临摹外，都是先有一个模糊的构思，然后逐步细化，最后定型.而定型的时候才选取图案元素.其实这种思维模式也是人类在进行各种创造性设计活动时所共有的，如建筑设计、产品设计等.
　　显然，图案构思的过程是一个确定图案内容的过程，即图案所要表达的内容是什么.这里，内容既可以是图案画面所讲述的故事情节，也可以是图案画面所想要体现的某种效果.因此，一幅图案创作的过程可以简略地由图3来表示.


图3　图案创作的概念模型
　　在图3中，结果图案就是图2中的图案点阵加上相应的图案元素.由此可以得出结论：图案创作是一个从一般到特殊的过程，即先验地有从已有图案归纳得来的构图知识，然后从这些已有构图知识出发演绎出新图案.而演绎的时候是以图案所表达的内容为核心，其中综合了抽象思维、联想、类比等形象思维甚至灵感思维.因此，构图知识表达的核心应该是图案内容，其基础就是前述基于点阵的图案结构表达模型.
　　基于以上分析，我们将图案构图知识表达为三元组：
　　K=〈D,E,M〉.其中D为构图知识的描述性表达，E为图案元素集，M为基于点阵的图案结构表达.
2.2.1　构图知识的描述性表达
　　在构图知识的描述性表达D中，包含了对图案内容的文字描述，如图案的风格名称、色调、用途等，还包含了若干样本图案(以点阵图像的形式).以下是其类Pascal语言的表达模型：
　　TpicKnowD=Record
picStyle: treePoint;　　　　　　{图案风格描述}
picColorTone: treePoint;{图案色调描述}
picPurpose: treePoint;{图案用途描述}
picSamples: Array of string;{图案样本集，以点阵图像文件名数组表示}
…{图案的其它描述信息，见第2.2.4小节}
　　End;
　　在上述结构中，数据结构类型treePoint代表某棵描述树的一个节点，这棵树的每个节点代表一种描述，从根节点开始，描述的内容是逐步细化的.例如在图案风格描述中，“敦煌壁画＼盛唐”即为一例.
　　无论是图案风格描述树，还是图案类别描述树以及其它描述树，在数据结构上都是标准的树结构，区别只是在每个节点的内容上，同时，树的结构及内容都可以根据需要动态地改变，节点之间的距离体现了它们现实含义之间的距离.
2.2.2　构图知识的元素集
　　在构图知识的元素集E中，包含了该条构图知识所使用的图案元素的特征描述(类别与色调)以及已有的样本图案元素(以点阵图像的形式).以下是其类Pascal语言的表达模型：
　　TpicKnowE=Record
eleClass: treePoint; 　　　　　{元素类别描述}
eleColorTone: treePoint;{元素色调描述}
eleSamples: Array of string; {元素样本集，以点阵图像文件名数组表示}
…{元素的其它描述信息，见第2.2.4小节}
　　End;
2.2.3　构图知识的图案结构表达
　　在构图知识的图案结构表达M中，包含了第2.1节中所描述的基于点阵的图案结构表达矩阵模型，同时还包含了该点阵的一些特征，如对称程度、点阵稠密程度等.另外，点阵中有元素的点还包含了该点的图案元素的空间几何参数，如相对于基本图案元素的比例、旋转角度、切变程度等.以下是其类Pascal语言的表达模型：
　　TEleParam=Record　　{图案元素的空间几何参数}
scaleX, scaleY: real;　　　　{元素的纵横比例}
rotation: real;{元素的旋转角度，单位为弧度}
shear: real;{元素的切变值}
　　End;

　　TpicKnowM=Record
pointMatrix: Matrix of TEleParam;　{基于点阵的图案结构矩阵}
symmetry: real;{点阵的对称程度，0最小，1最大}
denseness: real;{点阵的稠密度，0最小，1最大}
　　End;
　　设一任意二维矢量(x, y)，经图案元素空间几何参数TEleParam变换，其变换的顺序与方法为：
　　① 比例变换，(x1, y1)=(x×scaleX, y×scaleY).
　　② 旋转，(x2, y2)=(x1×cos(rotation)+y1×sin(rotation), y1×cos(rotation)-x1×sin(rotation)).
　　③ 切变，(x3, y3)=(x2+y2×shear, y2+x2×shear).
　　设变换矩阵,且(x3,y3)T=Te*(x,y)T,则：
a=(cos(rotation)+shear×sin(rotation))×scaleX;　　　　　(1)
b=(-sin(rotation)+shear×cos(rotation))×scaleY;　　　　　(2)
c=(shear×cos(rotation)+sin(rotation))×scaleX;　　　　　(3)
d=(-shear×sin(rotation)+cos(rotation))×scaleY;　　　　　(4)
2.2.4　基于图像的图案内容表达讨论
　　一幅图案所表达的内容，无论使用多少描述信息都不能完整地表达.这其实是一个“用符号信息不能完全表达形象信息中只可意会、不可言传内容［6］”的直接推论.因此，我们在此综合了图像处理技术与基于实例的表达方法，在前述的构图知识表达模型中，对图案和图案元素都使用了样本图像.
　　一方面，一幅图案的图像中包含了其内容的所有信息，不会因为描述性表达的不完整性造成信息的丢失；另一方面，直接利用图像模型进行推理还没有成熟的方法，但是，利用已有的图像处理及模式识别技术，如直方图统计、频谱分析及形状特征分析等技术，可以从图像中提取感兴趣的信息，参与推理过程，起到对符号推理进行有益补充的作用，前面第2.2.1小节中“图案的其它描述信息”以及第2.2.2小节中“图案元素的其它描述信息”中的内容即是系统自动从样本图像中提取的部分信息.具体方法请参见图像处理及模式识别的相关文献.
3　构图知识在图案创作中的运用
　　上述基于内容的构图知识表达，实质上是对图案创作知识的归纳，而图案创作过程是利用这些知识进行演绎的过程，参照图3中图案创作的概念模型，我们提出如图4所示的计算机图案创作模型.
　　该模型中，选择初始参数的过程就是确定图案内容的过程，系统根据初始参数，从构图知识库中选择初始知识.初始知识可以是一条，也可以是多条，然后系统根据一定的操作规则对初始知识进行演绎，得到图案点阵，最后从图案元素库中选取合适的元素代入结果图案点阵的相应位置，即得到结果图案.


图4　图案创作的计算机模型
3.1　初始参数与初始知识集
　　模拟人的图案设计思维过程，我们将初始参数表达为一条构图知识K0=〈D0,E0,M0〉.然而，与构图知识库的一条标准构图知识相比，K0具有如下特点：
　　(1) 纯描述性.在K0中，只包含D0，E0，M0中描述信息部分.即D0中只能包含picStyle，picColorTone及picPurpose；E0中只能包含eleClass及eleColorTone；M0中只能包含symmetry及denseness.
　　(2) 不完备性.在K0中，D0，E0，M0都是可选的，甚至都可以为空，同时，D0，E0，M0中的内容也可以部分指定.当K0为空时，系统随机地从构图知识库中选取一条知识作为初始知识；当K0为构图知识库中已有的知识时，系统就以K0作为初始知识；当K0中的D0，E0，M0部分指定时，系统就以与K0中不为空的部分匹配的构图知识作为初始知识，此时初始知识为一集合.由于K0中只包含描述性信息部分，因而在进行匹配的时候也就只使用构图知识中相应的部分.
　　(3) 不一致性.在K0中，D0，E0，M0不一定与已有的知识相容.例如，在D0中指定图案风格为“敦煌壁画＼盛唐”，而在E0中指定元素类别为“动物＼兽＼狮”，而实际上盛唐风格的敦煌壁画中并没有狮子.此时，初始知识集合为那些分别与D0，E0，M0部分匹配的构图知识的并集.
　　由此，可以得到初始知识集合为Kinit={Ki,i=1，…，n}，且Kinit=f(K0)，f为上述初始知识集合选取过程中所定义的映射(匹配).当Kinit为空集时，表示知识库中缺乏相关的构图知识，系统将停止运行并给出相应提示.同时，在得到初始知识集合的同时，还产生了一个与该集合中每条知识匹配的确信度集合Sinit={Si,0≤Si≤1,i=1，…，n}.该确信度表示在通过初始参数选取初始知识集合Kinit的过程中对其中每条知识肯定的程度.确定Sinit的方法如下：
　　(1) 当K0为空时，此时系统随机地从构图知识库选择一条知识组成Kinit，该条知识确信度设为0.5.
　　(2) 当K0为构图知识库中已有的知识时，Kinit由该条知识组成，且该条知识的确信度设为1.0.
　　(3) 当K0与构图知识库中已有的知识部分匹配时，Kinit由所有这些部分匹配的知识组成，每条知识的确信度设为其与K0匹配的程度，具体方法限于篇幅，这里就不讨论了.
　　初始知识集合的选取过程体现了如下事实：人在构思一幅图案的时候，总是以其记忆中已有的图案知识为基础进行演绎，同时，对所使用的图案知识有所侧重.在此，侧重的程度体现在确信度中.
　　然而，人脑中对构图知识进行演绎的过程十分复杂，涉及到人类的抽象思维、形象思维甚至灵感思维.下面我们仅就图案点阵结构的演绎进行研究，试图能对人类形象思维过程的了解有所启发.
3.2　初始知识集预处理
　　设初始知识集合中的全部图案点阵构成集合minit={mi,i=1，…，n}，我们称为源图案点阵，相应的确信度集合为Sinit={Si,i=1，…，n}，结果图案点阵为mR，则构图知识的演绎过程可表示为：minit→mR.
　　在进行从源图案点阵集及确信度集构造结果图案点阵以前，必须先进行两步预处理工作，分别针对源图案点阵集minit与确信度集Sinit.
　　(1) 源图案点阵集预处理.源图案点阵集的预处理主要内容是调整集合中每个点阵的大小，使其统一.设Width(m)表示点阵m的列数，Height(m)表示点阵m的行数，L=MaxWidth(minit)表示minit中点阵列数的最大值，K=MaxHeight(minit)表示minit中行数的最大值.则调整的目的为对于minit中每个mi，使Width(mi)→L,Height(mi)→K，具体方法为以点阵mi的中心为坐标中心，将每个元点阵元素的纵横坐标分别乘以比例系数K/Height(mi)，L/Width(mi).
　　(2) 确信度集预处理.由于每个源图案点阵的确信度值相互独立，因此，预处理的目的是归一化其值，使.具体方法是对于Sinit中的每个元素除以
　　在以下的讨论中，为了简化表述，同时也不会引起歧义的情况下，仍以minit与Sinit表示经过预处理后的源点阵集与确信度集.
3.3　构图知识演绎
　　设，结果图案点阵，则结果图案点阵与源图案点阵具有相同大小，且其元素，输出函数f(*)为一个阈值函数，定义如下：
　　　　　　　　　　　　　　(5)
　　结果图案点阵mR中，eRKL为1时，表示此处有图案元素，设其相应的空间变换矩阵为TRKL，源图案点阵mi中相应的图案元素空间变换矩阵为TiKL，则：
　　.式中算符所定义的运算规则为：对每个TiKL中的scaleX,scaleY,rotation和shear分量分别乘以Si，然后进行算术加法，最后根据(1)～(4)式得到TRKL.
　　由以上演绎过程可以看出，阈值函数(5)决定了结果图案点阵中相应位置是否有元素，对该函数有贡献的只是那些在相应位置有元素的源图案点阵，但所有源图案点阵对该元素的空间变换参数都作出了贡献.
　　当结果图案点阵mR中每个图案元素的位置及变换参数确定以后，系统从图案元素库中选取适当的实际图案元素，在相应的位置用变换参数绘出该图案元素，即可得到结果图案.
3.4　图案创作举例
　　图5为“敦煌风格图案创作系统”所生成的一幅结果图案.其中共使用了5种图案元素：“骑兵、树木、山、飞天、佛像”.初始参数的指定方法是先通过指定一幅已有敦煌壁画(西魏初，第249窟南壁)的局部作为参照图案，该参照图案选自构图知识库中的图案样本，然后再指定结果图案的元素类别为以上5类. 


图5　结果图案例及其点阵
　　最终确定图案元素的方法是由系统从元素库随机地选取相应类别的一个元素.
4　结　　语
　　在本文中，我们提出了一种基于内容的构图知识表达模型，以及在该表达模型基础上的一种演绎方法(推理).此模型的特点为：
　　(1) 描述性表达与形象表达(点阵)结合.描述性表达归纳了图案的内容，形象表达体现了图案大范围的拓扑特征，同构于图案在人脑中的记忆表像，进而比较全面地表达了图案的形象知识.
　　(2) 演绎过程较好地模拟了人类在创作图案时的思维过程.确定初始构图知识集合的过程对应于实际创作图案时构思的过程，同时，实践表明，本文中所提出的以点阵为基础的演绎方法有不错的较果.
　　目前，我们已经在原型系统“敦煌风格的图案创作”中实现了上述模型，从实际效果来看，该模型还有以下工作值得进一步研究：
　　(1) 在图4所示的图案创作的计算机模型中，演绎阶段的模型过于简化.人类的思维是一个多层次缠绕的过程，既有形象思维，也有抽象(逻辑)思维.因此，在演绎阶段应该加入抽象思维模拟的成分，具体的方法可以借助专家系统，结合图像处理技术，建立一个图案设计专家知识库.
　　(2) 目前系统中构图知识是由用户显示地构造的，今后可以由系统应用图像处理技术，半自动地构造构图知识.特别是图案的点阵表达模型，可以通过边缘检测、纹理映射、特征匹配等技术进行构造.这一点对系统的实用化特别重要.
　　(3) 当前对结果图案的评价由人进行，今后在构图知识及图案不断丰富以后，可以通过统计的方法建立一套对结果图案评价的方案，实现结果图案评价的半自动化.
　　当前，对思维科学的具体研究工作刚刚起步，“思维科学是处理意识与大脑、精神与物质、主观与客观的科学，是现代科学技术的一大部门.推动思维科学研究是计算机技术革命的需要.AI的理论基础就是思维科学中的基础科学思维学，即研究人有意识的思维规律的学问［7］.” 本文只是对图案创作中人类的形象思维过程进行了初步的研究，远未达到揭示形象思维过程本质的目的，只是希望能在思维科学研究中起到抛砖引玉的作用.
本课题得到国家自然科学基金、国家“八六三”计划智能计算机主题、国家攀登计划基金和浙江省自然科学基金资助.
作者简介：简正三，男，1971年10月生，博士研究生，主要从事ICAD的研究工作.李海龙，男，1970年3月生，博士，讲师，主要从事计算机图形学及基于特征的参数化造型系统的研究工作.潘云鹤，男，1947年8月生，教授、博士生导师、中国工程院院士，主要从事人工智能、图形学、形象思维等研究工作.
作者单位：简正三　浙江大学人工智能研究所　杭州　310027
　　　　　李海龙　潘云鹤　浙江大学CAD & CG国家重点实验室　杭州　310027
参考文献
　1　Stiny G. Introduction to shape and shape grammars. Environment and Planning B, 1980，9(7):343～351
　2　Glasgow J J. Artificial intelligence and imagery. In:Proc of Tools for AI. Washington, 1990.157～164
　3　Glasgow J J. The imagery debate revisited: A computational perspective. Computational Intelligence, 1993,9(4):255～263
　4　陈霖.拓扑性质检测——计算理论的一朵可能的乌云.见：关于思维科学.上海：上海人民出版社，1986.250～301
　　(Chen Lin.Detection of topological property:Doubt of computational theory.In:About Noetic Science(in Chinese).Shanghai:Shanghai People's Press,1986.250～301)
　5　诸葛源，潘云鹤.基于计算图像的美术图案构图知识表达.软件学报，1997,8(10):738～744
　　(Zhu Geyuan,Pan Yunhe.Computational imagery based art pattern composition knowledge representation.Jounal of Software(in Chinese),1997,8(10):738～744)
　6　戴汝为，王珏，田捷.智能系统的综合集成.杭州：浙江科学技术出版社，1995.61～64
　　(Dai Ruwei,Wang Jue,Tian Jie.Matasynthesis of Intelligent Systems(in Chinese).Hangzhou:Zhejiang Science & Technology Press,1995.61～64)
　7　钱学森.关于思维科学.上海：上海人民出版社，1986.13～26
　　(Qian Xuesen.About Noetic Science(in Chinese).Shanghai:Shanghai People's Press,1986.13～26)
原稿收到日期：1998-06-08
修改稿收到日期：1998-11-02
