本发明涉及水产养殖检测技术领域,具体涉及到一种融合循环神经网络与红外测量光栅技术的通道式鱼类生物量估算系统。
背景技术:
鱼类产品由于其丰富的营养组成,受广大消费者的喜爱。面对不断旺盛的产量需求和捕捞渔业产量的饱和,我国水产养殖的产量已远超过捕捞产量,是当前鱼类产品的主要获取途径之一。
鱼类生物量是鱼类养殖过程中具有十分重要价值的参考数据之一。鱼类生物量是指特定水域内鱼类的总重量,鱼类生物量的相关数据能够帮助养殖人员了解当前的鱼类生长情况,对于投喂的饲料总量的估算、使用饲料颗粒大小的确定都有着十分重要的参考意义。同时也能从鱼类生物量的数据中得知当前的养殖密度等情况,从而确定何时进行分级分塘、捕捞出售,保证适宜的养殖密度和相对均一的鱼类大小。
目前水产养殖中的生物量估算方式主要为手工打样,即定期对养殖水域中的养殖对象进行人工捕捞抽样、称重、量取尺寸,从而估计当前养殖水域中养殖对象的平均体重、体长,最后将平均体重乘以估算的总养殖数量即可得到养殖对象的生物量。这种方法耗时耗力,误差可达25%,且会对鱼类造成较大的应激和一定的物理损伤,影响其健康和生长。
鱼类养殖主要采用的养殖模式有池塘养殖、网箱养殖、循环水养殖等模式。无论是较为粗放的池塘、网箱养殖中,或是高度集约化的循环水养殖下,鱼类生物量数据都较难获取。自动化的生物量估算方法主要有声学、电阻率计数、edna、机器视觉等四种类型。其中,声学方法适用于广水域中的网箱养殖、不适合背景噪声复杂的养殖环境,电阻率计数器容易错漏、重复计数,而edna计数对操作人员要求较高,机器视觉方法则对水体的浑浊度有一定要求。池塘养殖、循环水养殖模式中的生物量估算仍是亟待解决的问题。
目前,我国在池塘养殖模式和循环水养殖模式生物量估算设备的研究工作尚处于起步阶段,市面上暂时不存在成熟应用的相关产品。红外测量光栅利用紧密排列的发射器和接收器,当物体遮挡光幕时,即可通过被遮挡的光路数量获得物体的尺寸。基于红外测量光栅研制的产品通常需要针对鱼类体型大小进行定制,在测量非产品指定尺寸范围内的鱼时精准度将大幅下降,同时需要通过一定的方法使鱼呈单列通过。造成这些局限的原因是鱼在通过通道时的姿态、方向难以人工或通过机械进行统一,且采用的算法无法对鱼通过通道时的姿态、数量进行识别,导致精度不高且应用受限。
循环神经网络作为一种近年来研究热度较高的人工智能算法,在自然语言处理、生物信息处理方面具有广泛应用,这种神经网络善于处理序列数据的识别、分类、预测。因此,对于鱼通过红外光栅所产生的序列数据,循环神经网络同样具有识别、分类的处理能力,即可对通过的鱼类数量、姿态进行识别。融合该种算法,将有利于进行精准的尺寸估算、解决通道时生物量估算设备在应用中最大的难题。
本发明所设计的融合循环神经网络与红外测量光栅技术的通道式鱼类生物量估算系统,其实现原理是:建立循环神经网络框架,预先采集鱼通过通道时的序列数据和真实尺寸数据,并以序列数据为输入,以单次通过的鱼的数量及每条鱼的尺寸数据为输出,在服务器中训练神经网络模型;实际环境中,当鱼从通道中游过,通道将所记录的红外光栅的测量数据通过无线传输至数据中继节点,通过数据中继节点上传至服务器,由服务器计算通过鱼的数量与尺寸并记录,最终得到鱼的生物量、重量和尺寸分布。
技术实现要素:
本发明的目的在于提供一种高精准度的基于循环神经网络与红外测量光栅的鱼类生物量估算系统,解决当前池塘养殖及循环水养殖中生物量估算的准确性差、智能化程度低的问题,有效提升水产养殖的信息化程度。
本发明采用的技术方案如下:
一种基于循环神经网络与红外测量光栅的鱼类生物量估算系统,包括服务器、数据中继节点、多个测量通道;所述测量通道视养殖品种分布于池底或借由浮板与绳索悬于中层水域;
所述测量通道包括两组互相垂直的对射式红外光栅、可与数据中继节点通讯的开发板、电池,上述内部组件由防水外壳包裹构成回形通道主体,两组对射式红外光栅分别设置于回形通道主体的两组对边上;
所述数据中继节点用于接收测量通道的传输数据,并通过网络与服务器相连接;
所述服务器中设置有预先训练好的循环神经网络模型,所述循环神经网络的输入为鱼穿过测量通道时鱼体遮挡红外光束产生的数据序列,输出为单次通过的鱼的数量及每条鱼的尺寸数据;此外,服务器中还设置有用于计算鱼体质量的一次相关幂函数模型;依据所获得的数据服务器估算当前养殖区域内的鱼总数和鱼类生物量。
所述的循环神经网络模型,其结构由输入层、稀疏采样层、lstm层、2层全连接层、输出层构成,训练所用损失函数为:
所述的一次相关幂函数模型为:
mx=ahxb cwxd e(hx·wx)f g
其中,n为单次通过的鱼的数量,mx为第x条鱼的质量,x=1,2,…n,对应鱼的高度高hx(mm)、宽度wx(mm),其中a、b、c、d、e、f、g均为预先于实验条件下测量并经最小二乘法拟合后得到的常数,其中a,b,c,d>0,e、f、g则无范围要求。
服务器按照运行周期,以第一个周期测得的鱼数量为基准,计算之后周期的鱼类生物量:
b为鱼类生物量,s养殖区域内鱼类总数,k为单周期测量的鱼总数,下标x为周期数,下标0即表示初始化数值,j为常数且j>1;mi为当前周期测得的第i尾鱼的体重预测值。
所述的循环神经网络模型输入的数据序列获取方法如下:
(1)静息状态下两组红外光栅传感器向开发板数据回报间隔为60ms,鱼通过通道使遮挡连续光束数量n≥3时触发测量状态,降低数据回报间隔至30ms,同时开发板向数据中继节点传送数据,当被遮挡的连续光束数量n<3回复至静息状态;
(2)数据中继节点接收到测量通道发送的数据后,立即将数据通过网络上传至服务器;
(3)服务器等待数据,若等待时间超过3分钟则跳过该次数据序列。
本发明的有益效果是:
本发明的基于循环神经网络与红外测量光栅技术的通道式鱼类生物量估算系统,结构简单可靠,可根据鱼通过测量通道时遮挡光束产生的数据计算得到单次通过的鱼的数量与尺寸,并根据自动根据单个运行周期内触发测量的鱼的数量计算单个周期内的剩余鱼类总数,实现了无接触、高精度的鱼类生物量估算,为管理者规划生产提供极为重要的数据,同时,安装设置完成后可自动运行,整体实现了信息化,便于信息的查看和管理。
附图说明
图1是本发明的一种实例的整体结构示意图,同时包含部分结构的细节;
图2是本发明的一种实例的太阳能充电模组的结构示意图
图3是本发明的一种实例的测量通道的结构示意图;
图4是本发明的一种实例的数据中继节点的结构示意图;
图5是本发明中的一种循环神经网络模型的结构示意图;
图中:1.屏幕2.服务器3.数据中继节点4.测量通道5.太阳能充电模组6.光伏发电板7.浮板8.200wh充电锂电池组9.pmma防水外壳10.低功耗stm32开发板11.红外测量光栅12.数据中继节外壳13.天线14.stm32开发板15.电源
具体实施方式
下面对本发明的具体实施方式进行进一步的说明。以下具体实施方式仅用于说明本发明,不用于限制本发明的范围。
本发明为解决鱼类养殖模式中生物量估算低效率、低准确率的问题,提供了一种基于循环神经网络与红外测量光栅技术的通道式鱼类生物量估算系统,该系统具有测量精度高、信息化程度高、人力需求低等特点,可有效帮助生产规划。
本发明使用鱼穿过测量通道时鱼体遮挡红外光束产生的数据序列,通过将数据序列输入预先训练的循环神经网络模型对单次穿过的鱼的数量与尺寸进行估算,该模型输出数据为单次通过的鱼的数量、各条鱼的体宽与体高尺寸,再将尺寸数据代入预先拟合的幂函数模型中,最终求得鱼的质量;以单个测量周期(15天)内的通过通道的鱼次sx与系统初始化后的第一个测量周期内通过通道的鱼次s0的比值作为系数估算鱼的总数,最终求得鱼类生物量,采用的技术方案可以如下:
本发明的鱼类生物量估算系统,包括显示屏、服务器、数据中继节点、多个测量通道;所述显示屏、服务器安装于生产管理室内,数据中继节点安装于池塘或循环水养殖区域的池岸处,通道式红外光栅则视养殖品种分布于池底或借由浮板与绳索悬于中层水域;
所述测量通道包括两组互相垂直的对射式红外光栅、支持双路rs486输入并配有zigbee协议通讯模块及天线的开发板、具备24v、5v电压输出电量200wh的可充电电池,上述内部组件由防水外壳包裹构成回形通道主体,通道主体与水面浮板通过绳索固定,浮板上固定有光伏板,光伏板通过防水电线与通道主体的电池连接;
所述数据中继节点由配有zigbee通讯模块的开发板、天线、外壳、5v电源组成,数据中继节点与各传感器通过zigbee无线协议进行数据交换,并通过有线网络与服务器相连接;
所述服务器内部须具备运行win10或ubuntu16.04及以上的硬件环境,同时安装有可进行深度学习运算的gpu或专用计算卡,算力在nvidiagtx10606g水平及以上;所述显示器与服务器相连,显示服务器运算得到的可视化结果;
应用上述系统进行养殖鱼类的尺寸测量与生物量估算,具体如下步骤:
(1)静息状态下两组红外光栅传感器向开发板数据回报间隔为60ms,鱼通过通道使遮挡连续光束数量n≥3时触发测量状态,降低数据回报间隔至30ms,同时开发板通过zigbee协议向数据中继节点传送数据,当被遮挡的连续光束数量n<3回复至静息状态;
(2)数据中继节点接收到测量通道发送的数据后,立即将数据通过有线网络上传至服务器;
(3)服务器等待数据,若等待时间超过3分钟则跳过该次数据序列;
(4)将获得的数据序列代入循环神经网络模型进行计算,识别该次通过的鱼的数量、尺寸;
(5)为提高计算效率,鱼体质量计算使用体宽(w,mm)、体高(h,mm)的一次相关幂函数模型:
(6)服务器将计算得到的尺寸、质量、采集时间等数据存储进数据库,初次启动系统时须手动输入当前养殖区域鱼的总数,服务器以15天为周期,以第一个周期测得的鱼数量为基准,计算之后周期的鱼类生物量(b为鱼类生物量,s养殖区域内鱼类总数,k为单周期测量的鱼总数,下标x为周期数,下标0即表示初始化后数值):
下面通过具体实例来详述该过程:
如图1所示,一种基于循环神经网络与红外测量光栅技术的通道式鱼类生物量估算系统,包括屏幕1、服务器2、数据中继节点3和若干测量通道4及太阳能充电模组5。
如图2所示,太阳能充电模组5包含一块光伏发电板6、浮板7。所述光伏发电板6安装于浮板7之上。所述光伏发电板6通过电源线连接到测量通道4,为其中的电池进行充电。所述浮板7下方设有四只耳用于固定绳索,浮板7与测量通道4通过过绳索相连。
如图3所示,所述测量通道4,包括两组红外测量光栅11、集成zigbee模块的低功耗stm32开发板10、200wh充电锂电池组8、pmma防水外壳9。所述两组红外测量光栅11分别固定于图3所示位置,于电路板上焊有123对、243对红外发射/接收单元,焊有发射单元的电路板与焊有接收单元的电路板相对放置(即图3中方形框架两长边设置一组红外发射-接收单元,两短边设置一组红外发射-接收单元),发射和接收单元两两相对保证于无遮挡条件下光路为连通状态,测量精度为1.25mm,红外光栅电路通过电池组8供电。所述stm32开发板10同样通过电池组8供电,zigbee模块的天线通过外壳上方唯一的出口延伸至水面的太阳能充电模组5,两组红外测量光栅11通过rs486信号线与低功耗stm32开发板10通信。所述200wh充电锂电池组8包含有若干节充电锂电池与电路板,电路板的功能为充电控制、变压后输出指定电压,输出5v与24v电压分别为低功耗stm32开发板10和红外测量光栅11进行供电,电池组通过电线和太阳能充电模组5连接进行充电。pmma外壳9整体防水,上方唯一管线出口通过防水螺栓进行密封,同时通过上方分布的四只耳挂绳固定。
如图4所示,数据中继节点3包括数据中继节外壳12、220v-5v电源15、集成zigbee通讯模块和有线网络通讯模块的stm32开发板14、天线13。数据中继节点3通过zigbee无线通讯协议与各红外光栅进行通讯,通过有线网络与服务器2进行数据交换。
所述服务器2通过有线网络从数据中继节点3处获取数据,并将数据输入循环神经网络模型中计算得到数量、尺寸、质量等数据,并将这些数据存储进数据库,服务器定期估算当前养殖区域内的鱼总数和鱼类生物量并将数据可视化显示于屏幕1上。
投入实际应用前,需针对各个养殖品种分别进行神经网络训练及各公式参数的拟合,具体步骤如下:
1)于一实验水池内放入测量通道4,并使用太阳能充电模组5供电,同时使用数据中继节点3与服务器2和测量通道4通信,水池尺寸不小于1.5m长、1m宽、0.8m深,水池需保持水位蓄满;
2)于测量通道4一侧同时放入待测鱼1-5尾,保证其能立即通过测量通道4,于服务器2端记录测量通道产生的数据,使用游标卡尺与电子天平对待测鱼的尺寸和质量进行记录,并记录通过时的以首尾鱼的通过方向为前方向的左右位置,从左至右以最左端为1;
3)重复2)100次以上,需保证各生长期的鱼均有得到测量;
4)将服务器2记录的测量通道4产生的数据作为神经网络的输入,对应的尺寸作为输出,代入神经网络模型,单次放入未达5尾则以0补全输出处的尺寸,神经网络通过最小化损失函数进行训练优化,本发明中采样神经网络内部lstm与全连接的单元结构与训练方法为公知,具体在sensors期刊2016年1月发表的《deepconvolutionalandlstmrecurrentneuralnetworksformultimodalwearableactivityrecognition》(doi:10.3390/s16010115)记载有相关信息与方法。其损失函数loss如下(其中
5)对于尺寸-质量关系,通过在matlab2019a或spss20等同类软件内将对应的尺寸和质量数据代入如下公式中,使用最小二乘法进行拟合,从而得到公式中的各项常数。
mx=ahxb cwxd e(hx·wx)f g
应用上述的系统进行鱼类生物量的自动估算,估算方法包括如下步骤:
1)选取采样点,于采样点位置水面安装太阳能充电模组5,并在其下根据养殖鱼类的主要活动深度连接、悬挂测量通道4,采样点须在养殖区域内呈均匀分布,于岸边安装数据中继节点3,安装前预先设置好各测量通道4、数据中继节点3、服务器2三者的网络参数;
2)初始化系统,于服务器中设置初始鱼数量,依据鱼的种类选择已训练完成的神经网络模型;
3)安装及初始化设置完成后,除定期检修与光栅通道的清洁外,无需手动操作,系统将自动完成对通过通道的鱼进行测量;
4)测量通道4的光路未被遮挡时,红外光栅处于静息状态,红外光栅11向测量通道4内的低功耗stm32开发板10回报数据的间隔为60ms。当鱼进入通道并遮挡住通道内任意一组连续光路数n=3束时,触发测量状态,数据回报间隔降至30ms,低功耗stm32开发板10向数据中继节点3回报数据,而数据中继节点3则在数据上添加对应测量通道4的标记与时间戳并向服务器上传数据,这一过程为实时进行;
5)当鱼离开通道,即通道内全部两组红外光栅11的被遮挡光路数n<3并持续t0=1s时,红外光栅重新回到静息状态。服务器2从数据中继节点3接收数据,并缓存于内存中直至数据中继节点3停止传输该组数据,当一组数据传输超过设定最大数据传输时间t1=3min,则自动舍弃该组数据。接收完成的数据须经初步检查,检查方式如下(l为数据长度,单位为帧,一数据帧即两组红外光栅单次数据回报产生的数据;n为单次通过的鱼的数量,单位为尾):
6)当数据通过初步检查,则服务器2将数据输入循环神经网络模型中,数据自动稀疏采样至128个,若不足128个则使用0填充,两组128个数据经同数量的lstm单元处理后经两层全连接层处理后输出数量、各条鱼的尺寸。神经网络结构具体如图5所示。
计算得单次通过的鱼的数量n、高h1—hn(mm)、宽w1—hn(mm),并代入质量计算模型,计算每条鱼的质量m1—mn(g)(a、b、c、d、e、f、g均为拟合后得到的常数,其中a、b、c、d>0,e、f、g则无范围要求):
mi=ahib cwid e(hi·wi)f g
7)质量计算完成后,将尺寸与质量数据录入服务器2的数据库内。初始化完成后的第一个测量周期d0内完成测量的鱼次k0与之后任意周期dx内完成测量的鱼次kx的比值
s0即初始鱼的数量,即投放的鱼的数量,由养殖人员确定,之后计算当前周期的鱼类生物量bx(mi为当前周期测得的第i尾鱼的体重预测值):
依据以下公式预测下一周期的预期鱼类生物量(mmax为当前养殖品种普遍可达的最大质量,k为常数,k>0):
当下一周期鱼类生物量未达预测值的80%时,服务器提示生产管理者检查饲料投喂情况。
8)服务器2通过预先设置的程序将数据可视化,包括但不限于:最近测量、计算得到的十尾鱼的数据;包括当前周期在内最近5个周期的鱼的总数、生物量;当前周期测得的鱼的尺寸分布、质量分布;当前每个测量通道4的运作状态。
以上公开的仅为本发明的具体实施例,但本发明并非局限于此,对于本领域的普通技术人员来说,在不脱离本发明的前提下,做出的变形应视为属于本发明保护范围。
1.一种基于循环神经网络与红外测量光栅的鱼类生物量估算系统,其特征在于,包括服务器、数据中继节点、多个测量通道;所述测量通道视养殖品种分布于池底或借由浮板与绳索悬于中层水域;
所述测量通道包括两组互相垂直的对射式红外光栅、可与数据中继节点通讯的开发板、电池,上述内部组件由防水外壳包裹构成回形通道主体,两组对射式红外光栅分别设置于回形通道主体的两组对边上;
所述数据中继节点用于接收测量通道的传输数据,并通过网络与服务器相连接;
所述服务器中设置有预先训练好的循环神经网络模型,所述循环神经网络的输入为鱼穿过测量通道时鱼体遮挡红外光束产生的数据序列,输出为单次通过的鱼的数量及每条鱼的尺寸数据;此外,服务器中还设置有用于计算鱼体质量的一次相关幂函数模型;依据所获得的数据服务器估算当前养殖区域内的鱼总数和鱼类生物量。
2.根据权利要求1所述的基于循环神经网络与红外测量光栅的鱼类生物量估算系统,其特征在于,所述的循环神经网络模型,其结构由输入层、稀疏采样层、lstm层、2层全连接层、输出层构成,训练所用损失函数为:
3.根据权利要求1所述的基于循环神经网络与红外测量光栅的鱼类生物量估算系统,其特征在于,所述的一次相关幂函数模型为:
mx=ahxb cwxd e(hx·wx)f g
其中,n为单次通过的鱼的数量,mx为第x条鱼的质量,x=1,2,…n,对应鱼的高度高hx(mm)、宽度wx(mm),其中a、b、c、d、e、f、g均为预先于实验条件下测量并经最小二乘法拟合后得到的常数,其中a,b,c,d>0,e、f、g则无范围要求。
4.根据权利要求1所述的基于循环神经网络与红外测量光栅的鱼类生物量估算系统,其特征在于,服务器按照运行周期,以第一个周期测得的鱼数量为基准,计算之后周期的鱼类生物量:
b为鱼类生物量,s养殖区域内鱼类总数,k为单周期测量的鱼总数,下标x为周期数,下标0即表示初始化数值,j为常数且j>1;mi为当前周期测得的第i尾鱼的体重预测值。
5.根据权利要求1所述的基于循环神经网络与红外测量光栅的鱼类生物量估算系统,其特征在于,所述的循环神经网络模型输入的数据序列获取方法如下:
(1)静息状态下两组红外光栅传感器向开发板数据回报间隔为60ms,鱼通过通道使遮挡连续光束数量n≥3时触发测量状态,降低数据回报间隔至30ms,同时开发板向数据中继节点传送数据,当被遮挡的连续光束数量n<3回复至静息状态;
(2)数据中继节点接收到测量通道发送的数据后,立即将数据通过网络上传至服务器;
(3)服务器等待数据,若等待时间超过3分钟则跳过该次数据序列。
技术总结