【技术实现步骤摘要】
一种基于双目视觉的猪只体重测量及饮水行为识别系统及方法
本专利技术涉及新型数字农业管理系统领域,特别是利用双目深度摄像技术预估猪只的体重信息,对猪只的饮水行为作出精准的判定。
技术介绍
我国养猪业的总体规模长期处于世界前列,养猪业在我国经济发展中起到了重要的作用。自2012年以来我国的猪只年末存栏数和出栏数呈现明显的下滑趋势,现阶段的猪只养殖业效益低的主要原因是疫情的处置不及时,导致了高死亡率和不合格率,去年以来“非洲猪瘟”肆虐我国,重创我国生猪养殖行业。当前对猪只疾病的防治主要通过人工观察,成本大并且存在人畜传染的隐患。通过物联网技术及相关自动化设备代替人力,可以快速及时的反馈猪只的生长情况,健康情况。比对猪只每天的饮水、进食、休息的时长、预估猪只的体重,都可以对猪只的情况进行相应的了解并将结果反馈给饲养员。
技术实现思路
本专利技术的目的在于研制基于视觉的猪只体重预测系统、监测猪只每天的饮水活动。健康猪只每日的饮水次数、饮食次数、休息次数随着季节的变化而变化,但不会出现太大的变化,对于饮水次数的采集可以反馈猪只健康情况;对于猪只的体重预测更可以直观地反馈给饲养人员,如果体重出现了明显的差异,可以加大投喂量或者检查猪只的健康状态。本专利技术的技术方案主要包括:下位机模块,用于控制滑轨往返于猪舍的各个地点进行拍摄;上位机模块:对于采集的猪背部图片进行统一地处理,计算出相关猪只的体重信息。对于饮水区域周围的图片进行识别,判断是否存在饮水情况。所述下位机 ...
【技术保护点】
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为相对于原图的偏移...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。