CN108647599A - 结合3d跃层连接和循环神经网络的人体行为识别方法 - Google Patents
结合3d跃层连接和循环神经网络的人体行为识别方法 Download PDFInfo
- Publication number
- CN108647599A CN108647599A CN201810394571.6A CN201810394571A CN108647599A CN 108647599 A CN108647599 A CN 108647599A CN 201810394571 A CN201810394571 A CN 201810394571A CN 108647599 A CN108647599 A CN 108647599A
- Authority
- CN
- China
- Prior art keywords
- video
- recognition
- neural network
- recurrent neural
- feature
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种结合3D跃层连接和循环神经网络的人体行为识别方法,包括如下步骤:步骤1,将每段视频划分为N部分,从每部分提取L帧图片,N、L均为自然数;步骤2,利用训练好的3D卷积神经网络对视频进行时空特征提取,并将不同层次的时空特征进行串联连接得到高维特征向量;步骤3,对步骤2得到的高维特征向量进行规范化处理;步骤4,将步骤3中规范化处理后的高维特征向量送入循环神经网络,进行特征融合;步骤5,对步骤4中融合后的特征进行分类,得到视频对应的动作类别。此种方法不需要人工提取低层运动信息,相比人工运动特征设计方法,本发明具有更好的鲁棒性,同时能有效处理较长时间的视频信息。
Description
技术领域
本发明属于计算机视觉识别技术领域,特别涉及一种结合3D卷积层跃层连接和循环神经网络的人体行为识别方法。
背景技术
由于人体行为识别在视频监控、人机交互、虚拟现实等领域有着重要的应用前景和市场价值,因此基于视频的人体动作识别已成为计算机视觉中研究热点之一。同时,随着深度学习的尤其是卷积神经网络在计算机视觉中取得了有效的成果,基于卷积神经网络的人体行为得到了大量研究者的关注。
专利号为CN201611117772.9的《基于轨迹和卷积神经网络特征提取的行为识别方法》首先对输入的图像视频数据提取轨迹,再利用卷积神经网络提取卷积特征,然后结合轨迹和卷积层特征抽取基于轨迹约束的卷积特征并提取栈式局部费舍尔向量特征,最后训练支持矢量机模型,达到分类目的。
专利号为CN201510527937.9的《基于3D卷积神经网络的人体行为识别方法》首先筛选人体行为特征明显的图像并保存,然后对保存后的图像,分别提取灰度、x和y方向的梯度和光流共计五个通道信息,接着利用卷积神经网络提取五个通道信息的卷积特征最后实现分类。
以上两种方法都需要提前利用视频数据提取低维运动信息,无法直接将原始视频数据送入网络,因此无法实现端对端的分类预测。
专利号为CN201610047682.0的《基于深度学习和多尺度信息的行为识别方法》首先将深度视频拆分成多个视频段,然后对每个视频段使用分支神经网络进行学习,再对并行运行的各神经网络分支学习到的高层表示进行简单融合连接,最后将融合后的高层表示送入全连接层和分类层进行分类识别。此方法中当输入持续时间较长的视频时,会使得融合后的特征维度过高,从而使得网络较难训练。
综上所述,虽然国内外对基于卷积神经网络的动作识别有较多研究,但存在需要对视频数据提前进行人工运动信息提取或者无法处理持续时间较长的视频等问题。
发明内容
本发明的目的,在于提供一种结合3D跃层连接和循环神经网络的人体行为识别方法,其不需要人工提取低层运动信息,相比人工运动特征设计方法,本发明具有更好的鲁棒性,同时能有效处理较长时间的视频信息。
为了达成上述目的,本发明的解决方案是:
一种结合3D跃层连接和循环神经网络的人体行为识别方法,包括如下步骤:
步骤1,将每段视频划分为N部分,从每部分提取L帧图片,N、L均为自然数;
步骤2,利用训练好的3D卷积神经网络对视频进行时空特征提取,并将不同层次的时空特征进行串联连接得到高维特征向量;
步骤3,对步骤2得到的高维特征向量进行规范化处理;
步骤4,将步骤3中规范化处理后的高维特征向量送入循环神经网络,进行特征融合;
步骤5,对步骤4中融合后的特征进行分类,得到视频对应的动作类别。
上述步骤1中,若视频总帧数小于48帧则舍弃该视频,若视频总帧数不能被L整除,则舍弃最后几帧。
上述步骤1中,将每段视频划分为N部分,从每部分提取L帧图片的内容是:将一个视频按帧数平均划分为N=3部分,每部分包含相同帧数,并从每部分中等间隔提取L=16帧图片。
上述步骤2的具体过程是:
迁移学习:利用训练好的C3D网络的卷积和池化层作为特征提取器,对步骤1中每个16帧输入进行时空特征提取,得到pool5num维的输出向量,对整个视频进行时空特征提取,提取后结果用二维张量(3,pool5num)表示,其中,pool5num表示特征提取器池化层5的输出维度;
串联连接:对每个16帧输入,将特征提取器的池化层1、池化层2、池化层3和池化层5的输出进行串联连接,得到poolall_num维的特征向量,对整个视频进行特征串联连接操作,串联连接后的结果用二维张量(3,poolall_num)表示,其中,poolall_num=pool1num+pool2num+pool3num+pool5num,pool1num,pool2num,pool3num分别表示特征提取器池化层1、池化层2、池化层3的输出维度。
上述步骤3中,进行规范化处理的具体过程是:
在整个训练集上求取步骤2中高维特征向量的每个维度的均值E[x(k)]与方差Var[x(k)],然后对特征向量的每个维度进行标准化,标准化公式为:
其中,x(k)表示激活值,表示标准化处理后的值;
然后,用如下公式对进行转化,得到通过γ(k)和β(k)变化后的新值y(k),则y(k)表示经过规范化处理后的特征值:
其中,γ(k)和β(k)均为循环神经网络参数,由网络学习得到。
上述步骤4中,将步骤3中规范化处理后的高维特征向量送入循环神经网络,进行特征融合的具体内容是:将经过规范化处理后的二维张量(3,poolall_num)送入循环神经网络,其中,循环神经网络的时间步长为3,包含一个隐层,隐层中包含的神经元数目为256。
上述步骤5中,利用多类Softmax分类器,对步骤4中循环神经网络的输出进行线性分类。
采用上述方案后,本发明的有益效果如下:
(1)利用C3D网络直接提取视频的时空信息,不需要对视频数据提前进行运动信息提取,实现端对端识别方式;
(2)串联连接由卷积核提取到的不同层次的特征信息,相比于人工设计提取视频的低层运动信息,卷积核输出的低层时空信息具有更高的鲁棒性,同时更为全面;
(3)将特征提取器中不同层次的特征进行串联连接,得到包含不同层次信息的高位特征向量,此步骤可显著提升识别准确性;
(4)对高维特征向量进行规范化处理,加速网络收敛;
(5)利用循环神经网络在规范化后的特征向量上进行进一步时域信息融合,使得整个网络结构能处理长时间的视频输入。
附图说明
图1是本发明的流程图;
图2是本发明的网络结构图;
图3是循环神经网络细节图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
如图1所示,本发明提供一种结合3D跃层连接和循环神经网络的人体行为识别方法,具体过程体现在如下步骤:
视频分段,将一个视频按帧数平均划分为3部分,从每个部分等间隔提取16帧图片组成一个片段,其中,若视频总帧数小于48帧则舍弃该视频,若视频总帧数若不能被3整除,则舍弃最后几帧。
视频分段结束后,一个视频可表示为5维张量(3,16,H,W,3),每个16帧片段可表示为4维张量(16,H,W,3),其中,3表示视频被均匀划分为3部分,16表示从每个部分提取16帧图片,H,W分别代表图片的长宽尺寸,3表示图片的通道数,这里代表RGB图片。
将训练集视频按照上述原则划分,划分后训练集中每个视频都表示为5维张量(3,16,H,W,3),将每个视频缩放到3×16×128×171×3大小,则每个视频可表示为5维张量(3,16,128,171,3),16代表每个片段帧数,128、171、3分别代表每帧图片的长、宽以及通道数。
对一个视频,将5维张量(3,16,128,171,3)转化为3个4维张量(16,128,171,3)表示形式。
按照上一步骤,将所有训练集数据按都变为(16,128,171,3)形式,其中,每个视频包括连续的3个4维张量(16,128,171,3)。
对训练集的所有4维张量(16,128,171,3)求均值,求得的均值用4维张量mean=(16,128,171,3)表示。
将训练集中所有片段减去mean=(16,128,171,3),使得训练集中每个像素值都分布在零附近,此步骤可消除噪音对分类的影响。
对一个视频,将减去均值的3个连续的4维张量(16,128,171,3)转化为5维张量(3,16,128,171,3)。
将训练集中所有视频数据按照上一步骤,转化为5维张量(3,16,128,171,3)表示形式,并将减均值处理后的5维张量裁剪为(3,16,112,112,3)大小。
将处理后的视频送入C3D特征提取器,对每个视频,连续3次每次送入1个16帧片段,即每次送入4维张量(16,112,112,3),输出pool5num维向量,最终每个视频特征用2维张量(3,pool5num)表示,其中,pool5num表示特征提取器池化层5的输出维度。
对每个视频,将特征提取器的池化层1、池化层2、池化层3和池化层5的输出进行串联连接,如图2所示,串联连接后的高维特征用二维张量(3,poolall_num)表示,其中,poolall_num=pool1num+pool2num+pool3num+pool5num,pool1num,pool2num,pool3num分别表示特征提取器池化层1、池化层2、池化层3的输出维度。
将整个训练集送入特征提取器并经行串联连接操作,得到高维特征训练数据。
将得到的高维特征训练数据送入循环神经网络,如图2所示,其中,在送入循环神经网络之前先进行规范化操作,如图2所示,这里添加规范化层以加速网络收敛速度和收敛效果。
规范化操作由两个步骤组成,首先,对特征进行标准化,在整个训练集上求取高维特征在pool5num维度上每个维度的均值E[x(k)]与方差Var[x(k)],然后对每个激活输入x(k)进行标准化,表示标准化处理后的值,标准化公式为:
其次,为了不改变特征向量的表达能力,用如下公式对进行转化,得到通过γ(k)和β(k)变化后的新值y(k),则y(k)表示经过规范化处理后的特征值:
其中,γ(k)和β(k)由网络学习得到。
利用反向传播,训练循环神经网络参数和参数γ(k),β(k),得到训练好的网络。
对输入视频预测时,将一个视频按帧数平均划分为3部分,从每个部分等间隔提取16帧图片组成一个片段,则该视频可表示为5维张量(3,16,H,W,3)。
将待预测视频(3,16,H,W,3)先缩放到(3,16,128,171,3)大小,然后对每个16帧视频减去均值mean=(16,128,171,3),再在每帧图片中心裁剪,处理后的待预测视频可表示为5维张量(3,16,112,112,3)。
将处理后的待预测视频(3,16,112,112,3)转化为3个4维张量(16,112112,3)并依次送入网络,得到串联连接后的高维特征(3,poolall_num)。
将待预测视频的高维特征(3,poolall_num)送入训练好的BN层和循环神经网络,得到预测输出。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (7)
1.一种结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于包括如下步骤:
步骤1,将每段视频划分为N部分,从每部分提取L帧图片,N、L均为自然数;
步骤2,利用训练好的3D卷积神经网络对视频进行时空特征提取,并将不同层次的时空特征进行串联连接得到高维特征向量;
步骤3,对步骤2得到的高维特征向量进行规范化处理;
步骤4,将步骤3中规范化处理后的高维特征向量送入循环神经网络,进行特征融合;
步骤5,对步骤4中融合后的特征进行分类,得到视频对应的动作类别。
2.如权利要求1所述的结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于:所述步骤1中,若视频总帧数小于48帧则舍弃该视频,若视频总帧数不能被L整除,则舍弃最后几帧。
3.如权利要求1所述的结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于:所述步骤1中,将每段视频划分为N部分,从每部分提取L帧图片的内容是:将一个视频按帧数平均划分为N=3部分,每部分包含相同帧数,并从每部分中等间隔提取L=16帧图片。
4.如权利要求2所述的结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于:所述步骤2的具体过程是:
迁移学习:利用训练好的C3D网络的卷积和池化层作为特征提取器,对步骤1中每个16帧输入进行时空特征提取,得到pool5num维的输出向量,对整个视频进行时空特征提取,提取后结果用二维张量(3,pool5num)表示,其中,pool5num表示特征提取器池化层5的输出维度;
串联连接:对每个16帧输入,将特征提取器的池化层1、池化层2、池化层3和池化层5的输出进行串联连接,得到poolall_num维的特征向量,对整个视频进行特征串联连接操作,串联连接后的结果用二维张量(3,poolall_num)表示,其中,poolall_num=pool1num+pool2num+pool3num+pool5num,pool1num,pool2num,pool3num分别表示特征提取器池化层1、池化层2、池化层3的输出维度。
5.如权利要求1所述的结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于:所述步骤3中,进行规范化处理的具体过程是:
在整个训练集上求取步骤2中高维特征向量的每个维度的均值E[x(k)]与方差Var[x(k)],然后对特征向量的每个维度进行标准化,标准化公式为:
其中,x(k)表示激活值,表示标准化处理后的值;
然后,用如下公式对进行转化,得到通过γ(k)和β(k)变化后的新值y(k),则y(k)表示经过规范化处理后的特征值:
其中,γ(k)和β(k)均为循环神经网络参数,由网络学习得到。
6.如权利要求1所述的结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于:所述步骤4中,将步骤3中规范化处理后的高维特征向量送入循环神经网络,进行特征融合的具体内容是:将经过规范化处理后的二维张量(3,poolall_num)送入循环神经网络,其中,循环神经网络的时间步长为3,包含一个隐层,隐层中包含的神经元数目为256。
7.如权利要求1所述的结合3D跃层连接和循环神经网络的人体行为识别方法,其特征在于:所述步骤5中,利用多类Softmax分类器,对步骤4中循环神经网络的输出进行线性分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810394571.6A CN108647599B (zh) | 2018-04-27 | 2018-04-27 | 结合3d跃层连接和循环神经网络的人体行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810394571.6A CN108647599B (zh) | 2018-04-27 | 2018-04-27 | 结合3d跃层连接和循环神经网络的人体行为识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647599A true CN108647599A (zh) | 2018-10-12 |
CN108647599B CN108647599B (zh) | 2022-04-15 |
Family
ID=63747937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810394571.6A Active CN108647599B (zh) | 2018-04-27 | 2018-04-27 | 结合3d跃层连接和循环神经网络的人体行为识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647599B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961037A (zh) * | 2019-03-20 | 2019-07-02 | 中共中央办公厅电子科技学院(北京电子科技学院) | 一种考场视频监控异常行为特征识别方法 |
CN109977854A (zh) * | 2019-03-25 | 2019-07-05 | 浙江新再灵科技股份有限公司 | 一种电梯监控环境下异常行为检测分析*** |
CN110839156A (zh) * | 2019-11-08 | 2020-02-25 | 北京邮电大学 | 一种基于视频图像的未来帧预测方法及模型 |
CN111460889A (zh) * | 2020-02-27 | 2020-07-28 | 平安科技(深圳)有限公司 | 一种基于语音及图像特征的异常行为识别方法、装置及设备 |
CN112449155A (zh) * | 2020-10-21 | 2021-03-05 | 苏州怡林城信息科技有限公司 | 一种保护人员隐私的视频监控方法和*** |
CN112863482A (zh) * | 2020-12-31 | 2021-05-28 | 思必驰科技股份有限公司 | 带有韵律的语音合成方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599907A (zh) * | 2016-11-29 | 2017-04-26 | 北京航空航天大学 | 多特征融合的动态场景分类方法与装置 |
WO2017211395A1 (en) * | 2016-06-07 | 2017-12-14 | Toyota Motor Europe | Control device, system and method for determining the perceptual load of a visual and dynamic driving scene |
CN107506712A (zh) * | 2017-08-15 | 2017-12-22 | 成都考拉悠然科技有限公司 | 一种基于3d深度卷积网络的人类行为识别的方法 |
CN107811626A (zh) * | 2017-09-10 | 2018-03-20 | 天津大学 | 一种基于一维卷积神经网络和s变换的心律失常分类方法 |
-
2018
- 2018-04-27 CN CN201810394571.6A patent/CN108647599B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017211395A1 (en) * | 2016-06-07 | 2017-12-14 | Toyota Motor Europe | Control device, system and method for determining the perceptual load of a visual and dynamic driving scene |
CN106599907A (zh) * | 2016-11-29 | 2017-04-26 | 北京航空航天大学 | 多特征融合的动态场景分类方法与装置 |
CN107506712A (zh) * | 2017-08-15 | 2017-12-22 | 成都考拉悠然科技有限公司 | 一种基于3d深度卷积网络的人类行为识别的方法 |
CN107811626A (zh) * | 2017-09-10 | 2018-03-20 | 天津大学 | 一种基于一维卷积神经网络和s变换的心律失常分类方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961037A (zh) * | 2019-03-20 | 2019-07-02 | 中共中央办公厅电子科技学院(北京电子科技学院) | 一种考场视频监控异常行为特征识别方法 |
CN109977854A (zh) * | 2019-03-25 | 2019-07-05 | 浙江新再灵科技股份有限公司 | 一种电梯监控环境下异常行为检测分析*** |
CN110839156A (zh) * | 2019-11-08 | 2020-02-25 | 北京邮电大学 | 一种基于视频图像的未来帧预测方法及模型 |
CN111460889A (zh) * | 2020-02-27 | 2020-07-28 | 平安科技(深圳)有限公司 | 一种基于语音及图像特征的异常行为识别方法、装置及设备 |
CN111460889B (zh) * | 2020-02-27 | 2023-10-31 | 平安科技(深圳)有限公司 | 一种基于语音及图像特征的异常行为识别方法、装置及设备 |
CN112449155A (zh) * | 2020-10-21 | 2021-03-05 | 苏州怡林城信息科技有限公司 | 一种保护人员隐私的视频监控方法和*** |
CN112863482A (zh) * | 2020-12-31 | 2021-05-28 | 思必驰科技股份有限公司 | 带有韵律的语音合成方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108647599B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647599A (zh) | 结合3d跃层连接和循环神经网络的人体行为识别方法 | |
CN105205475B (zh) | 一种动态手势识别方法 | |
CN103942751B (zh) | 一种视频关键帧提取方法 | |
CN110070033B (zh) | 一种电力领域危险工作区域内安全帽佩戴状态检测方法 | |
CN107527351B (zh) | 一种融合fcn和阈值分割的哺乳母猪图像分割方法 | |
US20220051025A1 (en) | Video classification method and apparatus, model training method and apparatus, device, and storage medium | |
CN107330372B (zh) | 一种基于视频的人群密度与异常行为检测***的分析方法 | |
CN105740945B (zh) | 一种基于视频分析的人群计数方法 | |
CN106600560B (zh) | 一种适用于行车记录仪的图像去雾方法 | |
Riche et al. | Dynamic saliency models and human attention: A comparative study on videos | |
CN109101876A (zh) | 基于长短时记忆网络的人体行为识别方法 | |
CN110348381A (zh) | 一种基于深度学习的视频行为识别方法 | |
CN108734095A (zh) | 一种基于3d卷积神经网络的动作检测方法 | |
CN103279737A (zh) | 一种基于时空兴趣点的打架行为检测方法 | |
CN107220596A (zh) | 基于级联纠错机制的人体姿态估计方法 | |
CN109583331B (zh) | 基于深度学习的人手腕脉口位置精准定位方法 | |
CN103096185A (zh) | 一种视频摘要生成方法和装置 | |
CN104715259A (zh) | X光乳腺图像的核自适应优化分类方法 | |
Soeleman et al. | Adaptive threshold for background subtraction in moving object detection using Fuzzy C-Means clustering | |
CN108090485A (zh) | 基于多视角融合的图像前景自动提取方法 | |
CN110533026A (zh) | 基于计算机视觉的电竞图像数字与图标信息获取方法 | |
Deng et al. | Efficient multiple object tracking using mutually repulsive active membranes | |
Xu et al. | Unusual event detection in crowded scenes using bag of LBPs in spatio-temporal patches | |
CN112949560A (zh) | 双通道特征融合下长视频表情区间连续表情变化识别方法 | |
CN112418032A (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 |