增加测试记录
This commit is contained in:
parent
798f7d82f5
commit
7359417103
@ -32,6 +32,8 @@ ffmpeg -re -stream_loop -1 -i 监控.mp4 -c copy -rtsp_transport tcp -f rtsp rts
|
||||
|
||||
ffmpeg -stream_loop -1 -re -i "boots.mp4" -c:v libx264 -preset fast -tune zerolatency -r 30 -f rtsp -rtsp_transport tcp rtsp://localhost:8554/cam
|
||||
|
||||
ffmpeg -re -stream_loop -1 -i reg_001_单人_侧面_黑色鞋_1.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://10.0.0.49:8554/cam
|
||||
|
||||
- 本地验证RTSP拉流正确
|
||||
ffplay rtsp://localhost:8554/cam
|
||||
|
||||
@ -51,8 +53,11 @@ go build -o rk3588-agent_linux_arm64 ./cmd/rk3588-agent
|
||||
|
||||
- 运行模拟告警服务
|
||||
python .\mock_alarm_server.py
|
||||
或
|
||||
uv run --with flask scripts/mock_alarm_server.py
|
||||
|
||||
uv run scripts/mock_alarm_server.py
|
||||
- 运行minio
|
||||
C:\Users\Tellme\minio\minio.exe server C:\Users\Tellme\minio\myminio --address ":9000" --console-address ":9001"
|
||||
|
||||
然后在 RK3588 上测试 token 接口:
|
||||
curl -X POST http://10.0.0.49:8080/api/getToken
|
||||
|
||||
217
docs/workshop_ai/shoe_face_test_record_2026-04-13.md
Normal file
217
docs/workshop_ai/shoe_face_test_record_2026-04-13.md
Normal file
@ -0,0 +1,217 @@
|
||||
# 车间视频测试记录(2026-04-13)
|
||||
|
||||
## 1. 测试目的
|
||||
|
||||
记录当前在 `RK3588` 设备上的人脸识别与劳保鞋识别联调结果,尤其是黑鞋误报、白鞋告警、以及对应测试版配置参数。
|
||||
|
||||
本记录区分两类内容:
|
||||
|
||||
- 设备侧实际运行与日志结论
|
||||
- 当前用于调试的测试版配置参数
|
||||
|
||||
## 2. 测试环境
|
||||
|
||||
- 设备:`10.0.0.81`
|
||||
- 项目路径:`/home/orangepi/apps/OrangePi3588Media`
|
||||
- 测试输入:本地 `ffmpeg` 推 RTSP,`3588` 设备拉流处理
|
||||
- 输出查看:VLC 查看 `3588` 输出流
|
||||
- 人脸库:已在 `3588` 上生成并供服务加载
|
||||
- 报警联动:
|
||||
- 本地 MinIO 已联通
|
||||
- 本地 mock alarm server 已联通
|
||||
|
||||
## 3. 当前测试版配置
|
||||
|
||||
当前主要使用的测试配置文件:
|
||||
|
||||
- `/home/orangepi/apps/OrangePi3588Media/configs/full_pipeline_1080p_test_alarm.json`
|
||||
|
||||
说明:
|
||||
|
||||
- 该文件用于调试,不等同于正式配置
|
||||
- 原始配置文件 `full_pipeline_1080p.json` 未作为本轮测试主配置
|
||||
|
||||
### 3.1 当前告警调试参数
|
||||
|
||||
为便于观察白鞋/黑鞋是否进入告警链路,测试版告警条件已放宽:
|
||||
|
||||
- `min_score = 0.10`
|
||||
- `min_duration_ms = 0`
|
||||
- `min_hits = 1`
|
||||
- `hit_window_ms = 3000`
|
||||
- `cooldown_ms = 1000`
|
||||
|
||||
说明:
|
||||
|
||||
- 这些参数只适合联调阶段
|
||||
- 不适合直接作为正式上线值
|
||||
|
||||
### 3.2 当前鞋颜色判定参数
|
||||
|
||||
当前测试版 `shoe_color.color_check` 参数为:
|
||||
|
||||
- `method = brightness`
|
||||
- `dark_threshold = 90`
|
||||
- `roi_expand = 1.0`
|
||||
- `center_w_scale = 0.6`
|
||||
- `center_h_scale = 0.6`
|
||||
- `enable_size_filter = true`
|
||||
- `max_shoe_height_ratio = 0.28`
|
||||
- `max_shoe_width_ratio = 0.60`
|
||||
- `max_shoe_area_ratio = 0.15`
|
||||
|
||||
## 4. 当前设备侧代码调试状态
|
||||
|
||||
本轮在 `3588` 上做过的关键修正:
|
||||
|
||||
1. 颜色分析不再直接看整块鞋框,而是看鞋框中心 `60% x 60%`
|
||||
2. `shoe_color` 不再处理未成功关联到人的鞋框
|
||||
- 即:未关联鞋框会直接跳过
|
||||
3. 在 `shoe_color` 前增加了尺寸过滤
|
||||
- 过滤条件支持写进配置
|
||||
- 当前启用高度、宽度、面积三项约束
|
||||
4. `logic_gate` debug 日志已补充:
|
||||
- `person bbox`
|
||||
- `foot_region`
|
||||
- `skip unmatched shoe`
|
||||
- `size filter skip`
|
||||
|
||||
## 5. 人脸识别结果
|
||||
|
||||
### 5.1 当前现象
|
||||
|
||||
- 人脸检测链路正常
|
||||
- 已登记身份能识别出 `reg001`
|
||||
- 远距离或角度不佳时可能先显示红框/`unknown`
|
||||
- 人靠近后能稳定变成绿色识别框
|
||||
|
||||
### 5.2 当前判断
|
||||
|
||||
- 人脸主链路已跑通
|
||||
- 当前主要矛盾已不在人脸识别
|
||||
- 后续如果继续优化,应重点看距离、侧脸、低清晰度下的识别稳定性
|
||||
|
||||
## 6. 劳保鞋识别结果
|
||||
|
||||
### 6.1 早期问题
|
||||
|
||||
在未修正数据流前,黑鞋视频存在明显误报,白鞋视频也出现过告警不稳定。
|
||||
|
||||
通过设备侧日志确认的根因包括:
|
||||
|
||||
- `ai_shoe_det` 会追加多个鞋框
|
||||
- `shoe_assoc` 只会给部分鞋框补上人的 `track_id`
|
||||
- `shoe_color` 早期会处理不该处理的鞋框
|
||||
- 大鞋框或错误关联鞋框进入颜色判断后,容易把黑鞋判成 `non_black_shoe`
|
||||
|
||||
### 6.2 现阶段黑鞋结论
|
||||
|
||||
在当前测试参数下,黑鞋误报已经明显下降。
|
||||
|
||||
设备侧日志表现为:
|
||||
|
||||
- 未关联鞋框会被 `skip unmatched shoe`
|
||||
- 大坏框会被 `size filter skip`
|
||||
- 主小人正常鞋框进入颜色分析后,多数结果为:
|
||||
- `is_dark = true`
|
||||
- 最近一轮黑鞋日志中,没有再看到新的:
|
||||
- `color violation`
|
||||
- `RULE MATCHED`
|
||||
- `ALARM`
|
||||
|
||||
阶段性判断:
|
||||
|
||||
- 当前这组过滤参数对黑鞋误报收敛有效
|
||||
|
||||
### 6.3 现阶段白鞋结论
|
||||
|
||||
在当前测试参数下,白鞋仍然可以稳定触发告警。
|
||||
|
||||
设备侧日志表现为:
|
||||
|
||||
- 小而有效的白鞋框能保留下来
|
||||
- `Brightness` 明显偏高,`is_dark = false`
|
||||
- 可继续触发:
|
||||
- `color violation`
|
||||
- `RULE MATCHED`
|
||||
- `ALARM`
|
||||
|
||||
同时,过大的白鞋框仍会被尺寸过滤挡掉。
|
||||
|
||||
阶段性判断:
|
||||
|
||||
- 当前这组参数没有把白鞋违规一起压没
|
||||
|
||||
## 7. 当前对尺寸过滤的结论
|
||||
|
||||
### 7.1 已验证结论
|
||||
|
||||
1. `max_shoe_height_ratio = 0.05`
|
||||
- 过于严格
|
||||
- 会把大量正常鞋框一起过滤掉
|
||||
- 仅适合证明过滤链路是否生效,不适合作为正式值
|
||||
|
||||
2. 当前更平衡的测试值
|
||||
- `max_shoe_height_ratio = 0.28`
|
||||
- `max_shoe_width_ratio = 0.60`
|
||||
- `max_shoe_area_ratio = 0.15`
|
||||
|
||||
3. 面积比例比高度比例更关键
|
||||
- `0.12` 时会压掉一部分有效白鞋框
|
||||
- 调到 `0.15` 后,白鞋有效框放回了一部分
|
||||
- 同时黑鞋明显误报暂未重新抬头
|
||||
|
||||
### 7.2 现阶段推荐测试值
|
||||
|
||||
如果继续沿当前方向验证,建议先保持:
|
||||
|
||||
- `max_shoe_height_ratio = 0.28`
|
||||
- `max_shoe_width_ratio = 0.60`
|
||||
- `max_shoe_area_ratio = 0.15`
|
||||
|
||||
## 8. 下一步建议
|
||||
|
||||
下一步优先顺序建议如下:
|
||||
|
||||
1. 用同一组参数继续测多人视频
|
||||
2. 补测不同距离的黑鞋/白鞋
|
||||
3. 记录:
|
||||
- 黑鞋是否再次出现误报
|
||||
- 白鞋是否稳定告警
|
||||
- 多人时是否出现串人、串鞋
|
||||
4. 如果后续再调参数,优先围绕:
|
||||
- `max_shoe_area_ratio`
|
||||
- `max_shoe_width_ratio`
|
||||
|
||||
不建议下一步立即再收紧 `max_shoe_height_ratio`
|
||||
|
||||
### 8.1 建议补充的多人测试视频
|
||||
|
||||
当前多人混合视频中同时存在黑鞋和白鞋,虽然能看到告警,但不利于明确区分:
|
||||
|
||||
- 哪些属于白鞋正确告警
|
||||
- 哪些属于黑鞋误报
|
||||
|
||||
因此建议优先补充两类“控制变量”视频:
|
||||
|
||||
1. 多人全黑鞋或深色鞋视频
|
||||
用途:专门测误报。只要出现告警,基本可以直接判为误报。
|
||||
|
||||
2. 多人全白鞋或浅色鞋视频
|
||||
用途:专门测漏报。若不告警或告警明显不稳定,可判为漏报。
|
||||
|
||||
如果资源允许,可再补一类:
|
||||
|
||||
3. 多人黑白混合视频
|
||||
用途:验证多人同框下是否能同时兼顾黑鞋不过报、白鞋能报警。
|
||||
|
||||
## 9. 现阶段结论
|
||||
|
||||
截至本记录时间点,可以做出的阶段性判断是:
|
||||
|
||||
- 人脸识别主链路已跑通
|
||||
- 劳保鞋识别的数据流问题已定位并已做设备侧修正
|
||||
- 当前测试参数下:
|
||||
- 黑鞋误报明显下降
|
||||
- 白鞋仍可触发告警
|
||||
- `size filter + 只处理已关联鞋框` 是当前阶段最有效的修正方向
|
||||
Loading…
Reference in New Issue
Block a user