CN110751152B - 检测任意形状文本的方法 - Google Patents

检测任意形状文本的方法 Download PDF

Info

Publication number
CN110751152B
CN110751152B CN201910994519.9A CN201910994519A CN110751152B CN 110751152 B CN110751152 B CN 110751152B CN 201910994519 A CN201910994519 A CN 201910994519A CN 110751152 B CN110751152 B CN 110751152B
Authority
CN
China
Prior art keywords
text
feature
pixel
sampling
coordinate offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910994519.9A
Other languages
English (en)
Other versions
CN110751152A (zh
Inventor
张勇东
周宇
谢洪涛
李岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN201910994519.9A priority Critical patent/CN110751152B/zh
Publication of CN110751152A publication Critical patent/CN110751152A/zh
Application granted granted Critical
Publication of CN110751152B publication Critical patent/CN110751152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种检测任意形状文本的方法,通过使用特征增强模块能够通过提取全局上下文信息来增大感受野,使得网络能检测很长和很大的文本;此外,特征增强模块还能使网络知道哪些区域属于同一个文本,从而解决了现有方法把具有大的字符间距的文本错误检测为多个文本的问题。其次,通过学习像素间的紧凑性(属于同一个文本实例的像素的关系密切,反之亦然),用X坐标偏移图和Y坐标的偏移图来指导文本分割图,从而重构出更精确的文本边框,从而解决了现有方法将靠得近的两个文本实例错误地检测为一个的问题。最后,本方法能够检测任意形状的文本,解决了现有很多方法只能检测形状规则的文本的问题。

Description

检测任意形状文本的方法
技术领域
本发明涉及文本检测技术领域,尤其涉及一种检测任意形状文本的方法。
背景技术
场景文本检测是指从自然场景图像中定位出其中包含的所有文本,是文本识别的前提步骤,在图像检索,场景理解,自动驾驶和文本翻译等领域有很多应用。
主流的文本检测方法可以大致分为基于回归和基于分割两类方法。
基于回归的文本检测方法对于不规则形状的文本(如曲形文本)的检测效果不佳,检测得到的框包括了大量的背景。
基于分割的方法虽然能检测任意形状的文本,但是经常会将靠得很近的两个文本实例检测为一个,并且会将字符间距大的文本实例错误地检测为多个文本。
发明内容
本发明的目的是提供一种检测任意形状文本的方法,能够检测任意形状的文本,如水平文本、多方向文本以及曲形文本等。此外,还能有效地将两个靠得很近的文本区分开,并且能很好地定位字符间距很大的文本实例。
本发明的目的是通过以下技术方案实现的:
一种检测任意形状文本的方法,其特征在于,包括:
通过特征提取网络,提取待检测文本图像的特征,再通过上采样与下采样操作获得不同尺度的特征图;其中,特征提取网络中设有特征增强模块,能够提取图像中的全局上下文信息并增大感受野;
对所有不同尺度的特征图统一进行上采样,并进行级联后通过卷积操作,得到文本与非文本分割图、每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移;
使用中心感知的聚类算法,利用每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移,指导文本与非文本分割图重建出文本边框。
由上述本发明提供的技术方案可以看出,通过使用特征增强模块(FE模块)能够通过提取全局上下文信息来增大感受野,使得网络能检测很长和很大的文本;此外,FE模块还能使网络知道哪些区域属于同一个文本,从而解决了现有方法把具有大的字符间距的文本错误检测为多个文本的问题。其次,通过学习像素间的紧凑性(属于同一个文本实例的像素的关系是密切的,反之亦然),用X坐标偏移图和Y坐标的偏移图来指导文本分割图,从而重构出更精确的文本边框,从而解决了现有方法将靠得近的两个文本实例错误地检测为一个的问题。最后,本方法能够检测任意形状的文本,解决了现有很多方法只能检测形状规则的文本的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种检测任意形状文本的方法的框架图;
图2为本发明实施例提供的本发明方案在四种文本图像数据上的检测结果。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种检测任意形状文本的方法,该方法它结合了基于分割的方法以及基于回归的方法的优点,因此能够检测任意形状的文本,如水平文本、多方向文本以及曲形文本等。此外,该方法还能有效地将两个靠得很近的文本区分开,并且能很好地定位字符间距很大的文本实例,解决现有许多方法对于曲形文本、靠得近的文本、以及字符间距大的文本的检测困难的问题。如图1所示,该方法主要包括:
1、通过特征提取网络,提取待检测文本图像的不同尺度的特征;其中,特征提取网络中设有特征增强模块,能够提取图像中的全局上下文信息并增大感受野。
本步骤中,通过设有特征增强模块的特征提取网络提取待检测文本图像的特征;特征经过下采样之后,使用双线性插值进行上采样,再将下采样得到的特征图和上采样得到的特征图进行融合,得到不同尺度的特征图。下采样与上采样具体参数数值可根据实际情况来设定。
示例性的,在特征提取的过程中,使用的主干网络可以是ResNet50,并且在ResNet50的stage3,stage4,stage5之后插入了特征增强模块(FE模块),目的是提取全局上下文信息,增大感受野,从而解决字符间距大的文本被错误检测为几个文本的问题。
值得注意的是,ResNet50网络是常规的神经网络,其具体的结构可参见现有技术,故不赘述。
本发明实施例中,FE模块的设计是受到注意力机制的启发,但是实现的方式与现有的注意力机制不一样。具体如下:对于相应stage的输出特征,通过对应的FE模块在空间级上分别提取最大特征值和平均特征值,从而得到平均池化特征和最大池化特征,前者可以计算空间整体的统计特性,而后者可以聚集了目标的独特特性。通过这种方式,特征上的每个点的响应都与所有点有关(相当于每个点都是由全局决定,而不是局部,因此能够感受到全局信息),所以能提取全局上下文信息,增大了感受野。
此外,图1所示的待检测文本图像的内容也仅为举例,并非构成限制。
2、对所有不同尺度的特征图统一进行上采样,并进行级联后通过卷积操作,预测得到文本与非文本分割图、每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移。
本发明实施例中,将所有尺度的特征统一上采样到指定比例的待检测文本图像的大小(例如,四分一的原图大小),再通过级联操作(Cat)得到包含多种尺度特征的特征图;之后,使用1×1卷积操作将包含多种尺度特征的特征图的通道数变为3,也即,变为3通道的特征图,将3通道的特征图上采样为输入图像(即待检测文本图像)大小后作为网络的输出;3个通道分别为文本与非文本分割图(Segmentation map)、每个像素到包含它的文本框的中心点的X坐标偏移(X coordinate offset)、以及每个像素到包含它的文本框的中心点的Y坐标偏移(Y coordinate offset)。
3、使用中心感知的聚类算法,利用每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移,指导文本与非文本分割图重建出文本边框(Shape reconstruction)。
本发明实施例上述方案主要具有如下有益效果:
与现有方法相比,该方法通过使用FE模块能够通过提取全局上下文信息来增大感受野,使得网络能检测很长和很大的文本;此外,FE模块还能使网络知道哪些区域属于同一个文本,从而解决了现有方法把具有大的字符间距的文本错误检测为多个文本的问题。其次,我们通过学习像素间的紧凑性(属于同一个文本实例的像素的关系密切,反之亦然),用X坐标偏移图和Y坐标的偏移图来指导文本分割图,由于每个文本实例的中心点是唯一的,而且不同文本实例的中心点不重叠,因此能够解决现有方法将靠得近的两个文本实例错误地检测为一个的问题。最后,本方法能够检测任意形状的文本,解决了现有很多方法只能检测形状规则的文本的问题。如图2所示,为本发明方案在四种文本图像数据上的检测结果,本方法在Total-Text和CTW1500两个曲形文本数据集上达到了最先进的效果,同时在ICDAR2015和ICDAR2017 MLT数据集上与现有的最好方法的性能基本持平。图2中的(a)~(d)四个部分分别对应于ICDAR2015、ICDAR2017 MLT、CTW1500、Total-Text的检测结果,每一部分均给出上下排列的两幅检测结果作为示意。
本发明上述方案可以用于文本翻译,基于本发明提供的方案对包含阿拉伯语、孟加拉语、韩语、日语、英语、汉语和符号等的文本图像同时进行检测;然后将输入到相应的文本识别网络中识别出检测到的文本,最后利用翻译系统进行翻译。在实施上,可以以软件的方式安装于服务器,能够有效地检测多种语言多种形状的文本。
为了便于理解,下面结合具体的示例对本发明上述方案做详细的介绍。
从网上下载Total-Text和CTW1500这两种曲形文本数据集,并从ICDAR官网下载ICDAR2015、ICDAR2017 MLT两种数据集,其中包含训练集和测试集。训练集用于训练网络模型(也即实现前述步骤1~2的网络模型)使其学到如何判断哪些是文本,测试集用于测试学习得到的模型的性能。
一次取8幅训练集数据图像,缩放成608×608大小之后,输入到图1的网络模型中。图像首先被传送到具有FE模块特征提取网络中。FE模块主要有两个作用:一是用于提取全局上下文信息,从而使得网络更能辨别哪些区域属于同一个文本实例,从而解决了字符间距大的文本实例会被错误地检测为多个文本的问题;二是增大了感受野,从而解决了对于长文本只检测到一部分的问题。特征经过下采样之后,使用双线性插值进行上采样,然后将下采样过程中的特征图和上采样的特征图进行融合,得到了包含更丰富信息的特征图;通过设置不同的下采样与上采样参数,得到不同尺度的特征图。再将这些经过融合之后的不同尺度的特征图统一上采样到输入图像的1/4大小,再级联得到包含各种尺度特征的特征图。通过卷积操作使网络有3个输出,其中1个代表文本/非文本分割图(像素点是否属于文本的分割图),另2个分别代表每个像素到它所在的那个文本框的中心的X坐标和Y坐标的偏移。由于每个文本实例的中心都是互不相同的,因此可以根据X坐标和Y坐标的偏移来解决靠得很近的文本实例难以区分的问题。得到这三个预测结果之后,使用中心感知的聚类算法,用X坐标偏移图和Y坐标的偏移图来指导文本分割图,从而重构出更精确的文本边框。
网络模型参数初始化采用随机初始化,对网络模型参数进行更新,用于更新该网络模型参数的损失函数包括文本/非文本分割图的损失函数Lseg以及每个像素到它所在文本框的中心的X坐标偏移和Y坐标偏移Lreg
L=λLseg+Lreg
Lreg=Lx_center+Ly_center
其中,Lx_center、Ly_center分别表示每个像素到它所在文本框的中心的X坐标偏移的损失和Y坐标偏移的损失。这两个损失都是使用smooth-L1 loss来度量,smooth-L1 loss一般用于回归任务种,用来计算距离的损失函数,预测的与真实的越靠近,则这个损失越小,反之越大。Lseg为dice_loss,dice_loss这里是用来计算文本/非文本分割图预测是否准确,它主要是衡量预测的分割图与真实分割图的相似度,是文本的地方被预测为文本,则说明预测的和真实的相似度高,损失就小,反之损失大。实验中,系数λ可设置为10。
本示例中,整个方案可用PyTorch实现,它由SGD优化器进行优化,初始学习率lr为0.001,权重衰减为0.0001,momentum为0.95,批量大小设置为8,所有的新层使用均值为0,方差为0.001的高斯分布来初始化。整个方案在Ubuntu上使用一个Nvidia K80GPU进行训练,在ICDAR2015上训练模型需要两天时间。
本领域技术人员可以理解,本发明骨干网络可以是本领域熟知的Resnet50网络,关于Resnet50网络,官方已经提供训练好的相关参数,其他用户可以直接使用。此外,Resnet50网络之后还会设置卷积层,例如,前文提到的FE模块,以及后续还可以设置一些3×3的卷积层和1×1的卷积层等,具体结构可根据情况来调整。Resnet50网络之后设置卷积层等新增的层都称为新层。
值得注意的是,上述示例中所涉及的具体数值以及实现的具体平台(设备)均为举例,并非构成限制。并且,所提到的四种文本图像数据集均为本领域通用的数据集,可通过网络直接下载得到。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (3)

1.一种检测任意形状文本的方法,其特征在于,包括:
通过特征提取网络,提取待检测文本图像的特征,再通过上采样与下采样操作获得不同尺度的特征图;其中,特征提取网络中设有特征增强模块,特征增强模块在空间级上分别提取最大特征值和平均特征值,从而得到平均池化特征和最大池化特征,平均池化特征能够计算空间整体的统计特性,最大池化特征聚集了目标的独特特性,通过特征增强模块使得特征上的每个点的响应都与所有点有关,能够提取图像中的全局上下文信息并增大感受野;特征增强模块还能使特征提取网络知道哪些区域属于同一个文本;
对所有不同尺度的特征图统一进行上采样,并进行级联后通过卷积操作,得到文本与非文本分割图、每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移;
使用中心感知的聚类算法,利用每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移,指导文本与非文本分割图重建出文本边框。
2.根据权利要求1所述的一种检测任意形状文本的方法,其特征在于,所述通过特征提取网络,提取待检测文本图像的不同尺度的特征,再通过上采样与下采样操作获得不同尺度的特征图包括:
通过设有特征增强模块的特征提取网络提取待检测文本图像的特征;
特征经过下采样之后,使用双线性插值进行上采样,再将下采样得到的特征图和上采样得到的特征图进行融合,得到不同尺度的特征。
3.根据权利要求1所述的一种检测任意形状文本的方法,其特征在于,所述对所有不同尺度的特征图统一进行上采样,并进行级联后通过卷积操作,预测得到文本与非文本分割图、每个像素到包含它的文本框的中心点的X坐标偏移、以及每个像素到包含它的文本框的中心点的Y坐标偏移包括:
将所有尺度的特征图统一上采样到指定比例的待检测文本图像的大小,再通过级联操作得到包含多种尺度特征的特征图;
之后,使用1×1卷积操作将包含多种尺度特征的特征图的通道数变为3,即3通道的特征图;
将3通道的特征图上采样为待检测文本图像大小后作为最终输出;3个通道分别对应于文本与非文本分割图、每个像素到包含它的文本框的中心点的X坐标偏移、每个像素到包含它的文本框的中心点的Y坐标偏移。
CN201910994519.9A 2019-10-18 2019-10-18 检测任意形状文本的方法 Active CN110751152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910994519.9A CN110751152B (zh) 2019-10-18 2019-10-18 检测任意形状文本的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910994519.9A CN110751152B (zh) 2019-10-18 2019-10-18 检测任意形状文本的方法

Publications (2)

Publication Number Publication Date
CN110751152A CN110751152A (zh) 2020-02-04
CN110751152B true CN110751152B (zh) 2021-06-08

Family

ID=69278903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910994519.9A Active CN110751152B (zh) 2019-10-18 2019-10-18 检测任意形状文本的方法

Country Status (1)

Country Link
CN (1) CN110751152B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232315B (zh) * 2020-12-11 2021-03-19 北京易真学思教育科技有限公司 文本框检测方法、装置、电子设备和计算机存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608456B (zh) * 2015-12-22 2017-07-18 华中科技大学 一种基于全卷积网络的多方向文本检测方法
CN106778757B (zh) * 2016-12-12 2019-06-04 哈尔滨工业大学 基于文本显著性的场景文本检测方法
CN110135408B (zh) * 2019-03-26 2021-02-19 北京捷通华声科技股份有限公司 文本图像检测方法、网络以及设备
CN110287960B (zh) * 2019-07-02 2021-12-10 中国科学院信息工程研究所 自然场景图像中曲线文字的检测识别方法

Also Published As

Publication number Publication date
CN110751152A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
CN111461114B (zh) 一种基于分割的多尺度特征金字塔文本检测方法
US10769487B2 (en) Method and device for extracting information from pie chart
RU2661750C1 (ru) Распознавание символов с использованием искусственного интеллекта
Wang et al. FE-YOLOv5: Feature enhancement network based on YOLOv5 for small object detection
CN111582241B (zh) 视频字幕识别方法、装置、设备及存储介质
CN110032998B (zh) 自然场景图片的文字检测方法、系统、装置和存储介质
WO2019232853A1 (zh) 中文模型训练、中文图像识别方法、装置、设备及介质
CN104463101B (zh) 用于文字性试题的答案识别方法及系统
US20220237403A1 (en) Neural network based scene text recognition
CN102034107B (zh) 基于鲁棒视觉注意特征与稀疏表示的不良图像判别方法
CN112613375A (zh) 一种轮胎受损检测识别方法和设备
CN113723328B (zh) 一种图表文档面板分析理解方法
CN110929640B (zh) 一种基于目标检测的宽幅遥感描述生成方法
CN111723815A (zh) 模型训练方法、图像处理方法、装置、计算机系统和介质
CN103136757A (zh) 基于流形距离的两阶段聚类算法的sar图像分割方法
CN113158777B (zh) 质量评分方法、质量评分模型的训练方法及相关装置
CN110276351A (zh) 多语言场景文本检测与识别方法
CN110457677A (zh) 实体关系识别方法及装置、存储介质、计算机设备
CN112270285B (zh) 一种基于稀疏表示和胶囊网络的sar图像变化检测方法
CN113239753A (zh) 基于YOLOv4改进的交通标志检测与识别方法
CN112215188B (zh) 交警姿态识别方法、装置、设备及存储介质
CN103440508A (zh) 基于视觉词袋模型的遥感图像目标识别方法
CN114332473A (zh) 目标检测方法、装置、计算机设备、存储介质及程序产品
CN110059212A (zh) 图像检索方法、装置、设备及计算机可读存储介质
CN115330703A (zh) 基于上下文信息融合的遥感影像云与云阴影检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant