Install
openclaw skills install @smyx-sunjinhui/smyx-body-size-weight-estimation-analysisEstimates livestock body length and body weight from side-view videos or frames, tracking fattening progress in a contactless manner. | 通过视频视觉估测体长、体重,追踪育肥进度。
openclaw skills install @smyx-sunjinhui/smyx-body-size-weight-estimation-analysis通过视频视觉估测体长、体重,追踪育肥进度。
无接触育肥监测中枢 · 畜禽侧视图像/视频智能分析 · 体长/体高/胸围识别 · 参照物尺寸换算 · 体重与育肥阶段估测 · 历史报告云端查询
| 模块 | 内容 |
|---|---|
| 🏷️ 技能名称 | 畜禽体长/体重估测 |
| 🎯 核心目标 | 基于畜禽侧视图像或视频帧,检测体长、体高、胸围等体型参数,结合参照物换算为实际尺寸,估测体重与所处育肥阶段 |
| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL(推荐侧视清晰画面) |
| 📝 输出能力 | 结构化分析报告、体长/体高/胸围估测值、体重估测值、育肥阶段判定、报告链接 |
| 🏢 适用场景 | 猪/牛/羊等畜禽的育肥进度追踪、出栏时机参考、无接触群体体尺监测 |
| 🧩 场景码 | SMYX_BODY_SIZE_WEIGHT_ESTIMATION_ANALYSIS |
| 角色要点 | 说明 |
|---|---|
| 说明 1 | 你是一个专业的畜禽生长监测 AI。你的任务是分析畜禽侧视图像(或视频帧),检测畜禽的体长、体高、胸围等体型参数,结合参照物进行实际尺寸换算,输出估测体重及育肥阶段。不要提供饲喂建议或出栏建议,仅基于视觉特征输出体尺估测结果。 |
通过畜禽侧视图像或视频帧,识别关键体尺特征并结合参照物换算实际尺寸,估算个体的体长、体高、胸围与体重,同时给出所处育肥阶段判定,为规模化猪、牛、羊养殖的育肥进度追踪与出栏时机判断提供无接触视觉参考。
| 序号 | 具体能力 |
|---|---|
| 1 | 畜禽个体检测与侧视姿态判定 |
| 2 | 参照物识别与像素-实际比例标定 |
| 3 | 体长估测(吻端-尾根 / 头-臀水平投影) |
| 4 | 体高估测(肩高 / 髻甲高度) |
| 5 | 胸围/体宽视觉估测 |
| 6 | 体型参数-体重回归估测(按畜种模型) |
| 7 | 育肥阶段判定(保育 / 育成 / 育肥 / 接近出栏) |
| 8 | 估测结果置信度与可用度提示(受遮挡/姿态影响的说明) |
| 触发类型 | 触发规则 |
|---|---|
| ✅ 默认触发 | 当用户提供畜禽侧视图像/视频 URL 或文件需要体尺/体重估测时,默认触发本技能 |
| 🔎 明确分析意图 | 当用户明确提及体重估测、体长测量、育肥进度、出栏时机判断、无接触称重、视觉称重等关键词,并且上传了图片或视频文件 |
| 📚 历史报告查询 | 当用户提及以下关键词时,自动触发历史报告查询功能:查看历史体重估测报告、历史体尺估测报告、育肥进度清单、查询畜禽体重记录、显示所有体长体重估测报告 |
| 自动行为 | 执行要求 |
|---|---|
| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件,则自动保存为本地文件 |
| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词,必须直接调用云端 API 查询,不得从本地记忆或人工汇总中获取 |
橙色强约束: 历史报告清单只允许从云端接口读取,不允许从本地记录、长期记忆或人工汇总中提取。
必须执行:
python -m scripts.smyx_body_size_weight_estimation_analysis --list
| 类型 | 要求 |
|---|---|
| ✅ 必须 | 使用 python -m scripts.smyx_body_size_weight_estimation_analysis --list 调用 API 查询云端的历史报告数据 |
| 🚫 严格禁止 | 从本地 memory 目录读取历史会话信息 |
| 🚫 严格禁止 | 手动汇总本地记录中的报告 |
| 🚫 严格禁止 | 从长期记忆中提取报告 |
| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据,然后以 Markdown 表格格式输出结果 |
scripts 脚本所需的依赖包及版本:
requests>=2.28.0
| 序号 | 说明 |
|---|---|
| 1 | 目标畜禽以完整侧视姿态入镜(吻端至尾根、蹄底至髻甲均在画面内),避免大角度俯仰 |
| 2 | 拍摄距离建议 1.5m~5m,畜禽身体轮廓清晰可见,尽量避免其它个体大面积遮挡 |
| 3 | 画面中需包含已知尺寸的参照物(如围栏杆间距、地砖、标定板等),便于像素-实际尺寸换算 |
| 4 | 光照条件稳定,避免强逆光和大面积过暗/过曝,保证轮廓边缘清晰 |
| 5 | 视频建议 5 |
| 6 | 支持格式:jpg/png/jpeg 图片,及 mp4/avi/mov 视频;单文件不超过 10MB |
| 7 | 目标畜禽尽量处于自然站立状态(四肢着地、身体伸展),避免弓背、卧地或走动模糊 |
绿色安全原则: 用户身份参数由系统内部自动处理,不得向用户展示、询问或要求输入任何身份标识。
执行本技能分析或历史报告查询时,脚本会自动完成身份初始化:
| 场景 | 系统行为 |
|---|---|
| 上游系统有内部身份参数 | 由脚本静默接收并使用 |
| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |
| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |
| 对用户输出 | 只展示分析进度、分析结果和报告链接,不展示内部身份值 |
| 禁止/要求 | 说明 |
|---|---|
| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |
| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |
| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |
| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联,用户只需表达"查看历史报告/报告清单"等意图 |
| 步骤 | 阶段 | 执行动作 |
|---|---|---|
| 1 | 📥 准备畜禽侧视图像/视频 | 提供本地文件路径或网络 URL;确保侧视姿态完整、参照物清晰 |
| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数;不在回复中展示内部身份值 |
| 3 | ⚙️ 执行体长/体重估测 | 调用 -m scripts.smyx_body_size_weight_estimation_analysis 处理输入(必须在技能根目录下运行脚本) |
| 4 | 📊 查看分析结果 | 接收结构化分析报告,查看体尺、体重估测值、育肥阶段与报告链接 |
| 参数 | 含义 | 备注 |
|---|---|---|
--input | 本地畜禽侧视图像/视频文件路径 | 适用于本地文件分析 |
--url | 网络畜禽侧视图像/视频 URL 地址 | API 服务自动下载 |
--pet-type | 类别标识(畜禽场景保持 other) | 默认 other,按需填写 |
--list | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |
--api-url | API 服务地址 | 可选,使用默认值 |
--detail | 输出详细程度 | basic / standard / json,默认 json |
--output | 结果输出文件路径 | 可选 |
| 资源类型 | 路径 | 用途 | 何时读取 |
|---|---|---|---|
| 🐍 必要脚本 | scripts/smyx_body_size_weight_estimation_analysis.py | 调用 API 进行畜禽体长/体重估测或查询历史报告 | 执行分析或查询时使用 |
| ⚙️ 配置文件 | scripts/config.py | 场景码 SMYX_BODY_SIZE_WEIGHT_ESTIMATION_ANALYSIS、默认参数配置 | 需要确认默认配置时读取 |
| 📘 领域参考 | references/api_doc.md | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |
| 分类 | 注意事项 |
|---|---|
| 📚 文档读取 | 仅在需要时读取参考文档,保持上下文简洁 |
| 📁 格式支持 | 图片支持 jpg / png / jpeg;视频支持 mp4 / avi / mov;单文件最大 10MB |
| 🧑⚖️ 结果性质 | 估测结果仅供育肥进度参考,本技能不提供饲喂建议或出栏建议 |
| 🚫 脚本限制 | 禁止临时生成脚本,只能使用技能本身的脚本 |
| 🌐 网络地址 | 传入的网络地址参数无需本地下载,默认为公网地址,API 服务会自动下载 |
| 📜 报告输出 | 显示历史分析报告清单时,从接口返回 JSON 数据中提取字段作为超链接地址,并自动转化为 Markdown 表格输出 |
| 序号 | 说明 |
|---|---|
| 1 | 仅采集与畜禽体长/体重估测直接相关的图像/视频数据,不采集与体尺估测无关的敏感信息 |
| 2 | 内部身份参数由系统自动处理,不在任何输出、日志或报告中暴露 |
| 3 | 分析请求通过服务端 API 完成,网络传输遵循平台既有安全策略 |
| 4 | 历史报告仅当前身份可读,不做跨养殖场/跨用户汇总或共享 |
| 5 | 估测结果仅供参考,正式称重与出栏决策请结合养殖场既有称重设备与生产管理规程 |
当显示历史分析报告清单的时候,从接口返回 JSON 数据中提取字段作为超链接地址,且自动转化为如下 Markdown 表格格式输出。
| 列名 | 生成规则 |
|---|---|
| 报告名称 | 使用 畜禽体长体重估测报告-{记录id} 形式拼接 |
| 育肥阶段 | 从接口返回数据中提取(保育 / 育成 / 育肥 / 接近出栏) |
| 分析时间 | 从接口返回数据中提取 |
| 点击查看 | 使用 [🔗 查看报告]() 格式的超链接 |
| 报告名称 | 育肥阶段 | 分析时间 | 点击查看 |
|---|---|---|---|
| 畜禽体长体重估测报告-20260703160500001 | 育肥 | 2026-07-03 16:05:00 | 🔗 查看报告 |
python -m scripts.smyx_body_size_weight_estimation_analysis --input /path/to/fatten_pig_side.jpg
python -m scripts.smyx_body_size_weight_estimation_analysis --input /path/to/beef_cattle.mp4
python -m scripts.smyx_body_size_weight_estimation_analysis --input /path/to/sheep_side.jpg
python -m scripts.smyx_body_size_weight_estimation_analysis --url https://example.com/livestock_side_view.mp4
自动触发关键词:查看历史体长体重估测报告、历史报告、育肥进度清单等。
python -m scripts.smyx_body_size_weight_estimation_analysis --list
python -m scripts.smyx_body_size_weight_estimation_analysis --input fatten_pig_side.jpg --detail basic
python -m scripts.smyx_body_size_weight_estimation_analysis --input beef_cattle.mp4 --output result.json