ruichunma commited on
Commit
70dee86
·
verified ·
1 Parent(s): ff3a688

Remove stray editor tmp files

Browse files
dataset_02/README.md.tmp.513479.1775980631279 DELETED
@@ -1,207 +0,0 @@
1
- # Muse_Robot_Dataset_02
2
-
3
- 机器人饮料抓取与放置任务数据集,包含多模态传感器数据(RGB、声学、雷达、热成像、深度)与机械臂控制信号。
4
-
5
- ## 1. 数据概况
6
-
7
- | 项目 | 数值 |
8
- |------|------|
9
- | Episode 总数 | 118 |
10
- | 有效 Episode | 97 |
11
- | 废弃 Episode | 21(标注 `problem.abolished = true`) |
12
- | 任务类型 | 饮料抓取 + 放置(4 种指令) |
13
- | 每个 Episode 帧数 | 271–483(平均 ~364) |
14
- | RGB 分辨率 | 1280 x 720 |
15
-
16
- ## 2. 目录结构
17
-
18
- ```
19
- Muse_Robot_Dataset_02/
20
- ├── README.md
21
- ├── thermal_data/ # 118 个 episode 数据目录
22
- │ └── {episode_name}/
23
- │ ├── images/ # RGB 图片 (1280x720, .jpg)
24
- │ ├── image_timestamps.txt # 帧时间戳
25
- │ ├── video.mp4 # [生成] RGB 视频
26
- │ ├── mask/
27
- │ │ └── video.mp4 # [生成] SAM3 分割 mask 视频
28
- │ ├── depth/
29
- │ │ └── images/ # 深度图 (1280x720, .jpg)
30
- │ ├── acoustic/
31
- │ │ ├── images/ # 声学频谱图 (699x809, .jpg)
32
- │ │ └── images_masked/ # [生成] 声学 overlay 视频
33
- │ │ ├── video.mp4 # 彩色背景
34
- │ │ ├── video_dark.mp4 # 黑色背景
35
- │ │ └── video_grey.mp4 # 灰度背景
36
- │ ├── radar/
37
- │ │ ├── images/ # 雷达图 (182x182, .jpg)
38
- │ │ ├── raw/ # 雷达原始数据 (.npy)
39
- │ │ └── images_masked/ # [生成] 雷达 overlay 视频
40
- │ │ ├── video.mp4
41
- │ │ ├── video_dark.mp4
42
- │ │ └── video_grey.mp4
43
- │ ├── thermal/
44
- │ │ ├── left/
45
- │ │ │ ├── images/ # 左热像仪 (192x256, .jpg)
46
- │ │ │ └── raw/ # 左热像仪原始数据 (.npy)
47
- │ │ ├── right/
48
- │ │ │ ├── images/ # 右热像仪 (192x256, .jpg)
49
- │ │ │ └── raw/ # 右热像仪原始数据 (.npy)
50
- │ │ ├── images/
51
- │ │ │ └── video.mp4 # [生成] 左右热像合并视频
52
- │ │ └── images_masked/ # [生成] 热成像 overlay 视频
53
- │ │ ├── video.mp4
54
- │ │ ├── video_dark.mp4
55
- │ │ └── video_grey.mp4
56
- │ ├── 6d_pose/
57
- │ │ └── right_arm.npy # 6D 位姿
58
- │ ├── arm_command/
59
- │ │ └── right_arm.txt # 关节指令
60
- │ ├── arm_status/
61
- │ │ ├── raw_right_arm.txt # 原始关节状态
62
- │ │ └── right_arm.txt # 关节状态
63
- │ ├── ee_command/
64
- │ │ └── right_ee.txt # 末端执行器指令
65
- │ └── hand_status/
66
- │ ├── right_hand_force.txt # 手指力
67
- │ └── right_hand_position.txt # 手指位置
68
- │
69
- └── thermal_labels/ # 标注文件
70
- ├── {episode_name}.json # 118 个标注文件
71
- └── {episode_name}_validity.json # 118 个有效性文件 [生成]
72
- ```
73
-
74
- > 标记 `[生成]` 的文件由 `scripts/process_dataset_02.py` 处理生成。
75
-
76
- ## 3. 传感器数据
77
-
78
- ### 图像分辨率
79
-
80
- | 传感器 | 分辨率 | 格式 | 说明 |
81
- |--------|--------|------|------|
82
- | RGB | 1280 x 720 | .jpg | 主相机 |
83
- | Depth | 1280 x 720 | .jpg | 深度图 |
84
- | Acoustic | 699 x 809 | .jpg | 声学频谱图 |
85
- | Radar | 182 x 182 | .jpg / .npy | 雷达图像 + 原始数据 |
86
- | Thermal (L/R) | 192 x 256 | .jpg / .npy | 左/右热像仪 + 原始数据 |
87
-
88
- ### 帧对齐
89
-
90
- - RGB、Acoustic、Thermal、Depth 帧数一致,帧号对齐
91
- - **Radar 存在帧偏移**:大多数 episode 的雷达数据从 frame ~87 开始(约 91/118 episodes 缺少 frame 0–86 的雷达数据)
92
- - 生成的 overlay 视频已做帧对齐处理:缺帧用最近邻帧填充
93
-
94
- ### 标定矩阵
95
-
96
- 各传感器的 homography 矩阵位于 episode 目录外的 `calibration/homography/`:
97
-
98
- | 传感器 | Homography 文件 | 覆盖率 |
99
- |--------|----------------|--------|
100
- | Acoustic | `acoustic/homography_rgb_to_acoustic.npy` | 40.3% |
101
- | Radar | `radar/homography_rgb_to_radar.npy` | 69.8% |
102
- | Thermal Left | `thermal/left/homography_rgb_to_ir.npy` | 22.3% |
103
- | Thermal Right | `thermal/right/homography_rgb_to_ir.npy` | 25.3% |
104
-
105
- ## 4. 标注格式
106
-
107
- ### Label 文件(`thermal_labels/{episode}.json`)
108
-
109
- ```json
110
- {
111
- "video_name": "2026_04_07_21_02_52_000",
112
- "relative_path": "video/2026_04_07_21_02_52_000",
113
- "description": "Video annotation file.",
114
- "frame_num_total": 453,
115
- "pre_instructions": ["Pick up the hot drink in the box.", "..."],
116
- "problem": {
117
- "abolished": false,
118
- "issue": false
119
- },
120
- "annotations": [
121
- {
122
- "instruction": "Pick up the cold drink in the box.",
123
- "start": 40,
124
- "end": 313
125
- },
126
- {
127
- "instruction": "Place the drink into the basket.",
128
- "start": 300,
129
- "end": 452
130
- }
131
- ]
132
- }
133
- ```
134
-
135
- **字段说明**:
136
- - `video_name`: Episode 名称
137
- - `frame_num_total`: 总帧数
138
- - `problem.abolished`: 是否废弃(true = 数据有问题,不可用于训练)
139
- - `problem.issue`: 是否有潜在问题
140
- - `annotations`: 标注片段列表,每个包含 `instruction`(任务指令)、`start`/`end`(帧范围)
141
- - `pre_instructions`: 预定义指令模板列表
142
-
143
- ### Validity 文件(`thermal_labels/{episode}_validity.json`)
144
-
145
- 由处理流水线生成,记录 SAM3 分割验证结果:
146
-
147
- ```json
148
- // 有效 episode
149
- {"abolished": false, "reason": "Valid: 2 instances detected"}
150
-
151
- // 废弃 episode(标注中标记)
152
- {"abolished": true, "reason": "Marked abolished in label"}
153
-
154
- // 废弃 episode(SAM3 检测不足)
155
- {"abolished": true, "reason": "SAM3 detected 1 instance(s), expected >= 2"}
156
- ```
157
-
158
- ## 5. 任务指令
159
-
160
- 共 4 种唯一指令,每个有效 episode 包含 2 个标注片段(抓取 + 放置):
161
-
162
- | 指令 | 出现次数 |
163
- |------|----------|
164
- | `Pick up the hot drink in the box.` | 32 |
165
- | `Pick up the cold drink in the box.` | 30 |
166
- | `Pick up the room-temperature drink in the box.` | 35 |
167
- | `Place the drink into the basket.` | 96 |
168
-
169
- > 共 193 个标注片段,分布于 97 个有效 episode 中。
170
-
171
- ## 6. 生成的视频文件
172
-
173
- 通过 `scripts/process_dataset_02.py` 处理生成,仅对 97 个有效 episode 产出:
174
-
175
- | 视频 | 路径 | 说明 |
176
- |------|------|------|
177
- | RGB 视频 | `video.mp4` | RGB 图片编码为 H.264 视频 |
178
- | Mask 视频 | `mask/video.mp4` | SAM3 分割 mask(白色=目标区域) |
179
- | 声学 raw | `acoustic/images/video.mp4` | 声学频谱原始视频 |
180
- | 声学 overlay | `acoustic/images_masked/video{,_dark,_grey}.mp4` | 声学 overlay(3 种背景) |
181
- | 雷达 raw | `radar/images/video.mp4` | 雷达原始视频 |
182
- | 雷达 overlay | `radar/images_masked/video{,_dark,_grey}.mp4` | 雷达 overlay(3 种背景) |
183
- | 热成像 左 raw | `thermal/left/images/video.mp4` | 左热像仪原始视频 |
184
- | 热成像 右 raw | `thermal/right/images/video.mp4` | 右热像仪原始视频 |
185
- | 热成像 合并 | `thermal/images/video.mp4` | 左右热像合并视频 |
186
- | 热成像 overlay | `thermal/images_masked/video{,_dark,_grey}.mp4` | 热成像 overlay(3 种背景) |
187
-
188
- **每个有效 episode 共 16 个 mp4 文件**,所有视频帧数与 RGB 一致。
189
-
190
- ### 处理参数
191
-
192
- | 参数 | 值 | 说明 |
193
- |------|-----|------|
194
- | SAM3 Prompt | `small box` | 检测饮料盒 |
195
- | score_threshold_detection | 0.65 | 初始检测置信度阈值 |
196
- | mask_area_threshold | 10000 | 面积过滤:> 10000 像素的 mask 被滤除(大盒子) |
197
- | 视频编码 | H.264, CRF 23, 30fps | — |
198
-
199
- ## 7. 与 Dataset_01 的差异
200
-
201
- | | Dataset_01 | Dataset_02 |
202
- |---|---|---|
203
- | Episode 数量 | 454 | 118(97 valid + 21 abolished) |
204
- | 顶层结构 | `{sensor}_data/` + `{sensor}_labels/` 分离 | 仅 `thermal_data/` + `thermal_labels/`,所有传感器在 episode 内部 |
205
- | 任务类型 | towel/clothes/box/item/drink(11 种指令) | 仅 drink(4 种指令) |
206
- | SAM3 Prompt | 按传感器分别设置 | 统一 `small box` |
207
- | 帧对齐 | 未对齐(sensor 视频可能帧数不同) | 已对齐(缺帧用最近邻填充) |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dataset_02/README.md.tmp.513479.1775980839784 DELETED
@@ -1,195 +0,0 @@
1
- # Muse_Robot_Dataset_02
2
-
3
- 机器人饮料抓取与放置任务数据集,包含多模态传感器数据(RGB、声学、雷达、热成像、深度)与机械臂控制信号。
4
-
5
- ## 1. 数据概况
6
-
7
- | 项目 | 数值 |
8
- |------|------|
9
- | Episode 总数 | 118 |
10
- | 有效 Episode | 97 |
11
- | 废弃 Episode | 21(标注 `problem.abolished = true`) |
12
- | 任务类型 | 饮料抓取 + 放置(4 种指令) |
13
- | 每个 Episode 帧数 | 271–483(平均 ~364) |
14
- | RGB 分辨率 | 1280 x 720 |
15
-
16
- ## 2. 目录结构
17
-
18
- ```
19
- Muse_Robot_Dataset_02/
20
- ├── README.md
21
- ├── thermal_data/ # 118 个 episode 数据目录
22
- │ └── {episode_name}/
23
- │ ├── images/ # RGB 图片 (1280x720, .jpg)
24
- │ ├── image_timestamps.txt # 帧时间戳
25
- │ ├── video.mp4 # [生成] RGB 视频
26
- │ ├── mask/
27
- │ │ └── video.mp4 # [生成] SAM3 分割 mask 视频
28
- │ ├── depth/
29
- │ │ └── images/ # 深度图 (1280x720, .jpg)
30
- │ ├── acoustic/
31
- │ │ ├── images/ # 声学频谱图 (699x809, .jpg)
32
- │ │ └── images_masked/ # [生成] 声学 overlay 视频
33
- │ │ ├── video.mp4 # 彩色背景
34
- │ │ ├── video_dark.mp4 # 黑色背景
35
- │ │ └── video_grey.mp4 # 灰度背景
36
- │ ├── radar/
37
- │ │ ├── images/ # 雷达图 (182x182, .jpg)
38
- │ │ ├── raw/ # 雷达原始数据 (.npy)
39
- │ │ └── images_masked/ # [生成] 雷达 overlay 视频
40
- │ │ ├── video.mp4
41
- │ │ ├── video_dark.mp4
42
- │ │ └── video_grey.mp4
43
- │ ├── thermal/
44
- │ │ ├── left/
45
- │ │ │ ├── images/ # 左热像仪 (192x256, .jpg)
46
- │ │ │ └── raw/ # 左热像仪原始数据 (.npy)
47
- │ │ ├── right/
48
- │ │ │ ├── images/ # 右热像仪 (192x256, .jpg)
49
- │ │ │ └── raw/ # 右热像仪原始数据 (.npy)
50
- │ │ ├── images/
51
- │ │ │ └── video.mp4 # [生成] 左右热像合并视频
52
- │ │ └── images_masked/ # [生成] 热成像 overlay 视频
53
- │ │ ├── video.mp4
54
- │ │ ├── video_dark.mp4
55
- │ │ └── video_grey.mp4
56
- │ ├── 6d_pose/
57
- │ │ └── right_arm.npy # 6D 位姿
58
- │ ├── arm_command/
59
- │ │ └── right_arm.txt # 关节指令
60
- │ ├── arm_status/
61
- │ │ ├── raw_right_arm.txt # 原始关节状态
62
- │ │ └── right_arm.txt # 关节状态
63
- │ ├── ee_command/
64
- │ │ └── right_ee.txt # 末端执行器指令
65
- │ └── hand_status/
66
- │ ├── right_hand_force.txt # 手指力
67
- │ └── right_hand_position.txt # 手指位置
68
- │
69
- └── thermal_labels/ # 标注文件
70
- ├── {episode_name}.json # 118 个标注文件
71
- └── {episode_name}_validity.json # 118 个有效性文件 [生成]
72
- ```
73
-
74
- > 标记 `[生成]` 的文件由 `scripts/process_dataset_02.py` 处理生成。
75
-
76
- ## 3. 传感器数据
77
-
78
- ### 图像分辨率
79
-
80
- | 传感器 | 分辨率 | 格式 | 说明 |
81
- |--------|--------|------|------|
82
- | RGB | 1280 x 720 | .jpg | 主相机 |
83
- | Depth | 1280 x 720 | .jpg | 深度图 |
84
- | Acoustic | 699 x 809 | .jpg | 声学频谱图 |
85
- | Radar | 182 x 182 | .jpg / .npy | 雷达图像 + 原始数据 |
86
- | Thermal (L/R) | 192 x 256 | .jpg / .npy | 左/右热像仪 + 原始数据 |
87
-
88
- ### 帧对齐
89
-
90
- - **原始图片**:RGB、Acoustic、Thermal、Depth 帧数一致,帧号对齐。**Radar 原始图片存在帧偏移**:大多数 episode 的雷达图片从 frame ~87 才开始采集(约 91/118 episodes 缺少 frame 0–86 的雷达图片)
91
- - **生成的视频**:所有生成的 overlay 视频(包括 Radar)帧数均与 RGB 一致。Radar 缺失的帧用最近邻已有帧填充(frame 0–86 用第一帧 radar 图片填充)
92
-
93
- ## 4. 标注格式
94
-
95
- ### Label 文件(`thermal_labels/{episode}.json`)
96
-
97
- ```json
98
- {
99
- "video_name": "2026_04_07_21_02_52_000",
100
- "relative_path": "video/2026_04_07_21_02_52_000",
101
- "description": "Video annotation file.",
102
- "frame_num_total": 453,
103
- "pre_instructions": ["Pick up the hot drink in the box.", "..."],
104
- "problem": {
105
- "abolished": false,
106
- "issue": false
107
- },
108
- "annotations": [
109
- {
110
- "instruction": "Pick up the cold drink in the box.",
111
- "start": 40,
112
- "end": 313
113
- },
114
- {
115
- "instruction": "Place the drink into the basket.",
116
- "start": 300,
117
- "end": 452
118
- }
119
- ]
120
- }
121
- ```
122
-
123
- **字段说明**:
124
- - `video_name`: Episode 名称
125
- - `frame_num_total`: 总帧数
126
- - `problem.abolished`: 是否废弃(true = 数据有问题,不可用于训练)
127
- - `problem.issue`: 是否有潜在问题
128
- - `annotations`: 标注片段列表,每个包含 `instruction`(任务指令)、`start`/`end`(帧范围)
129
- - `pre_instructions`: 预定义指令模板列表
130
-
131
- ### Validity 文件(`thermal_labels/{episode}_validity.json`)
132
-
133
- 由处理流水线生成,记录 SAM3 分割验证结果:
134
-
135
- ```json
136
- // 有效 episode
137
- {"abolished": false, "reason": "Valid: 2 instances detected"}
138
-
139
- // 废弃 episode(标注中标记)
140
- {"abolished": true, "reason": "Marked abolished in label"}
141
-
142
- // 废弃 episode(SAM3 检测不足)
143
- {"abolished": true, "reason": "SAM3 detected 1 instance(s), expected >= 2"}
144
- ```
145
-
146
- ## 5. 任务指令
147
-
148
- 共 4 种唯一指令,每个有效 episode 包含 2 个标注片段(抓取 + 放置):
149
-
150
- | 指令 | 出现次数 |
151
- |------|----------|
152
- | `Pick up the hot drink in the box.` | 32 |
153
- | `Pick up the cold drink in the box.` | 30 |
154
- | `Pick up the room-temperature drink in the box.` | 35 |
155
- | `Place the drink into the basket.` | 96 |
156
-
157
- > 共 193 个标注片段,分布于 97 个有效 episode 中。
158
-
159
- ## 6. 生成的视频文件
160
-
161
- 通过 `scripts/process_dataset_02.py` 处理生成,仅对 97 个有效 episode 产出:
162
-
163
- | 视频 | 路径 | 说明 |
164
- |------|------|------|
165
- | RGB 视频 | `video.mp4` | RGB 图片编码为 H.264 视频 |
166
- | Mask 视频 | `mask/video.mp4` | SAM3 分割 mask(白色=目标区域) |
167
- | 声学 raw | `acoustic/images/video.mp4` | 声学频谱原始视频 |
168
- | 声学 overlay | `acoustic/images_masked/video{,_dark,_grey}.mp4` | 声学 overlay(3 种背景) |
169
- | 雷达 raw | `radar/images/video.mp4` | 雷达原始视频 |
170
- | 雷达 overlay | `radar/images_masked/video{,_dark,_grey}.mp4` | 雷达 overlay(3 种背景) |
171
- | 热成像 左 raw | `thermal/left/images/video.mp4` | 左热像仪原始视频 |
172
- | 热成像 右 raw | `thermal/right/images/video.mp4` | 右热像仪原始视频 |
173
- | 热成像 合并 | `thermal/images/video.mp4` | 左右热像合并视频 |
174
- | 热成像 overlay | `thermal/images_masked/video{,_dark,_grey}.mp4` | 热成像 overlay(3 种背景) |
175
-
176
- **每个有效 episode 共 16 个 mp4 文件**,所有视频帧数与 RGB 一致。
177
-
178
- ### 处理参数
179
-
180
- | 参数 | 值 | 说明 |
181
- |------|-----|------|
182
- | SAM3 Prompt | `small box` | 检测饮料盒 |
183
- | score_threshold_detection | 0.65 | 初始检测置信度阈值 |
184
- | mask_area_threshold | 10000 | 面积过滤:> 10000 像素的 mask 被滤除(大盒子) |
185
- | 视频编码 | H.264, CRF 23, 30fps | — |
186
-
187
- ## 7. 与 Dataset_01 的差异
188
-
189
- | | Dataset_01 | Dataset_02 |
190
- |---|---|---|
191
- | Episode 数量 | 454 | 118(97 valid + 21 abolished) |
192
- | 顶层结构 | `{sensor}_data/` + `{sensor}_labels/` 分离 | 仅 `thermal_data/` + `thermal_labels/`,所有传感器在 episode 内部 |
193
- | 任务类型 | towel/clothes/box/item/drink(11 种指令) | 仅 drink(4 种指令) |
194
- | SAM3 Prompt | 按传感器分别设置 | 统一 `small box` |
195
- | 帧对齐 | 未对齐(sensor 视频可能帧数不同) | 已对齐(缺帧用最近邻填充) |