颜云辉杨会林王成明雷世超
东北大学机械工程与自动化学院沈阳 110004
摘要本文提出了一种基于神经网络构建金属断口图像识别信息知识库系统的基本结构和实现技术,对知识库系统的访问方式和结构模式等关键问题进行了深入的分析和设计,在此基础上实现了知识扩充的功能。结果表明,这种方法对金属断口模式进行识别是十分有效的。
关键词:金属断口;模式识别;知识库;神经网络;知识扩充
断裂断口图像的识别是实现断裂构件智能化诊断的重要环节,虽然在金属断口图像的识别研究中已经取的一定成果, 但识别的种类有限,识别率也有待于提高[1-3]。文献[8]提出利用小波变换等方法提取出的能量、L1范数和熵等特征,然后利用神经网络进行分类器设计的方法,取得了较好的识别效果,能够解决典型断口图像的识别问题。但在识别的过程中,大量的可识别信息常以图像形式来记录,如何将这些图像信息转变为计算机能够识别的信息,并从这些信息中获取知识,无疑是非常重要的。
近年来,人工智能技术在工程领域迅速发展,特别是神经网络技术和基于知识的专家系统等研究日趋活跃,成为辅助人们研究和解决断口图像识别问题的重要工具。1994年,Towell 和Shavlik提出了用于知识获取的基于知识的人工神经网络(Knowledge Based Artificial Neural Network, 简称KBANN), 并通过实例证明了此方法的比纯符号方法要好[4]。文献[5-7]也说明了神经网络具有处理复杂多模式及进行联想、推测和记忆的功能,在智能系统中不但能实现自动知识获取,而且便于知识库的组织与管理,通用性强,知识容量大,可把大量的知识规则存储于一个相对小的多的神经网络中。基于神经网络技术这些特性,利用Microsoft Access, 本文以特定结构设计了一个用于存储断口识别信息的知识库,为实现知识扩充以及断口图像识别智能化提供了必要的基础。
1 知识库构造技术
1.1 知识获取
知识获取是知识从知识源到知识库的转移过程,是人工智能和知识工程中的关键性技术*国家自然科学基金(50075016)、高等学校博士学科点专项科研基金(20020145023)资助项目难题。近年来,随着神经网络理论在实践中逐渐得到广泛的应用,国内外许多专家学者对采用神经网络表达知识进行了深入的研究。来源于实践领域的知识往往很模糊,难以提取和表达,因此专家系统的知识获取相对较为困难,而神经网络却具备向现实世界学习和大规模并行处理的能力,因此神经网络作为模式识别知识的获取方法是可行的,特别是对于获取来源于识别过程中的难于表达的知识更为有效。
图1 知识获取的过程
在智能断口图像模式识别系统知识库的研究和开发过程中,可用BP神经网络来表达断口图像识别专家知识,这时神经网络的输入结点和输出结点分别对应知识的前提和结论,隐层结点的数目根据问题的复杂程度确定。断口图像信息I i通过映射关系输入到神经网络系统中,神经网络输入层神经元表示实例样本的原始特征,输出层的神经元表示网络的输出,并按映射关系将数值输出导出为分类语义O i,从而完成推理过程。输出层结点的数目对应表达知识的数目,知识的表达分布在神经网络全部结点的阈值及神经元之间的连接强度上。只要确定好神经网络的结构,样本经过训练后即可完成知识的隐式表达。神经网络在具有某类样本的一般知识后,通过学习能够获取该样本更深层的知识。这样,神经网络的训练过程既完成了专家知识的隐式表达,又实现了蕴含于数据中的知识的获取过程。过程如图1。
1.2 知识表示
本文的知识库是一种基于关系数据库知识系统,即是在关系数据库的基础上建立的。所用的数据库为Microsoft Access,这种数据库具有使用方便,功能强大,访问便捷的特点,适用于建立中小型数据库系统。知识库中记录和管理在神经网络训练过程中产生的知识,所以其结构设计应该达到能够有效的管理这些知识的目的,并让金属断口图像识别软件能在训练及知识扩充阶段,通过既定的算法,方便的访问知识库中的信息。
识别过程中产生的知识主要包括训练信息和训练数据两类。
训练信息表用来存储训练过程中产生的各种训练信息。它记录的内容包括:识别类别数、待识别断口图像类型、训练样本数、特征种类、训练次数以及各种神经网络训练参数。软件可以使用这些信息来控制神经网络的结构、调节神经网络的训练参数等。对于训练信息表,每个数据库只有一个记录,这样的设计虽然浪费了一定的数据库字段,但对于数据的访问显得特别简便。而这里的数据恰恰是神经网络训练过程中最常用到的,因此,采用这种结构,知识库的设计更加方便。
训练数据表用来存储训练过程产生的各种训练数据。它的内容包括:权值、样本数据、初始权值等。软件可以利用这些数据来识别待识别断口图像。对于训练数据表,由于每个项数据中都有大量的数据,所以为每个数据建一个字段,特征提取和网络训练中产生的数据以一定的算法顺序写入相应的字段中。这样,访问表中的数据就是通过先确定要访问的字段,然后根据相应的算法,利用数据表的编号值来确定要访问的数据的位置。
1.3 知识库访问的实现方法
Access是由Microsoft公司一个完整的数据库,它本身具有很强大的功能。可以实现很多复杂的操作,但我们是利用它来辅助断口图像识别工作,需要用Visual C++共享Access 数据库:读取数据库的内容,以利用这些信息来实现识别;向写入数据库写入数据,以将训练结果保存到数据库中。
本文采用的是DAO(Data Access Object)数据库访问技术,它是一组Microsoft Access/Jet 数据库引擎自动化接口,可直接与Access 数据库通信,此外还封装了Access 数据库的结构单元,方便对数据库结构的修改[9]。同时在一些情况下使用SQL(结构化查询语言)和DAO结合使用,以下是不同情况下数据库访问方法:
(1)建立数据库,新建数据库是以一个样本数据库为标准,建立一个相同结构的新知识库。
(2)打开数据库,首先为数据库分配内存地址,在打开指定数据库的之后通过MFC DAO 中的CdaoRecordset类建立相应的记录集。
(3)添加记录,用字符串的形式建立一个要添加的记录SQL语句,然后对打开的的数据库执行SQL语句。
(4)读取知识库数据,打开SQL语句所定义的记录集,读取记录集中指定的数据,并赋给变量。
(5)数据库更改,通过SQL语句打开要更改的数据库的记录集,读取更改后记录中的数据。
2 系统结构模型
图2 知识库系统构造
系统结构的设计是系统目标功能的分解过程,将整个系统划分为几个子系统,各个子系统完成一定的具体功能。在本系统的研究中,主要实现的目标是在神经网络训练成熟后,得到满足输出条件的各层之间的连接权和各层阀值。当用户在界面上点击该识别系统进入知识库时,BP网络以样本数据为输入,以是否与该知识库相关为输出, 并反馈给用户。若用户想要了解有关过程或进一步进行咨询,可点击菜单或按钮,系统将对此作出反应,将相应的窗体显示给用户。同时, 用户还应该能够作出合理化建议, 并在系统人员的帮助下进行知识获取部分的更新,使系统不断满足用户的需要。据此,设计出系统结构模型,见图2。
(1)输入模块。输入断口图像样本数据,对断口图像进行小波变换,将变换后信号各频带的输出L1范数、能量、熵作为模式识别的特征。另外,可对神经网络参数初始化,输入网络各节点的阈值、连接权值以及结构参数,将其以数据文件形式存放在网络数据库中,成为系统内部知识。
(2)系统更新模块。该模块主要面向系统工作人员和对系统或领域知识有一定了解的用户。由于新知识的输入或对旧知识的修改,必然涉及到作为专家系统知识获取工具的神经网络及训练样本的结构、内容的变化,从而导致知识库中知识结构的变化。所以, 该子系统又可细分为网络结构更新模块、样本结构更新模块及网络参数更新模块。
(3)系统维护模块。该模块主要面向系统维护人员。其中,知识库编辑模块以各知识库文件编号为索引, 对系统知识库进行添加、更改、删除等工作, 其功能建立在DAO的数据库访问基础上。用户知识查询模块提供了维护人员和领域专家与用户知识交互的接口, 该模块对系统维护和更新均起辅助作用。
(4)解释模块。显示识别结果,并允许用户实现知识扩充功能。
系统结构模型采用人机界面的设计,使得该系统具有良好的用户界面对用户进行指导,以Visual C++作为开发工具,采用目前流行的菜单、子窗体界面设计,与用户交互友好。
3 知识扩充的实现
图3 知识扩充的实现过程
利用人工神经网络方法识别的识别能力与训练样本有很大关系,一般来说,训练样本中包含的图像越全面,识别的效果越好。要想有效的识别工程实际中遇到的断口图像,就要使用尽量丰富的样本图像。因此,使知识库具有不断学习新知识的能力就显得比较重要。
知识扩充指的是在训练结束之后,在用已有的知识库进行识别时,能在用户知道待识别图像的确切类型时,通过软件提供的功能,自动的实现把新图片的特征添加到知识库中,同时利用新老图片的特征进行网络训练,调整知识库中的网络权值,使这个知识库能够正确的识别与新老图片知识相匹配的该类图片。
它首先把知识库中摘要表中的数据读出来,用于控制神经网络训练的算法。然后将新图片的特征值写入知识库中该类型的位置,并把该类型的样本图像数自加。这样,知识库中既包括了原有图片的特征值,也包括了新图片的特征值,而且用于控制网络训练算法的摘要表也相应的修改。此时,神经网络就可以将新老图片的特征一起训练。而后调用BP 网络的非对称训练模块进行训练。它首先改变知识库的内容,使之达到进行非对称训练的要求,然后利用非对称训练计算新的网络权值。最后,将网络权值写入知识库,完成了知识扩充功能。
4 实例分析
先以断口图像进行小波变换提取能量、L1范数和熵等特征信息作为系统输入,对基于神经网络知识库的识别系统进行训练学习,然后再进行识别断口图像的实验。训练样本采用的是典型断口图像,如图4所示,依次为解理断口、疲劳断口和塑坑断口。从这三种断口图
像中分别提取10幅128的灰度图像,
作为训练样本,识别如图5所示的非典型断口图像,实验结果如表1所示。
128×
(a) (b) (c)
图4 典型断口图像样本
(a)解理断口 (b)疲劳断口 (c) 塑坑断口
表1 采用典型断口图像训练后的断口图像识别效果
正确识别率(%)
断口类型
L1范数能量
解理断口45 55
疲劳断口35 60
塑坑断口50 55
利用本文提出的知识扩充方法,每类训练样本分别扩充了20幅(如图5所示)非典型断口图像进行学习训练。训练后的识别系统对各类中混有其他40幅非典型断口图像进行了识别实验,实验结果如表2所示,正确识别率明显得到提高。
(a) (b) (c)
图5 非典型金属断口图像样本
(a) 解理断口(b)疲劳断口(c) 塑坑断口
表2 知识扩充后的非典型断口图像识别效果
正确识别率(%)
断口类型
L1范数能量
解理断口96.7 92.5
疲劳断口86.25 82.5
塑坑断口100 95
由此可见,经过充分学习后的网络系统获取了比较全面的识别信息和知识,并将这些信息和知识以数字的形式分布存储在网络的连接权上,从而构成了系统的网络数据库,这为具体断口图像知识按专家的思维方式进行分类提供了依据, 本文基于神经网络建立识别信息知识库的方法是成功的。
5 结论
(1)本文利用BP神经网络技术和Microsoft Access,以特定的结构设计了一个用于存储识别信息的知识库。该知识库可以存储神经网络训练过程中的必要信息。
(2)成功地开发了知识库的输入、更新及维护等管理功能,实现了知识库与推理机制的完美结合,增加了系统的实用性。
(3)本文采用了DAO数据库访问技术。该技术结合SQL可以对知识库进行方便的,快速的访问,为知识扩充等功能的实现提供了必要的基础。
参考文献:
[1] K Minoshima, T Nagasaki, K Komai. Automatic Classification of Fracture Surface
Morphology Using Computer Image Processing Technique, Trans.Jpn.Soc.Mech.Eng, 1990,56(525):1318~1328
[2] K Komai, K Minoshima, S Ishii. Recognition of Different Frature Surface
Morphologies Using Computer Image Processing Technique. JSME.
Int.J,Ser.A.1993,36(2):220
[3] K Minoshi, T Nagosaki. Automatic Classification of Fracture Surface Morphology
Using Computer Image Processing Technique. Jpn. Soc. Mesh. Eng,1993,373 [4] Towell G G, Shavlik J W. Knowledge based artificial neural networks. Artificial
Intelligence,1994,70(1/2):119~165
[5] Coleman K, Watenpool S. Neural networks in knowledge acquisition. AI Expert,
1992,7(1):36~39
[6] ShouHong Wang. Neural Networks in Generalizing Expert Knowledge. Computer ind.
Engng,1997,32(1):67~76
[7] J F Remm, F Alexandre. Knowledge extraction using artificial neural networks:
application to radar target identification. Signal Processing,2002,82:117~
220
[8] 颜云辉,高金鹤,刘勇等. 基于小波变换的金属断口模式识别与分类,金属学报,
2002,38(3):309~314
[9] 吴海桥. 基于关系数据库的知识库的建立. 北京:微型电脑应用,2001,17(11):52~
54
[10] 沛.数据库原理及应用系统开发. 中国水利水电出版社,1999,1~156
[11] 刘勇.基于小波变换的金属显微断口识别与分类的研究:[硕士学位论文]. 沈阳:东北大学,2001
[12] 陈世福,陈兆乾等. 人工智能与知识工程. 南京:南京大学出版社,1997:1~136
[13] 曹立明,陈石麟等. 知识工程原理. 中国矿业大学出版社,1995:1~186
[14] 崔约贤,王长利. 金属断口分析. 哈尔滨:哈尔滨工业大学出版社,1998:34~138
Method of Building Knowledgebase for the Recognition of Metal Fracture Images Based on Neural Networks
Yan Yunhui YANG Huilin WANG Chengming LEI Shichao (The School of Mechanical Engineering and Automation, Northeastern University, Shenyang 110004)
ABSTRACT:Based on the neural network, the basic structure and implementation technique of knowledgebase for recognizing the metal fracture images is discussed. The method is tentatively used to building the knowledgebase. By Analyzing the visit way of the system of knowledgebase and designing the structure mode, some important functions such as Knowledge-learning are achieved. The result indicates, it is effective that the metal fracture images can be recognized by means of the proposed method.
KEY WORDS: Metal fracture Pattern recognition Knowledgebase Neural networks Knowledge-learning.