蔡兆晖,林学杰
(厦门大学嘉庚学院,福建 漳州 363100)
在奶牛养殖过程中,对奶牛发情行为进行监测,可以帮助养殖户准确地判断奶牛的排卵时间,从而确定配种适期,及时进行配种或人工授精,达到提高受胎率的目的,并且可以帮助缩短胎间期,增加奶牛产奶量。此外,通过对奶牛发情行为进行监测,养殖户还可以判断奶牛的发情行为是否正常,从而有效地进行疫病监控与预防。
在规模化农场,由于用工成本上升和监控要求提升,对奶牛各种生理状态的监控已经不能完全依赖传统的人工监测了,因此发展基于现代信息技术的自动监测技术,从而提高奶牛养殖的精准化和智能化程度是十分必要的。
本文借助机器视觉技术,从动态的监控图像入手,通过背景过滤、图像增强、奶牛个体自动识别及奶牛爬跨行为自动监测等算法的设计,创立了基于视频图像动态识别的奶牛发情行为视频监测算法体系,从而在不增加过多额外设施和传感器的基础上,帮助养殖户实现对奶牛发情行为的有效自动监测。
随着现代畜牧养殖业的发展,传统的以人工经验进行奶牛发情监测已经无法满足集约式、规模化养殖模式的要求,因此引入信息技术对奶牛进行精细化、科学化的管理与监测是未来畜牧业智能化发展的必然趋势。对奶牛发情体征进行监测的方法和手段主要分为以下3类:
以电子传感器监测、采集和记录奶牛的发情体征,从而准确地判断奶牛的发情时间,这是监测奶牛发情行为的重要手段。传统的传感器主要包括植入式传感器和穿戴式传感器2种。
植入式传感器主要为植入式阴道传感器,其原理是通过在奶牛阴道中植入包含温度采集和无线电接收设备的棒状无线遥测系统,对奶牛的阴道状况进行实时数据采集,并分析确定发情状态。此外,一些植入式传感器还会增加振动传感器等辅助模块,实时监测奶牛运动量,从而提高奶牛发情行为的判断准确率。
穿戴式传感器主要以振动、姿态、温度和压力传感器的有机组合为主,主要原理是通过采集奶牛的体温、运动量、静卧时间、爬跨接触及强弱运动比例等数据,通过综合分析来判断奶牛是否发情。
视频图像监测是在奶牛养殖场所安装以俯视、顶视为主的监控摄像头,通过图像识别算法对奶牛的运动量和行为进行分析,从而判断其是否发情。在现有的研究中,大部分视频图像识别算法受限于养殖场所的光线和牛群之间的重叠遮挡等因素,无法以纯图像识别的方式达到较佳的效果,因此通常情况下视频图像监测会通过一些辅助手段来提高检测准确率。例如摄像头可以观察到当发情奶牛发生爬跨行为时,由于接触和运动带来的颜色形状改变,从而判断奶牛是否发情。
声音信号监测是通过对奶牛的声音信号进行观测,分析奶牛发情状态下的声音信号特征,以声音信号的持续时间、强度和共振峰特征参数对奶牛发情时的声音特征进行标识,从而实现对奶牛发情行为的自动监测。
目前,针对奶牛发情行为的自动监测手段中,传感器手段一来成本较高,二来由于奶牛表皮毛发较浓密,难以固定各类穿戴式传感器。而阴道植入式传感器又存在感染风险、能耗较高及舒适感较差等问题未被养殖户广泛使用。声音信号监测由于受养殖场所噪音、不同牛叫声重叠等因素干扰,准确率较低,可靠性较差,无法达到实际应用的要求。
因此,笔者认为在未来奶牛养殖的自动监测方案中,借助目前规模化养殖场已有的监控设备,辅以科学有效的监控图像检测算法进行奶牛发情行为检测,是一种在成本、可行性及准确率上都能够达成最优的有效方法。由此,本文借助工业界较为成熟的机器视觉算法,将其引入到奶牛养殖业中进行奶牛发情行为的自动检测,从而实现一套智能化的奶牛发情行为监测机制。
在奶牛监控图像中,由于养殖场所的背景环境复杂及杂光干扰较多,针对复杂背景下的奶牛发情行为检测需要以有效的背景去噪算法为前提。养殖场所内的奶牛通常行动较慢,表面因为有毛皮覆盖反光较弱,并且发情行为发生时的奶牛必然处在不断运动之中,基于这些特点,本文采用灰化背景差分法对奶牛监控视频进行动态背景去噪。灰化背景差分法首先是将彩色监控图像由三通道RGB图像转化为灰化二值图像,然后通过直方图均衡化将图像进行非线性拉伸,使得监控图像中的奶牛与背景差异加大,最后以Background Subtraction算法进行动态前后帧对比,并去除一定阈值内的相似像素点。
由于牛舍中处于安静状态的奶牛不需要进行发情与否的判别,因此本文对传统的背景差分计算进行了适应性改进,在监控图像检测过程中,假设Pt-1(x,y)为t-1时刻奶牛监控视频中最新图像的前一帧,Nt(x,y)为t时刻奶牛监控视频中的最新一帧,对差分运算得到差分图像Dt(x,y)为:
Dt(x,y)=│Nt(x,y)-Pt-1(c,y)│
在差分结果图像中,通过逐行扫描,将结果图像的灰度值与阈值进行比较,仅取结果图像中大于阈值的部分作为ROI区域,从而滤除背景和噪音的影响。考虑到奶牛体毛反光较差而具有一定的吸光性,并且结合奶牛发情行为一般为夜间的实际情况,本文将背景去噪阈值设定为10,以达到更好的背景过滤效果,结果如图1所示。
图1 奶牛监控视频图像背景去噪效果对比图
由于奶牛养殖环境较为复杂,在夜间、雨天及雾天等因素干扰下,监控图像往往会出现图像模糊、偏暗、噪声及光晕等不良图像特征,并且由于多数奶牛在夜间发情,因此进行发情行为检测前必须对图像进行增强处理,以突出主要视觉特征。
图像增强作为图像预处理的一种手段有很多算法,由于本文在图像增强前已经进行了背景去噪,因此本文使用空间域图像增强方法,以自适应直方图均衡算法(AHE,Adaptive Histogram Equalization)对奶牛监控图像进行图像增强。AHE是一种用来改善图像对比度的图像增强技术,与传统的直方图均衡算法不同,AHE算法通过计算图像每一个显著区域的直方图来重新分布图像的亮度值,因此它更适合于用来改善图像的局部对比度,以及增强图像边缘信息,从而有利于在奶牛监控图像中加强不同奶牛间的边缘界线,有利于后续对奶牛待分析区域的图像切割。
假设待处理奶牛监控图像为灰度图像,r表示监控视频帧的灰度,并有 γ∈[0,L-1],其中 r=0表示黑色,r=L-1表示白色,直方图均衡化的过程对应于一个变换T:
S=T(r),0≤r≤L-1
基于该算法的奶牛视频监控图像增强效果如图2所示,对比不同图像灰度值分布直方图可以发现,经过直方图均衡化处理的奶牛监控灰度图像中,奶牛边缘与背景的差异得到了增强,图像整体失真较小,突出了原有图像的细节特征,使得增强后的图像更加符合人眼的视觉特征。
图2 奶牛监控视频图像增强效果对比及灰度直方图(原始图像-背景去噪-灰化图像-AHE均衡化图像)
在背景去噪和图像增强后的奶牛监控视频图像上,由于图像已经去除了噪点,并且加强了奶牛图像边缘的细节特征,因此本文使用分水岭算法对奶牛个体进行图像切割以辨识不同的奶牛个体,并通过对其外接四边形的角度变化判断来确定其是否发生爬跨行为,从而完成对奶牛发情行为的动态监测。
分水岭算法以奶牛监控图像中的每个像素点灰度值作为第三维坐标进行三维化,并以此为基础考虑三类像素点:第一种为局部性最小值点或最小值面;第二种为不在局部最小值上的随机位置,在该点上当一滴水放在该位置时,在三维空间上该水滴会下落到一个单一的最小值点;第三种为不同最小值点中间的边缘峰线位置,当水处在该位置时,水会等概率地流向不止一个这样的最小值点。因此,第二种点的结合称为分水岭,而第三种点的集合即为分割线,由此得到图像的切割结果,如图3所示。
图3 奶牛监控图像个体图区切割分水岭算法示意图
基于分水岭算法的切割结果,本文以最小外接长方形对分割区域进行拟合,并对该长方形角度进行检测,当该长方形角度超过一定阈值时,便可以推断为该区域图像所表征的奶牛出现了爬跨,如图4所示。当该行为出现频率超过数次后,便可以触发发情行为提示,提示农场养殖人员关注该发情奶牛,及时进行后续处理。
图4 奶牛监控视频图像爬跨行为检测结果图(爬跨前-爬跨后)
奶牛发情特征的自动采集对于其发情行为的自动检测有着十分重要的作用,因此借助机器视觉手段,从奶牛的监控动态图像中进行发情行为判断是规模化养殖农场可以采用的低成本、可操作性较强的自动检测方案。
本文借助机器视觉算法对奶牛监控视频图像进行背景去噪、图像增强和自动分割拟合,从而形成了一套有效的奶牛爬跨行为自动判定程序,借助奶牛爬跨行为特征的实时检测实现高效的自动化奶牛发情行为判定,从而为制定奶牛养殖智能化方案提供科学的辅助依据。