技术领域
本发明属于视觉神经网络技术领域,具体涉及一种ADAS红外夜视方法和夜视系统。
背景技术
交通安全是当今社会一个重大焦点问题,受到各国政府和社会的关注。夜间驾驶也是智能交通和无人驾驶系统要致力解决的重大问题。每年世界上都因交通事故而带来的巨大损失,其中由于驾驶员视线原因操作失误引起的占70%以上,因此开展智能交通系统的道路交通安全保障技术研究变得尤为迫切。研究表明,如果车辆前端安装有车距警报、雷达测速之类的报警系统,发生交通事故的概率可减少30%。如果遇到雨雾天气或者是夜间行驶,交通安全事故的发生概率还会大大提高。
目标跟踪识别算法的复杂度不断增加,进行高精度多目标跟踪识别算法所需要的数据量越来越大,为了满足在边缘计算中海量数据快速处理的要求,CPU从最开始的单核扩展到了多核,计算方式也从原先的串行计算发展到了多核并行计算的方式。而FPGA具备优秀的并行计算的能力正好可以弥补CPU的不足,相比之下在FPGA上进行并行计算效率更高。与CPU和GPU异构计算不同,在FPGA上开发的OpenCL程序通过综合成专用的深度流水线硬件电路实现内核功能,具有非常强大的并行处理能力,通过流水线复制等优化手段可进一步提高并行处理能力,因此可以综合出专用硬件电路没有多余的逻辑功能。所以与多核CPU和GPU相比,FPGA处理时实的目标检测与跟踪具有更低的功耗、更高的效率。
发明内容
本发明要解决的技术问题是:提供一种ADAS红外夜视方法和夜视系统,用于实现红外夜视目标检测功能。
本发明为解决上述技术问题所采取的技术方案为:一种ADAS红外夜视方法,包括以下步骤:
S1:采集视频数据并转化为图片训练集;
S2:将视频数据处理为图像帧;
S3:增强Retinex红外图像以取得图像的动态范围压缩、边缘增强和颜色恒常三方面的平衡;
S4:使用深度神经网络YOLO4算法训练网络模型对图片训练集进行目标检测;
S5:采用OpenVINO模型优化器优化网络模型;
S6:用训练好的网络模型检测目标,并保存相关参数。
按上述方案,所述的步骤S1中,将部分视频数据作为训练集,部分视频数据作为检测集。
进一步的,所述的步骤S2中,具体步骤为:
S21:设capture为摄像头检测的帧图像;记录待检测视频保存在电脑上的路径,设路径下的视频帧图像为capture1;
S22:通过opencv的VideoCapture函数读取视频;
S23:将视频读取为帧图像,并存放于capture变量中。
进一步的,所述的步骤S3中,具体步骤为:
设物体所成的图像为S,反射分量为R,亮度分量为L,将图像S分解为反射分量和入射分量的乘积:
S(x,y)=R(x,y)*L(x,y);
将上式两边取以10为底的对数得到:
log(R(x,y))=log(S(x,y))-log(L(x,y));
设G为高斯卷积函数,则
∫∫G(x,y)dxdy=1,
设σ是高斯尺度参数,k为归一化因子,高斯卷积函数为
设*表示卷积操作,则通过高斯卷积函数从图像S中估计得出亮度分量L为:
L(x,y)=S(x,y)*G(x,y);
当σ值较小时增强图像暗区域的细节,动态压缩性好,颜色失真大;σ值较大时,色感一致性好。
进一步的,所述的步骤S4中,具体步骤为:
S41:采用开源数据集KAIST数据集、OTCBVS数据集、FLIR数据集训练深度神经网络,对图像分块;
S42:通过CNN网络模型预测不同目标的类别;
S43:将训练好的权值文件作为检测算法的核心,用于调节目标检测算法的各项参数。
进一步的,所述的步骤S42中,采用的模型包括Ef ficientnet lite、MixNet、GhostNe、mobilenet3;选取的网络结构包括:Backbone,包括CSPDarknet53;Neck,包括SPP、PANet;HEAD,包括采用anchor based算法的YOLOv3;在ImageNet的分类数据集上优先选择CSPResNext50;在MS-COCO目标检测数据集上优先选择CSPDarknet53;使检测结果在网络输入分辨率、卷积层数、参数量、层输出通道数量之间取得平衡。
进一步的,所述的步骤S5中,具体步骤为:
S51:通过OpenVINO优化CNN模型,完成FP量化、模型压缩、模型分析的功能;
S52:将优化后模型的网络文件保存在.xml文件中,权重文件保存在.bin文件中。
进一步的,所述的步骤S6中,具体步骤为:
S61:用训练好的网络模型检测目标;
S62:用检测出的目标框在检测图像上标识出相应位置,并标注预测相应的分类。
进一步的,所述的步骤S62中,检测图像包括person、car、bicycle的3个分类。
一种ADAS红外夜视系统,包括采用Intel i5-7260u的CPU、采用Arria10 GX系列1150型的FPGA的异构硬件平台;在异构硬件平台上联合部署有Openvino加速工具包。
本发明的有益效果为:
1.本发明的一种ADAS红外夜视方法和夜视系统在夜视相关算法及硬件功耗性能的基础上,实现了辅助驾驶和无人驾驶的红外夜视目标检测功能,可行性高,性能强大。
2.本发明采用红外图像增强算法与深度卷积神经网络相结合做目标检测,首先模仿人类视觉系统的成像过程,采用Retinex算法增强目标图像,在图像的动态范围压缩、边缘增强和颜色恒常三个方面取得了很好的平衡性;然后使用深度神经网络YOLO4(You OnlyLook Once)算法来进行目标检测的识别,通过将算法结合起来的方法,达到了高速率、高精度检测的目的;本发明采用Retinex红外图像增强算法加卷积神经网络的算法实现了在夜视环境中对目标高精度的检测与分类,检测夜视目标的视距达到了500米左右,检测算法AP值达到了0.657。
3.本发明采用开源数据集KAIST数据集、OTCBVS数据集、FLIR数据集训练深度神经网络,采用NVIDIA1060显卡进行相关的模型训练;将训练好的权值文件作为检测算法的核心用于调节目标检测算法各项参数,最终组成了完整的检测算法。
4.本发明基于CPU+FPGA的异构可扩展平台实现了ADAS红外夜视目标识别检测与分类功能,实现了高精度、超视距、低功耗、高速度的检测效果;以Intel i5-7260u作为主处理器,并搭载一块Arria10 GX系列1150型FPGA作为加速卡,利用FPGA的高并发、低功耗以及高灵活性,得到体积小、灵活度高、接口丰富且利于部署算法的加速平台;利用OpenVINO加速工具包进行推理优化加速,达到了高精度、高实时性、高性能、低功耗的性能。
5.本发明采用Intel提供的OpenVINO软件包进行加速,将网络模型转化为xml文件和bin文件使用其内部的IR推理引擎进行加速处理,数倍提升和加强了开发效率和产品性能;将具有并行处理、现场可编程特点的CPU+FPGA异构结构应用于红外夜视系统,依靠其高集成度、低空间占用以及低功耗的特点,在系统中实现了图像采集、处理和显示,并通过图像处理结果进行高速预测推断的功能。
附图说明
图1为本发明实施例的流程图。
图2为本发明实施例的训练集制作原理图。
图3为本发明实施例的Retinex红外图像增强效果图。
图4为本发明实施例的Yolo4目标检测方式图。
图5为本发明实施例的CSPDarknet53特征提取网络结构图。
图6为本发明实施例的异构平台结构图。
图7为本发明实施例的Openvino加速模块结构图。
图8为本发明实施例的红外目标检测与分类效果图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的一种ADAS红外夜视系统的异构硬件平台包括采用Intel i5-7260u的CPU和采用Arria10 GX系列1150型的FPGA;在异构硬件平台上联合部署有Openvino加速工具包。
一种ADAS红外夜视方法包括以下步骤:
S1:采集视频数据并转化为图片训练集;
将部分视频数据作为训练集,部分视频数据作为检测集;
S2:处理视频图像帧;
记录待检测视频保存在电脑上的路径,设路径下的视频帧图像为capture1;
通过opencv的VideoCapture函数读取视频;
设capture为摄像头检测的帧图像;
将视频读取为帧图像存放于capture变量中;
S3:增强Retinex红外图像以取得图像的动态范围压缩、边缘增强和颜色恒常三方面的平衡;
设物体所成的图像为S,反射分量为R,亮度分量为L,将图像S分解为反射分量和入射分量的乘积:
S(x,y)=R(x,y)*L(x,y);
将上式两边取以10为底的对数得到:
log(R(x,y))=log(S(x,y))-log(L(x,y));
设G为高斯卷积函数,则
∫∫G(x,y)dxdy=1,
设σ是高斯尺度参数,k为归一化因子,高斯卷积函数为
设*表示卷积操作,则通过高斯卷积函数从图像S中估计得出亮度分量L为:
L(x,y)=S(x,y)*G(x,y);
当σ值较小时增强图像暗区域的细节,动态压缩性好,颜色失真大;σ值较大时,色感一致性好;
S4:使用深度神经网络YOLO4算法进行目标检测;对图像分块,使用一个CNN网络直接预测不同目标的类别;基本目标是在实际生产环境中进行快速运行和并行计算的优化;
对于GPU:使用少量的分组卷积(1-8):CSPResNeXt50/CSPDarknet53;
对于VPU:使用分组卷积,不使用Squeeze-and-excitement(SE);
包括以下模型:Ef ficientnet lite/MixNet/GhostNe/mobilenet3;
YOLO4算法选取的网络结构为:
1.Backbone:CSPDarknet53
2.Neck:SPP、PANet
3.HEAD:YOLOv3(anchor based);
在ImageNet的分类数据集上,CSPResNext50比CSPDarknet53好得多;在MS-COCO目标检测数据集上,CSPDarknet53上好于CSPResNext50;通过选择在网络输入分辨率、卷积层数、参数量、层输出通道数量之间取得平衡;
S5:结合Openvino加速工具包联合部署,利用OpenVINO的模型优化器优化CNN模型,完成FP量化、模型压缩、模型分析的功能;优化后的模型将网络文件保存在.xml文件中,权重文件保存在.bin文件中;
S6:用训练集训练好的网络模型检测目标,保存相关参数;用检测出的目标框在检测图像上标识出相应位置,并标注预测出相应的分类;本发明采用了包括person、car、bicycle的3个分类。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
机译: 在运输车辆挡风玻璃内表面上投射红外夜视系统图像的方法及其实现系统
机译: 将红外夜视系统中的图像投影到车辆风幕内部表面的方法
机译: 车窗玻璃内表面红外夜视系统图像的投影方法及其实现系统