1. 课程导入与场景认知

在规模化生猪、蛋鸡或奶牛养殖场里,饲养员每天要巡栏多次,靠肉眼观察猪只采食、躺卧、咳嗽、扎堆,检查风机、水线、料槽和温湿度。一个万头猪场,单是育肥舍就有几十栏,人工巡检往往“看得过来但看不细”,夜间和凌晨更是薄弱时段。视频巡检要解决的核心问题,不是“装几个摄像头”,而是把摄像头变成持续在岗的观察员:7×24 小时采集画面,自动发现值得人去看的事件,把有限的人力集中到真正异常的栏舍和时段上。

因此,本课程的业务目标可以归纳为三条:早发现——在动物出现明显临床症状或死亡之前捕捉行为与环境的异常苗头;可追溯——每一条告警都带时间、栏舍、画面片段,便于复核与责任界定;降本增效——减少无效巡栏,把饲养员的注意力导向高风险对象。这三条目标决定了后面所有技术选型:为什么需要固定机位、为什么需要事件片段而不是单帧、为什么告警必须可回看。

三类典型异常:巡检到底在看什么

养殖场视频巡检的异常类型,按观察对象可分为三大类,它们的视觉表现、判定依据和处置方式差别很大,不能混为一谈。

动物行为异常是最核心也最难的一类。常见表现包括:猪只长时间扎堆挤压(可能提示温度过低或通风不良)、采食位空置率异常升高(提示料线故障或群体发病)、个体离群独卧、频繁咳嗽或腹式呼吸、母猪频繁起卧不安(可能临近分娩或不适)、鸡群聚堆或张口呼吸。这类异常的特点是需要结合群体基线和时间上下文判断——单帧画面里一头猪躺着很正常,但同一栏连续两小时躺卧比例超过 80% 就值得关注。

环境异常主要看与动物福利直接相关的场景要素:地面大面积积水或粪污外溢、水帘/风机区域异常(如风机停转导致静风区)、保温灯熄灭、舍内烟雾或粉尘突增、门窗异常开启。环境异常往往有明确的视觉特征和空间位置,相对容易用区域规则加图像判别来处理。

设备异常关注的是舍内关键设施的运行状态:料槽下料异常(料线断料、料槽空置或溢料)、饮水器漏水形成水洼、风机叶片静止、传送带停转、卷帘位置异常。设备异常的一个实用思路是看“设备作用的结果”而非设备本身——例如不直接检测风机叶片,而是检测风机下方地面是否出现异常干燥/潮湿带,或结合电流信号交叉验证。

三类异常并非孤立:环境异常常引发行为异常(高温→张口呼吸、扎堆减少),设备异常常引发环境异常(风机停转→氨气积聚)。巡检系统应支持把同一栏舍、同一时段的多个告警关联呈现,帮助判断根因。

整体技术流程:从画面到可处置的告警

一套可落地的视频巡检系统,通常由“采集—预处理—检测识别—行为/状态分析—规则判定—告警与复核”六个环节构成。下面这张图展示了数据在系统中的流向,以及每一环的关键输入输出。

养殖场视频巡检整体技术流程 ① 视频采集 固定枪机/球机 RTSP 流 · 25fps ② 预处理 抽帧 · 去噪 · 透视校正 划定栏舍 ROI 区域 ③ 检测与识别 个体检测 · 姿态估计 目标跟踪 · 区域分类 ④ 行为/状态分析 躺卧比 · 采食位占用 活动量 · 扎堆指数 ⑤ 规则判定 阈值 · 持续时间 多信号交叉验证 ⑥ 告警与人工复核 事件片段 + 时间 + 栏舍编号 饲养员确认 / 误报标记 误报复核结果回流,优化阈值与模型 动物行为异常 扎堆挤压 · 离群独卧 采食位空置 · 咳嗽呼吸 起卧不安 · 群体活动量下降 环境异常 地面积水 · 粪污外溢 保温灯熄灭 · 烟雾粉尘 门窗异常开启 · 静风区 设备异常 料线断料 · 料槽溢料 饮水器漏水 · 风机停转 传送带停转 · 卷帘位置异常 告警归入三类异常之一

理解这条链路时,要特别注意两个容易被忽视的环节。其一是预处理中的 ROI 划定:同一台摄像机画面里可能包含走道、料槽、多个栏位,必须先把“哪个区域对应哪一栏”标定清楚,否则告警无法定位到具体栏舍,复核成本会大幅上升。其二是规则判定中的持续时间:绝大多数行为异常都不是瞬时事件,判定条件通常写成“连续 N 分钟满足某条件”,例如“某栏躺卧比例连续 30 分钟高于 75% 且采食位占用低于 20%”,这样能显著压低误报。

一个可参考的判定示例

以育肥舍“扎堆”告警为例,假设某栏面积约 30 平方米,存栏 25 头。系统每 5 分钟统计一次该栏内相互接触的猪只连通区域,若最大连通区域包含的个体数占比超过 60%,记为一次“疑似扎堆”。判定逻辑可写成如下伪代码,便于理解参数之间的关系:

每 5 分钟执行:
  pigs = 检测并跟踪本栏个体数            # 示例:25
  cluster = 最大相互接触连通区域个体数    # 示例:17
  ratio = cluster / pigs                 # 17/25 = 0.68
  若 ratio >= 0.60 且 舍温 < 18℃:
      连续计数 +1
  否则:
      连续计数 = 0
  若 连续计数 >= 6(即持续约 30 分钟):
      生成告警:栏号 + 时间 + 10 秒片段 + 当前舍温

这里的 0.60、18℃、6 次都是示例参数,实际取值要结合品种、日龄、季节和现场基线调整。重要的是理解判定结构:视觉指标(扎堆比例)+ 环境信号(舍温)+ 时间持续三者共同构成一个可解释的告警,而不是让模型直接输出一个“异常”标签。这样饲养员看到告警时,能立刻知道系统依据什么做出判断,也便于后续复盘和调参。

课程学习路径

围绕上述流程,本课程按“认知—采集—识别—分析—判定—落地”的顺序展开。先建立场景与业务目标的共识,再讲摄像机选型、安装角度与画面标定;随后进入检测、跟踪与行为分析的具体方法,包括如何构建群体基线、如何设计可解释的判定规则;最后落到系统部署、告警运营、误报治理与效果评估。学习时建议始终带着三个问题看每一节:这一环的输入是什么、输出是什么、出错时现场会看到什么现象。把这三个问题串起来,就能把零散的技术点组织成一套能真正在养殖场跑起来的巡检能力。

常见误区:一开始就追求“识别所有异常”的大模型方案,忽视机位、光照、遮挡和栏舍标定等基础条件。实际项目中,画面质量和区域标定不到位,再强的模型也难以稳定输出可用告警。建议先把采集与标定做扎实,再逐步扩展异常类型。