新闻详情

新闻详情

首页 / 资讯中心 / 详情

基于 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 分钟低于阈值时主动推送饲养员复核——这是当前畜禽福利监测最有商业价值的方向之一。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

FDE:AI大模型落地必备技能,小白也能收藏学习成为抢手工程师! 2026/9/26 4:07:42

FDE:AI大模型落地必备技能,小白也能收藏学习成为抢手工程师!

本文介绍了AI行业新兴的FDE(前沿部署工程师)岗位,该岗位旨在解决企业AI试点项目失败率高的难题。FDE结合了软件工程师、解决方案架构师和客户成功经理的技能,负责将AI模型与实际业务场景结合,确保AI模型在企业内部的有…

阅读更多 →
OpenAI把“永久半价”当成产品发布:GPT-6 Sol与Luna一夜上线 2026/9/26 4:07:42

OpenAI把“永久半价”当成产品发布:GPT-6 Sol与Luna一夜上线

今天的AI圈,节奏快得像双十一零点。北京时间9月23日,OpenAI发布GPT-6 Sol和GPT-6 Luna两款新模型,直接把GPT-5.6的促销价砍了一半,而且是永久定价。Sol输入2美元、输出10美元,Luna输入0.10美元、输出0.50美元。缓存读取…

阅读更多 →
求推荐电阻焊电源销售公司:正规源头生产厂家价格公道不踩坑 2026/9/26 4:07:36

求推荐电阻焊电源销售公司:正规源头生产厂家价格公道不踩坑

做精密电阻焊生产,选对电阻焊电源供应方,就是给产线效率和产品品质上了第一道保险。不少工厂在采购的时候都会纠结,到底选贸易商还是源头厂家?毕竟贸易商转手加价不说,售后调试找不到对接人,出了问题来回踢皮球&#…

阅读更多 →
太禾护栏激光切割规模怎么样?研发能力强吗 2026/9/26 4:07:36

太禾护栏激光切割规模怎么样?研发能力强吗

时光裹挟着南疆基建的发展浪潮滚滚向前,从戈壁荒滩上风电叶片次第转动,到锂矿园区厂房拔地而起,再到小区厂区边界防护网清晰成型,若羌本土金属加工领域的发展,早已刻下了清晰的成长印记。根植若羌戈壁,深耕…

阅读更多 →
大模型部署调优实战:延迟、吞吐与显存的铁三角平衡 2026/9/26 4:07:35

大模型部署调优实战:延迟、吞吐与显存的铁三角平衡

1. 部署调优的底层逻辑:为什么延迟、吞吐、显存是铁三角搞开源模型部署的人,迟早都会撞上同一堵墙:模型跑起来了,但要么慢得没法用,要么并发一上来就崩,要么显存直接爆掉。这三个问题——延迟、吞吐、显存—…

阅读更多 →
SmsForwarder + pushplus:短信 / 验证码转发到微信 2026/9/26 4:07:29

SmsForwarder + pushplus:短信 / 验证码转发到微信

SmsForwarder pushplus:短信 / 验证码转发到微信 效果:安卓手机收到短信后,内容转发到微信。请使用 pushplus 专供版,不要用其他渠道的「短信转发器」。 完整安装包、权限、规则和效果图见 使用 pushplus 接收短信内容。 前置条…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉