1端点原子的提取
端点的原子是由若干个字母、数字组成,在图中表现为若干个面积较小的连通区域,对于原子字符的提取,本文采用的是基于区域尺寸和弯曲度的药物化学分子结构图分割算法[7]。首先,根据连通区域尺寸大小,将化学分子结构图分割成两部分:一部分是由化学键组成的所有大尺寸连通区域的组合,另一部分是杂原子、基团和单化学键等小尺寸区域的组合。然后,根据弯曲度将小尺寸组合图中的表示化学键的单线段和类线段“I”,“l”,“-”提取出。最后根据位置等信息将“I”,“l”,“-”和单线段进行区分,将单线段的化学键和大尺寸连通区组合,完成了化学键与端点原子的分离。图2所示是一化学分子结构图的分割过程的效果图。经过分割,实现了对端点原子的提取。对收集的10635幅二维有机化学分子结构图中端点信息进行统计,出现在端点附近的原子或基团见表1,一共有21种,共有35个字符。
2基于神经网络的端点原子识别
对端点的原子或基团的识别就转化成对字符、数字的识别。目前对字符的识别方法有很多种,主要有模板匹配、统计模式识别、结构模式识别、智能模式识别等,其中智能模式识别中神经网络应用于字符识别一直是神经网络研究中一个很活跃的应用领域,最为广泛的要属BP网络[8-10]。本文基于BP神经网络对化学分子结构图中端点字符进行识别。基于神经网络的字符识别系统流程如图3所示,流程中的图像预处理主要包括归一化和特征提取。因后续神经网络的训练和识别都需要统一尺寸的字符对象,本文将字符归一化为24×16。比较常用的特征主要有穿越特征、外围特征、网格特征等,本文提取8维网格特征向量和20维的穿越特征组成28维字符特征向量。
3端点字符合并以及后处理操作
化学分子结构图端点处的原子或基团通常是由多个字符构成,基于BP神经网络完成的是对分割的单个字符的识别,后续还需将每个端点处的多个字符进行组合。化学分子结构图是用专业软件绘制而成,一般图中的字符字号统一,端点处的字符距离较近,不同端点处的字符之间距离较远。所以本文基于距离对端点字符组合,距离的阈值φ设定很重要。在进行化学键识别过程中记录下了每个端点的坐标:Pi=(xi,yi),(i=1,2,…,m),m为端点的个数。每个字符的重心坐标记为:Zj=(x/j,y/j),(j=1,2,…,n),n为字符的个数。具体算法如下。(1)从第一个端点开始,寻找每个端点最近距离的那个字符,记为Ak;(2)从字符Ak开始,寻找φ距离内的字符,如果有,则将其组合进去,接下来继续在已组合字符附近寻找,寻找结束,该端点的信息也就组合完成。由于化学分子结构图的大小不同,且不同图中的字符大小也不一致,导致距离阈值φ不能是个固定的值,经过若干实验发现,φ取化学分子结构图中最高字符高度的5/4,基本可以获得较好的效果。因化学分子结构图中端点的原子和基团的种类是有限的,为了避免因个别字符识别错误而降低端点信息正确率,本文制作一个端点原子参考表,该表收集了10635幅化学分子结构图中端点原子组合158个。将端点的识别结果与词典中的每个词进行比对,计算距离,选取与该结果距离最小的词作为最终识别结果。如果匹配距离大于一定的阈值,则不进行校正,将原识别结果作为最终结果输出。这种基于参考表对端点信息进行校正,也是对BP神经网络识别字符的校正。如化学分子结构图中的“I”与“Cl”中的“l”,非常类似,用神经网络很难分辨出,但是,可以通过词典进行区分,如果其左端的字符是“C”,可以肯定该字符是“l”。2实验与分析为了验证本文基于神经网络的二维化学分子结构图端点原子识别的效果,对随机选取的100幅图像做实验。实验编程用MatlabR2010a实现,主要分4步。第1步:完成化学键与字符的分割操作,从字符图中提取单个字符,并记下其重心坐标;第2步:将提取的字符用已训练过的神经网络进行识别;第3步:基于距离对端点字符组合;第4步:基于参考表对组合的字符进行纠正。识别效果如表2所示,分别用X,Y和Z表示。X表示基于神经网络字符识别准确率,X=∑Ni=1X()i/N,Xi表示该类中第i个图像中字符识别准确率,N表示图像的个数。Y表示基于距离的字符组合准确率,这里的组合不考虑前期字符识别是否正确,只考虑端点的字符个数和字符对应的位置是否准确,Y=R/Q,R是组合正确的端点数,Q是这100幅图中的端点个数。Z是经参考表比对,纠正后的字符识别的准确率,Z=∑Ni=1Z()i/N,Zi表示该类中第i个图像中字符识别准确率,N表示图像的个数。表2100幅化学分子结构图像中端点原子识别的统计结果Table2Statisticalresultsofatomicendpointrecognitionin100chemicalmolecularstructureimages项目结果基于神经网络字符识别准确率X=85%基于距离的字符组合准确率Y=89%纠正后的字符识别的准确率Z=93.6%从实验结果看,基于神经网络字符识别准确率85%,经过参考表比对,纠正后的字符识别的准确率可以达到93.6%,有较大的提升,分析基于距离的字符组合错误的端点,发现这些端点主要出现在端点密集区,导致端点处的原子归宿错误。
4结论
本文重点从图像角度研究化学分子结构图中端点信息的提取,端点信息主要由字符构成,采用BP神经网络对字符进行识别,将识别之后的字符进行组合,为了提升端点信息提取的准确度,制作一端点原子参考表,实现对提取的端点信息进行校正。实验证明,本文提出的化学分子结构图端点信息的提取方法具有较高的准确度,具有一定的实用价值,但也存在一些不足之处,如制作端点原子参考表只来源于收集的10635幅图像,要想实现对更多的化学分子图像的识别,还需不断扩充原子参考表;对于端点密集区的字符进行组合时,要研究相应的算中医医学论文法,进一步提高组合的准确率。
作者:朱宁 刘成文 单位:连云港市生产力促进局 淮海工学院