yolov26n的模型转换和在RV1126B板端的测试

环境

使用的虚拟机:Ubuntu 64_2004_rv1126B_yolov26(虚拟机登录密码:123456)

工具链:gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf

yolov26版本:ultralytics-main

链接: https://pan.baidu.com/s/1jlkencvhvY7g4G2rJcKPvA 提取码: 7mti(需要解压码)

1、模型转换(pt转onnx)

当前的模型转换需要修改一下源代码:修改head.py文件实现输的是1*84*80*80,1*84*40*40,1*84*20*20模型

head.py文件中的class Detect(nn.Module):类中的def forward(函数,添加代码如下

# ✅ 导出时直接输出 feature map(3个尺度) if self.export: outputs = [] feats = preds["one2many"]["feats"] if self.end2end else preds["feats"] for i in range(self.nl): # box + cls 拼接(还没 decode) box = self.cv2[i](feats[i]) cls = self.cv3[i](feats[i]) out = torch.cat((box, cls), 1) # (1, no, h, w) outputs.append(out) return outputs # ✅ 返回3个输出

转换的脚本,打开虚拟机

cd /home/wyj/wyj/ultralytics-main conda activate yolov11 python export_26.py

如需要更换模打开文件export_26.py,更换模型的名字就可以了

onnx模型验证测试

python run_onnx_26.py

检测结果

2、模型转换(onnx转rknn)

cd /home/wyj/wyj/ultralytics-main conda activate yolov11 python test_26.py

如果需要更换模型打开源test.py文件后修改一下的位置

dataset.txt文件中放置的是量化的图片路径。

转换后的墨香检测结果保存路径Save results to result.jpg!

3、板端测试程序编译

cd /home/wyj/wyj/rknn-toolkit2-master/rknpu2/examples/rknn_yolov26_demo conda activate yolov11 ./build-linux.sh -t rv1126b -a armhf -b Release

本人测测试系统是32位的(所以使用的库也是32位的)。生成的可执行文件就是在当前目录下的install文件夹,推送到板端就可以测试了。

cd /home/wyj/wyj/rknn-toolkit2-master/rknpu2/examples/rknn_yolov11_demo_5ms conda activate yolov11 ./build-linux.sh -t rv1126b -a armhf -b Release

将生成的文件使用adb的方式推送到板端

./adb push install/rknn_yolov5_demo_Linux /userdata/ ./adb shell cd userdata chmod -R 777 * export LD_LIBRARY_PATH=./lib ./rknn_yolov5_demo model/RV1126Byolov26n_relu.rknn model/bus.jpg #接测结果推送到本地 ./adb pull /userdata/out.jpg

测试结果