双网络模型的联合评估方法、设备和存储介质
技术领域
本发明涉及摄像头检测领域,尤其涉及一种双网络模型的联合评估方法、设备和存储介质。
背景技术
车载BSD(Blind Spot Detection,盲区监测)摄像头(以下简称摄像头)安装在车辆后方两侧,用于在车辆行驶时对车辆后方两侧盲区进行探测。当在摄像头拍摄的图像中探测到目标对象,如其它车辆或行人后,进行报警提示。
目前,一般通过语义分割模型和目标检测模型进行图像处理,以识别目标对象。这两个模型的精度会显著影响识别的准确率,导致虚警或漏警。常规的模型评估方式为路测或通过比较被检测目标的预测边界框和标注边界框来评估精确率和召回率。其中,采用路测方法的人工成本及时间成本较高,可靠性不高,容易出现纰漏导致最终评估结果偏差。边界框的评估方式仅适用于单一模型评估,不能度量双模型的结果,并且单一模型的评估没有提供关于检测目标的正确/错误对象的直观信息,当两个模型对不同对象表现出不同的精度时,即使任一模型的综合精度较高,但其组合的精度却不理想;单一模型的评估灵活性较差,它们不能在多个图像上累积以及统计图像上感兴趣区域的测试信息。此外,定量和定性评估经常混杂在一起,导致度量方式模糊。
有鉴于此,特提出本发明。
发明内容
为了解决上述技术问题,本发明提供了一种双网络模型的联合评估方法、设备和存储介质,实现了语义分割模型和目标检测模型的联合评估。
本发明实施例提供了一种双网络模型的联合评估方法,该方法包括:
获取车载BSD摄像头拍摄的多张图像;
采用语义分割模型和目标检测模型对每张图像进行识别,确定是否存在类别相同且位置对应的有效目标;
根据每张图像中所述有效目标是否存在,以及存在有效目标的情况下,所述有效目标是否与同一张图像的报警区域内已标注的报警目标相匹配,对每张图像进行打分;
汇总多张图像的分数,并根据所述分数确定所述语义分割模型和目标检测模型的评估结果。
本发明实施例提供了一种电子设备,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行任一实施例所述的双网络模型的联合评估方法的步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行任一实施例所述的双网络模型的联合评估方法的步骤。
本发明实施例具有以下技术效果:
本实施例通过将多张图像分别输入语义分割模型和目标检测模型,确定是否存在类别相同且位置对应的有效目标,即首先融合两个模型的输出结果得到有效目标是否存在,从而筛选出两个模型识别正确的对象,滤除错误的对象;然后根据有效目标是否是同一张图像的报警区域内已标注的报警目标,对两个模型在报警区域内对报警目标的识别能力进行联合评估。
附图说明
为了更清楚地说明本发明
具体实施方式
或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种双网络模型的联合评估方法的流程图;
图2是本发明实施例提供的报警区域的划分示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本发明实施例提供的双网络模型的联合评估方法,主要适用于在盲区预警的场景下对语义分割模型和目标检测模型进行联合评估的情况。本发明实施例提供的双网络模型的联合评估方法可以由集成在车载BSD摄像头内的电子设备执行,或者独立于该摄像头并与该摄像头通信连接的电子设备执行。
图1是本发明实施例提供的一种双网络模型的联合评估方法的流程图。参见图1,该双网络模型的联合评估方法具体包括:
S110、获取车载BSD摄像头拍摄的多张图像。
开启BSD系统,在车辆行驶状态或静止状态下通过车载BSD摄像头拍摄多张图像。
S120、采用语义分割模型和目标检测模型对每张图像进行识别,确定是否存在类别相同且位置对应的有效目标。
对多张图像中报警区域内的报警目标进行标注(包括类别和位置,位置用矩形框表示),以形成测试集。此处,报警目标指的是预设的应触发报警信息的目标,例如行人和骑手。对于车载BSD摄像头来说,其安装在车身的左右侧后方,拍摄视野如图2所示,报警区域(或称为感兴趣区域或盲区)为距离车身设定距离(如1.5米)内的矩形区域,即图2中编号1~9的区域。报警区域的位置、形状和尺寸可以根据实际情况设置,图2仅作为示例。将报警区域从世界坐标系中映射到图像中,得到图像中的报警区域,多张图像中的报警区域是一致的。
将多张图像依次输入至语义分割模型中,得到模型输出的各像素所属的类别,例如属于行人的像素点、属于骑手的像素点、属于车辆的像素点和属于背景的像素点。同时,将多张图像依次输入至目标检测模型中,得到模型输出的目标对象的类别和位置。各目标对象的位置指的是目标对象外接的矩形框的位置。
本实施例不限定语义分割模型和目标检测模型的结构,语义分割模型可以是U-Net、FCN和SegNet,目标检测模型可以是Faster R-CNN、SSD和YOLO。本实施例旨在对两个模型进行联合评估以得到表现较好的一组模型,这要求有不同精度的模型源以便从中选取。具体的,在将每张图像分别输入至语义分割模型和目标检测模型中之前,首先通过训练集训练得到多个语义分割模型和多个目标检测模型。语义分割模型和目标检测模型可采用不同或相同的训练集,多个语义分割/目标检测模型,可以是不同结构的模型,也可以是同一结果但不同迭代次数的模型。接着,对所述多个语义分割模型和多个目标检测模型进行自由组合,得到多组语义分割模型和目标检测模型。例如2个语义分割模型和2个目标检测模型可自由组合得到4组模型。然后,对于每组语义分割模型和目标检测模型进行后续的图像输入操作。进而根据每组模型的输出结果,对每组模型进行联合评估。
通过各像素所属的类别可以得到属于某个类别的像素点的位置,也就是用同一颜色的像素点表示一对象。目标对象则采用矩形框表示其位置,用类别作为附加属性。通过匹配两个模型输出的对象类别和位置,判断是否能得到类别相同且位置对应的对象。为了方便描述和区分,将两个模型的输出结果中类别相同且位置对应的目标称为有效目标。
在实际应用场景中,可采用将目标对象的位置映射到语义识别结果上,计算位置对应的同一类别像素点的占比的方法,准确地确定是否存在有效目标。具体的,对于任一目标对象均执行以下操作,首先获取一目标对象的位置所覆盖的多个像素点的类别。对于目标检测模型输出的每个目标对象,确定其矩形框所覆盖的多个像素点,以及多个像素点所属的类别。例如有些像素点与目标对象的类别相同,有些像素点与目标对象的类别不同。然后,从所覆盖的多个像素点中筛选与所述目标对象的类别相同的目标像素点,例如筛选出同属于骑手的目标像素点;如果未筛选出目标像素点,说明目标对象与所覆盖的任一像素点的类别均不同,则目标对象不为有效目标。如果目标像素点的占比超过设定值,例如目标像素点在矩形框中所有像素点中占比超过80%,则将目标对象确定为有效目标;如果目标像素点的占比未超过所述设定值,说明目标对象与所覆盖的大部分像素点的类别不同,则目标对象不为有效目标。
可见,有效目标是语义分割模型和目标检测模型共同识别到的同一位置和同一类别的对象,有效目标的确定至少说明两个模型存在共同识别结果,具有一定的精度。
S130、根据每张图像中所述有效目标是否存在,以及存在有效目标的情况下,所述有效目标是否与同一张图像的报警区域内已标注的报警目标相匹配,对每张图像进行打分。
S140、汇总多张图像的分数,并根据所述分数确定所述语义分割模型和目标检测模型的评估结果。
根据上述描述,有的图像确定存在有效目标,有的图像确定不存在有效目标。在存在有效目标的情况下,需要进一步与同一张图像的报警区域内已标注的报警目标作匹配。有效目标可能是车道线等不会引起危险的对象,或者位于车辆的报警区域之外的对象,也不会引起危险,所以需要根据报警区域内已标注报警目标予以甄别。如果同一张图像中有效目标与报警区域内已标注的报警目标类别相同且位置对应,则赋予该图像高分值,两个模型的联合评估结果较好;如果有效目标与报警目标类别/位置不一致,或者报警目标未确定为有效目标,则赋予该图像低分值,两个模型的联合评估结果较差。本实施例汇总多张图像的分数,该分数反映了双网络模型对有效目标的正确识别、漏识别和误识别的情况,可作为双网络模型的评估结果。
上文通过确定有效目标是否存在并判断是否与报警目标匹配,是对两个模型进行定性评估。下面通过计算分值对两个模型进行定量评估。可选的,如果一图像中存在的一有效目标与同一张图像的报警区域内已标注的报警目标不匹配,即类别不同或位置不对应,这说明两个模型识别错误(即误识别),赋予所述图像低分值;如果一图像存在的一有效目标与同一张图像的报警区域内已标注的报警目标相匹配,即类别相同且位置对应,说明两个模型识别正确,赋予所述图像高分值;如果一图像的报警区域内已标注的报警目标未被确定为有效目标,说明两个模型遗漏了报警目标(即漏识别),则赋予所述图像低分值;汇总每张图像中被赋予的所有分数,从而每张图像都有一个分数,然后汇总多张图像的分数作为所述语义分割模型和所述目标检测模型的联合评估结果。其中,低分值和高分值是相对而言的,可以都是正值,都是负值,或者正负均有。可见,当两个模型能够识别且完全识别到报警区域内的报警目标,才能获得较高的分数。
可选的,在多组模型参与联合评估的基础上,在S140之后还包括:从多组语义分割模型和目标检测模型中,选择评估结果满足要求的组合;将所述组合进行实际路测,得到路测评估结果。
其中,满足要求可以是评估结果排名头部的多个组合,然后,将多个组合分别应用到BSD产品中,驾驶搭载BSD产品的车辆在道路上行驶,道路上预先放置应该或者不应该触发报警的对象,测试是否产生报警信息,例如语音/灯光报警信息,从而得到路测评估结果。在联合评估的基础上进行路测可以有效减少参与路测的数据量,而且本实施例通过联合评估和路测评估能够更有效地选择出最佳表现的组合。
本实施例通过将多张图像分别输入语义分割模型和目标检测模型,确定是否存在类别相同且位置对应的有效目标,即首先融合两个模型的输出结果得到有效目标是否存在,从而筛选出两个模型识别正确的对象,滤除错误的对象;然后根据有效目标是否是同一张图像的报警区域内已标注的报警目标,对两个模型在报警区域内对报警目标的识别能力进行联合评估。
在上述实施例和下述实施例中,对两个模型在不同区域内的表现提出了差异化要求,两个模型需要在更加危险的区域表现得更好,才能大概率触发报警,保证车辆行驶安全;而在一些相对安全的区域表现差一些,则不会显著影响两个模型的评估结果。这样联合评估得到的组合比较适用于实际情况。具体的,在每张图像的报警区域中按照危险程度划分多个区域,并对每个区域设置不同的权重;根据多张图像中各个区域内的有效目标是否存在,以及存在有效目标的情况下,所述有效目标是否与同一张图像对应区域内已标注的报警目标相匹配以及区域权重,对每张图像进行打分。
危险程度表征了发生交通事故的概率,图2是本发明实施例提供的报警区域的划分示意图。距离车身越近,越容易发生交通事故,则危险程度越高,车头和部分车中是内轮差区域,也容易发生交通事故,危险程度也很高,则可以按照与车身的横向距离和纵向位置将报警区域(车头,车中和车尾)划分为9部分,横向距离越大的区域设置权重越小,车头和车中区域设置权重较大,车尾区域设置权重较小。可选的,可以统计历史发生交通事故时被碰撞目标在图像中的位置。对于发生交通事故较多的位置设置较高的权重。然后,在一图像的一区域内,如果存在的一有效目标与同一区域内已标注的报警目标不匹配,即类别不同或位置不对应,赋予所述区域低分值;在一图像的一区域内,如果存在的一有效目标与同一区域内已标注的报警目标相匹配,即类别相同且位置对应,赋予所述区域高分值;如果一图像的一区域内已标注的报警目标未被确定为有效目标,赋予所述区域低分值;在每张图像中,根据区域权重和分值计算每张图像的分数;汇总多张图像的分数作为所述语义分割模型和所述目标检测模型的联合评估结果。其中,低分值和高分值是相对而言的,可以都是正值,都是负值,或者正负均有。
在一示例中,如果有效目标与报警目标不匹配,则赋予区域分值p。如果有效目标与报警目标相匹配,则赋予区域分值t,如果报警目标未被确定为有效目标,则赋予区域分值n。假设报警区域被划分为A、B、C3个区域,对应的权重分别为W A 、W B 和W C ,A区域内有j1个与报警目标匹配的有效目标,有j2个与报警目标不匹配的有效目标,有j3个报警目标未被确定为有效目标。B区域内有k1个与报警目标匹配的有效目标,有k2个与报警目标不匹配的有效目标,有k3个报警目标未被确定为有效目标。C区域内有m1个与报警目标匹配的有效目标,有m2个与报警目标不匹配的有效目标,有m3个报警目标未被确定为有效目标。S TP 是一图像的三个区域中报警正确的总分值,S FP 是一图像的三个区域中误识别的总分值,S FN 是一图像的三个区域中漏识别的总分值。S 总 是一图像的总分数,Y是多张图像的总分数,r是图像的数量。总分数最高的两个模型为最优。
参见上述实施例的描述,报警区域内的报警目标是预先从输入至语义分割模型和目标检测模型的多张图像中获知的,是图像中的真实信息,可以通过人工标注得到。如果一图像中一有效目标与同一张图像的报警区域内已标注的报警目标类别相同且位置对应,所述有效目标与所述报警目标相匹配;如果一图像中一有效目标与同一张图像的报警区域内已标注的报警目标类别不同或者位置不对应,所述有效目标与所述报警目标不匹配。其中,在有效目标和报警目标均采用矩形框表示位置的情况下,计算两个同类别矩形框的交并比(Intersection over Union,IOU),如果交并比超过设定值,例如70%,说明有效目标与报警目标的重叠度较高,二者位置对应。
图3为本发明实施例提供的一种电子设备的结构示意图。如图3所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所说明的本发明任意实施例的双网络模型的联合评估方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如初始外参、阈值等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。该输入装置403可以包括例如键盘、鼠标等等。该输出装置404可以向外部输出各种信息,包括预警提示信息、制动力度等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图3中仅示出了该电子设备400中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的双网络模型的联合评估方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本发明任意实施例所提供的双网络模型的联合评估方法的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,本发明所用术语仅为了描述特定实施例,而非限制本申请范围。如本发明说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
还需说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”等应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。