发布信息

一种基于YOLOv5的行车目标检测方法 专利技术说明

作者:admin      2023-06-28 23:04:01     444



计算;推算;计数设备的制造及其应用技术一种基于yolov5的行车目标检测方法技术领域1.本发明涉及信息技术领域,尤其涉及一种基于yolov5的行车目标检测方法。背景技术:2.随着计算机设备的不断升级以及大规模数据集的建立,计算机视觉与深度学习技术得到快速发展,对图片视频数据的处理速度得到大幅提升。计算机设备通过接收图像数据,并利用深度学习算法,从而拥有了感知图像内容的能力。目前,通过将深度学习技术与计算机视觉技术相结合,产生了一系列变革与新应用,其中目标检测、识别技术成为了众多应用的关键技术之一。而目标检测最为突出也是最为重要的问题就是识别速度与准确度上的问题,如何更快更准确的识别出一个物体是人们一直研究的方向,但是这两个需要同时满足的条件又有着十分矛盾的关系,提升准确度就要加深算法的复杂度,但是这就导致计算时间大大增加,降低了算法速度,同时想要提升识别速度,那么降低准确度也是不可避免的,所以权衡两者之间的关系从而做出符合世纪要求的算法是很困难的3.单目视觉测距所采取的方式为动态测距,与现如今市面上的测距仪器数据采集的类别相比,例如微波雷达、激光雷达、超声波雷达相比,其采集信息的方式相对是不可侵犯的,对外界环境信号传播相对保守,该测距方式采用类似人眼感知的视觉方式,便于视觉化、立体化,也更方便快捷,同时该测距方式应用范围广,特别是智能交通系统中。单目视觉进行测距的技术问题主要存在于算法的准确度,如何更好的映射出更为准确的三维坐标系下的物体关系会对距离的准确度有很大的影响,如果将这项技术运用于自动驾驶目标识别中,如何将车身在路面上抖动的影响最小化,使距离测算一直能够保持较高的准度,这将是一个很好的研究方向。4.车道线检测是一种环境感知应用,其目的是通过车载相机或激光雷达来检测车道线。近年来,随着计算机视觉的应用发展和落地,车道线检测任务也获得了广泛关注,出现一系列的车道线检测方法。车道线检测算法存在的问题主要在于车道线一般为细长形的外观结构,需要强大的高低层次特征融合来同时获取全局的空间结构关系和细节处的定位精度;车道线的状态呈现具有不确定性,如被遮挡、磨损、道路变化时本身的不连续性、天气影响(雨、雪)等。需要网络针对不同情况具备较强的推理能力。技术实现要素:5.本发明要解决的技术问题是目标检测需要大量的数据进行模型训练,对于开发者需要大量的人力物力的投入,而用户也需要高昂的硬件设备。针对该问题,提出一种基于yolov5的行车目标检测方法,可以综合各个目标实现高效路面检测。本方法利用开源代码对目标实时检测并以检测框标出;对全图进行分层特征提取并由无监督迭代筛选确定车道线目标;以物体立于地面上的强假设为基础的通过单目视觉来测量距离的算法;利用yolov5得到运动目标检测框,再以它为基础得到车道线静态目标检测的底图,并结合距离检测算法,整合得到路面多目标检测结果。6.一种基于yolov5的行车目标检测方法,包括如下步骤:7.步骤1,对目标实时检测并以检测框标出;8.步骤2,对全图进行分层特征提取并由无监督迭代筛选确定车道线目标;9.步骤3,以物体立于地面上的强假设为基础的通过单目视觉来测量距离的算法;10.步骤4,利用yolov5得到运动目标检测框,再以它为基础得到车道线静态目标检测的底图,并结合距离检测算法,整合得到路面多目标检测结果。11.进一步地,步骤1中,对样本进行标定并利用开源模型训练,包括:数据集大量样本的目标标定,针对不同情况对训练模型参数的设定,进一步简化模型提高训练检测速度;通过收集各种不同环境下的样本数据,对其进行目标标定并训练相应模型,参考precision,recall与map指标,不断补充与修改数据样本。12.进一步地,步骤1将收集到的行车记录仪视频,通过python编程实现视频的切割;将视频切分成用于标注的图片;13.确定数据集的标定的类别,包括行人person,自行车bicycle,限速标志speed-limitsign;14.将标定好的图片传入yolov5官方提供的训练文件中,通过选择模型的对应模型配置文件,对官方提供的识别模型文件再进行自主的个性化训练,得到新模型后再进行优化,最终得到车辆、行人的动态目标检测的结果。15.进一步地,步骤2中对原图像素进行从bgr色彩空间到hsv色彩空间的转换,运用cv2相关代码对图像处理并进行通道拆分,得到h色调通道,s饱和度通道,v亮度通道;16.车道线分为白色车道线和黄色车道线;其中白色车道线直接从bgr色彩空间由canny函数进行特征提取;对于黄色车道线,分别对原图的bgr色彩图和hsv空间中s饱和度灰白图进行canny函数特征提取,并将两次提取结果做异或图象处理,将由s通道得到的黄色车道线边缘和由原图得到的白色车道线在黑色像素的底图上相叠加,得到包含准确的不同颜色车道线边缘二值化图像。17.进一步地,步骤2中利用霍夫函数,设定包括构成线段的最少像素点数量、线段的最小长度、线段中两点的最大跨度的三参数得到由较多线点,长度较长,两线点跨度适中的多线段数据;18.对多线段数据由车道线特征进一步迭代筛选并进行最小二乘拟合得出一条较清晰但不全面的主线。19.进一步地,步骤2中对多线段的进一步迭代筛选运用类霍夫函数的处理,即对已经提取过一次线段特征得若干线段进一步对它们所在直线的斜率、方位和它们本身的长度进行特征提取,将斜率差别小、所在直线位置相近的若干线段重新拟合成同一条线段,作为主线;并由斜率、长度、数量判断是否代表车道线,以此消除噪音。20.进一步地,运用类霍夫函数的迭代筛选处理具体做法是,将两点的横纵坐标共四个参数(x1,y1,x2,y2)转化为三个特征参数,分别是其所在直线的斜率k即与x轴相交形成的角度α、所在直线到原点的距离d、线段本身的长度l;先从许多线段中找到斜率的绝对值最大的某条线段即最倾斜的线段,并以此作为本次迭代的标准线段对所有线段进行筛选;先将与之斜率差别较小、到原点距离较为接近的线段全部选出,并进行拟合,作为主线;在本次迭代中最为倾斜的线是最接近车道线的,但还需要进一步确定;将与其相接近的线段的数量作为判断标准,数量大于等于某一阈值即确认是车道线;如果没有相接近的线段,则其长度是唯一判断标准,长度够长则认为是车道线,不到阈值则认为其不是车道线,将这条线排除,并选择下一条斜率最大的线作为下一次迭代标准,直到确定车道线或者所有线段被排除。21.进一步地,步骤2中对主线所在直线进行膨胀处理,得到一段具有一较小宽度的车道线区域,以此作为掩膜在重新对原图像进行较低要求的canny函数边缘检测,得到准确的车道线边缘图;再进行的hough函数线特征提取,设置参数检测线点少,跨度断,成线也短的若干短线,做到对有一定曲率的车道线的应检尽检。22.进一步地,步骤3中,通过一个强假设以二维图片计算三维目标的深度信息,强假设目标处于地面上,相机的高度及焦距条件不变;设定本车a,前方车位b,以焦距为f、高度为h的摄像头检测前车;实际距离为z,检测框着地点在图像中的投影是y;得到z=fh/y。23.进一步地,步骤3将图像的二维信息转化位三维模型,以此进行相机的标定;由获得的图像重构出三维场景,采用张正友棋盘格标定方法,得到相机的内参矩阵a(fx,fy,u,v,f)(内参矩阵的参数含义:f:焦距,单位毫米;fx和fy分别是x轴和y轴像素焦距;u和v是图像坐标系中点的x轴和y轴像素坐标,单位像素,其原点是图像的左上角顶点,x轴朝右、y轴朝下是正方向),外参矩阵[r|t](r是一个三行三列的旋转矩阵,t为三行一列的相对位移向量)、畸变系数[k1,k2,k3,...,p1,p2,...]。[0024]本发明的有益效果是:[0025](1)本方法利用了目前较好的目标检测算法yolov5算法,利用该算法训练出的模型可以以更快的速度、更高的准确度的识别出事先规定的目标物体;[0026](2)使用基于单目视觉与目标框的距离检测算法,通过相机参数标定产生的参数以及对yolov5算法生成的目标框的像素坐标提取,将相机与被检测物体在图片这个二维的坐标体系中的距离关系重新溯回到三维坐标系中,利用简单的三维坐标公式就可计算出实际距离,这一算法更为简单,计算复杂度更低,计算速度更快;[0027](3)本方法较现有的自动驾驶路面检测算法有更好的简洁性,更快的计算速度能够更好的对于动态行人车辆以及静态的障碍物进行检测以实现更好的规避。附图说明[0028]图1为本发明实施例中的检测流程示意图。[0029]图2为本发明实施例中的基于yolov5算法的目标检测流程示意图。[0030]图3为本发明实施例中的单目视觉测距的实现方案的流程示意图。[0031]图4为本发明实施例中的车道线检测算法流程示意图。[0032]图5为本发明实施例中的hsv色彩空间各通道数据示意表。[0033]图6为本发明实施例中的点e表示一条线示意图。[0034]图7为本发明实施例中的点f表示一条线示意图。[0035]图8为本发明实施例中的两点确定一条直线示意图。[0036]图9为本发明实施例中的三点不在一条直线示意图。[0037]图10为本发明实施例中的直角坐标系化为极坐标系示意图。[0038]图11为本发明实施例中的生成目标检测框体示意图。[0039]图12为本发明实施例中的从车辆侧面或者俯视视角的映射图。[0040]图13为本发明实施例中的视角方向为车辆正面的映射图。具体实施方式[0041]下面结合说明书附图对本发明的技术方案做进一步的详细说明。[0042]从官方、网络下载和自行拍摄的包含车道线的视频中,提取影响车辆驾驶状况的目标信息。[0043]本方法的车道线检测技术先将视频流由bgr三色通道转化为hsv色彩空间,并分别对h、s、v三通道进行切分。[0044]先查看图片h色调通道(已经和调整过的s通道,v通道合并为纯色)下,从色调通道可见较饱和,明亮的物体如远处的橙色楼房,蓝色的天空,红色广告牌和绿色的车道分割栏在v色调通道下显示出来,但较灰白,暗淡的物体比如路面和阴影中的楼房则对应的被附近的饱和色“染”成红色和青色,单独用色调判断是不够的。[0045]再结合单s通道gray灰白图片显示,由s饱和度通道和原图的对比可以看出,越鲜艳的颜色越呈现明显的白色。边界对比h通道的色彩清晰可见。[0046]单v通道gray灰白图片是单纯的黑白图片,适合白色车道线的判断。[0047]实际运用中,将s饱和度通道图片和h色彩通道图片一道处理,用canny边缘检测函数得到s的清晰边界,再由h的色彩反馈提取得到需要的颜色区域,比如提取黄色车道线。[0048]再对v亮度通道单独用canny函数处理,得到黑白色彩的清晰边界。[0049]将两方面得到图片信息整合,这样车道线的轮廓已经基本显示清楚,但依然有噪音,比如箭头、不在本车道的车道线、和远处的地平线。[0050]hough(霍夫)函数是一种专门处理直线和圆形线的函数,其主要的后三个参数分别是构成一条线的最小点数,该线的最小长度,和构成该线的任意两点间最大的跨度距离。需要的车道线具有明显的特征,首先是长度比一般噪音长很多,点是连续的,数量也不会少,考虑到车道线有虚线的存在所以跨度设定为适中。[0051]由于车道路面情况复杂多变,这里并没有设置较为精确的掩模,那样在不同情况下没有很好适用性,可能会造成必要的车道线检测不到的情况。从首次hough函数的看出,有大量噪音,同时也有其实是同一条线段被绘制成多条线段。[0052]在对若干线段的处理上,优先从线段所在直线的斜率入手,可以看出,感兴趣的最接近车两边的线的斜率往往是绝对值最大的,这并不准确但可以从斜率的由高到低来对线段遍历判断,从而找到最符合车道线特征的线段。[0053]这涉及到对线段的特征提取,在此阐述专门处理线特征的霍夫函数原理。[0054]霍夫变换(线):实质上就是“化线为点”,用一个点表示一条线。对过定点d(1,2)的任意一条直线j,都能从原点o(0,0)作一条垂线交于e,易得e的轨迹是个圆。此时e代表直线j,整个圆代表经过d的所有直线。如图6所示。[0055]对定点f(2,1)同理,如图7所示。[0056]可见两圆除原点外相交于一点,也就是“两点确定一条直线”。对m(3,0)同理,如图8所示。[0057]此时三圆除原点外相交于一点,也就是“d、f、m三点在同一直线上”。若不相交于除原点外一点,则可判定三点不在一条直线上,如图9所示。[0058]交点n即代表d、f、m的同一直线。霍夫变换即使化线为点。实际运算中往往判断几十个散点是否在一直线上,此时将直角坐标系化为极坐标系,如图10所示。[0059]同时将交点变为相差不大的范围,在阈值内即可认为是直线,如图中a、b相近,即可认为是在同一直线上。[0060]由此可见,需要考虑线段的三个特征,其中两个是霍夫变换中的角度和距离,另一个是线段的长度。由初步得到的若干线段得到对应包含三个特征的矩阵angle_distance_length。实际处理涉及到对该矩阵的遍历迭代。首先由大到小得到一个相对而言比较斜的线段的angle_distance_length数据,将其与其他线段的三特征比较,如果angle角度相差较小且distance距离较短则认为是在“判断为同一条直线的阈值内”。这些被归为同一条线的若干线段会在后续进行最小二乘拟合得到显示出的主要线段,简称主线。同时如果这些被认为同一条线的线段数量达到一定量,则不太可能是噪音。得以保留。此时对原始线段数据的判断结束。但如果这些线段接近于竖直或水平,那么显然不可能是车道线,将它们从原始数据中去除,并寻找下一条相对而言最斜的线段。同时如果只有唯一一条线相对而言最斜,则由它的长度判断,如果足够长则认为它是车道线,比较短则认为是噪音。[0061]对原始数据进行类霍夫变换的结果是得到左右两条主线,它们可基本被认为是车道线但由于判断时的高要求,实际上并不全面。[0062]有时车道线显示并不完整。为了得到完整的车道线,在主线的基础上,将主线所在直线进行膨胀操作,得到有一定宽度的长条形,用作精确车道线检测的掩模mask。由此hough得到线段将全部显示,得到辅助线段,简称辅线,将主线和辅线叠加,得到车道线检测最终结果,至此车道线检测完成[0063]本方案的目标距离检测是基于单目视觉距离检测、摄像头成像原理、yolov5目标检测生成框体、张正友棋格标定方法的基础上实现的。[0064]首先利用yolov5算法生成目标检测框体,之后对框体最下方的边的中点作为车辆的位置,如图11中的标框位置。[0065]计算出其像素坐标,这里取这一点的原因是默认车辆在地面行驶,则该点距离设定好相机的高度就是确定的,以此为对照标准更有利于对算出实际三维坐标中的坐标位置。[0066]之后利用张正友棋格标定法,通过相机对棋格图的多角度拍摄,使用matlab中的计算机视觉处理功能中的cameracalibration就可以对相机内参数进行标定,标定完成后就可以通过矩阵将图片中的二维坐标转换成为现实的三维矩阵,根据上面求取的像素坐标以及提前设定好的相机高度,就可以按比例还原实际的物体间的位置,图12为以车辆前进方向为z轴,从车辆侧面或者俯视视角的映射,图13为视角方向为车辆正面的映射。[0067]通过映射出的现实三维坐标系,就可以根据简单的距离计算公式计算出检测车辆距相机的距离,即两个车辆的距离[0068]利用yolov5s模型完成特定数据集的训练,结合pyqt与opencv利用timer信号量实现将车道线检测,距离检测与目标检测一起展现。[0069]以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部