掌桥专利:专业的专利平台
掌桥专利
首页

图像处理方法、装置及相关设备

文献发布时间:2023-06-19 19:30:30


图像处理方法、装置及相关设备

技术领域

本申请涉及计算机技术领域,尤其涉及一种图像处理方法、装置及相关设备。

背景技术

近些年来,归功于深度学习的发展,各类计算机视觉任务取得了巨大地进展和突破。目标检测作为计算机视觉最基本的任务之一,是一项具有挑战性的任务,同时也是诸多高级应用(例如机器人视觉、人脸识别、自动驾驶等)不可或缺的基础技术。

目标检测旨在确定出图像中特定物体目标的类别信息和位置信息,涉及对图像中目标实例的分类和定位。目前的弱监督目标检测技术大多基于多示例学习,这种方式很难自动学习出极为精确的候选检测框,并且受限于部分判决力强的区域所对应的候选检测框,训练出来的检测器效果并不理想,这样可能导致目标检测结果存在一定误差,为此,有必要研究一种新的方式来提高目标检测的准确度。

发明内容

本申请实施例提供一种图像处理方法、装置及相关设备,可以有效提高对图像进行目标检测的准确度。

本申请实施例一方面提供了一种图像处理方法,包括:

获取待处理图像;

生成待处理图像对应的一个或多个候选检测框;

调用目标检测模型对一个或多个候选检测框进行处理,得到待处理图像的检测结果,检测结果包括一个或多个候选检测框中与目标类别对应的目标检测框,其中,目标检测模型是利用第二评分网络、样本图像以及样本图像的类别标签对第一评分网络包括的第一分支网络和第二分支网络进行训练得到的。

本申请实施例一方面提供了一种图像处理装置,包括:

获取模块,用于获取待处理图像;

生成模块,用于生成待处理图像对应的一个或多个候选检测框;

处理模块,用于调用目标检测模型对一个或多个候选检测框进行处理,得到待处理图像的检测结果,检测结果包括一个或多个候选检测框中与目标类别对应的目标检测框,其中,目标检测模型是利用第二评分网络、样本图像以及样本图像的类别标签对第一评分网络包括的第一分支网络和第二分支网络进行训练得到的。

本申请实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网络接口;处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行本申请实施例中的图像处理方法。

本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的图像处理方法。

相应的,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的图像处理方法。

在本申请实施例中,首先生成待处理图像对应的可能包含真实目标的候选检测框,然后通过调用目标检测模型对候选检测框进行处理,得到检测结果,由于目标检测模型是对第一评分包括的第一分支网络和第二分支网络训练得到的,目标检测模型在对这些候选检测框处理的过程中,能够利用该双分支网络的互补性,准确地确定出目标类别对应的目标检测框,进而有效提升对图像进行目标检测的准确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种图像处理系统的架构图;

图2是本申请实施例提供的一种图像处理方法的流程示意图;

图3是本申请实施例提供的一种检测结果的可视化结果的示意图;

图4是本申请实施例提供的一种目标检测模型训练方法的流程示意图;

图5是本申请实施例提供的一种示例性地图像处理网络的结构示意图;

图6是本申请实施例提供的另一种目标检测模型训练方法的流程示意图;

图7是本申请实施例提供的另一种示例性地图像处理网络的结构示意图;

图8是本申请实施例提供的又一种示例性地图像处理网络的结构示意图;

图9是本申请实施例提供的另一种图像处理方法的流程示意图;

图10是本申请实施例提供的一种图像处理装置的结构示意图;

图11是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。

其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。在一实施例中,本申请提供的图像处理方案中生成待处理图像对应的候选检测框,以及得到与目标类别对应的目标检测框具体涉及图像处理和图像语义理解等技术内容。

本申请实施例提供的图像处理方案属于人工智能领域下属的计算机视觉技术(Computer Vision,CV)和机器学习(Machine Learning,ML)。同时本申请实施例提供的方案可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等,具体通过如下实施例进行说明:

下面将结合附图,对本申请实施例提供的图像处理系统的架构进行介绍。

请参见图1,图1是本申请实施例提供的一种图像处理系统的架构图。如图1所示,该架构图可以包括数据库100和图像处理设备101,其中,数据库100和图像处理设备101之间均可以通过有线或无线的方式进行通信连接。数据库100可以是图像处理设备101的本地数据库,也可以是图像处理设备101可以访问的云端数据库等,该图像处理设备101可以设置于服务器或终端等计算机设备中。

数据库100可以包括图像库和检测结果库,其中,图像库用于存储各类图像数据以及视频数据,该图像数据和视频数据可以包括各类实时采集的图片或视频,也可以是用户通过终端设备上传的视频或图片,根据这些图像数据或视频数据可以获取待处理图像,例如直接将图片作为待处理图像或者截取视频中的某一帧作为待处理图像;图像库还可以用于存储样本图像,该样本图像可以是来自专业样本库中的训练集,也可以是自定义的样本图像,例如利用从互联网中爬取到的各类图像制作的样本图像,各个样本图像均携带有真实的类别标签,该类别标签用于指示样本图像中包括的目标物体的类别。由于目标检测能够识别出给定图像中的感兴趣目标及其所在位置,是后续更高阶计算机视觉分析任务的前置基础性任务,因此可以分配专门的检测结果库,该检测结果库用于存储待处理图像的检测结果,这样其他算法在处理相似或相同的图像时或者需要使用相关结果时可以直接从检测结果库中调用检测结果,该检测结果可以包括待处理图像对应的一个或多个候选检测框中和目标类别对应的目标检测框,其中,目标类别可以是预定义的一个或多个类别,每个目标类别可以对应多个目标检测框,目标检测框对应区域内的图像为该目标类别的目标物体,换而言之,该检测结果包括的是目标物体的位置信息(目标检测框)和类别信息(目标类别)。

图像处理设备101可以自动从图像库中获取待处理图像或者通过摄像装置实时采集图像,利用本申请提供的图像处理方案可以对待处理图像进行处理,得到检测结果。本申请实施例中,首先可以生成待处理图像对应的候选检测框,然后利用目标检测模型对候选检测框进行检测处理,该目标检测模型可以是训练好的第一评分网络,包括第一分支网络和第二分支网络,分别用于确定每个候选检测框的第一预测得分和第二预测得分,后续可以融合两个分支网络对候选检测框处理输出的预测得分,得到目标预测得分,进而根据该目标预测得分从一个或多个候选检测框中确定与目标类别对应的目标检测框。

此外,对于目标检测模型的训练也可以通过图像处理设备101实现,训练过程大致可以是:首先利用候选检测框生成方法(例如无监督的候选检测框生成技术)为输入的样本图像生成一系列可能包含真实目标的候选检测框,然后可以通过多示例学习的方法使用图像级别标签(即样本的类别标签)进行监督学习,在得到每个候选检测框的初始得分之后,通过两种不同的方式为候选检测框生成二级伪标签,包括第一伪标签和第二伪标签,通过两个分支网络互相补充,减少模型优化过程中的歧义性。在二级伪标签的监督下,两个分支能够自动地对某个候选检测框给出的类别分数,进而实现对目标检测模型的训练。最后在预测时,这两个分数会进行融合(例如平均投票)作为最后的检测框的预测得分,可以使用非极大值抑制等方法输出最后的检测结果。需要说明的是,本申请提供的实施例中的“分数”和“得分”在不强调其区别时,可以表示相同的含义。

可以发现,上述对图像的目标检测是一种弱监督的目标检测方法,只需要提供某一图像中包含的目标类别,不再需要提供精确的目标位置信息,能够极大地缓解通用目标检测器在训练过程中需要大量标注数据的问题,大幅减轻了标注复杂度,并且这样可以有效利用从互联网获取的海量图片进行模型训练,从而实现对大规模/长尾类别的目标检测;本申请提供的弱监督的目标检测方法不同于常规的方式,本方案提供的基于双分支结构的弱监督目标检测技术,除了能够在仅提供图片级别标签的情况下训练目标检测器(即目标检测模型),从而实现高效地训练,还能够将双分支网络结构各自的优缺点进行互补,进一步提升模型的精度;通过精度较高的目标检测模型,即训练后的第一评分网络包括的不同分支网络,从不同的角度对候选检测框进行分数评估,可以得到高准确度的分数,进而可以得到准确的检测结果。

本申请实施例中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。在此不做限制。终端可以是智能手机、平板电脑、智能可穿戴设备、智能语音交互设备、智能家电、个人电脑、车载终端等等设备,在此也不做限制。

需要说明的是,本申请的图像处理方案可以应用到与机器人视觉相关的各种场景中,针对不同的场景,待处理图像可以不同。例如在工业质检的应用场景下,待处理图像可以是采集的各种工业零件的图像,该工业零件诸如是PCB电路板、钢材表面、太阳能板、金属表面等等。又例如,在自动驾驶的应用场景下,待处理图像可以是针对各种道路实时或提前采集到的图像,该道路场景可以包括高速路、城市道路、乡间道路等场景中的任一种。再例如,在实景导航的应用场景中,待处理图像还可以是基于街道、商场等环境采集的图像,在此对本方案具体的应用场景以及待处理图像的内容不做限制。

此外,本申请提供的图像处理方案可以广泛应用于机器人导航、智能视频监控、航空航天、工业检测等诸多领域。例如,将图像处理方案部署于工业质检平台,用于对输入的各种工业零件的图像进行表面缺陷检测处理,并输出待处理图像的缺陷位置(检测框)和缺陷类型。也可以将图像处理方案集成至无人驾驶的避障规划算法中,对实时采集到的图像进行检测处理,识别出目标障碍物的类型和位置,进而在自动驾驶中实现对运动障碍物有效避障和驾驶路线规划。

下面结合附图,对本申请实施例提出的图像处理方法的具体实现方式进行详细阐述。

请参见图2,图2是本申请实施例提供的一种图像处理方法的流程示意图。该方法可以由计算机设备(例如图1所示的图像处理设备101)执行。其中,该图像处理方法包括但不限于以下步骤:

S201,获取待处理图像。

在一实施例中,待处理图像可以是图像处理设备实时采集的图像,也可以是图像库中提前采集并存储好的图像,该图像可以是一张图片或者从视频中截取的任一帧,在此对待处理图像的来源以及获取方式不做限定。待处理图像中可以包括不同的物体以及其对应的实例,例如基于城市道路环境采集的图像,该图像中可以包括人、交通信号灯、汽车、建筑物等不同的物体,而不同的车为车这一物体对应的不同实例。

S202,生成待处理图像对应的一个或多个候选检测框。

在一实施例中,计算机设备(例如图像处理设备)可以自动生成待处理图像对应的一个或多个候选检测框,这些候选检测框中包括可能有包含目标的候选检测框,该目标是指目标类别对应的目标物体。每个候选检测框通常以封闭的矩形圈定图像中的某个区域,因此各个候选检测框对应的是待处理图像中不同的区域,各个区域内可以部分重叠,各个区域内的图像可能属于同一目标类别,也可能属于不同目标类别。通过生成候选检测框可以对待处理图像所包括的目标类别所在的位置有初步地判断,后续可以使用目标检测模型从中筛选出最有可能包含真实目标的检测框,并将其作为模型的检测结果。

可选地,待处理图像对应的候选检测框生成方法可以采用无监督的检测算法,例如选择性搜索(Selective Search),还可以采用经典的检测算法,如边缘盒(Edge Boxes)、滑窗法等等,也可以采用深度学习到的网络,例如使用RPN(Region Proposal Network,候选区域网络)提取候选检测框,在此对生成候选检测框所采用的具体实现方式不做限制。为便于说明,以无监督候选检测框提取算法中的选择性搜索作为示例,对候选检测框生成的过程进行如下简要介绍:①利用图像分割方法初始化原始区域,即将待处理图像分割为多个小的子区域;②根据贪心策略,计算每两个相邻子区域的相似度,这里的相似度可以为颜色、纹理、尺寸和形状相似度的加权和;③将最相似的两个子区域合并为一个区域;④计算合并区域和相邻子区域的相似度;⑤重复步骤③和步骤④,即不断进行区域迭代合并,直到整张图像合并成一个区域位置,这里的一个区域位置是指根据相似度无法再合并出新的区域,最终得到的区域的粒度以各个目标物体所在的区域为单位;⑥输出每次合并后的区域做外切矩形,即候选检测框,这样在无论在哪一次合并时均有候选检测框,因此针对某个目标类别,可以存在不同粒度的候选检测框,得到待处理图像对应的一个或多个候选检测框。需要说明的是,本申请中“候选框”和“候选检测框”在不强调其区别时,可以表示相同的含义。

上述选择性搜索方法对超像素(即对图像进行区域分割得到的子区域)之间进行相似度计算,采用自下而上的方式(可理解为图像区域的合并的粒度由小到大)组合这些超像素,并将这中间生成的中间区域通过候选框的方式输出,这些候选框就被作为可能包含有目标的候选框。该方法利用一系列传统图像特征进行相似性评估,通过合并区域相似性评估指标的多样性帮助提高物体检测的概率,保证候选检测框提取的准确度;此外该方法不需要进行模型训练,计算速度快且效率高,具有很高的召回率,能够为目标检测器提供很好的初始检测结果。需要说明的是,对于无监督候选框生成方法可以是其他更加先进的方法,实现对没有候选框标注的图像生成候选框即可,其所需满足的基本要求可以是生成的候选框的召回率尽可能高,这样能够使得训练和检测时尽可能覆盖真实目标,提高目标类别的物体检测的覆盖率。

此外,也可以通过滑窗法通过从左到右从上到下滑动窗口来穷举待处理图像中所有区域,还可以通过边缘盒的方式利用边缘信息(Edge)确定候选检测框,还可以通过深度学习得到的网络,例如RPN直接生成候选检测框。需要说明的是,相比于传统的检测方法,类似于RPN的方式由于其智能化地学习,也能够极大地提升候选检测框生成速度。

S203,调用目标检测模型对一个或多个候选检测框进行处理,得到待处理图像的检测结果。

本申请实施例中,检测结果包括一个或多个候选检测框中与目标类别对应的目标检测框,其中,目标检测模型是利用第二评分网络、样本图像以及样本图像的类别标签对第一评分网络包括的第一分支网络和第二分支网络进行训练得到的。

每个目标类别对应的目标检测框可以包括一个或多个,不同目标检测框可以对应同一目标类别的不同实例或者不同目标类别的实例,每个目标检测框对应区域内的图像是目标类别的物体,目标类别可以是预定义的一个或多个类别。示例性地,若目标类别为“人”和“车”,“人”这一目标类别对应的目标检测框可以有2个,表明图像中包括2个不同的人,“车”这一目标类别对应的目标检测框可以有5个,表明图像中有5辆不同的车。对于检测结果不仅可以采用数字化的表达形式进行存储,还可以在待处理图像中展示出来,即标注出目标检测框以及对应的目标类别,请参见图3,图3是本申请提供的一种检测结果的可视化结果示意图。该检测结果可以是图像处理方案应用在工业质检领域的处理结果,即以单张PCB电路板的图片作为输入,输出的检测结果是该图片中各个缺陷位置(目标检测框)、缺陷类别(目标类别)以及该缺陷类别的打分,包括短路缺陷(short,1.00)、开路缺陷(open,1.00)、边缘缺陷(mousebite,1.00)、中间缺陷(pin-hole,1.00)、以及冗余(copper,1.00)。

利用第二评分网络、样本图像以及样本图像的类别标签对第一评分网络进行训练,得到的目标检测模型具备分辨待处理图像中是否包括该目标类别的物体的能力。第一评分网络包括的两个分支网络是在不同监督信息下训练得到的,第二评分网络也可以包括两个分支网络,在此将其称为分类分支网络和检测分支网络,分别用于对样本图像对应的候选检测框在横向维度和纵向维度上进行不同得分计算,其中,横向维度是指固定候选检测框属于各个目标类别的可能性,纵向维度是指固定目标类别下各个候选检测框的贡献。可选地,第二评分网络可以采用WSDDN(Weakly Supervised Deep Detection Networks,弱监督深度检测网络)中的分类分支和检测分支。

在训练的过程中,会同时使用到第一评分网络和第二评分网络,第二评分网络可以视为第一评分网络的辅助训练网络,在具体应用时,仅使用训练后的第一评分网络,即将训练后的第一评分网络作为目标检测模型,由于第一评分网络包括第一分支网络以及第二分支网络,可以将这两个分支网络统称为双分支网络,也即目标检测模型包括双分支网络,利用双分支网络对待处理图像进行处理得到检测结果,而对于第二评分网络则不会用于处理待处理图像。对目标检测模型训练的具体过程可以参见图4对应实施例的内容,在此先不做详述。

在一实施例中,第二评分网络包括分类分支网络和检测分支网络;该分类分支网络、检测分支网络、第一分支网络和第二分支网络均可以由全连接层和归一化层构成,区别在于全连接层FC的参数以及归一化层softmax的处理参数可以是不同的,例如在分类分支网络和检测分支网络中全连接层FC输出的是相同大小的向量,而归一化层计算候选检测框的得分时,是沿着不同的维度计算,从不同维度考量候选检测框和目标类别之间的关联关系。

可选地,在调用目标检测模型对待处理图像的一个或多个候选检测框进行处理之前,可以利用特征提取网络提取候选检测框在待处理图像中对应的图像区域的图像特征,进而调用目标检测模型对该图像特征进行处理,得到检测结果。该特征提取网络可以视为主干网络,可以采用任何结构的网络,只要能够提取出具有强语义信息的高分辨率特征(即候选检测框对应的图像特征)即可。

综上所述,本申请实施例至少具有以下优点:

通过无监督的候选检测框生成方式自动提取待处理图像的候选检测框,在保证候选框提取的准确度的情况下无需模型训练,可以减少模型训练带来的计算量,从而减少目标检测的前期准备工作量;采用双分支网络结构的目标检测模型对候选检测框进行处理,能够准确地选取目标类别对应的目标检测框,从而提升对目标物体的分类和定位的精确度。

请参见图4,图4是本申请实施例提供的一种目标检测模型训练方法的流程示意图,该方法可以由计算机设备(例如图1所示的图像处理设备101)执行。其中,该方法包括但不限于以下步骤:

S401,获取训练样本集。

本申请实施例中,训练样本集包括多张样本图像以及每张样本图像的类别标签。训练样本集中可以包括海量携带真实的类别标签的样本图像,样本图像的类别标签属于图像级别标签,是对样本图像所包括的物体的类别标注,训练样本集中所有类别标签指示的类别均可以视为目标类别。

由于本方案采用了一种新型的基于双分支结构的弱监督目标检测结构,不需要目标框级别的监督,只需要给定图像中存在的类别即可进行模型训练,能够很好地利用大规模的互联网图片资源,因此,这些样本图像可以是从互联网中获取的海量图片,如结合关键字搜索引擎的搜索结果进行初步图像级别标注的图片。针对不同的应用场景,训练集包括的样本图像也可以不同,例如对于工业质检,样本图像可以是包括表面缺陷的样本图像和表面完整的样本图像。根据不同训练样本集训练得到的目标检测模型,可以具备判别不同目标类别的物体的能力。

S402,调用第二评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的初始得分以及每张样本图像在每个目标类别的图像得分。

在一实施例中,调用第二评分网络对每张样本图像对应的一个或多个候选检测框进行处理之前,需要生成每张样本图像的候选检测框,具体的方式可以和前述实施例中生成待处理图像对应的一个或多个候选检测框的方式相同,也可以不同,在此不做限制。由于训练样本集不提供真实的目标检测框,本方案也可以使用一种无监督的候选检测框生成方法,来生成一些可能包含有真实目标的候选检测框,然后可以利用模型筛选出最有可能包含真实目标的检测框,进行监督学习。

在一实施例中,在生成每张样本图像的候选检测框之后,调用第二评分网络对候选检测框处理的步骤可以包括:获取每张样本图像对应的一个或多个候选检测框中,每个候选检测框在每张样本图像中对应的图像区域的图像特征,该图像特征是利用特征提取网络对候选检测框对应的图像区域内的图像进行特征提取得到的;基于图像特征确定每个候选检测框的初始类别得分和初始区域得分,初始类别得分用于表示每个候选检测框属于每个目标类别的概率,初始区域得分用于表示每个候选检测框对每个目标类别贡献的概率;将初始类别得分和初始区域得分进行融合处理,得到每个候选检测框在每个目标类别的初始得分;基于每张样本图像对应的各个候选检测框的初始得分确定每张样本图像在每个目标类别的图像得分。

其中,特征提取网络可以采用各种具备特征提取功能的预训练网络,例如在ImageNet上预训练的卷积神经网络,具体可以是VGG(Visual Geometry Group)系列的卷积网络模型,或者是携带SPP(Spatial Pyramid Pooling,空间金字塔池化)层的卷积神经网络(Convolutional Neural Network,CNN),对于特征提取网络的具体结构在此不做限制。针对每张样本图像中对应的一个或多个候选检测框,均可以使用特征提取网络提取候选检测框在对应样本图像中对应图像区域的图像特征。

对于特征提取的具体过程,本申请以携带SPP(Spatial Pyramid Pooling,空间金字塔池化)层的深度卷积神经网络为例进行说明,整张检测的样本图像先经过深度卷积网络CNN提取深度图像特征,然后对于每一个候选检测框,使用SPP层的区域池化技术提取对应该候选检测框的深度特征,即候选检测框在对应样本图像中对应图像区域的图像特征,也是池化后的深度图像特征。这里采用SPP层对深度图像特征进行金字塔池化,可以对任意输入尺寸的样本图像进行处理,避免模型受限于固定大小的输入尺寸,与此同时,通过提取不同尺寸的空间特征信息,可以提升模型对于空间布局和物体变性的鲁棒性。进一步地,特征提取网络还可以包括多个全连接层,在得到图像特征之后可以将图像特征经过多个(例如2个)全连接层处理,将不同感受野的抽象信息映射到更大的空间中,得到各个候选检测框的图像特征的综合表示,这样可以增加模型的表征能力。

可选地,第二评分网络可以包括分类分支网络和检测分支网络,这两个分支网络可以基于相同的图像特征给出不同的得分,分别为初始类别得分和初始区域得分,这两种得分从不同角度衡量了某个检测框与每个目标类别的之间的关联程度。在具体的处理过程中,可以通过全连接层将图像特征映射到不同的特征空间中,得到两个特征,这两个特征可以用来做两个分支的类别预测,分支一(即分类分支网络或称之为分类通道)负责预测每个候选检测框属于每个类别的概率分布,分支二(即检测分支网络或称之为检测通道)负责预测对于每个类别当前候选检测框贡献的概率。对于每个分支的预测,可以通过归一化层在不同的维度上对两个特征进行处理,分支一的softmax计算可以如下式(1)所示:

其中,[σ

分支二的softmax计算可以如下式(2)所示:

其中,[σ

可以发现,上述得到的初始类别得分和初始区域得分是基于相同大小的矩阵,分别从候选检测框的维度和目标类别的维度出发计算得到的,这两个得分从不同角度衡量了某个候选检测框与每个目标类别之间的关联度,通过将这两个得分融合(例如相乘),得到候选检测框的初始得分,该初始得分即可较为全面地刻画检测框属于某个类别的概率。

可选地,可以通过将每个样本图像中所有候选检测框进行归一化之后的初始类别得分和初始区域得分执行逐元素乘法(即Hadamard,哈达玛积)计算,即初始类别得分的矩阵和初始区域得分的矩阵对应位置的元素值相乘,这样得到的数据维度比较低,有利于提升计算效率和速度。

对于每张样本图像对应的各个候选检测框,都有属于每个目标类别的初始得分,可以对某个目标类别下的所有候选检测框的初始得分进行融合处理,例如通过实例级池化将初始得分进行平均处理,得到每张样本图像在该目标类别的图像得分,对于每张样本图像包括的每个目标类别的初始得分,重复执行上述的处理就可以得到每张样本图像在每个目标类别的图像得分,该图像得分是预测的图像级分数,可以用于和真实的类别标签结合确定出第二评分网络的损失。举例来说,假设样本图像的类别标签有10个(即10个目标类别),样本图像的候选检测框有20个,每个候选检测框都分别对应有在10个目标类别下的10初始得分,针对样本图像在该目标类别下的图像得分,可以将该目标类别下的10个初始得分取平均值获取到。

也就是说,由于没有单个候选检测框的类别标签,仅有所有候选检测框属于每个目标类别的概率分布,因此将同一目标类别下所有候选检测框的概率取平均,可以得到整张样本图像的概率分布,该概率分布中包括的概率是对样本图像属于各个目标类别的预测概率,然后在图像级别对这个概率分布进行监督学习,即利用该概率分布的预测值和真实的类别标签计算损失值。在推理阶段,可以直接将每个候选检测框的概率分布作为其初始预测分数,也即将每个候选检测框属于各个目标类别的初始得分。

针对每张样本图像已有的候选检测框,上述调用第二评分网络对候选检测框的处理的相关内容,可以视为多示例学习的方式,利用图像级别标签进行模型的监督学习。具体地,将所有的候选检测框视为一个包(bag),这个包含真实目标框也包含背景框,包的标签是该样本图像中包含的真实目标类别,即候选检测框具备每个目标类别的标签,但是属于每个目标类别真实性可以通过初始得分来衡量,后续可以利用该初始得分进一步筛选包含真实目标类别的候选检测框。

S403,调用第一评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分和第二预测得分。

在一实施例中,第一评分网络和第二评分网络共享相同的候选检测框对应区域的图像特征,即输入第二评分网络的图像特征同时也会输入第一评分网络进行处理。可选地,调用第一评分网络处理样本图像的候选检测框的步骤可以是:调用第一评分网络的第一分支网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分;调用第一评分网络的二分支网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第二预测得分。

其中,第一分支网络和第二分支网络可以均使用全连接层和归一化层级联,两个分支网络的全连接层和归一化层的处理可以类似或者完全不同。两个分支网络分别得到的第一预测得分和第二预测得分用于计算第二评分网络中各种分支网络的损失。此外,两个分支网络所使用的监督信息也有所不同,第一分支网络通过实例级的伪标签进行监督学习,第二分支网络通过包级别的伪标签进行监督学习,可以使得两个分支网络对同一候选检测框在不同维度进行评估,进而使得模型不仅具备实例级判别能力,还能通过包级别的标签监督来避免模型优化的歧义性。具体的监督学习过程可以参见下述实施例,在此不做详述。

S404,利用第一预测得分、第二预测得分、初始得分、图像得分以及类别标签,对第一评分网络和第二评分网络进行训练,得到目标检测模型。

在本申请实施例中,对于每个分支网络都可以利用相应的得分和标签确定损失,进而将所有分支网络的损失进行融合得到总损失,利用该总损失对第一评分网络和第二评分网络进行训练,最终将训练好的第一评分网络作为目标检测模型。对于具体的训练过程(也即监督学习过程)可以参见图6对应实施例中的内容,在此不做详述。

对于训练阶段的模型结构可以参见图5示出的示例性地图像处理网络的结构示意图,包括特征提取网络、第一评分网络的第一分支网络和第二分支网络、第二评分网络的检测分支网络和分类分支网络,以及各个网络处理得到的结果,其中第一评分网络的损失和第二评分网络的损失的确定方式可以参见图6对应实施例中的内容,其他的处理原理在此也不做赘述。

由上可知,本方案针对给定的图像,可以输出其中包含的目标区域及其类别,其主要特点在于模型训练阶段不需要提供真实目标检测框,仅需要提供每张图像中包含的所有目标类别即可。这在大规模训练图片下实现目标检测模型训练有着重要意义,因为这避免了大量的人力标注,特别是针对一些长尾类别(即样本较少的类别),无论是类别标签或候选检测框的标注往往需要行业专家的辅助,费时费力,难以满足深度学习模型所需的大量训练数据。

综上所述,本申请实施例至少具有以下优点:

在训练过程中,无需提供人工标注的候选检测框,利用仅携带类别标签的样本图像训练目标检测模型,极大地减小人工标注的成本和工作量,提高训练效率;利用第一评分网络的两个不同网络分支对样本图像的候选检测框进行分数预测,得到不同的预测得分,进而结合该预测得分以及其他相关训练信息对两个评分网络进行监督学习,能够得到精确度高的训练后的第一评分网络,将其作为目标检测模型,进而在应用阶段可以有效地提高检测结果的准确性。

请参见图6,图6是本申请实施例提供的另一种目标检测模型训练方法的流程示意图,该方法可以由计算机设备(例如图1所示的图像处理设备101)执行。其中,该方法包括但不限于以下步骤:

S601,获取训练样本集。

S602,调用第二评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的初始得分以及每张样本图像在每个目标类别的图像得分。

S603,调用第一评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分和第二预测得分。

上述步骤的具体实现方式可以参见图4对应实施例中的步骤S401~S403介绍的内容,在此不做赘述。

S604,利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框对应的第一伪标签,以及,利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框所在的多示例包对应的第二伪标签。

在一实施例中,获取每个候选检测框对应的第一伪标签的可选实现方式可以是:将每张样本图像对应的一个或多个候选检测框中,在每个目标类别的初始得分小于分数阈值的候选检测框剔除,得到N个候选检测框,其中,N为正整数;从N个候选检测框中选取初始得分最大的候选检测框,将初始得分最大的候选检测框作为参考检测框,并将对应的目标类别确定为参考检测框的第一伪标签;确定参考检测框和N个候选检测框中除参考检测框之外的候选检测框之间的重叠度,并将重叠度大于或等于第一重叠度阈值的候选检测框剔除;从剔除后的候选检测框中选取初始得分最大的候选检测框,重新执行将初始得分最大的候选检测框作为参考检测框,直至遍历N个候选检测框。

对于每个样本图像对应的一个或多个候选检测框,首先利用分数阈值剔除所有候选检测框中在每个目标类别的初始得分小于或等于分数阈值的候选检测框,采用这种方式能够将包含真实目标的置信度比较低的候选检测框过滤掉,以便后续快速筛选出包含真实目标的置信度较高的候选检测框。在此之前,可以遍历每个目标类别,即以目标类别作为不变的维度,通过该目标类别下候选检测框的初始得分将所有在该目标类别的候选检测框按序排列,例如按照从高到低顺序排列,再剔除初始得分较小的候选检测框,对于所有该目标类别的候选检测框,剔除之后剩余N个候选检测框。

然后将N个候选检测框中初始得分最大的候选检测框作为参考检测框,同时可以将对应的目标类别确定为参考检测框的第一伪标签,需要说明的是,该第一伪标签由于是标注在候选检测框上的标签,而候选检测框所包括的物体可以视为一实例,因此该标签属于实例级标签,这里将其称之为伪标签是由于该标签是否精确是未知的。参考检测框作为目前确定出的真实目标框,可以用于筛选其他冗余的候选检测框,即通过计算N个候选检测框中其他候选检测框与该参考检测框之间的重叠度,将重叠度大于或等于第一重叠度阈值的候选检测框剔除。可选地,重叠度计算可以采用IOU(Intersection Over Union,交并比),IOU取值为0~1之间的值时,代表了两个候选检测框之间的重叠度,数值越高,则表示重叠度越高,剔除重叠度高的候选检测框,可以降低候选检测框的数量,从而有利于其他真实目标框的提取以及对候选检测框进行实例级标签的标注。

接着可以继续从剩余的未被剔除的候选检测框中选取初始得分最高的参考检测框,将其作为真实目标框,依次循环重叠度计算、剔除不符合条件的候选检测框、筛选参考检测框的步骤,直到N个候选检测框均被遍历,即所有该目标类别的候选检测框要么被标记为该目标类别,要么由于不符合条件被剔除。对所有类别重复以上过程,最终所有候选检测框都可以标记为一个标签,该标签可以包括目标类别对应的类别标签或者是背景标签,而此处的第一伪标签通常是指目标类别对应的类别标签,此类标签通常属于前景目标标签,利用第一伪标签可以进行候选检测框的二次监督学习,例如利用第一伪标签和第一预测得分计算损失,反向传播该损失进而调整第一分支网络。可选地,对于重复以上过程之后没有被标记目标类别的候选检测框,均采用背景标签标记,此外,对应重叠度高于第一重叠度阈值的候选检测框,也可以选择忽略,最终针对某个目标类别的所有候选检测框中,包括三类候选检测框,分别是标记为该目标类别的候选检测框、被忽略的候选检测框、以及初始得分小于分数阈值没有被遍历的候选检测框。

上述过程也称之为OICR(Online Instance Classifier Refinement,在线实例分类器精炼)监督。这一分支的监督属于实例级的伪标签监督,由于是生成的伪标签,难免会引入一些噪声,因此直接使用实例级的监督会导致学习的歧义性,如一些初始得分较高的背景会被误标为前景目标,还有一些目标只有部分区域被标记为正样本,而其余部分因为重叠度不够大会被标记为负样本,从而在优化过程中使模型产生歧义性,但该分支对候选目标框直接进行实例级别监督,当伪标签足够准确时,能够使得模型预测精度达到最优。

在一实施例中,获取每个候选检测框所在的多示例包对应的第二伪标签的可选实现方式可以是:从每张样本图像对应的一个或多个候选检测框中,选取在每个目标类别的初始得分最大的第一候选检测框,并确定第一候选检测框和一个或多个候选检测框中除第一候选检测框之外的候选检测框之间的重叠度;将第一候选检测框和重叠度大于或等于第二重叠度阈值的候选检测框组合为多示例包,并将对应的目标类别确定为多示例包的第二伪标签;将多示例包中的候选检测框从一个或多个候选检测框中剔除,得到P个候选检测框,其中,P为正整数;从剔除后的候选检测框中选取初始得分最大的第一候选检测框,重新执行确定第一候选检测框和P个候选检测框中除第一候选检测框之外的候选检测框之间的重叠度,直至一个或多个候选检测框均聚类到各个多示例包中。

首先遍历每个目标类别,以目标类别为标准维度,对比该目标类别下所有候选检测框在该目标类别下的初始得分,并选取出所有该目标类别对应的候选检测框中初始得分最大的第一候选检测框;然后计算第一候选检测框和其他候选检测框之间的重叠度,这里的重叠度计算方式可以和前述确定重叠度的方式相同,也可以不同;接着将第一候选检测框和其周围重叠度高于第二重叠度阈值的所有候选检测框组合为一个多示例包,之所为称为多示例包,是因为每个候选检测框对应区域内的图像即可以视为一个示例(instance)或者说实例,这个多示例包的第二伪标签即对应的目标类别,这里的第二重叠度阈值可以和第一重叠度阈值相同,也可以不同,对于重叠度阈值的设置可以根据人工经验值设定,也可以通过训练进行迭代优化;随后在该目标类别剩余的P个候选检测框中确定未被包含在任何一个多示例包中的候选检测框,重复上述操作,直到所有的候选检测框均被选到某一个多示例包中。对于所有目标类别,重复以上过程,然后对于每个多示例包单独使用多示例学习的方式进行监督学习,而对于背景类的候选检测框则可以采用实例级监督学习的方式直接学习如何分类背景。

需要说明的是,背景类的候选检测框可以归类到一个多示例包中,此时多示例包的标签即背景标签。可选地,这些背景类的候选检测框可以是由于得分太低被标记为背景类,而不归类到同一个多示例包中。此外,对于每个目标类别中剩余的P个候选检测框,或者是上述N个候选检测框,在每个目标类别对候选检测框的具体筛选过程中有所差别,即P或N在不同目标类别下是可变的。对于多示例包的第二伪标签,可以代表其中包含的所有候选检测框的伪标签,即对一批次的候选检测框进行标记,后续利用该第二伪标签对多个候选检测框同时进行监督,可以避免模型陷入局部最优。

上述的处理过程也称之为PCL(Proposal Cluster Learning,候选检测框聚类学习)监督。这种监督方式采用多示例学习的方式来进行得分细化,由于对一个多示例包里多个候选检测框同时进行监督,无法使得最优的检测框脱颖而出,这与测试阶段要求最优的检测框得分最高相矛盾,这种训练阶段和测试阶段的不一致结果会导致模型精度下降。但是由于对多个候选检测框同时监督,可以克服OICR监督由于对实例级的监督所导致的歧义性缺陷,也即不直接对单个实例施加监督,能够避免伪标签噪声带来的硬性。本申请实施例提供的图像处理方案通过将这两种方式融合,通过两种方式的优缺点之间的互补,有利于最大化训练后的目标检测模型的精度,进而提升检测结果的准确性。

上述得到的第一伪标签和第二伪标签可以对第一评分网络的不同分支网络进行监督,即通过计算损失的方式,根据总损失调整第一评分网络和第二评分网络,具体可参见步骤S605的介绍。

S605,利用第一预测得分、第二预测得分、第一伪标签、第二伪标签、图像得分以及类别标签,确定第一评分网络和第二评分网络对应的总损失。

在一实施例中,此步骤的具体实现方式可以是:利用图像得分和类别标签确定第二评分网络的损失;利用第一预测得分和第一伪标签确定第一评分网络的第一分支网络的损失,以及,利用第二预测得分和第二伪标签确定第一评分网络的第二分支网络的损失;利用第二评分网络的损失、第一分支网络的损失以及第二分支网络的损失,确定第一评分网络和第二评分网络对应的总损失。

可选地,第二评分网络的损失、第一分支网络的损失、第二分支网络的损失均可以采用交叉熵损失的方式计算损失值,将第一分支网络的损失和第二分支网络的损失融合可以得到第一评分网络的损失,进而将第一评分网络的损失和第二评分网络的损失进行融合,可以得到第一评分网络和第二评分网络对应的总损失,对损失进行融合可采用加权求和的方式。

对于训练阶段的图像处理网络的结构示意图,在图5的基础上,结合图4对应实施例中对各个评分网络的示例性内容以及本实施例中的相关介绍可以进一步细化,请参见图7,图7示出了另一种示例性地图像处理网络的结构示意图。其中,根据初始得分得到的第一伪标签和第二伪标签可以分别在第一评分网络的第一分支网络和第二分支网络中使用,用于计算第一分支网络的损失和第二分支网络的损失,进而得到第一评分网络的损失,第二评分网络的损失则根据图像得分和类别标签计算得到,融合这两个评分网络的损失,可以实现对模型的监督学习。

S606,利用总损失对第一评分网络和第二评分网络进行训练,并将训练后的第一评分网络作为目标检测模型。

在本申请实施例中,利用总损失可以调整第一评分网络和第二评分网络的参数或者是结构,进而利用调整后的网络继续对候选检测框进行处理,通过不断迭代训练的过程,直到总损失收敛,将最终训练得到的第一评分网络作为目标检测模型,其中包括训练得到的第一分支网络和第二分支网络。

在一实施例中,第一评分网络包括一个或多个评分单元,每个评分单元包括第一分支网络和第二分支网络,一个或多个评分单元并联连接;每个评分单元输入的是每个候选检测框在样本图像中对应的图像区域的图像特征,上一个评分单元输出的融合得分用于确定下一个评分单元使用的第一伪标签和第二伪标签,融合得分是根据第一分支网络输出的第一预测得分和第二分支网络输出的第二预测得分融合得到的。

上述训练过程可以认为是在第一评分网络包括一个评分单元时的训练流程,针对每个评分单元都会经过相同的处理流程,由评分单元的数量影响的可能是总损失的计算以及目标检测模型的最终结构。当第一评分网络包括多个评分单元时,多个评分单元并联连接,每个评分单元均包括第一分支网络和第二分支网络且共享相同的输入数据,即处理的输入数据都是每个候选检测框在样本图像中对应图像区域的图像特征;每一个评分单元均可以输出一个的融合得分,该融合得分是评分单元中两个分支网络分别得到的第一预测得分和第二预测得分融合得到的,具体可以通过平均投票的方式,即对两个预测得分取平均得到融合得分,也可以将这两个预测得分进行加权求和,得到融合得分,对于具体的融合方式在此不做限制。根据上一个评分单元的融合得分,可以为下一个评分单元确定所需的第一伪标签和第二伪标签,这两个伪标签用于对该下一个评分单元进行监督学习,通过结合各自的预测得分确定出各个评分单元对应的损失,进而得到总损失。需要说明的是,每个评分单元可以视为一个细化分类器(或者说细化分支),第二评分网络可以视为基本分类器,第一个细化分类器的监督取决于基本分类器的输出,第i个细化分类器的监督取决于第i-1个精炼分类器的输出,其中,i为大于等于2的正整数。也即,每个细化分支都以之前细化分支的结果作为输入进行下一步的迭代优化。

结合上述第一评分网络,可以将图像处理网络进一步细化为如图8所示,图8是本申请实施例提供的又一种示例性地图像处理网络的结构示意图,第一评分网络包括K个评分单元,K为正整数,每个评分单元包括的两个分支网络均由全连接层和归一化层组成,第二评分网络和其他部分的网络沿用如图7示出的内容。对于图8示出的K个评分单元中的第i个评分单元的融合得分确定的第一伪标签和第二伪标签,将分别应用在第i+1个评分单元中的第一分支网络和第二分支网络中,以及第二评分网络输出的初始得分得到的第一伪标签和第二伪标签,将分别应用至第一个评分单元的第一分支网络和第二分支案例,结合各自的预测得分计算出各自分支网络对应的损失,依次得到评分单元的损失、第一评分网络的损失以及总损失。

上述方案以多示例学习的框架作为基础,对候选检测框生成伪标签的环节进行了如下改进:根据多示例学习阶段输出的单个候选框的初始得分,对于每个目标类别都可以从中确定出一个或多个可能的真实目标框,然后将其作伪标签来监督模型进行学习,使模型获得实例级的判别能力。相比于以往在生成伪标签时要么选择将最大初始得分的框假定为真实目标框,要么将最大得分框周围一定范围内的所有框作为一个包,重新进行多示例学习的方式,本方案的方式不仅可以避免前者将非最大得分的候选框视为负样本,但忽略了这些负样本可能会覆盖部分真实目标区域,从而导致模型在训练过程中产生歧义性,还可以避免后者将多个候选框当做一个包进行监督,而没有施加实例级别的监督就会使得模型在训练和测试时表现不一致,也即测试模型时要求最优的检测框具有最高的分数,其他框分数要足够低,当训练模型时没有最优的检测框。

综上所述,本申请实施例至少具备以下优点:

相比于以往的弱监督目标检测技术,由于在第一评分网络中使用了双分支结构,第一分支网络通过筛选可能包含真实的目标的候选检测框,能够鼓励最优的候选检测框分数脱颖而出,第二分支网络通过包级别的标签监督能够提升目标类别的检测覆盖率,从而在一定程度上避免目标类别只有部分区域被正确识别出来;利用候选检测框的初始得分,基于两种不同的方式生成不同的伪标签,用于对模型的不同分支网络进行监督学习,通过将两个分支网络互补,即第二分支网络解决第一分支网络由于伪标签在优化过程中带来的歧义性,第一分支网络解决第二分支网络中训练阶段和测试阶段结果的不一致性问题,可以使得目标检测模型具备实例级的判别能力,并且避免优化过程中出现局部最优,保证训练和测试阶段的一致性,从而能够有效提高训练得到的目标检测模型的精度。

请参见图9,图9是本申请实施例提供的另一种图像处理方法的流程示意图,该方法可以由计算机设备(例如图1所示的图像处理设备101)执行。其中,该方法包括但不限于以下步骤:

S901,获取待处理图像。

S902,生成待处理图像对应的一个或多个候选检测框。

在一实施中,步骤S901~S902的具体实现方式可以参见图2对应实施例中的S201~S202,在此不做赘述。本实施例中的步骤S903~S906是对图2对应实施例中步骤S203的进一步阐述,执行后续步骤所需的前提条件为:目标检测模型包括训练后的第一评分网络的第一分支网络以及第二分支网络。

S903,调用第一分支网络对一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第三预测得分,以及,调用第二分支网络对一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第四预测得分。

在一实施例中,经过前述实施例对第一评分网络的训练,得到目标检测模型,训练后的第一评分网络中第一分支网络和第二分支网络对候选检测框的处理可以获取候选检测框的不同预测得分。在调用第一分支网络之前,每个候选检测框都可以经过特征提取网络对带有候选检测框的待处理图像提取特征,得到候选检测框对应的图像特征,具体方式在此不做赘述。第一分支网络具体是对候选检测框对应的图像特征进行处理,可选地,可以将图像特征依次经过第一分支网络的全连接层和归一化层,得到每个候选检测框在每个目标类别的第三预测得分。和第一分支网络类似,第二分支网络也可以将候选检测框对应的图像特征进行依次经过全连接层和归一化层,得到每个候选检测框在每个目标类别的第四预测得分。和训练阶段得到的预测得分不同,在应用阶段得到的预测得分是在第一评分网络的各个分支网络精炼之后得到的更准确的得分。

S904,对第三预测得分和第四预测得分进行融合处理,得到每个候选检测框在每个目标类别的目标预测得分。

在一实施例中,可以将每个候选检测框在每个目标类别的第三预测得分和第四预测得分进行融合,可选地,融合方式可以采用候选检测框平均投票的方式,即对第三预测得分和第四预测得分进行平均,得到融合得分,进而确定每个候选检测框在每个目标类别的目标预测得分。也可以采用加权平均的方式,对各个预测得分赋予不同的权重值,求和并平均后得到融合得分,进而确定得到每个候选检测框在每个目标类别的目标预测得分。

进一步地,可以直接将融合得分作为目标预测得分,也可以对融合得分进行相应处理后得到目标预测得分,这取决于训练后的第一评分网络包括的评分单元的数量。可选地,第一评分网络包括一个或多个评分单元,每个评分单元包括第一分支网络和第二分支网络,一个或多个评分单元并联连接;每个评分单元输入的是每个候选检测框在待处理图像中对应的图像区域的图像特征,每个评分单元对应输出每个候选检测框在每个目标类别的目标预测得分。

若训练后的第一评分网络包括一个评分单元,则对应的第三预测得分和第四预测得分融合的融合得分即可以直接作为目标预测得分。相反,若训练后的第一评分网络至少两个评分单元,将每个评分单元对候选检测框进行处理得到的分数均包括第三预测得分和第四预测得分,可以将每个评分单元处理得到的第三预测得分和第四预测得分进行融合处理,得到每个评分单元处理候选检测框的融合得分,进而可以通过将各个评分单元的融合得分进行融合得到候选检测框在每个目标类别的目标预测得分,这里的融合可以是平均处理,也可以是加权平均。示例性地,如图8示出的K个评分单元,假设第i个评分单元经过候选框平均投票之后的融合得分α

S905,根据目标预测得分从一个或多个候选检测框中确定与目标类别对应的目标检测框,并将与目标类别对应的目标检测框作为待处理图像的检测结果。

在一实施例中,由于生成的待处理图像的一个或多个候选检测框中可能并不包含目标类别,且对于检测结果通常只需要给出针对某个目标类别的目标检测框,因此其中绝大多数候选检测框都是冗余的。利用目标检测分数和预设的规则可以降低候选检测框的数量,进而确定出于目标类别对应的目标检测框,并将其作为检测结果。

可选地,可以采用非极大值抑制(Non-Maximun Suppression,NMS)的方法得到最后的检测结果。对于NMS的具体处理流程,通过下述示例性地描述进行说明,假设目标分类任务有3类(即3个目标类别),生成待处理图像的候选检测框有1000个,那么最终输出的得分相关的向量为1000×3,每列对应一个目标类别,每行是各个候选检测框的目标预测得分。根据NMS算法步骤,可以将1000×3维的矩阵中每列按照由大到小排序,从每列的最大目标预测得分的候选检测框开始,分别计算与该列之后的候选检测框的重叠度,将重叠度大于给定阈值且目标预测得分较小的剔除,剩余的多个候选检测框即图像中可能存在多个该类目标,依次对剩余的候选检测框重复上述步骤,直到遍历该列所有候选检测框,遍历完1000×3维的矩阵中的所有列,就可以得到检测结果。

除此之外,还可以采用NMS其他相关算法得到检测结果,找到最佳的物体检测的位置(即目标检测框),例如Soft NMS、Softer NMS、IOU-Guided NMS等等,相比于传统的NMS,这些算法的改进在于利用候选检测框的目标预测得分有不同的筛选策略。例如Soft NMS每次并不是直接排除掉和已选框重叠大于一定阈值的框,而是以一定的策略降低对应框的得分,直到低于某个阈值,从而不至于过多删除拥挤情况下定位正确的框。

综上所述,本申请实施例至少具备以下优点:

利用训练好的第一评分网络包括的第一分支网络和第二分支网络对待处理图像的候选检测框进行处理,由于模型的精度在训练过程中即得到了最大化,因此两个分支网络的预测得分是比较准确的预测结果,通过融合两个分支网络的预测得分,可以更加全面准确地描述候选检测框和目标类别的之间的关联度,进而根据目标预测得分可以更加准确地确定出目标类别对应的目标检测框。

请参见图10,图10是本申请一个示例性实施例提供的一种图像处理装置的结构示意图。上述图像处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该图像处理装置为一个应用软件;该图像处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该图像处理装置1000可以包括:获取模块1001、生成模块1002、处理模块1003,其中:

获取模块1001,用于获取待处理图像;

生成模块1002,用于生成待处理图像对应的一个或多个候选检测框;

处理模块1003,用于调用目标检测模型对一个或多个候选检测框进行处理,得到待处理图像的检测结果,检测结果包括一个或多个候选检测框中与目标类别对应的目标检测框,其中,目标检测模型是利用第二评分网络、样本图像以及样本图像的类别标签对第一评分网络包括的第一分支网络和第二分支网络进行训练得到的。

在一实施例中,该图像处理装置1000还可以包括:训练模块1004,其中:

获取模块1001,还用于获取训练样本集,训练样本集包括多张样本图像以及每张样本图像的类别标签;

处理模块1003,还用于调用第二评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的初始得分以及每张样本图像在每个目标类别的图像得分;

处理模块1003,还用于调用第一评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分和第二预测得分;

训练模块1004,用于利用第一预测得分、第二预测得分、初始得分、图像得分以及类别标签,对第一评分网络和第二评分网络进行训练,得到目标检测模型。

在一实施例中,训练模块1004,具体用于:利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框对应的第一伪标签,以及,利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框所在的多示例包对应的第二伪标签;利用第一预测得分、第二预测得分、第一伪标签、第二伪标签、图像得分以及类别标签,确定第一评分网络和第二评分网络对应的总损失;利用总损失对第一评分网络和第二评分网络进行训练,并将训练后的第一评分网络作为目标检测模型。

在一实施例中,训练模块1004,具体用于:将每张样本图像对应的一个或多个候选检测框中,在每个目标类别的初始得分小于分数阈值的候选检测框剔除,得到N个候选检测框,其中,N为正整数;从N个候选检测框中选取初始得分最大的候选检测框,将初始得分最大的候选检测框作为参考检测框,并将对应的目标类别确定为参考检测框的第一伪标签;确定参考检测框和N个候选检测框中除参考检测框之外的候选检测框之间的重叠度,并将重叠度大于或等于第一重叠度阈值的候选检测框剔除;从剔除后的候选检测框中选取初始得分最大的候选检测框,重新执行将初始得分最大的候选检测框作为参考检测框,直至遍历N个候选检测框。

在一实施例中,训练模块1004,具体用于:从每张样本图像对应的一个或多个候选检测框中,选取在每个目标类别的初始得分最大的第一候选检测框,并确定第一候选检测框和一个或多个候选检测框中除第一候选检测框之外的候选检测框之间的重叠度;将第一候选检测框和重叠度大于或等于第二重叠度阈值的候选检测框组合为多示例包,并将对应的目标类别确定为多示例包的第二伪标签;将多示例包中的候选检测框从一个或多个候选检测框中剔除,得到P个候选检测框,其中,P为正整数;从剔除后的候选检测框中选取初始得分最大的第一候选检测框,重新执行确定第一候选检测框和P个候选检测框中除第一候选检测框之外的候选检测框之间的重叠度,直至一个或多个候选检测框均聚类到各个多示例包中。

在一实施例中,训练模块1004,具体用于:利用图像得分和类别标签确定第二评分网络的损失;利用第一预测得分和第一伪标签确定第一评分网络的第一分支网络的损失,以及,利用第二预测得分和第二伪标签确定第一评分网络的第二分支网络的损失;利用第二评分网络的损失、第一分支网络的损失以及第二分支网络的损失,确定第一评分网络和第二评分网络对应的总损失。

在一实施例中,处理模块1003,具体用于:调用第一评分网络的第一分支网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分;调用第一评分网络的二分支网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第二预测得分。

在一实施例中,处理模块1003,具体用于:获取每张样本图像对应的一个或多个候选检测框中,每个候选检测框在每张样本图像中对应的图像区域的图像特征,图像特征是利用特征提取网络对候选检测框对应的图像区域内的图像进行特征提取得到的;基于图像特征确定每个候选检测框的初始类别得分和初始区域得分,初始类别得分用于表示每个候选检测框属于每个目标类别的概率,初始区域得分用于表示每个候选检测框对每个目标类别贡献的概率;将初始类别得分和初始区域得分进行融合处理,得到每个候选检测框在每个目标类别的初始得分;基于每张样本图像对应的各个候选检测框的初始得分确定每张样本图像在每个目标类别的图像得分。

在一实施例中,第一评分网络包括一个或多个评分单元,每个评分单元包括第一分支网络和第二分支网络,一个或多个评分单元并联连接;每个评分单元输入的是每个候选检测框在样本图像中对应的图像区域的图像特征,上一个评分单元输出的融合得分用于确定下一个评分单元使用的第一伪标签和第二伪标签,融合得分是根据第一分支网络输出的第一预测得分和第二分支网络输出的第二预测得分融合得到的。

在一实施例中,目标检测模型包括训练后的第一评分网络的第一分支网络以及第二分支网络,处理模块1003,具体还用于:调用第一分支网络对一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第三预测得分;调用第二分支网络对一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第四预测得分;对第三预测得分和第四预测得分进行融合处理,得到每个候选检测框在每个目标类别的目标预测得分;根据目标预测得分从一个或多个候选检测框中确定与目标类别对应的目标检测框,并将与目标类别对应的目标检测框作为待处理图像的检测结果。

可以理解的是,本申请实施例所描述的图像处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备1100可以包含独立设备(例如服务器、节点、终端等等中的一个或者多个),也可以包含独立设备内部的部件(例如芯片、软件模块或者硬件模块等)。该计算机设备1100可以包括至少一个处理器1101和通信接口1102,进一步可选地,计算机设备1100还可以包括至少一个存储器1103和总线1104。其中,处理器1101、通信接口1102和存储器1103通过总线1104相连。

其中,处理器1101是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,CPU)、图片处理器(graphics processing unit,GPU)、微处理器(microprocessor unit,MPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex programmable logic device,CPLD)、协处理器(协助中央处理器完成相应处理和应用)、微控制单元(Microcontroller Unit,MCU)等处理模块中的一种或者多种的组合。

通信接口1102可以用于为所述至少一个处理器提供信息输入或者输出。和/或,所述通信接口1102可以用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙、通用无线传输、车载短距通信技术以及其他短距无线通信技术等)接口。

存储器1103用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1103可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read onlymemory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。

该计算机设备1100中的至少一个处理器1101用于调用至少一个存储器1103中存储的计算机程序,用于执行前述的图像处理方法,例如前述图2、图4、图6、图9所示实施例所描述的图像处理方法。

在一种可能的实施方式中,该计算机设备1100中的处理器1101用于调用至少一个存储器1103中存储的计算机程序,用于执行以下操作:通过通信接口1102获取待处理图像;生成待处理图像对应的一个或多个候选检测框;调用目标检测模型对一个或多个候选检测框进行处理,得到待处理图像的检测结果,检测结果包括一个或多个候选检测框中与目标类别对应的目标检测框,其中,目标检测模型是利用第二评分网络、样本图像以及样本图像的类别标签对第一评分网络包括的第一分支网络和第二分支网络进行训练得到的。

在一实施例中,处理器1101还用于:获取训练样本集,训练样本集包括多张样本图像以及每张样本图像的类别标签;调用第二评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的初始得分以及每张样本图像在每个目标类别的图像得分;调用第一评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分和第二预测得分;利用第一预测得分、第二预测得分、初始得分、图像得分以及类别标签,对第一评分网络和第二评分网络进行训练,得到目标检测模型。

在一实施例中,处理器1101利用第一预测得分、第二预测得分、初始得分、图像得分以及类别标签,对第一评分网络和第二评分网络进行训练,得到目标检测模型时,具体用于:利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框对应的第一伪标签,以及,利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框所在的多示例包对应的第二伪标签;利用第一预测得分、第二预测得分、第一伪标签、第二伪标签、图像得分以及类别标签,确定第一评分网络和第二评分网络对应的总损失;利用总损失对第一评分网络和第二评分网络进行训练,并将训练后的第一评分网络作为目标检测模型。

在一实施例中,处理器1101利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框对应的第一伪标签时,具体用于:将每张样本图像对应的一个或多个候选检测框中,在每个目标类别的初始得分小于分数阈值的候选检测框剔除,得到N个候选检测框,其中,N为正整数;从N个候选检测框中选取初始得分最大的候选检测框,将初始得分最大的候选检测框作为参考检测框,并将对应的目标类别确定为参考检测框的第一伪标签;确定参考检测框和N个候选检测框中除参考检测框之外的候选检测框之间的重叠度,并将重叠度大于或等于第一重叠度阈值的候选检测框剔除;从剔除后的候选检测框中选取初始得分最大的候选检测框,重新执行将初始得分最大的候选检测框作为参考检测框,直至遍历N个候选检测框。

在一实施例中,处理器1101利用每个候选检测框在每个目标类别的初始得分获取每个候选检测框所在的多示例包对应的第二伪标签时,具体用于:从每张样本图像对应的一个或多个候选检测框中,选取在每个目标类别的初始得分最大的第一候选检测框,并确定第一候选检测框和一个或多个候选检测框中除第一候选检测框之外的候选检测框之间的重叠度;将第一候选检测框和重叠度大于或等于第二重叠度阈值的候选检测框组合为多示例包,并将对应的目标类别确定为多示例包的第二伪标签;将多示例包中的候选检测框从一个或多个候选检测框中剔除,得到P个候选检测框,其中,P为正整数;从剔除后的候选检测框中选取初始得分最大的第一候选检测框,重新执行确定第一候选检测框和P个候选检测框中除第一候选检测框之外的候选检测框之间的重叠度,直至一个或多个候选检测框均聚类到各个多示例包中。

在一实施例中,处理器1101利用第一预测得分、第二预测得分、第一伪标签、第二伪标签、图像得分以及类别标签,确定第一评分网络和第二评分网络对应的总损失时,具体用于:利用图像得分和类别标签确定第二评分网络的损失;利用第一预测得分和第一伪标签确定第一评分网络的第一分支网络的损失,以及,利用第二预测得分和第二伪标签确定第一评分网络的第二分支网络的损失;利用第二评分网络的损失、第一分支网络的损失以及第二分支网络的损失,确定第一评分网络和第二评分网络对应的总损失。

在一实施例中,处理器1101调用第一评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分和第二预测得分时,具体用于:调用第一评分网络的第一分支网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第一预测得分;调用第一评分网络的二分支网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第二预测得分。

在一实施例中,处理器1101调用第二评分网络对每张样本图像对应的一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的初始得分以及每张样本图像在每个目标类别的图像得分时,具体用于:获取每张样本图像对应的一个或多个候选检测框中,每个候选检测框在每张样本图像中对应的图像区域的图像特征,图像特征是利用特征提取网络对候选检测框对应的图像区域内的图像进行特征提取得到的;基于图像特征确定每个候选检测框的初始类别得分和初始区域得分,初始类别得分用于表示每个候选检测框属于每个目标类别的概率,初始区域得分用于表示每个候选检测框对每个目标类别贡献的概率;将初始类别得分和初始区域得分进行融合处理,得到每个候选检测框在每个目标类别的初始得分;基于每张样本图像对应的各个候选检测框的初始得分确定每张样本图像在每个目标类别的图像得分。

在一实施例中,第一评分网络包括一个或多个评分单元,每个评分单元包括第一分支网络和第二分支网络,一个或多个评分单元并联连接;每个评分单元输入的是每个候选检测框在样本图像中对应的图像区域的图像特征,上一个评分单元输出的融合得分用于确定下一个评分单元使用的第一伪标签和第二伪标签,融合得分是根据第一分支网络输出的第一预测得分和第二分支网络输出的第二预测得分融合得到的。

在一实施例中,处理器1101目标检测模型包括训练后的第一评分网络的第一分支网络以及第二分支网络,调用目标检测模型对一个或多个候选检测框进行处理,得到待处理图像的检测结果时,具体用于:调用第一分支网络对一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第三预测得分;调用第二分支网络对一个或多个候选检测框进行处理,得到每个候选检测框在每个目标类别的第四预测得分;对第三预测得分和第四预测得分进行融合处理,得到每个候选检测框在每个目标类别的目标预测得分;根据目标预测得分从一个或多个候选检测框中确定与目标类别对应的目标检测框,并将与目标类别对应的目标检测框作为待处理图像的检测结果。

应当理解,本申请实施例中所描述的计算机设备1100可执行前文所对应实施例中对该图像处理方法的描述,也可执行前文图10所对应实施例中对该图像处理装置1000的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,还应指出,本申请一个示例性实施例还提供了一种存储介质,该存储介质中存储了前述图像处理方法的计算机程序,该计算机程序包括程序指令,当一个或多个处理器加载并执行该程序指令,可以实现实施例中对图像处理方法的描述,这里不再赘述,对采用相同方法的有益效果描述,也在此不再赘述。可以理解的是,程序指令可以被部署在一个或能够互相通信的多个计算机设备上执行。

上述计算机可读存储介质可以是前述任一实施例提供的图像处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。

本申请的一个方面,提供了另一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现本申请实施例提供的图像处理方法的步骤。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 一种图像处理方法、装置以及相关设备
  • 图像处理方法、图像处理装置和电子设备
  • 一种图像处理方法、图像处理装置及终端设备
  • 一种图像处理方法、图像处理装置及终端设备
  • 图像处理方法、装置、图像识别设备及储存介质
  • 图像处理方法及相关设备、迁移网络训练方法及相关设备
  • 模型训练、图像发送、图像处理方法及相关装置设备
技术分类

06120115935169