一种化学结构式的智能识别方法与流程

文档序号:14481167阅读:3586来源:国知局

本发明涉及一种化学结构式的智能识别方法。属于化学技术领域。



背景技术:

目前的化学结构式编辑器,只能通过软件基础功能进行搭建,实现完整分子式的绘制,并且无法从图像中获得相关结构信息,也无法实现手绘,耗时耗力,工作效率有限,无法及时获得图片中化合物信息。

另外,化学相关文献数据几乎都是图片格式,传统的结构式编辑区无法直接读取其中内容,效率及其低下。

因此,优化化学结构式文献阅读和移动端结构式绘制体验是当前的一个技术难点,其直接关系到化学研究者的工作效率。



技术实现要素:

本发明的目的是为克服上述现有技术的不足,提供一种化学结构式的智能识别方法。

为实现上述目的,本发明采用下述技术方案:

一种化学结构式的智能识别方法,包括以下步骤:

将含有化学结构式的图片数据转化为字符串并发送到后台;

后台接收到字符串后转换为图片,经过识别接口进行识别;

将识别出来的数据返回给结构式编辑器最终得到相应分子的二维结构,并显示出来。

作为优选的技术方案之一,包括以下步骤:

将含有化学结构式的图片数据转化为base64格式字符串通过http协议发送到后台;

后台接收到base64格式字符串后转换为图片,经过api识别接口识别为int格式的数据;

将int格式数据通过http协议返回给结构式编辑器最终得到相应分子的二维结构,并显示出来。

作为优选的技术方案之一,获取含有化学结构式的图片,将图片信息结合化学分子图片的固有特征进行图片预处理,然后识别出图片中每个原子的坐标、原子的元素名称或者与原子连接的化学基团名称、不同化学键的类型以及电荷同位素等信息,最后汇总提取的信息生成数据文件,最后在结构式编辑器中将分子的结构绘制并展现出来。

作为进一步优选的技术方案之一,所述数据文件包括分子mdlmolfile文件和smiles文件。

作为优选的技术方案之一,通过结构式编辑器将识别接口识别出来的数据解析转化得到相应分子的二维结构,并在结构式编辑器中显示;具体方法是:

1)灰度和二值化;

2)图片中粗线细化;

3)矢量化和键/节点检测;

4)识别。

作为进一步优选的技术方案之一,所述结构式编辑器为indraw客户端。

作为进一步优选的技术方案之一,步骤1)和步骤2)均通过opencv3工具包实现。

作为进一步优选的技术方案之一,步骤2)为采用粗线细化算法将图片中的粗线细化(文献“afastparallelalgorithmforthinningdigitalpatterns,communicationsoftheacm,march1984,volume27,number3,236-239”)。

作为进一步优选的技术方案之一,步骤4)采用简单机器学习模型k近邻,具体方法如下:

4-1)对字符集合进行训练,提取字符的像素特性,然后基于字符像素特性提取化学分子图片中与之相似的字符,从而确定字符;

4-2)将识别的字符抠除,用potrace软件对图片中的线进行识别,potrace通过描图会把图片中每一条线给描边描出来;

4-3)对描绘边的点进行延伸从而确定图片中每条线的连接点和端点;

4-4)对图片中的直线进行识别,然后把识别的直线进行聚类,以及对识别线段的端点进行矫正,从而确定每个位置唯一的连接点和端点。

作为更进一步优选的技术方案之一,步骤4-3)的具体方法是:直线在二维坐标系统使用函数y=kx+b(k为斜率,b为截距)来表示,一个描绘边的点是否在这条直线上只要给出x值然后计算出y值,比较两个y值相差多大,如果两个y值相差小于设定阈值,则认为这个点暂时在这条线上,然后再计算这个点和线段之间是否有空隙,断开,如果没有断开则认为此点在这条直线上。

作为更进一步优选的技术方案之一,步骤4-4)直线的识别包括单键、双键和三键、楔形键、虚线键。

作为更进一步优选的技术方案之一,单键识别方法是:如果一条线段在一定的范围内没有平行线,则认为此线段为单键;双键和三键的识别方法是:基于两条线段是否平行,中点距离,端点距离来判断是否满足双键和三键条件。

作为更进一步优选的技术方案之一,楔形键的识别方法是:基于形成三角形的特性来进行识别。

作为更进一步优选的技术方案之一,虚线键的识别方法是:基于多段平行的短虚线进行识别。

作为优选的技术方案之一,含有化学结构式的图片,其获取方式为对图片右键进行识别,具体方法是:将含有化学结构式的图片复制到结构式编辑器中,在结构式编辑器中显示的图片上添加右键点击事件,当用户在结构式编辑器中的图片上点击右键时出现菜单选项提示:“图像识别”,用户点击识别为化学结构式时,将其转化为字符串。

作为优选的技术方案之一,含有化学结构式的图片,其获取方式为截屏识别,具体方法是:刚启动截图程序时,抓取桌面截图,然后创建一个顶层窗口并最大化,将抓取的桌面截图作为窗口的背景,然后在窗口上涂一层透明色;处理鼠标点击与移动事件,当鼠标按下左键时,记录下当前点击的坐标,鼠标移动时,记录下鼠标移动的坐标,有了鼠标点击的坐标和移动时的坐标就生成一个截取的矩形区域,然后截取这个区域的桌面截图,再刷到截图的矩形区域;鼠标左键弹起时,作为用户最终的移动坐标,并和鼠标按下时的坐标生成一个截取的矩形区域,然后截取这个区域的桌面截图,并自动将此图片转化为字符串。

作为进一步优选的技术方案之一,采用com进程外组件技术,将屏幕截图功能做成一个单独的可执行模块提供给结构式编辑器使用。

作为优选的技术方案之一,含有化学结构式的图片,其获取方式为手动绘制结构识别,具体方法是:用户在结构式编辑器中打开手动绘制功能,此时出现画笔工具,用户使用画笔工具在画布上绘制分子,完成后将绘制的分子生成一个图片对象,并自动将此图片转化为字符串。

作为进一步优选的技术方案之一,所述结构式编辑器为indraw客户端;字符串为base64格式。

本发明的有益效果:

本发明将右键选中的图片信息,或者截屏软件提供的图片像素信息,或者手动绘制的结构图片信息结合化学分子图片的固有特征进行图片预处理,然后识别出图片中每个原子的坐标、原子的元素名称或者与原子连接的化学基团名称、不同化学键的类型以及电荷同位素等信息,最后汇总提取的信息生成分子mdlmol文件和smiles文件,最后在结构式编辑器中将分子的结构绘制并展现出来。本发明可以识别文献数据中图片格式的化学结构式,并且可以识别手动绘制的化学结构式,极大地优化了文献阅读以及移动端结构绘制体验,提高了化学研究者们的工作效率。

附图说明

图1是形成识别的键的集合;

图2是形成识别的字符的集合;

图3是将每个字符与键连起来示意图;

图4是写成的mdlmolfile文件。

具体实施方式

下面结合附图和实施例对本发明进行进一步的阐述,应该说明的是,下述说明仅是为了解释本发明,并不对其内容进行限定。

实施例1:

一种化学结构式的智能识别方法,包括以下步骤:

将含有化学结构式的图片数据转化为base64格式字符串通过http协议发送到后台;

后台接收到base64格式字符串后转换为图片,经过api识别接口识别为int格式的数据;

将int格式数据通过http协议返回给客户端最终得到相应分子的二维结构,并显示出来。

获取含有化学结构式的图片,将图片信息结合化学分子图片的固有特征进行图片预处理,然后识别出图片中每个原子的坐标、原子的元素名称或者与原子连接的化学基团名称、不同化学键的类型以及电荷同位素等信息,最后汇总提取的信息生成分子mdlmolfile文件和smiles文件,最后在indraw客户端中将分子的结构绘制并展现出来。

通过indraw客户端将int格式文件解析转化得到相应分子的二维结构,并在indraw客户端中显示;具体方法是:

1)灰度和二值化;

2)数据优化;

3)矢量化和键/节点检测;

4)识别。

步骤1)和步骤2)均通过opencv3工具包实现。

步骤2)为采用粗线细化算法将图片中的粗线细化。

步骤4)采用简单机器学习模型k近邻,具体方法如下:

4-1)对字符集合进行训练,提取字符的像素特性,然后基于字符像素特性提取化学分子图片中与之相似的字符,从而确定字符;

4-2)将识别的字符抠除,用potrace软件对图片中的线进行识别,potrace通过描图会把图片中每一条线给描边描出来;

4-3)对描绘边的点进行延伸从而确定图片中每条线的连接点和端点;

4-4)对图片中的直线进行识别,然后把识别的直线进行聚类,以及对识别线段的端点进行矫正,从而确定每个位置唯一的连接点和端点。

步骤4-4)直线的识别包括单键、双键和三键、楔形键、虚线键;其中,单键识别方法是:如果一条线段在一定的范围内没有平行线,则认为此线段为单键;双键和三键的识别方法是:基于两条线段是否平行,中点距离,端点距离来判断是否满足双键和三键条件;楔形键的识别方法是:基于形成三角形的特性来进行识别;虚线键的识别方法是:基于多段平行的短虚线进行识别。

含有化学结构式的图片,其获取方式为对图片右键进行识别,具体方法是:将含有化学结构式的图片复制到indraw客户端中,在indraw客户端中显示的图片上添加右键点击事件,当用户在indraw客户端中的图片上点击右键时出现菜单选项提示:“图像识别”,用户点击识别为化学结构式时,将其转化为base64格式。

实施例2:

一种化学结构式的智能识别方法,包括以下步骤:

将含有化学结构式的图片数据转化为base64格式字符串通过http协议发送到后台;

后台接收到base64格式字符串后转换为图片,经过api识别接口识别为int格式的数据;

将int格式数据通过http协议返回给客户端最终得到相应分子的二维结构,并显示出来。

获取含有化学结构式的图片,将图片信息结合化学分子图片的固有特征进行图片预处理,然后识别出图片中每个原子的坐标、原子的元素名称或者与原子连接的化学基团名称、不同化学键的类型以及电荷同位素等信息,最后汇总提取的信息生成分子mdlmolfile文件和smiles文件,最后在indraw客户端中将分子的结构绘制并展现出来。

通过indraw客户端将int格式文件解析转化得到相应分子的二维结构,并在indraw客户端中显示;具体方法是:

1)灰度和二值化;

2)数据优化;

3)矢量化和键/节点检测;

4)识别。

步骤1)和步骤2)均通过opencv3工具包实现。

步骤2)为采用粗线细化算法将图片中的粗线细化。

步骤4)采用简单机器学习模型k近邻,具体方法如下:

4-1)对字符集合进行训练,提取字符的像素特性,然后基于字符像素特性提取化学分子图片中与之相似的字符,从而确定字符;

4-2)将识别的字符抠除,用potrace软件对图片中的线进行识别,potrace通过描图会把图片中每一条线给描边描出来;

4-3)对描绘边的点进行延伸从而确定图片中每条线的连接点和端点;

4-4)对图片中的直线进行识别,然后把识别的直线进行聚类,以及对识别线段的端点进行矫正,从而确定每个位置唯一的连接点和端点。

步骤4-4)直线的识别包括单键、双键和三键、楔形键、虚线键;其中,单键识别方法是:如果一条线段在一定的范围内没有平行线,则认为此线段为单键;双键和三键的识别方法是:基于两条线段是否平行,中点距离,端点距离来判断是否满足双键和三键条件;楔形键的识别方法是:基于形成三角形的特性来进行识别;虚线键的识别方法是:基于多段平行的短虚线进行识别。

含有化学结构式的图片,其获取方式为截屏识别,具体方法是:刚启动截图程序时,抓取桌面截图,然后创建一个顶层窗口并最大化,将抓取的桌面截图作为窗口的背景,然后在窗口上涂一层透明色;处理鼠标点击与移动事件,当鼠标按下左键时,记录下当前点击的坐标,鼠标移动时,记录下鼠标移动的坐标,有了鼠标点击的坐标和移动时的坐标就生成一个截取的矩形区域,然后截取这个区域的桌面截图,再刷到截图的矩形区域;鼠标左键弹起时,作为用户最终的移动坐标,并和鼠标按下时的坐标生成一个截取的矩形区域,然后截取这个区域的桌面截图,并自动将此图片转化为base64格式。采用com进程外组件技术,将屏幕截图功能做成一个单独的可执行模块提供给indraw客户端使用。

实施例3:

一种化学结构式的智能识别方法,包括以下步骤:

将含有化学结构式的图片数据转化为base64格式字符串通过http协议发送到后台;

后台接收到base64格式字符串后转换为图片,经过api识别接口识别为int格式的数据;

将int格式数据通过http协议返回给客户端最终得到相应分子的二维结构,并显示出来。

获取含有化学结构式的图片,将图片信息结合化学分子图片的固有特征进行图片预处理,然后识别出图片中每个原子的坐标、原子的元素名称或者与原子连接的化学基团名称、不同化学键的类型以及电荷同位素等信息,最后汇总提取的信息生成分子mdlmolfile文件和smiles文件,最后在indraw客户端中将分子的结构绘制并展现出来。

通过indraw客户端将int格式文件解析转化得到相应分子的二维结构,并在indraw客户端中显示;具体方法是:

1)灰度和二值化;

2)数据优化;

3)矢量化和键/节点检测;

4)识别。

步骤1)和步骤2)均通过opencv3工具包实现。

步骤2)为采用粗线细化算法将图片中的粗线细化。

步骤4)采用简单机器学习模型k近邻,具体方法如下:

4-1)对字符集合进行训练,提取字符的像素特性,然后基于字符像素特性提取化学分子图片中与之相似的字符,从而确定字符;

4-2)将识别的字符抠除,用potrace软件对图片中的线进行识别,potrace通过描图会把图片中每一条线给描边描出来;

4-3)对描绘边的点进行延伸从而确定图片中每条线的连接点和端点;

4-4)对图片中的直线进行识别,然后把识别的直线进行聚类,以及对识别线段的端点进行矫正,从而确定每个位置唯一的连接点和端点。

步骤4-4)直线的识别包括单键、双键和三键、楔形键、虚线键;其中,单键识别方法是:如果一条线段在一定的范围内没有平行线,则认为此线段为单键;双键和三键的识别方法是:基于两条线段是否平行,中点距离,端点距离来判断是否满足双键和三键条件;楔形键的识别方法是:基于形成三角形的特性来进行识别;虚线键的识别方法是:基于多段平行的短虚线进行识别。

含有化学结构式的图片,其获取方式为手动绘制结构识别,具体方法是:用户在indraw客户端中打开手动绘制功能,此时出现画笔工具,用户使用画笔工具在画布上绘制分子,完成后将绘制的分子生成一个图片对象,并自动将此图片转化为base64格式。

如图1所示形成识别的键的集合,其中虚线键标记为-1,楔形键标记为0,单键标记为1,双键标记为2,三键标记为3;如图2所示形成识别的字符的集合,其中标记圆点处表示字符的中心位置;将每个字符与键连起来,如图3所示;最后,基于上述坐标信息,写成mdlmolfile形式,如图4所示。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1