首页/新闻资讯/正文详情

基于 YOLO11 的规模化禽舍鸡只行为视觉监测平台:从模型到 Streamlit 全流程实战

发布时间:2026/9/26 2:51:53 来源:云帆数科 栏目:资讯中心
基于 YOLO11 的规模化禽舍鸡只行为视觉监测平台:从模型到 Streamlit 全流程实战
基于 YOLO11 的规模化禽舍鸡只行为视觉监测平台从模型到 Streamlit 全流程实战关键词YOLO11、智慧养殖、家禽行为识别、Streamlit、目标检测、Ultralytics一、背景1.1 行业痛点中国是全球最大的肉鸡 / 蛋鸡养殖国规模化禽舍单栋的存栏量普遍在数万只以上。在这种高密度 全封闭的养殖环境里鸡只的行为状态是判断其健康程度、饲喂效率与福利水平的最直观指标靠人工巡检的局限饲养员每天最多 2~3 次巡舍很难捕捉到某一栏鸡进食量突然下降某区域长时间无活跃个体等关键异常传统传感器精度差靠饮水器流量、料盘称重等间接指标推算行为存在严重的时滞与噪声数据无法量化为生产力指标行为数据没结构化营养师 / 兽医也难以基于今天进食占比 vs 站立占比这种维度反向优化饲喂方案。把摄像头 AI 视觉感知接到禽舍后用一台普通工控机就能 7×24 实时统计鸡群的进食 / 休息 / 站立比例进而对接到饲喂控制器、环境调控器是当前禽业数字化的标准动作。本项目就是这条路线下的一个完整落点基于 YOLO11n识别进食 / 休息 / 站立三类典型鸡只行为并提供一个开箱即用的 Streamlit 可视化界面。视频演示与源码 下载https://www.bilibili.com/video/BV1qKaT6PE9J包含 完整项目源码 预训练模型权重️ 数据集数据集1.2 项目运行效果1.3 项目介绍核心创新点维度设计类目设计把鸡只检测 行为分类合并为一个 3 类检测任务便于密集场景下的统计模型选型YOLO11n参数量约 2.6 M单图 CPU 100 ms可部署在禽舍边缘工控机部署形态Streamlit 单页应用 本地 best.pt零依赖中间件便于离线现场部署输入兼容图片 / 批量图片含 zip/ 视频 / 摄像头四种输入复用同一推理引擎适配场景标准化笼养、平养、散养三种禽舍布局均已在训练集中覆盖功能概览单图检测上传禽舍画面 → 实时返回带框图 行为类别 / 置信度 / 坐标明细批量检测单次最多 200 张输出汇总表 行为分布柱状图 zip 下载视频检测mp4 / avi / mov / mkv 通通可读逐帧推理后落盘新视频摄像头实时检测可对接禽舍 IPC 的 RTSP 流做实时行为感知3 种行为类别类别描述进食采食槽周边的低头啄食行为休息卧地或蹲伏的静息状态站立直立、走动或观察的活跃状态技术栈层选型模型框架Ultralytics 8.3 PyTorch视觉算法YOLO11nAnchor-FreeC2f BackboneDecoupled Head DFLWeb 前端Streamlit 1.35 自定义 HTML 主题暖橙 麦黄呼应饲料色视频 / 图像OpenCV、imageio-ffmpeg数据可视化Plotly / Streamlit 原生 chart配置管理单一configs/project.yaml行业话术 / UI / 推理阈值统一收口二、设计框架2.1 系统架构┌──────────────────────────────────────────┐ │ Streamlit Web 前端单页 SPA │ │ · 养殖控制台 / 单图 / 批量 / 视频 / 摄像头 │ │ · 侧栏 · 阈值 · 行为类别图鉴 · 模型缓存 │ └────────────────────┬─────────────────────┘ │ Python 调用 ▼ ┌──────────────────────────────────────────┐ │ 推理服务层infer_image_path 等 │ │ · bytes / Path / frame → tensor │ │ · 推理结果 → 标注图 DataFrame │ └────────────────────┬─────────────────────┘ │ ▼ ┌──────────────────────────────────────────┐ │ YOLO11n 推理引擎model/best.pt │ │ Backbone (C2fSPPF) → Neck (FPN/PAN) │ │ → Decoupled HeadDFL cls │ └──────────────────────────────────────────┘ │ ▼ 可对接饲喂控制器 / 环境调控器 / 健康预警2.2 YOLO11 网络结构输入 640×640×3 │ ▼ [Backbone] Conv → C2f → Conv → C2f → Conv → C2f → Conv → C2f → SPPF 多尺度卷积 跨阶段特征融合对密集小目标更稳 │ ▼ [Neck] FPN 上采样 PAN 下采样P3 / P4 / P5 三级金字塔 密集小鸡 → P3 层大鸡 / 近景 → P4/P5 │ ▼ [Head] Decoupled Headcls 头 / reg 头解耦 回归头采用 DFLDistribution Focal Loss Anchor-Free输出 (cx, cy, w, h, cls × 3) │ ▼ [NMS] iou0.7, conf0.30 → 最终检测框2.3 检测流程禽舍摄像头帧 / 单张图片 │ ▼ Letterbox 640×640 RGB │ ▼ YOLO11n forward │ ▼ Detect Head 输出 (cls × 3) │ ▼ conf 过滤 NMS │ ▼ result.plot() 画框 进食/休息/站立 │ ▼ Streamlit 双列展示 DataFrame 行为分布柱状图 │ ▼ 可扩展行为占比时间序列 → 饲喂 / 环境调控三、代码结构核心 50 行 解析项目目录鸡行为检测/ ├── app/streamlit_app.py # Web 入口 ├── configs/project.yaml # 行业话术 / UI / 训练 / 推理参数 ├── model/best.pt # 训练好的 YOLO11n 权重 ├── scripts/ # train / validate / export 等 ├── data/dataset/ # 训练 / 验证 / 测试集 └── 鸡行为检测/ # 原始数据集含 train / valid / test 切分最核心的 50 行——模型加载 单图推理 Streamlit 单图 Tab# 1. 模型加载带 streamlit 资源缓存避免每次刷新重载st.cache_resource(show_spinnerFalse)defload_model(model_path:str)-YOLO:returnYOLO(model_path)# 2. 单图推理路径 → 标注图 检测明细 DataFrame definfer_image_path(model:YOLO,image_path:Path,conf:float):resultmodel.predict(str(image_path),confconf,verboseFalse)[0]annotatedresult.plot()# BGR ndarray已画框rows[]ifresult.boxesisnotNone:forboxinresult.boxes:cls_idint(box.cls.item())x1,y1,x2,y2[float(v)forvinbox.xyxy[0].tolist()]rows.append({class_id:cls_id,class_name:result.names[cls_id],# 进食 / 休息 / 站立confidence:round(float(box.conf.item()),4),x1:round(x1,1),y1:round(y1,1),x2:round(x2,1),y2:round(y2,1),})# BGR → RGB 给 Streamlitrows 转 DataFrame 给表格组件returnannotated[:,:,::-1],pd.DataFrame(rows)# 3. bytes → 临时文件 → 复用同一函数 defrun_image_inference(model:YOLO,image_bytes:bytes,conf:float,suffix.jpg):withtempfile.NamedTemporaryFile(deleteFalse,suffixsuffix)asf:f.write(image_bytes);tmpPath(f.name)try:returninfer_image_path(model,tmp,conf)finally:tmp.unlink(missing_okTrue)# 4. Streamlit 单图 Tab上传 → 推理 → 双列展示 modelload_model(str(MODEL_PATH))uploadedst.file_uploader(上传鸡舍画面,typeIMAGE_UPLOAD_TYPES)confst.sidebar.slider(置信度阈值,0.05,0.95,DEFAULT_CONF,0.01)ifuploadedisnotNone:annotated,dfrun_image_inference(model,uploaded.getvalue(),conf,suffixPath(uploaded.name).suffix)col1,col2st.columns(2)col1.image(uploaded,caption原图)col2.image(annotated,caption检测结果带行为标签)st.dataframe(detections_to_display(df))render_detection_analysis(df)5 段解析st.cache_resource把YOLO(model_path)的耗时锁在第一次访问对 7×24 长时间运行的禽舍监控场景尤其重要——一次启动一直跑。result.plot()直接返回带颜色框 行为类别 置信度的BGR ndarray3 种行为对应 3 种颜色呼应 UI 配置里的behaviors段即使一张图上有几十只鸡也能一眼分清谁在干嘛。把每个box的cls / conf / xyxy拍成dict再拼成DataFrame——后续表格、CSV 下载、行为占比柱状图、长时间维度趋势全部复用同一份结构。run_image_inference走临时文件而非 numpy 数组是为了让 Ultralytics 内部的 EXIF / orientation 处理逻辑生效对禽舍顶装 / 侧装摄像头不同朝向都更稳。Streamlit 的cache_resource file_uploader dataframe组合让一个产品级行为监测页面只需 11 行代码——这就是 Streamlit 在养殖 AI 场景能快速出活的核心原因。四、训练效果模型在自建的鸡只行为数据集上训练 200 epochYOLO11n、640 输入、batch 16最优一轮指标如下指标数值Precision0.9034Recall0.9791mAP0.50.9621mAP0.5:0.950.9151从训练曲线看box / cls / dfl 三路 loss 在前 50 epoch 快速收敛之后稳步下降mAP0.5 在第 100 epoch 后突破 0.95最终稳定在 0.96 左右归一化混淆矩阵中进食 / 休息 / 站立三类对角线均在 0.9 以上仅休息与站立在小部分边界姿态趴卧但抬头上存在轻微互混这与人类肉眼判断的混淆模式一致。值得一提的是mAP0.5:0.95 高达 0.915——这意味着即使在严格 IoU 阈值下模型对鸡只检测框中心位置的回归依然非常稳定能够支撑后续基于位置的统计分析如站立鸡只在采食槽方向的密集程度。五、项目总结做对了什么把鸡只检测 行为分类合并成一个 3 类检测任务避免了先检测目标再分类行为的两阶段管线整体延迟降低、部署更简单选择 YOLO11n 而非更大的 v8s/v8m模型 6 MB、CPU 单图 80 ms 内完成推理可在禽舍边缘工控机离线运行不依赖云端用一份project.yaml把行业话术 / UI 主题色 / 训练超参 / 推理阈值 / 行为定义全部收口迁移到鸭、鹅、猪等其他畜禽的行为监测只需替换数据集与重新训练。还能怎么做接入 ByteTrack 多目标跟踪让每只鸡获得稳定 ID从群体行为占比升级为个体行为时长统计把行为占比时间序列对接饲喂控制器实现休息比例突然升高 → 自动降低料量的反馈闭环异常预警当站立 进食占比连续 N 分钟低于阈值时主动推送饲养员复核——这是当前畜禽福利监测最有商业价值的方向之一。

相关推荐

NexT 主题贡献者发展史:从 docs/AUTHORS.md 看 Hexo 主题的开源协作与功能演进
NexT 主题贡献者发展史:从 docs/AUTHORS.md 看 Hexo 主题的开源协作与功能演进

前端 【免费下载链接】hexo-theme-next Elegant and powerful theme for Hexo. 项目地址: https://gitcode.com/gh_mirrors/hex/hexo-theme-next 点击查看 免费下载 导读:本文以 NexT 主题官方贡献者名录 docs/AUTHORS.md 为骨架,梳理这款 H… · 2026/9/26 2:51:53

Nginx反向代理与性能优化实战:从配置到高可用
Nginx反向代理与性能优化实战:从配置到高可用

Nginx是一款高性能的HTTP和反向代理服务器,以高并发、低内存占用著称,目前占据Web服务器市场份额首位。在生产环境中,Nginx通常作为入口网关,承担反向代理、负载均衡、静态资源服务、SSL终结、限流防刷等职责。本文从基础配置入手… · 2026/9/26 2:51:47

CoreTemp 深度解析:CPU 温度监控原理、配置与实战避坑指南
CoreTemp 深度解析:CPU 温度监控原理、配置与实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 2:51:41

MouseKeyShow:Windows原生级操作可视化工具原理与实践
MouseKeyShow:Windows原生级操作可视化工具原理与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:29

AI 实时流式推理架构深度解析:从 SSE 到 WebSocket/gRPC Stream 的协议设计与优化——TaoToken 统一 Key 下的配置骨架与连通性验证
AI 实时流式推理架构深度解析:从 SSE 到 WebSocket/gRPC Stream 的协议设计与优化——TaoToken 统一 Key 下的配置骨架与连通性验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:29

2026出差拜访客户要整理录音 华为平板录音转文字哪个好成本分析:TaoToken统一Key接入配置与验证
2026出差拜访客户要整理录音 华为平板录音转文字哪个好成本分析:TaoToken统一Key接入配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:29

Spring AI 提示词技巧:用 CO-STAR 与 Cursor Rules 打造可复用的 Prompt 配置骨架
Spring AI 提示词技巧:用 CO-STAR 与 Cursor Rules 打造可复用的 Prompt 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:29

智能文档OCR识别系统实战:从扫描件到结构化字段的完整链路
智能文档OCR识别系统实战:从扫描件到结构化字段的完整链路

简介:智能文档OCR识别系统是一套面向计算机视觉与深度学习方向的毕业设计、课程设计参考方案,适合具备一定Python基础、希望实践目标检测与文字识别的高校学生及开发者。系统以YOLO算法为核心,结合CNN特征提取与RNN/LSTM序列建模,… · 2026/9/26 3:24:23

你的电脑缺一个「数字员工」——OpenClaw 本地部署手把手教学:用 TaoToken 统一 Key 打通配置文件
你的电脑缺一个「数字员工」——OpenClaw 本地部署手把手教学:用 TaoToken 统一 Key 打通配置文件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:10

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码