本发明涉及图像处理技术领域,尤其涉及一种基于yolov3的目标检测算法在嵌入式设备上的实现方法。
背景技术:
传统的目标检测算法,一般基于大型的设备,而使用大型设备进行图像处理,都是在办公室、实验室内对摄像头采集的视频图像进行处理,虽然速度快准确率高,但是这些设备很难在实际的应用场景中部署,仅限于在办公室使用,获取数据过程耗费了很长的时间,处理图像数据的实时性效率很低。
随着计算机视觉和图像处理技术的飞速发展,利用计算机视觉技术,可以高效地对摄像机拍摄到的图像进行处理和分析,并检测图像中的目标,而利用便携式、嵌入式设备进行图像处理,在提高图像处理实用效率的同时还可以减少成本。
技术实现要素:
本发明的目的在于提供一种基于yolov3的目标检测算法在嵌入式设备上的实现方法,以解决现有技术中的大型图像处理设备很难在实际的应用场景中部署,获取数据周期长、处理图像数据的实时性差的问题。
为达到上述目的,本发明所采用的技术方案是:一种基于yolov3的目标检测算法在嵌入式设备上的实现方法,包括以下步骤:
激活开发板,使其具备可使用的操作系统;
安装工具包;
准备yolov3的运行环境darknet框架文件,保存在darknet文件夹下;
修改darknet文件夹下的配置文件makefile中的参数使其与开发板的硬件配置相匹配;
编译安装darknet;
下载并保存权重文件;
运行测试。
所述操作系统包括linuxubuntu16.04系统。
所述工具包包括cuda8.0、cudnn5.0、opencv3.4。
文件makefile中的参数配置方法包括:
将gpu、cudnn、opencv三个参数对应的值改为“1”;
根据开发板的gpu计算性能,设置gpu架构参数。
所述开发板为nvidiajetsontx2,开发板的gpu计算性能配置为6.2,对应的gpu架构参数为62。
使用make指令编译安装darknet。
所述权重文件保存至darknet文件夹下。
运行测试的方法包括:
在darknet目录下运行测试程序,依次输入yolov3对应的网络结构文件即yolov3.cfg文件、权重yolov3.weights文件、待测图片或视频文件。
与现有技术相比,本发明所达到的有益效果:
(1)本发明能够在便于安装使用的嵌入式设备上实现、适用于不同场景下并具有很高的目标检测准确率;
(2)本发明可以缩短获取数据的时间,提高图像处理的实时性;
(3)本发明可以减少成本投入。
附图说明
图1是本发明实施例提供的一种基于yolov3的目标检测算法在嵌入式设备上的实现方法的流程图;
图2是本发明实施例提供的一种基于yolov3的目标检测算法在嵌入式设备上的实现方法的检测结果图。
具体实施方式
下面结合附图对本发明技术方案作进一步的详细说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种基于yolov3的目标检测算法在嵌入式设备上的实现方法,包括如下步骤:
a、激活开发板,使其具备可使用的操作系统系统。本实施例采用linuxubuntu16.04系统。应严格按照nvidiajetsontx2开发板官方给出的指定步骤完成激活,并进行测试,确保系统激活成功且可用;
b、安装cuda、cudnn、opencv等必备工具包,需根据官方指南,安装与开发板内核及系统版本匹配的工具包并确保安装成功且可用。本实施例安装的版本为cuda8.0、cudnn5.0、opencv3.4;
c、从yolo官网下载yolov3所需的运行环境即darknet框架文件,会生成一个名为darknet的文件夹,下载的文件会保存其中;
d、修改darknet文件夹下的配置文件makefile中的参数。将gpu、cudnn、opencv三个参数对应的值改为“1”,nvidiajetsontx2开发板的gpu计算能力为6.2,对应的设置arch即gpu架构参数为62。此处应根据开发板的计算性能,设置相应的arch参数即gpu架构参数;
e、使用make指令编译安装darknet并检查编译过程中是否有报错。在使用make指令编译安装darknet时,可以使用cpu多线程,以加快编译速度,最后需确认编译安装没有错误以确保yolov3算法可用;
f、从yolo官网下载yolov3权重文件并保存至darknet文件夹下。下载的权重文件保存在darknet文件夹下能使测试指令简单有效;
g、在darknet目录下运行测试程序,依次输入yolov3对应的网络结构文件即yolov3.cfg文件、权重yolov3.weights文件、待测图片或视频文件,运行结束后得到目标检测结果,会在在图片或视频中用方框来表示检测到的目标,并标注目标的类别,命令窗口会显示各个目标的检测准确率。在输入测试指令时应注意参数的设定,需确保输入参数正确且没有遗漏。图2所示,为本实施例得到的检测结果图。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。