目前共有10篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:不转换▼
 
点击 回复
42 9
fiji处理后的图像视频序列如何使用CVAT改错
初级魔法师 四级
1楼 发表于:2026-4-7 19:38
初级魔法师 四级
2楼 发表于:2026-4-7 19:38

初步ai推荐方案

核心前提(必须先确认,否则 100% 出错)

你上传到 CVAT 的视频 / 图像序列,必须和 TrackMate 里跑追踪的源文件 100% 一致:分辨率、总帧数、帧顺序、帧率完全相同,不能是二次压缩、裁剪、转码后的文件,否则标注的坐标和帧号会完全错位。

步骤 1:TrackMate 端,导出标注原始数据

首先从你保存的 TrackMate 项目里,提取所有追踪结果,用于转换格式:



打开 Fiji,加载你跑追踪的原始视频 / 图像序列;
点击 Plugins → Tracking → TrackMate,点击Load,选择你保存的 TrackMate 项目.xml文件,完整加载你的追踪结果;
一直点击Next,直到进入 TrackMate 主界面,切换到Spots标签页;
点击标签页下方的Export to CSV,导出所有识别点的 CSV 文件,命名为trackmate_spots.csv,这个文件包含了所有目标的帧号、轨迹 ID、坐标、半径等核心信息。

步骤 2:格式转换,把 TrackMate 结果转成 CVAT 支持的 MOT 格式

TrackMate 的原生 XML/CSV 不能直接导入 CVAT,MOT 格式是多目标追踪的通用标准,CVAT 和 TrackMate 完美兼容,是最省事的转换方案。

关键避坑:帧号规则

TrackMate 的帧号从 0 开始计数(第一帧是 0),而 CVAT/MOT 格式的帧号从 1 开始计数(第一帧是 1),转换时必须把帧号 + 1,否则会完全错位。

方法 A:Excel / 表格工具手动转换(新手首选)

新建一个表格,按以下规则对应填入 TrackMate 导出的 CSV 内容,列顺序不能错:

表格


MOT 列顺序列名对应 TrackMate 字段 / 处理规则
1  frame  FRAME列数值 +1(帧号从 0 转 1)  
2  id  TRACK_ID(轨迹 ID,必须是整数,空值 / 无轨迹的行直接删除)  
3  bb_left  POSITION_X - RADIUS(矩形框左上角 X 坐标)  
4  bb_top  POSITION_Y - RADIUS(矩形框左上角 Y 坐标)  
5  bb_width  2 * RADIUS(矩形框宽度)  
6  bb_height  2 * RADIUS(矩形框高度)  
7  confidence  QUALITY列(无此列则统一填 1)  
8  x  POSITION_X(目标中心点 X,核心坐标)  
9  y  POSITION_Y(目标中心点 Y,核心坐标)  
10  z  固定填 -1(2D 图像无 Z 轴)  

处理完成后,保存为无表头、逗号分隔的 CSV 文件,命名为mot_annotation.csv。

方法 B:Python 脚本一键转换(高效零出错)

如果你会 Python,直接运行以下脚本,自动生成标准 MOT 格式文件:

python

运行

import pandas as pd # 读取TrackMate导出的spots CSV df = pd.read_csv("trackmate_spots.csv") # 过滤掉无轨迹ID的无效点(未被连入轨迹的噪点) df = df.dropna(subset=["TRACK_ID"]) # 转换为标准MOT格式 mot_df = pd.DataFrame() mot_df["frame"] = df["FRAME"] + 1 # 帧号从0转为CVAT的1开头 mot_df["id"] = df["TRACK_ID"].astype(int) mot_df["bb_left"] = df["POSITION_X"] - df["RADIUS"] mot_df["bb_top"] = df["POSITION_Y"] - df["RADIUS"] mot_df["bb_width"] = 2 * df["RADIUS"] mot_df["bb_height"] = 2 * df["RADIUS"] mot_df["confidence"] = df.get("QUALITY", 1) mot_df["x"] = df["POSITION_X"] mot_df["y"] = df["POSITION_Y"] mot_df["z"] = -1 # 保存为无表头的MOT格式CSV mot_df.to_csv("mot_annotation.csv", index=False, header=False, sep=",")

步骤 3:CVAT 端,创建项目并上传源文件

就是你截图里的 CVAT 创建界面,按以下步骤操作:



打开 CVAT,点击Create new project创建新项目:



项目名称自定义,比如Cell_Tracking_Correction;
Labels 标签设置:点击Add label,创建一个标签(比如命名为cell),类型选择Point(点)(和 TrackMate 的 spot 中心点对应,修正最省事),如果需要修正目标大小,可选Rectangle(矩形框);
点击Submit & Open完成项目创建。


在项目内点击Create new task创建标注任务:



任务名称自定义;
Select files:上传和 TrackMate 完全一致的源视频 / 图像序列(图像序列请打包成 zip 上传);
Advanced configuration仅需确认帧率、帧范围和原文件一致,其他默认;
点击Submit,等待 CVAT 处理完文件,点击Open进入标注界面。

步骤 4:CVAT 导入 TrackMate 标注,开始改错



在 CVAT 标注界面,点击左侧的菜单按钮(三条横线),选择 Annotations → Upload annotations;
弹出的窗口中,格式选择MOT 1.1,点击Select file选择你生成的mot_annotation.csv,点击Upload;
上传完成后,你会看到每一帧都已经有了对应 TrackMate 的标注点,且同一个轨迹 ID 的目标已自动关联,和你在 Fiji 里的追踪结果完全一致。

核心改错操作指南

表格


错误类型CVAT 修正方法
目标位置偏移  直接拖动标注点 / 框,到正确的细胞位置,CVAT 自动保存修改  
轨迹连错(不同目标串号)  选中错误标注,在右侧属性面板修改ID为正确的轨迹 ID,或右键→Change track ID  
误识别噪点  选中多余标注,按Delete键删除  
漏检目标  用左侧的 Point/Rectangle 工具添加标注,分配和前后帧一致的轨迹 ID,自动补全轨迹  
轨迹断裂(遮挡漏检)  在漏检帧添加标注,填入对应轨迹 ID,CVAT 自动完成轨迹衔接  

步骤 5:修正完成,导回 Fiji TrackMate

改错完成后,把修正后的标注导回 TrackMate,完成闭环:



在 CVAT 标注界面,点击左侧菜单→Annotations → Export annotations;
格式选择MOT 1.1,点击Export,下载修正后的mot_corrected.csv文件;
把修正后的 MOT 文件,转回 TrackMate 可识别的格式:

用 Excel / 脚本反向处理:FRAME = 修正后的 frame 列 -1(转回 TrackMate 的 0 开头帧号),其他列对应还原为TRACK_ID、POSITION_X、POSITION_Y、RADIUS等,保存为 CSV;


回到 Fiji 的 TrackMate,加载原始项目,一直点击Next到Initial filtering步骤,点击Import spots from CSV,选择你处理好的修正后 CSV,即可用改错后的标注替换原来的错误结果,后续可正常进行轨迹分析、数据导出。
 
初级魔法师 四级
3楼 发表于:2026-4-8 10:34
ai要命,提供的指导都是错误的。

针对fiji生成cvat1.1格式的xml更有普适性

 
:生成mot压缩包对数据的读取效果很差
  2026-4-8 10:35 回复
初级魔法师 四级
4楼 发表于:2026-4-8 10:39
mot就是特定格式规范的csv文件,理论上导入需要文本,改为txt文件
 
:roi对于trackmate生成的spot的模式改变没有影响,是坑,可以选择自己用python代码通过位置生成新框架
  2026-4-8 10:44 回复
:mot也是坑
  2026-4-8 10:45 回复
:轨迹生成也需要后期的数据处理把轨迹取消
  2026-4-8 10:45 回复
初级魔法师 四级
5楼 发表于:2026-4-8 10:46
但是cvat对直接导入的xml需要进行自动化处理
 
初级魔法师 四级
6楼 发表于:2026-4-8 10:53
dog是原型框,tresholding detector是边缘切割类型框架,而不是矩形边框
 

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:42 回复数:9
评论数: ?
作者:
最后回复:
最后回复时间:2026-4-8 10:53
 
©2010-2026 Purasbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。