Files
Feeding_control_system/vision/overflow_model/README.md
2025-11-17 00:05:40 +08:00

79 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RKNN 堆料分类推理系统 README
本项目用于在 RK3588 平台上运行 RKNN 分类模型,对多个 ROI 区域进行堆料状态分类,包括:
未堆料 0
小堆料 1
大堆料 2
未浇筑满 3
浇筑满 4
项目中支持 多 ROI 裁剪、模型推理、加权判断(小/大堆料) 和分类结果输出。
## 目录结构
project/
│── yiliao_cls.rknn # RKNN 模型
│── best.pt # pt 模型
│── roi_coordinates/ # ROI 坐标文件目录
│ └── 1_rois.txt
│── test_image/ # 测试图片目录
│ └── 1.jpg
└── 2.jpg
└── 3.jpg
│── yiliao_main_rknn.py # RKNN主推理脚本
│── yiliao_main_pc.py # PC推理脚本
│── README.md
## 配置(略)
## 安装依赖(略)
## 调用示例
单张图片推理调用示例
```bash
from yiliao_main_rknn import classify_frame_with_rois
if __name__ == "__main__":
model_path = "yiliao_cls.rknn"
roi_file = "./roi_coordinates/1_rois.txt"
frame = cv2.imread("./test_image/2.jpg")
outputs = classify_frame_with_rois(model_path, frame, roi_file)
for res in outputs:
print(res)
```
##小堆料 / 大堆料加权判定说明
模型原始输出中小堆料class 1与大堆料class 2相比时容易出现概率接近的情况。
通过加权机制:
✔ 可以避免因整体概率偏低导致分类不稳定
✔ 优先放大“大堆料 的可能性”(因为 w2 > w1
✔ score 更能反映堆料大小的趋势,而不是绝对概率
为提高判断稳定性采用了加权评分方式这些参数都可以根据实际情况在文件中对weighted_small_large中参数进行修改
score = (0.3 * p1 + 0.7 * p2) / (p1 + p2)
score ≥ 0.4 → 大堆料
score < 0.4 小堆料
p1小堆料概率
p2大堆料概率
score 越接近 1 越倾向于大堆料
score 越接近 0 越倾向于小堆料