CN105976391B - 基于orb-slam的多摄像机标定方法 - Google Patents
基于orb-slam的多摄像机标定方法 Download PDFInfo
- Publication number
- CN105976391B CN105976391B CN201610362072.XA CN201610362072A CN105976391B CN 105976391 B CN105976391 B CN 105976391B CN 201610362072 A CN201610362072 A CN 201610362072A CN 105976391 B CN105976391 B CN 105976391B
- Authority
- CN
- China
- Prior art keywords
- camera
- matrix
- ransac
- matching
- orb
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 42
- 238000012937 correction Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 4
- 238000005259 measurement Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于ORB‑SLAM的多摄像机标定方法,用于解决现有多摄像机标定方法复杂的技术问题。技术方案是采用ORB‑SLAM实时获取相机姿态,因此不需要依赖特定的硬件平台;通过多个摄像机在不同时刻采集的同一场景画面对多摄像机之间的位置关系进行解算。该方法设计简单,能够快速准确的实现无重叠或低重叠视野的多摄像机之间的标定。
Description
技术领域
本发明涉及一种多摄像机标定方法,特别是涉及一种基于ORB-SLAM的多摄像机标定方法。
背景技术
为了突破单个摄像机测量视角的限制,人们常常将多个摄像机进行组合,从而完成全景拼接、三维重建、大型工件和钢轨轮廓全面的测量等工作。如何精确的求解多个摄像机之间的位置关系是后期工作的关键。
文献“Huang H,Li N,Guo H,et al.Calibration of non-overlapping camerasbased on a mobile robot[C]//Information Science and Technology(ICIST),20155th International Conference on.IEEE,2015:328-333.”公开了一种多摄像机标定方法。该方法将棋盘格标定板放置在一个可以获取运动姿态的平台上,使得多个摄像机能够在不同的时刻拍摄到棋盘格并记录当前的姿态信息,进而求解多个摄像机之间的关系。该方法依赖特定平台,设计复杂,难以复现和推广。
发明内容
为了克服现有多摄像机标定方法复杂的不足,本发明提供一种基于ORB-SLAM的多摄像机标定方法。该方法采用ORB-SLAM实时获取摄像机姿态,因此不需要依赖特定的硬件平台;通过多个摄像机在不同时刻采集的同一场景画面对多摄像机之间的位置关系进行解算。该方法设计简单,能够快速准确的实现无重叠或低重叠视野的多摄像机之间的标定。
本发明解决其技术问题所采用的技术方案是:一种基于ORB-SLAM的多摄像机标定方法,其特点是包括以下步骤:
步骤一、采用张氏标定法对摄像机参数进行标定。连续采集15幅图像,在每幅图像上进行角点检测,计算标定所用图像和棋盘格之间的单应变换H,利用棋盘格的几何关系,建立各视图图像中各角点的对应关系;棋盘格上的所有角点的空间坐标满足共面约束,假设其Z坐标为0,对单应性进行计算:
其中,u,v为角点的像素坐标,X,Y为角点在棋盘格上的空间坐标。将H进行分解,得到:
H=sK[r1 r2 t] (2)
其中,r1,r2,t位棋盘的位置姿态,s为标量系数,K为摄像机参数矩阵。然后利用r1和r2的正交性求解K。
步骤二、保证多个摄像机之间的关系固定,打开摄像机后多个摄像机同时运动,使得多个摄像机在不同时刻捕捉到的视野具有不小于图像采集分辨率大小的一半的重叠区域。
步骤三、采用ORB-SLAM算法对数据进行处理,获取关键帧序列KAi和KBj、ORB描述子DesAi和DesBj及对应的特征点KPAi和KPBj、相对于初始坐标系的姿态PAi和PBj、用DBOW2表征当前关键帧的向量VAi和VBj,其中Ai∈[1,NA],Bj∈[1,NB]且均为整数。NA和NB分别为A摄像机和B摄像机关键帧数目。利用DBOW2信息计算KAi和KBj之间的相似度SAi-Bj,在B摄像机关键帧序列中找到与KAi相似度分值最大的SAi-max(Bj),若SAi-max(Bj)>scoreConf,则认为是一组可信数据,scoreConf的大小设置为0.04。
步骤四、利用步骤三提取的ORB描述子DesAi和DesBj及对应的特征点KPAi和KPBj信息,采用KNN算法进行特征点的初次匹配,得到匹配点对KPAi-Bj。设定匹配比率radio的大小为0.6,选取满足条件
bestM/betterM<radio (3)
的匹配点对KPradio{Ai-Bj},其中bestM和betterM分别为进行匹配的点的最优匹配和次优匹配。进一步使用RANSAC算法对KPradio{Ai-Bj}进行提纯,得到最终匹配点对KPransac(Ai-Bj),若KPs-ransac(Ai-Bj)>LKN,则认为当前提取的匹配点对有效,其中,KPs-ransac(Ai-Bj)表示KPransac(Ai-Bj)中匹配点的数目,LKN的大小设置为20。
步骤五、以A摄像机坐标系为基准,解算B摄像机相对A摄像机的外参矩阵PA-B。记KPransac(Ai)和KPransac(Bj)分别为KPransac(Ai-Bj)中KAi和KBj图像上的对应的点序列矩阵,得到方程:
其中,为KPransac(Bj)的转置矩阵,FAi-Bj为KAi和KBj之间的基本矩阵,通过上述方程求解得到。求解本质矩阵EAi-Bj:
其中,和KA分别为摄像机内参标定步骤中得到的B摄像机的内参转置矩阵和A摄像机的内参矩阵。EAi-Bj为一个3×3矩阵,其SVD分解为
EAi-Bj=UDVT (6)
,其中D=diag(a,b,c)且a≥b≥c,U和VT为SVD分解矩阵。对EAi-Bj进行修正:
其中,E′Ai-Bj为EAi-Bj修正后的结果,然后采用DavidNistér的五点算法,从E′Ai-Bj中恢复出KBj图像相对于KAi图像的外参矩阵PAi-Bj。则B摄像机相对于A摄像机的外参矩阵Pm表示为:
其中,为PAi的逆矩阵,PAi和PBj是步骤三中用ORB-SLAM算法获取的姿态矩阵,m∈[1,Nm],Nm为步骤四中提取的有效匹配点对数目,规定:
PA-B的精度受到累积误差和自然场景的影响,利用计算出来Pm对PA-B进行以下估算:
其中,Pt是在时间上进行的估算,Pp是根据图像信息进行的估算,则PA-B表示为:
PA-B=tconf×Pt+pconf×Pp (11)
其中,tconf的大小为0.55,pconf的大小为0.45。
本发明的有益效果是:该方法采用ORB-SLAM实时获取摄像机姿态,因此不需要依赖特定的硬件平台;通过多个摄像机在不同时刻采集的同一场景画面对多摄像机之间的位置关系进行解算。该方法设计简单,能够快速准确的实现无重叠或低重叠视野的多摄像机之间的标定。
下面结合具体实施方式对本发明作详细说明。
具体实施方式
本发明基于ORB-SLAM的多摄像机标定方法具体步骤如下:
1、摄像机内参标定。
采用标定中常用张氏标定法。连续采集15幅图像,在每幅图像上进行角点检测,计算标定所用图像和棋盘格之间的单应变换H,利用棋盘格的几何关系,建立各视图图像中各角点的对应关系;棋盘格上的所有角点的空间坐标是满足共面约束的,假设其Z坐标为0,对单应性进行计算:
其中,u,v为角点的像素坐标,X,Y为角点在棋盘格上的空间坐标。将H进行分解,得到:
H=sK[r1 r2 t] (13)
其中,r1,r2,t位棋盘的位置姿态,s为标量系数,K为摄像机参数矩阵。然后利用r1和r2的正交性求解K。
2、数据采集。
保证多个摄像机之间的关系固定,打开摄像机后多个摄像机同时运动,使得多个摄像机在不同时刻捕捉到的视野具有不小于图像采集分辨率大小的一半的重叠区域。
3、数据选择。
以两个摄像机A和B为例。采用ORB-SLAM算法对数据进行处理,获取关键帧序列KAi和KBj、ORB描述子DesAi和DesBj及对应的特征点KPAi和KPBj、相对于初始坐标系的姿态PAi和PBj、用DBOW2表征当前关键帧的向量VAi和VBj,其中Ai∈[1,NA],Bj∈[1,NB]且均为整数。NA和NB分别为A和B摄像机关键帧数目。利用DBOW2信息计算KAi和KBj之间的相似度SAi-Bj,在B摄像机关键帧序列中找到与KAi相似度分值最大的SAi-max(Bj),若SAi-max(Bj)>scoreConf,则认为是一组可信数据,scoreConf的大小设置为0.04。
4、提取匹配点对。
利用前面步骤提取的ORB描述子DesAi和DesBj及对应的特征点KPAi和KPBj信息,采用KNN(K-Nearest Neighbor)算法进行特征点的初次匹配,得到匹配点对KPAi-Bj。设定匹配比率radio的大小为0.6,选取满足条件
bestM/betterM<radio (14)
的匹配点对KPradio{Ai-Bj},其中bestM和betterM分别为进行匹配的点的最优匹配和次优匹配。进一步使用RANSAC(随机抽样一致)算法对KPradio{Ai-Bj}进行提纯,得到最终匹配点对KPransac(Ai-Bj),若KPs-ransac(Ai-Bj)>LKN,则认为当前提取的匹配点对有效,其中,KPs-ransac(Ai-Bj)表示KPransac(Ai-Bj)中匹配点的数目,LKN的大小设置为20。
5、计算多摄像机之间的关系。
仍以摄像机A和B为例,以A摄像机坐标系为基准,解算B摄像机相对A摄像机的外参矩阵PA-B。记KPransac(Ai)和KPransac(Bi)分别为KPransac(Ai-Bj)中KAi和KBj图像上的对应的点序列矩阵,得到方程:
其中,为KPransac(Bj)的转置矩阵,FAi-Bj为KAi和KBj之间的基本矩阵,可通过上述方程求解得到。求解本质矩阵EAi-Bj:
其中,和KA分别为摄像机内参标定步骤中得到的B摄像机的内参转置矩阵和A摄像机的内参矩阵。EAi-Bj为一个3×3矩阵,其SVD分解为
EAi-Bj=UDVT (17)
,其中D=diag(a,b,c)且a≥b≥c,U和VT为SVD分解矩阵。对EAi-Bj进行修正:
其中,E′Ai-Bj为EAi-Bj修正后的结果,然后采用DavidNistér所提出的五点算法从E′Ai-Bj中恢复出KBj图像相对于KAi图像的外参矩阵PAi-Bj。则B摄像机相对于A摄像机的外参矩阵Pm可表示为:
其中,为PAi的逆矩阵,PAi和PBj是步骤三中用ORB-SLAM算法获取的姿态矩阵,m∈[1,Nm],Nm为步骤四中提取的有效匹配点对数目,规定:
PA-B的精度受到累积误差和自然场景的影响,利用计算出来Pm对PA-B进行以下估算:
其中,Pt是在时间上进行的估算,Pp是根据图像信息进行的估算,则PA-B可表示为:
PA-B=tconf×Pt+pconf×Pp (22)
其中,tconf的大小为0.55,pconf的大小为0.45。其它摄像机之间的关系采用相同的方法依次求得。
Claims (1)
1.一种基于ORB-SLAM的多摄像机标定方法,其特征在于包括以下步骤:
步骤一、采用张氏标定法对摄像机内参进行标定;连续采集15幅图像,在每幅图像上进行角点检测,计算15幅图像和棋盘格之间的单应变换H,利用棋盘格的几何关系,建立15幅图像中各角点的对应关系;棋盘格上的所有角点的空间坐标满足共面约束,假设其Z坐标为0,对单应性进行计算:
其中,u,v为角点的像素坐标,X,Y为角点在棋盘格上的空间坐标;将H进行分解,得到:
H=sK[r1 r2 t] (2)
其中,r1,r2,t为棋盘的位置姿态,s为标量系数,K为摄像机内参矩阵;然后利用r1和r2的正交性求解K;
步骤二、保证多个摄像机之间的关系固定,打开摄像机后多个摄像机同时运动,使得多个摄像机在不同时刻捕捉到的视野具有不小于图像采集分辨率大小的一半的重叠区域;
步骤三、采用ORB-SLAM算法对数据进行处理,获取关键帧序列KAi和KBj、ORB描述子DesAi和DesBj及对应的特征点KPAi和KPBj、相对于初始坐标系的姿态PAi和PBj、用DBOW2表征当前关键帧的向量VAi和VBj,其中Ai∈[1,NA],Bj∈[1,NB]且均为整数;NA和NB分别为A摄像机和B摄像机关键帧数目;利用DBOW2信息计算KAi和KBj之间的相似度SAi-Bj,在B摄像机关键帧序列中找到与KAi相似度分值最大的SAi-max(Bj),若SAi-max(Bj)>scoreConf,则认为是一组可信数据,scoreConf的大小设置为0.04;
步骤四、利用步骤三提取的ORB描述子DesAi和DesBj及对应的特征点KPAi和KPBj信息,采用KNN算法进行特征点的初次匹配,得到匹配点对KPAi-Bj;设定匹配比率radio的大小为0.6,选取满足条件
bestM/betterM<radio (3)
的匹配点对KPradio{Ai-Bj},其中bestM和betterM分别为进行匹配的点的最优匹配和次优匹配;进一步使用RANSAC算法对KPradio{Ai-Bj}进行提纯,得到最终匹配点对KPransac(Ai-Bj),若KPs-ransac(Ai-Bj)>LKN,则认为当前提取的匹配点对有效,其中,KPs-ransac(Ai-Bj)表示KPransac(Ai-Bj)中匹配点的数目,LKN的大小设置为20;
步骤五、以A摄像机坐标系为基准,解算B摄像机相对A摄像机的外参矩阵PA-B;记KPransac(Ai)和KPransac(Bj)分别为KPransac(Ai-Bj)中KAi和KBj图像上的对应的点序列矩阵,得到方程:
其中,为KPransac(Bj)的转置矩阵,FAi-Bj为KAi和KBj之间的基本矩阵,通过上述方程求解得到;求解本质矩阵EAi-Bj:
其中,和KA分别为摄像机内参标定步骤中得到的B摄像机的内参转置矩阵和A摄像机的内参矩阵;EAi-Bj为一个3×3矩阵,其SVD分解为
EAi-Bj=UDVT (6)
,其中D=diag(a,b,c)且a≥b≥c,U和VT为SVD分解矩阵;对EAi-Bj进行修正:
其中,E′Ai-Bj为EAi-Bj修正后的结果,然后采用David Nistér的五点算法,从E′Ai-Bj中恢复出KBj图像相对于KAi图像的外参矩阵PAi-Bj;则B摄像机相对于A摄像机的外参矩阵Pm表示为:
其中,为PAi的逆矩阵,PAi和PBj是步骤三中用ORB-SLAM算法获取的姿态矩阵,m∈[1,Nm],Nm为步骤四中提取的有效匹配点对数目,规定:
PA-B的精度受到累积误差和自然场景的影响,利用计算出来的Pm对PA-B进行以下估算:
其中,Pt是在时间上进行的估算,Pp是根据图像信息进行的估算,则PA-B表示为:
PA-B=tconf×Pt+pconf×Pp (11)
其中,tconf的大小为0.55,pconf的大小为0.45。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610362072.XA CN105976391B (zh) | 2016-05-27 | 2016-05-27 | 基于orb-slam的多摄像机标定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610362072.XA CN105976391B (zh) | 2016-05-27 | 2016-05-27 | 基于orb-slam的多摄像机标定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976391A CN105976391A (zh) | 2016-09-28 |
CN105976391B true CN105976391B (zh) | 2018-12-14 |
Family
ID=56956592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610362072.XA Active CN105976391B (zh) | 2016-05-27 | 2016-05-27 | 基于orb-slam的多摄像机标定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105976391B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570913B (zh) * | 2016-11-04 | 2019-12-13 | 上海玄彩美科网络科技有限公司 | 基于特征的单目slam快速初始化方法 |
CN106803270A (zh) * | 2017-01-13 | 2017-06-06 | 西北工业大学深圳研究院 | 无人机平台基于单目slam的多关键帧协同地面目标定位方法 |
CN107133987B (zh) * | 2017-05-16 | 2019-07-19 | 西北工业大学 | 无重叠视场的相机阵列优化标定方法 |
CN109801300B (zh) * | 2017-11-16 | 2020-08-28 | 北京百度网讯科技有限公司 | 棋盘格角点的坐标提取方法、装置、设备及计算机可读存储介质 |
CN110070582B (zh) * | 2018-01-23 | 2021-04-23 | 舜宇光学(浙江)研究院有限公司 | 多摄模组参数自校准系统和校准方法及其电子设备 |
CN109807937B (zh) * | 2018-12-28 | 2020-10-27 | 北京信息科技大学 | 一种基于自然场景的机器人手眼标定方法 |
CN110599545B (zh) * | 2019-09-06 | 2022-12-02 | 电子科技大学中山学院 | 一种基于特征的构建稠密地图的系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419177A (zh) * | 2007-10-25 | 2009-04-29 | 宝山钢铁股份有限公司 | 一种用于多台线扫描摄像机标定的方法 |
CN101739690A (zh) * | 2009-11-26 | 2010-06-16 | 西北工业大学 | 多相机协同运动目标检测方法 |
CN104197928A (zh) * | 2014-08-29 | 2014-12-10 | 西北工业大学 | 多摄像机协同的无人机检测、定位及跟踪方法 |
CN104766291A (zh) * | 2014-01-02 | 2015-07-08 | 株式会社理光 | 多台摄像机标定方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667873B2 (en) * | 2013-05-02 | 2017-05-30 | Qualcomm Incorporated | Methods for facilitating computer vision application initialization |
CN103824278B (zh) * | 2013-12-10 | 2016-09-21 | 清华大学 | 监控摄像机的标定方法和系统 |
US9759918B2 (en) * | 2014-05-01 | 2017-09-12 | Microsoft Technology Licensing, Llc | 3D mapping with flexible camera rig |
US11051000B2 (en) * | 2014-07-14 | 2021-06-29 | Mitsubishi Electric Research Laboratories, Inc. | Method for calibrating cameras with non-overlapping views |
CN105427284A (zh) * | 2015-11-06 | 2016-03-23 | 西北工业大学 | 基于机载Android平台的固定靶标识方法 |
-
2016
- 2016-05-27 CN CN201610362072.XA patent/CN105976391B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419177A (zh) * | 2007-10-25 | 2009-04-29 | 宝山钢铁股份有限公司 | 一种用于多台线扫描摄像机标定的方法 |
CN101739690A (zh) * | 2009-11-26 | 2010-06-16 | 西北工业大学 | 多相机协同运动目标检测方法 |
CN104766291A (zh) * | 2014-01-02 | 2015-07-08 | 株式会社理光 | 多台摄像机标定方法和系统 |
CN104197928A (zh) * | 2014-08-29 | 2014-12-10 | 西北工业大学 | 多摄像机协同的无人机检测、定位及跟踪方法 |
Non-Patent Citations (7)
Title |
---|
Calibration of Non-overlapping Cameras Based on a Mobile Robot;Haifei Huang 等;《2015 5th International Conference on Information Science and Technology (IClST)》;20151231;1-6 * |
ORB-SLAM: A Versatile and Accurate Monocular SLAM System;Raul Mur-Artal 等;《IEEE TRANSACTIONS ON ROBOTICS》;20151031;第31卷(第5期);1147-1163 * |
ORB-SLAM: Tracking and Mapping Recognizable Features;Raul Mur-Artal 等;《Workshop on Multi View Geometry in Robotics》;20140731;1-7 * |
Self-calibration and visual SLAM with a multi-camera system on a micro aerial vehicle;Lionel Heng 等;《Auton Robot》;20151231;第39卷;259-277 * |
一种基于平面模板的多摄像机标定方法;潘华伟 等;《计算机应用研究》;20111130;第28卷(第11期);4357-4360 * |
基于投影特征点的多摄像机标定方法;刘亚辉;《北京信息科技大学学报》;20120430;第27卷(第2期);88-91、96 * |
多摄像头协同感知系统的设计与实现;胡伏原 等;《中国图象图形学报》;20061231;第11卷(第12期);1949-1853 * |
Also Published As
Publication number | Publication date |
---|---|
CN105976391A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105976391B (zh) | 基于orb-slam的多摄像机标定方法 | |
Heng et al. | Camodocal: Automatic intrinsic and extrinsic calibration of a rig with multiple generic cameras and odometry | |
CN106251305B (zh) | 一种基于惯性测量单元imu的实时电子稳像方法 | |
CN103607584B (zh) | 一种kinect拍摄的深度图与彩色摄像机拍摄视频的实时配准方法 | |
WO2019179200A1 (zh) | 多目相机的三维重建方法、vr相机和全景相机 | |
CN107729805B (zh) | 用于行人再识别的神经网络和基于深度学习的行人再识别算法 | |
CN105809640B (zh) | 基于多传感器融合的低照度视频图像增强方法 | |
CN106355147A (zh) | 一种活体人脸检测头部姿态回归器的获取方法及检测方法 | |
CN107767339B (zh) | 一种双目立体图像拼接方法 | |
CN108234819B (zh) | 基于单应变换的视频同步方法 | |
CN112907631B (zh) | 一种引入反馈机制的多rgb相机实时人体动作捕捉系统 | |
CN105374051B (zh) | 智能移动终端防镜头抖动视频运动目标检测方法 | |
CN102222348A (zh) | 一种三维目标运动矢量计算方法 | |
CN102914295A (zh) | 基于计算机视觉立方体标定的三维测量方法 | |
CN114783001A (zh) | 游泳姿态评估方法、系统、装置及计算机可读存储介质 | |
CN114998447A (zh) | 多目视觉标定方法及系统 | |
CN113450416A (zh) | 一种应用于三目相机立体标定的tcsc方法 | |
Wan et al. | Drone image stitching using local mesh-based bundle adjustment and shape-preserving transform | |
CN109462748B (zh) | 一种基于单应性矩阵的立体视频颜色校正算法 | |
Gaspar et al. | Synchronization of two independently moving cameras without feature correspondences | |
Song et al. | Robust 3D reconstruction with omni-directional camera based on structure from motion | |
Sun et al. | Rolling shutter distortion removal based on curve interpolation | |
CN113705393A (zh) | 一种基于3d人脸模型的俯角人脸识别方法及系统 | |
CN108694348B (zh) | 一种基于自然特征的跟踪注册方法及装置 | |
CN111696143B (zh) | 一种事件数据的配准方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |