[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-NirAharon--BoT-SORT":3,"tool-NirAharon--BoT-SORT":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":74,"owner_company":74,"owner_location":74,"owner_email":74,"owner_twitter":74,"owner_website":74,"owner_url":76,"languages":77,"stars":110,"forks":111,"last_commit_at":112,"license":113,"difficulty_score":114,"env_os":115,"env_gpu":116,"env_ram":117,"env_deps":118,"category_tags":128,"github_topics":129,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":137,"updated_at":138,"faqs":139,"releases":170},7992,"NirAharon\u002FBoT-SORT","BoT-SORT","BoT-SORT: Robust Associations Multi-Pedestrian Tracking","BoT-SORT 是一款高性能的多目标行人跟踪开源工具，旨在解决复杂场景下行人检测与身份维持的难题。在拥挤、遮挡或摄像头移动的环境中，传统算法容易出现目标丢失或身份切换错误，而 BoT-SORT 通过创新性地融合运动信息与外观特征，显著提升了跟踪的鲁棒性。\n\n该工具的核心亮点在于引入了相机运动补偿机制，能够有效抵消摄像头抖动带来的干扰；同时结合了更精准的卡尔曼滤波状态向量与重识别（Re-ID）技术，确保在长时间遮挡后仍能准确找回目标。凭借这些优势，BoT-SORT 在权威的 MOT17 和 MOT20 基准测试中取得了领先的性能表现，多项核心指标均达到业界顶尖水平。此外，它还原生支持 YOLOX 和 YOLOv7 等主流检测器，并具备多类别跟踪能力。\n\nBoT-SORT 主要面向计算机视觉领域的研究人员、算法工程师及开发者。如果你正在从事智能监控、自动驾驶感知或视频分析系统的开发，需要一款在动态环境下依然稳定可靠的跟踪方案，BoT-SORT 将是一个极具价值的选择。其代码基于 ByteTrack 和 FastReID 构建，提供了清晰的安装指南与模块化设计，便于用户进行二次开发与模型部","BoT-SORT 是一款高性能的多目标行人跟踪开源工具，旨在解决复杂场景下行人检测与身份维持的难题。在拥挤、遮挡或摄像头移动的环境中，传统算法容易出现目标丢失或身份切换错误，而 BoT-SORT 通过创新性地融合运动信息与外观特征，显著提升了跟踪的鲁棒性。\n\n该工具的核心亮点在于引入了相机运动补偿机制，能够有效抵消摄像头抖动带来的干扰；同时结合了更精准的卡尔曼滤波状态向量与重识别（Re-ID）技术，确保在长时间遮挡后仍能准确找回目标。凭借这些优势，BoT-SORT 在权威的 MOT17 和 MOT20 基准测试中取得了领先的性能表现，多项核心指标均达到业界顶尖水平。此外，它还原生支持 YOLOX 和 YOLOv7 等主流检测器，并具备多类别跟踪能力。\n\nBoT-SORT 主要面向计算机视觉领域的研究人员、算法工程师及开发者。如果你正在从事智能监控、自动驾驶感知或视频分析系统的开发，需要一款在动态环境下依然稳定可靠的跟踪方案，BoT-SORT 将是一个极具价值的选择。其代码基于 ByteTrack 和 FastReID 构建，提供了清晰的安装指南与模块化设计，便于用户进行二次开发与模型部署。","# BoT-SORT\n\n> [**BoT-SORT: Robust Associations Multi-Pedestrian Tracking**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.14651)\n> \n> Nir Aharon, Roy Orfaig, Ben-Zion Bobrovsky\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fbot-sort-robust-associations-multi-pedestrian\u002Fmulti-object-tracking-on-mot17)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fmulti-object-tracking-on-mot17?p=bot-sort-robust-associations-multi-pedestrian)\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fbot-sort-robust-associations-multi-pedestrian\u002Fmulti-object-tracking-on-mot20-1)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fmulti-object-tracking-on-mot20-1?p=bot-sort-robust-associations-multi-pedestrian)\n> \n> *[https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.14651](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.14651)*\n\n\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNirAharon_BoT-SORT_readme_4b6b32c88811.png\"\u002F>\u003C\u002Fp>\n\n## Highlights 🚀\n\n- YOLOX & YOLOv7 support\n- Multi-class support\n- Camera motion compensation\n- Re-identification\n\n## Coming Soon\n- [ ] Trained YOLOv7 models for MOTChallenge.\n- [x] YOLOv7 detector.\n- [x] Multi-class support.\n- [x] Create OpenCV VideoStab GMC python binding or \u003Cu>write Python version\u003Cu>.\n- [ ] Deployment code.\n\n## Abstract\n\nThe goal of multi-object tracking (MOT) is detecting and tracking all the objects in a scene, while keeping a unique identifier for each object. In this paper, we present a new robust state-of-the-art tracker, which can combine the advantages of motion and appearance information, along with camera-motion compensation, and a more accurate Kalman filter state vector. Our new trackers BoT-SORT, and BoT-SORT-ReID rank first in the datasets of MOTChallenge [29, 11] on both MOT17 and MOT20 test sets, in terms of all the main MOT metrics: MOTA, IDF1, and HOTA. For MOT17: 80.5 MOTA, 80.2 IDF1, and 65.0 HOTA are achieved.\n\n\n### Visualization results on MOT challenge test set\n\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F57259165\u002F177045531-947d3146-4d07-4549-a095-3d2daa4692be.mp4\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F57259165\u002F177048139-05dcb382-010e-41a6-b607-bb2b76afc7db.mp4\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F57259165\u002F180818066-f67d1f78-515e-4ee2-810f-abfed5a0afcb.mp4\n\n## Tracking performance\n### Results on MOT17 challenge test set\n| Tracker       |  MOTA |  IDF1  |  HOTA  |\n|:--------------|:-------:|:------:|:------:|\n| BoT-SORT      |  80.6   |  79.5  |  64.6  |\n| BoT-SORT-ReID |  80.5   |  80.2  |  65.0  |\n\n### Results on MOT20 challenge test set\n| Tracker       | MOTA   | IDF1 | HOTA |\n|:--------------|:-------:|:------:|:------:|\n|BoT-SORT       | 77.7   | 76.3 | 62.6 | \n|BoT-SORT-ReID  | 77.8   | 77.5 | 63.3 | \n\n\n## Installation\n\nThe code was tested on Ubuntu 20.04\n\nBoT-SORT code is based on ByteTrack and FastReID. \u003Cbr>\nVisit their installation guides for more setup options.\n \n### Setup with Anaconda\n**Step 1.** Create Conda environment and install pytorch.\n```shell\nconda create -n botsort_env python=3.7\nconda activate botsort_env\n```\n**Step 2.** Install torch and matched torchvision from [pytorch.org](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F).\u003Cbr>\nThe code was tested using torch 1.11.0+cu113 and torchvision==0.12.0 \n\n**Step 3.** Install BoT-SORT.\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT.git\ncd BoT-SORT\npip3 install -r requirements.txt\npython3 setup.py develop\n```\n**Step 4.** Install [pycocotools](https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi).\n```shell\npip3 install cython; pip3 install 'git+https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi.git#subdirectory=PythonAPI'\n```\n\nStep 5. Others\n```shell\n# Cython-bbox\npip3 install cython_bbox\n\n# faiss cpu \u002F gpu\npip3 install faiss-cpu\npip3 install faiss-gpu\n```\n\n## Data Preparation\n\nDownload [MOT17](https:\u002F\u002Fmotchallenge.net\u002Fdata\u002FMOT17\u002F) and [MOT20](https:\u002F\u002Fmotchallenge.net\u002Fdata\u002FMOT20\u002F) from the [official website](https:\u002F\u002Fmotchallenge.net\u002F). And put them in the following structure:\n\n```\n\u003Cdataets_dir>\n      │\n      ├── MOT17\n      │      ├── train\n      │      └── test    \n      │\n      └── MOT20\n             ├── train\n             └── test\n```\n\nFor training the ReID, detection patches must be generated as follows:   \n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# For MOT17 \npython3 fast_reid\u002Fdatasets\u002Fgenerate_mot_patches.py --data_path \u003Cdataets_dir> --mot 17\n\n# For MOT20\n python3 fast_reid\u002Fdatasets\u002Fgenerate_mot_patches.py --data_path \u003Cdataets_dir> --mot 20\n```\nLink dataset to FastReID ```export FASTREID_DATASETS=\u003CBoT-SORT_dir>\u002Ffast_reid\u002Fdatasets```. If left unset, the default is `fast_reid\u002Fdatasets` \n \n## Model Zoo\nDownload and store the trained models in 'pretrained' folder as follow:\n```\n\u003CBoT-SORT_dir>\u002Fpretrained\n```\n- We used the publicly available [ByteTrack](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack) model zoo trained on MOT17, MOT20 and ablation study for YOLOX object detection.\n\n- Ours trained ReID models can be downloaded from [MOT17-SBS-S50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1QZFWpoa80rqo7O-HXmlss8J8CnS7IUsN\u002Fview?usp=sharing), [MOT20-SBS-S50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1KqPQyj6MFyftliBHEIER7m_OrGpcrJwi\u002Fview?usp=sharing).\n\n- For multi-class MOT use [YOLOX](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX) or [YOLOv7](https:\u002F\u002Fgithub.com\u002FWongKinYiu\u002Fyolov7) trained on COCO (or any custom weights). \n\n## Training\n\n[\u002F\u002F]: # (### Training the Detector)\n\n[\u002F\u002F]: # ()\n[\u002F\u002F]: # (Please refer to [ByteTrack]&#40;https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack&#41; for training detector.)\n\n### Train the ReID Module\n\nAfter generating MOT ReID dataset as described in the 'Data Preparation' section.\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# For training MOT17 \npython3 fast_reid\u002Ftools\u002Ftrain_net.py --config-file .\u002Ffast_reid\u002Fconfigs\u002FMOT17\u002Fsbs_S50.yml MODEL.DEVICE \"cuda:0\"\n\n# For training MOT20\npython3 fast_reid\u002Ftools\u002Ftrain_net.py --config-file .\u002Ffast_reid\u002Fconfigs\u002FMOT20\u002Fsbs_S50.yml MODEL.DEVICE \"cuda:0\"\n```\n\nRefer to [FastReID](https:\u002F\u002Fgithub.com\u002FJDAI-CV\u002Ffast-reid)  repository for addition explanations and options.\n\n## Tracking\n\nBy submitting the txt files produced in this part to [MOTChallenge](https:\u002F\u002Fmotchallenge.net\u002F) website and you can get the same results as in the paper.\u003Cbr>\nTuning the tracking parameters carefully could lead to higher performance. In the paper we apply ByteTrack's calibration.\n\n* **Test on MOT17**\n\n```shell\ncd \u003CBoT-SORT_dir>\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT17> --default-parameters --with-reid --benchmark \"MOT17\" --eval \"test\" --fp16 --fuse\npython3 tools\u002Finterpolation.py --txt_path \u003Cpath_to_track_result>\n```\n\n* **Test on MOT20**\n\n```shell\ncd \u003CBoT-SORT_dir>\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT20> --default-parameters --with-reid --benchmark \"MOT20\" --eval \"test\" --fp16 --fuse\npython3 tools\u002Finterpolation.py --txt_path \u003Cpath_to_track_result>\n```\n\n* **Evaluation on MOT17 validation set (the second half of the train set)**\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# BoT-SORT\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT17> --default-parameters --benchmark \"MOT17\" --eval \"val\" --fp16 --fuse\n\n# BoT-SORT-ReID\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT17> --default-parameters --with-reid --benchmark \"MOT17\" --eval \"val\" --fp16 --fuse\n```\n\n* **Other experiments**\n\nOther parameters can be used __without__ passing --default-parameters flag. \u003Cbr>\nFor evaluating the train and validation sets we recommend using the official MOTChallenge evaluation code from [TrackEval](https:\u002F\u002Fgithub.com\u002FJonathonLuiten\u002FTrackEval). \n\n```shell\n# For all the available tracking parameters, see:\npython3 tools\u002Ftrack.py -h \n```\n\n* **Experiments with YOLOv7**\n\nOther parameters can be used __without__ passing --default-parameters flag. \u003Cbr>\nFor evaluating the train and validation sets we recommend using the official MOTChallenge evaluation code from [TrackEval](https:\u002F\u002Fgithub.com\u002FJonathonLuiten\u002FTrackEval). \n\n```shell\n# For all the available tracking parameters, see:\npython3 tools\u002Ftrack_yolov7.py -h \n```\n\n## Demo\n\nDemo with BoT-SORT(-ReID) based YOLOX and multi-class.\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# Original example\npython3 tools\u002Fdemo.py video --path \u003Cpath_to_video> -f yolox\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -c pretrained\u002Fbytetrack_x_mot17.pth.tar --with-reid --fuse-score --fp16 --fuse --save_result\n\n# Multi-class example\npython3 tools\u002Fmc_demo.py video --path \u003Cpath_to_video> -f yolox\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -c pretrained\u002Fbytetrack_x_mot17.pth.tar --with-reid --fuse-score --fp16 --fuse --save_result\n```\n\nDemo with BoT-SORT(-ReID) based YOLOv7 and multi-class.\n```shell\ncd \u003CBoT-SORT_dir>\npython3 tools\u002Fmc_demo_yolov7.py --weights pretrained\u002Fyolov7-d6.pt --source \u003Cpath_to_video\u002Fimages> --fuse-score --agnostic-nms (--with-reid)\n```\n\n## Note\n\nOur camera motion compensation module is based on the OpenCV contrib C++ version of VideoStab Global Motion Estimation, \nwhich currently does not have a Python version. \u003Cbr>\nMotion files can be generated using the C++ project called 'VideoCameraCorrection' in the GMC folder. \u003Cbr> \nThe generated files can be used from the tracker. \u003Cbr>\n\nIn addition, python-based motion estimation techniques are available and can be chosen by passing \u003Cbr> \n'--cmc-method' \u003Cfiles | orb | ecc> to demo.py or track.py. \n\n## Citation\n\n```\n@article{aharon2022bot,\n  title={BoT-SORT: Robust Associations Multi-Pedestrian Tracking},\n  author={Aharon, Nir and Orfaig, Roy and Bobrovsky, Ben-Zion},\n  journal={arXiv preprint arXiv:2206.14651},\n  year={2022}\n}\n```\n\n\n## Acknowledgement\n\nA large part of the codes, ideas and results are borrowed from \n[ByteTrack](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack), \n[StrongSORT](https:\u002F\u002Fgithub.com\u002FdyhBUPT\u002FStrongSORT),\n[FastReID](https:\u002F\u002Fgithub.com\u002FJDAI-CV\u002Ffast-reid),\n[YOLOX](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX) and\n[YOLOv7](https:\u002F\u002Fgithub.com\u002Fwongkinyiu\u002Fyolov7). \nThanks for their excellent work!\n\n\n\n\n\n\n\n\n\n\n\n","# BoT-SORT\n\n> [**BoT-SORT：鲁棒关联的多行人跟踪**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.14651)\n> \n> 尼尔·阿哈伦、罗伊·奥尔法伊格、本-齐翁·博布罗夫斯基\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fbot-sort-robust-associations-multi-pedestrian\u002Fmulti-object-tracking-on-mot17)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fmulti-object-tracking-on-mot17?p=bot-sort-robust-associations-multi-pedestrian)\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fbot-sort-robust-associations-multi-pedestrian\u002Fmulti-object-tracking-on-mot20-1)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fmulti-object-tracking-on-mot20-1?p=bot-sort-robust-associations-multi-pedestrian)\n> \n> *[https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.14651](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.14651)*\n\n\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNirAharon_BoT-SORT_readme_4b6b32c88811.png\"\u002F>\u003C\u002Fp>\n\n## 亮点 🚀\n\n- 支持 YOLOX 和 YOLOv7\n- 多类别支持\n- 相机运动补偿\n- 重识别\n\n## 即将推出\n- [ ] 为 MOTChallenge 训练好的 YOLOv7 模型。\n- [x] YOLOv7 检测器。\n- [x] 多类别支持。\n- [x] 创建 OpenCV VideoStab GMC 的 Python 绑定，或\u003Cu>编写 Python 版本\u003Cu>。\n- [ ] 部署代码。\n\n## 摘要\n\n多目标跟踪（MOT）的目标是在场景中检测并跟踪所有目标对象，同时为每个目标保持唯一的标识符。在本文中，我们提出了一种新的、性能先进的鲁棒跟踪器，它能够结合运动和外观信息的优势，并加入相机运动补偿以及更精确的卡尔曼滤波状态向量。我们的新跟踪器 BoT-SORT 和 BoT-SORT-ReID 在 MOTChallenge 数据集 [29, 11] 的 MOT17 和 MOT20 测试集上，在所有主要的 MOT 指标——MOTA、IDF1 和 HOTA——方面均排名第一。对于 MOT17 数据集，我们取得了 80.5 的 MOTA、80.2 的 IDF1 和 65.0 的 HOTA。\n\n### MOT 挑战赛测试集上的可视化结果\n\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F57259165\u002F177045531-947d3146-4d07-4549-a095-3d2daa4692be.mp4\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F57259165\u002F177048139-05dcb382-010e-41a6-b607-bb2b76afc7db.mp4\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F57259165\u002F180818066-f67d1f78-515e-4ee2-810f-abfed5a0afcb.mp4\n\n## 跟踪性能\n### MOT17 挑战赛测试集的结果\n| 跟踪器       |  MOTA |  IDF1  |  HOTA  |\n|:--------------|:-------:|:------:|:------:|\n| BoT-SORT      |  80.6   |  79.5  |  64.6  |\n| BoT-SORT-ReID |  80.5   |  80.2  |  65.0  |\n\n### MOT20 挑战赛测试集的结果\n| 跟踪器       | MOTA   | IDF1 | HOTA |\n|:--------------|:-------:|:------:|:------:|\n|BoT-SORT       | 77.7   | 76.3 | 62.6 | \n|BoT-SORT-ReID  | 77.8   | 77.5 | 63.3 | \n\n\n## 安装\n\n该代码已在 Ubuntu 20.04 上测试通过。\n\nBoT-SORT 代码基于 ByteTrack 和 FastReID。\u003Cbr>\n请访问它们的安装指南以获取更多设置选项。\n \n### 使用 Anaconda 进行设置\n**步骤 1.** 创建 Conda 环境并安装 PyTorch。\n```shell\nconda create -n botsort_env python=3.7\nconda activate botsort_env\n```\n**步骤 2.** 从 [pytorch.org](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 安装匹配的 PyTorch 和 torchvision。\u003Cbr>\n代码使用 torch 1.11.0+cu113 和 torchvision==0.12.0 进行了测试。\n\n**步骤 3.** 安装 BoT-SORT。\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT.git\ncd BoT-SORT\npip3 install -r requirements.txt\npython3 setup.py develop\n```\n**步骤 4.** 安装 [pycocotools](https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi)。\n```shell\npip3 install cython; pip3 install 'git+https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi.git#subdirectory=PythonAPI'\n```\n\n步骤 5. 其他\n```shell\n# Cython-bbox\npip3 install cython_bbox\n\n# faiss cpu \u002F gpu\npip3 install faiss-cpu\npip3 install faiss-gpu\n```\n\n## 数据准备\n\n从 [MOT17](https:\u002F\u002Fmotchallenge.net\u002Fdata\u002FMOT17\u002F) 和 [MOT20](https:\u002F\u002Fmotchallenge.net\u002Fdata\u002FMOT20\u002F) 的[官方网站](https:\u002F\u002Fmotchallenge.net\u002F)下载数据，并将其放置在以下结构中：\n\n```\n\u003Cdataets_dir>\n      │\n      ├── MOT17\n      │      ├── train\n      │      └── test    \n      │\n      └── MOT20\n             ├── train\n             └── test\n```\n\n为了训练 ReID，必须按如下方式生成检测补丁：   \n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# 对于 MOT17 \npython3 fast_reid\u002Fdatasets\u002Fgenerate_mot_patches.py --data_path \u003Cdataets_dir> --mot 17\n\n# 对于 MOT20\n python3 fast_reid\u002Fdatasets\u002Fgenerate_mot_patches.py --data_path \u003Cdataets_dir> --mot 20\n```\n将数据集链接到 FastReID ```export FASTREID_DATASETS=\u003CBoT-SORT_dir>\u002Ffast_reid\u002Fdatasets```. 如果未设置，则默认为 `fast_reid\u002Fdatasets` \n \n## 模型库\n下载并存储训练好的模型到 'pretrained' 文件夹中，如下所示：\n```\n\u003CBoT-SORT_dir>\u002Fpretrained\n```\n- 我们使用了公开可用的 [ByteTrack](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack) 模型库，该库在 MOT17、MOT20 以及 YOLOX 目标检测的消融实验上进行了训练。\n\n- 我们的训练好的 ReID 模型可以从 [MOT17-SBS-S50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1QZFWpoa80rqo7O-HXmlss8J8CnS7IUsN\u002Fview?usp=sharing) 和 [MOT20-SBS-S50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1KqPQyj6MFyftliBHEIER7m_OrGpcrJwi\u002Fview?usp=sharing) 下载。\n\n- 对于多类别的 MOT 应用，可以使用在 COCO 数据集（或任何自定义权重）上训练的 [YOLOX](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX) 或 [YOLOv7](https:\u002F\u002Fgithub.com\u002FWongKinYiu\u002Fyolov7)。\n\n## 训练\n\n[\u002F\u002F]: # (### 训练检测器)\n\n[\u002F\u002F]: # ()\n[\u002F\u002F]: # (请参考 [ByteTrack]&#40;https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack&#41; 来训练检测器。)\n\n### 训练 ReID 模块\n\n在按照“数据准备”部分所述生成 MOT ReID 数据集之后。\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# 用于训练 MOT17\npython3 fast_reid\u002Ftools\u002Ftrain_net.py --config-file .\u002Ffast_reid\u002Fconfigs\u002FMOT17\u002Fsbs_S50.yml MODEL.DEVICE \"cuda:0\"\n\n# 用于训练 MOT20\npython3 fast_reid\u002Ftools\u002Ftrain_net.py --config-file .\u002Ffast_reid\u002Fconfigs\u002FMOT20\u002Fsbs_S50.yml MODEL.DEVICE \"cuda:0\"\n```\n\n有关更多说明和选项，请参阅 [FastReID](https:\u002F\u002Fgithub.com\u002FJDAI-CV\u002Ffast-reid) 仓库。\n\n## 跟踪\n\n只需将本部分生成的 txt 文件提交至 [MOTChallenge](https:\u002F\u002Fmotchallenge.net\u002F) 网站，即可获得与论文中相同的结果。\u003Cbr>\n仔细调整跟踪参数可能会带来更高的性能。在论文中，我们采用了 ByteTrack 的校准方法。\n\n* **在 MOT17 上测试**\n\n```shell\ncd \u003CBoT-SORT_dir>\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT17> --default-parameters --with-reid --benchmark \"MOT17\" --eval \"test\" --fp16 --fuse\npython3 tools\u002Finterpolation.py --txt_path \u003Cpath_to_track_result>\n```\n\n* **在 MOT20 上测试**\n\n```shell\ncd \u003CBoT-SORT_dir>\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT20> --default-parameters --with-reid --benchmark \"MOT20\" --eval \"test\" --fp16 --fuse\npython3 tools\u002Finterpolation.py --txt_path \u003Cpath_to_track_result>\n```\n\n* **在 MOT17 验证集上评估（训练集的后半部分）**\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# BoT-SORT\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT17> --default-parameters --benchmark \"MOT17\" --eval \"val\" --fp16 --fuse\n\n# BoT-SORT-ReID\npython3 tools\u002Ftrack.py \u003Cdataets_dir\u002FMOT17> --default-parameters --with-reid --benchmark \"MOT17\" --eval \"val\" --fp16 --fuse\n```\n\n* **其他实验**\n\n可以使用其他参数，__无需__传递 --default-parameters 标志。 \u003Cbr>\n对于训练集和验证集的评估，我们建议使用来自 [TrackEval](https:\u002F\u002Fgithub.com\u002FJonathonLuiten\u002FTrackEval) 的官方 MOTChallenge 评估代码。\n\n```shell\n# 如需查看所有可用的跟踪参数，请运行：\npython3 tools\u002Ftrack.py -h \n```\n\n* **使用 YOLOv7 的实验**\n\n可以使用其他参数，__无需__传递 --default-parameters 标志。 \u003Cbr>\n对于训练集和验证集的评估，我们建议使用来自 [TrackEval](https:\u002F\u002Fgithub.com\u002FJonathonLuiten\u002FTrackEval) 的官方 MOTChallenge 评估代码。\n\n```shell\n# 如需查看所有可用的跟踪参数，请运行：\npython3 tools\u002Ftrack_yolov7.py -h \n```\n\n## 演示\n\n基于 BoT-SORT(-ReID) 的 YOLOX 多类别演示。\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# 原始示例\npython3 tools\u002Fdemo.py video --path \u003C视频路径> -f yolox\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -c pretrained\u002Fbytetrack_x_mot17.pth.tar --with-reid --fuse-score --fp16 --fuse --save_result\n\n# 多类别示例\npython3 tools\u002Fmc_demo.py video --path \u003C视频路径> -f yolox\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -c pretrained\u002Fbytetrack_x_mot17.pth.tar --with-reid --fuse-score --fp16 --fuse --save_result\n```\n\n基于 BoT-SORT(-ReID) 的 YOLOv7 多类别演示。\n```shell\ncd \u003CBoT-SORT_dir>\npython3 tools\u002Fmc_demo_yolov7.py --weights pretrained\u002Fyolov7-d6.pt --source \u003C视频\u002F图片路径> --fuse-score --agnostic-nms (--with-reid)\n```\n\n## 注意事项\n\n我们的相机运动补偿模块基于 OpenCV contrib C++ 版本的 VideoStab 全局运动估计，目前尚无 Python 版本。 \u003Cbr>\n可在 GMC 文件夹中的名为 'VideoCameraCorrection' 的 C++ 项目中生成运动文件。 \u003Cbr>\n生成的文件可供跟踪器使用。 \u003Cbr>\n\n此外，也有基于 Python 的运动估计技术可供选择，可通过向 demo.py 或 track.py 传递 \u003Cbr> '--cmc-method' \u003Cfiles | orb | ecc> 来指定。\n\n## 引用\n\n```\n@article{aharon2022bot,\n  title={BoT-SORT: Robust Associations Multi-Pedestrian Tracking},\n  author={Aharon, Nir and Orfaig, Roy and Bobrovsky, Ben-Zion},\n  journal={arXiv preprint arXiv:2206.14651},\n  year={2022}\n}\n```\n\n\n## 致谢\n\n大量代码、思路和成果均借鉴自 \n[ByteTrack](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack)、\n[StrongSORT](https:\u002F\u002Fgithub.com\u002FdyhBUPT\u002FStrongSORT)、\n[FastReID](https:\u002F\u002Fgithub.com\u002FJDAI-CV\u002Ffast-reid)、\n[YOLOX](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX) 和\n[YOLOv7](https:\u002F\u002Fgithub.com\u002Fwongkinyiu\u002Fyolov7)。 \u003Cbr>\n感谢他们的杰出工作！","# BoT-SORT 快速上手指南\n\nBoT-SORT 是一个鲁棒的多行人跟踪器，结合了运动信息、外观特征（ReID）以及相机运动补偿（GMC），在 MOT17 和 MOT20 数据集上取得了 SOTA 成绩。支持 YOLOX 和 YOLOv7 检测器，并支持多类别跟踪。\n\n## 环境准备\n\n*   **操作系统**: 推荐 Ubuntu 20.04\n*   **Python**: 3.7\n*   **PyTorch**: 1.11.0+ (配套 torchvision 0.12.0)\n*   **CUDA**: 11.3 (根据实际显卡驱动调整)\n*   **前置依赖**: Git, Conda (推荐)\n\n> **提示**：国内用户建议使用清华或阿里镜像源加速 `pip` 和 `conda` 安装。\n\n## 安装步骤\n\n### 1. 创建 Conda 环境并安装 PyTorch\n\n```shell\nconda create -n botsort_env python=3.7\nconda activate botsort_env\n```\n\n访问 [pytorch.org](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 获取适合你环境的安装命令，或使用以下命令安装测试通过的版本：\n\n```shell\n# 使用 pip 安装 (国内用户可添加 -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple)\npip install torch==1.11.0+cu113 torchvision==0.12.0 -f https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu113\u002Ftorch_stable.html\n```\n\n### 2. 克隆代码并安装依赖\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT.git\ncd BoT-SORT\npip install -r requirements.txt\npython setup.py develop\n```\n\n### 3. 安装额外依赖 (COCO API & Faiss)\n\n```shell\n# 安装 pycocotools\npip install cython\npip install 'git+https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi.git#subdirectory=PythonAPI'\n\n# 安装 Cython-bbox\npip install cython_bbox\n\n# 安装 Faiss (根据需求选择 CPU 或 GPU 版本)\npip install faiss-cpu\n# 或者\n# pip install faiss-gpu\n```\n\n## 基本使用\n\n### 1. 准备预训练模型\n\n将下载好的检测模型和 ReID 模型放入 `pretrained` 文件夹。\n*   **检测模型**: 可使用 ByteTrack 提供的 YOLOX 模型 (如 `bytetrack_x_mot17.pth.tar`) 或 YOLOv7 权重。\n*   **ReID 模型**: 从项目提供的链接下载 MOT17\u002FMOT20 对应的 SBS-S50 模型。\n\n目录结构示例：\n```\n\u003CBoT-SORT_dir>\u002Fpretrained\n      ├── bytetrack_x_mot17.pth.tar\n      └── mot17_sbs_S50.pth (假设文件名)\n```\n\n### 2. 运行视频演示 (Demo)\n\n以下命令展示如何使用基于 YOLOX 的 BoT-SORT-ReID 对本地视频进行跟踪，并保存结果。\n\n```shell\ncd \u003CBoT-SORT_dir>\n\n# 单类行人跟踪示例\npython3 tools\u002Fdemo.py video \\\n  --path \u003Cpath_to_video> \\\n  -f yolox\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py \\\n  -c pretrained\u002Fbytetrack_x_mot17.pth.tar \\\n  --with-reid \\\n  --fuse-score \\\n  --fp16 \\\n  --fuse \\\n  --save_result\n```\n\n**参数说明：**\n*   `--path`: 输入视频路径或图片文件夹路径。\n*   `-f`: YOLOX 配置文件路径。\n*   `-c`: 预训练检测模型权重路径。\n*   `--with-reid`: 启用重识别模块（提升遮挡下的跟踪效果）。\n*   `--fuse`: 启用分数融合策略。\n*   `--save_result`: 保存带有跟踪框的视频结果。\n\n### 3. 多类别跟踪示例 (Multi-class)\n\n如果你使用的是在 COCO 数据集上训练的通用模型（如 YOLOX 或 YOLOv7），可以运行多类别跟踪：\n\n```shell\n# 基于 YOLOX 的多类别演示\npython3 tools\u002Fmc_demo.py video \\\n  --path \u003Cpath_to_video> \\\n  -f yolox\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py \\\n  -c pretrained\u002Fbytetrack_x_mot17.pth.tar \\\n  --with-reid \\\n  --fuse-score \\\n  --fp16 \\\n  --fuse \\\n  --save_result\n\n# 基于 YOLOv7 的多类别演示\npython3 tools\u002Fmc_demo_yolov7.py \\\n  --weights pretrained\u002Fyolov7-d6.pt \\\n  --source \u003Cpath_to_video> \\\n  --fuse-score \\\n  --agnostic-nms \\\n  --with-reid\n```\n\n> **注意**：相机运动补偿（GMC）默认依赖 C++ 生成的运动文件。若未生成，可通过添加 `--cmc-method orb` 或 `--cmc-method ecc` 参数使用纯 Python 实现的运动估计方法。","某智慧园区安防团队正在部署一套全天候行人监控系统，需要在人流密集的出入口准确统计人数并追踪特定目标轨迹。\n\n### 没有 BoT-SORT 时\n- **频繁丢失目标**：当行人被柱子遮挡或多人交叉穿过时，传统算法容易中断跟踪，导致同一个人被记录为多个不同 ID，统计数据严重失真。\n- **摄像头抖动干扰**：安装在云台或移动巡逻车上的摄像头产生画面抖动时，系统误将背景运动判断为行人移动，产生大量虚假轨迹。\n- **外观相似难区分**：在穿着统一工服的场景下，仅靠位置预测无法区分两个并排行走的员工，导致身份互换（ID Switch）。\n- **复杂场景失效**：在早晚高峰的高密度人流中，漏检率飙升，系统无法维持稳定的多目标关联。\n\n### 使用 BoT-SORT 后\n- **鲁棒的关联能力**：凭借更精准的状态向量和卡尔曼滤波，BoT-SORT 在遮挡和交叉路径下仍能保持 ID 连续，确保单人单号，统计准确率大幅提升。\n- **相机运动补偿**：内置的相机运动补偿（GMC）模块有效过滤了设备抖动带来的背景噪声，即使在移动监控视角下也能锁定真实行人轨迹。\n- **重识别技术融合**：结合 ReID 外观特征，BoT-SORT 能敏锐区分衣着相似的行人，彻底解决了高密度人群中的身份跳变问题。\n- **高性能实时追踪**：在 MOT17\u002FMOT20 基准测试中领先的 MOTA 和 HOTA 指标，使其在极端拥挤场景下依然保持低漏检和高精度跟踪。\n\nBoT-SORT 通过融合运动与外观信息并补偿相机抖动，将复杂的动态行人追踪转化为稳定可靠的数据流，为安防决策提供坚实支撑。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNirAharon_BoT-SORT_4b6b32c8.png","NirAharon",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FNirAharon_a1662b47.png","https:\u002F\u002Fgithub.com\u002FNirAharon",[78,82,86,90,94,98,101,105,108],{"name":79,"color":80,"percentage":81},"Jupyter Notebook","#DA5B0B",70,{"name":83,"color":84,"percentage":85},"Python","#3572A5",27.5,{"name":87,"color":88,"percentage":89},"C++","#f34b7d",2.2,{"name":91,"color":92,"percentage":93},"Cython","#fedf5b",0.2,{"name":95,"color":96,"percentage":97},"CMake","#DA3434",0.1,{"name":99,"color":100,"percentage":97},"Dockerfile","#384d54",{"name":102,"color":103,"percentage":104},"Shell","#89e051",0,{"name":106,"color":107,"percentage":104},"Makefile","#427819",{"name":109,"color":74,"percentage":104},"QMake",1398,489,"2026-04-14T14:39:58","MIT",4,"Linux","需要 NVIDIA GPU，测试环境为 CUDA 11.3 (cu113)，支持 CPU 或 GPU 版本的 faiss","未说明",{"notes":119,"python":120,"dependencies":121},"代码基于 ByteTrack 和 FastReID。相机运动补偿模块默认依赖 OpenCV contrib 的 C++ 版本 (VideoStab)，若无 C++ 环境需使用 Python 替代方案 (ORB\u002FECC)。需手动下载 MOT17\u002FMOT20 数据集及预训练模型。","3.7",[122,123,124,125,126,127],"torch==1.11.0+cu113","torchvision==0.12.0","pycocotools","cython","cython_bbox","faiss-cpu 或 faiss-gpu",[14],[130,131,132,133,134,135,136],"multi-object-tracking","pytorch","yolov7","yolox","multi-object-tracker","multi-pedestrian-tracking","tracking-by-detection","2026-03-27T02:49:30.150509","2026-04-16T10:48:53.788711",[140,145,150,155,160,165],{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},35780,"加载预训练 ReID 模型时出现 'heads.weight' 形状不兼容的警告，这会影响跟踪结果吗？","这是正常现象，可以忽略。该警告表明头部的全连接层（FC layer）未加载，该层仅用于训练时的 ID 损失计算，在推理（跟踪）阶段会被丢弃，因此不会影响最终的跟踪结果。","https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT\u002Fissues\u002F26",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},35781,"运行代码时报错 'AttributeError: NoneType object has no attribute groups' 怎么办？","该错误通常由两个原因引起：\n1. 正则表达式不匹配文件名：请检查并修改 `.\u002Ffast_reid\u002Ffastreid\u002Fdata\u002Fdatasets\u002Fmot17.py` 第 82 行的正则表达式 `pattern`，确保其能正确解析你的图片命名格式。\n2. 数据集生成错误：如果之前生成过 MOT17-ReID 数据集但参数连接不正确，请删除已生成的数据集文件夹，然后重新运行生成命令。","https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT\u002Fissues\u002F5",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},35782,"如何在 BoT-SORT 中集成 YOLOv8？需要传递哪些参数？","集成 YOLOv8 时，由于其封装性较好，不需要像 YOLOv7 那样传递大量参数。你可以参考 `mc_demo_yolov7.py` 进行修改：\n1. 初始化模型：使用 `model = YOLO(opt.weights)` 加载 YOLOv8 权重。\n2. 执行推理：在检测循环中调用 `results = model(frame, conf=opt.conf_thres, iou=opt.iou_thres, max_det=opt.max_det)` 获取检测结果。\n无需手动构造复杂的 args 对象，只需确保将检测框格式转换为跟踪器所需的格式即可。","https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT\u002Fissues\u002F66",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},35783,"运行时帧与帧之间的执行时间差异极大（偶尔卡顿数秒），是什么原因？","这不是正常行为，通常是由相机运动补偿（CMC）模块引起的。请尝试在运行命令中添加或修改参数 `--cmc-method sparseOptFlow`。默认的 CMC 方法在某些场景下计算开销过大，切换到稀疏光流法（sparseOptFlow）通常能解决实时性问题并稳定帧处理时间。","https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT\u002Fissues\u002F39",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},35784,"CMC（相机运动补偿）模块可以移植到其他跟踪器（如 JDE 或 ByteTrack）上使用吗？","可以移植，但需要手动集成。基本步骤如下：\n1. 在跟踪器类（如 `BYTETracker`）的初始化函数中增加 `self.warpMatrix` 用于存储变换矩阵。\n2. 添加读取或计算单应性矩阵（Warp Matrix）的方法。\n3. 在每一帧的处理流程中，应用 `gmc.apply(img, dets)` 获取 warp 矩阵，并将其应用到跟踪池中的轨迹（例如调用 `STrack.multi_gmc`）。\n注意：直接移植可能不会立即获得预期效果，需根据具体跟踪器的数据结构调整坐标变换逻辑。","https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT\u002Fissues\u002F18",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},35785,"在自己的视频数据集上运行时出现 OpenCV 相关错误或结果不一致，如何解决？","如果遇到缺少 'videostab' 文件夹或结果与官方不符的问题，可能是代码版本合并有误或依赖问题。维护者已修复了相关代码合并错误，请确保拉取最新的仓库代码。如果是自定义视频，请检查视频编码格式是否被当前 OpenCV 版本支持，必要时可尝试转换视频格式或重新编译包含 contrib 模块的 OpenCV。","https:\u002F\u002Fgithub.com\u002FNirAharon\u002FBoT-SORT\u002Fissues\u002F50",[]]