基于RK3576开发板的yolov11-track多目标跟踪部署教程

描述

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

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

rk3576

       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的应用过程以及如何部署到RK3576平台上。

rk3576

       上述为yolov11+ByteTrack的执行流程:视频画面输入至yolo11检测算法中,yolo11检测识别出目标信息(坐标和置信度);然后将yolov11的输出结果转成Bytetrack输入对象,经过Bytetrack跟踪算法后,输出跟踪结果(目标ID和坐标)。       从上述流程图可知:yolov11和ByteTrack是相互独立的,所以你可以将yolo11换成任何的目标检测算法;并且Bytetrack的跟踪目标不仅仅只局限性与行人,它可以跟踪任意目标,如:车辆,动物等。

 

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

https://www.easy-eai.com/document_details/25/982

1.2  ByteTrack算法       ByteTrack是一种高效目标跟踪算法,于2021年发布,在MOT17数据集上取得突破性成果,MOTA指标超80,推理速度高达30FPS。算法核心在于区分高低置信度检测框,保留低置信度框用于后续确认,有效解决遮挡问题,减少IDSwitch。       ByteTrack 核心思想可以概括为:1. 区分高置信度检测框与低置信度检测框,不同置信度检测框采取不同处理方式。2. 保留低置信度检测框,在后续可能会重新确认为 confirm 状态。而不是像传统 MOT 算法选择删除。       ByteTrack 可以有效解决一些遮挡,且能够保持较低的 IDSwitch。因为目标会因为被遮挡检测置信度有所降低,当重新出现时,置信度会有所升高。可以想象:1. 当目标逐渐被遮挡时,跟踪目标与低置信度检测目标匹配。2. 当目标遮挡逐渐重现时,跟踪目标与高置信度检测目标匹配。       下面是ByteTrack算法流程图:

rk3576

2. Yolov11_track部署示例     

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

2.1  源码下载以及例程编译       下载yolo11_track C Demo示例文件。       百度网盘链接:

https://pan.baidu.com/s/1O8kF0V5OueOMAGPVj-fWQA?

pwd=1234(提取码: 1234)。      下载程序包移至ubuntu环境后,执行以下指令解压:

  •  

tar -xvf yolov11_track_C_demo.tar.bz2

       下载解压后如下图所示:rk3576       通过adb接口连接EASY-EAI-Orin-nano,,连接方式如下图所示:

 

       接下来需要通过adb把源码传输到板卡上,先切换目录然后执行以下指令:

  •  

adb push yolov11_track_C_demo /userdata

rk3576       登录到板子切换到例程目录执行编译操作

  •  
  •  
  •  
  •  

adb shellcd /userdata/yolov11_track_C_demo/chmod 777 build.sh./build.sh

rk35762.2  运行结果       编译成功后切换到可执行程序目录,如下所示:

  •  

cd /userdata/yolov11_track_C_demo/yolov11_track_demo_release

rk3576       执行结果如下图所示,yolo11s运行耗时41ms左右,Bytetrack耗时3ms左右:       退出板卡环境,取回跟踪结果视频:

  •  
  •  

exitadb pull /userdata/yolov11_track_C_demo/yolov11_track_demo_release/output.avi .

       测试结果如下图所示:rk3576       至此,yolov11_track目标跟踪例程已成功在板卡运行。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分