一种基于YOLOX的精准淡水鱼圈养投饲系统

文档序号:36927523发布日期:2024-02-02 21:53阅读:37来源:国知局
一种基于YOLOX的精准淡水鱼圈养投饲系统

本发明专利涉及水产养殖、投饲机器人、软件平台设计、图像检测技术、计算机视觉领域,具体地讲是一种基于计算机视觉的淡水鱼精准投饲系统。


背景技术:

1、当前圈养池塘养殖普遍采用的高密度放养、大量投饲的散养模式,面临着养殖水环境恶化、病害频发、养殖效率不高、产品质量安全隐患多等诸多问题,严重制约着池塘养殖业的可持续发展。高效投饲系统利用投饲机器人对淡水鱼养殖池塘进行智能投饲,在投饲的各个阶段,均可使用可视化平台远程控制设备的运行模式,对投饲进行精准调控。

2、但是在投饲饵料过程中,由于池塘内淡水鱼条数难以确定,鱼类活动量不易统计,因此很难确定单次的投饲量,极易造成饲料过剩影响水体环境,导致鱼类疾病发生。本发明专利使用计算机视觉在投饲过程中自动检测鱼类条数和活动情况,通过标签制作、数据集制作、目标检测模型构建结合鱼类的运动特征和空间分布规律,建立淡水鱼进食检测模型,并对该模型进行优化,用于确定淡水鱼条数和淡水鱼活动量。


技术实现思路

1、本发明专利针对背景技术中存在的问题,提出了一种基于yolox的精准淡水鱼圈养投饲系统。通过yolox目标检测算法,实现对淡水鱼进行实时目标检测,并对淡水鱼聚集度进行评估预测,从而对投饲量实时调控。利用yolox算法的方法检测淡水鱼条数,是对淡水鱼投饲进行精准控制,以此提高淡水鱼的福利水平的重要基础。

2、技术方案:

3、一种基于yolox的淡水鱼精准投饲系统,其特征在于它包括:投饲机器人子系统、淡水鱼进食数据采集子系统、淡水鱼目标检测子系统和淡水鱼聚集度评估子系统;具体的:

4、投饲机器人子系统:用于自动化投放饲料;

5、淡水鱼进食数据采集子系统:用于采集淡水鱼进食视频;

6、淡水鱼目标检测子系统:对于淡水鱼进食视频,通过yolox算法进行淡水鱼目标检测,对淡水鱼条数进行统计,实时发送至数据库储存;

7、淡水鱼聚集度评估子系统:根据淡水鱼条数统计的结果,为淡水鱼的聚集度进行自动化评估。

8、进一步,投饲机器人子系统包括核心控制模块、供电模块、传感器模块、驱动传动模块、无线信息传输模块和轨道,其中:

9、轨道为40*40mm角铁标准件铺设而成,铺设在养殖平台上,两侧圈养池中间;

10、核心控制版为主芯片为stm32f103的单片机控制板,其上面包括供电接口,485接口,pwm输出接口,外部中断接口,核心控制板在投饲机器人中起到控制机器人移动停止、传感器数据接收与处理、上传和接收指令数据的功能;

11、供电模块为48v输出可充电锂电池,负责向投饲机器人的核心控制模块、驱动模块、传感器模块和无线信息传输模块进行供电;

12、驱动传动模块包括驱动电机和传动传动轴,驱动电机由核心控制板输出的pwm信号控制,由供电模块供电,通过齿轮将动力传输至传动轴,驱动投饲机器人移动;

13、传感器模块为霍尔传感器,能够感知磁性物质,并将信号传输至stm32核心控制板,来控制机器人定点停止;

14、无线信息传输模块带有网口及485接口,由供电模块供电,在与wifi信号连接后,可为其供网,通过485接口发送和接收控制指令数据至云服务器;

15、使用变压器将直流48v转化为直流12v向无线模块供电。

16、进一步,淡水鱼进食数据采集子系统由摄像头、无线路由器、云数据库组成;淡水鱼进食数据采集子系统使用海康威视摄像头安装于投饲机器人沿轨道左右两侧机身,在俯测高度80cm处,以垂直于地面40度俯视拍摄,图像分辨率为1920*1080,通过wifi信号,将摄像头拍摄数据实时传输到云数据库。

17、具体的,淡水鱼进食数据采集子系统的步骤如下:

18、s1、在投饲机器人沿轨道左右两侧机身安装摄像头,在俯测高度80cm处,垂直于地面40度俯拍圈养池内鱼群,为提供均匀的光源,摄像头上方假设led白光灯;

19、s2、通过海康威视摄像头获取圈养池淡水鱼群进食的视频,采集的数据包括每次投饲前1分钟至投饲完成后3分钟的淡水鱼进食视频数据;

20、s3、将视频数据实时存储至云数据库。

21、具体的,淡水鱼目标检测子系统的模型构建包括以下步骤:

22、s1、数据采集:基于淡水鱼进食数据采集子系统获得视频,图像数据实时从视频中截取,截取频率为每秒三帧图片;

23、s2、数据集构建:将截取图片使用图像处理方法进行预处理标注得到训练的数据集;

24、s3、网络设计:平衡检测速度和检测精度,采用yolox为检测网络模型;

25、s4、yolox模型训练:使用数据集图片,训练yolox模型,作为淡水鱼进食目标检测器,并进行条数统计;

26、s5、统计分析及可视化:将淡水鱼目标检测结果传输至后台数据库,编写sql语句自动化统计每天每次进食淡水鱼条数,发布至前端可视化页面。

27、进一步,所述步骤s2中图像预处理具体步骤如下:

28、s21、针对模糊和噪音问题,采用非局部均值去噪方法对输入图像进行降噪处理;

29、s22、为了减少反光现象,将图像转换为灰度,并使用高斯模糊滤波器对其进行处理;通过调整模糊程度,减少图像中的反光干扰;

30、s23、使用二值化分割技术处理模糊处理的图像,将反光区域转换为黑色掩码;使用按位与操作将掩码应用于原始图像,消除反光干扰;

31、s24、为了降低水波纹干扰,对rgb颜色空间的b通道的图像进行傅里叶变换,通过移动频谱将干扰限制在边缘区域,最后将滤波后的频谱转换回空域后重新合并通道。

32、进一步,优选的,在步骤s3中,所用的yolox是在yolov3的基础上,利用预测分支解耦、数据增强、anchor-free和样本匹配等策略而形成的精度高、速度快的目标检测器。

33、具体的,步骤s3所述网络设计中,检测网络模型的损失函数为:

34、loss=λ*lossreg+lossobj+losscls

35、式中,lossreg为淡水鱼定位损失,lossobj为淡水鱼存在损失,losscls为分类损失,λ是淡水鱼定位损失的平衡系数。

36、具体的:

37、淡水鱼定位损失lossreg的获取公式为:

38、

39、

40、

41、式中,iou为预测框与真实框的交并比,ρ2(b,bgt)为预测框和真实框的中心点的欧氏距离,c为能够同时包含预测框和真实框的最小闭包区域的对角线距离,v为宽高比度量函数,w为预测框的宽,h为预测框的高,wgt为真实框的宽,hgt是真实框的高;

42、淡水鱼存在损失lossobj的获取公式为:

43、losspbj=-ωn[yn*log(σ(xn))+(1-yn)*log(1-σ(xn))]

44、

45、式中,lossobj为二元交叉熵计算目标存在损失,ωn为超参数,yn为第n个样本对应的类型的真实值,xn为第n个样本对应的模型输出,exp为指数函数,σ为sigmoid函数;

46、分类损失losscls的获取公式为:

47、

48、式中,losscls为二元交叉熵计算分类损失,n表示类别总个数,yi为经过激活函数后得到的当前类别的概率,为当前类别的真实值。

49、具体的,步骤s3所述网络设计中,检测网络模型的激活函数为:

50、f(x)=x*sigmoid(x)

51、式中,为silu激活函数,是sigmoid和relu的改进版,具有无上界、有下界、平滑、非单调的特性。

52、进一步,所述步骤s4中淡水鱼条数统计具体包括以下步骤:

53、s41、在检测到的淡水鱼列表中,使用唯一识别标识符(id)为每个鱼只目标分配一个独立的id。

54、s42、创建列表,用于存储鱼只位置和id,当检测到新的鱼只,将其添加到列表。

55、s43、对于新鱼只,获取鱼只的位置,为减少鱼只目标检测出现误差,采用欧式距离进行距离度量的计算,通过阈值比较,检查是否与已知鱼只关联,若小于阈值距离,记为关联,视为同一鱼只。

56、s44、基于鱼只出现、消失或移动,根据以下规则更新目标计数:新鱼只与已知鱼只关联时,将其视为同一鱼只并保持id不变,计数不变;鱼只在多个连续帧中消失,将计数减少并删除原有id;当一个新鱼只在之前帧中没有关联,将其视为新鱼只并分配新的id。

57、具体的,淡水鱼聚集度评估子系统融合了淡水鱼目标检测子系统的数据,根据淡水鱼条数,具体包括以下步骤:

58、s1、淡水鱼聚集度评估标准:

59、1)低聚集度:淡水鱼统计数量为0-20条/平方米;

60、2)中聚集度:淡水鱼统计数量为20-50条/平方米;

61、3)高聚集度:淡水鱼统计数量为50-70条/平方米;

62、4)聚集度过高:淡水鱼统计数量超过70条/平方米;

63、s2、在网页和app端更新实时聚集度,在聚集度过高状态下发布网页和app消息提示。

64、s3、将淡水鱼聚集度评估信息反馈至投饲机器人,投饲机器人按预设情况进行精准投饲。

65、s3、将淡水鱼聚集度评估信息反馈至投饲机器人,投饲机器人进行精准投饲。

66、进一步,所述步骤s3中精准投饲流程如下:

67、s31、进行投饲准备时,投饲机器人子系统通过wifi信号接收启动指令,单片机控制板控制pwm输出接口,控制驱动传动模块进而控制投饲机器人移动。

68、s32、投饲点处轨道下铺设磁性物质,投饲机器人在轨道上移动时,当霍尔传感器感知磁性物质,说明到达预设投饲点,单片机将控制机器人定点停止。

69、s33、开始投饲时,通过单片机控制继电器通断控制投饲机投饲口打开或关闭,控制继电器的通断时长,实现预期投饲策略量的淡水鱼饲料。

70、s34、投饲期间将同时打开淡水鱼进食数据采集子系统,摄像头将对投饲前后的淡水鱼进食数据进行收集。

71、具体的,s33中的投饲策略如下:投饲量与鱼塘内淡水鱼总重量相关。通过预先设定投饲量与总重量相关值和塘内鱼只平均重量,将根据淡水鱼聚集度选择不同函数,计算得到投饲量。根据投饲口打开每秒投饲量,计算得到投饲时长。

72、具体的,上述淡水鱼投饲量函数为:

73、

74、其中,总重量相关值默认为3%,可根据季节、天气不同在后台实时调整。

75、具体的,上述投饲时长函数为:

76、

77、优选的,它还包括淡水鱼投饲管理web平台及android端,技术上前后端交互,实现数据实时更新和可视化。

78、本发明专利的有益效果

79、(1)相较于传统的人工投饲淡水鱼的方法,此方法使用投饲机器人,具备高效率、高自动化的特点;

80、(2)与其他自动化淡水鱼投饲系统相比,此方法通过投饲机器人和计算机视觉的结合,具备功能性强,准确度高的特点;

81、(3)基于深度学习的卷积神经网络与传统的机器学习方法相比,以淡水鱼进食数据本身为驱动,当数据量充足时,能够实现端到端的训练,网络模型自身挖掘鱼只特征代替了人工设计特征,能够获得鱼只目标更加丰富的语义信息,识别的准确度和速度都有极大的提升;

82、(4)以yolox为检测网络模型,利用预测分支解耦、数据增强、anchor-free和样本匹配等策略形成精度高、速度快的目标检测器,能一定程度上克服数据中鱼只重叠、粘连检测困难的问题;

83、(5)将数据以及评估结果显示于web端以及android端,实现数据的可视化;

84、(6)淡水鱼投饲量的精确程度对于淡水鱼的生存环境和健康状况密切相关,本发明专利提供的方法非接触地获得淡水鱼条数数据、聚集度等信息,控制淡水鱼投饲量,有利于提高淡水鱼的福利水平。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1