# EasyByteTrack **Repository Path**: manbutx/easy-byte-track ## Basic Information - **Project Name**: EasyByteTrack - **Description**: 纯净版,不报错版,最新版,byteTrack跟踪算法 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-08-16 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EasyByteTrack - 最新、纯净、极简、不报错版,byteTrack跟踪算法 - 兼顾性能、帧率、准确率 - 兼容CPU、GPU、NPU 等环境 - 模型无关:pt onnx trt rknn 等 # 初始化 - 将tracker目录复制到自己的项目目录中 ```python from tracker.byte_tracker import BYTETracker # 全局声明一次,mot20:目标是否密集开关 tracker = BYTETracker(args={'track_thresh': 0.5,'track_buffer': 30,'match_thresh': 0.6,'mot20':False}) ``` # 集成 ```python # 目标检测模型识别后的结果(yolo5/6/7/8/9/10/11/12/13) # 不管是什么检测算法,都可以拿到结果中的xyxy(未还原),然后去跟踪 if boxes: # dets = [[ int(boxes[x1]), int(boxes[y1]), int(boxes[x2]), int(boxes[y2]), boxes[score] ]] # 实际图像宽高 # 缩放后图像宽高 online_targets = tracker.update(np.array(dets), [width, height], [640, 640]) # 遍历所有激活的跟踪目标 for track in online_targets: # 获取跟踪ID track_id = track.track_id # 获还原后取边界框 (tlbr格式: top, left, bottom, right) bbox = track.tlbr # 获取检测置信度 confidence = track.score # 打印信息或进行其他画框/告警处理 print(f"Track ID: {track_id}, BBox: {bbox}, Score: {confidence}") ``` # 效果 - 显示轨迹和ID - 告警去重,轨迹/方向分析,数量统计等 ![输入图片说明](demo.png) ![输入图片说明](palace_demo.gif) # Java版 你是一个精通Python和Java的代码转换专家,请将以下Python代码转换为高效、可编译的Java代码。转换时严格遵循以下规则: 1. **类型系统处理**: - 所有变量必须显式声明静态类型(Python动态类型 → Java强类型) - 使用`var`仅限Java 10+的局部变量场景 - 特殊类型映射: * `None` → `null` * `List` → `ArrayList` / `LinkedList` * `Dict` → `HashMap` * `Tuple` → 创建自定义POJO类或使用`Pair`(需注明库) 2. **语法结构转换**: - Python缩进 → Java大括号`{}` - `def func():` → `[public|private] [static] ReturnType func() { }` - `for i in range()` → `for (int i=0; i