diff --git a/lib/qwen_fun.py b/lib/qwen_fun.py index 0d939b2..31aee9a 100644 --- a/lib/qwen_fun.py +++ b/lib/qwen_fun.py @@ -460,8 +460,9 @@ def hazard_inspection( temp_obj["track_id"] = track_id temp_obj["hazard_track_id"] = hazard_count temp_obj["class_id"] = track_info["class_id"] - temp_obj["level"] = obj["level"] + temp_obj["conf"] = obj["conf"] temp_obj["start_frame"] = track_info["start_frame"] + temp_obj["end_frame"] = track_info["end_frame"] temp_obj["start_sec"] = round(track_info["start_frame"] / fps, 1) # 处理成x.x秒 temp_obj["location"] = obj.get("location", "") diff --git a/prompt/7_检测提示词_视频_new4.md b/prompt/7_检测提示词_视频_new4.md index db355ac..282403f 100644 --- a/prompt/7_检测提示词_视频_new4.md +++ b/prompt/7_检测提示词_视频_new4.md @@ -13,9 +13,10 @@ { "hazard_track_id": 0, "tag_id": 0, - "level": 0, + "conf": 0, "base_id": 0, - "location": "这里是隐患位置描述" + "location": "这里是隐患位置描述", + "recommend": "这里是整改建议" }, ... ] @@ -35,16 +36,18 @@ { "hazard_track_id": 0, "tag_id": 0, - "level": 0, + "conf": 0, "base_id": 0, - "location": "这里是隐患位置描述" + "location": "这里是隐患位置描述", + "recommend": "这里是整改建议" }, { "hazard_track_id": 1, "tag_id": 1, - "level": 1, + "conf": 1, "base_id": 1, - "location": "这里是隐患位置描述" + "location": "这里是隐患位置描述", + "recommend": "这里是整改建议" } ] } @@ -52,17 +55,18 @@ # 输出格式注意事项 - 你的输出只能包含tag、base和objects三个键。 - tag是一个字符串数组,每个元素是隐患标签,必须为中文,不能使用英文。每个隐患点只能有一个标签,如果规则中存在多个标签,必须选择最符合视频中情况的一个标签。 -- objects是一个字典列表,每个字典必须包含hazard_track_id(整数)、tag_id(整数)、level(整数)、base_id(整数)、location(字符串)。 +- objects是一个字典列表,每个字典必须包含hazard_track_id(整数)、tag_id(整数)、conf(整数)、base_id(整数)、location(字符串)、recommend(字符串)这6个键。 - hazard_track_id分配规则:根据视频画面,每个隐患点只能分配一个hazard_track_id,不能重复分配。 -- level必须为0或1或2,不能为其他整数。为0表示隐患等级为疑似,为1表示隐患等级为低,为2表示隐患等级为高。 +- conf必须为为0或1,不能为其他整数。为0表示隐患等级为疑似,为1表示疑似,为2表示确信。 - 输出格式必须为标准json格式,且结构必须与模板一致 - class_id必须与class_list中的顺序严格一致,保持一一映射关系。 - 所有hazard_track_id都为独立隐患点,不存在误检,不得合并或拆分 -- 有因为图像分辨率不足或视角问题导致的无法检测,level必须为0 +- 有因为图像分辨率不足或视角问题导致的无法检测,置信度conf必须为0 - 输出时只允许输出json内容,不允许输出其他内容(如```json ```) - 绝对禁止在输出中包含```json```或```等任何代码块标记 - start_frame表示该隐患在视频中的开始帧,必须为整数 - location表示该隐患在视频画面中的位置描述,必须为中文,描述要准确、清晰,能够明确指出隐患在画面中的相对位置。 +- recommend表示该隐患的整改建议,必须为中文,不能使用英文。 # 任务1 - **帧级分析**:根据提供的物体名称与隐患识别规则,在视频中对隐患进行识别,每个隐患点分配一个hazard_track_id,杜绝在同一个物体上重复识别隐患点 @@ -74,6 +78,7 @@ 2. **规则参考**:严格参考知识库中的规则结构进行隐患识别,规则结构参考 `知识库/rule.json` 3. **全面识别**:必须对提供的物体进行隐患识别 4. **准确匹配**:根据物体名称与隐患识别规则进行准确匹配,确定隐患标签和等级 - 5. **等级判定**:根据规则中的匹配条件和依据,合理判定匹配等级(0-疑似,1-确定) + 5. **置信度判定**:根据规则中的匹配条件和依据,合理判定匹配置信度(0-疑似,1-确信) 6. **hazard_track_id分配**:根据视频画面,每个隐患点应分配单独的hazard_track_id。 7. **位置描述**:大模型需在输出时提供隐患点相对于视频画面的位置,location字段必须准确描述隐患在画面中的位置,例如:"画面左上角"、"画面中央偏右"等。 + 8. **整改建议**:大模型需在输出时提供隐患点的整改建议,recommend字段必须为中文,不能使用英文。