立即注册
查看: 642|回复: 5

[瑞芯微RK资料] RK3399 SSD Android&Linux优化包

已绑定手机
发表于 2022-4-27 14:23:41 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、主要功能说明
本优化包为 RK3399 平台的基于深度学习的目标检测(SSD)方案提供优化,可为 AI 人工智
能行业提供准 Turnkey 解决方案,可同时支持 Android 及 Linux 系统。
本次优化包主要包含 3 个部分:
1) SSD 优化库。 Rockchip 针对 SSD 不同的 class 及 alpha 提供了不同的优化库,可通过在线网站下载。
2) rkl 模型转换工具,支持将 tflite 模型转成 rkl 模型
3) Android/Linux 优化库 Demo

2、系统依赖说明
2.1 Android 平台依赖
本次优化库基于 Android Nougat 开发,只提供 64 位版本,要求系统具有 OpenCL 驱动。并且在Mali版本为 r14p0上通过验证。(Note: 可通过如下命令查看 mali 驱动版本: getprop | grep mali)

2.2 Linux 平台依赖
本次优化库基于 Ubuntu 16.04 ARM 版本开发,只提供 64 位版本,要求系统具有 OpenCL 驱动。优化库将自动搜索系统中的 libOpenCL.so。如果 libOpenCL.so 不在搜索路径中,请设置环境变量 LIBOPENCL_SO_PATH,优化库将优先使用该环境变量指定的 OpenCL。本优化库在 Mali 版本为 r13p0 上通过验证。

2.3 关于性能
为了达到最好的性能,需要将 CPU 及 GPU 定频,特别是 GPU。
CPU 定频方法参考:
cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_available_frequencies
echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "1416000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
echo "userspace" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "1416000" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_setspeed
echo "userspace" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo "1416000" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_setspeed
echo "userspace" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo "1416000" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_setspeed
echo "userspace" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
echo "1800000" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_setspeed
echo "userspace" > /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor
echo "1800000" > /sys/devices/system/cpu/cpu5/cpufreq/scaling_setspeed
GPU 定频方法参考:
echo "userspace" >/sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/governor
echo "800000000" >/sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/userspace/set_freq
cat /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/cur_freq

3、优化库使用说明
在优化库中,将对输入数据做如下的预处理:
RGB Value/128.0f - 1.0f
所以 APP 中不需要做相应的处理。
对于优化库的输出的 locations 及 confidence 都需要做相应的后处理,具体参考相应的 demo。
优化库可通过在线网站下载。
3.1 Android 平台使用说明
本次优化库将为 Android 平台提供一个 JNI 文件。
需要说明的是 JNI 支持两种格式的输入:
1) OpenGL Texture:纹理只支持 GL_TEXTURE_2D,不支持 GL_TEXTURE_EXTERNAL_OES(Camera 输出),格式为 RGBA。
/*
* descption:
* SSD 检测, 只适用于 Android 平台
* params:
* textureId: 输入图像纹理 Id
* outputLocations: 用于保存预测框位置(xmin, ymin, xmax, ymax)(需要后处理具体参考相应的 demo)
* outputClasses: 用于保存 confidence, confidence 还需要做 expit 处理((float) (1. / (1. + Math.exp(-x)));)
* */
private native int native_run_ssd(int textureId, float[] outputLocations, float[] outputClasses);
......

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2022-4-28 19:54:01 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2022-4-28 19:54:14 | 显示全部楼层 来自 上海市
学习学习
已绑定手机
发表于 2022-5-19 10:30:36 | 显示全部楼层 来自 广东省深圳市
感谢分享
已绑定手机
发表于 2022-6-8 09:04:22 | 显示全部楼层 来自 湖南省
谢谢分享!
已绑定手机
发表于 2023-5-25 10:33:34 | 显示全部楼层 来自 广东省深圳市罗湖区
谢谢分享,学习学习一下,感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表