飘散运载物检测方法、设备、程序及计算机可读介质与流程

文档序号:24130811发布日期:2021-03-02 17:48阅读:108来源:国知局
飘散运载物检测方法、设备、程序及计算机可读介质与流程

[0001]
本申请涉及信息技术领域,尤其涉及一种飘散运载物检测方法、设备、程序及计算机可读介质。


背景技术:

[0002]
随着社会经济的迅速发展、城市发展进程的加快,城市人口的不断增加,人民生活水平的不断提高,汽车的数量不断增多,城市交通问题也越来越多。其中,运载各类货物的车辆在运输过程中,可能会由于固定不牢固、路况不佳等各种因素导致货物飘散掉落,从而对其它车辆造成道路交通隐患。因此,如何快速、准确地检测出货运车辆是否在行驶过程中有运载物飘散是一项亟待解决的技术问题。
[0003]
目前对于货车飘散运载物的识别主要是通过监控摄像头等前端设备抓拍含有目标车辆的不同时间点的离散图像或者是连续的视频,然后由人工查看抓拍的图像或者视频进行审核,或者是尝试采用智能算法对抓拍的图像或者视频进行智能审核。但是,目前的方案中人工审核的成本高,而智能审核的准确率不高,因此还没有一种较好的飘散运载物检测方案。


技术实现要素:

[0004]
本申请的一个目的是提供一种飘散运载物检测方案,用以解决现有技术中检测成本高、准确率低的问题。
[0005]
为实现上述目的,本申请提供了一种飘散运载物检测方法,该方法包括:
[0006]
获取待检测视频,并从所述待检测视频中获取多帧待检测图像;
[0007]
从每一帧待检测图像中检测目标车辆的位置框或关键点,并根据所述目标车辆的位置框或关键点从所述待检测图像中截取所述目标车辆的车尾周边图像;
[0008]
识别所述车尾周边图像中是否存在所述目标车辆飘散的运载物;
[0009]
根据所述多帧待检测图像的识别结果,确定所述目标车辆的飘散运载物检测结果。
[0010]
进一步地,从每一帧待检测图像中截取目标车辆的车尾周边图像,包括:
[0011]
从每一帧待检测图像中识别出属于所述目标车辆类型的车辆;
[0012]
追踪每一帧待检测图像中属于目标车辆类型的同一车辆,作为本次检测的目标车辆,并从所述待检测图像中检测所述目标车辆的位置框或关键点。
[0013]
进一步地,所述关键点包括左关键点和右关键点;
[0014]
根据所述目标车辆的位置框或关键点从所述待检测图像中截取所述目标车辆的车尾周边图像,包括:
[0015]
根据左关键点和右关键点,计算所述目标车辆的车尾周边图像的中心点坐标;
[0016]
根据所述中心点坐标,确定所述车尾周边图像在所述待检测图像中的第二位置信息;
[0017]
根据所述车尾周边图像的第二位置信息,从所述待检测图像中截取所述目标车辆的车尾周边图像。
[0018]
进一步地,根据所述目标车辆的位置框或关键点从所述待检测图像中截取所述目标车辆的车尾周边图像,包括:
[0019]
识别所述待检测图像中目标车辆的车尾方向;
[0020]
根据所述目标车辆的位置框的第一位置信息以及车尾方向,确定车尾周边图像在所述待检测图像中的第二位置信息;
[0021]
根据所述车尾周边图像的第二位置信息,从所述待检测图像中截取所述目标车辆的车尾周边图像。
[0022]
进一步地,根据所述目标车辆的位置框的第一位置信息以及车尾方向,确定车尾周边图像在所述待检测图像中的第二位置信息,包括:
[0023]
根据所述目标车辆的位置框的坐标和车尾方向,确定车尾左顶点坐标,其中,若所述车尾方向为第一方向,所述车尾左顶点坐标为所述目标车辆的位置框的左下角坐标,若所述车尾方向为第二方向,所述车尾左顶点坐标为所述目标车辆的位置框的左上角坐标;
[0024]
根据所述车尾左顶点坐标以及所述目标车辆的位置框的第一高度和第一宽度,确定车尾周边图像在所述待检测图像中的第二位置信息。
[0025]
进一步地,根据所述多帧待检测图像的识别结果,确定所述目标车辆的飘散运载物检测结果,包括:
[0026]
当检测结果为存在所述目标车辆飘散的运载物的待检测图像的数量大于判定阈值时,确定所述目标车辆飘散运载物。
[0027]
进一步地,根据所述目标车辆的位置框或关键点从所述待检测图像中截取所述目标车辆的车尾周边图像,包括:
[0028]
根据所述目标车辆的位置框或关键点从所述待检测图像确定待截取的第一图像边界范围;
[0029]
若所述第一图像边界范围超过所述待检测图像的第二图像边界范围,在所述待检测图像中截取目标边界范围的图像内容作为车尾周边图像,其中,所述目标边界范围是所述第一图像边界范围和第二图像边界范围的交集。
[0030]
基于本申请的另一方面,还提供了一种飘散运载物检测设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,使该设备执行所述飘散运载物检测方法的步骤。
[0031]
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现所述飘散运载物检测方法的步骤。
[0032]
本申请实施例还提供了一种计算机程序,所述计算机程序存储于计算机设备,使得计算机设备执行所述飘散运载物检测方法的步骤。
[0033]
相较于现有技术,本申请提供的一种飘散运载物检测方案可以先获取待检测视频,并从所述待检测视频中获取多帧待检测图像,然后从每一帧待检测图像中检测目标车辆的位置框或关键点,根据所述目标车辆的位置框或关键点从所述待检测图像中截取目标车辆的车尾周边图像,识别所述车尾周边图像中是否存在所述目标车辆飘散的运载物,进而根据所述多帧待检测图像的识别结果,确定所述目标车辆的飘散运载物检测结果。由于
是在检测前先从整体的待检测图像中检测目标车辆的位置框或关键点,然后根据所述目标车辆的位置框或关键点从所述待检测图像中截取车尾周边图像来进行飘散运载物的检测,因此检测的内容更具有针对性,有益于提高检测效率和精准度,并且是同时对连续多帧待检测图像进行识别,结合每个待检测图像的识别结果确定最终的检测结果,结果更加可靠,此外检测过程中利用了深度学习算法,稳定高效,复用性好,可节省大量的人力。
附图说明
[0034]
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0035]
图1为本申请实施例提供的一种飘散运载物检测方法的处理流程图;
[0036]
图2为本申请实施例中检测目标车辆的位置框或关键点的处理流程图;
[0037]
图3为本申请实施例中的一个待检测图像的示意图;
[0038]
图4为本申请实施例的一个待检测图像中目标车辆的位置框和车尾周边图像的位置关系示意图;
[0039]
图5为本申请实施例中根据位置框截取车尾周边图像时的处理流程图;
[0040]
图6为本申请实施例中一个车尾方向为第一方向的待检测图像;
[0041]
图7为本申请实施例中一个车尾方向为第二方向的待检测图像;
[0042]
图8为本申请实施例一个车尾方向为第一方向的待检测图像中位置框与车尾周边图像的位置关系示意图;
[0043]
图9为本申请实施例一个车尾方向为第二方向的待检测图像中位置框与车尾周边图像的位置关系示意图;
[0044]
图10为本申请实施例的一个待检测图像中货车的左右关键点的示意图;
[0045]
图11为本申请实施例中从所述待检测图像中截取所述目标车辆的车尾周边图像的处理流程图;
[0046]
图12为本申请实施例的一个待检测图像中中心点与车尾周边图像的位置关系示意图;
[0047]
图13为采用本申请实施例提供的方案实现货车飘散运载物检测时的处理流程图;
[0048]
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
[0049]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0050]
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0051]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0052]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0053]
本申请提供了一种飘散运载物检测方法,该方案是在检测前先从整体的待检测图像中检测目标车辆的位置框或关键点,然后根据所述目标车辆的位置框或关键点从所述待检测图像中截取车尾周边图像来进行飘散运载物的检测,因此检测的内容更具有针对性,有益于提高检测效率和精准度,并且是同时对连续多帧待检测图像进行识别,结合每个待检测图像的识别结果确定最终的检测结果,结果更加可靠,此外检测过程中利用了深度学习算法,稳定高效,复用性好,可节省大量的人力。
[0054]
在实际场景中,该方法的执行主体可以是用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序。所述用户设备包括但不限于计算机、手机、平板电脑等各类终端设备;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(cloud computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
[0055]
图1示出了本申请实施例中一种飘散运载物检测方法的处理流程,该方法至少包括以下几个步骤:
[0056]
步骤s101,获取待检测视频,并从所述待检测视频中获取多帧待检测图像。其中,所述待检测视频可以是来自于各类前端设备所拍摄的视频,例如安装于道路中的监控摄像头所抓拍到的交通监控视频等。这些视频在由前端视频拍摄获得以后,可以上传至相应的服务器中存储,当需要进行飘散运载物检测时,可以由执行设备从服务器中获取相应的视频,来作为本次检测的待检测视频。
[0057]
对于一个待检测视频,包括了连续的多帧图像,视频中的每帧图像均可以被提取作为一个待检测图像。在实际场景中,在从所述待检测视频中获取多帧待检测图像时,可以根据实际检测的需求,直接将一段待检测视频中所包含的每一帧图像全部作为待检测图像,或者也可以从一段待检测视频所包含的所有图像中提取一定数量的图像作为待检测图像。
[0058]
例如,若所获取到的待检测视频为一段长度为5秒的视频,该段待检测视频包含150帧连续图像。在一些实施例中,可以将所包含150帧图像均作为待检测图像,进行完整的检测,使得检测结果更加可靠。而在另一些实施例中,则可以从中提取一部分图像,如30帧图像,作为待检测图像进行后续的检测处理,由此在提取方式恰当时,可以在确保检测结果可靠的前提下,减少检测的计算负载,提升检测效率。
[0059]
其中,待检测视频中图像的抽取方式采用如下的方式:例如,可以按照一定的间隔抽取预设帧数的图像,作为待检测图像,以前述场景为例,由待检测视频的首帧起始,每间隔5帧提取一帧图像作为待检测视频,可以获取到30帧图像作为待检测图像。还如,可以将
待检测视频划分为多段子视频之后,从每个子视频中随机抽取预设帧数的图像,作为待检测视频,以前述场景为例,可以将5秒的视频平均划分为5段1秒的子视频,然后从每段子视频中随机提取6帧图像,以获取到30帧图像作为待检测图像。
[0060]
在此,本领域技术人员应当理解上述获取多帧待检测图像的具体形式仅为举例,现有或今后出现的基于类似原理的其它形式如果能够适用于本申请,也应该包含在本申请的保护范围内,并以引用的形式包含于此。例如,还可以动态设定提取待检测图像的帧数,如视频中的车辆运动越快,则提取更多帧数的图像作为待检测视频,反之,若视频中的车辆运动越慢,则提取更少帧数的图像作为待检测视频,以此动态地调节检测结果可靠性和计算负载之间的平衡。
[0061]
步骤s102,从每一帧待检测图像中检测目标车辆的位置框或关键点,并根据所述目标车辆的位置框或关键点从所述待检测图像中截取所述目标车辆的车尾周边图像。
[0062]
其中,车尾周边图像是指待检测图像中目标车辆的车尾部位及其周边区域所对应的图像内容。由于在实际场景中,考虑到大部分运载货物的车辆发生运载物飘散时大多是发生于车尾周边区域,即使发生了运载物飘散的情况,对于除车尾周边区域之外的其余图像内容进行检测往往也无法检测出有效的结果,因此在进行飘散运载物检测时可以从每一帧待检测图像中检测目标车辆的位置框或关键点,然后基于位置框或关键点从相应的待检测图像中截取目标车辆的车尾周边图像,进行针对性的检测,而非对完整待检测图像进行检测,使得检测时需要处理的图像数据能够大大减少,将算力更加集中地使用在有效数据的检测中,从而可以提高检测效率,提升检测精度。
[0063]
在从每一帧待检测图像中检测目标车辆的位置框或关键点时,采用如图2所示的处理流程,至少包括了以下的处理步骤:
[0064]
步骤s201,从每一帧待检测图像中识别出属于目标车辆类型的车辆。其中,目标车辆类型可以根据实际场景的需求设定,例如在本实施中若需要检测对货车飘散运载物进行检测,可以将目标车辆类型设定为货车,此外也可以在进一步对货车这一类型进行进一步细分。由此,通过设定不同的目标车辆类型,可以使得本申请实施例提供的方案可以应用于各类不同车辆的飘散运载物检测,使其应用场景更加广泛。
[0065]
在本申请的一些实施例中,在识别属于目标车辆类型的车辆时,可以先针对每一帧待检测图像识别所述待检测图像中的车辆,然后从所述车辆中识别出属于目标车辆类型的车辆。实际识别过程中,可以采用深度学习算法进行自动化地识别,首先针对对每一帧待检测图像,利用基于深度学习的车辆目标检测模型识别所述待检测图像中的车辆,然后利用基于深度学习的车辆分类模型从所述车辆中识别出属于目标车辆类型的车辆。
[0066]
其中,基于深度学习的车辆目标检测模型可以采用如下方式获取:
[0067]
a1.获取不同车辆类型的车辆在不同光照、不同拍摄角度条件下的图像,作为训练的样本;
[0068]
a2.采用位置框等形式的车辆位置信息标记图像中车辆所在位置,并生成带有车辆位置信息的标注文件;
[0069]
a3.使用所述图像以及对应的标注文件训练深度神经网络模型,获得基于深度学习的车辆目标检测模型。
[0070]
在训练完成基于深度学习的车辆目标检测模型后,可以将需要识别的待检测图像
作为输入,基于深度学习的车辆目标检测模型即可自动输出待检测图像中的车辆位置信息,由此识别出待检测图像中的车辆。以图3所示的待检测图像为例,可以利用基于深度学习的车辆目标检测模型识别所述待检测图像中的车辆t1、c1和c2的车辆位置信息,这些车辆位置信息可以采用位置框表示,每个位置框可以采用四元数组(m,n,height,width)的形式记录,其中m,n为位置框左下角的坐标,height、width分别为位置框的高度和宽度,识别出的每个位置框即对应待检测图像中的一个车辆。
[0071]
而基于深度学习的车辆分类模型可以采用如下方式获取:
[0072]
b1.获取不同光照、不同拍摄角度条件下不同类型的车辆的图像,作为训练样本;
[0073]
b2.对不同类型的车辆的图像进行分类,并标记图像中车辆的车辆类型,作为类别标记;
[0074]
b3.使用带有类别标记的车辆图像训练深度神经网络模型,获得基于深度学习的车辆分类模型。
[0075]
在训练完成基于深度学习的车辆目标检测模型后,可以前述车辆目标检测模型所输出的车辆位置信息,从待检测图像中提取出相应位置的车辆图像,作为车辆目标检测模型的输入,使其可以输出对应的类别标记,由此识别出待检测图像中属于目标车辆类型的车辆。以前述识别出的三个车辆t1、c1和c2为例,基于其对应的位置框可以从待检测图像中提取出位置框所在标记的车辆图像,然后输入基于深度学习的车辆目标检测模型即可输出相应的类别标记,例如t1的类别标记为货车、c1和c2的类别标记的小客车。若本实施例中的目标车辆类型是货车,则可以从该帧图像中识别出的属于目标车辆类型的车辆为t1。
[0076]
步骤s202,追踪每一帧待检测图像中属于目标车辆类型的同一车辆,作为本次检测的目标车辆,并从所述待检测图像中检测目标车辆的位置框或关键点。
[0077]
对于基于同一待检测视频所获得的多帧待检测图像,对其中的一个目标车辆进行飘散运载物检测时,需要在每一帧待检测图像中追踪同一个车辆,使得同一次检测中多帧待检测图像的识别结果都是针对同一车辆进行的。因此,可以利用基于深度学习的车辆追踪模型追踪每一帧待检测图像中属于目标车辆类型的同一车辆,作为本次检测的目标车辆。在本申请的一些实施例中,基于深度学习的车辆追踪模型可以采用如下方式获取:
[0078]
c1.获取不同地段、不同拍摄角度下拍摄的包含同一车辆的视频,并转换为多帧图像,作为训练样本;
[0079]
c2.利用位置框对上述多帧图像中的同一车辆进行车辆位置信息的标注,并生成带有车辆位置信息的标注文件;
[0080]
c3.使用上述多帧图像以及车辆位置标注文件训练深度神经网络模型,获得基于深度学习的车辆追踪模型。
[0081]
在训练完成基于深度学习的车辆追踪模型后,可以将已识别出属于目标车辆类型的车辆的多帧待检测图像输入该车辆追踪模型,使其输出同一车辆在每一帧待检测图像中的一组位置框,由此追踪待检测图像中的同一车辆作为本次检测的目标车辆。在实际场景中,若待检测图像中包含了多个属于目标车辆类型的车辆,则可以对每一个车辆单独处理,记录多个目标车辆所对应的多组位置框,在后续检测过程中,同样可以对每组位置框单独处理,以实现不同车辆的飘散运载物检测。
[0082]
在从所述待检测图像中检测目标车辆的位置框或关键点时,若检测的是目标车辆
的位置框,可以在基于深度学习的车辆目标检测模型识别所述待检测图像中的车辆位置信息时,记录识别到的结果,来作为目标车辆的位置框。
[0083]
若检测是目标车辆的关键点,可以利用基于深度学习的车辆关键点检测模型对包含目标车辆的图像进行识别获得。其中,关键点可以是目标车辆类型的车辆中可以起到定位作用的部件所在的位置,从而在截取车尾周边图像中作为确定位置信息的点。例如,可以是车辆牌照处的中心点、车辆车厢两侧的上顶点和/或下顶点、车轮所在位置的点等。在本申请的一些实施例中,若目标车辆类型是货车,则可以将所述关键点设定为货车中装载货物的车斗边缘的两个顶点,分别作为左关键点p1和右关键点p2,如图10所示。所述的基于深度学习的车辆关键点检测模型可以采用如下的方式获取:
[0084]
e1.获取不同光照、不同拍摄角度条件下的车辆图像,作为训练的样本;
[0085]
e2.对车辆的关键点进行标记,例如可以是左关键点、右关键点两个关键点;
[0086]
e3.使用带有关键点标记的车辆图像训练深度神经网络模型,获得基于深度学习的车辆关键点检测模型。
[0087]
在训练完成基于深度学习的车辆关键点检测模型后,可以将待检测图像或者是其中处于位置框处的车辆图像输入该车辆关键点检测模型,使其输出类别标记,由此检测出其中目标车辆的关键点。
[0088]
在检测获得目标车辆的关键点之后,即可利用目标车辆的位置框或者目标车辆的关键点来实现车尾周边图像的截取。
[0089]
由于在实际场景中,拍摄视频的前端设备的镜头朝向一般是固定的,例如设置在道路上方的监控摄像头会在固定的位置以固定的角度拍摄下方道路中通过的车辆,并且由于车道允许的行驶方向也相对固定的。因此在待检测图像中,车尾周边图像会与目标车辆的位置框具有相对固定的位置关系。由此,在利用目标车辆的位置框从所述待检测图像中截取所述目标车辆的车尾周边图像时,可以基于该位置关系,根据位置框从所述待检测图像中截取所述目标车辆的车尾周边图像。例如,以图3所示中所示的目标车辆t1为例,在该帧待检测图像中的位置框为r1,而截取的所述目标车辆的车尾周边图像为r1,如图4所示。
[0090]
在本申请的一些实施例中,可以采用如图5所示的方式,从所述待检测图像中截取所述目标车辆的车尾周边图像。该获取方式可以至少包括以下处理步骤:
[0091]
步骤s501,识别所述待检测图像中目标车辆的车尾方向。图6和图7为实际场景中道路监控摄像头所拍摄到的图像。图6中目标车辆远离摄像头方向行驶,由此可以将其车尾方向定义为第一方向,在所确定的位置框r2中,其车尾位于位置框的下部,而车头位于位置框的上部,而图7中目标车辆朝向摄像头方向行驶,由此可以将其车尾方向定义为第二方向,在所确定的位置框r3中,其车头位于位置框的下部,而车尾位于位置框的上部。
[0092]
在本申请的一些实施例中,可以利用基于深度学习的车头车尾分类模型来识别所述待检测图像中目标车辆的车尾方向。其中,基于深度学习的车头车尾分类模型可以采用如下方式获取:
[0093]
d1.获取不同光照、不同拍摄角度条件下的车辆图像,作为训练的样本;
[0094]
d2.对车头、车尾朝向不同的车辆图像进行分类,并标记类别,例如可以采用车尾方向为基准,标记为第一方向和第二方向两种类别;
[0095]
d3.使用带有类别标记的车辆图像训练深度神经网络模型,获得基于深度学习的
车头车尾分类模型。
[0096]
在训练完成基于深度学习的车头车尾分类模型后,可以将待检测图像中处于位置框处的车辆图像输入该车头车尾分类模型,使其输出类别标记,由此确定目标车辆的车尾方向。
[0097]
步骤s502,根据所述目标车辆的位置框的第一位置信息以及车尾方向,确定车尾周边图像在所述待检测图像中的第二位置信息。
[0098]
若所述位置框的第一位置信息可以采用前述四元数组的方式表示,则结合车尾方向所确定的车尾周边图像在所述待检测图像中的第二位置信息也可以采用相应的四元数组表示。
[0099]
在实际场景中,在确定车尾周边图像在所述待检测图像中的第二位置信息时,可以先根据所述目标车辆的位置框的坐标和车尾方向,确定车尾左顶点坐标。例如,在本实施例中,目标车辆位置框的坐标可以由位置框左下角的坐标(m,n)来表示,若车尾方向为第一方向,可以将位置框左下角的坐标确定为车尾左顶点的坐标,即车尾左顶点坐标(x,y)中x=m,y=n。在另一种情况下,若车尾方向为第二方向,则可以将位置框左上角的坐标确定为车尾左顶点的坐标,即车尾左顶点坐标(x,y)中x=m,y=n+height。
[0100]
在确定车尾左顶点的坐标后,可以根据所述车尾左顶点坐标以及所述目标车辆的位置框的第一高度height和第一宽度width,确定车尾周边图像在所述待检测图像中的第二位置信息。
[0101]
在本申请的一些实施例中,根据所述车尾左顶点坐标以及所述目标车辆的位置框的第一高度和第一宽度,确定车尾周边图像的图像左顶点坐标为(x-a
·
width,y-b
·
height),车尾周边图像的第二高度为c
·
height,车尾周边图像的第二宽度为d
·
width。由此,用四元数组表示车尾周边图像的第二位置信息时,可以是(x-a
·
width,y-b
·
height,c
·
height,d
·
width)。
[0102]
其中,a、b、c、d可以根据实际场景的需要设定为大于0的整数。由于本申请实施例中采用从所述待检测图像中截取车尾周边图像的目的在于针对性地选取对检测结果影响更加有效的图像数据,提高检测效率,因此可以根据需要将车尾周边图像的尺寸和位置限定在较为恰当的数值,例如,将a、b、c的取值范围设定在(0,1)将d的取值范围设定在(1,2),使得车尾周边图像可以覆盖目标车辆的车尾部位,且宽度大于目标车辆的位置框,而高度小于目标车辆的位置框。以图6和图7所示的场景为例,车尾周边图像分别为r2和r3。
[0103]
作为一种更加优选的方案,可以将a的取值范围可以进一步设定为[0.2,0.4],b的取值范围可以设定为[0.2,0.5],c的取值范围可以设定为[0.6,0.9],d的取值范围可以是设定为[1.3,1.7]。此外,为了可以截取到更加合适的车尾周边图像,可以将在车尾方向不同时,a、b、c、d可以分别取值。
[0104]
例如,当车尾方向为第一方向时,a、b、c、d的分别取值为0.25、0.25、0.75和1.5,此时车尾周边图像的第二位置信息可以表示为(x-0.25
·
width,y-0.25
·
height,0.75
·
height,1.5
·
width)。而当车尾方向为第二方向时,a、b、c、d的分别取值为0.25、0.5、0.75和1.5,此时车尾周边图像的第二位置信息可以表示为(x-0.25
·
width,y-0.5
·
height,0.75
·
height,1.5
·
width)。由此,两种情况下位置框和车尾周边图像的位置关系可以分别如图8和图9所示,其中r2和r3是目标车辆的位置框,r2和r3是截取的车尾周边图像。
[0105]
步骤s503,根据所述车尾周边图像的第二位置信息,从所述待检测图像中截取所述目标车辆的车尾周边图像。
[0106]
而在根据目标车辆的关键点从所述待检测图像中截取所述目标车辆的车尾周边图像时,确定所述目标车辆的关键点后,可以采用如图11所示的方式,从所述待检测图像中截取所述目标车辆的车尾周边图像。该获取方式可以至少包括以下处理步骤:
[0107]
步骤s1101,根据所述目标车辆的关键点,计算所述目标车辆的车尾周边图像的中心点坐标。当目标车辆的关键点包括了左关键点和右关键点时,可以通过这两个关键点计算中心点坐标,例如,当左关键点的坐标是(x1,y1),右关键点的坐标是(x2,y2)时,中心点的坐标(x',y')的取值可以是x'=(x1+x2)/2,y'=(y1+y2)/2。
[0108]
步骤s1102,根据所述中心点坐标,确定所述车尾周边图像在所述待检测图像中的第二位置信息。
[0109]
此处在确定车尾周边图像的第二位置信息时,可以参考根据位置框截取车尾周边图像时的方式,即可以根据所述中心点坐标以及所述目标车辆的位置框的第一高度和第一宽度,确定车尾周边图像的图像左顶点坐标为(x
′-
a
·
width,y
′-
b
·
height),车尾周边图像的第二高度为c
·
height,车尾周边图像的第二宽度为d
·
width。由此,用四元数组表示车尾周边图像的第二位置信息时,可以是(x
′-
a
·
width,y
′-
b
·
height,c
·
height,d
·
width)。
[0110]
其中,a、b、c以及d的取值范围也可以基于类似的理由设定在(0,1)和(1,2),使得车尾周边图像可以覆盖目标车辆的车尾部位,且宽度大于目标车辆的位置框,而高度小于目标车辆的位置框。作为一种更加优选的方案,可以将a的取值范围可以进一步设定为[0.6,0.8],b的取值范围可以设定为[0.2,0.5],c的取值范围可以设定为[0.6,0.9],d的取值范围可以是设定为[1.3,1.7]。此外,为了可以截取到更加合适的车尾周边图像,可以将在车尾方向不同时,a、b、c、d可以分别取值。
[0111]
如图6所示的场景,a、b、c、d的分别取值为0.75、0.3、0.75和1.5,此时车尾周边图像的第二位置信息可以表示为(x
′-
0.75
·
width,y
′-
0.3
·
height,0.75
·
height,1.5
·
width)。此时,情况下中心点和车尾周边图像的位置关系可以如图12所示,中心点为p,车尾周边图像为r4。而当车尾方向为第二方向时,a、b、c、d的分别取值为0.75、0.5、0.75和1.5,此时车尾周边图像的第二位置信息可以表示为(x
′-
0.75
·
width,y
′-
0.5
·
height,0.75
·
height,1.5
·
width)。
[0112]
步骤s1103,根据所述车尾周边图像的第二位置信息,从所述待检测图像中截取所述目标车辆的车尾周边图像。
[0113]
在实际场景中,当截取的车尾周边图像超过原待检测图像的边界时,可以以该边界为限,避免截取到空白的图像内容。由此,本申请实施例的方案在从所述待检测图像中截取所述目标车辆的车尾周边图像时,先根据所述目标车辆的位置框或关键点从所述待检测图像确定待截取的第一图像边界范围。
[0114]
此处,所述的第一图像边界范围即为第二位置信息的具体取值所指向的边界范围,该边界范围有可能超出待检测图像的边界,导致截取到空白的图像内容。因此,在实际截取车尾周边图像之前,可以先进行一次判断,若所述第一图像边界范围超过所述待检测图像的第二图像边界范围,可以取所述第一图像边界范围和第二图像边界范围的交集为目
标边界范围,并在所述待检测图像中截取目标边界范围的图像内容作为车尾周边图像,以此避免截取到空白的图像内容。
[0115]
步骤s103,在从每一帧待检测图像中截取到车尾周边图像之后,即可识别所述车尾周边图像中是否存在所述目标车辆飘散的运载物。在本申请的一些实施例中,可以利用基于深度学习的飘散运载物分类模型来识别识别所述车尾周边图像中是否存在所述目标车辆飘散的运载物。
[0116]
所述的基于深度学习的飘散运载物分类模型可以采用如下方式获取:
[0117]
f1.获取不同光照、不同拍摄角度条件下目标车辆车类的车辆的车尾周边图像,作为训练的样本;
[0118]
f2.对作为样本的车尾部位图像,按照存在飘散的运载物、不存在飘散物、存在飘散物但非运载物这三个类别进行分类,并标记类别;
[0119]
f3.使用带有类别标记的车尾周边图像训练深度神经网络模型,获得基于深度学习的飘散运载物分类模型;
[0120]
在训练完成基于深度学习的飘散运载物分类模型后,可以将截取到的车尾周边图像输入该飘散运载物分类模型,使其输出类别标记,由此识别出所述车尾周边图像中是否存在所述目标车辆飘散的运载物,作为识别结果。
[0121]
步骤s104,根据所述多帧待检测图像的识别结果,确定所述目标车辆的飘散运载物检测结果。
[0122]
在实际场景中,为了使得检测结果更加可靠,则预先设定一个判定阈值,当识别出飘散运载物的待检测图像的数量超过了该判定阈值时,才认为所述目标车辆飘散运载物。由此,本申请实施例中在确定飘散运载物检测结果时,可以在检测结果为存在所述目标车辆飘散的运载物的待检测图像的数量大于判定阈值时,确定所述目标车辆飘散运载物。
[0123]
其中,所述判定阈值可以根据实际场景的检测需要来设定,例如若需要减少误判出现的可能性,则可以设定一个较高的判定阈值,若需要避免漏检出飘散运载物的车辆,则可以设定一个较低的判定阈值。此外,在设定判定阈值的具体数值时,可以根据经验直接设定一个数值,例如设定为5、10、20等,也可以基于根据步骤s101中获取的待检测图像的总帧数按照一定比例确定判定阈值的具体数值,例如可以按照总帧数的20%、50%等设定判定阈值。
[0124]
图13示出了采用本申请实施例提供的方案实现货车飘散运载物检测时的处理流程,包括以下处理步骤:
[0125]
步骤s1,从服务器上获取待检测视频,并将待检测视频转换成多帧的待检测图像;
[0126]
步骤s2,采用基于深度学习的车辆目标检测模型检测多帧待检测图像中车辆,并利用基于深度学习的车辆分类模型判断车辆是否为货车。
[0127]
步骤s3,当检测到货车后,采用基于深度学习的车辆追踪模型追踪多帧待检测图像中的同一货车,并记录该辆货车在多帧待检测图像中的位置框;
[0128]
步骤s4,针对每帧待检测图像中该辆货车,利用基于深度学习的车头车尾分类模型判断位置框中的货车图像的车尾方向,之后利用货车的位置框截取车尾周边图像,并利用基于深度学习的飘散运载物分类模型判断车尾周边图像中是否飘散运载物。
[0129]
步骤s5,对于多帧待检测图像,当该辆货车判为飘散运载物的待检测图像的帧数
量大于一定的判定阈值时,即可判该货车的检测结果为飘散运载物。
[0130]
此外,本申请实施例还提供了一种计算机设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述的飘散运载物检测方法的步骤。
[0131]
特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被处理单元执行时,执行本申请的方法中限定的上述功能。
[0132]
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0133]
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0134]
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0135]
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的
组合来实现。
[0136]
作为另一方面,本申请实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个计算机可读指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案的步骤。
[0137]
此外,本申请实施例还提供了一种计算机程序,所述计算机程序存储于计算机设备,使得计算机设备执行所述飘散运载物检测方法的步骤。
[0138]
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0139]
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1