一种面向RISC-V体系架构的实时目标检测方法及系统技术方案

技术编号:38193357 阅读:12 留言:0更新日期:2023-07-20 21:12
本发明专利技术提供一种面向RISC

【技术实现步骤摘要】
一种面向RISC

V体系架构的实时目标检测方法及系统


[0001]本专利技术涉及嵌入式系统领域,尤其是涉及嵌入式AI应用领域,具体地说,提出了一种面向RISC

V体系架构的实时目标检测方法及系统。

技术介绍

[0002]指令集是CPU中用来计算和控制计算机系统的一套指令的集合,从指令集的复杂度可分为复杂指令集计算机和精简指令集计算机。RISC

V架构是基于精简原理的指令集计算机原理建立的开放指令集架构(ISA)。2010年以前,CPU的主流架构是x86和ARM。随着RISC

V的出现,该架构与x86和ARM相比具有架构篇幅小、支持模块化可配置的指令子集、支持可扩展指令、指令数目少,硬件实现复杂度低等特点,成为第三大CPU架构。
[0003]除上述优势外,RISC

V还具有Physical Memory Protection安全组件和Multi

domain Trusted Execution Environment安全技术。将人工智能(AI)引入至RISC

V体系架构的边缘系统(IoT设备)中,与AI在云端系统中的应用相比,可以降低功耗,缩短反应时间,提高数据储存和处理的安全性。因此,RISC

V主要应用于边缘计算设备,典型的应用案例有Canaan发布的Kendryte K210芯片和BITMAIN发布的Sophon BM1880芯片。
[0004]RISC

V在边缘设备AI中的运用,可以提高边缘计算芯片PPA(性能,功耗及面积)和灵活度。但是,实时目标检测支持性不足。

技术实现思路

[0005]本专利技术所要解决的技术问题在于:如何在RISC

V体系架构上运行基于深度学习的实时目标检测算法,实现实时目标检测功能。为解决该技术问题,本专利技术提供一种面向RISC

V体系架构的实时目标检测方法及系统,使用基于深度学习的目标检测方法,连接IP摄像机,搭载Sifive Unmatched嵌入式设备和国产智能芯片寒武纪边缘端人工智能加速卡MLU 220M.2,输出待检测物体在视频流中的位置,并进行分类得到带有score的标签,完成实时目标检测的功能。
[0006]本专利技术是通过下述技术方案解决上述技术问题:
[0007]一种面向RISC

V体系架构的实时目标检测方法,包括以下步骤:
[0008]1)将寒武纪CNStream数据流处理SDK的环境依赖移植至RISC

V体系架构中;
[0009]2)将寒武纪CNStream数据流处理SDK所需的CNToolkit及固件移植至RISC

V体系架构中;
[0010]3)将寒武纪CNStream数据流处理SDK移植至RISC

V体系架构中;
[0011]4)加载寒武纪离线模型文件yolov3.cambricon;
[0012]5)初始化嵌入式设备Sifive Unmatched开发板和寒武纪边缘端人工智能加速卡MLU220M.2;
[0013]6)通过IP摄像机采集源数据,借助RTSP推流至寒武纪CNStream数据流处理SDK中;
[0014]7)使用寒武纪CNStream数据流处理SDK对IP摄像机采集的源数据进行处理,实现
实时目标检测功能;
[0015]8)目标检测结果通过RTSP推流至VLC媒体播放器进行展示。
[0016]优选地,步骤1)中所述环境依赖包括:计算机视觉库OpenCV、命令行参数处理库gflags、Google日志库glog、字体格式库freetype6、中文字库ttf

wqy

zenhei、编译工具cmake、多媒体库sdl2、套接字层密码库openssl、硬件使用的高性能库Librdkafka和流媒体传输协议库live555。
[0017]优选地,步骤1)中所述环境依赖通过交叉编译移植至RISC

V体系架构中。
[0018]优选地,步骤2)中所述CNToolKit包括:寒武纪硬件编解码库CNCodec、寒武纪设备接口库CNDev、寒武纪驱动接口库CNDrv和寒武纪运行时库CNRT。
[0019]优选地,步骤2)中所述CNToolkit及固件通过交叉编译移植至RISC

V体系架构中。
[0020]优选地,步骤3)中所述寒武纪CNStream数据流处理SDK通过交叉编译移植至RISC

V体系架构中。
[0021]优选地,步骤4)中在加载寒武纪离线模型文件时,将yolov3模型的caffe格式转换为供寒武纪CNStream数据流处理SDK使用的cambricon格式。
[0022]优选地,步骤4)中将caffe格式转换为cambricon格式的步骤包括:
[0023]安装cambricon_caffe docker;
[0024]将yolov3.cfg和yolov3.weights转换成yolov3.prototxt和yolov3.caffemodel;
[0025]按需修改yolov3.prototxt;
[0026]使用generate_quantized_pt对yolov3.prototxt和yolov3.caffemodel进行量化;
[0027]使用离线转换工具caffe genoff对量化后的yolov3模型进行处理,生成yolov3.cambricon离线模型文件。
[0028]优选地,步骤5)中初始化嵌入式设备Sifive Unmatched开发板的步骤包括:
[0029]加载引导程序BootLoader;
[0030]加载linux内核;
[0031]挂载根文件系统rootfs;
[0032]创建init进程;
[0033]进入RISC

V体系架构的终端。
[0034]优选地,步骤5)中初始化寒武纪边缘端人工智能加速卡MLU 220M.2的步骤包括:
[0035]进入RISC

V体系架构的终端,找到MLU 220M.2驱动所在的路径;
[0036]执行source命令使MLU 220M.2相关依赖库在RISC

V体系架构中生效。
[0037]优选地,步骤6)中所述IP摄像机与带有寒武纪边缘端人工智能加速卡MLU 220M.2的Sifive Unmatched开发板处在同一网段。
[0038]优选地,步骤7)中使用寒武纪CNStream数据流处理SDK实现目标检测的功能包括:
[0039]使用寒武纪CNStream中的内置模块:Dat本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向RISC

V体系架构的实时目标检测方法,其特征在于,包括以下步骤:1)将寒武纪CNStream数据流处理SDK的环境依赖移植至RISC

V体系架构中;2)将寒武纪CNStream数据流处理SDK所需的CNToolkit及固件移植至RISC

V体系架构中;3)将寒武纪CNStream数据流处理SDK移植至RISC

V体系架构中;4)加载寒武纪离线模型文件yolov3.cambricon;5)初始化嵌入式设备Sifive Unmatched开发板和寒武纪边缘端人工智能加速卡MLU220M.2;6)通过IP摄像机采集源数据,借助RTSP推流至寒武纪CNStream数据流处理SDK中;7)使用寒武纪CNStream数据流处理SDK对IP摄像机采集的源数据进行处理,实现目标检测功能;8)目标检测结果通过RTSP推流至VLC媒体播放器进行展示。2.如权利要求1所述的方法,其特征在于,步骤1)中所述环境依赖包括:计算机视觉库OpenCV、命令行参数处理库gflags、Google日志库glog、字体格式库freetype6、中文字库ttf

wqy

zenhei、编译工具cmake、多媒体库sdl2、套接字层密码库openssl、硬件使用的高性能库Librdkafka和流媒体传输协议库live555;所述环境依赖通过交叉编译移植至RISC

V体系架构中。3.如权利要求1所述的方法,其特征在于,步骤2)中所述CNToolKit包括:寒武纪硬件编解码库CNCodec、寒武纪设备接口库CNDev、寒武纪驱动接口库CNDrv和寒武纪运行时库CNRT;所述CNToolkit及固件通过交叉编译移植至RISC

V体系架构中。4.如权利要求1所述的方法,其特征在于,步骤3)中所述寒武纪CNStream数据流处理SDK通过交叉编译移植至RISC

V体系架构中。5.如权利要求1所述的方法,其特征在于,步骤4)中在加载寒武纪离线模型文件时,将yolov3模型的caffe格式转换为供寒武纪CNStream数据流处理SDK使用的Cambricon格式;转换的步骤包括:安装cambricon_caffe docker;将yolov3.cfg和yolov3.weights转换成yolov3.prototxt和yolov3.caffemodel;按需修改yolov3.prototxt;使用generate_quantized_pt对yolov3.prototxt和yolov3.caffemodel进行量化;使用离线转换工具caffe genoff对量化后的yolov3模型进行...

【专利技术属性】
技术研发人员:佟晓宇戴成荣张雪芹于佳耕武延军
申请(专利权)人:中科南京软件技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1