宋怀波,李 通,姜 波,吴 倩,何东健
(1. 西北农林科技大学机械与电子工程学院, 杨凌 712100;2. 农业部农业物联网重点实验室,杨凌 712100;3. 陕西省农业信息感知与智能服务重点实验室,杨凌 712100)
奶牛的反刍行为蕴含着奶牛的诸多健康信息,这些信息有助于养殖人员监控奶牛的健康情况,方便在奶牛患病早期及早发现并进行治疗,避免奶牛病情加重影响奶牛的正常产奶和繁殖[1-3]。奶牛反刍行为的智能监测可以有效降低奶牛的养殖成本,提高牛奶产出量、增加养殖利益,对现代奶牛养殖业的改善和发展有重要意义[4-5]。
对于奶牛反刍行为的监测,早期主要通过肉眼观察和人工计数来统计奶牛的反刍频率和反刍时间,存在一定的误差且人工成本较高,无法满足现代大规模养殖场的需求[6]。为了提高奶牛反刍检测的自动化水平和检测精度,众多学者开展了大量的研究工作。Braun等[7]提出了一种基于鼻带压力传感器技术的奶牛反刍行为自动检测方法,通过固定在奶牛鼻缰绳套管中的压力传感器感受奶牛反刍时下颚咀嚼的压力变化来计量奶牛的反刍次数,每头奶牛测试在445 min内平均反刍次数为13.3次,平均每次反刍时间30.2 min。Pahl等[8]提出了一种基于声学传感器(RuminAct)的奶牛反刍行为自动检测方法,该声学传感器由固定在奶牛牛鼻缰绳套管记录反射声音的麦克风及外接的数据转换微处理器组成,通过记录奶牛反刍时发出的声音来计算反刍时间。Zehner等[9]提出了一种集成头戴式传感器和在线数据分析器的奶牛反刍评估系统。该头戴式传感器由1个内置压力传感器和2个电子单元的流体填充硅胶管组成,奶牛反刍时鼻梁的曲率因为下颚的运动而变化,导致硅胶管压力的变化,内置压力传感器接收到这个变化信号并将其传输到数据记录器中,可以实现奶牛反刍行为的自动检测,直观快捷,准确率高。Calamari等[10]提出了一种声音标记分析方法来自动测量奶牛的反刍时间,该方法通过Hr-Tag反刍监测系统实现了奶牛反刍行为的自动检测。该系统由反刍记录仪、固定阅读器和数据处理器 3部分组成,反刍记录仪用于记录奶牛反刍时发出的声音信号,固定阅读器读取信号,经数据处理器处理后即可得到奶牛反刍的频率和时间信息。统计得出产犊前夜间反刍时间占总体反刍时间的 64.8%,产犊后夜间反刍时间占比为 64.4%。Pahl等[11]提出了一种自动监测系统,可以实现长期连续、自动收集奶牛反刍信息。该系统主要由 1个压力传感器(ART-MSR)构成,使用模块化的信号记录仪 MSR145记录奶牛反刍时咀嚼的压力信号,即可得到奶牛反刍时间信息。
上述方法可以自动记录奶牛的反刍信息,适应大规模养殖业,可以节约养殖成本。但是该类接触式装置均离不开高精度传感器,容易导致奶牛不适并产生应激反应,导致奶牛反刍次数减少甚至停止反刍。为了避免出现应激反应,采用基于视频分析技术的非接触式检测方法已成为未来动物行为监测发展的必然趋势[12-16]。Chen等[17]通过手动选取奶牛嘴部区域,提出了基于视频分析技术的奶牛反刍行为检测方法,采用Mean Shift算法准确跟踪奶牛的下颌运动,提取出牛嘴部运动的质心轨迹曲线,实现了奶牛反刍行为的监测,但由于采用手动选取奶牛嘴部区域,自动化程度不高,不易实现多头奶牛反刍行为的监测。Andriamandroso等[18]提出了一种基于视频分析技术的奶牛反刍行为检测方法,结合惯性测量单元(inertia measuring unit, IMU)实现了奶牛反刍活动的监测,通过对19头不同奶牛的日常反刍行为进行监测表明,该方法的监测成功率为95%。Reiter等[19]提出了基于视频分析技术的奶牛反刍行为检测方法,采用Smartbow算法创建了 Smartwell视频分析系统。单独每头牛反刍1 h为一段视频,总计2 490个视频,从中随机抽取100段视频进行测试,获取Smartwell视频分析系统和直观视觉观察奶牛反刍的差异。结果表明Smartwell系统在奶牛每小时的反刍时间上存在35.3 s偏差,对奶牛反刍时间检测精度高。
奶牛嘴部区域的自动检测是进行奶牛反刍行为监测的关键。由于奶牛嘴部区域颜色变化较大、面积较小,且在检测时易受奶牛头部、躯干运动及其他奶牛活动的影响,自动识别难度较大,当多目标奶牛同时反刍时,需要同时检测多个奶牛嘴部区域,且存在诸多干扰区域(如奶牛躯干起伏、耳部晃动以及背景区域干扰等),进一步增加了奶牛嘴部区域检测的难度。为了实现多目标奶牛反刍行为的同时监测,本文提出一种基于Horn-Schunck光流法的多目标奶牛嘴部区域自动检测方法。通过对奶牛反刍视频序列图像帧进行处理,求取每帧图像的光流场数据,再将各帧图像中的较大光流数据叠加,以期实现多目标奶牛嘴部区域的自动检测,为进行多目标奶牛反刍行为的智能监测提供参考。
奶牛反刍试验视频于2017年10月至11月在陕西省杨凌科元克隆股份有限公司的奶牛养殖场采集,拍摄对象为正在反刍中的美国荷斯坦奶牛。奶牛进食后在牛舍进行反刍,在奶牛反刍期间将一台SONY HDR-CX290E型DV固定在三脚架上,保持镜头与目标奶牛平行且距离目标奶牛约2.5 m。试验总计采集12段奶牛反刍视频,12段视频分别采集于大风、晴天、阴天环境,以保证算法对环境的适应性。在视频场景的选择上,为了保证算法在多目标奶牛嘴部区域检测上的效果,分别选择了 4种不同的场景:场景1包含2头奶牛,均为静卧反刍且背景没有其他运动目标;场景2除了正在反刍的2头奶牛外,背景中还有其他无运动或轻微运动的奶牛目标,视频1、3、4、5、11都属于场景2,这5段视频中奶牛数量分别为3、4、4、5、3;场景3中除正在反刍的2头奶牛目标外还存在背景奶牛身体部位剧烈运动干扰,场景3共有5头奶牛;场景4为其中1头奶牛头部伴随着反刍存在较大晃动。在选取的12段视频中,由于场景1、2是奶牛反刍时的常态,因此本研究分别选取5段视频进行试验,为了进一步验证算法在剧烈运动干扰下的检测效果,分别选取场景3、4两种特殊场景各1段视频进行验证。本研究所使用的奶牛视频数据如表1所示。
表1 奶牛反刍视频信息统计Table 1 Video information of cows’ rumination
视频处理平台为一台Win10系统的笔记本电脑,配置有Inter Core i7-6700HQ处理器,主频为2.60 GHz,8 GB内存。算法开发平台为Matlab 2016a。鉴于奶牛嘴部区域的不规则性,为了更为客观地对本算法性能进行评价,使用Adobe Photoshop获取真实奶牛嘴部区域,并与本研究所检测出的奶牛嘴部区域进行比较。
1.2.1 总体技术路线
本研究拟采用的技术路线如图 1所示,通过Horn-Schunck光流法求得每帧的光流场,选取合适阈值对图像进行分割,选取出各帧中具有较大变化的光流值,将每帧分割后的二值图像叠加,根据叠加后的最终二值图像,使用奶牛反刍嘴部区域检测模型检测反刍时的奶牛嘴部区域。首先判定能否检测到奶牛的嘴部区域,如果可以则进行充盈率的判定。充盈率指奶牛实际嘴部区域面积占自动检测框大小的百分比,该值是后续进行奶牛嘴部区域精确跟踪的关键,一般而言,该值低于 50%时,现有跟踪算法难以实现奶牛嘴部区域的精确跟踪,为了保证后续嘴部区域自动跟踪的效果,本研究设定充盈率阈值为50%。
图1 多目标奶牛反刍嘴部区域检测技术路线图Fig.1 Technical route for detection of multi-target ruminating cows’ mouths area
1.2.2 基于Horn-Schunck光流法的反刍奶牛光流场计算
奶牛反刍时一般处于静止和放松状态,仅嘴部区域存在较大运动,其他部位处于静止或微弱抖动状态,但由于呼吸运动的存在,奶牛躯干部位的起伏也会引起光流场的较大变化,给奶牛嘴部区域的检测带来影响。本研究首先利用光流法勾勒出奶牛反刍时的光流场变化,实现奶牛较大运动部位的检测,并将其作为候选奶牛嘴部区域进行后续处理。
Horn-Schunck光流法通过计算视频帧中每个像素的光流值求得各点的密集光流,该方法由Horn和Schunck提出,其原理如下[20-24]:
Horn-Schunck光流模型根据运动物体的光流场具有连续、平滑的特点,其约束条件即Horn-Schunck模型如式(1)所述:
式中u代表uij即图像像素点(i, j)处的水平方向光流值,v代表 vij即图像像素点(i, j)处的垂直方向光流值,Ix和Iy分别表示图像关于x(水平方向)的梯度和图像关于y(垂直方向)的梯度,It表示 2帧图像间关于时间的导数。Ix、Iy、It的数学表达式如式(2)所示:
如果按照每相隔 1帧来计算光流图,不仅会增大程序运行负担影响效率,而且只隔1帧的2幅光流图像光流变化不大,进行叠加后很难有效地提取出奶牛反刍时的嘴部区域,因此为了能够更好地采集到清晰的奶牛嘴部轮廓的光流图,本研究选取前后相差 8帧的序列帧计算光流。
使用7号视频中从第1帧开始连续的60帧序列图像计算其光流图,部分视频帧的光流结果如图 2所示。图2a、2b、2c为视频的第8帧,第15帧和第20帧。图2d、2e和2f中的点表示对应像素点的速度矢量值,代表着该处存在运动变化,从速度矢量中可以读出像素点的运动方向和速度大小。从图 2中能够清晰地找到反刍中的奶牛嘴部轮廓,但奶牛反刍时除了嘴部运动剧烈外,耳部、背部也会出现不同程度的运动,因此在图 2中奶牛的耳部和背部轮廓也很显著,同时视频背景的干扰因素也会生成一些像素点,说明分割还受到耳部、背部轮廓和背景干扰的影响,增加了奶牛嘴部区域检测的难度。
图2 反刍奶牛光流检测结果Fig.2 Result of optical flow detection for ruminating cows
1.2.3 反刍奶牛嘴部区域的提取
为了进一步检测到反刍时奶牛的嘴部区域,需要将得到从第1帧开始连续的60帧序列图像的光流图再次处理。由于光流反映了各像素运动的幅度,通过选取合适的阈值对光流图像进行分割,即可将各序列帧图像中较大的运动像素点分割出来,从而实现较大运动区域的提取。对经过合适阈值分割出来从第1帧开始连续的60帧二值图像进行叠加,即可实现各序列帧图像中较大运动幅度像素点的融合。
利用上述思路得到的效果如图3a所示,奶牛反刍时嘴部区域运动剧烈,嘴部区域的像素点变化剧烈,可见该方法可以有效地将各帧序列图像中较大运动幅度的像素点提取出来,利于后续奶牛嘴部区域的提取工作。利用半径为5的‘disk’型结构元素对图3a进行数学形态学运算,然后去除小块像素块得到图 3b。由于奶牛反刍时嘴部区域的活动最明显,具有较大的连通区域,因此可以通过对图3b中的连通区域按照面积大小进行排序,并根据目标奶牛的数目选取其较大面积区域,因为所得奶牛嘴部区域不连通,且各块面积较小,最后采用半径为10的‘disk’型结构元素对图3b进行形态学闭运算得到最终奶牛嘴部较大的连通区域,如图3c所示。
根据已经得到的奶牛反刍二值图像,建立相关的奶牛反刍嘴部区域的检测模型,即可实现奶牛嘴部区域的检测。针对 2头同时反刍的奶牛目标,首先确定检测框的大小,设定检测框为一个长宽相等的正方形,边长应接近实际的牛嘴宽度。当牛的头部没有出现大角度偏转且直面镜头时,实际牛嘴的宽度约等于二值图像中的牛嘴宽度,设定检测框边长等于二值图像中牛嘴的宽度,当牛的头部出现大角度左右偏转时,二值图像中的牛嘴宽度变长,大于实际的牛嘴宽度,如果继续将检测框边长设为二值图像中的牛嘴宽度会导致检测框过大,从而影响检测的精确度。此时应改变检测框边长等于二值图像中奶牛嘴部区域的高度,此刻二值图像中牛嘴宽度等同于实际中牛嘴宽度。下一步确定 2个检测框中心的位置,2个检测框中心x坐标等于其各自在二值图像中距离y轴最远的像素点的x坐标减去其牛嘴宽度的一半,2个跟踪框中心的y坐标等于各自像素点y坐标的均值减去牛嘴宽度的一半,其数学模型如式(3)~(4)所示。
式中z1和z2代表牛嘴的宽度,l1和l2代表2头奶牛的检测框的边长,x1和x2代表2头奶牛嘴部像素点的x坐标,y1和 y2代表 2头奶牛嘴部像素点的 y坐标,pos_x_1和pos_y_1代表第一头奶牛检测框中心的 x和 y坐标,pos_x_2和pos_y_2代表第2头奶牛检测框中心的x和y坐标。
如果奶牛头部出现大幅度左偏或右偏时,将上述模型中牛嘴宽度的表达式中x改为y,即可进行牛嘴部区域的检测。
奶牛反刍时嘴部区域运动较大,对应奶牛反刍二值图像即像素块面积较大区域为奶牛嘴部区域。根据像素块面积的大小进行排序,筛选出面积最大的2块像素块,即得到候选奶牛嘴部区域的像素块。再结合式(3)、(4)即可自动确定最终的奶牛检测框的大小和位置,实现奶牛反刍时嘴部区域的自动检测。通过观察检测结果,检测框紧贴奶牛嘴部轮廓,有利于现有跟踪算法实现奶牛反刍的视频跟踪。
为了验证试验方法的正确性和准确性,本研究采用以下2个评价指标进行评价。
观察检测框是否包括了全部(或几乎全部)的奶牛嘴部区域,这是验证试验方法是否正确的最直观也是最基础的评价指标。只有检测框完整地包含了整个奶牛的嘴部区域,才能确保奶牛嘴部区域检测的成功。
为了实现奶牛反刍的视频跟踪,首先需要检测出奶牛反刍时的嘴部区域,本研究引入充盈率指标来判定奶牛嘴部区域的检测效果。在奶牛反刍检测图中,利用Photoshop尽可能地贴近奶牛嘴部轮廓框出一个不规则区域,该区域应既要包括整个奶牛嘴部又要保证区域面积最小,标记该区域面积为 s1。设通过光流法自动检测出的奶牛嘴部区域的二值图像面积为 s2,奶牛自动检测框的面积为s3。将s1和s3进行相除得到其比值,将其定义为真实充盈率ω1,该指标的计算方法如式(5)所示。将s2和s3进行相除得到其比值,将其定义为检测充盈率ω2,该指标的计算方法如式(6)所示。
式中s1和s2为利用Adobe Photoshop提取奶牛嘴部区域的结果。充盈率是后续进行奶牛嘴部区域精确跟踪的关键,一般而言,该值低于50%时,检测框不仅包含整个嘴部区域,还包含奶牛的部分脸部区域,导致现有跟踪算法难以实现奶牛嘴部区域的精确跟踪,因此可以通过充盈率指标来评价算法性能。
利用本研究算法进行多目标奶牛嘴部区域检测的结果如表2所示,检测对象为正在反刍中的2头奶牛,检测结果中 T代表检测框能够检测到奶牛反刍时的嘴部区域,F代表不能够检测到嘴部区域。总计12段视频,其中 8段视频可以准确地检测到奶牛反刍的嘴部区域,2段处于大风天气的视频中2头奶牛的嘴部区域都检测错误,另有2段视频只能成功检测到其中1头奶牛的嘴部区域。
图 4列出了可以正确检测到奶牛反刍的嘴部区域的8段视频的检测结果,即视频序号为1,3,4,5,6,7,8,10的视频分别对应图4a~4h。8段视频都准确地检测出了奶牛反刍的嘴部区域,除了图4e和图4h检测框面积偏大外,其余各图检测框的大小都贴近奶牛的嘴部轮廓。
根据表2和图4所示,针对第1个评价指标即检测框是否能够检测到正在反刍的奶牛的嘴部进行分析。在大风天气下,视频11和12无法检测到奶牛反刍的嘴部区域。当天气为阴或者晴时,10段视频中有 8段视频可以检测到反刍时奶牛的嘴部区域,成功率为80.00%。
表2 奶牛嘴部区域检测结果Table 2 Results of detection for cow’s mouth region
图4 奶牛反刍检测结果Fig.4 Detection of cows’ rumination results
为了验证奶牛嘴部区域自动检测的效果,根据充盈率指标(对比框面积占检测框的百分比),将满足第1个评价指标的奶牛反刍视频进行统计处理,通过公式(5)、(6)计算可得到这8组视频中的2头奶牛的真实充盈率ω1和检测充盈率ω2,结果如图5所示。图5描述的是8段可检测到反刍奶牛嘴部区域的视频中 2头奶牛的充盈率。分析上述8段视频中2头奶牛的2个充盈率,总计16头奶牛,即16个真实充盈率和16个检测充盈率。最大真实充盈率可以达到96.76%,取自视频7中的2号奶牛,最小真实充盈率为25.36%,取自视频10中的1号奶牛。最大检测充盈率可以达到98.51%,取自视频8中的2号奶牛,最小检测充盈率为43.80%,取自视频4中的1号奶牛。8段视频的平均真实充盈率为63.91%,8段视频的平均检测充盈率为70.06%,可以保证后续嘴部区域跟踪算法的有效运行。当天气为晴时,4段可以检测到奶牛反刍嘴部区域的视频中,视频1、3、4、5的真实充盈率和检测充盈率都超过或接近50%,当天气为阴时,4段可以检测到奶牛反刍嘴部区域的视频中,视频7和8中2头奶牛的真实充盈率和检测充盈率都可以实现奶牛嘴部区域的有效检测,视频6和视频10中都出现了1头奶牛嘴部真实充盈率远低于 50%的情况,导致检测框过大,导致检测结果偏低,无法实现奶牛嘴部区域的有效检测。
图5 反刍奶牛嘴部的真实充盈率和检测充盈率Fig.5 True filling rate and detected filling rate of ruminating cows’ mouth
针对运动目标的检测,已有许多有效方法,其中帧间差分法是比较常见的一种方法。帧间差分法主要利用视频帧序列中连续2帧图像的像素点在灰度值上的差异,然后通过设定合适的阈值来提取视频帧序列中的运动区域[25-28]。
图 6展示了针对反刍奶牛嘴部检测,帧间差分法和本研究算法效果的对比结果,图6a是帧间差分法的检测结果,图6b是光流法的检测结果。由图6可以发现,本研究方法可以准确地检测出奶牛反刍嘴部区域,2头奶牛的真实充盈率分别为68.70%和68.66%,其检测充盈率分别为75.31%和82.71%。而采用帧间差分法的检测结果中,右侧奶牛的检测框无法含括整个奶牛的嘴部区域,真实充盈率为66.17%;而左侧奶牛的检测框检测到了奶牛嘴部区域的下方,结果不够准确,真实充盈率指标仅为11.09%。若将该检测结果作为视频跟踪的模板,必然导致奶牛反刍行为监测的失败。
图6 2种算法在反刍奶牛嘴部检测中的对比结果Fig.6 Comparison result of two algorithms in detection of ruminating cows’ mouth
本研究对 2种算法的耗时进行了分析,试验表明,光流法的程序运行时间为102.88 s,帧间差分法的程序运行时间为358.65 s,其耗时仅为帧间差分法的28.69%,表明光流法更适合于进行奶牛嘴部区域的高效检测。奶牛嘴部区域的准确检测是进行奶牛反刍行为准确监测的关键,为了尽可能得到准确的奶牛嘴部区域的检测结果,本文使用视频的前 60帧数据进行了奶牛嘴部区域的检测,虽然耗时较长,但在获得奶牛嘴部区域的自动、高效检测后,即可用其进行后续视频帧中奶牛嘴部区域的精确跟踪。
综上所述,由于帧间差分法对运动缓慢物体的检测效果并不理想,可能会造成检测误差过大,当物体运动过慢时还会直接检测错误[29-32],加之其耗时过长,对反刍奶牛嘴部区域的检测效果略差。
1)运动干扰对检测结果的影响
图7a、7d、8a和8d是4段无法成功检测反刍奶牛嘴部区域的视频的示例,分别对应视频11、12、2和9。图7a和7d只存在1个检测框,包含了整个图像区域;图8a成功检测了左侧奶牛反刍的嘴部区域,但另一个检测框检测到右侧反刍奶牛身后奶牛的腹部;图8d其中一个检测框成功检测了奶牛反刍的嘴部区域,而另一个检测框检测到奶牛的耳部区域。
图7 视频11、12嘴部区域检测错误的过程Fig.7 Wrong process of cows’ mouth regions for video No.11 and No.12
在第一个评价指标中,视频11和12无法检测到奶牛反刍时的嘴部区域的主要原因是强对流大风天气导致背景的杂草、树枝以及奶牛的毛皮晃动,从而生成了干扰光流场,对原本奶牛反刍时嘴部活动最为剧烈的光流场产生了干扰。图7b、7c、7e和7f分别表示视频11的光流检测过程,奶牛嘴部候选区域检测过程,以及视频12的光流检测过程,奶牛嘴部候选区域检测过程。
如图7a所示,视频11中,其他干扰光流场与反刍时的嘴部光流场混在了一块形成了 1个光流场,因此在转化为二值图像后很难单独找出奶牛反刍时的嘴部区域,只能找到1个像素块区域,最终形成了1个包含全幅图片的奶牛嘴部候选区域。同理,图7d所示的视频12的检测错误原因也是如此。
图8b、8c、8e和8f分别表示视频2的光流检测过程、奶牛嘴部候选区域检测过程、以及视频 9的光流检测过程,奶牛嘴部候选区域检测过程。
图8 视频2、9嘴部区域检测错误的过程Fig.8 Wrong process of cows’ mouth regions for video No.2 and No.9
如图8a所示,视频2中,最大的2块光流场是左边奶牛反刍嘴部区域的光流场和右侧反刍奶牛身后奶牛腹部区域的光流场,因此转换为二值图像时,本应出现在右侧反刍奶牛嘴部区域的像素块变成了其身后奶牛腹部区域的像素块,直接导致检测框检测到了身后奶牛的腹部区域。同理,如图8d所示,视频9中,最大的2块光流场是左边奶牛反刍嘴部区域的光流场和左侧反刍奶牛耳部区域的光流场,因此转换为二值图像时,本应出现在右侧反刍奶牛嘴部区域的像素块变成了左侧奶牛耳部区域的像素块,直接导致检测框检测到了左侧奶牛的耳部部区域。
视频1、3、4、5中同样存在着背景奶牛运动的干扰,如图4a~4d所示,但是并没有影响到最终的检测结果,这是因为身后奶牛的运动并不剧烈,产生的光流场较小,不会影响到最终筛选出的奶牛嘴部区域的光流场。
综上所述,只要干扰光流场小于反刍时奶牛嘴部区域的光流场就不会对最终的检测结果造成影响,这也证明了该算法的抗干扰能力较好。
2)视频6和10的视频真实充盈率偏低原因分析
在第2个评价指标中,视频6和视频10中各有1头奶牛的嘴部真实充盈率远低于期望的 50%,其中视频 6中右侧奶牛嘴部充盈率为27.73%,视频10中左侧奶牛嘴部充盈率为25.36%。如图9b所示,视频10中左边奶牛在反刍时头部并不保持静止状态,而是一边反刍一边摇晃头部,这不会影响检测框的位置信息但会增大最终二值图像中奶牛嘴部区域的像素块。因为最终处理的是 60帧二值图像叠加后的二值图,因为奶牛在摇晃头部所以每一帧的二值图像中奶牛嘴部轮廓都在发生变动,最终叠加出来的效果等同于加大了奶牛的嘴部像素块。而检测框的大小与二值图像中的奶牛嘴部区域的像素块面积大小成正比,导致检测框偏大,真实充盈率相较于实现奶牛反刍嘴部区域跟踪要求的50%降低了24.64%,影响了检测的准确性,无法为实现奶牛反刍的视频追踪做铺垫。图9a中右侧检测框面积偏大,因为在统一选择合适的阈值将光流图转换成二值图像时,选定的阈值对于视频 6而言偏大,使得分割出来的像素块过大,导致嘴部区域像素块与反刍时脸部区域的部分像素块相连接,最终导致了检测框偏大,真实充盈率相较于实现奶牛反刍嘴部区域跟踪要求的50%降低了22.27%,影响了检测的准确性,无法为实现奶牛反刍的视频追踪做铺垫。
图9 充盈率低的图像示例Fig.9 Examples of low de filling rate
3)天气的影响
在大风的恶劣天气下无法进行有效的嘴部区域检测,除去2段大风天气,剩下的10段视频中可以成功检测的有8段视频,检测成功率为80.00%。检测成功的8段视频分别拍摄于阴天和晴天,从图 4分析可知,无论是阴天还是晴天,只要奶牛反刍中背景不出现其他物体的剧烈扰动,均可成功检测到2头奶牛的嘴部区域。
为了实现多目标奶牛反刍的智能监测,本研究提出了一种基于Horn-Schunck光流法的奶牛嘴部检测方法,实现了多目标奶牛嘴部区域的自动检测,主要结论如下:
1)该方法可以检测多头奶牛反刍时的嘴部区域,不再局限于针对单头奶牛反刍的检测。同时该方法采取的是一种自动检测手段,更加的智能和准确。该算法对反刍奶牛的背景依赖性低,只要背景不出现物体的大规模运动,一些轻微的运动不会对最终的检测结果产生影响。表明将基于Horn-Schunck光流法的奶牛嘴部检测方法应用于反刍奶牛的嘴部区域检测是可行的。
2)除大风等恶劣天气外,无论在晴天还是阴天该方法都能够检测出正在反刍中的奶牛的嘴部区域。最大真实充盈率可以达到96.76%,最小真实充盈率为25.36%;大检测充盈率可以达到 98.51%,最小检测充盈率为43.80%;8段视频的平均真实充盈率为63.91%,8段视频的平均检测充盈率为70.06%。检测框可以很好地贴近奶牛嘴部轮廓,可为后续进行多目标奶牛嘴部区域的自动跟踪提供参考。
[1] Erina S, Cziszter L T, AcatincăI S, et al. Research on rumination time according to administration order of forages in romanian black and white cows[J]. Lucrari Stiintifice Zootehnie Si Biotehnologii, 2013, 46(2): 302-305.
[2] Gregorini P, Delarue B, Mcleod K, et al. Rumination behavior of grazing dairy cows in response to restricted time at pasture[J]. Livestock Science, 2012, 146(1): 95-98.
[3] Portugal J A B, Pires M F A, Durães M C. Effect of air temperature and humidity on frequency of feeding, water ingestion and rumination in Holstein cows[J]. Arquivo Brasileiro De Medicina Veterinária E Zootecnia, 2000, 52(2):154-159.
[4] 宋颢,杨裔,郭鑫波,等. 深层神经网络在家畜反刍行为识别上的应用[J]. 科学技术与工程,2017,17(2):239-242.Song Hao, Yang Yi, Guo Xinbo, et al. Application of deep neural network on the livestock ruminating behaviour recognition[J]. Science Technology and Engineering, 2017,17(2): 239-242. (in Chinese with English abstract)
[5] 邬娟,宣传忠,武佩,等. 基于Arduino和LabVIEW的羊只反刍行为无线采集系统设计[J]. 黑龙江畜牧兽医,2016,(21):10-13.Wu Juan, Xuan Chuanzhong, Wu Pei, et al. Design of wireless acquisition system for ruminating behavior of sheep based on the Arduino and LabVIEW[J]. Heilongjiang Animal Science and Veterinary Medicine, 2016, (21): 10-13. (in Chinese with English abstract)
[6] 邬娟. 母羊反刍行为检测系统的研究[D]. 呼和浩特:内蒙古农业大学,2016.Wu Juan., Study on Data Detection System of Ewes’Ruminating Behavior[D]. Hohhot: Inner Mongolia Agricultural University, 2016. ( in Chinese with English abstract)
[7] Braun U, Trösch L, Nydegger F, et al. Evaluation of eating and rumination behaviour in cows using a noseband pressure sensor[J]. BMC Veterinary Research, 2013, 9(1): 164-170.
[8] Pahl C, Haeussermann A, Mahlkownerge K, et al.Comparison of rumination activity records of pressure sensors and acoustic sensors[C]// International Conference of Agricultural Engineering-CIGR-AgEng 2012: Agriculture and Engineering for a Healthier Life Valencia, 2012.
[9] Zehner N, Niederhauser J J, Nydegger F, et al. Validation of a new health monitoring system (RumiWatch) for combined automatic measurement of rumination, feed intake, water intake and locomotion in dairy cows[C]// International Conference of Agricultural Engineering-CIGR-AgEng 2012:Agriculture and Engineering for a Healthier Life Valencia,2012.
[10] Calamari L, Soriani N, Panella G, et al. Rumination time around calving: an early signal to detect cows at greater risk of disease[J]. Journal of Dairy Science, 2014, 97(6): 3635-3647.
[11] Pahl C, Haeussermann A, Hartung E, et al. Ability to estimate feed intake from feeding time, chewing and rumination activity[C]// International Conference of Agricultural Engineering CIGR-Ageng 2014: Development of the agricultural engineering, Zurich, 2014.
[12] 刘冬,赵凯旋,何东健. 基于混合高斯模型的移动奶牛目标实时检测[J]. 农业机械学报,2016,47(5):288-294.Liu Dong, Zhao Kaixuan, He Dongjian. Real-time target detection for moving cows based on Gaussian mixture model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(5): 288-294. (in Chinese with English abstract)
[13] 何东健,孟凡昌,赵凯旋,等. 基于视频分析的犊牛基本行为识别[J]. 农业机械学报,2016,47(9):294-300.He Dongjian, Meng Fanchang, Zhao Kaixuan, et al.Recognition of calf basic behaviors based on video analysis[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(9): 294-300. (in Chinese with English abstract)
[14] 赵凯旋,何东健,王恩泽. 基于视频分析的奶牛呼吸频率与异常检测[J]. 农业机械学报,2014,45(10):258-263.Zhao Kaixuan, He Dongjian, Wang Enze. Detection of breathing rate and abnormity of dairy cattle based on video analysis[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(10): 258-263. (in Chinese with English abstract)
[15] 肖德琴,冯爱晶,杨秋妹,等. 基于视频追踪的猪只运动快速检测方法[J]. 农业机械学报,2016,47(10):351-357.Xiao Deqin, Feng Aijing, Yang Qiumei, et al. Fast motion detection for pigs based on video tracking[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(10):351-357. (in Chinese with English abstract)
[16] 刘龙申,沈明霞,柏广宇,等. 基于机器视觉的母猪分娩检测方法研究[J]. 农业机械学报,2014,45(3):237-242.Liulongshen, Shen Mingxia, Bai Guangyu, et al. Sows parturition detection method based on machine vision[J].Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(3): 237-242. (in Chinese with English abstract)
[17] Chen Y, He D, Fu Y, et al. Intelligent monitoring method of cow ruminant behavior based on video analysis technology[J].International Journal of Agricultural & Biological Engineering, 2017, 10(5): 194-202. (in Chinese with English abstract)
[18] Andriamandroso A L H, Lebeau F, Beckers Y, et al.Development of an open-source algorithm based on inertial measurement units (IMU) of a smartphone to detect cattle grass intake and ruminating behaviors[J]. Computers &Electronics in Agriculture, 2017, 139: 126-137.
[19] Reiter S, Sattlecker G, Lidauer L, et al. Evaluation of an ear-tag-based accelerometer for monitoring rumination in dairy cows[J]. J Dairy Sci, doi: 10. 3168/jbs. 2017-12688:1-14.
[20] 管飞,王荣. 基于Horn-Schunck光流法的运动目标检测的研究[J]. 仪表技术,2015,(2):43-45.Guan Fei, Wang Rong. Research on moving object detection based on Horn-Schunck optical flow algorithm[J].Instrumentation Technology, 2015, (2): 43-45. (in Chinese with English abstract)
[21] Tarnec L L, Destrempes F, Cloutier G, et al. A proof of convergence of the Horn-Schunck optical flow algorithm in arbitrary dimension[J]. Siam Journal on Imaging Sciences,2014, 7(1): 277.
[22] Kesrarat D, Patanavijit V. Bidirectional symmetry and median filter with dynamic smoothness weight on Horn-Schunck optical flow algorithm[C]// International Symposium on Intelligent Signal Processing and Communications Systems. IEEE, 2013: 708-713.
[23] Andrés Bruhn, Joachim Weickert, Christoph Schnörr.Lucas/Kanade meets Horn/Schunck: combining local and global optic flow methods[J]. International Journal of Computer Vision, 2005, 61(3): 211-231.
[24] 林雯. 新型基于帧间差分法的运动人脸检测算法研究[J].计算机仿真,2010,27(10):238-241.Lin Wen. Research on novel moving face detection algorithm based on frame difference[J]. Computer Simulation, 2010,27(10): 238-241. (in Chinese with English abstract)
[25] 薛丽霞,罗艳丽,王佐成. 基于帧间差分的自适应运动目标检测方法[J]. 计算机应用研究,2011,28(4):1551-1552.Xue Lixia, Luo Yanli, Wang zuocheng. Detection algorithm of adaptive moving objects based on frame difference method[J]. Application Research of Computers, 2011, 28(4):1551-1552. (in Chinese with English abstract)
[26] 严金果,徐蔚鸿. 基于新的帧间差分运动目标检测算法[J].计算机工程与设计,2013,34(12):4331-4335.Yan Jinguo, Xu Weihong. Moving object real-time detection algorithm based on new frame difference[J]. Computer Engineering and Design, 2013, 34(12): 4331-4335. (in Chinese with English abstract)
[27] 潘翔鹤,赵曙光,柳宗浦,等. 一种基于梯度图像帧间差分和背景差分的运动目标检测新方法[J]. 光电子技术,2009,29(1):34-36.Pan Xianghe, Zhao Shuguang, Liu Zongpu, et al. Detection of video moving objects by combining grads-based frame difference and background subtraction[J]. Optoelectronic Technology, 2009, 29(1): 34-36. (in Chinese with English abstract)
[28] 朱明旱,罗大庸,曹倩霞. 帧间差分与背景差分相融合的运动目标检测算法[J]. 计算机测量与控制,2005,13(3):215-217.Zhu Minghan, Luo Dayong, Cao Qianxia. Moving objects detection algorithm based on two consecutive frames subtraction and background subtraction[J]. Computer Measurement & Control, 2005, 13(3): 215-217. (in Chinese with English abstract)
[29] 屈晶晶,辛云宏. 连续帧间差分与背景差分相融合的运动目标检测方法[J]. 光子学报,2014,43(7):213-220.Qu Jingjing, Xin Yunhong. Combined continuous frame difference with background difference method for moving object detection[J]. Acta Photonica Sinica, 2014, 43(7): 213-220. (in Chinese with English abstract)
[30] Han X, Gao Y, Lu Z, et al. Research on moving object detection algorithm based on improved three frame difference method and optical flow[C]// Fifth International Conference on Instrumentation and Measurement, Computer,Communication and Control. IEEE, 2016: 580-584.
[31] Yuan G W, Gong J, Deng M N, et al. A moving objects detection algorithm based on three-frame difference and sparse optical flow[J]. Information Technology Journal, 2014,13(11): 1863-1867.