瑞芯微Rockchip开发者社区
直播中

罗星

8年用户 1566经验值
擅长:模拟技术
私信 关注
[问答]

求大佬分享RK3399运行瑞芯微官方yolov5 C++代码

求大佬分享RK3399运行瑞芯微官方yolov5 C++代码

回帖(1)

谢海莲

2022-3-7 09:39:35
                    
                    运行结果


img width = 1280, img height = 720
Loading mode...
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 1.4.0 (bbe0dfc build: 2020-09-14 14:06:05)
D RKNNAPI:   DRV: 1.6.0 (159d2d3 build: 2021-01-12 15:23:09)
D RKNNAPI: ==============================================
sdk version: 1.4.0 (bbe0dfc build: 2020-09-14 14:06:05) driver version: 1.6.0 (159d2d3 build: 2021-01-12 15:23:09)
model input num: 1, output num: 3
index=0 name=images_165 n_dims=4 dims=[1 3 640 640] n_elems=1228800 size=1228800 fmt=0 type=3 qnt_type=2 fl=0 zp=0 scale=0.003922
index=0 name=Conv_Conv_159/out0_0 n_dims=4 dims=[1 255 80 80] n_elems=1632000 size=1632000 fmt=0 type=3 qnt_type=2 fl=0 zp=187 scale=0.127843
index=1 name=Conv_Conv_160/out0_1 n_dims=4 dims=[1 255 40 40] n_elems=408000 size=408000 fmt=0 type=3 qnt_type=2 fl=0 zp=182 scale=0.113217
index=2 name=Conv_Conv_161/out0_2 n_dims=4 dims=[1 255 20 20] n_elems=102000 size=102000 fmt=0 type=3 qnt_type=2 fl=0 zp=172 scale=0.103272
model is NCHW input fmt
model input height=640, width=640, channel=3
Rga built version:1.04 2134dde+2021-05-18 11:00:36
once run use 77.443000 ms
loadLabelName /home/toybrick/workspace/rockchip_yolov5/model/coco_80_labels_list.txt
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
@ (1128 74 1280 532) 0.326754
@ (668 41 892 525) 0.373704
@ (26 20 224 529) 0.398172
@ (1126 38 1278 284) 0.398172
@ (914 47 1112 532) 0.349865
@ (216 67 414 578) 0.326754
@ (186 0 438 319) 0.423160
@ (858 29 1080 300) 0.398172
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse

result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person

result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
result  0: (1128,   74, 1280,  532), horse
result  1: ( 668,   41,  892,  525), horse
result  2: (  26,   20,  224,  529), horse
result  6: (1126,   38, 1278,  284), person
result 10: ( 914,   47, 1112,  532), horse
result 13: ( 216,   67,  414,  578), horse
result 23: ( 186,    0,  438,  319), person
result 37: ( 858,   29, 1080,  300), person
loop count = 10 , average run  84.673900 ms


yolov5 C++代码代码地址


https://github.com/rockchip-linux/rknpu.git /rknn/rknn_api/example/rknn_yolov5_demo

rknn 模型使用




代码调整




  • 替换rknn初始化rknn_init改为rknn_init2指定npu设备号
            rknn_init_extend rknnInitExtend;
        rknnInitExtend.;
        ret = rknn_init2(&ctx, model_data, model_data_size, 0,&rknnInitExtend);


rknn_api 调整


在yolov5 C++demo代码的CMakeFileLists.txt文件中使用系统自带的librknn_api.so文件

link_libraries(
        /usr/lib/aarch64-linux-gnu/librknn_api.so
        ......
)

编译RGA(可选)


本人使用板子rk3399proD没有自带的librga.so文件故需要编译rga

代码地址


https://github.com/rockchip-linux/linux-rga.git

编译调整


原因:在瑞芯微yolov5demo代码中通过dlsym使用c_RkRgaInit,c_RkRgaDeInit,c_RkRgaBlit函数,瑞芯微开源的RGA默认编译不含该函数

CMakeFileList.txt文件增加如下信息

set(IM2D_SRCS
    core/RockchipRga.cpp
    core/GrallocOps.cpp
    core/NormalRga.cpp
    core/RgaApi.cpp      --------此处为新增
    core/NormalRgaApi.cpp
    core/RgaUtils.cpp
    im2d_api/im2d.cpp)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分