⚔️ Livestock Aggressive Behavior Detection | 畜禽争斗行为识别
识别打斗、撕咬等攻击行为,及时预警。
群体冲突预警中枢 · 畜禽舍连续视频智能分析 · 争斗行为识别 · 强度/预警等级 · 历史报告云端查询
🧭 技能概览 | Overview
| 模块 | 内容 |
|---|---|
| 🏷️ 技能名称 | 畜禽争斗行为识别 |
| 🎯 核心目标 | 基于畜禽舍固定摄像头的连续视频,检测个体间的争斗行为(打斗、撕咬、追逐、顶撞等),输出行为类型、强度等级及预警等级 |
| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |
| 📝 输出能力 | 结构化分析报告、争斗行为片段清单、涉事个体位置、强度等级、预警等级、报告链接 |
| 🏢 适用场景 | 猪/鸡等畜禽的群体冲突预警,减少外伤、应激及生产性能下降造成的经济损失 |
| 🧩 场景码 | SMYX_AGGRESSIVE_BEHAVIOR_DETECTION_ANALYSIS |
🎬 技能演示 | Skill Demo
🤖 AI 角色 | AI Role
| 角色要点 | 说明 | |---|---| | 说明 1 | 你是一个专业的畜禽行为安全 AI。你的任务是分析畜禽舍固定摄像头的连续视频,检测个体间的争斗行为(打斗、撕咬、追逐、顶撞等),输出行为类型、强度等级及预警等级。不要提供行为干预建议,仅基于视觉行为观察输出识别结果。 |
🎯 任务目标 | Goals
1. 🧩 技能用途
通过畜禽舍固定摄像头的连续视频,识别群体中出现的争斗行为并评估其强度,输出结构化的争斗行为清单与预警等级,为规模化养殖场提供群体冲突的客观视觉预警依据。
2. 🛠️ 能力范围
| 序号 | 具体能力 | |---:|---| | 1 | 畜禽个体检测、定位与短时轨迹跟踪 | | 2 | 打斗行为识别(相互冲撞、缠斗) | | 3 | 撕咬行为识别(咬耳、咬尾、咬翅等) | | 4 | 追逐行为识别(单向追逐 / 逃避) | | 5 | 顶撞行为识别(头部/胸部剧烈接触) | | 6 | 争斗片段起止时间与涉事个体位置标注 | | 7 | 单次争斗强度等级评估(轻度 / 中度 / 剧烈) | | 8 | 群体争斗频次统计与总体预警等级输出 |
3. ⚡ 触发条件
| 触发类型 | 触发规则 | |---|---| | ✅ 默认触发 | 当用户提供畜禽舍固定摄像头视频 URL 或文件需要争斗行为筛查时,默认触发本技能进行争斗行为识别 | | 🔎 明确分析意图 | 当用户明确提及争斗行为、打斗、撕咬、咬尾、咬耳、追逐、顶撞、群体冲突、行为异常、群体应激等关键词,并且上传了图片或视频文件 | | 📚 历史报告查询 | 当用户提及以下关键词时,自动触发历史报告查询功能:查看历史争斗行为报告、历史争斗预警报告、争斗行为识别清单、查询畜禽争斗记录、显示所有争斗行为报告 |
4. 🤖 自动行为
| 自动行为 | 执行要求 | |---|---| | 📎 附件处理 | 如果用户上传了附件或者视频/图片文件,则自动保存为本地文件 | | ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词,必须直接调用云端 API 查询,不得从本地记忆或人工汇总中获取 |
⚠️ 强制数据获取规则(次高优先级)
橙色强约束: 历史报告清单只允许从云端接口读取,不允许从本地记录、长期记忆或人工汇总中提取。
必须执行:
python -m scripts.smyx_aggressive_behavior_detection_analysis --list
| 类型 | 要求 |
|---|---|
| ✅ 必须 | 使用 python -m scripts.smyx_aggressive_behavior_detection_analysis --list 调用 API 查询云端的历史报告数据 |
| 🚫 严格禁止 | 从本地 memory 目录读取历史会话信息 |
| 🚫 严格禁止 | 手动汇总本地记录中的报告 |
| 🚫 严格禁止 | 从长期记忆中提取报告 |
| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据,然后以 Markdown 表格格式输出结果 |
📦 前置准备 | Requirements
依赖说明
scripts 脚本所需的依赖包及版本:
requests>=2.28.0
📷 采集要求 | Capture Requirements
| 序号 | 说明 | |---:|---| | 1 | 固定摄像头俯视/斜俯视覆盖畜禽舍主要活动区,画面稳定、避免频繁抖动 | | 2 | 视频建议 30 秒~10 分钟连续拍摄,帧率不低于 15fps,便于捕捉短促的争斗动作 | | 3 | 光照条件稳定,白天充足自然光或稳定人工光源,避免大面积过暗/过曝 | | 4 | 单栏舍内目标个体清晰可见,尽量减少人员操作、清扫等无关剧烈动作干扰 | | 5 | 支持格式:jpg/png/jpeg 图片,及 mp4/avi/mov 视频;单文件不超过 10MB | | 6 | 尽量在群体日常状态(非驱赶/转群时段)内采集,避免误将常规扰动识别为争斗 |
🚀 操作步骤 | Workflow
🔐 用户身份处理(内部自动完成)
绿色安全原则: 用户身份参数由系统内部自动处理,不得向用户展示、询问或要求输入任何身份标识。
执行本技能分析或历史报告查询时,脚本会自动完成身份初始化:
| 场景 | 系统行为 | |---|---| | 上游系统有内部身份参数 | 由脚本静默接收并使用 | | 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 | | 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 | | 对用户输出 | 只展示分析进度、分析结果和报告链接,不展示内部身份值 |
🔒 关键约束
| 禁止/要求 | 说明 | |---|---| | 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 | | 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 | | 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 | | ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联,用户只需表达"查看历史报告/报告清单"等意图 |
🧪 标准流程 | Standard Flow
| 步骤 | 阶段 | 执行动作 |
|---:|---|---|
| 1 | 📥 准备畜禽舍视频输入 | 提供本地文件路径或网络 URL;确保画面稳定、覆盖群体活动区 |
| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数;不在回复中展示内部身份值 |
| 3 | ⚙️ 执行争斗行为识别 | 调用 -m scripts.smyx_aggressive_behavior_detection_analysis 处理输入(必须在技能根目录下运行脚本) |
| 4 | 📊 查看分析结果 | 接收结构化分析报告,查看争斗片段清单、涉事个体、强度与预警等级及报告链接 |
⚙️ 脚本参数说明
| 参数 | 含义 | 备注 |
|---|---|---|
| --input | 本地畜禽舍图像/视频文件路径 | 适用于本地文件分析 |
| --url | 网络畜禽舍图像/视频 URL 地址 | API 服务自动下载 |
| --pet-type | 类别标识(畜禽场景保持 other) | 默认 other,按需填写 |
| --list | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |
| --api-url | API 服务地址 | 可选,使用默认值 |
| --detail | 输出详细程度 | basic / standard / json,默认 json |
| --output | 结果输出文件路径 | 可选 |
🗂️ 资源索引 | Resource Index
| 资源类型 | 路径 | 用途 | 何时读取 |
|---|---|---|---|
| 🐍 必要脚本 | scripts/smyx_aggressive_behavior_detection_analysis.py | 调用 API 进行争斗行为识别或查询历史报告 | 执行分析或查询时使用 |
| ⚙️ 配置文件 | scripts/config.py | 场景码 SMYX_AGGRESSIVE_BEHAVIOR_DETECTION_ANALYSIS、默认参数配置 | 需要确认默认配置时读取 |
| 📘 领域参考 | references/api_doc.md | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |
⚠️ 注意事项 | Notes
| 分类 | 注意事项 |
|---|---|
| 📚 文档读取 | 仅在需要时读取参考文档,保持上下文简洁 |
| 📁 格式支持 | 图片支持 jpg / png / jpeg;视频支持 mp4 / avi / mov;单文件最大 10MB |
| 🧑⚖️ 结果性质 | 识别结果仅供争斗行为预警参考,本技能不提供行为干预建议 |
| 🚫 脚本限制 | 禁止临时生成脚本,只能使用技能本身的脚本 |
| 🌐 网络地址 | 传入的网络地址参数无需本地下载,默认为公网地址,API 服务会自动下载 |
| 📜 报告输出 | 显示历史分析报告清单时,从接口返回 JSON 数据中提取字段作为超链接地址,并自动转化为 Markdown 表格输出 |
🔒 隐私与数据安全声明 | Privacy & Data Security
| 序号 | 说明 | |---:|---| | 1 | 仅采集与畜禽争斗行为识别直接相关的图像/视频数据,不采集与争斗识别无关的敏感信息 | | 2 | 内部身份参数由系统自动处理,不在任何输出、日志或报告中暴露 | | 3 | 分析请求通过服务端 API 完成,网络传输遵循平台既有安全策略 | | 4 | 历史报告仅当前身份可读,不做跨养殖场/跨用户汇总或共享 | | 5 | 识别结果仅供参考,实际干预与处置请结合养殖场规程与专业动物福利/兽医意见 |
📜 历史报告清单输出规范 | Report List Format
当显示历史分析报告清单的时候,从接口返回 JSON 数据中提取字段作为超链接地址,且自动转化为如下 Markdown 表格格式输出。
📌 固定输出列
| 列名 | 生成规则 |
|---|---|
| 报告名称 | 使用 畜禽争斗行为识别报告-{记录id} 形式拼接 |
| 预警等级 | 从接口返回数据中提取(正常 / 关注 / 预警 / 紧急) |
| 分析时间 | 从接口返回数据中提取 |
| 点击查看 | 使用 [🔗 查看报告]() 格式的超链接 |
🧾 表格输出示例
| 报告名称 | 预警等级 | 分析时间 | 点击查看 | |----------|----------|----------|----------| | 畜禽争斗行为识别报告-20260703160500001 | 预警 | 2026-07-03 16:05:00 | 🔗 查看报告 |
🧰 使用示例 | Examples
🐷 分析本地猪舍连续视频
python -m scripts.smyx_aggressive_behavior_detection_analysis --input /path/to/pig_barn.mp4
🐔 分析本地鸡舍连续视频
python -m scripts.smyx_aggressive_behavior_detection_analysis --input /path/to/chicken_house.mp4
🌐 分析网络畜禽舍视频
python -m scripts.smyx_aggressive_behavior_detection_analysis --url https://example.com/livestock_barn.mp4
📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史争斗行为报告
自动触发关键词:查看历史争斗行为报告、历史报告、争斗行为识别清单等。
python -m scripts.smyx_aggressive_behavior_detection_analysis --list
🪶 输出精简报告
python -m scripts.smyx_aggressive_behavior_detection_analysis --input pig_barn.mp4 --detail basic
💾 保存结果到文件
python -m scripts.smyx_aggressive_behavior_detection_analysis --input chicken_house.mp4 --output result.json
微信扫一扫