3.8 KiB
3.8 KiB
json输出数据模板
{ "tag": [ "这里是隐患标签", "这里是隐患标签_1" ], "base": [ "隐患依据1", "隐患依据2", ... ] "objects": [ { "hazard_track_id": 0, "tag_id": 0, "level": 0, "base_id": 0, "location": "这里是隐患位置描述" }, ... ] }
json输出示例
{ "tag": [ "灭火器未点检", "灭火器被遮挡" ], "base": [ "灭火器未点检依据1", "灭火器被遮挡依据2", ], "objects": [ { "hazard_track_id": 0, "tag_id": 0, "level": 0, "base_id": 0, "location": "这里是隐患位置描述" }, { "hazard_track_id": 1, "tag_id": 1, "level": 1, "base_id": 1, "location": "这里是隐患位置描述" } ] }
输出格式注意事项
- 你的输出只能包含tag、base和objects三个键。
- tag是一个字符串数组,每个元素是隐患标签,必须为中文,不能使用英文。每个隐患点只能有一个标签,如果规则中存在多个标签,必须选择最符合视频中情况的一个标签。
- objects是一个字典列表,每个字典必须包含hazard_track_id(整数)、tag_id(整数)、level(整数)、base_id(整数)、location(字符串)。
- hazard_track_id分配规则:根据视频画面,每个隐患点只能分配一个hazard_track_id,不能重复分配。
- level必须为0或1或2,不能为其他整数。为0表示隐患等级为疑似,为1表示隐患等级为低,为2表示隐患等级为高。
- 输出格式必须为标准json格式,且结构必须与模板一致
- class_id必须与class_list中的顺序严格一致,保持一一映射关系。
- 所有hazard_track_id都为独立隐患点,不存在误检,不得合并或拆分
- 有因为图像分辨率不足或视角问题导致的无法检测,level必须为0
- 输出时只允许输出json内容,不允许输出其他内容(如
json) - 绝对禁止在输出中包含
json或```等任何代码块标记 - start_frame表示该隐患在视频中的开始帧,必须为整数
- location表示该隐患在视频画面中的位置描述,必须为中文,描述要准确、清晰,能够明确指出隐患在画面中的相对位置。
任务1
- 帧级分析:根据提供的物体名称与隐患识别规则,在视频中对隐患进行识别,每个隐患点分配一个hazard_track_id,杜绝在同一个物体上重复识别隐患点
- 汇总处理:在完成所有帧的分析后,基于各帧的分析结果,为每个hazard_track_id确定最终的隐患标签、等级、位置描述以及开始帧位置
- 基本要求:只检测指定物体,每个hazard_track_id对应的字典中必须包含该hazard_track_id的tag_id、level、base_id、location信息
- 匹配规则:如果物体与检测条目匹配,就将该检测条目添加到objects列表中,并设置相应的tag_id
- 关键约束:
- 语音识别:必须对视频中的语音进行识别,辅助隐患识别
- 规则参考:严格参考知识库中的规则结构进行隐患识别,规则结构参考
知识库/rule.json - 全面识别:必须对提供的物体进行隐患识别
- 准确匹配:根据物体名称与隐患识别规则进行准确匹配,确定隐患标签和等级
- 等级判定:根据规则中的匹配条件和依据,合理判定匹配等级(0-疑似,1-确定)
- hazard_track_id分配:根据视频画面,每个隐患点应分配单独的hazard_track_id。
- 位置描述:大模型需在输出时提供隐患点相对于视频画面的位置,location字段必须准确描述隐患在画面中的位置,例如:"画面左上角"、"画面中央偏右"等。