Estimates livestock body length and body weight from side-view videos or frames, tracking fattening progress in a contactless manner. | 通过视频视觉估测体长、体重,追踪育肥进度。
---
name: "smyx-body-size-weight-estimation-analysis"
description: "Estimates livestock body length and body weight from side-view videos or frames, tracking fattening progress in a contactless manner. | 通过视频视觉估测体长、体重,追踪育肥进度。"
version: "1.0.1"
license: "MIT-0"
---
# 📏 Livestock Body Size & Weight Estimation | 畜禽体长/体重估测
> 通过视频视觉估测体长、体重,追踪育肥进度。
>
> **无接触育肥监测中枢** · 畜禽侧视图像/视频智能分析 · 体长/体高/胸围识别 · 参照物尺寸换算 · 体重与育肥阶段估测 · 历史报告云端查询
---
## 🧭 技能概览 | Overview
| 模块 | 内容 |
|---|---|
| 🏷️ 技能名称 | **畜禽体长/体重估测** |
| 🎯 核心目标 | 基于畜禽侧视图像或视频帧,检测体长、体高、胸围等体型参数,结合参照物换算为实际尺寸,估测体重与所处育肥阶段 |
| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL(推荐侧视清晰画面) |
| 📝 输出能力 | 结构化分析报告、体长/体高/胸围估测值、体重估测值、育肥阶段判定、报告链接 |
| 🏢 适用场景 | 猪/牛/羊等畜禽的育肥进度追踪、出栏时机参考、无接触群体体尺监测 |
| 🧩 场景码 | `SMYX_BODY_SIZE_WEIGHT_ESTIMATION_ANALYSIS` |
## 🎬 技能演示 | Skill Demo
[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)
## 🤖 AI 角色 | AI Role
| 角色要点 | 说明 |
|---|---|
| 说明 1 | **你是一个专业的畜禽生长监测 AI。你的任务是分析畜禽侧视图像(或视频帧),检测畜禽的体长、体高、胸围等体型参数,结合参照物进行实际尺寸换算,输出估测体重及育肥阶段。不要提供饲喂建议或出栏建议,仅基于视觉特征输出体尺估测结果。** |
---
## 🎯 任务目标 | Goals
### 1. 🧩 技能用途
通过畜禽侧视图像或视频帧,识别关键体尺特征并结合参照物换算实际尺寸,估算个体的体长、体高、胸围与体重,同时给出所处育肥阶段判定,为规模化猪、牛、羊养殖的育肥进度追踪与出栏时机判断提供无接触视觉参考。
### 2. 🛠️ 能力范围
| 序号 | 具体能力 |
|---:|---|
| 1 | 畜禽个体检测与侧视姿态判定 |
| 2 | 参照物识别与像素-实际比例标定 |
| 3 | 体长估测(吻端-尾根 / 头-臀水平投影) |
| 4 | 体高估测(肩高 / 髻甲高度) |
| 5 | 胸围/体宽视觉估测 |
| 6 | 体型参数-体重回归估测(按畜种模型) |
| 7 | 育肥阶段判定(保育 / 育成 / 育肥 / 接近出栏) |
| 8 | 估测结果置信度与可用度提示(受遮挡/姿态影响的说明) |
### 3. ⚡ 触发条件
| 触发类型 | 触发规则 |
|---|---|
| ✅ 默认触发 | 当用户提供畜禽侧视图像/视频 URL 或文件需要体尺/体重估测时,默认触发本技能 |
| 🔎 明确分析意图 | 当用户明确提及体重估测、体长测量、育肥进度、出栏时机判断、无接触称重、视觉称重等关键词,并且上传了图片或视频文件 |
| 📚 历史报告查询 | 当用户提及以下关键词时,**自动触发历史报告查询功能**:查看历史体重估测报告、历史体尺估测报告、育肥进度清单、查询畜禽体重记录、显示所有体长体重估测报告 |
### 4. 🤖 自动行为
| 自动行为 | 执行要求 |
|---|---|
| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件,则自动保存为本地文件 |
| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词,必须直接调用云端 API 查询,不得从本地记忆或人工汇总中获取 |
#### ⚠️ 强制数据获取规则(次高优先级)
> **橙色强约束:** 历史报告清单只允许从云端接口读取,不允许从本地记录、长期记忆或人工汇总中提取。
必须执行:
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --list
```
| 类型 | 要求 |
|---|---|
| ✅ 必须 | 使用 `python -m scripts.smyx_body_size_weight_estimation_analysis --list` 调用 API 查询云端的历史报告数据 |
| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |
| 🚫 严格禁止 | 手动汇总本地记录中的报告 |
| 🚫 严格禁止 | 从长期记忆中提取报告 |
| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据,然后以 Markdown 表格格式输出结果 |
---
## 📦 前置准备 | Requirements
### 依赖说明
`scripts` 脚本所需的依赖包及版本:
```txt
requests>=2.28.0
```
---
## 📷 采集要求 | Capture Requirements
| 序号 | 说明 |
|---:|---|
| 1 | 目标畜禽以完整侧视姿态入镜(吻端至尾根、蹄底至髻甲均在画面内),避免大角度俯仰 |
| 2 | 拍摄距离建议 1.5m~5m,畜禽身体轮廓清晰可见,尽量避免其它个体大面积遮挡 |
| 3 | 画面中需包含已知尺寸的参照物(如围栏杆间距、地砖、标定板等),便于像素-实际尺寸换算 |
| 4 | 光照条件稳定,避免强逆光和大面积过暗/过曝,保证轮廓边缘清晰 |
| 5 | 视频建议 5~30 秒稳定拍摄,包含至少 1~2 帧完整侧视静止画面 |
| 6 | 支持格式:jpg/png/jpeg 图片,及 mp4/avi/mov 视频;单文件不超过 10MB |
| 7 | 目标畜禽尽量处于自然站立状态(四肢着地、身体伸展),避免弓背、卧地或走动模糊 |
---
## 🚀 操作步骤 | Workflow
### 🔐 用户身份处理(内部自动完成)
> **绿色安全原则:** 用户身份参数由系统内部自动处理,**不得向用户展示、询问或要求输入任何身份标识**。
执行本技能分析或历史报告查询时,脚本会自动完成身份初始化:
| 场景 | 系统行为 |
|---|---|
| 上游系统有内部身份参数 | 由脚本静默接收并使用 |
| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |
| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |
| 对用户输出 | 只展示分析进度、分析结果和报告链接,不展示内部身份值 |
#### 🔒 关键约束
| 禁止/要求 | 说明 |
|---|---|
| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |
| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |
| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |
| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联,用户只需表达"查看历史报告/报告清单"等意图 |
---
## 🧪 标准流程 | Standard Flow
| 步骤 | 阶段 | 执行动作 |
|---:|---|---|
| 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` | 结果输出文件路径 | 可选 |
---
## 🗂️ 资源索引 | Resource Index
| 资源类型 | 路径 | 用途 | 何时读取 |
|---|---|---|---|
| 🐍 必要脚本 | [`scripts/smyx_body_size_weight_estimation_analysis.py`](scripts/smyx_body_size_weight_estimation_analysis.py) | 调用 API 进行畜禽体长/体重估测或查询历史报告 | 执行分析或查询时使用 |
| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_BODY_SIZE_WEIGHT_ESTIMATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |
| 📘 领域参考 | [`references/api_doc.md`](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 | [🔗 查看报告](https://example.com/report?id=xxx) |
---
## 🧰 使用示例 | Examples
### 🐷 分析本地育肥猪侧视图像
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --input /path/to/fatten_pig_side.jpg
```
### 🐄 分析本地肉牛侧视视频
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --input /path/to/beef_cattle.mp4
```
### 🐑 分析本地育肥羊侧视图像
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --input /path/to/sheep_side.jpg
```
### 🌐 分析网络畜禽侧视图像/视频
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --url https://example.com/livestock_side_view.mp4
```
### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史体长体重估测报告
> 自动触发关键词:查看历史体长体重估测报告、历史报告、育肥进度清单等。
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --list
```
### 🪶 输出精简报告
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --input fatten_pig_side.jpg --detail basic
```
### 💾 保存结果到文件
```bash
python -m scripts.smyx_body_size_weight_estimation_analysis --input beef_cattle.mp4 --output result.json
```
don't have the plugin yet? install it then click "run inline in claude" again.