修改模型的描述;配置文件只保留人和靴子的检测

This commit is contained in:
haotian 2026-02-28 14:44:06 +08:00
parent 806cff694f
commit d6880498f9
4 changed files with 25 additions and 42 deletions

View File

@ -52,7 +52,8 @@
"stats": true,
"stats_interval": 30,
"detections": true
}
},
"class_filter": [3, 6]
},
{
"id": "face_det_cam1",

View File

@ -6,8 +6,7 @@
```
models/
├── best-640.rknn # YOLO 通用检测模型 (3类)
├── best-768.rknn # YOLO PPE检测模型 (11类)
├── best-768.rknn # YOLO PPE检测模型 (11类实际使用2类)
├── yolov5s-640-640.rknn # YOLOv5 COCO预训练模型 (80类)
├── yolov8n-640.rknn # YOLOv8n COCO预训练模型 (80类)
├── RetinaFace_mobile320.rknn # 人脸检测模型
@ -17,38 +16,12 @@ models/
## 模型详情
### 1. best-640.rknn
**类型**: YOLOv8 目标检测
**输入尺寸**: 640x640
**类别数**: 3
| 索引 | 类别名 | 说明 |
|------|--------|------|
| 0 | person | 人 |
| 1 | vest | 反光背心 |
| 2 | boots | 安全靴 |
**配置示例**:
```json
{
"type": "ai_yolo",
"model_path": "./models/best-640.rknn",
"model_version": "v8",
"num_classes": 3,
"conf": 0.35,
"nms": 0.45
}
```
---
### 2. best-768.rknn (PPE11)
### 1. best-768.rknn (PPE11)
**类型**: YOLOv8 PPE检测模型
**输入尺寸**: 768x768
**类别数**: 11
**模型名**: ppe11_person_boots_boost
**实际使用类别**: 2 (boots + Person)
| 索引 | 类别名 | 业务使用 | 说明 |
|------|--------|----------|------|
@ -75,7 +48,7 @@ models/
"model_w": 768,
"model_h": 768,
"num_classes": 11,
"conf": 0.35,
"conf": 0.2,
"nms": 0.45,
"class_filter": [3, 6]
}
@ -89,9 +62,18 @@ models/
}
```
**Tracker配置**:
```json
{
"type": "tracker",
"track_classes": [3, 6],
"per_class": true
}
```
---
### 3. yolov5s-640-640.rknn
### 2. yolov5s-640-640.rknn
**类型**: YOLOv5s COCO预训练模型
**输入尺寸**: 640x640
@ -113,7 +95,7 @@ models/
---
### 4. yolov8n-640.rknn
### 3. yolov8n-640.rknn
**类型**: YOLOv8n COCO预训练模型
**输入尺寸**: 640x640
@ -135,7 +117,7 @@ models/
---
### 5. RetinaFace_mobile320.rknn
### 4. RetinaFace_mobile320.rknn
**类型**: RetinaFace 人脸检测
**输入尺寸**: 320x320
@ -155,7 +137,7 @@ models/
---
### 6. mobilefacenet_arcface.rknn
### 5. mobilefacenet_arcface.rknn
**类型**: MobileFaceNet + ArcFace 人脸识别
**输入尺寸**: 112x112
@ -186,8 +168,7 @@ models/
| 场景 | 推荐模型 | 说明 |
|------|----------|------|
| 通用目标检测 | yolov8n-640.rknn | 80类COCO通用性强 |
| 工地安全检测 | best-640.rknn | 人/背心/安全靴 |
| PPE完整检测 | best-768.rknn | 11类PPE含正反例 |
| 工地安全检测 (人+靴) | best-768.rknn | 11类PPE只使用3(boots)+6(Person) |
| 人脸检测+识别 | RetinaFace + MobileFaceNet | 人脸识别链路 |
## 注意事项
@ -195,4 +176,4 @@ models/
1. **模型尺寸匹配**: `preprocess` 节点的 `dst_w/dst_h` 必须与模型输入尺寸一致
2. **num_classes**: 必须与模型实际类别数一致,否则后处理会出错
3. **class_filter**: 用于过滤只关心的类别,减少后续处理负载
4. **best-768.rknn**: 只消费类别 3(boots) 和 6(Person),其他类别可忽略
4. **best-768.rknn**: 只消费类别 3(boots) 和 6(Person),其他类别在 class_filter 中已过滤

View File

@ -432,9 +432,10 @@ public:
PushToDownstream(frame);
++processed_;
if (stats_log_ && stats_interval_ > 0 && (processed_ % stats_interval_) == 0) {
LogInfo("[ai_yolo] processed=" + std::to_string(processed_) + " id=" + id_);
}
// Stats log disabled to reduce log spam
// if (stats_log_ && stats_interval_ > 0 && (processed_ % stats_interval_) == 0) {
// LogInfo("[ai_yolo] processed=" + std::to_string(processed_) + " id=" + id_);
// }
return NodeStatus::OK;
}