当前位置: 首页 > 专利查询>江苏大学专利>正文

一种基于双目视觉的猪只体重测量及饮水行为识别系统及方法技术方案

技术编号:24172610 阅读:53 留言:0更新日期:2020-05-16 03:28
本发明专利技术公开了一种基于双目视觉的猪只体重测量及饮水行为识别系统及方法,拍摄猪只背部图片并得到猪只体高,划定猪只进食时的位置、提取猪只轮廓、采用二值化处理将猪只背部图像的像素点置为0并计算个数,将计算的黑色像素点个数与先前校验的各个高度下10CM*10CM黑色正方形的像素点个数进行比对,将猪只的实际背部面积和猪只的体高、猪只的实际体重进行拟合操作得到猪只体重预估。饮水监测:当饮水区域白色像素点超过50%则初步判断存在饮水行为,之后跟踪猪只质心,当质心移动距离不超过阈值时,截取第10张照片中饮水器周围20*20CM的图片,并输入traincascade分类器,对饮水区域的图片进行比对判定图片内容,如果该图片的内容为猪只头部,则最终判定猪只在饮水。

A system and method of pig weight measurement and drinking behavior recognition based on binocular vision

【技术实现步骤摘要】
一种基于双目视觉的猪只体重测量及饮水行为识别系统及方法
本专利技术涉及新型数字农业管理系统领域,特别是利用双目深度摄像技术预估猪只的体重信息,对猪只的饮水行为作出精准的判定。
技术介绍
我国养猪业的总体规模长期处于世界前列,养猪业在我国经济发展中起到了重要的作用。自2012年以来我国的猪只年末存栏数和出栏数呈现明显的下滑趋势,现阶段的猪只养殖业效益低的主要原因是疫情的处置不及时,导致了高死亡率和不合格率,去年以来“非洲猪瘟”肆虐我国,重创我国生猪养殖行业。当前对猪只疾病的防治主要通过人工观察,成本大并且存在人畜传染的隐患。通过物联网技术及相关自动化设备代替人力,可以快速及时的反馈猪只的生长情况,健康情况。比对猪只每天的饮水、进食、休息的时长、预估猪只的体重,都可以对猪只的情况进行相应的了解并将结果反馈给饲养员。
技术实现思路
本专利技术的目的在于研制基于视觉的猪只体重预测系统、监测猪只每天的饮水活动。健康猪只每日的饮水次数、饮食次数、休息次数随着季节的变化而变化,但不会出现太大的变化,对于饮水次数的采集可以反馈猪只健康情况;对于猪只的体重预测更可以直观地反馈给饲养人员,如果体重出现了明显的差异,可以加大投喂量或者检查猪只的健康状态。本专利技术的技术方案主要包括:下位机模块,用于控制滑轨往返于猪舍的各个地点进行拍摄;上位机模块:对于采集的猪背部图片进行统一地处理,计算出相关猪只的体重信息。对于饮水区域周围的图片进行识别,判断是否存在饮水情况。所述下位机模块包括交流220V~直流24V稳压电源模块,主要作用是给DM860电机驱动器以及雷赛86CM步进电机供电;采用PLC200224XP晶体管型发送脉冲信号给雷赛DM860驱动器,驱动器驱动雷赛DM860电机转动,电机带动轨道转动;滑轨的运动采用3段式往返运动,通过PLC200224XP向86CM步进电机发送转速频率和脉冲总数:加速阶段:采用低频率模式,加速转速频率在500Hz,脉冲总数1000;匀速阶段:平速转动频率在1KHz,脉冲总数2000;减速阶段:减速转速频率为500Hz,脉冲总数为1000。滑轨总长10M,一个来回共驻停8次,每次驻停时间为60s。使用PLC200224XP的串口0通过RS485连接GPRSDTU,可以接收来自上位机的控制信号,所以可以远程的控制滑轨的启停。滑轨模块采用加长的CCM-W60-35公斤级直线滑台模具,长度为10M,并且搭载灰点Bumblebee-3双目摄像机用以捕获猪只照片。所述上位机设计模块采用OpenCv库对猪只的体重进行测量:首先通过观察猪只进食时相对于整张图片的位置,通过setMouseCallback鼠标响应函数,实时在CMD框显示当前的Point坐标信息以判定感兴趣区域ROI,最终确定的ROIimage区域为Rect(1100,600,270,350)。第二步使用grabCut函数将猪只从整张图片中提取出来,其原型如下:grabCut(img,result,rect,bgdModel,fgdModel,iterCount,mode),img为输入的完整图像、result为只包含猪只信息的图像、rect为Rect即第一步测量得到的感兴趣区域、bgdModel为整幅图像的背景图像、fgdModel为前景图像即只关于猪只的图像、iterCount为迭代次数设置成1次、mode选择GC_INIT_WITH_RECT即用矩形划定感兴趣区域。第三步对得到的轮廓图result再一步进行筛选,使用compare函数对result结果进行二值化处理和剔除背景信息,原型如下:voidcompare(InputArraysrc1,InputArraysrc2,OutputArraydst,intcompop),src1为输入图像、src2比较图像,此处为前景图像即第二部的fgdModel信息,所以此参数为GC_PR_FGD、dst为输出图像、compop为src1和src2的比较法则,定义为GC_PR_FGD即选取src1和src2相等部分,即如果src1是src2中元素则此像素点为255,如果不属于src2则像素点为0.第四步访问每个像素点对于不为0的像素进行置白色,为0进行置黑。采用动态地址配合at方法访问每个像素,如果BRG三通道中有一个不为0均将三通道设置成255,并统计不为0的像素点的总数。之后采用cvtColor函数进行图像的灰度化、采用threshold函数进行二值化处理即将图像变换成0或者1。第五步对得到的猪只的轮廓面积进行换算得到实际的背部面积。公式如下:S1/S2=P1/P2,S1为猪只的实际面积、S2为100CM^2、P1为统计的猪只的色像素点个数、P2为当前高度下的猪只体高。最后对猪只的背部面积、猪只的体高和猪只的体重进行拟合,得到关于因变量为体重、自变量为体高和体重的拟合方程。拟合采用MatLab的cftool工具箱,首先输入自变量:Xdata即背部面积、Ydata即猪只体高Y,接着输入因变量Zdata即猪只实际体重。对X和Y的最高次幂进行选择得到拟合的结果,包括拟合的方程、SSE拟合误差、R-square均方差、AdjustedRSquare校正决定系数、RMSE均方根误差。对于猪只的饮水行为,由于存在高低饮水器的存在,高位的饮水器猪只只能抬头才能够到,所以不做监测,只对低位饮水器进行研究。第一步划定低位饮水器的感兴趣区域ROIimage,经过setMouseCallback回调函数确定饮水器在整张图片中的位置Rect(50,0,100,200),此矩形下的白色像素个数是需要实时检测的数据。第二步采用和体重预估相同的grab函数和compare函数对整张的图片进行猪只轮廓的提取、采用cvtColor函数进行图像的灰度化处理、采用threshold函数对灰度图像进行二值化处理。第三步对得到的猪只的图像提取轮廓点集。采用findContours函数读取图片中出现的所有图形的轮廓点集。其原型如下:findContours(InputOutputArrayimage,OutputArrayOfArrayscontours,OutputArrayhierarchy,intmode,intmethod,Pointoffset=Point()),image为输入的二值化图像,选择第二步的结果result、hierarchy为vector<vector<Point>>类型的多轮廓点集合contours用来保存所有轮廓的点集合、mode代表需要绘制的轮廓的类型,此处mode选择RETR_EXTERNAL配合method选择为CHAIN_APPROX_NONE即代表选择只采集物体的最外层轮廓点集、offset为相对于原图的偏移量选择默认值即不发生偏移。第四步绘制轮廓并计算每个轮廓的面积。采用drawContours绘制出contours点集中的每个轮廓,原型如下本文档来自技高网...

【技术保护点】
1.一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,包括/n双目摄像机,用于采集猪舍图片;/n下位机模块,用于控制与双面摄像机相连的滑轨往返于猪舍的各个地点,并与上位机彼此交互;/n上位机模块:对于采集的猪背部图片进行统一地处理,计算出相关猪只的体重信息,对于饮水区域周围的图片进行识别,判断是否存在饮水情况。/n

【技术特征摘要】
1.一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,包括
双目摄像机,用于采集猪舍图片;
下位机模块,用于控制与双面摄像机相连的滑轨往返于猪舍的各个地点,并与上位机彼此交互;
上位机模块:对于采集的猪背部图片进行统一地处理,计算出相关猪只的体重信息,对于饮水区域周围的图片进行识别,判断是否存在饮水情况。


2.根据权利要求1所述的一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,所述双目摄像机采用灰点Bumblebee-3双目摄像机。


3.根据权利要求1所述的一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,所述下位机模块包括交流220V-直流24V稳压电源模块,用于给DM860电机驱动器以及雷赛86CM步进电机供电;采用PLC200224XP晶体管型发送脉冲信号给雷赛DM860驱动器,驱动器驱动雷赛DM860电机转动,电机转动能够带动滑轨运动。


4.根据权利要求3所述的一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,所述滑轨的运动采用3段式往返运动,包含加速阶段、匀速阶段和减速阶段,所述加速阶段:采用低频率模式,加速频率在500Hz,脉冲总数1000;所述匀速阶段:平速转动在1KHz,脉冲总数2000;所述减速阶段:减速频率为500Hz,脉冲总数为1000。


5.根据权利要求3所述的一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,所述滑轨采用加长的CCM-W60-35公斤级直线滑台模具,总长10M,一个来回共驻停8次,每次驻停时间为60s,使用PLC200224XP的串口0通过RS485连接GPRSDTU,接收来自上位机的控制信号,以远程控制滑轨的启停。


6.根据权利要求1所述的一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,所述上位机模块采用OpenCv库对猪只的体重进行测量,具体如下:
第一步,设置猪只进食时相对于整张图片的位置,通过setMouseCallback鼠标响应函数,实时在CMD框显示当前的Point坐标信息以判定感兴趣区域ROI,最终确定的ROIimage区域为Rect;
第二步,使用grabCut函数将猪只从整张图片中提取出来,其具体设置如下:
grabCut(img,result,rect,bgdModel,fgdModel,iterCount,mode),其中,img为输入的完整图像、result为只包含猪只信息的图像、rect为第一步测量得到的感兴趣区域、bgdModel为整幅图像的背景图像、fgdModel为前景图像即只关于猪只的图像、iterCount为迭代次数设置成1次、mode选择GC_INIT_WITH_RECT即用矩形划定感兴趣区域;
第三步,对得到的轮廓图result再一步进行筛选,使用compare函数对result结果进行二值化处理和剔除背景信息,设置如下:
voidcompare(InputArraysrc1,InputArraysrc2,OutputArraydst,intcmpop),src1为输入图像、src2为前景图像即第二部的fgdModel信息,所以此参数为GC_PR_FGD、dst为输出图像、compop定义为GC_PR_FGD,即如果src1是src2中元素则此像素点为255,如果不属于src2则像素点为0;
第四步,访问每个像素点对于不为0的像素进行置白色,为0进行置黑;采用动态地址配合at方法访问每个像素,如果BRG三通道中有一个不为0均将三通道设置成255,并统计不为0的像素点的总数;之后采用cvtColor函数进行图像的灰度化、采用threshold函数进行二值化处理即将图像变换成0或者1;
第五步,对得到的猪只的轮廓面积进行换算得到实际的背部面积,公式如下:S1/S2=P1/P2,S1为猪只的实际面积、S2为100CM^2、P1为统计的猪只的色像素点个数、P2为当前高度下的猪只体高;最后对猪只的背部面积、猪只的体高和猪只的体重进行拟合,得到关于因变量为体重、自变量为体高和体重的拟合方程。


7.根据权利要求1所述的一种基于双目视觉的猪只体重测量及饮水行为识别系统,其特征在于,所述上位机模块对猪只的饮水行为的监测,具体如下:
第一步,划定低位饮水器的感兴趣区域ROIimage,经过setMouseCallback回调函数确定饮水器在整张图片中的位置Rect(50,0,100,200),此矩形下的白色像素个数需要实时检测数据;
第二步,采用grab函数和compare函数对整张的图片进行猪只轮廓的提取、采用cvtColor函数进行图像的灰度化处理、采用threshold函数对灰度图像进行二值化处理;
第三步,对得到的猪只的图像提取轮廓点集:
采用findContours函数读取图片中出现的所有图形的轮廓点集,其设置如下:
findContours(InputOutputArrayimage,OutputArrayOfArrayscontours,OutputArrayhierarchy,intmode,intmethod,Pointoffset=Point()),image为输入的二值化图像result、hierarchy为vector<vector<Point>>类型的多轮廓点集合contours、mode选择RETR_EXTERNAL配合method选择为CHAIN_APPROX_NONE即代表选择只采集物体的最外层轮廓点集、offset为相对于原图的偏移...

【专利技术属性】
技术研发人员:刘星桥李健
申请(专利权)人:江苏大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1