瑞芯微(EASY EAI)RV1126B yolov11-track多目标跟踪部署教程

1. yolov11_track简介(多目标跟踪算法)

YOLO11是 Ultralytics YOLO系列实时物体检测器的最新版本,重新定义了在尖端准确度、速度和效率方面的可能性。在前几代 YOLO 版本的显著进步基础上,YOLO11 在架构和训练方法上引入了重大改进,使其成为广泛计算机视觉任务的灵活选择。

Bytetrack多目标跟踪是一种tracking-by-detection范式的简单高效的数据关联的跟踪方法BYTE。它利用检测框和跟踪轨迹之间的相似性,在保留高分检测结果的同时,从低分检测结果中去除背景,挖掘出真正的物体(遮挡、模糊等困难样本),从而降低漏检并提高轨迹的连贯性。BYTE能轻松应用到9种state-of-the-art的MOT方法中,并取得1-10个点不等的IDF1指标的提升。ByteTrack以30 FPS的运行速度在MOT17上取得80.3 MOTA,77.3 IDF1和63.1 HOTA,目前位居MOTChallenge榜单第一。

本文将详细描述yolov11+ByteTrack的应用过程以及如何部署到RV1126B平台上。

上述为yolov11+ByteTrack的执行流程:视频画面输入至yolo11检测算法中,yolo11检测识别出目标信息(坐标和置信度);然后将yolov11的输出结果转成Bytetrack输入对象,经过Bytetrack跟踪算法后,输出跟踪结果(目标ID和坐标)。

从上述流程图可知:yolov11和ByteTrack是相互独立的 ,所以你可以将yolo11换成任何的目标检测算法;并且Bytetrack的跟踪目标不仅仅只局限性与行人,它可以跟踪任意目标,如:车辆,动物等。

1.1 Yolov11算法

关于yolov11算法的训练以及部署教程,请参考:

EASY EAI灵眸科技 | 让边缘AI落地更简单

1.2 ByteTrack算法

ByteTrack是一种高效目标跟踪算法,于2021年发布,在MOT17数据集上取得突破性成果,MOTA指标超80,推理速度高达30FPS。算法核心在于区分高低置信度检测框,保留低置信度框用于后续确认,有效解决遮挡问题,减少IDSwitch。

ByteTrack 核心思想可以概括为:

  1. 区分高置信度检测框与低置信度检测框,不同置信度检测框采取不同处理方式。
  2. 保留低置信度检测框,在后续可能会重新确认为 confirm 状态。而不是像传统 MOT 算法选择删除。

ByteTrack 可以有效解决一些遮挡,且能够保持较低的 IDSwitch。因为目标会因为被遮挡检测置信度有所降低,当重新出现时,置信度会有所升高。可以想象:

  1. 当目标逐渐被遮挡时,跟踪目标与低置信度检测目标匹配。
  2. 当目标遮挡逐渐重现时,跟踪目标与高置信度检测目标匹配。

下面是ByteTrack算法流程图:

2. Yolov11_track部署示例

本小节展示yolov11+Bytetrack在EASY EAI Nano-TB的部署过程,本章章节使用的yolo11n.rknn和yolo11s.rknn是由Ultralytics 官方提供的yolo11n.pt和yolo11s.pt转换而来。

2.1 准备工作

2.1.1 硬件准备

需准备EASY EAI Nano-TB开发板,Type-C数据线、网线。可以基于MobaXterm的ssh远程桌面登录调试。首先使用网线把EASY EAI Nano-TB的千兆以太网接口 与连着路由LAN口的交换机 或者路由器的LAN口连接,如下图所示。

以及串口连接。

2.1.2 开发环境准备

如果您初次阅读此文档 ,请阅读《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》,并按照其相关的操作,进行编译环境的部署。

在PC端Ubuntu系统中执行run脚本,进入EASY-EAI编译环境,具体如下所示。

复制代码
cd ~/develop_environment 
./run.sh 2204 

2.1.3 板卡依赖库安装

通过串口调试或ssh调试,进入板卡后台。由于本跟踪算法依赖libeigen3-dev库,所以需要在板卡提前进行安装:

复制代码
sudo apt-get update 
sudo apt-get install libeigen3-dev 

2.2 源码下载以及例程编译

下载yolo11_track C Demo示例文件。

百度网盘链接: https://pan.baidu.com/s/1X3Y6StZzMnRczwuzfM4XXw?pwd=1234(提取码: 1234)。

下载程序包移至ubuntu环境后,执行以下指令解压:

复制代码
tar -xvf yolov11_track_C_demo.tar.bz2

下载解压后如下图所示:

在EASY-EAI 编译环境下,进入到对应的例程目录执行编译操作,具体命令如下所示:

复制代码
cd /opt/nfsroot/rknn-src/RV1126B/yolov11_track_C_demo 
./build.sh 

同时,把可执行程序目录yolov11_track_demo_release*/* 复制到开发板*/userdata*目录上:

复制代码
cp yolov11_track_demo_release/ /mnt/userdata/ -rf

2.3 开发板执行yolov11跟踪算法

通过串口调试或ssh调试,进入板卡后台,定位到例程部署的位置,如下所示:

复制代码
cd /userdata/yolov11_track_demo_release/

运行例程命令如下所示:

复制代码
chmod 777 yolov11_track_demo 
sudo ./yolov11_track_demo yolov11s_rv1126b.rknn test.mp4 

执行结果如下图所示,yolo11s运行耗时48ms左右,Bytetrack耗时6.8ms左右:

在EASY-EAI编译环境,可以取回跟踪结果视频:

复制代码
cp /mnt/userdata/yolov11_track_demo_release/output.avi .

测试结果如下图所示:

至此,yolov11_track目标跟踪例程已成功在板卡运行。

3. 资料下载

相关推荐
专注仿真8 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
xsd202411188 小时前
RelateAnything:53M小模型如何把视觉关系检测从50个谓词里解放出来
人工智能·1024程序员节
逆风的蚂蚁8 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
新新学长搞科研8 小时前
【浙江大学主办|ACM出版】第五届人工智能与教育国际学术会议(ICAIE 2026)
人工智能
Zzj_tju8 小时前
长期记忆让智能体更可靠,还是让错误持续累积?
人工智能·机器学习·语言模型·自然语言处理
cxoptics8 小时前
如何确定晶体中的光轴
人工智能
weixin_440932318 小时前
AI 搜索收录检测的三个工程卡点与一套判据
人工智能
ESDWAN8 小时前
企业网络监控应该监测哪些目标?网关、网络节点还是业务系统?
服务器·网络·php
霸道流氓气质8 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
深蓝AI8 小时前
苹果智能入华拆解:八样首批功能、支持的机型、千问在三个入口的位置
人工智能·架构