0%

前面的文章里,我们给 RKYOLO 搭好了结实的地基——安全的 FFI 层和聪明的后处理。项目是能跑了,但作为一个爱折腾的人,我总觉得还能再抠点性能出来。

当我琢磨怎么用它来处理实时视频流时,我意识到真正的挑战来了。目标不再是“能跑”,而是得“跑得飞起”。为此,我决定去碰一碰性能优化里最硬的那块骨头——**零拷贝(Zero-Copy)**。

阅读全文 »

上一篇文章里,我们好不容易打赢了“数值之战”,让模型终于能看清楚东西了。我美滋滋地想,导师给的玉米穗模型部署任务,这下总该顺利了吧?

于是,我满心期待地把模型从 COCO 的yolo11n.rknn换成了自己的MTDC-UAV.rknn。结果……程序又扑街了。

阅读全文 »

上一篇文章,我们聊了为什么我选择用 Rust 来为 RKNN 库构建一个安全、独立的地基。当地基打好,我信心满满地将所有模块串联起来,加载了官方示例中那张经典的bus.jpg,期待着一次完美的推理。

程序没有崩溃,有输出了!我兴奋地将结果绘制出来,然后……我傻眼了。

案发现场:一切混乱的开始

眼前的景象让我大跌眼镜。这哪里是目标检测,这简直是抽象艺术……

阅读全文 »

大家好,我是个大三的学生。最近因为导师的一个课题,需要把一个我自己训练的、用于识别玉米穗的 YOLO11n 模型,部署到一块 Rockchip RK3588 开发板上。

这其实还有个“前传”:为了让板子支持最新的模型,我已经折腾了好一阵子,把整个 Linux 内核连带 RKNPU 驱动都给交叉编译升级了一遍。所以,当底层环境就绪,模型也转换成.rknn格式后,我当时觉得,接下来应该就是顺理成章的“应用开发”了。

很自然地,我找到了野火社区的“鲁班猫”AI 教程,他们提供了一个yolo11的 C++示例。我寻思着,既然有现成的,改改用就行了呗?

事实证明,我还是太年轻了。

阅读全文 »

最近抽了点时间,准备把个人博客 miceworld.top 和一些自托管服务迁移到一台新的香港云服务器上。想着能有更完全的控制权,也方便自己折腾。

服务器的初始化很顺利,Debian 系统,Nginx + Hexo 部署网站,再用 Certbot 跑一下,HTTPS 的小绿锁很快就亮起来了。一切都按部就班。

阅读全文 »

开始的地方:数据集和准备工作
最开始,我选择了 MTDC-UAV 数据集,这个数据集包含了许多图像和标注,适合做目标检测和回归任务。我编写了一个脚本,把 800 张有标注的图像按照 7:2:1 的比例随机分配成 Train、Valid、Test 集。重要的是,确保每个集合里的图片都是随机选取的,三个集合之间没有重复,并且每张图像都能找到对应的标注文件。

阅读全文 »

在使用 Linux Deploy 配置 Chroot 环境时,我发现虽然它提供了便利,但其长期无人维护的问题逐渐显露出来。可选的 Linux 发行版过于老旧,导致一些功能失效,且细节设置也不尽人意。为了解决这些问题,我决定转向 Termux 来配置 Chroot 环境。这样一来,我不仅能够使用更新的发行版,还能进行更加精细的设置,从而打造出一个更符合我需求的 Chroot 环境。

本文以 Ubuntu 24.04.1 LTS 为例,建立了一个安装了 code-server 的 Chroot 容器,文末会提供一键启动脚本。

测试机: Oneplus 9, Android 14

阅读全文 »