Refresh detection docs for two-stage workshoe pipeline
This commit is contained in:
parent
58283e0191
commit
737b9bf0fe
File diff suppressed because it is too large
Load Diff
@ -258,6 +258,109 @@ const int out_n = std::min<int>(cfg.max_faces, static_cast<int>(keep.size()));
|
||||
|
||||
## 四、人脸识别参数 (`ai_face_recog`)
|
||||
|
||||
---
|
||||
|
||||
## 五、车间劳保鞋检测参数(当前主线)
|
||||
|
||||
当前项目的鞋检测不再走“人鞋一体全图检测”思路,而是:
|
||||
|
||||
```text
|
||||
ai_yolo(person only)
|
||||
-> tracker(person only)
|
||||
-> ai_shoe_det(dynamic foot roi)
|
||||
-> logic_gate(person_shoe_check)
|
||||
-> logic_gate(ppe_boots_check)
|
||||
-> alarm
|
||||
```
|
||||
|
||||
也就是说,鞋子相关参数不再只看一个 `detect.conf`,而是分成 4 层:
|
||||
|
||||
1. 人体前级参数
|
||||
2. 鞋检测参数
|
||||
3. 颜色判断参数
|
||||
4. 告警稳定性参数
|
||||
|
||||
### 1. 人体前级参数(`ai_yolo`)
|
||||
|
||||
| 参数 | 当前建议 | 作用 |
|
||||
|------|----------|------|
|
||||
| `conf` | `0.35` | 人体候选阈值 |
|
||||
| `nms` | `0.45` | 人框去重 |
|
||||
| `infer_fps` | `2` | 人检频率 |
|
||||
| `bbox_expand.bottom` | `0.16` | 补偿高机位下漏脚问题 |
|
||||
|
||||
调参原则:
|
||||
|
||||
- 人框太紧、脚经常漏在外面:优先增大 `bbox_expand.bottom`
|
||||
- 人漏检明显:适当降低 `conf`
|
||||
- 周期性卡顿:先不要盲目提 `infer_fps`
|
||||
|
||||
### 2. 鞋检测参数(`ai_shoe_det`)
|
||||
|
||||
| 参数 | 当前建议 | 作用 |
|
||||
|------|----------|------|
|
||||
| `conf` | `0.15` | 鞋候选召回阈值 |
|
||||
| `nms` | `0.45` | 鞋框去重 |
|
||||
| `infer_fps` | `2` | 鞋检频率 |
|
||||
| `dynamic_roi.max_rois` | `3` | 单帧最多处理多少人 |
|
||||
| `dynamic_roi.min_person_height` | `60` | 过滤太远的人 |
|
||||
| `x_offset/y_offset/width_scale/height_scale` | 见推荐配置 | 控制脚部 ROI 形状 |
|
||||
|
||||
为什么 `shoe_det.conf` 只有 `0.15`?
|
||||
|
||||
- 当前场景是高机位、小目标、遮挡多
|
||||
- 如果把鞋阈值直接提到常规检测项目里的 `0.4~0.5`
|
||||
通常先发生的是严重漏检,而不是“更稳”
|
||||
- 当前链路依赖:
|
||||
- 低阈值鞋候选召回
|
||||
- 人鞋空间关联
|
||||
- 鞋颜色判断
|
||||
- 告警去抖和冷却
|
||||
|
||||
所以这里的思路是:
|
||||
|
||||
```text
|
||||
前面低阈值多召回,后面多级逻辑再收紧
|
||||
```
|
||||
|
||||
### 3. 颜色判断参数(`logic_gate -> ppe_boots_check`)
|
||||
|
||||
| 参数 | 当前建议 | 作用 |
|
||||
|------|----------|------|
|
||||
| `method` | `brightness` | 颜色判断方式 |
|
||||
| `dark_threshold` | `90` | 黑鞋/深色鞋阈值 |
|
||||
| `roi_expand` | `1.0` | 颜色分析区域放大比例 |
|
||||
|
||||
调参原则:
|
||||
|
||||
- 黑鞋也经常被判成违规:适当提高 `dark_threshold`
|
||||
- 拖鞋/浅色鞋经常被放过:适当降低 `dark_threshold`
|
||||
|
||||
### 4. 告警稳定性参数(`alarm`)
|
||||
|
||||
| 参数 | 当前建议 | 作用 |
|
||||
|------|----------|------|
|
||||
| `min_score` | `0.30` | 蓝框进入告警的最低分数 |
|
||||
| `min_hits` | `2` | 2 秒内至少出现几次 |
|
||||
| `hit_window_ms` | `2000` | 命中窗口 |
|
||||
| `min_duration_ms` | `800` | 持续多久才报警 |
|
||||
| `cooldown_ms` | `15000` | 告警后的冷却时间 |
|
||||
|
||||
调参原则:
|
||||
|
||||
- 蓝框已经稳定出现,但不告警:先看 `min_score / min_hits / min_duration_ms`
|
||||
- 告警过于频繁:提高 `cooldown_ms`
|
||||
- 闪一下就报警:提高 `min_duration_ms`
|
||||
|
||||
### 推荐调参顺序
|
||||
|
||||
1. 先让人框稳定,脚不要漏
|
||||
2. 再让鞋框能稳定出来
|
||||
3. 再调颜色判断黑白边界
|
||||
4. 最后再调告警节流
|
||||
|
||||
不要一开始就只改 `alarm`,否则常常会把“检测问题”误判成“规则问题”。
|
||||
|
||||
`ai_face_recog` 节点接收人脸检测结果,提取人脸特征向量并与特征库进行比对,完成人脸识别。
|
||||
|
||||
### 4.1 参数概览
|
||||
|
||||
Loading…
Reference in New Issue
Block a user