Add reverse workspace filter option

This commit is contained in:
gqc
2026-07-08 19:16:02 +08:00
parent 041c830bfb
commit cb078492bc
6 changed files with 215 additions and 44 deletions
+13 -4
View File
@@ -14,7 +14,7 @@ time_period_P_r30_linaro
- 目标设备运行库较旧,需要使用 Linaro GCC 7.4.1 交叉编译,避免引入高版本 `glibc/libstdc++` 依赖。
- 支持按时间段控制是否执行推理。
- 支持 workspace 区域过滤,只上传区域内目标。
- 支持 workspace 区域过滤,默认只上传区域内目标,也可通过 `-R` 反向为只上传区域外目标
- 优化识别结果上报逻辑,降低多进程运行时漏帧/低置信波动造成的漏报。
- 增加低置信度、过滤原因、上传决策等日志,便于现场复盘。
@@ -100,6 +100,7 @@ file /home/smos/yolov5-linaro-build/yolov5
-w, --workspace 检测区域,多边形点坐标,逗号分隔
-r, --threshold 置信度阈值,整数 30 到 90
-P, --time-period 推理生效时间段
-R, --reverse-workspace 反向 workspace 过滤,上传 -w 区域外目标
```
示例:
@@ -120,6 +121,14 @@ workspace 示例:
./yolov5 -s input.h264 -m abc -c camera001 -t 19 -p 8080 -w 100,100,500,100,500,500,100,500
```
反向 workspace 示例:
```bash
./yolov5 -s input.h264 -m abc -c camera001 -t 19 -p 8080 -w 100,100,500,100,500,500,100,500 -R
```
开启 `-R` 后,`-w` 画出的区域会作为排除区域:区域内目标不上报,只上报区域外目标。`-R` 必须配合 `-w` 使用。
如果不传 `-w`,默认全画面有效。
time-period 示例:
@@ -166,10 +175,10 @@ h264 分段文件会写到:
常见日志事件:
- `frame_seen`:本次推理帧序号和原始检测数量。
- `strong_present`:超过阈值且 workspace
- `weak_present`:高于 `0.30`、低于阈值且 workspace
- `strong_present`:超过阈值且通过 workspace 过滤
- `weak_present`:高于 `0.30`、低于阈值且通过 workspace 过滤
- `filtered_low_conf`:低于 `0.30`
- `filtered_workspace`不在 workspace 内
- `filtered_workspace`未通过 workspace 过滤。`workspace_mode=normal` 表示普通模式,`workspace_mode=reverse` 表示 `-R` 反向模式
- `no_target`:本帧没有可上传目标。
- `upload_positive`:本帧触发正例上传。
- `upload_skip_throttle`:同一 `class_idx` 500ms 节流跳过。