CN113128460B - 基于知识蒸馏的多分辨率行人重识别方法 - Google Patents
基于知识蒸馏的多分辨率行人重识别方法 Download PDFInfo
- Publication number
- CN113128460B CN113128460B CN202110491450.5A CN202110491450A CN113128460B CN 113128460 B CN113128460 B CN 113128460B CN 202110491450 A CN202110491450 A CN 202110491450A CN 113128460 B CN113128460 B CN 113128460B
- Authority
- CN
- China
- Prior art keywords
- pedestrian
- full
- layer
- features
- inputting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- 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/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于知识蒸馏的多分辨率行人重识别方法,利用知识蒸馏迫使浅层特征可以学习深层特征,从而提高浅层特征的表征能力。同时,将浅层特征与深层特征拼接得到对多分辨率更具有表征的特征,损失函数分别计算三个表征的分类损失函数,提升每个表征的判别不同行人的能力,在计算不同行人的距离时,利用拼接后的表征作为行人的最终表征。实验结果表明本发明提出的方法有效提升了行人重识别的准确率。
Description
技术领域
本发明涉及一种行人重识别技术,属于计算机视觉的图像检索技术领域。
背景技术
行人重识别(Person re-identification,ReID)是利用计算机视觉技术判断某个行人是否在图片或视频中存在的技术,行人重识别可以看作图像检索的子任务。在真实场景中,由于跨摄像头与跨场景的存在,目标跟踪无法得到行人的轨迹,所以可以借助行人重识别的技术弥补目标跟踪对跨摄像头与跨场景的缺陷。在安防领域,行人识别是十分重要的一环,可以帮助公安定位跟踪犯罪人员。人脸是识别行人最有效最成熟的手段,在门禁、手机开机等方面广泛应用,但是对于场景十分苛刻,需要保证合适的亮度、合适的角度等。但是在安防领域,则无法保证这些,因此往往利用行人重识别对行人进行识别。
早期的行人重识别任务往往以来人工提取算子,针对行人重识别的任务设计更具有判别能力的特征,颜色特征与纹理特征是图片常用的特征,因此也被大量应用到行人重识别领域,局部特征可以把握行人局部的表征,语义特征则能提取行人更为高级的特征。得到行人的特征后,需要计算行人特征之间的距离判断是否具有相同的身份,因此需要选择合适的度量方式如马氏距离。
随着深度学习的发展,深度学习在很多领域取得非凡的成就,计算机视觉是其中的佼佼者。在行人重识别领域,利用深度学习相比于人工设计可以得到更具有判别性的行人表征。因此,目前行人重识别的主流算法都是结合了深度学习。如何利用深度学习得到更具有判别能力的行人表征,如何得到行人的局部表征,利用生成对抗网络对行人重识别的图片进行数据增强,提出更合理的度量学习的损失函数是当前深度学习在行人重识别领域的主流任务。
发明内容
发明目的:针对上述现有技术,提出一种基于知识蒸馏的多分辨率行人重识别方法,解决行人重识别中行人图片有不同分辨率的问题。
技术方案:基于知识蒸馏的多分辨率行人重识别方法,包括如下步骤:
步骤1:将行人重识别图片进行数据增强,数据增强方式为:水平翻转,然后将图片的尺寸调整到相同大小:256x128;
步骤2:将数据增强后的图片输入到全尺度网络,全尺度网络中,图片经过一层卷积层与池化层,然后将特征输入到全尺度模块;
步骤3:将步骤2得到的特征输入到第二个全尺度模块,第二个全尺度模块输出的特征经过卷积层与采样层;
步骤4:将步骤3的经过第二个全尺度模块输出的特征输入到第三个全尺度模块,第三个全尺度模块包括2个残差模块,然后将第三个全尺度模块的输出输入到卷积层;
步骤5:将步骤3与步骤4的输出经过全局平均池化分别得到行人的低分辨率表征和行人的高分辨率表征,将两个特征拼接起来得到行人合并的表征;
训练过程中,将行人的低分辨率表征、行人的高分辨率表征、合并的表征输入到全连接层得到不同行人身份的概率,利用交叉熵损失计算概率,损失函数还包括浅层特征与深层特征的蒸馏损失;在测试过程中,将合并的表征作为行人的最终表征。
进一步的,所述步骤2具体包括如下子步骤:
步骤2.1:将行人重识别图片输入到一层卷积层,卷积核大小为7x7,步长为2,将特征输入到激活层增加非线性,再将特征输入到步长为2的池化层,利用卷积层与池化层降低特征的尺寸,变为原来尺寸的1/4;
步骤2.2:将步骤2.1的特征输入到全尺度模块,全尺度模块包括依次连接的两个残差模块以及一层卷积层与池化层。
进一步的,所述步骤3具体包括如下子步骤:
步骤3.1:将步骤2的输出的特征输入到第二个全尺度模块,第二个全尺度模块包括2个残差模块以及一层卷积层与平均池化层;
步骤3.2:将步骤3.1的输出特征通过卷积层与采样层得到新的特征Fout:
Fout=sample(conv(Fin)),
其中,conv表示卷积核为1x1的卷积操作,sample是降采样操作,Fin表示输入特征。
进一步的,所述步骤5具体包括如下子步骤:
步骤5.1:将步骤3.2的输出与步骤4的输出通过全局平均池化,然后将池化后的特征拉平,当作行人的低分辨率表征和行人的高分辨率表征,将两个特征拼接作为行人总的表征,即行人合并的表征;
步骤5.2:训练过程中,将步骤5.1的3个行人的表征通过全连接层,然后再输入到激活函数,得到不同行人身份的概率;
步骤5.3:将步骤5.2得到的概率利用交叉熵损失得到网络的损失Lall,网络的损失为:
Lall=λ1·Ldistill+λ2·Ll+λ3·Lh+λ4Lcat,
其中,Ll、Lh、Lcat表示行人的低分辨率表征、行人的高分辨率表征以及行人合并的表征的分类损失函数,利用交叉熵损失计算分类损失,Ldistill表示蒸馏损失,λ1、λ2、λ3、λ4表示各个损失函数的权重;
蒸馏损失Ldistill为:
其中,Fl表示浅层特征,即步骤3.2的输出,Fh表示深层特征,即步骤4的输出,在步骤3.2中利用1x1卷积与下采样操作使得特征Fl与特征Fh具有相同的通道数与尺寸,i,j,k表示特征的通道索引、高度索引、宽度索引;
步骤5.4:在测试阶段,利用步骤5.1的输出,将合并的表征作为行人的最终表征;
步骤5.5:在测试阶段,计算查询图片与图片库中所有图片的距离,距离由步骤5.4得到的最终表征之间的欧式距离得到,然后将查询图片库中与图片库中图片距离最小的图片作为查询相匹配的图片。
有益效果:在真实场景下,由于摄像头角度高度设置于行人距离远近导致行人图片的分辨率往往有很大差异。为了解决多分辨率场景下的行人重识别,本发明在两方面内容上做了改进和优化:一方面,本发明将知识蒸馏融合到行人重识别网络全尺度网络,将浅层网络作为学生模型,深层网络作为老师模型,利用知识蒸馏使得浅层特征可以学习到深层特征的语义,增强浅层特征的语义。另一方面,将浅层表征于深层表征合并得到总的表征,计算损失函数时包括三个表征的分类损失函数,三个损失函数可以直接监督各自的表征的分类性能,提高各个表征的行人分辨能力,在计算不同行人距离时,利用拼接后的表征作为行人的最终的表征。
本发明方法融合多层的特征使得网络可以对不同分辨率的行人更具有鲁棒性,而且利用蒸馏算法可以避免浅层特征的弱语义对结果的负面影响。在不改变网络推断过程中的时间提升了网络对不同分辨率的行人的鲁棒性。在行人重识别数据集的精度达到77.3%,相比于基础网络(全尺度网络)的71.4%有显著提升。
附图说明
图1为本发明基于知识蒸馏的多分辨率行人重识别方法的流程图;
图2为全尺度网络的参差模块示意图;
图3为全尺度网络整体结构图;
图4为知识蒸馏的框架图;
图5为本发明的整体网络结构图。
具体实施方式
下面结合附图对本发明做更进一步的解释。
如图1至图5所示,基于知识蒸馏的多分辨率行人重识别方法,包括如下步骤:
步骤1:将行人重识别图片进行数据增强,数据增强方式为:水平翻转,然后将图片的尺寸调整到相同大小:256x128。
步骤2:将数据增强后的图片输入到全尺度网络,全尺度网络中,图片经过一层卷积层与池化层,然后将特征输入到全尺度模块。
步骤2具体包括如下子步骤:
步骤2.1:将行人重识别图片输入到一层卷积层,卷积核大小为7x7,步长为2,将特征输入到激活层增加非线性,再将特征输入到步长为2的池化层,利用卷积层与池化层降低特征的尺寸,变为原来尺寸的1/4。
步骤2.2:将步骤2.1的特征输入到全尺度模块,全尺度模块包括依次连接的两个残差模块以及一层卷积层与池化层,残差模块利用深度可分离卷积减小模型参数,降低模型的计算量,并且残差模块并行多个分支使得模块学习到多尺度特征,残差模块还增加了残差连接,降低模型拟合难度;将特征再输入到一层卷积层与池化层,将特征的尺寸降低一倍。
步骤3:将步骤2得到的特征输入到第二个全尺度模块,第二个全尺度模块输出的特征经过卷积层与采样层。
步骤3具体包括如下子步骤:
步骤3.1:将步骤2的输出的特征输入到第二个全尺度模块,第二个全尺度模块包括2个残差模块以及一层卷积层与平均池化层,将输出通过一层卷积与平均池化,将特征的尺寸降低一倍。
步骤3.2:将步骤3.1的输出特征通过卷积层与采样层得到新的特征Fout:
Fout=sample(conv(Fin)),
其中,conv表示卷积核为1x1的卷积操作,为了改变输入特征的尺寸,sample是降采样操作,将特征的尺寸降低一倍,Fin表示输入特征,即步骤3.1的输出。
步骤4:将步骤3的经过第二个全尺度模块输出的特征输入到第三个全尺度模块,第三个全尺度模块包括2个残差模块,然后将第三个全尺度模块的输出输入到卷积层。
步骤5:将步骤3与步骤4的输出经过全局平均池化分别得到行人的低分辨率表征和行人的高分辨率表征,将两个特征拼接起来得到行人合并的表征;
训练过程中,将行人的低分辨率表征、行人的高分辨率表征、合并的表征输入到全连接层得到不同行人身份的概率,利用交叉熵损失计算概率,损失函数还包括浅层特征与深层特征的蒸馏损失;在测试过程中,将合并的表征作为行人的最终表征。
步骤5具体包括如下子步骤:
步骤5.1:将步骤3.2的输出与步骤4的输出通过全局平均池化,然后将池化后的特征拉平,当作行人的低分辨率表征和行人的高分辨率表征,将两个特征拼接作为行人总的表征,即行人合并的表征。
步骤5.2:训练过程中,将步骤5.1的3个行人的表征通过全连接层,然后再输入到激活函数,得到不同行人身份的概率。
步骤5.3:将步骤5.2得到的概率利用交叉熵损失得到网络的损失Lall,网络的损失为:
Lall=λ1·Ldistill+λ2·Ll+λ3·Lh+λ4Lcat,
其中,Ll、Lh、Lcat表示行人的低分辨率表征、行人的高分辨率表征以及行人合并的表征的分类损失函数,利用交叉熵损失计算分类损失,Ldistill表示蒸馏损失,λ1、λ2、λ3、λ4表示各个损失函数的权重,调节不同损失函数的重要性。
本方法将步骤3的浅层的网络当作学生模型,步骤4的深层的网络当作老师模型,利用知识蒸馏的方法可以提升浅层模型的表征能力,使得浅层特征能更合适行人重识别的任务,同时浅层特征与深层特征具有不同的分辨率,因此结合不同层的特征可以应对不同分辨率的行人图片。因此,本方法的蒸馏损失Ldistill为:
其中,Fl表示浅层特征,即步骤3.2的输出,Fh表示深层特征,即步骤4的输出,在步骤3.2中利用1x1卷积与下采样操作使得特征Fl与特征Fh具有相同的通道数与尺寸,i,j,k表示特征的通道索引、高度索引、宽度索引;蒸馏损失的目的是使得两个特征尽可能接近,从而实现浅层特征能够学习到深层特征的更强的语义。
步骤5.4:在测试阶段,利用步骤5.1的输出,将合并的表征作为行人的最终表征;
步骤5.5:在测试阶段,计算查询图片与图片库中所有图片的距离,距离由步骤5.4得到的最终表征之间的欧式距离得到,然后将查询图片库中与图片库中图片距离最小的图片作为查询相匹配的图片。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.基于知识蒸馏的多分辨率行人重识别方法,其特征在于,包括如下步骤:
步骤1:将行人重识别图片进行数据增强,数据增强方式为:水平翻转,然后将图片的尺寸调整到相同大小:256x128;
步骤2:将数据增强后的图片输入到全尺度网络,全尺度网络中,图片经过一层卷积层与池化层,然后将特征输入到全尺度模块;
步骤3:将步骤2得到的特征输入到第二个全尺度模块,第二个全尺度模块输出的特征经过卷积层与采样层;
步骤4:将步骤3的经过第二个全尺度模块输出的特征输入到第三个全尺度模块,第三个全尺度模块包括2个残差模块,然后将第三个全尺度模块的输出输入到卷积层;
步骤5:将步骤3与步骤4的输出经过全局平均池化分别得到行人的低分辨率表征和行人的高分辨率表征,将两个特征拼接起来得到行人合并的表征;
训练过程中,将行人的低分辨率表征、行人的高分辨率表征、合并的表征输入到全连接层得到不同行人身份的概率,利用交叉熵损失计算概率,损失函数还包括浅层特征与深层特征的蒸馏损失;在测试过程中,将合并的表征作为行人的最终表征。
2.根据权利要求1所述的基于知识蒸馏的多分辨率行人重识别方法,其特征在于,所述步骤2具体包括如下子步骤:
步骤2.1:将行人重识别图片输入到一层卷积层,卷积核大小为7x7,步长为2,将特征输入到激活层增加非线性,再将特征输入到步长为2的池化层,利用卷积层与池化层降低特征的尺寸,变为原来尺寸的1/4;
步骤2.2:将步骤2.1的特征输入到全尺度模块,全尺度模块包括依次连接的两个残差模块以及一层卷积层与池化层。
3.根据权利要求1所述的基于知识蒸馏的多分辨率行人重识别方法,其特征在于,所述步骤3具体包括如下子步骤:
步骤3.1:将步骤2的输出的特征输入到第二个全尺度模块,第二个全尺度模块包括2个残差模块以及一层卷积层与平均池化层;
步骤3.2:将步骤3.1的输出特征通过卷积层与采样层得到新的特征Fout:
Fout=sample(conv(Fin)),
其中,conv表示卷积核为1x1的卷积操作,sample是降采样操作,Fin表示输入特征。
4.根据权利要求3所述的基于知识蒸馏的多分辨率行人重识别方法,其特征在于,所述步骤5具体包括如下子步骤:
步骤5.1:将步骤3.2的输出与步骤4的输出通过全局平均池化,然后将池化后的特征拉平,当作行人的低分辨率表征和行人的高分辨率表征,将两个特征拼接作为行人总的表征,即行人合并的表征;
步骤5.2:训练过程中,将步骤5.1的3个行人的表征通过全连接层,然后再输入到激活函数,得到不同行人身份的概率;
步骤5.3:将步骤5.2得到的概率利用交叉熵损失得到网络的损失Lall,网络的损失为:
Lall=λ1·Ldistill+λ2·Ll+λ3·Lh+λ4Lcat,
其中,Ll、Lh、Lcat表示行人的低分辨率表征、行人的高分辨率表征以及行人合并的表征的分类损失函数,利用交叉熵损失计算分类损失,Ldistill表示蒸馏损失,λ1、λ2、λ3、λ4表示各个损失函数的权重;
蒸馏损失Ldistill为:
其中,Fl表示浅层特征,即步骤3.2的输出,Fh表示深层特征,即步骤4的输出,在步骤3.2中利用1x1卷积与下采样操作使得特征Fl与特征Fh具有相同的通道数与尺寸,i,j,k表示特征的通道索引、高度索引、宽度索引;
步骤5.4:在测试阶段,利用步骤5.1的输出,将合并的表征作为行人的最终表征;
步骤5.5:在测试阶段,计算查询图片与图片库中所有图片的距离,距离由步骤5.4得到的最终表征之间的欧式距离得到,然后将查询图片库中与图片库中图片距离最小的图片作为查询相匹配的图片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110491450.5A CN113128460B (zh) | 2021-05-06 | 2021-05-06 | 基于知识蒸馏的多分辨率行人重识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110491450.5A CN113128460B (zh) | 2021-05-06 | 2021-05-06 | 基于知识蒸馏的多分辨率行人重识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113128460A CN113128460A (zh) | 2021-07-16 |
CN113128460B true CN113128460B (zh) | 2022-11-08 |
Family
ID=76781491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110491450.5A Active CN113128460B (zh) | 2021-05-06 | 2021-05-06 | 基于知识蒸馏的多分辨率行人重识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113128460B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824695A (zh) * | 2023-06-07 | 2023-09-29 | 南通大学 | 一种基于特征去噪的行人再识别非局部防御方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110796026A (zh) * | 2019-10-10 | 2020-02-14 | 湖北工业大学 | 一种基于全局特征拼接的行人重识别方法 |
CN112560631B (zh) * | 2020-12-09 | 2022-06-21 | 昆明理工大学 | 一种基于知识蒸馏的行人重识别方法 |
CN112597866B (zh) * | 2020-12-16 | 2022-08-02 | 南京邮电大学 | 一种基于知识蒸馏的可见光-红外跨模态行人重识别方法 |
-
2021
- 2021-05-06 CN CN202110491450.5A patent/CN113128460B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113128460A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363122B (zh) | 一种基于多层特征对齐的跨域目标检测方法 | |
CN111709311B (zh) | 一种基于多尺度卷积特征融合的行人重识别方法 | |
Chen et al. | Convolutional neural network-based place recognition | |
WO2024021394A1 (zh) | 全局特征与阶梯型局部特征融合的行人重识别方法及装置 | |
Xiao et al. | Heterogeneous knowledge distillation for simultaneous infrared-visible image fusion and super-resolution | |
He et al. | Robust automatic recognition of Chinese license plates in natural scenes | |
CN105005772A (zh) | 一种视频场景检测方法 | |
Tsintotas et al. | DOSeqSLAM: Dynamic on-line sequence based loop closure detection algorithm for SLAM | |
Xiong et al. | RGB-D scene recognition via spatial-related multi-modal feature learning | |
CN114708437A (zh) | 目标检测模型的训练方法、目标检测方法、装置和介质 | |
Yu et al. | Unbiased multi-modality guidance for image inpainting | |
Wang et al. | Online visual place recognition via saliency re-identification | |
CN113128460B (zh) | 基于知识蒸馏的多分辨率行人重识别方法 | |
CN117456480A (zh) | 一种基于多源信息融合的轻量化车辆再辨识方法 | |
Zhang et al. | A deep neural network-based vehicle re-identification method for bridge load monitoring | |
Amrouche et al. | Real-time detection of vehicle license plates numbers | |
CN112766305A (zh) | 一种基于端到端度量网络的视觉slam闭环检测方法 | |
Liu et al. | Multi-cue fusion: Discriminative enhancing for person re-identification | |
CN115587950B (zh) | 一种微光增强色彩恢复方法 | |
CN116597267A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
Wang et al. | Sture: Spatial–temporal mutual representation learning for robust data association in online multi-object tracking | |
CN116363552A (zh) | 一种应用于边缘设备的实时目标检测方法 | |
CN116385477A (zh) | 一种基于图像分割的杆塔图像配准方法 | |
CN113486718B (zh) | 一种基于深度多任务学习的指尖检测方法 | |
CN114743257A (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 |