一种目标车辆检测方法、装置及计算机与流程

文档序号:29497009发布日期:2022-04-06 15:46阅读:150来源:国知局
1.本发明属于图像识别
技术领域
:,具体涉及一种目标车辆检测方法、装置及计算机。
背景技术
::2.目标检测技术已经在人脸识别、车辆检测等多个领域内广泛应用。基于深度学习的目标检测算法主要分为一阶目标检测与两阶目标检测,前者采用端到端的方式直接获得物体位置并进行类别预测,计算速度快,但精度略有损失,典型算法有ssd、retinanet和yolo系列。两阶目标检测算法相比于一阶网络可以更充分地提取特征,得到目标物体的精准位置和分类,代表算法有fastr-cnn、cascader-cnn。此外cornernet和centernet这些依靠关键点来检测目标的算法也受到了研究人员和业界的广泛关注。3.基于深度学习的目标检测算法在车辆检测领域的应用一直是研究的热点。有学者使用faster-rcnn网络检测车辆,用卷积特征代替人工提取特征,避免了传统检测问题中设计手工特征的问题;有学者使用cascadercnn算法进行目标检测,引入空洞卷积来减少下采样过程中的特征丢失,可以有效的检测出小目标和遮挡目标,改进后的网络准确率有所提高,但在速度方面略有损失;有学者将darknet53改进为30个卷积层的卷积神经网络,使用k-means聚类选取车辆锚框,可以实现道路车辆的实时检测。有学者使用深度残差网络作为主干网络,利用软化非极大抑制解决车辆尺度变化大以及遮挡问题;有学者提出的vehicle-yolo模型是在yolov3的基础上采用7次深度残网络输出五种不同大小的特征图,对潜在车辆的边界框进行提取,从而提升车辆检测的精度和普适性;有学者将yolov3-tiny的主干网络与bifpn特征金字塔结构相结合,并提出了一种新的上采样结构,来解决采样过程中信息丢失的问题;还有学者使用残差网络和反残差网络作为基础模型,使用focalloss改进损失函数,平衡正负样本,提高了目标检测的准确度。4.目前,车辆检测多用于智能网联和自动驾驶汽车感知交通环境信息,大量研究使用kitti数据集完成模型训练与测试。通常这类数据集基于车载设备、从平视或小倾角俯视角度采集,与交通管理场景下的路侧监控图像视角存在明显差异,相关模型不能很好适应大倾角俯视视角下的车辆检测任务。技术实现要素:5.为了解决现有技术存在的问题,本发明实施例提供以下技术方案:6.第一方面,本技术提供一种轻量车辆检测的方法,包括如下步骤:7.获取待检测车辆环境图像数据;8.对所述待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;9.将yolov4网络结构算法与ghostnet模型结合,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型;10.将所述416×416的车辆环境图像数据输入至所述gs-yolo模型,得到特征提取结果,获得图像中车辆的位置。11.进一步地,基于yolov4网络结构算法结合ghostnet模型,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型,包括:12.将ghostnet模型与所述yolov4网络结构融合,所述ghost模型中的ghost模块采用卷积核为1×1的传统卷积和深度卷积的轻量卷积。13.进一步地,所述ghostnet模型包括多个ghostbottleneck模块,其中ghostbottleneck模块包括多个ghost模块。14.进一步地,所述基于yolov4网络结构算法结合ghostnet模型,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型,包括:15.在ghostbottleneck模块之间添加注意力机制模块,得到gs-yolo模型。16.进一步地,还包括多尺度检测模块,所述多尺度检测模块改进为在panet网络中使用五次卷积块的3×3卷积,下采样过程中使用的3×3卷积以及在预测网络yolo-head中使用3×3深度可分离卷积。17.进一步地,还包括firemodule模块,在sppnet结构的输入输出部分加入firemodule模块。18.第二发明,本技术提供一种轻量车辆检测的装置,包括:19.获取模块,用于获取待检测车辆环境图像数据;20.图像处理模块,用于对所述待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;21.构建gs-yolo模型模块,用于将yolov4网络结构算法与ghostnet模型结合,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型;22.特征提取模块,将所述416×416的车辆环境图像数据输入至所述gs-yolo模型,得到特征提取结果,所述特征结果包括图像中车辆的位置。第三方面,本发明提供一种计算机,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任意一项所述的方法步骤。23.本发明具有以下有益效果:24.本发明实施例提供的本发明提供一种轻量车辆检测的方法,包括如下步骤:获取待检测车辆环境图像数据;对所述待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;将yolov4网络结构算法与ghostnet模型结合,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型;将所述416×416的车辆环境图像数据输入至所述gs-yolo模型,得到特征提取结果,所述特征结果包括图像中车辆的位置。本发明使用ghostnet结构思想,利用轻量操作降低模型计算量,压缩模型大小,在主干网络中增加注意力机制,筛选重要特征,提高模型的检测能力。附图说明25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。26.图1是本发明实施例中一种轻量车辆检测的方法的流程示意图。27.图2是本发明一个实施例提供的一种gs-yolo网结构图络结构图。28.图3是本发明一个实施例提供的ghostnetbottleneck结构示意图。29.图4是本发明一个实施例所提供的包含注意力机制模块的bottleneck结构示意图。30.图5是本发明一个实施例提供的firemodule结构示意图。31.图6是本发明一个实施例提供的使用gs-yolo和yolov4进行车辆检测的结果对比图。32.图7是本发明一个实施例提供的一种轻量车辆检测的装置结构示意图。33.图8是本发明一个实施例提供的一种计算机结构示意图。具体实施方式34.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。35.目前,车辆检测多用于智能网联和自动驾驶汽车感知交通环境信息,大量研究使用kitti数据集完成模型训练与测试。通常这类数据集基于车载设备、从平视或小倾角俯视角度采集,与交通管理场景下的路侧监控图像视角存在明显差异,相关模型不能很好适应大倾角俯视视角下的车辆检测任务,图1为本技术一个实施例提供的一种轻量车辆检测的方法的流程示意图,如图1所示,该方法包括如下步骤:36.步骤s101、获取待检测车辆环境图像数据;37.具体的,在一个实施例中,采用ua-detrac车辆数据集,该数据集拍摄于北京和天津的24个过街天桥,以俯视角度拍摄共100个交通场景,并标注了8250个车辆和121万个目标对象。实验在全部场景中随机抽取80%作为训练集,剩余20%的样本作为测试集。38.步骤s102、对所述待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;39.为了验证本技术改进点对模型性能的影响,待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;使得输入图像尺寸均为416×416。40.步骤s103、将yolov4网络结构算法与ghostnet模型结合,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型;41.使用ghostnet结构思想,利用轻量操作降低通道,增强特征,在主干网络中增加注意力机制模块,筛选重要特征,提高模型的检测能力。42.注意力机制模块即se(squeeze-and-excitation)模块,使用se模块可以筛选出更重要的特征的权重,使得重要特征的权重量增加,无用特征的权重量减小。在经过通注意力机制模块“过滤”之后还进行上采样、下采样操作进一步提取特征。43.其中,注意力机制模块为本领域常用模块,本技术未对其进行改进。44.步骤s104、将所述416×416的车辆环境图像数据输入至所述gs-yolo模型,得到特征提取结果,所述特征结果包括图像中车辆的位置。45.可以理解为,本发明实施例提供的一种轻量车辆检测的方法,包括如下步骤:获取待检测车辆环境图像数据;对所述待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;基于yolov4网络结构算法构建改进的yolov4结构,得到gs-yolo模型;将所述416×416的车辆环境图像数据输入至所述gs-yolo模型,得到特征提取结果,所述特征结果包括图像中车辆的位置。本发明使用ghostnet结构思想,利用轻量操作降低模型计算量,压缩模型大小,在主干网络中增加注意力机制,筛选重要特征,提高模型的检测能力。46.在一个实施例中,请参阅图2,图2是本技术一个实施例提供的gs-yolo网络结构图,如图2所示,基于yolov4网络结构算法结合ghostnet模型,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型,包括:47.将ghostnet模型与所述yolov4网络结构融合,所述ghostnet模型中的ghost模块采用卷积核为1×1的传统卷积和深度卷积的轻量卷积。48.ghostnet是一个轻量化的主干网络,计算量少,极大地压缩了模型占用内存大小。49.本发明在yolov4网络结构基础上揭示了一种轻量车辆检测模型gs-yolo。gs-yolo在保证检测精度基本不变的情况下,一定程度简化了网络结构和计算量。具体改进如图3所示,图3是本发明一个实施例提供的ghostnetbottleneck结构示意图,主干特征网络选用ghostnet,对输入的待检测车辆图像进行初步特征提取,其中ghostmodule采用卷积核为1×1的传统卷积和深度卷积的轻量操作。50.其中,ghostnet模型为本领域常用模块,本技术未对其进行改进。51.一些实施例中,所述ghostnet模型包括多个ghostbottleneck模块,其中ghostbottleneck模块包括多个ghost模块。52.在一个实施例中,如图4所示,图4是本发明一个实施例所提供的包含注意力机制模块(即se模块)的bottleneck结构示意图,所述基于yolov4网络结构算法结合ghostnet模型,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型,包括:在ghostbottleneck模块之间添加注意力机制模块,得到gs-yolo模型。53.在目标检测任务中,被测目标的大小经常是不固定的,自动驾驶相关检测任务可能要同时检测大卡车与小狗;工业质检相关检测任务可能要同时检测布料的大面积撕裂与小穿孔;医疗病灶检测任务可能要同时检测大小不一的病灶。在被测物体尺度相差极大时,模型通常难以对极大和极小的物体同时进行检测。54.首先,要知道为什么被测物体尺度相差过大会造成模型精度降低。物体检测领域中各个模型的骨干网络,无外乎不是使用多层卷积逐步提取图像深层信息,生成多层特征图,并基于深层特征图做定位、分类等进一步处理。55.作为上述方法的进一步改建,本技术还包括多尺度检测模块,所述多尺度检测模块涉及的改动为在现有的多尺度检测模块中的panet网络中使用五次卷积块的3×3卷积,在下采样过程中使用的3×3卷积以及在预测网络yolo-head中使用3×3深度可分离卷积。56.具体地,416×416尺寸的数据经过多次卷积操作之后得到的52×52、26×26和13×13三个尺寸的特征图,多尺度检测模块是通过yolo-head部分的三个检测头进行的,本技术检测52×52、26×26和13×13三个尺寸的特征图。57.在多尺度检测部分使用深度可分离卷积代替传统卷积,降低大量卷积操作产生的计算量。极大地减少了设备的资源消耗,提升了模型性价比。58.作为上述方法的进一步改进,请参阅图5,图5是本发明一个实施例提供的firemodule结构示意图,请参阅图5,具体地,在sppnet结构的输入输出部分加入firemodule模块。59.firemodule模块的输入的数据是上一部得到的特征图,例如sppnet上面的firemodule输入的数据是尺寸为13×13×160的特征图,输出的特征图将传至sppnet结构中。60.其中,firemodule模块为本领域常用模块,本技术未对其进行改进。61.由于多尺度预测部分卷积操作内存占用多,计算复杂,借鉴squeezenet的firemodule结构和深度可分离卷积,对加强特征提取网络和预测网络进行优化,有效地解决原有模型内存占用大和特征提取不充分的问题。62.本技术还提供了实验分析过程及实验数据。63.具体地,采用ua-detrac车辆数据集,该数据集拍摄于北京和天津的24个过街天桥,以俯视角度拍摄共100个交通场景,并标注了8250个车辆和121万个目标对象。实验在全部场景中随机抽取80%作为训练集,剩余20%的样本作为测试集。64.本实验在windows10操作系统下进行,使用python3.7进行编译和测试,对应开发工具为pycharm2019.3.4,cpu为intelxeonsilver4126,gpu为nvidiatitanrtx。实验参数设置如表1所示,其中初始学习率为0.001,并在50epoch后降低为0.0001。65.表1实验参数选取[0066][0067]表2是网络模型使用深度可分离卷积和firemodule前后的参数量对比,其中模型yolov4和yolov5是未做任何改动的初始模型,ghost-a仅将yolov4的主干网络替换为ghostnet,ghost-b是在ghost-a的基础上,对强特征提取网络和预测网络所有的3×3卷积中使用深度可分离卷积的模型,gs-yolo是本文改进后的模型。[0068]表2不同模型的参数量对比[0069][0070]为了验证这些改进点对模型性能的影响,将gs-yolo与表3中的模型进行消融实验,根据表2的参数配置训练参数,输入尺寸均为416×416,结果如表3所示。[0071]表3不同模型的检测结果对比[0072][0073]需要说明的是,模型大小是指模型占用存储空间字节数。由表3可知,使用ghostnet替换主干网络cspdarknet53模型后,模型占用内存降低38.53%,精度增加0.14%,cpu检测速度提高49.02%。在多尺度检测部分,使用深度可分离卷积代替传统卷积进一步减少了71.71%的内存占用空间,cpu和gpu检测速度分别提升66.70%和1.34%,精度损失仅为0.98%。在加强特征提取网络引入firemodule后,检测精度提升1.29%,同时模型大小降低至34.77mb,相较于原始yolov4占用内存244.40mb,减小了约86%的内存空间,极大地减少了设备的资源消耗,提升了模型性价比。[0074]根据rooflinemodel理论,模型实际测试性能会受到计算平台的算力和带宽影响,当模型计算强度i小于平台计算强度上限imax的时候,模型性能受到平台带宽限制,处于带宽瓶颈区域(memory-bound);当模型计算强度i大于平台计算强度上限imax的时候,模型处于计算瓶颈区域(compute-bound),虽受到平台算力限制,但可以充分利用平台的全部算力。[0075]根据第3.2小节相关内容和nvidia官网提供的数据可知,nvidiatitanrtx的算力π为16.3tflop/s,带宽β为672gb/s,平台计算强度上限imax约为22.6flops/byte。表5为各模型的理论性能及计算强度。[0076]表4性能参数及计算强度[0077]table5performanceparametersandoperationalintensity[0078][0079]经过对比发现gs-yolo在gpu上运行时处于带宽瓶颈区域,性能受到平台带宽限制,无法像yolov4一样完全利用平台的全部算力,所以推理时间减少效果不明显。但在cpu处理器上运行时,gs-yolo的性能不再受带宽限制,速度提升约83%,说明gs-yolo更适合用于cpu或资源不足的设备上。[0080]为了更直观地展示检测结果,请参阅图6,图6是使用gs-yolo和yolov4进行车辆检测的结果对比图,如图6所示,(a)(c)为yolov4的结果,(b)(d)为gs-yolo的结果。测试图像分别选取白天和夜间不同场景,从图中标出的目标框可以看出模型轻量化操作前后,目标检测准确率几乎没有差异。[0081]请参阅图7,图7是本发明一个实施例提供的一种轻量车辆检测的装置结构示意图,如图7所示,该装置包括:[0082]获取模块701,用于获取待检测车辆环境图像数据;[0083]图像处理模块702,用于对所述待检测车辆环境图像数据进行图像处理,得到416×416的车辆环境图像数据;[0084]构建gs-yolo模型模块703,用于将yolov4网络结构算法与ghostnet模型结合,在ghostnet模型中加入注意力机制模块,得到gs-yolo模型;[0085]特征提取模块704,将所述416×416的车辆环境图像数据输入至所述gs-yolo模型,得到特征提取结果,所述特征结果包括图像中车辆的位置、车辆的类别以及车辆的数量。[0086]关于上述实施例中的轻量车辆检测的装置,其中各个模块执行操作的具体方式已经在上述相关方法的实施例中进行了详细描述,此处将不做详细阐述说明。[0087]请参阅图8,图8是本技术一个实施例中一种计算机结构示意图,如图8所示,包括存储器801、处理器802以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器802执行所述计算机程序时实现上任意一项所述的方法步骤。[0088]关于上述实施例中的计算机,其处理器802执行存储器801中程序的具体方式已经在上述相关方法的实施例中进行了详细描述,此处将不做详细阐述说明。[0089]可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。[0090]需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。[0091]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属
技术领域
:的技术人员所理解。[0092]应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。[0093]本
技术领域
:的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。[0094]此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。[0095]上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0096]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。[0097]尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1