CN111242167B - 分布式图像标注方法、装置、计算机设备和存储介质 - Google Patents

分布式图像标注方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111242167B
CN111242167B CN201911399444.6A CN201911399444A CN111242167B CN 111242167 B CN111242167 B CN 111242167B CN 201911399444 A CN201911399444 A CN 201911399444A CN 111242167 B CN111242167 B CN 111242167B
Authority
CN
China
Prior art keywords
target
labeling
training model
file
format file
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
CN201911399444.6A
Other languages
English (en)
Other versions
CN111242167A (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.)
Shenzhen Miracle Intelligent Network Co Ltd
Original Assignee
Shenzhen Miracle Intelligent Network Co Ltd
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 Shenzhen Miracle Intelligent Network Co Ltd filed Critical Shenzhen Miracle Intelligent Network Co Ltd
Priority to CN201911399444.6A priority Critical patent/CN111242167B/zh
Publication of CN111242167A publication Critical patent/CN111242167A/zh
Application granted granted Critical
Publication of CN111242167B publication Critical patent/CN111242167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification 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
    • 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/40Extraction of image or video features
    • G06V10/44Local 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

Abstract

本申请涉及一种分布式图像标注方法、装置、计算机设备和存储介质。所述方法包括:获取待分配的预训练模型;预训练模型用于执行标注任务;根据标注任务的任务类型,确定每个预训练模型对应的客户端标识;将每个预训练模型转换为适用于相应客户端的目标格式文件;将每个目标格式文件下发至与相应客户端标识对应的客户端,以使客户端基于所述目标格式文件进行图像标注。采用本方法能够提升图像标注的效率。

Description

分布式图像标注方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种分布式图像标注方法、装置、计算机设备和存储介质。
背景技术
标注质量是影响神经网络模型的最终学习效果的一个重要因素。为了提升标注效率和标注质量,目前大多数企业都倾向于借助AI(人工智能)进行辅助标注。AI辅助标注就是使用机器学习模型进行首次标注,标注人员可以在此基础上进行小量纠正,如此可以极大减少标注人员的工作量,提升标注效率。
目前的AI辅助标注基本都是基于一个中心化的服务器对待标注样本进行标注,之后再将标注结果回传至各个客户端。但是,在需要同时针对不同神经网络模型所需的不同样本进行模型标注时,中心化的服务器就会产生资源抢占的情况,从而导致执行效率降低,严重时还会宕机崩溃。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升图像标注效率的分布式图像标注方法、装置、计算机设备和存储介质。
一种分布式图像标注方法,所述方法包括:
获取待分配的预训练模型;所述预训练模型用于执行标注任务;
根据所述标注任务的任务类型,确定每个预训练模型对应的客户端标识;
将每个所述预训练模型转换为适用于相应客户端的目标格式文件;
将每个目标格式文件下发至与相应客户端标识对应的客户端,以使所述客户端基于所述目标格式文件进行图像标注。
在其中一个实施例中,所述将每个目标格式文件下发至与相应客户端标识对应的客户端包括:
判断与客户端标识相对应的客户端中是否已存储有所述目标格式文件;
当已存储有目标格式文件时,确定所述已存储的目标格式文件的版本信息;
当所述已存储的目标格式文件的版本信息低于待发送的目标格式文件的版本信息时,将所述待发送的目标格式文件发送至对应客户端。
一种分布式图像标注方法,所述方法包括:
获取目标格式文件,以及待标注图像;
基于所述目标格式文件,确定模型参数及模型拓扑结构;
根据所述模型参数以及所述模型拓扑结构生成对应的预训练模型;
基于所述预训练模型对所述待标注图像进行标注。
在其中一个实施例中,所述待标注图像中具有待标注对象;所述基于所述预训练模型对所述待标注图像进行标注包括:
生成所述待标注图像的一个或多个目标检测框;所述目标检测框中具有相对应的待标注对象;
提取所述目标检测框中的待标注对象的轮廓特征;
基于所述轮廓特征,预测所述待标注对象为目标对象的概率值;
根据所述概率值对所述待标注对象进行标注。
在其中一个实施例中,所述根据所述概率值对所述待标注对象进行标注包括:
所述待检测图像中的在其中一个实施例中,所述确定所述待标注图像中各目标检测框之间的交并面积比包括:
将包含概率值最高的待标注对象的目标检测框作为当前的第一检测框;
计算所述待标注图像中其余目标检测框与所述第一检测框之间的交集面积和并集面积;
基于所述交集面积以及所述并集面积确定交并面积比;
所述基于所述交并面积比,从所述一个或多个目标检测框中确定针对不同待标注对象所框选的最优检测框包括:
删除所述待检测图像中除第一检测框之外的,交并面积比大于面积阈值的目标检测框;
将剩余的除第一检测框之外的,包含概率值最高的待标注对象的目标检测框作为当前的第一检测框,并返回确定所述待标注图像中其余目标检测框与第一检测框之间的交并面积比的步骤,直至所述待检测图像中不存在交并面积比大于面积阈值的目标检测框;
将所述待检测图像中的剩余目标检测框判定为最优检测框。
在其中一个实施例中,所述方法还包括:
基于所述待标注对象的概率值,确定框选所述待标注对象的目标检测框的展示模式;
将所述目标检测框按照所述展示模型进行展示。
一种分布式图像标注装置,所述装置包括:
预训练模型获取模块,用于获取待分配的预训练模型;所述预训练模型用于执行标注任务;
格式转换模块,用于根据所述标注任务的任务类型,确定每个预训练模型对应的客户端标识;将每个所述预训练模型转换为适用于相应客户端的目标格式文件;
文件下发模块,用于将每个目标格式文件下发至与相应客户端标识对应的客户端,以使所述客户端基于所述目标格式文件进行图像标注。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待分配的预训练模型;所述预训练模型用于执行标注任务;
根据所述标注任务的任务类型,确定每个预训练模型对应的客户端标识;
将每个所述预训练模型转换为适用于相应客户端的目标格式文件;
将每个目标格式文件下发至与相应客户端标识对应的客户端,以使所述客户端基于所述目标格式文件进行图像标注。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标格式文件,以及待标注图像;
基于所述目标格式文件,确定模型参数及模型拓扑结构;
根据所述模型参数以及所述模型拓扑结构生成对应的预训练模型;
基于所述预训练模型对所述待标注图像进行标注。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待分配的预训练模型;所述预训练模型用于执行标注任务;
根据所述标注任务的任务类型,确定每个预训练模型对应的客户端标识;
将每个所述预训练模型转换为适用于相应客户端的目标格式文件;
将每个目标格式文件下发至与相应客户端标识对应的客户端,以使所述客户端基于所述目标格式文件进行图像标注。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标格式文件,以及待标注图像;
基于所述目标格式文件,确定模型参数及模型拓扑结构;
根据所述模型参数以及所述模型拓扑结构生成对应的预训练模型;
基于所述预训练模型对所述待标注图像进行标注。
上述分布式图像标注方法、装置、计算机设备和存储介质,通过获取预训练模型,可以将预训练的模型转换成客户端可以运行目标格式文件;通过标注任务的任务类型确定对应的客户端标识,可以将能够完成不同标注任务的目标格式文件下发至对应的客户端,从而不同的客户端可以基于不同种类的目标格式完成不同的标注任务。相比于传统的基于一个中心化的服务器同时实现不同种类的标注任务,本方案可以将多个标注任务以及对应的预训练模型分发至对应客户端,由客户端基于预训练模型实现图像标注,从而有效地降低了中心服务器因不同种类的标注任务之间进行资源争抢,而导致标注效率降低的概率。
附图说明
图1为一个实施例中分布式图像标注方法的应用场景图;
图2为一个实施例中分布式图像标注方法的流程示意图;
图3为另一个实施例中分布式图像标注方法的流程示意图;
图4A为一个实施例中针对待标注对象所生成的目标检测框的示意图;
图4B为一个实施例中,中间结果检测框的示意图;
图4C为一个实施例中最优检测框的示意图;
图5为一个实施例中分布式图像标注装置的结构框图;
图6为另一个实施例中分布式图像标注装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的分布式图像标注方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器104上具有多种不同种用以实现图像标注的机器学习模型。服务器104将机器学习模型进行格式转换,得到终端102可以运行的目标格式文件后,并将目标格式文件下发至对应终端102。终端102中部署有运行目标格式文件的客户端,当接收到目标格式文件后,客户端加载目标格式文件,并基于加载后的目标格式文件进行图像标注。
在一个实施例中,如图2所示,提供了一种分布式图像标注方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,获取待分配的预训练模型。
其中,预训练模型是指已经训练完毕的用以执行图像标注任务的机器学习模型,具体可以是基于候选区域+深度学习分类的R-CNN(Selective Search+CNN+SVM)、基于深度学习的回归的SSD(Single Shot MultiBox Detector)等模型。
具体地,标签标注人员可以收集大量的训练图像,并将训练图像按标注任务的任务类型进行分类,得到多个训练图像集。其中,标注任务具有多种任务类型,例如,标注任务的任务类型可以为人脸标注任务、道路上的障碍物标注任务以及病灶区域标注任务等。标签标注人员遍历训练集中的训练图像,并在训练图像中框选出待标注对象,之后基于被框选的待标注对象的对象类型对训练图像进行标注。例如,标签标注人员按照训练图像中包含的待标注对象的对象类型,将训练图像划分为包含人脸的图像集、包含障碍物的图像集以及包含病灶区域的图像集,之后标签标注人员框选每个训练图像中的人脸、障碍物以及病灶区域,并对框选出的人脸、障碍物以及病灶区域进行类别标注。
进一步的,服务器中具有多个执行不同种类的标注任务的待训练模型。标签标注人员将标注后的训练图像集和未标注的训练集按照标注任务的任务类型对应输入至待训练模型,以使待训练模型基于标注后的训练图像集和未标注的训练集进行参数调整。例如,服务器中具有待训练的人脸标注模型、障碍物标注模型以及病灶区域标注模型,当人脸标注模型、障碍物标注模型以及病灶区域标注模型分别接收到对应的包含人脸的图像集、包含障碍物的图像集以及包含病灶区域的图像集后,人脸标注模型、障碍物标注模型以及病灶区域标注模型对图像集中的训练图像进行目标对象定位和目标对象分类,并将目标对象定位结果和目标对象分类结果与标注结果进行对比,基于目标对象定位结果、目标对象分类结果与标注结果之间的差异进行参数调整,从而得到可以执行不同种标注任务的预训练模型。
在另一个实施例中,可以基于深度学习的回归的SSD(Single Shot MultiBoxDetector)进行模型训练。其中,损失函数SSD(L(x,c,l,g))为:
i指代搜索框序号,搜索框为网络生成的网格,j指代真实框序号,p指代类别序号,p=0表示背景,中取1表示此时第i个搜索框和第j个类别框IOU大于阈值,此时真实框中对象类别为p。/>表示第i个搜索框对应类别p的预测概率。/>为第i个预测框与第j个真实框关于类别K是否匹配,匹配时为1,不匹配时为0。/>为预测框,/>为真实框。/>为预测框i与真实框j关于类别p的匹配程度,/>指预测框内无物体。
S204,根据标注任务的任务类型,确定每个预训练模型对应的客户端标识。
其中,任务类型为指示预训练模型进行何种标注任务的信息,如任务类型可以为人脸标注任务,障碍物标注任务等,此时对应的预训练模型即可以为人脸标注模型和障碍物标注模型。
具体地,客户端可以通过网络连接至服务器,标签标注人员可以通过客户端向服务器发送模型获取指令。当服务器接收到模型获取指令时,服务器将训练完毕的一个或多个预训练模型的任务类型下发至对应客户端,由客户端对应展示任务类型,并监控标签标注人员对任务类型的选择操作。标签标注人员可以基于自身的标注需求,从展示的任务类型中选择一个或多个任务类型,并由客户端将选择的任务类型以及自身的标识信息发送至服务器。
在另一个实施例中,可以预先设定客户端标识与任务类型之间的对应关系,由服务器将客户端标识与任务类型对应存储于内存中。例如,可以由标签标注人员指定客户端与任务类型之间的关联关系,之后再将关联关系发送至服务器,由服务器基于任务类型确定每个预训练模型所对应的客户端标识。
S206,将每个预训练模型转换为适用于相应客户端的目标格式文件。
其中,目标格式文件是指可以在客户端中使用的格式,如目标格式文件可以为JSON格式的文件或JS(Javascript)格式文件。
具体地,服务器确定预训练模型的模型拓扑结构,并将模型拓扑结构转换成一个JSON格式的拓扑结构文件,例如可以将模型拓扑结构转换为model.json文件。其中,模型拓扑结构又名又名“架构(architecture)”或“图形(graph),是指机器学习模型的架构,基于模型拓扑结构可以确定机器学习模型中所包含的层级结构、各层级之间的连接关系以及各层的参数设置。与此同时,服务器确定预训练模型中的模型权重,并将模型权重以预设的分割尺寸进行分割,得到分片权重文件以及对应的分片权重文件目录。其中,模型权重是指基于此时的模型参数得到的预测结果与实际结果之间的差异符合预设要求时,所确定的参数及权重。分割尺寸为指示单个分片权重文件的文件大小的信息,例如,分割尺寸可以为4MB。
在其中一个实施例中,可以使用开源工程Grappler简化模型拓扑结构。模型拓扑结构的简化包括相邻操作的折叠,消除常见子图像等。
在另一个实施例中,用户可以输入参数用以指示模型的量化大小。量化是通过用更少的比特来表示模型权重,从而减少模型大小。
在另一个实施例中,在转换过程中,服务器会遍历模型拓扑结构并确认每个转换步骤是否成功,若每个步骤均执行成功,服务器将转换后的目标格式文件存储至指定目录中。若在转换过程中遇到了转换失败的步骤,服务器为用户打印出该步骤的信息。
S208,将每个目标格式文件下发至与相应客户端标识对应的客户端,以使客户端基述目标格式文件进行图像标注。
具体地,服务器将具有目标格式的拓扑结构文件、分片权重文件以及对应的分片权重文件目录发送至与相应客户端标识对应的客户端。客户端接收到拓扑结构文件、分片权重文件以及对应的分片权重文件目录后,按照分片权重文件目录将分片权重文件进行组合,得到权重文件,之后加载权重文件和拓扑结构文件,得到预训练模型,并基于预训练模型对待标注图像进行标注。
上述分布式图像标注方法中,通过获取预训练模型,可以将预训练的模型转换成客户端可以运行目标格式文件;通过标注任务的任务类型确定对应的客户端标识,可以将能够完成不同标注任务的目标格式文件下发至对应的客户端,从而不同的客户端可以基于不同种类的目标格式完成不同的标注任务。相比于传统的基于一个中心化的服务器同时实现不同种类的标注任务,本方案可以将多个标注任务以及对应的预训练模型分发至对应客户端,由客户端基于预训练模型实现图像标注,从而有效地降低了中心服务器因不同种类的标注任务之间进行资源争抢,而导致标注效率降低的概率。
在另一个实施例中,将每个目标格式文件下发至与相应客户端标识对应的客户端包括:判断与客户端标识相对应的客户端中是否已存储有目标格式文件;当已存储有目标格式文件时,确定已存储的目标格式文件的版本信息;当已存储的目标格式文件的版本信息低于待发送的目标格式文件的版本信息时,将待发送的目标格式文件发送至对应客户端。
其中,目标格式文件中包括对应预训练模型的模型版本。
具体地,当服务器确定待发送目标格式文件与客户端标识之前的对应关系后,服务器从目标格式文件中提取出预训练模型的版本信息,并基于预训练模型的版本信息生成查询指令,之后将查询指令发送至对应客户端。客户端基于查询指令判断是否已经接收过与模型版本信息相对应的预训练模型。当客户端已经接收过与模型版本信息相对应的预训练模型时,客户端向服务器发送终止发送请求。当客户端未接收过与模型版本信息相对应的预训练模型,或接收到的预训练模型的版本信息低于从服务器接收到的版本信息时,客户端向服务器发送接收请求,以使服务器基于接收请求将目标格式文件下发至对应客户端。
本实施例中,通过预先判断对应客户端是否已经接收过待发送的目标格式文件,可以有效减少重复发送不必要的目标格式文件的概率,从而大大节约了发送目标格式文件时所耗费的网络资源。
在另一个实施例中,如图3所示,上述分布式图像标注方法包括以下步骤:
S302,获取目标格式文件,以及待标注图像;
S304,基于目标格式文件,确定模型参数及模型拓扑结构;
S306,根据模型参数以及模型拓扑结构生成对应的预训练模型;
S308,基于预训练模型对待标注图像进行标注。
具体地,当客户端接收到目标格式文件时,客户端基于目标格式文件中的拓扑结构文件确定预训练模型的层级关系以及各层的参数设置,基于目标格式文件中的分片权重文件确定预训练模型的权重信息,根据层级关系、各层的参数设置以及权重信息将目标格式文件转换成对应的预训练模型。客户端获取待标注图像,并将待标注图像输入至预训练模型中,以使预训练模型对待标注图像进行标注,得到标注结果,并将标注结果对应展示。
在其中一个实施例中,服务器可以开放一个接口供客户端下载目标格式文件,客户端只需调用相应接口即可下载、加载目标格式文件,从而得到对应的预训练模型,从而可以方便快捷地对图像进行标注。
本实施例中,通过直接从服务器中拉取目标格式文件,使得客户端可以基于目标格式文件实现图像标注,从而可以将原本集中于服务器完成的标注任务分发至对应客户端完成,进而可以减少服务器因运行资源不足而导致的宕机崩溃的概率。
在另一个实施例中,待标注图像中具有待标注对象;基于预训练模型对待标注图像进行标注包括:生成待标注图像的一个或多个目标检测框;目标检测框中具有相对应的待标注对象;提取目标检测框中的待标注对象的轮廓特征;基于轮廓特征,预测待标注对象为目标对象的概率值;根据概率值对待标注对象进行标注。
其中,标注对象为与标注任务相对应的需要被标识出的物体。例如,在人脸标注任务中,标注对象即为图像中的人脸。
具体地,预训练模型基于滑动窗口针对每个待标注对象进行框选操作,得到若干个识别待标注对象的候选检测框和边框回归向量,利边框回归向量校正候选检测框,利用非极大值抑制方法删除重叠候选检测框。预训练模型将删除重叠候选检测框后的候选检测框进行卷积运算,从而删除大部分错误的候选检测框,得到目标检测框。其中,目标检测框是指对待标注对象进行框选后得到的一个紧凑的方框。
进一步地,预训练模型截取目标检测框中的图像,得到多张目标检测子图像,并提取目标检测子图像中的待标注对象的轮廓特征,基于轮廓特征预测待标注对象为目标对象的概率,并将概率值以及待标注对象的类别对应展示。例如,当标注任务的任务类型为标注图像中的人脸时,预训练模型基于待标注对象的轮廓特征预测待标注对象为人脸的概率,并以“人脸:59%”的形式对应展示待标注对象的类型以及为此类型的概率值。
本实施例中,通过针对每一个待标注对象均生成对应的目标检测框,使得预训练模型可以有针对性地提取出目标检测框内的待标注对象的轮廓特征,从而可以基于轮廓特征确定待标注对象的分类结果和分类概率,进而可以基于分类结果以及分类概率对待标注图像进行准确地标注。
在另一个实施例中,根据概率值对待标注对象进行标注包括:将包含概率值最高的待标注对象的目标检测框作为当前的第一检测框;确定待标注图像中其余目标检测框与第一检测框之间的交并面积比;根据交并面积比,从一个或多个目标检测框中筛选出针对不同待标注对象所框选的最优检测框;基于最优检测框中待检测对象的概率值对相应待标注对象进行标注。
其中,如图4A所示,预训练模型可能针对一个待标注对象生成多个目标检测框,因此需从多个目标检测框中筛选出最优检测框。最优检测框是指能够以最紧凑的方框完整框选出一个待标注对象的检测框。图4A为一个实施例中,针对待标注对象(人脸)所生成的目标检测框的示意图。
具体地,预训练模型确定为目标对象的概率值最高的待标注对象,并基于概率值最高的待标注对象确定对应的目标检测框。为了描述方便,下述将包含概率值最高的待标注对象的目标检测框称为第一检测框,将待标注对象为目标对象的概率值称为分类概率值。预训练模型分别计算各目标检测框所框选的图像面积与第一检测框所框选的图像面积之间的交集面积和并集面积,并将交集面积除以并集面积得到交并面积比。预训练模型根据交并面积比,得到针对不同待标注对象所框选的最优检测框。预训练模型获取最优检测框内的待检测对象的分类概率值,并将分类概率值以及分类结果对应输出。
本实施例中,通过确定待标注图像中的最优检测框,使得预训练模型可以将最优的标注结果对应输出,从而减少了输出不必要的标注结果的概率,进而提升了标注结果的准确性。
在另一个实施例中,基于交并面积比,从一个或多个目标检测框中确定针对不同待标注对象所框选的最优检测框包括:删除待检测图像中除第一检测框之外的,交并面积比大于面积阈值的目标检测框;将剩余的除第一检测框之外的,包含概率值最高的待标注对象的目标检测框作为当前的第一检测框,并返回确定待标注图像中其余目标检测框与第一检测框之间的交并面积比的步骤,直至待检测图像中不存在交并面积比大于面积阈值的目标检测框;将待检测图像中的剩余目标检测框判定为最优检测框。
具体地,当获取到待标注图像中除第一检测框之外的各目标检测图像与第一检测框之间的交并面积比后,预训练模型删除除第一检测框之外的,交并面积比大于面积阈值的目标检测框,得到如图4B所示的中间结果检测框。图4B为一个实施例中,中间结果检测框的示意图。
进一步地,预训练模型从中间检测框中筛选出除第一检测框之外的,包含分类概率值最高的待标注对象的目标检测框,并将筛选出的目标检测框作为新的第一检测框。预训练模型计算各中间结果检测框与新的第一检测框之间的交并面积比,并从中间结果检测框中删除除新的第一检测框之外的并面积比大于面积阈值的目标检测框,直至待标注图像中不存在交并面积比大于面积阈值的目标检测框,从而得到如图4C所示的最优检测框。图4C为一个实施例中,最优检测框的示意图。
本实施例中,通过基于简单的面积计算,即可确定待标注图像中的最优检测框,从而大大提升了最优检测框的确定效率。
在另一个实施例中,上述分布式图像标注还包括:基于待标注对象的概率值,确定框选待标注对象的目标检测框的展示模式;将目标检测框按照展示模型进行展示。
具体地,客户端中具有分类概率值与展示模型之间的对应关系。当客户端获取到图像中各个标注对象的分类概率值后,客户端基于分类概率值确定对应的展示模式,并将图像中的各个标注对象以对展示模型进行展示。例如,可以通过一个绿色方框对应框选出分类概率值大于或等于1,小于0.8的标注对象;通过一个黄色方框对应框选出分类概率值大于或等于0.8,小于0.5的标注对象;通过一个红色方框对应框选出分类概率值大于或等于0.5,小于0.3的标注对象;对分类概率值小于0.3的标注对象的标注结果进行屏蔽。
进一步地,标签标注人员可以根据边框颜色判断待标注对象的标注结果,并对标注结果进行进一步修正,例如,当边框为绿色时,可以认为预训练模型可以确认标注对象的对象类型,当边框为黄色时,可以认为预训练模型可能不太确定标注对象的对象类型,此时标签标注人员可以人工修正标注对象的对象类型。
本实施例中,基于不同的分类概率值将标注对象进行区分展示,使得标签标注人员可以根据展示方式确定是否需要对标注结果进行核实,从而能够在需要进行核实的时候,才进行核实操作,进而提升了标注效率。
应该理解的是,虽然图2、3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在其中一个实施例中,如图5所示,提供了一种分布式图像标注装置500,包括:预训练模型获取模块502、格式转换模块504和文件下发模块506,其中:
预训练模型获取模块502,用于获取待分配的预训练模型;预训练模型用于执行标注任务;
格式转换模块504,用于根据标注任务的任务类型,确定每个预训练模型对应的客户端标识;将每个预训练模型转换为适用于相应客户端的目标格式文件;
文件下发模块506,用于将每个目标格式文件下发至与相应客户端标识对应的客户端,以使客户端基于目标格式文件进行图像标注。
在其中一个实施例中,上述文件下发模块506还用于判断与客户端标识相对应的客户端中是否已存储有目标格式文件;当已存储有目标格式文件时,确定已存储的目标格式文件的版本信息;当已存储的目标格式文件的版本信息低于待发送的目标格式文件的版本信息时,将待发送的目标格式文件发送至对应客户端。
在其中一个实施例中,如图6所示,提供了另一种分布式图像标注装置600,包括:目标格式文件获取模块602、预训练模型组合模块604和图像标注模块606,其中:
目标格式文件获取模块602,用于获取目标格式文件,以及待标注图像。
预训练模型组合模块604,用于基于目标格式文件,确定模型参数及模型拓扑结构;根据模型参数以及模型拓扑结构生成对应的预训练模型。
图像标注模块606,用于基于预训练模型对待标注图像进行标注。
在其中一个实施例中,图像标注模块606还包括概率值确定模块6061,用于生成待标注图像的一个或多个目标检测框;目标检测框中具有相对应的待标注对象;提取目标检测框中的待标注对象的轮廓特征;基于轮廓特征,预测待标注对象为目标对象的概率值;根据概率值对待标注对象进行标注。
在其中一个实施例中,概率值确定模块6061还用于将包含概率值最高的待标注对象的目标检测框作为当前的第一检测框;确定待标注图像中其余目标检测框与第一检测框之间的交并面积比;根据交并面积比,从一个或多个目标检测框中筛选出针对不同待标注对象所框选的最优检测框;基于最优检测框中待检测对象的概率值对相应待标注对象进行标注。
在其中一个实施例中,概率值确定模块6061还用于删除待检测图像中除当前的第一检测框之外的,交并面积比大于面积阈值的目标检测框;将剩余的除当前的第一检测框之外的,包含概率值最高的待标注对象的目标检测框作为当前的第一检测框,并返回确定待标注图像中其余目标检测框与第一检测框之间的交并面积比的步骤,直至待检测图像中不存在交并面积比大于面积阈值的目标检测框;将待检测图像中的剩余目标检测框判定为最优检测框。
在其中一个实施例中,分布式图像标注装置600还包括展示模块608,用于基于待标注对象的概率值,确定框选待标注对象的目标检测框的展示模式;将目标检测框按照展示模型进行展示。
关于分布式图像标注装置的具体限定可以参见上文中对于分布式图像标注方法的限定,在此不再赘述。上述分布式图像标注装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储分布式图像标注数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式图像标注方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取待分配的预训练模型;预训练模型用于执行标注任务;
根据标注任务的任务类型,确定每个预训练模型对应的客户端标识;
将每个预训练模型转换为适用于相应客户端的目标格式文件;
将每个目标格式文件下发至与相应客户端标识对应的客户端,以使客户端基于目标格式文件进行图像标注。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
判断与客户端标识相对应的客户端中是否已存储有目标格式文件;
当已存储有目标格式文件时,确定已存储的目标格式文件的版本信息;
当已存储的目标格式文件的版本信息低于待发送的目标格式文件的版本信息时,将待发送的目标格式文件发送至对应客户端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取目标格式文件,以及待标注图像;
基于目标格式文件,确定模型参数及模型拓扑结构;
根据模型参数以及模型拓扑结构生成对应的预训练模型;
基于预训练模型对待标注图像进行标注。
在一个实施例中,待标注图像中具有待标注对象;处理器执行计算机程序时还实现以下步骤:
生成待标注图像的一个或多个目标检测框;目标检测框中具有相对应的待标注对象;
提取目标检测框中的待标注对象的轮廓特征;
基于轮廓特征,预测待标注对象为目标对象的概率值;
根据概率值对待标注对象进行标注。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将包含概率值最高的待标注对象的目标检测框作为当前的第一检测框;
确定待标注图像中其余目标检测框与第一检测框之间的交并面积比;
根据交并面积比,从一个或多个目标检测框中筛选出针对不同待标注对象所框选的最优检测框;
基于最优检测框中待检测对象的概率值对相应待标注对象进行标注。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
删除待检测图像中除第一检测框之外的,交并面积比大于面积阈值的目标检测框;
将剩余的除第一检测框之外的,包含概率值最高的待标注对象的目标检测框作为当前的第一检测框,并返回确定待标注图像中其余目标检测框与第一检测框之间的交并面积比的步骤,直至待检测图像中不存在交并面积比大于面积阈值的目标检测框;
将待检测图像中的剩余目标检测框判定为最优检测框。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于待标注对象的概率值,确定框选待标注对象的目标检测框的展示模式;
将目标检测框按照展示模型进行展示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待分配的预训练模型;预训练模型用于执行标注任务;
根据标注任务的任务类型,确定每个预训练模型对应的客户端标识;
将每个预训练模型转换为适用于相应客户端的目标格式文件;
将每个目标格式文件下发至与相应客户端标识对应的客户端,以使客户端基于目标格式文件进行图像标注。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
判断与客户端标识相对应的客户端中是否已存储有目标格式文件;
当已存储有目标格式文件时,确定已存储的目标格式文件的版本信息;
当已存储的目标格式文件的版本信息低于待发送的目标格式文件的版本信息时,将待发送的目标格式文件发送至对应客户端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取目标格式文件,以及待标注图像;
基于目标格式文件,确定模型参数及模型拓扑结构;
根据模型参数以及模型拓扑结构生成对应的预训练模型;
基于预训练模型对待标注图像进行标注。
在一个实施例中,待标注图像中具有待标注对象;计算机程序被处理器执行时还实现以下步骤:
生成待标注图像的一个或多个目标检测框;目标检测框中具有相对应的待标注对象;
提取目标检测框中的待标注对象的轮廓特征;
基于轮廓特征,预测待标注对象为目标对象的概率值;
根据概率值对待标注对象进行标注。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将包含概率值最高的待标注对象的目标检测框作为当前的第一检测框;
确定待标注图像中其余目标检测框与第一检测框之间的交并面积比;
根据交并面积比,从一个或多个目标检测框中筛选出针对不同待标注对象所框选的最优检测框;
基于最优检测框中待检测对象的概率值对相应待标注对象进行标注。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
删除待检测图像中除第一检测框之外的,交并面积比大于面积阈值的目标检测框;
将剩余的除第一检测框之外的,包含概率值最高的待标注对象的目标检测框作为当前的第一检测框,并返回确定待标注图像中其余目标检测框与第一检测框之间的交并面积比的步骤,直至待检测图像中不存在交并面积比大于面积阈值的目标检测框;
将待检测图像中的剩余目标检测框判定为最优检测框。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于待标注对象的概率值,确定框选待标注对象的目标检测框的展示模式;
将目标检测框按照所述展示模型进行展示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种分布式图像标注方法,所述方法包括:
获取待分配的预训练模型;所述预训练模型用于执行标注任务;
根据所述标注任务的任务类型,确定每个预训练模型对应的客户端标识;
将每个所述预训练模型转换为适用于相应客户端的目标格式文件;
将每个目标格式文件下发至与相应客户端标识对应的客户端,以使所述客户端基于所述目标格式文件进行图像标注,以得到不同颜色的目标检测框;其中,不同的颜色的目标检测框所框选的标注对象的分类概率值不同;
所述目标格式文件包括相应预训练模型的拓扑结构文件、分片权重文件和分片权重文件目录;所述将每个所述预训练模型转换为适用于相应客户端的目标格式文件,包括:
确定每个所述预训练模型的拓扑结构,并将所述拓扑结构转换成拓扑结构文件;所述拓扑结构用以确定相应预训练模型的层级结构、各层级之间的连接关系以及各层的参数设置;
确定每个所述预训练模型中的模型权重,并将所述模型权重以预设的分割尺寸进行分割,得到分片权重文件以及对应的分片权重文件目录。
2.根据权利要求1所述的方法,其特征在于,所述将每个目标格式文件下发至与相应客户端标识对应的客户端包括:
判断与客户端标识相对应的客户端中是否已存储有所述目标格式文件;
当已存储有目标格式文件时,确定所述已存储的目标格式文件的版本信息;
当所述已存储的目标格式文件的版本信息低于待发送的目标格式文件的版本信息时,将所述待发送的目标格式文件发送至对应客户端。
3.一种分布式图像标注方法,其特征在于,所述方法包括:
获取目标格式文件,以及待标注图像;所述目标格式文件包括相应预训练模型的拓扑结构文件、分片权重文件和分片权重文件目录;所述拓扑结构文件是基于拓扑结构转换得到的;所述拓扑结构用以确定相应预训练模型的层级结构、各层级之间的连接关系以及各层的参数设置;所述分片权重文件和分片权重文件目录,是将相应预训练模型中的模型权重以预设的分割尺寸进行分割得到的;
基于所述目标格式文件中的拓扑结构文件,确定预训练模型的层级关系以及各层的参数设置,并基于所述目标格式文件中的分片权重文件确定预训练模型的权重信息;
根据基于所述目标格式文件确定的层级关系、各层的参数设置以及权重信息,将所述目标格式文件转换成对应的预训练模型;
基于通过所述目标格式文件转换得到的预训练模型对所述待标注图像进行标注,以得到不同颜色的目标检测框;其中,不同的颜色的目标检测框所框选的标注对象的分类概率值不同。
4.根据权利要求3所述的方法,其特征在于,所述待标注图像中具有待标注对象;所述基于通过所述目标格式文件转换得到的预训练模型对所述待标注图像进行标注包括:
生成所述待标注图像的一个或多个目标检测框;所述目标检测框中具有相对应的待标注对象;
提取所述目标检测框中的待标注对象的轮廓特征;
基于所述轮廓特征,预测所述待标注对象为目标对象的概率值;
根据所述概率值对所述待标注对象进行标注。
5.根据权利要求4所述的方法,其特征在于,所述根据所述概率值对所述待标注对象进行标注包括:
将包含概率值最高的待标注对象的目标检测框作为当前的第一检测框;
确定所述待标注图像中其余目标检测框与第一检测框之间的交并面积比;
根据所述交并面积比,从所述一个或多个目标检测框中筛选出针对不同待标注对象所框选的最优检测框;
基于所述最优检测框中待检测对象的概率值对相应待标注对象进行标注。
6.根据权利要求5所述的方法,其特征在于,所述根据所述交并面积比,从所述一个或多个目标检测框中筛选出针对不同待标注对象所框选的最优检测框包括:
删除所述待标注图像中除当前的第一检测框之外的,交并面积比大于面积阈值的目标检测框;
将剩余的除当前的第一检测框之外的,包含概率值最高的待标注对象的目标检测框作为当前的第一检测框,并返回确定所述待标注图像中其余目标检测框与第一检测框之间的交并面积比的步骤,直至所述待标注图像中不存在交并面积比大于面积阈值的目标检测框;
将所述待标注图像中的剩余目标检测框判定为最优检测框。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述待标注对象的概率值,确定框选所述待标注对象的目标检测框的展示模式;
将所述目标检测框按照所述展示模式进行展示。
8.一种分布式图像标注装置,其特征在于,所述装置包括:
预训练模型获取模块,用于获取待分配的预训练模型;所述预训练模型用于执行标注任务;
格式转换模块,用于根据所述标注任务的任务类型,确定每个预训练模型对应的客户端标识;将每个所述预训练模型转换为适用于相应客户端的目标格式文件;
文件下发模块,用于将每个目标格式文件下发至与相应客户端标识对应的客户端,以使所述客户端基于所述目标格式文件进行图像标注,以得到不同颜色的目标检测框;其中,不同的颜色的目标检测框所框选的标注对象的分类概率值不同;
所述格式转换模块还用于确定每个所述预训练模型的拓扑结构,并将所述拓扑结构转换成拓扑结构文件,所述拓扑结构用以确定相应预训练模型的层级结构、各层级之间的连接关系以及各层的参数设置;确定每个所述预训练模型中的模型权重,并将所述模型权重以预设的分割尺寸进行分割,得到分片权重文件以及对应的分片权重文件目录。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201911399444.6A 2019-12-30 2019-12-30 分布式图像标注方法、装置、计算机设备和存储介质 Active CN111242167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911399444.6A CN111242167B (zh) 2019-12-30 2019-12-30 分布式图像标注方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911399444.6A CN111242167B (zh) 2019-12-30 2019-12-30 分布式图像标注方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111242167A CN111242167A (zh) 2020-06-05
CN111242167B true CN111242167B (zh) 2023-11-14

Family

ID=70872226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911399444.6A Active CN111242167B (zh) 2019-12-30 2019-12-30 分布式图像标注方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111242167B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898411B (zh) * 2020-06-16 2021-08-31 华南理工大学 文本图像标注系统、方法、计算机设备和存储介质
CN112699945B (zh) * 2020-12-31 2023-10-27 青岛海尔科技有限公司 数据标注方法及装置、存储介质及电子装置
CN113989626B (zh) * 2021-12-27 2022-04-05 北京文安智能技术股份有限公司 一种基于目标检测模型的多类别垃圾场景区分方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635690A (zh) * 2018-11-30 2019-04-16 任飞翔 基于视觉的商品识别检测方法及装置
CN110443141A (zh) * 2019-07-08 2019-11-12 深圳中兴网信科技有限公司 数据集处理方法、数据集处理装置及存储介质
CN110516535A (zh) * 2019-07-12 2019-11-29 杭州电子科技大学 一种基于深度学习的老鼠活跃度检测方法和系统、及卫生评估方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324688A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Customized classifier over common features

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635690A (zh) * 2018-11-30 2019-04-16 任飞翔 基于视觉的商品识别检测方法及装置
CN110443141A (zh) * 2019-07-08 2019-11-12 深圳中兴网信科技有限公司 数据集处理方法、数据集处理装置及存储介质
CN110516535A (zh) * 2019-07-12 2019-11-29 杭州电子科技大学 一种基于深度学习的老鼠活跃度检测方法和系统、及卫生评估方法

Also Published As

Publication number Publication date
CN111242167A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN111242167B (zh) 分布式图像标注方法、装置、计算机设备和存储介质
US11551134B2 (en) Information processing apparatus, information processing method, and storage medium
CN108876122B (zh) 批量工单的处理方法、装置、计算机设备和存储介质
CN112232293B (zh) 图像处理模型训练、图像处理方法及相关设备
US9275307B2 (en) Method and system for automatic selection of one or more image processing algorithm
CN111667011A (zh) 损伤检测模型训练、车损检测方法、装置、设备及介质
CN110909803A (zh) 图像识别模型训练方法、装置和计算机可读存储介质
US20170185913A1 (en) System and method for comparing training data with test data
CN109657675B (zh) 图像标注方法、装置、计算机设备和可读存储介质
CN112232426B (zh) 目标检测模型的训练方法、装置、设备及可读存储介质
US20210124967A1 (en) Method and apparatus for sample labeling, and method and apparatus for identifying damage classification
CN111414874B (zh) 基于人脸的驾驶风险预测方法、装置、设备和存储介质
CN111368636A (zh) 目标分类方法、装置、计算机设备和存储介质
WO2019019768A1 (zh) 保单打印方法、装置、存储介质和计算机设备
CN114881989A (zh) 基于小样本目标对象缺陷检测的方法、装置、电子设备
CN113888514A (zh) 导地线缺陷检测方法、装置、边缘计算设备和存储介质
CN113378835A (zh) 标注模型训练、样本标注方法及相关装置
CN112183321A (zh) 机器学习模型优化的方法、装置、计算机设备和存储介质
CN109063155B (zh) 语言模型参数确定方法、装置和计算机设备
CN110909768A (zh) 一种标注数据获取方法及装置
CN112418813B (zh) 基于智能解析识别的aeo资质智能评级管理系统、方法及存储介质
CN117475253A (zh) 一种模型训练方法、装置、电子设备及存储介质
CN108596068B (zh) 一种动作识别的方法和装置
CN111552811A (zh) 知识图谱中信息补全的方法、装置、计算机设备和存储介质
CN112182413B (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