# 简介
- rknn_yolov5_android_apk_demo 是RK356X/RK3588上如何调用NPU的demo,该demo的基础模型是yolov5s
# 使用说明
- 可以使用android studio 2021.2.1 (Windows)或者android studio 2021.3.1(Linux/macOS) 编译该工程
- yolov5s.rknn是使用rknn toolkit2将yolov5s.onnx转换而来,具体转换方法参考rknn toolkit2的examples/onnx/yolov5
# 代码说明
## 代码分为两大部分:
- JAVA: com.rockchip.gpadc.demo: 读取camera输入,并调用jni进行inference,并将结果显示出来
- JNI: 调用rknnrt进行实际inference
# 权限
运行本程序需要Camera及EXTERNAL_STORAGE读写权限
# FAQ
## 编译时出现“files found with path 'lib/arm64-v8a/xxx.so' from inputs:”类似错误
```
Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction
> 2 files found with path 'lib/arm64-v8a/librga.so' from inputs:
- rknpu2/examples/rknn_yolov5_android_apk_demo/app/build/intermediates/merged_jni_libs/debug/out/arm64-v8a/librga.so
- rknpu2/examples/rknn_yolov5_android_apk_demo/app/build/intermediates/cxx/Debug/3f40b265/obj/arm64-v8a/librga.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
```
或者
```
2 files found with path 'lib/arm64-v8a/xxx.so' from inputs:
- rknn_yolov5_android_apk_demo/app/build/intermediates/merged_jni_libs/debug/out/arm64-v8a/librga.so
- rknn_yolov5_android_apk_demo/app/build/intermediates/cxx/Debug/3f40b265/obj/arm64-v8a/librga.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets
```
则需要添加 app/build.gradle中的"jniLibs.srcDirs = ['libs']",具体原因参考“https://developer.android.com/r/tools/jniLibs-vs-imported-targets”
## app启动时,出现"E/SurfaceView: Exception configuring surface"的错误
```
D/rkyolo: camera facing: 1
V/rkyolo: Camera Supported Preview Size = 160x90
V/rkyolo: Camera Supported Preview Size = 320x180
V/rkyolo: Camera Supported Preview Size = 432x240
V/rkyolo: Camera Supported Preview Size = 640x360
V/rkyolo: Camera Supported Preview Size = 800x448
V/rkyolo: Camera Supported Preview Size = 864x480
V/rkyolo: Camera Supported Preview Size = 1024x576
V/rkyolo: Camera Supported Preview Size = 1280x720
V/rkyolo: Camera Supported Preview Size = 1600x896
V/rkyolo: Camera Supported Preview Size = 1920x1080
E/SurfaceView: Exception configuring surface
java.lang.RuntimeException: setParameters failed
at android.hardware.Camera.native_setParameters(Native Method)
at android.hardware.Camera.setParameters(Camera.java:2068)
at com.rockchip.gpadc.demo.MainActivity.setCameraParameters(MainActivity.java:295)
at com.rockchip.gpadc.demo.MainActivity.startCamera(MainActivity.java:245)
at com.rockchip.gpadc.demo.MainActivity.access$300(MainActivity.java:47)
at com.rockchip.gpadc.demo.MainActivity$TSurfaceHolderCallback.surfaceCreated(MainActivity.java:199)
```
是因为app设置的分辨率该camera不支持,需要修改"app/src/main/java/com/rockchip/gpadc/demo/rga/HALDefine.java"中CAMERA_PREVIEW_WIDTH及CAMERA_PREVIEW_HEIGHT为摄像头支持的分辨率。
没有合适的资源?快使用搜索试试~ 我知道了~
Rk3588平台安卓系统使用RKNN推理yolov5网络
共68个文件
h:20个
java:9个
xml:7个
5星 · 超过95%的资源 需积分: 5 26 下载量 29 浏览量
2022-11-09
17:46:30
上传
评论 2
收藏 14.02MB RAR 举报
温馨提示
支持的平台 - RK3566/RK3568 - RK3588/RK3588S - RV1103/RV1106
资源推荐
资源详情
资源评论
收起资源包目录
rknn_yolov5_android_apk_demo.rar (68个子文件)
rknn_yolov5_android_apk_demo
gradlew.bat 2KB
gradlew 5KB
tools
save_capture_img.py 564B
app
proguard-rules.pro 751B
src
main
res
raw
yolov5s_rk3588.rknn 7.58MB
drawable-hdpi
num_bg.png 960B
ic_launcher.png 3KB
img_logo.png 5KB
rockchip.png 6KB
fps_bg.9.png 310B
ic_launcher_round.png 5KB
values
colors.xml 197B
strings.xml 423B
styles.xml 680B
dimens.xml 213B
layout
main2.xml 373B
activity_main.xml 5KB
assets
coco_80_labels_list.txt 621B
cpp
rga
platform_gralloc4.h 4KB
im2d_type.h 13KB
RgaUtils.h 1KB
GrallocOps.h 2KB
im2d_version.h 1KB
im2d.cpp 65KB
rga.h 16KB
im2d_common.h 3KB
im2d_common.cpp 45KB
im2d_hardware.h 19KB
RgaSingleton.h 2KB
RgaMutex.h 6KB
RockchipRga.h 3KB
im2d.hpp 9KB
RgaApi.h 2KB
im2d.h 24KB
drmrga.h 6KB
yolo_image.h 907B
native-lib.cc 8KB
object_tracker
objects_tracker.h 3KB
track_link.h 956B
objects_tracker.cc 10KB
objects_update.h 528B
objects_update.cc 2KB
track_link.cc 2KB
rknn_api.h 26KB
post_process.cc 11KB
post_process.h 2KB
yolo_image.cc 14KB
jniLibs
arm64-v8a
librknnrt.so 4.64MB
librga.so 5.17MB
libopencv_java3.so 17.06MB
java
com
rockchip
gpadc
demo
tracker
ObjectTracker.java 5KB
rga
HALDefine.java 1KB
RGA.java 682B
ImageBufferQueue.java 3KB
InferenceResult.java 6KB
MainActivity.java 3KB
CameraPreviewActivity.java 19KB
yolo
PostProcess.java 2KB
InferenceWrapper.java 5KB
AndroidManifest.xml 2KB
CMakeLists.txt 2KB
build.gradle 2KB
gradle
wrapper
gradle-wrapper.jar 53KB
gradle-wrapper.properties 232B
.gitignore 179B
README.md 3KB
settings.gradle 15B
build.gradle 546B
共 68 条
- 1
资源评论
- 小明斗2023-07-25作者通过简明的语言解释了Rk3588平台和RKNN在安卓系统上应用的原理,让人易于理解。
- 城北伯庸2023-07-25这个文件详细介绍了Rk3588平台在安卓系统上使用RKNN推理yolov5网络的步骤,非常实用。
- 我要WhatYouNeed2023-07-25标题明确、简洁,能够准确地概括这份文件的主题内容。
- 曹多鱼2023-07-25这份文件提供了很多实际操作的案例,让读者能够更好地了解如何在实际场景中应用该技术。
- 白绍伟2023-07-25通过该文件,读者可以轻松掌握使用Rk3588平台在安卓系统上推理yolov5网络的方法,是一份难得的实用资料。
仗剑走天涯~
- 粉丝: 6
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功