• 目标检测 YOLOv5 - Rockchip rknn模型的测试 包括精度,召回率,mAP等详细信息


    目标检测 YOLOv5 - Rockchip rknn模型的测试 包括精度,召回率,mAP等详细信息

    flyfish

    该测试是使用了自定义128张图片的测试结果,如果采用官网的coco128图片数据会比下列数值更好看。
    以下是对比结果,pt模型的测试结果和rknn模型的测试
    pytorch模型采用不确定输入的方式,rknn模型采用了确定的640 * 640方式

    rknn模型的测试方法

     python val_rknn.py --data coco128.yaml   --batch-size 1 --task 'test'  --weights ./yolov5s.rknn 
    
    • 1

    pt模型的测试方法

     python val.py --weights yolov5s.pt --data coco128.yaml --img 640
    
    • 1

    rknn模型的测试结果
    在这里插入图片描述
    pytorch模型的测试结果
    在这里插入图片描述
    对比差距
    pytorch的数据
    在这里插入图片描述
    rknn的数据
    在这里插入图片描述
    对比数据的可视化展示
    人工标注的图片

    在这里插入图片描述
    pytorch模型的推理结果
    在这里插入图片描述
    rknn模型的推理结果
    多检测了一个分数为0.4的人,所以精度降低了
    在这里插入图片描述

    该测试使用模拟器测试,可以在Ubuntu18.04上直接运行如果要更改为真机测试,请更改 要连接的设备ID

    rknn.config(
                reorder_channel='0 1 2',
                mean_values=[[0, 0, 0]],
                std_values=[[255, 255, 255]],
                optimization_level=3,
                target_platform = 'rk1808',
                # target_platform='rv1109',
                quantize_input_node= QUANTIZE_ON,
                output_optimize=1,
                force_builtin_perm=_force_builtin_perm)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    ret = rknn.init_runtime()
    # ret = rknn.init_runtime('rv1109', device_id='1109')
    
    • 1
    • 2

    扩展
    可以将rknn模型做成与pytorch模型相同的预处理,是不确定输入的方式,而不是确定的640 * 640方式

    代码地址

    https://github.com/shaoshengsong/rockchip_rknn_yolov5
    
    • 1

    测试代码具体路径是

    rockchip_rknn_yolov5/yolov5_6.2_rknn_test/
    
    • 1
  • 相关阅读:
    用VSC++做一个飞机大战的游戏
    微服务API网关
    webrtc sdp各字段含义
    NFT的下一个叙事:动态NFT
    JavaWeb核心、综合案例(详细!Web开发流程)
    Python jieba库的使用说明
    mysql数据库SQL语句大全详解(下)
    perl之print,printf,sprintf使用案例详解
    创建表
    Java入门基础第2天(java jdk下载与安装教程)
  • 原文地址:https://blog.csdn.net/flyfish1986/article/details/127572300