feat: 合并 Docker Compose、标注表格优化与部署文档
将 platform + CVAT 合并为单文件 docker-compose.yml,完善 .env 与 init/dev_up 脚本; 新增 docs/DEPLOY.md 与更新 README 以支持新机器部署;含数据湖示例、车队地图、 紧凑表格 UI、ADAS det_7cls 路径与批次台账等近期改动。 Co-authored-by: Cursor <cursoragent@cursor.com>
21
lake/lake_example/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# 数据湖 inbox 落盘示例
|
||||
|
||||
本仓库镜像 HSAP 真实 inbox 路径。
|
||||
**详细树形说明见 [`datasets/README.md`](datasets/README.md)**,批次清单见 [`datasets/manifest.yaml`](datasets/manifest.yaml)。
|
||||
|
||||
## ADAS 2D / 3D(同在 adas 项目下)
|
||||
|
||||
| 类型 | 路径 | project | task |
|
||||
|------|------|---------|------|
|
||||
| **ADAS 2D 七类** | `datasets/adas/inbox/det_7cls/{批次}/` | `adas` | `det_7cls` |
|
||||
| **ADAS 3D MOON** | `datasets/adas/inbox/cuboid_7cls/{批次}/` | `adas` | `cuboid_7cls` |
|
||||
|
||||
DMS 舱内(addw/ddaw/dam 等)仍在 `datasets/dms/inbox/`。
|
||||
|
||||
## 复制到数据湖
|
||||
|
||||
```bash
|
||||
bash copy_to_inbox.sh
|
||||
```
|
||||
|
||||
然后:**批次台账 → 扫描数据湖 → 登记到台账**。
|
||||
24
lake/lake_example/copy_to_inbox.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# 将 lake_example 样例复制到 HSAP 数据湖 inbox(不覆盖已有批次)
|
||||
set -euo pipefail
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
HSAP_ROOT="${HSAP_ROOT:-$(cd "$SCRIPT_DIR/../HSAP" && pwd)}"
|
||||
SRC="$SCRIPT_DIR/datasets"
|
||||
|
||||
echo "HSAP_ROOT=$HSAP_ROOT"
|
||||
echo "源: $SRC"
|
||||
echo ""
|
||||
echo "业务线 → 目标路径:"
|
||||
echo " DMS cabin (addw/ddaw/...) → datasets/dms/inbox/"
|
||||
echo " ADAS 2D (adas/inbox/det_7cls) → datasets/adas/inbox/det_7cls/"
|
||||
echo " ADAS 3D (adas/inbox/cuboid) → datasets/adas/inbox/cuboid_7cls/"
|
||||
echo " 车道线 (lane/inbox) → datasets/lane/inbox/"
|
||||
echo ""
|
||||
|
||||
rsync -av --ignore-existing "$SRC/dms/inbox/" "$HSAP_ROOT/datasets/dms/inbox/"
|
||||
rsync -av --ignore-existing "$SRC/adas/inbox/" "$HSAP_ROOT/datasets/adas/inbox/"
|
||||
rsync -av --ignore-existing "$SRC/lane/inbox/" "$HSAP_ROOT/datasets/lane/inbox/"
|
||||
|
||||
echo ""
|
||||
echo "完成。请到 批次台账 → 扫描数据湖 → 登记。"
|
||||
echo "索引: $SRC/README.md | manifest: $SRC/manifest.yaml"
|
||||
39
lake/lake_example/datasets/README.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 数据湖 inbox 示例根目录
|
||||
|
||||
本目录 **镜像** HSAP 真实数据湖路径,复制后可直接被「扫描数据湖」识别。
|
||||
|
||||
## ADAS 2D / 3D 都在 `adas/` 下
|
||||
|
||||
| 路径 | 类型 | project | task |
|
||||
|------|------|---------|------|
|
||||
| **`adas/inbox/det_7cls/`** | ADAS **2D** 七类 | `adas` | `det_7cls` |
|
||||
| **`adas/inbox/cuboid_7cls/`** | ADAS **3D** MOON | `adas` | `cuboid_7cls` |
|
||||
|
||||
DMS 舱内数据仍在 `dms/inbox/`(addw、ddaw、dam 等),不含 ADAS 七类。
|
||||
|
||||
## 完整目录树
|
||||
|
||||
```text
|
||||
datasets/
|
||||
├── dms/inbox/ project=dms
|
||||
│ ├── addw/20260616_addw_pilot/
|
||||
│ ├── ddaw/20260616_ddaw_pilot/
|
||||
│ ├── addw_face/20260616_face_pilot/
|
||||
│ ├── dam/batch_0516/20260616_dam_wave/
|
||||
│ ├── forward/detect/20260616_fwd_det/
|
||||
│ └── forward/classify/20260616_fwd_cls/
|
||||
├── adas/inbox/ project=adas
|
||||
│ ├── det_7cls/20260616_adas2d_pilot/ ★ 2D 七类
|
||||
│ └── cuboid_7cls/20260616_3d_pilot/ ★ 3D MOON
|
||||
└── lane/inbox/20260616_lane_pilot/ project=lane
|
||||
```
|
||||
|
||||
## 样例批次清单
|
||||
|
||||
见 [`manifest.yaml`](manifest.yaml)。
|
||||
|
||||
## 复制
|
||||
|
||||
```bash
|
||||
bash ../copy_to_inbox.sh
|
||||
```
|
||||
10
lake/lake_example/datasets/adas/inbox/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# ADAS inbox(project=adas)
|
||||
|
||||
2D 与 3D 都在本目录下,靠 **task 子目录** 区分。
|
||||
|
||||
| 子目录 | task | 说明 |
|
||||
|--------|------|------|
|
||||
| **det_7cls/** | det_7cls | 2D 七类矩形框 |
|
||||
| cuboid_7cls/ | cuboid_7cls | 3D MOON cuboid |
|
||||
|
||||
复制目标:`HSAP/datasets/adas/inbox/`(软链至 `data/送标/adas/inbox/`)
|
||||
@@ -0,0 +1,6 @@
|
||||
line: ADAS 3D MOON
|
||||
project: adas
|
||||
task: cuboid_7cls
|
||||
mode: null
|
||||
batch: 20260616_3d_pilot
|
||||
inbox_path: datasets/adas/inbox/cuboid_7cls/20260616_3d_pilot
|
||||
@@ -0,0 +1,23 @@
|
||||
类型: ADAS · 3D Cuboid 七类 (MOON-3D)
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
★ 同属 project=adas;2D 在同级 det_7cls/ ★
|
||||
|
||||
API 登记:
|
||||
项目 (project): adas
|
||||
任务 (task): cuboid_7cls
|
||||
子模式: (空)
|
||||
|
||||
数据湖路径:
|
||||
datasets/adas/inbox/cuboid_7cls/{批次名}/
|
||||
images/
|
||||
calib/ ← 相机内参,建议必填
|
||||
|
||||
与 2D 的区别:
|
||||
- 3D 本目录 → task=cuboid_7cls, cuboid 标注, 训练包 adas_moon3d_v1
|
||||
- 2D 在 adas/inbox/det_7cls/ → task=det_7cls, 矩形框, 训练包 adas_v1
|
||||
|
||||
标完导出: labels/quaternion_json/*.json
|
||||
|
||||
复制示例:
|
||||
cp -a lake_example/datasets/adas/inbox/cuboid_7cls/20260616_3d_pilot \
|
||||
HSAP/datasets/adas/inbox/cuboid_7cls/
|
||||
@@ -0,0 +1,8 @@
|
||||
schema: huaxu-batch-v1
|
||||
project: adas
|
||||
task: cuboid_7cls
|
||||
batch: 20260616_3d_pilot
|
||||
stage: raw_pool
|
||||
location: inbox
|
||||
format: cvat_cuboid
|
||||
# 3D 批次:建议同目录提供 calib/*.yaml
|
||||
@@ -0,0 +1,18 @@
|
||||
schema: huaxu-camera-calib-v1
|
||||
camera: cam0
|
||||
model: front_6mm
|
||||
image_size: [1920, 1080]
|
||||
|
||||
# Intrinsic Matrix K (3x3)
|
||||
K:
|
||||
- [1189.69669, 0.0, 1007.54822]
|
||||
- [0.0, 1189.69669, 517.47476]
|
||||
- [0.0, 0.0, 1.0]
|
||||
|
||||
fx: 1189.69669
|
||||
fy: 1189.69669
|
||||
cx: 1007.54822
|
||||
cy: 517.47476
|
||||
|
||||
# Distortion Coefficients (k1,k2,p1,p2,k3,k4,k5,k6)
|
||||
distortion: [0.28289, -0.09676, -0.00014, 0.00002, -0.00215, 0.70977, -0.08417, -0.02529]
|
||||
|
After Width: | Height: | Size: 710 KiB |
28
lake/lake_example/datasets/adas/inbox/cuboid_7cls/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# ADAS 3D Cuboid 七类(MOON-3D)
|
||||
|
||||
```
|
||||
adas/inbox/cuboid_7cls/{批次名}/
|
||||
images/
|
||||
calib/ ← 建议有,用于 3D 拟合
|
||||
```
|
||||
|
||||
## 台账 / API
|
||||
|
||||
| 字段 | 值 |
|
||||
|------|-----|
|
||||
| **project** | `adas` |
|
||||
| **task** | `cuboid_7cls` |
|
||||
|
||||
## 与 2D 的区别(同在 adas 项目下)
|
||||
|
||||
| | ADAS 2D | ADAS 3D(本目录) |
|
||||
|---|---------|-------------------|
|
||||
| 路径 | `adas/inbox/det_7cls/` | `adas/inbox/cuboid_7cls/` |
|
||||
| task | `det_7cls` | `cuboid_7cls` |
|
||||
| 标注 | 矩形框 bbox | cuboid 3D |
|
||||
| 导出 | YOLO | quaternion_json |
|
||||
| 训练包 | adas_v1 | adas_moon3d_v1 |
|
||||
|
||||
## 样例
|
||||
|
||||
- `20260616_3d_pilot/`
|
||||
@@ -0,0 +1,6 @@
|
||||
line: ADAS 2D
|
||||
project: adas
|
||||
task: det_7cls
|
||||
mode: null
|
||||
batch: 20260616_adas2d_pilot
|
||||
inbox_path: datasets/adas/inbox/det_7cls/20260616_adas2d_pilot
|
||||
@@ -0,0 +1,19 @@
|
||||
类型: ADAS · 2D 七类检测(YOLO)
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
★ 与 3D 同属 project=adas,task 不同 ★
|
||||
|
||||
API 登记:
|
||||
项目 (project): adas
|
||||
任务 (task): det_7cls
|
||||
子模式: (空)
|
||||
|
||||
数据湖路径:
|
||||
datasets/adas/inbox/det_7cls/{批次名}/images/
|
||||
|
||||
与 3D 的区别:
|
||||
- 2D 本目录 → task=det_7cls, 矩形框标注, 训练包 adas_v1
|
||||
- 3D 在 adas/inbox/cuboid_7cls/ → task=cuboid_7cls, cuboid 标注, 训练包 adas_moon3d_v1
|
||||
|
||||
复制示例:
|
||||
cp -a lake_example/datasets/adas/inbox/det_7cls/20260616_adas2d_pilot \
|
||||
HSAP/datasets/adas/inbox/det_7cls/
|
||||
@@ -0,0 +1,7 @@
|
||||
schema: huaxu-batch-v1
|
||||
project: adas
|
||||
task: det_7cls
|
||||
batch: 20260616_adas2d_pilot
|
||||
stage: raw_pool
|
||||
location: inbox
|
||||
format: yolo
|
||||
|
After Width: | Height: | Size: 349 KiB |
25
lake/lake_example/datasets/adas/inbox/det_7cls/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# ADAS 2D 七类检测(YOLO)
|
||||
|
||||
```
|
||||
adas/inbox/det_7cls/{批次名}/images/
|
||||
```
|
||||
|
||||
## 台账 / API
|
||||
|
||||
| 字段 | 值 |
|
||||
|------|-----|
|
||||
| **project** | `adas` |
|
||||
| **task** | `det_7cls` |
|
||||
|
||||
## 与 3D 同项目、不同任务
|
||||
|
||||
| | ADAS 2D(本目录) | ADAS 3D |
|
||||
|---|-------------------|---------|
|
||||
| 路径 | `adas/inbox/det_7cls/` | `adas/inbox/cuboid_7cls/` |
|
||||
| task | `det_7cls` | `cuboid_7cls` |
|
||||
| 标注 | 矩形框 bbox | cuboid 3D |
|
||||
| 训练包 | adas_v1 | adas_moon3d_v1 |
|
||||
|
||||
## 样例
|
||||
|
||||
- `20260616_adas2d_pilot/`
|
||||
14
lake/lake_example/datasets/dms/inbox/README.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# DMS inbox 示例(project=dms)
|
||||
|
||||
| 子目录 | 任务 task | 子模式 mode | 示例批次 |
|
||||
|--------|-----------|-------------|----------|
|
||||
| addw/ | addw | — | 20260616_addw_pilot |
|
||||
| ddaw/ | ddaw | — | 20260616_ddaw_pilot |
|
||||
| addw_face/ | addw_face | — | 20260616_face_pilot |
|
||||
| dam/batch_0516/ | dam | batch_0516 | 20260616_dam_wave |
|
||||
| forward/detect/ | forward | detect | 20260616_fwd_det |
|
||||
| forward/classify/ | forward | classify | 20260616_fwd_cls |
|
||||
|
||||
ADAS 七类 2D/3D 见 `datasets/adas/inbox/`(不在 dms 下)。
|
||||
|
||||
复制目标:`HSAP/datasets/dms/inbox/`
|
||||
@@ -0,0 +1,5 @@
|
||||
line: DMS ADDW
|
||||
project: dms
|
||||
task: addw
|
||||
batch: 20260616_addw_pilot
|
||||
inbox_path: datasets/dms/inbox/addw/20260616_addw_pilot
|
||||
@@ -0,0 +1,5 @@
|
||||
类型: DMS · ADDW 分心检测 (2D)
|
||||
项目: dms | 任务: addw | 子模式: (空)
|
||||
新进: 仅 images/train/*.jpg,无 labels/
|
||||
复制到: datasets/dms/inbox/addw/20260616_addw_pilot/
|
||||
台账: 项目=dms 任务=addw 批次名=20260616_addw_pilot
|
||||
@@ -0,0 +1,8 @@
|
||||
schema: huaxu-batch-v1
|
||||
project: dms
|
||||
task: addw
|
||||
batch: 20260616_addw_pilot
|
||||
stage: raw_pool
|
||||
location: inbox
|
||||
format: yolo
|
||||
# 登记后由平台写入 counts 等字段;此为手工落盘参考模板
|
||||
|
After Width: | Height: | Size: 349 KiB |
@@ -0,0 +1,5 @@
|
||||
line: DMS ADDW Face
|
||||
project: dms
|
||||
task: addw_face
|
||||
batch: 20260616_face_pilot
|
||||
inbox_path: datasets/dms/inbox/addw_face/20260616_face_pilot
|
||||
@@ -0,0 +1,4 @@
|
||||
类型: DMS · ADDW 人脸关键点 (pose)
|
||||
项目: dms | 任务: addw_face
|
||||
导出: YOLO pose 37 关键点
|
||||
复制到: datasets/dms/inbox/addw_face/20260616_face_pilot/
|
||||
|
After Width: | Height: | Size: 294 KiB |
@@ -0,0 +1,6 @@
|
||||
line: DMS DAM
|
||||
project: dms
|
||||
task: dam
|
||||
mode: batch_0516
|
||||
batch: 20260616_dam_wave
|
||||
inbox_path: datasets/dms/inbox/dam/batch_0516/20260616_dam_wave
|
||||
@@ -0,0 +1,4 @@
|
||||
类型: DMS · DAM 驾驶员监控 (2D)
|
||||
项目: dms | 任务: dam | 子模式: batch_0516 (必填)
|
||||
注意: inbox 路径含 dam/batch_0516/ 两层
|
||||
复制到: datasets/dms/inbox/dam/batch_0516/20260616_dam_wave/
|
||||
|
After Width: | Height: | Size: 349 KiB |
@@ -0,0 +1,5 @@
|
||||
line: DMS DDAW
|
||||
project: dms
|
||||
task: ddaw
|
||||
batch: 20260616_ddaw_pilot
|
||||
inbox_path: datasets/dms/inbox/ddaw/20260616_ddaw_pilot
|
||||
@@ -0,0 +1,3 @@
|
||||
类型: DMS · DDAW 疲劳检测 (2D)
|
||||
项目: dms | 任务: ddaw
|
||||
复制到: datasets/dms/inbox/ddaw/20260616_ddaw_pilot/
|
||||
|
After Width: | Height: | Size: 349 KiB |
@@ -0,0 +1,6 @@
|
||||
line: ADAS Forward Classify
|
||||
project: dms
|
||||
task: forward
|
||||
mode: classify
|
||||
batch: 20260616_fwd_cls
|
||||
inbox_path: datasets/dms/inbox/forward/classify/20260616_fwd_cls
|
||||
@@ -0,0 +1,3 @@
|
||||
类型: ADAS · 前向交通标志 细分类
|
||||
项目: dms | 任务: forward | 子模式: classify
|
||||
复制到: datasets/dms/inbox/forward/classify/20260616_fwd_cls/
|
||||
|
After Width: | Height: | Size: 294 KiB |
@@ -0,0 +1,6 @@
|
||||
line: ADAS Forward Detect
|
||||
project: dms
|
||||
task: forward
|
||||
mode: detect
|
||||
batch: 20260616_fwd_det
|
||||
inbox_path: datasets/dms/inbox/forward/detect/20260616_fwd_det
|
||||
@@ -0,0 +1,3 @@
|
||||
类型: ADAS · 前向交通标志 粗检测 (2D)
|
||||
项目: dms | 任务: forward | 子模式: detect
|
||||
复制到: datasets/dms/inbox/forward/detect/20260616_fwd_det/
|
||||
|
After Width: | Height: | Size: 349 KiB |
@@ -0,0 +1,5 @@
|
||||
line: Lane UFLD
|
||||
project: lane
|
||||
task: lane_v1
|
||||
batch: 20260616_lane_pilot
|
||||
inbox_path: datasets/lane/inbox/20260616_lane_pilot
|
||||
@@ -0,0 +1,5 @@
|
||||
类型: 车道线 UFLD 分割
|
||||
项目: lane | 无 task 子目录
|
||||
新进: 仅 images/*.jpg|png
|
||||
标完导出: annotations/*.png + list/train_gt.txt
|
||||
复制到: datasets/lane/inbox/20260616_lane_pilot/
|
||||
@@ -0,0 +1,6 @@
|
||||
schema: huaxu-batch-v1
|
||||
project: lane
|
||||
batch: 20260616_lane_pilot
|
||||
stage: raw_pool
|
||||
location: inbox
|
||||
format: ufld_archive
|
||||
BIN
lake/lake_example/datasets/lane/inbox/20260616_lane_pilot/images/test_001.png
Executable file
|
After Width: | Height: | Size: 673 KiB |
BIN
lake/lake_example/datasets/lane/inbox/20260616_lane_pilot/images/test_002.png
Executable file
|
After Width: | Height: | Size: 593 KiB |
9
lake/lake_example/datasets/lane/inbox/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# 车道线 inbox(project=lane)
|
||||
|
||||
```
|
||||
lane/inbox/{批次名}/images/
|
||||
```
|
||||
|
||||
无 task 子目录。台账 project=lane。
|
||||
|
||||
样例:`20260616_lane_pilot/`
|
||||
70
lake/lake_example/datasets/manifest.yaml
Normal file
@@ -0,0 +1,70 @@
|
||||
version: 1
|
||||
description: lake_example 各业务线落盘样例(镜像 HSAP/datasets/inbox)
|
||||
|
||||
examples:
|
||||
- id: dms_addw
|
||||
line: DMS · ADDW
|
||||
project: dms
|
||||
task: addw
|
||||
mode: null
|
||||
batch: 20260616_addw_pilot
|
||||
path: dms/inbox/addw/20260616_addw_pilot
|
||||
|
||||
- id: dms_ddaw
|
||||
line: DMS · DDAW
|
||||
project: dms
|
||||
task: ddaw
|
||||
batch: 20260616_ddaw_pilot
|
||||
path: dms/inbox/ddaw/20260616_ddaw_pilot
|
||||
|
||||
- id: dms_addw_face
|
||||
line: DMS · ADDW 人脸关键点
|
||||
project: dms
|
||||
task: addw_face
|
||||
batch: 20260616_face_pilot
|
||||
path: dms/inbox/addw_face/20260616_face_pilot
|
||||
|
||||
- id: dms_dam
|
||||
line: DMS · DAM
|
||||
project: dms
|
||||
task: dam
|
||||
mode: batch_0516
|
||||
batch: 20260616_dam_wave
|
||||
path: dms/inbox/dam/batch_0516/20260616_dam_wave
|
||||
|
||||
- id: dms_forward_detect
|
||||
line: ADAS · 前向粗检测
|
||||
project: dms
|
||||
task: forward
|
||||
mode: detect
|
||||
batch: 20260616_fwd_det
|
||||
path: dms/inbox/forward/detect/20260616_fwd_det
|
||||
|
||||
- id: dms_forward_classify
|
||||
line: ADAS · 前向细分类
|
||||
project: dms
|
||||
task: forward
|
||||
mode: classify
|
||||
batch: 20260616_fwd_cls
|
||||
path: dms/inbox/forward/classify/20260616_fwd_cls
|
||||
|
||||
- id: adas_2d
|
||||
line: ADAS · 2D 七类
|
||||
project: adas
|
||||
task: det_7cls
|
||||
batch: 20260616_adas2d_pilot
|
||||
path: adas/inbox/det_7cls/20260616_adas2d_pilot
|
||||
|
||||
- id: adas_3d
|
||||
line: ADAS · 3D MOON Cuboid
|
||||
project: adas
|
||||
task: cuboid_7cls
|
||||
batch: 20260616_3d_pilot
|
||||
path: adas/inbox/cuboid_7cls/20260616_3d_pilot
|
||||
|
||||
- id: lane
|
||||
line: 车道线 UFLD
|
||||
project: lane
|
||||
task: lane_v1
|
||||
batch: 20260616_lane_pilot
|
||||
path: lane/inbox/20260616_lane_pilot
|
||||