CN112016373B - 一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统 - Google Patents

一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统 Download PDF

Info

Publication number
CN112016373B
CN112016373B CN201910473356.XA CN201910473356A CN112016373B CN 112016373 B CN112016373 B CN 112016373B CN 201910473356 A CN201910473356 A CN 201910473356A CN 112016373 B CN112016373 B CN 112016373B
Authority
CN
China
Prior art keywords
water
falling
person
video
rescue
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
CN201910473356.XA
Other languages
English (en)
Other versions
CN112016373A (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201910473356.XA priority Critical patent/CN112016373B/zh
Publication of CN112016373A publication Critical patent/CN112016373A/zh
Application granted granted Critical
Publication of CN112016373B publication Critical patent/CN112016373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63CLAUNCHING, HAULING-OUT, OR DRY-DOCKING OF VESSELS; LIFE-SAVING IN WATER; EQUIPMENT FOR DWELLING OR WORKING UNDER WATER; MEANS FOR SALVAGING OR SEARCHING FOR UNDERWATER OBJECTS
    • B63C9/00Life-saving in water
    • B63C9/01Air-sea rescue devices, i.e. equipment carried by, and capable of being dropped from, an aircraft
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63CLAUNCHING, HAULING-OUT, OR DRY-DOCKING OF VESSELS; LIFE-SAVING IN WATER; EQUIPMENT FOR DWELLING OR WORKING UNDER WATER; MEANS FOR SALVAGING OR SEARCHING FOR UNDERWATER OBJECTS
    • B63C9/00Life-saving in water
    • B63C9/02Lifeboats, life-rafts or the like, specially adapted for life-saving
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Remote Sensing (AREA)
  • Astronomy & Astrophysics (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Alarm Systems (AREA)

Abstract

本发明公开了一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统,包括:多旋翼无人机飞行平台,所述多旋翼无人机飞行平台搭载视频采集模块与便捷式救生设备;所述视频采集模块,用于采集目标区域水上遇险人员的视频图像;基地综合处理平台,包括视频处理单元、落水人员检测识别单元和控制单元;所述落水人员检测识别单元用于根据处理后的图像进行落水人员自主识别检测;救援无人艇,根据基地综合处理平台的控制信息,开往落水人员所在区域进行救援。本发明通过提供一种基于YOLOv3的多旋翼无人机的水上落水人员自主识别单元,利用无人机和无人艇,能有效的完成水上遇险人员智能辅助搜救。

Description

一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统
技术领域
本发明涉及无人机水上救援技术,尤其涉及一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统。
背景技术
随着全球经济的一体化的发展,海洋成为世界各国交通运输、发展贸易的一条纽带。然而,水上事故的频繁发生,对于人民的生命、财产都是巨大的威胁,对旅游、贸易发展也造成一定的影响。
对于频发的水上人员落水事故,由于搜救目标易受到风、浪、流等因素的综合影响而不断漂移,其位置确定存在很大困难。目前国内水上搜救组织设备配备尚不完善,水上事故发生后,主要依靠简单的搜救设备来辅助搜救工作的完成和用人眼视觉来进行观察搜救,易受疲劳和环境因素的影响,搜索结果不确定性较大。而多旋翼无人机具有自身灵活性高、成本低、可控性强的优点,且具备自主导航能力,可通过搭载成像设备自主进行水上巡航和监管。因此,构建以多旋翼无人机自主识别为核心的水上搜救综合处理系统,能够更加有效迅速地找到搜救目标并实施救助,对于减少生命和财产损失具有重要意义。
现阶段多旋翼无人机在水上搜救的应用主要存在两方面问题:一方面,在不良天气条件下,受光照条件、雾气等环境因素影响,机载视频成像存在视频图像偏暗、目标受遮挡等的问题,严重影响着后续目标检测、识别、跟踪等智能化需求。另一方面,多旋翼无人机完成搜救目标的位置确定工作后,仍需依靠救援人员到达指定位置实施后续救援工作,延长了救援时间,增加了落水人员发生意外的可能性,同时对于多人员落水的救援效率也相对较低。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统。
本发明解决其技术问题所采用的技术方案是:一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统,包括:
多旋翼无人机飞行平台,所述多旋翼无人机飞行平台搭载视频采集模块与便捷式救生设备;
所述视频采集模块,用于采集目标区域水上遇险人员的视频图像;
基地综合处理平台,包括视频处理单元、落水人员检测识别单元和控制单元;
所述视频处理单元用于对视频采集模块采集的视频进行图像处理;
所述落水人员检测识别单元用于根据处理后的图像进行落水人员自主识别检测;
所述控制单元用于根据落水人员检测识别的结果发送控制信息控制多旋翼无人机飞行平台向落水人员投放便捷式救生设备,并发送控制信息引导救援无人艇开往落水人员所在区域进行救援;
若识别到落水人员则发出警告,确定位置信息;操控无人艇和无人机靠近救援区域;控制便携式救生设备在多旋翼无人机下降至距落水人员1.20m高度处释放简易救生设备。无人艇到达落水人员附近后,待落水人员上艇后,综合处理平台发出无线电信号,无人艇跟随该无线电信号携带落水人员回到地面(船舶)基地,完成救援工作,同时,无人艇携带有保暖服、高热量食物、急救药品等,保证在一定的环境下落水人员的安全。
救援无人艇,根据基地综合处理平台的控制信息,开往落水人员所在区域进行救援。
按上述方案,所述视频处理单元用于通过暗通道先验法对视频进行含雾图像去雾及低照度增强处理。
按上述方案,所述含雾图像去雾处理是将原始降质视频图像分为天空区域和目标区域两部分,对天空区域进行灰度矫正,对目标区域进行去雾增强。
按上述方案,所述落水人员检测识别单元的实现步骤如下:
1)制作落水人员数据集;
模拟落水人员行为,使用多旋翼无人机进行拍摄,获得大量训练数据,制作落水人员训练数据集;
2)数据集视频图像训练预处理
对落水人员训练数据集进行帧截取、图像筛选和标签标定处理;
所述帧截取为将视频数据进行转换和截取图像;
所述图像筛选为根据对遇险人员行为特征的定义,剔除初始图像数据集中遇险人员行为特征不明显或图像模糊等影响识别准确率的图像;
所述标签标定根据发明所需的对落水人员的定义,对图像中的落水人员进行标定,标签定义为Person;
3)基于YOLOv3网络结构训练数据
3.1)将处理过的图像进行resize处理,调整图像尺寸为448×448作为整个神经网络的输入;
3.2)通过运行神经网络得到若干bbox坐标、bbox中包含的人体目标的置信度、类别和概率3种信息:
3.3)在测试的时候,将每个网格预测的类别信息和bbox预测的confidence信息相乘,就得到每个bbox的具体类别置信分数:
3.4)通过设置阈值,滤掉得分低的bbox,对保留的bbox进行非极大值抑制处理,就得到最终的识别结果;
4)落水人员自主识别检测
对于YOLOv3网络模型的训练结果,发明将多旋翼无人机实际拍摄落水人员视频图像信息运用已获得的训练参数进行落水人员的实时自主识别检测,针对识别到的落水人员进行标注警示。根据检测结果计算准确率,准确率低于95%时继续优化网络模型,提高落水人员识别准确率。
本发明产生的有益效果是:本发明通过提供一种基于YOLOv3的多旋翼无人机的水上落水人员自主识别单元,利用无人机和无人艇,组建了一个基于视觉感知与计算的水上遇险人员智能辅助搜救系统,该系统对遇险人员识别率高,识别完成后进行智能搜救,能有效的完成水上遇险人员智能辅助搜救。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统,包括:
多旋翼无人机飞行平台,所述多旋翼无人机飞行平台搭载视频采集模块与便捷式救生设备;
所述视频采集模块,用于采集目标区域水上遇险人员的视频图像;
基地综合处理平台,包括视频处理单元、落水人员检测识别单元和控制单元;
所述视频处理单元用于对视频采集模块采集的视频进行图像处理;
视频处理单元用于通过暗通道先验法对视频进行含雾图像去雾及低照度增强处理。因含雾图像像素值趋于255,低照度图像像素值趋于0,我们可以近似认为两者像素值对于255互补。因此,本发明将低照度增强等效于含雾图像去雾,均采用基于暗通道先验的方法来解决。因为天空部位基本上是不符合暗通道去雾先验条件,因此我们采用了某种方法将原始降质视频图像分为天空区域和目标区域两部分分别处理,以图像去雾为例,天空区域进行灰度矫正,目标区域进行去雾增强。
所述落水人员检测识别单元用于根据处理后的图像进行落水人员自主识别检测;
述落水人员检测识别单元的实现步骤如下:
1)制作落水人员数据集;
模拟落水人员行为,使用多旋翼无人机进行拍摄,获得大量训练数据,制作落水人员训练数据集;
2)数据集视频图像训练预处理
对落水人员训练数据集进行帧截取、图像筛选和标签标定处理;
所述帧截取为将视频数据进行转换和截取图像;
所述图像筛选为根据对遇险人员行为特征的定义,剔除初始图像数据集中遇险人员行为特征不明显或图像模糊等影响识别准确率的图像;
所述标签标定根据发明所需的对落水人员的定义,对图像中的落水人员进行标定,标签定义为Person;一共标定3000张用作训练数据。参考YOLOv3的网络结构,将训练数据输入到YOLOv3网络中进行训练,从而直接训练出可以对输入图像或视频数据进行识别落水人员的网络模型。
3)基于YOLOv3网络结构训练数据
3.1)将处理过的图像进行resize处理,调整图像尺寸为448×448作为整个神经网络的输入;
3.2)通过运行神经网络得到若干bbox坐标、bbox中包含的人体目标的置信度、类别和概率3种信息:
将输入的图像分成S×S个网格,例如将图像分成7×7个网格,当某人体目标(Object)的中心落在这个网格中,那么这个网格就负责预测这个人体目标(Object);
每个网格都要预测一个类别信息,那么对于S×S个网格,每个网格既要预测3个bbox,同时还要预测C个类别,所以输出就是S×S×(5×B+C)的一个张量,对应中输出的张量就是7×7×(5×3+2)。
每个网格要预测3个bbox,而每个bbox又要预测x,y,w,h和confidence共5个值。其中x,y是bbox中心位置的坐标,并且其值被归一化到[0,1];w,h是bbox的宽度和高度,同样归一化到[0,1];每个bbox除了要回归自身的位置之外,还要附带预测一个confidence值。这个confidence代表了所预测的bbox中含有Object的置信度和这个bbox预测的有多准两种信息,计算方式如下:
其中,Pr(Object)表示Object是否落在该网格中,若有Object落在一个网格里,等式右边第一项取1,否则取0,第二项是预测的bbox和实际的标签框之间的IOU值;
3.3)在测试的时候,将每个网格预测的类别信息和bbox预测的confidence信息相乘,就得到每个bbox的具体类别置信分数:
3.4)通过设置阈值,滤掉得分低的bbox,对保留的bbox进行非极大值抑制处理,就得到最终的识别结果;
4)落水人员自主识别检测
对于YOLOv3网络模型的训练结果,发明将多旋翼无人机实际拍摄落水人员视频图像信息运用已获得的训练参数进行落水人员的实时自主识别检测,针对识别到的落水人员进行标注警示。根据检测结果计算准确率,准确率低于95%时继续优化网络模型,提高落水人员识别准确率。
YOLOv3使用均方和误差作为loss(损失)函数来优化模型参数,即网络输出的S×S×(5×B+C)维向量与真实图像的对应S×S×(5×B+C)维向量的均方和误差。实验中随着batches(训练批次)的增加,average loss(平均损失)在不断减小,逐渐趋于0,即整个网络结果趋于收敛。这是一个不断学习的过程,在训练学习的过程中,它的准确率会不断提高,直到达到要求。
所述控制单元用于根据落水人员检测识别的结果发送控制信息控制多旋翼无人机飞行平台向落水人员投放便捷式救生设备,并发送控制信息引导救援无人艇开往落水人员所在区域进行救援;
若识别到落水人员则发出警告,确定位置信息;操控无人艇和无人机靠近救援区域;控制便携式救生设备在多旋翼无人机下降至距落水人员1.20m高度处释放简易救生设备。无人艇到达落水人员附近后,待落水人员上艇后,综合处理平台发出无线电信号,无人艇跟随该无线电信号携带落水人员回到地面(船舶)基地,完成救援工作,同时,无人艇携带有保暖服、高热量食物、急救药品等,保证在一定的环境下落水人员的安全。
救援无人艇,根据基地综合处理平台的控制信息,开往落水人员所在区域进行救援。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (3)

1.一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统,其特征在于,包括:
多旋翼无人机飞行平台,所述多旋翼无人机飞行平台搭载视频采集模块与便捷式救生设备;
所述视频采集模块,用于采集目标区域水上遇险人员的视频图像;
基地综合处理平台,包括视频处理单元、落水人员检测识别单元和控制单元;
所述视频处理单元用于对视频采集模块采集的视频进行图像处理;
所述落水人员检测识别单元用于根据处理后的图像进行落水人员自主识别检测;
所述落水人员检测识别单元的实现步骤如下:
1)制作落水人员数据集;
模拟落水人员行为,使用多旋翼无人机进行拍摄,获得大量训练数据,制作落水人员训练数据集;
2)数据集视频图像训练预处理;
对落水人员训练数据集进行帧截取、图像筛选和标签标定处理;
3)基于YOLOv3网络结构训练数据;
3.1)将处理过的图像进行resize处理,调整图像尺寸为448×448作为整个神经网络的输入;
3.2)通过运行神经网络得到若干bbox坐标、bbox中包含的人体目标的置信度、类别和概率3种信息:
3.3)在测试的时候,将每个网格预测的类别信息和bbox预测的confidence信息相乘,就得到每个bbox的具体类别置信分数:
3.4)通过设置阈值,滤掉得分低的bbox,对保留的bbox进行非极大值抑制处理,得到最终的识别结果;
4)落水人员自主识别检测;
对于YOLOv3网络模型的训练结果,发明将多旋翼无人机实际拍摄落水人员视频图像信息运用已获得的训练参数进行落水人员的实时自主识别检测,针对识别到的落水人员进行标注警示,根据检测结果计算准确率,准确率低于95%时继续优化网络模型,提高落水人员识别准确率;
所述控制单元用于根据落水人员检测识别的结果发送控制信息控制多旋翼无人机飞行平台向落水人员投放便捷式救生设备,并发送控制信息引导救援无人艇开往落水人员所在区域进行救援;
救援无人艇,根据基地综合处理平台的控制信息,开往落水人员所在区域进行救援。
2.根据权利要求1所述的基于视觉感知与计算的水上遇险人员智能辅助搜救系统,其特征在于,所述视频处理单元用于通过暗通道先验法对视频进行含雾图像去雾及低照度增强处理。
3.根据权利要求2所述的基于视觉感知与计算的水上遇险人员智能辅助搜救系统,其特征在于,所述含雾图像去雾处理是将原始视频图像分为天空区域和目标区域两部分,对天空区域进行灰度矫正,对目标区域进行去雾增强。
CN201910473356.XA 2019-05-31 2019-05-31 一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统 Active CN112016373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910473356.XA CN112016373B (zh) 2019-05-31 2019-05-31 一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910473356.XA CN112016373B (zh) 2019-05-31 2019-05-31 一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统

Publications (2)

Publication Number Publication Date
CN112016373A CN112016373A (zh) 2020-12-01
CN112016373B true CN112016373B (zh) 2024-03-08

Family

ID=73507161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910473356.XA Active CN112016373B (zh) 2019-05-31 2019-05-31 一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统

Country Status (1)

Country Link
CN (1) CN112016373B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686826A (zh) * 2021-01-13 2021-04-20 东华大学 一种恶劣气候环境下的海洋搜救方法
CN113283314A (zh) * 2021-05-11 2021-08-20 桂林电子科技大学 一种基于YOLOv3和手势识别的无人机的夜间搜救方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563242A (zh) * 2018-03-30 2018-09-21 武汉理工大学 一种海空自主协同搜救m3u平台
CN109080793A (zh) * 2018-07-04 2018-12-25 上海海事大学 一种基于无人机的海上搜救系统及其搜救方法和控制方法
CN109358653A (zh) * 2018-09-03 2019-02-19 济源维恩科技开发有限公司 海上无人机分布式智能搜救系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563242A (zh) * 2018-03-30 2018-09-21 武汉理工大学 一种海空自主协同搜救m3u平台
CN109080793A (zh) * 2018-07-04 2018-12-25 上海海事大学 一种基于无人机的海上搜救系统及其搜救方法和控制方法
CN109358653A (zh) * 2018-09-03 2019-02-19 济源维恩科技开发有限公司 海上无人机分布式智能搜救系统

Also Published As

Publication number Publication date
CN112016373A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN113359810B (zh) 一种基于多传感器的无人机着陆区域识别方法
CN109725310B (zh) 一种基于yolo算法以及岸基雷达系统的船舶定位监管系统
CN104933680B (zh) 一种智能的无人艇视觉系统视频快速海雾去除方法
Kim et al. Image-based monitoring of jellyfish using deep learning architecture
CN110782481A (zh) 无人艇智能决策方法及系统
CN110060508B (zh) 一种用于内河桥区的船舶自动检测方法
CN111326023A (zh) 一种无人机航线预警方法、装置、设备及存储介质
CN111460919B (zh) 一种基于改进YOLOv3的单目视觉道路目标检测及距离估计方法
CN106384344A (zh) 一种光学遥感图像海面舰船目标检测与提取方法
CN106816038A (zh) 一种内河水域异常行为船舶自动识别系统及方法
CN108038424B (zh) 一种适用于高空作业的视觉自动化检测方法
CN111414807B (zh) 一种基于yolo技术的潮水识别与危机预警方法
CN109460754A (zh) 一种水面异物检测方法、装置、设备及存储介质
CN112016373B (zh) 一种基于视觉感知与计算的水上遇险人员智能辅助搜救系统
CN111553214B (zh) 一种驾驶员吸烟行为检测方法及系统
CN108153334A (zh) 无合作目标式无人直升机视觉自主返航与着降方法及系统
CN107731011B (zh) 一种港口泊船监测方法、系统及电子设备
CN111582084B (zh) 基于弱监督学习的空基视角下的铁轨异物检测方法及系统
CN110490155A (zh) 一种禁飞空域无人机检测方法
CN115049948A (zh) 基于神经网络模型的无人机巡检方法、装置及相关设备
CN112668441A (zh) 一种结合先验知识的卫星遥感影像飞机目标识别方法
CN113128476A (zh) 一种基于计算机视觉目标检测的低功耗实时头盔检测方法
CN116246139A (zh) 一种无人艇航行环境基于多传感器融合的目标识别方法
CN110321775A (zh) 一种基于多旋翼无人机的水上落水人员自主识别方法
CN109766780A (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