一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于龙芯2K1000处理器实现高精度车辆识别的方法与流程

2021-11-22 14:10:00 来源:中国专利 TAG:

一种基于龙芯2k1000处理器实现高精度车辆识别的方法
技术领域
1.本发明涉及一种基于龙芯2k1000处理器实现高精度车辆识别的方法,属于嵌入式图像处理技术领域。


背景技术:

2.随着中国汽车销售量越来越多,交通拥堵,超速撞车等事故等频繁发生,就自然衍生出了对实时掌握交通路况信息的需求,为了让交通指挥者或者参与者及时获取必要的交通信息,需要把相关交通信息以标签的形式自动描述出来,使计算机能自动获取信息并处理成人们容易理解的信息。
3.目前,在计算机应用中图像识别技术的研究取得了丰硕的成果,然而基于国产芯片和嵌入式平台的图像识别研究成果较少,传统的图像识别算法仅对识别简单图像较为有效,且仅可识别少量特定对象,卷积神经网络cnn以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,卷积神经网络cnn的特征检测层通过训练数据进行学习,所以在使用cnn时,避免了显式的特征抽取,而隐式地从训练数据中进行学习。
4.然而,当前同类产品车辆识别准确率不高,以卷积神经网络cnn作为深度学习模型计算量较大,存在模型太大以及检测时间过长的问题,龙芯2k1000处理器算力不足以支持数据短时间有效处理,且深度学习存在过于依赖gpu的缺陷。
5.因此,需要一种基于龙芯2k1000处理器实现高精度车辆识别的方法。


技术实现要素:

6.为了解决上述技术问题,本发明提供一种基于龙芯2k1000处理器实现高精度车辆识别的方法,其具体技术方案如下:一种基于龙芯2k1000处理器实现高精度车辆识别的方法,包括以下步骤:步骤1:车辆数据收集与标签化处理,制作深度学习数据集;步骤2:对深度学习模型进行训练步骤2.1:搭建深度学习模型框架;步骤2.2:选择深度学习模型网络结构;步骤2.3:使用深度学习数据集对深度学习模型框架进行训练,得到深度学习模型;步骤3:对深度学习模型进行优化步骤3.1:对深度学习模型进行裁剪,根据深度学习模型中各个参数在验证集中得到验证值为true的次数对各个参数的贡献值进行降序排列,裁剪掉贡献值低于设定标准的参数;步骤3.2:对深度学习模型进行量化,降低模型进行推断所用的数据量;步骤4:部署深度学习模型步骤4.1:对2k1000处理器进行硬件适配,对不支持2k1000处理器的算子进行删
减;步骤4.2:深度学习模型格式转换:生成2k1000处理器适配的可调用文件,并将可调用文件转换为tmfile格式进行存储;步骤4.3:深度学习模型部署:调用深度学习模型,将可调用文件编译生成可执行文件;步骤5:选取视频流进行车辆检测:对视频流进行预处理,将预处理后得到的数据输入车辆识别模型进行检测识别以及显示输出。
7.进一步的,所述深度学习模型采用pytorch框架或paddle框架进行训练,得到车辆识别的卷积神经网络模型,所述深度学习模型网络结构选用小型网络模型yolov3_tiny。
8.进一步的,所述步骤1的具体过程为:步骤1.1:高视角采集高速公路车辆图像数据;步骤1.2:将图片上的车辆进行框定,对图片上的车辆信息进行标注,生成对应的xml文件;步骤1.3:制作针对图像对应特定场景的数据集作为深度学习数据集;所述图片中标注的信息包括图片大小、车辆种类、车辆在图中的位置信息,所述位置信息包括车辆框的x坐标极值和y坐标极值。
9.进一步的,所述对深度学习模型进行优化采用ema方法,对于特征模块采取整体丢弃方式。
10.进一步的,所述步骤3.2对深度学习模型进行量化,将模型推断所用数据从float类型的浮点数,转换为8bit低精度值数据。
11.进一步的,所述步骤4深度学习模型的部署采用c 部署,其具体过程为:步骤4.1:将深度学习模型转为onnx深度学习通用模型;步骤4.2:对2k1000处理器进行硬件适配;步骤4.3:将可调用文件转换为tmfile格式进行存储;步骤4.4:调用深度学习模型,将可调用文件编译生成可执行文件。
12.进一步的,所述步骤5对视频流进行预处理,根据检测频率挑选图片进行显示。
13.进一步的,所述步骤5中选取视频流,包括选取本地视频流、通过usb摄像机接入视频流或者外接rtsp视频流中的一种或多种。
14.进一步的,所述视频流预处理,在2k1000处理器中实现opencv部署,将opencv所需库直接移入源中实现调用。
15.本发明的有益效果是:本发明通过裁剪和量化,将深度学习模型压缩,成功在龙芯2k1000处理器上实现ai应用部署并进行车辆检测识别,实现了tmfile文件在2k1000处理器上进行调用;首次验证2k1000处理器对yolo的算子支持;对于特征模块采取整体丢弃方法,更有效地提取特征信息,优化了模型性能,提升了车辆检测识别的效率;本发明对比市面同类方法具有成本低廉,适合技术更新替换,易于部署等优点,具有容易迁移的特性,通过制作不同的数据集,可以用于其他领域的图像识别应用。
附图说明
16.图1是本发明的流程图,图2是本发明的深度学习模型部署流程图。
具体实施方式
17.现在结合附图对本发明作进一步详细的说明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
18.如图1所示,本发明的基于龙芯2k1000处理器实现高精度车辆识别的方法,包括以下步骤:步骤1:车辆数据收集与标签化处理,制作深度学习数据集本实施例采用14万张高速公路高视角车辆检测数据集,将图片上所有车辆进行标注生成对应的xml文件,标注的信息是是图片大小960*540,车辆的种类信息,在图上的位置信息,包括车辆框的x坐标最小值和最大值,y坐标最小值和最大值,制作针对此特定场景的数据集,作为深度学习数据集进行车辆检测深度学习模型的训练;如下是对车辆进行标注后生成的xml文件:<annotation><folder>test<folder><filename>1.jpg</filename><path>d:\deep_study\test\ua

detrac(车辆检测数据集8250车辆)\detrac

train

data\insight

mvt_annotation_train\test\1.mp40000.jpg</path><source><database>unknown</database></source><size><width>960<width><height>540</height><depth>3<depth></size><segmented>0</segmented><object><name>car</name><pose>umspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>368</xmin><ymin>56</ymin>
<xmax>420</xmax><ymax>139</ymax></bndbox></object>步骤2:对深度学习模型进行训练本实施例搭建pytorch框架进行深度学习模型的训练,针对开发板部署模型需要小型化以及实时性的特点,深度学习模型网络结构采用小型网络模型yolov3_tiny,输入深度学习数据集进行模型训练,设置学习率为0.001,避免学习率过大产生过拟合,过小导致训练效果差时间长;对于特征模块,一般都是采取特征模块随即丢弃的方法,本发明实施例采用ema方法,对特征模块进行整体丢弃,能更好的提取特征信息;步骤3:对深度学习模型进行优化神经网络参数众多,其中很多参数对最终输出结果贡献不大,本发明实施例根据深度学习模型中各个参数在验证集中得到验证值为true的次数对各个参数的贡献值进行降序排列,裁剪掉贡献值低于设定标准的参数;将深度学习模型推断所用数据从float类型的浮点数,转换为8bit低精度值数据;经过裁剪和量化两种方法处理,模型被压缩到33m,在显卡v100上平均检测速度为每秒74帧,在龙芯教育派上运行,每帧检测时间是1.8秒,性能得到优化;步骤4:部署深度学习模型如图2所示,对2k1000处理器进行硬件适配,对不支持2k1000处理器的算子进行删减,其中包括部分msa、simd算子以及pytorch框架中一些不适用于2k1000处理器的算子,选用darknet框架训练模型适配2k1000处理器;将模型转为onnx深度学习通用模型,做硬件适配,再转为tmfile格式,通过c 调用此模型,并通过交叉编译,生成可执行文件,实现车辆检测模型的调用;步骤5:选取视频流进行车辆检测选取本地视频流、通过usb摄像机接入视频流或者外接rtsp视频流中的一种或多种,对视频流进行预处理,视频流输入图片较多,超出了检测的速度,无法对所有图片进行检测,根据检测速度挑选图片进行显示,在本实施例中,每10帧图片选取一张进行检测和显示;在2k1000处理器实现opencv部署,在2k1000处理器并不能实现opencv源码编译,故本发明将opencv所需库直接移入源中实现调用,将预处理后得到的数据输入车辆识别模型进行检测识别以及显示输出。
19.将本方法得到的车辆识别模型在gpu上进行测试,针对200米范围内车辆进行检测,精度达到99.7%以上,召回率达到98.9%以上,性能超过同类产品。
20.以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献