发明内容
鉴于此,本申请提供一种基于深度学习的公寓式螃蟹辅助养殖方法、系统和装置,以对螃蟹进行定制化养殖。
本申请一方面提供一种基于深度学习的公寓式螃蟹辅助养殖方法,包括:
S200,在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据所述第一边框描述信息确定当前螃蟹尺寸;其中,所述螃蟹检测网络用于根据螃蟹照片输出螃蟹的边界框;所述监测时段为监测周期的起始时段;所述监测周期包括多个投喂周期,各个投喂周期的起始时段为投喂时段;所述第一边框描述信息记录所述螃蟹边界框的尺寸和位置;
S300,在预设的尺寸-进食量关系中查找所述当前螃蟹尺寸对应的食物投喂量;其中,所述尺寸-进食量关系记录螃蟹的各个尺寸范围对应的食量;
S500,在所述投喂时段获取所述目标螃蟹对应的公寓全景照片,将所述公寓全景照片输入预先训练的食物检测网络,获得所述食物检测网络返回的食物边界框的第二边框描述信息,根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物;其中,所述食物检测网络用于检测输入照片的食物边界框;所述第二边框描述信息记录所述食物边界框的尺寸和位置;
S610,在检测到所述公寓全景照片未包括螃蟹食物时,按照所述食物投喂量输出所述目标螃蟹的投食信息。
在其中一个实施例中,上述基于深度学习的公寓式螃蟹辅助养殖方法还包括:
S620,若所述公寓全景照片包括螃蟹食物,则在下一个投喂周期返回执行步骤S500,直至检测到所述公寓全景照片不包括螃蟹食物,按照所述食物投喂量输出所述目标螃蟹的投食信息;
S630,在当前监测周期的下一个投喂周期返回执行步骤S500,以实现所述监测周期各个投喂周期的食物监测或者投喂提示。
在其中一个实施例中,所述在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据所述第一边框描述信息确定当前螃蟹尺寸包括:
S210,在监测时段获取螃蟹在相应照片中占比超过设定占比阈值的多个目标螃蟹照片,将各个目标螃蟹照片的格式调整至预设的输入格式,得到多个当前螃蟹照片;
S220,将各个当前螃蟹照片输入螃蟹检测网络,获取所述螃蟹检测网络针对所述各个当前螃蟹照片返回的各个螃蟹边界框的第一边框描述信息,根据各个第一边框描述信息识别各个螃蟹边界框的短边尺寸,根据所述各个螃蟹边界框的短边尺寸确定所述各个当前螃蟹照片表征的螃蟹尺寸,将各个螃蟹尺寸的平均值确定为当前螃蟹尺寸。
在其中一个实施例中,所述螃蟹检测网络的训练过程包括:
S110,分别采集各个尺寸范围的多个螃蟹的螃蟹照片,得到样本螃蟹照片,标注各个样本螃蟹照片中螃蟹的边界框的位置和尺寸,得到各个样本螃蟹照片对应的第一样本描述信息;
S120,以所述各个样本螃蟹照片为输入,各个第一样本描述信息为输出以训练第一SqueezeNet网络,获取所述第一SqueezeNet网络在该次训练过程中的第一分类损失函数和第一定位损失函数,在所述第一分类损失函数和所述第一定位损失函数的取值均小于第一损失阈值时,根据所述第一SqueezeNet网络的网络参数确定所述螃蟹检测网络。
具体地,所述第一分类损失函数包括:
第一定位损失函数包括:
其中,L1
conf表示第一分类损失误差,x1
i表示第一SqueezeNet网络针对第i个样本螃蟹照片输出的螃蟹边界框的第一边框描述信息,p1(x1
i)表示第i个样本螃蟹照片经过softmax处理之后输出准确结果的概率,n1表示样本螃蟹照片的个数,L1
loc表示第一定位损失误差,(cx1,cy1)为样本螃蟹照片的候选框的中心点坐标,w1为样本螃蟹照片的候选框的宽度,h1为样本螃蟹照片的候选框的高度,m1为以cx1,cy1,w1和h1为集合的元素,
表示第一SqueezeNet网络对第i个样本螃蟹照片的预测值,
表示第一SqueezeNet网络对第i个样本螃蟹照片的标注值。
在其中一个实施例中,所述根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物包括:
S510,识别所述第二边框描述信息计算所述食物边界框的边界框面积,若所述边界框面积小于或者等于预设的面积阈值,则判定所述公寓全景照片不包括螃蟹食物;若所述边界框面积大于预设的面积阈值,则判定所述公寓全景照片包括螃蟹食物。
在其中一个实施例中,所述食物检测网络的训练过程包括:
S410,在螃蟹的各个进食阶段采集多个公寓全景照片,得到样本全景照片,标注各个样本全景照片中螃蟹食物的边界框的位置和尺寸,得到各个样本全景照片对应的第二样本描述信息;
S420,以所述各个样本螃蟹照片为输入,各个第二样本描述信息为输出以训练第二SqueezeNet网络,获取所述第二SqueezeNet网络在该次训练过程中的第二分类损失函数和第二定位损失函数,在所述第二分类损失函数和所述第二定位损失函数的取值均小于第二损失阈值时,根据所述第二SqueezeNet网络的网络参数确定所述食物检测网络。
具体地,所述第二分类损失函数包括:
第二定位损失函数包括:
其中,L2
conf表示第二分类损失误差,x2
i表示第二SqueezeNet网络针对第i个样本全景照片输出的食物边界框的第二边框描述信息,p2(x2
i)表示第i个样本全景照片经过softmax处理之后输出准确结果的概率,n2表示样本全景照片的个数,L2
loc表示第二定位损失误差,(cx2,cy2)为样本全景照片的候选框的中心点坐标,w2为样本全景照片的候选框的宽度,h2为样本全景照片的候选框的高度,m2为以cx2,cy2,w2和h2为集合的元素,
表示第二SqueezeNet网络对第i个样本全景照片的预测值,
表示第二SqueezeNet网络对第i个样本全景照片的标注值。
本申请第二方面提供一种基于深度学习的公寓式螃蟹辅助养殖系统,包括:
第一获取模块,用于在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据所述第一边框描述信息确定当前螃蟹尺寸;其中,所述螃蟹检测网络用于根据螃蟹照片输出螃蟹的边界框;所述监测时段为监测周期的起始时段;所述监测周期包括多个投喂周期,各个投喂周期的起始时段为投喂时段;所述第一边框描述信息记录所述螃蟹边界框的尺寸和位置;
查找模块,用于在预设的尺寸-进食量关系中查找所述当前螃蟹尺寸对应的食物投喂量;其中,所述尺寸-进食量关系记录螃蟹的各个尺寸范围对应的食量;
第二获取模块,用于在所述投喂时段获取所述目标螃蟹对应的公寓全景照片,将所述公寓全景照片输入预先训练的食物检测网络,获得所述食物检测网络返回的食物边界框的第二边框描述信息,根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物;其中,所述食物检测网络用于检测输入照片的食物边界框;所述第二边框描述信息记录所述食物边界框的尺寸和位置;
输出模块,用于在检测到所述公寓全景照片未包括螃蟹食物时,按照所述食物投喂量输出所述目标螃蟹的投食信息。
本申请第三方面提供一种基于深度学习的公寓式螃蟹辅助养殖装置,包括处理器和存储介质;所述存储介质上存储有程序代码;所述处理器用于调用所述存储介质存储的程序代码,以执行上述任一实施例所述的基于深度学习的公寓式螃蟹辅助养殖方法
本申请提供的基于深度学习的公寓式螃蟹辅助养殖方法、系统和装置,在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据的第一边框描述信息确定当前螃蟹尺寸,依据预设的尺寸-进食量关系查找所述当前螃蟹尺寸对应的食物投喂量,进而在投喂时段获取公寓全景照片,将公寓全景照片输入预先训练的食物检测网络,获得食物检测网络返回的食物边界框的第二边框描述信息,根据第二边框描述信息判断所述公寓全景照片是否包括螃蟹食物,并在检测到公寓全景照片不包括螃蟹食物时,按照食物投喂量输出目标螃蟹的投食信息,以使相关工作人员及时获知目标螃蟹的投食信息,按照食物投喂量向目标螃蟹投喂食物;或者使外接的该自动投食装置及时接收该目标螃蟹的投食信息,按照食物投喂量自动向目标螃蟹投喂食物;这样可以针对目标螃蟹的具体尺寸和进食情况有针对性的进行投喂,提高了投喂过程的有效性,实现螃蟹的定制化养殖。
具体实施方式
如背景技术所述,螃蟹的喂养技术依然采用定时观察,批量喂送,这一喂养方式难以地根据不同尺寸的螃蟹,不同进食速度的螃蟹提供定制化养殖技术。
本申请针对上述问题,提供一种基于深度学习的公寓式螃蟹辅助养殖方法、系统和装置,其中基于深度学习的公寓式螃蟹辅助养殖方法可以运行于用于进行食物监测或者投喂提示的公寓式螃蟹辅助养殖装置。上述公寓式螃蟹辅助养殖装置可以连接摄像装置,以控制该摄像装置对所需照片进行拍摄,还可以连接螃蟹的自动投食装置,以向该自动投食装置发送目标螃蟹的投食信息,使该自动投食装置按照该投食信息向相应的螃蟹公寓投喂食物。具体地,公寓式螃蟹辅助养殖装置可以在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据的第一边框描述信息确定当前螃蟹尺寸,依据预设的尺寸-进食量关系查找所述当前螃蟹尺寸对应的食物投喂量,进而在投喂时段获取公寓全景照片,将公寓全景照片输入预先训练的食物检测网络,获得食物检测网络返回的食物边界框的第二边框描述信息,根据第二边框描述信息判断所述公寓全景照片是否包括螃蟹食物,并在检测到公寓全景照片不包括螃蟹食物时,按照食物投喂量输出目标螃蟹的投食信息,以使相关工作人员及时获知目标螃蟹的投食信息,按照食物投喂量向目标螃蟹投喂食物;或者使外接的该自动投食装置及时接收该目标螃蟹的投食信息,按照食物投喂量自动向目标螃蟹投喂食物;这样可以针对目标螃蟹的具体尺寸和进食情况有针对性的进行投喂,提高了投喂过程的有效性,能够实现螃蟹的定制化养殖。
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
本申请第一方面提供一种基于深度学习的公寓式螃蟹辅助养殖方法,以该方法运行在公寓式螃蟹辅助养殖装置为例进行说明,参考图1所示,该方法可以包括:
S200,在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据所述第一边框描述信息确定当前螃蟹尺寸;其中,所述螃蟹检测网络用于根据螃蟹照片输出螃蟹的边界框;所述监测时段为监测周期的起始时段;所述监测周期包括多个投喂周期,各个投喂周期的起始时段为投喂时段;所述第一边框描述信息记录所述螃蟹边界框的尺寸和位置,通常包括螃蟹边界框的中心点坐标、宽度和高度等信息。
上述监测周期通常设为一个较长的时段,如一天,一个监测周期的初始时段(如前20分钟)为监测时段。投喂周期依据螃蟹的进食特点设置,比如设为6个小时,一个投喂周期的初始时段(如前10分钟)为投喂时段。若监测周期为一天,投喂周期为6小时,此时监测周期包括4个投喂周期,公寓式螃蟹辅助养殖装置可以在每天的前20分钟获取需要喂养的目标螃蟹的当前螃蟹照片,确定当前螃蟹尺寸,进而确定食物投喂量,再分别在各个投喂周期的前10分钟获取公寓全景照片,以检测到公寓全景照片是否包括螃蟹食物,根据检测结果进行食物监测或者投喂。
具体地,公寓式螃蟹辅助养殖装置可以连接摄像头,以在监测时段控制摄像头捕捉目标螃蟹所在公寓内的螃蟹空间拍摄当前螃蟹照片,此时目标螃蟹在这个空间的占比比较大,故其在整个画面的占比会比较大,使信息有效性得到提供。进一步地,还可以调整当前螃蟹照片的长宽比,将当前螃蟹照片的分辨率调整到160x120,以统一照片格式,提升后续处理效率。
S300,在预设的尺寸-进食量关系中查找所述当前螃蟹尺寸对应的食物投喂量;其中,所述尺寸-进食量关系记录螃蟹的各个尺寸范围对应的食量。
该步骤可以将螃蟹分为不同的大小区间,以确定螃蟹的多个尺寸范围,不同的个头,对应不同的进食量,越大的螃蟹,进食量相应的也越大,以此通过多次试验确定各个尺寸范围对应的螃蟹食量,从而设定尺寸-进食量关系。在一个示例中,上述尺寸-进食量关系可以参考表1所示。
表1
尺寸 |
进食量 |
Size1(3cm-5cm) |
50mg |
Size2(5cm-10cm) |
100mg |
Size3(10cm-15cm) |
150mg |
Size4(>15cm) |
200mg |
S500,在所述投喂时段获取所述目标螃蟹对应的公寓全景照片,将所述公寓全景照片输入预先训练的食物检测网络,获得所述食物检测网络返回的食物边界框的第二边框描述信息,根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物;其中,所述食物检测网络用于检测输入照片的食物边界框;所述第二边框描述信息记录所述食物边界框的尺寸和位置,通常包括食物边界框的中心点坐标、宽度和高度等信息。
螃蟹的食物主要包括小鱼、小虾和/或面包渣,由于整个公寓中,空间并不大,仅含有螃蟹,食物,水这三个目标,所以可以将小鱼、小虾和面包渣当做同一个目标进行标注。该步骤中,公寓式螃蟹辅助养殖装置可以控制摄像头对目标螃蟹的公寓进行全景拍照,以获得目标螃蟹对应的公寓全景照片。进一步地,还可以将公寓全景照片的分辨率调整到320x240,以统一照片格式,提升后续处理效率。考虑到小鱼,小虾的目标较小,需要在大一点的图片中才能显示出来,食物检测网络可以采用4个分支,在网络前端的分支,能够检测小目标,例如小鱼,小虾,在网络后端的分支,能够检测大一点的目标,例如聚集成团的面包屑。
S610,在检测到所述公寓全景照片未包括螃蟹食物时,按照所述食物投喂量输出所述目标螃蟹的投食信息。
上述步骤在检测到公寓全景照片不包括螃蟹食物时,按照目标螃蟹对应的食物投喂量输出目标螃蟹的投食信息,以使相关工作人员及时获知目标螃蟹的投食信息,按照食物投喂量向目标螃蟹投喂食物;或者使外接的该自动投食装置及时接收该目标螃蟹的投食信息,按照食物投喂量自动向目标螃蟹投喂食物;这样可以针对目标螃蟹的具体尺寸和进食情况有针对性的进行投喂,提高了投喂过程的有效性,能够实现螃蟹的定制化养殖。
进一步地,参考图2所示,上述基于深度学习的公寓式螃蟹辅助养殖方法还包括:
S620,若所述公寓全景照片包括螃蟹食物,则在下一个投喂周期返回执行步骤S500,直至检测到所述公寓全景照片不包括螃蟹食物,按照所述食物投喂量输出所述目标螃蟹的投食信息;
S630,在当前监测周期的下一个投喂周期返回执行步骤S500,以实现所述监测周期各个投喂周期的食物监测或者投喂提示。
对于螃蟹的成长而言,进食量越大,对应螃蟹的成长速度也就越快,若需要尽可能的让螃蟹尽早的长大,可以投食的时间间隔设置为6个小时,则将投喂周期设为6小时,此时对于单个螃蟹公寓而言,每隔6个小时,检测一次食物,若检测不到食物,则准备投食;若能检测到食物,则说明上次投放的食物,螃蟹还没有吃完,再次等待6个小时的时间间隔,在下一个投喂周期返回执行步骤S500,重新获取目标螃蟹对应的公寓全景照片,判断公寓全景照片是否包括螃蟹食物,直至检测到公寓全景照片不包括螃蟹食物,按照食物投喂量输出所述目标螃蟹的投食信息,并在完成该次投喂后,若当前监测周期还包括投喂周期,则可以在下一个投喂周期返回执行步骤S500,以实现所述监测周期各个投喂周期的食物监测或者投喂提示
在一个实施例中,所述在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据所述第一边框描述信息确定当前螃蟹尺寸包括:
S210,在监测时段获取螃蟹在相应照片中占比超过设定占比阈值的多个目标螃蟹照片,将各个目标螃蟹照片的格式调整至预设的输入格式,得到多个当前螃蟹照片;其中设定占比阈值可以设为70%等值,螃蟹在相应照片中占比超过设定占比阈值表征相应照片中螃蟹占比大,有效信息多。上述输入格式可以包括分辨率为160x120等格式。
S220,将各个当前螃蟹照片输入螃蟹检测网络,获取所述螃蟹检测网络针对所述各个当前螃蟹照片返回的各个螃蟹边界框的第一边框描述信息,根据各个第一边框描述信息识别各个螃蟹边界框的短边尺寸,根据所述各个螃蟹边界框的短边尺寸确定所述各个当前螃蟹照片表征的螃蟹尺寸,将各个螃蟹尺寸的平均值确定为当前螃蟹尺寸。
本实施例依据多个有效信息占比高,背景信息相对少的当前螃蟹照片,针对各个当前螃蟹照片获取螃蟹边界框的第一边框描述信息,以此确定的各个螃蟹尺寸,将各个螃蟹尺寸的平均值确定为当前螃蟹尺寸,可以提高所确定的当前螃蟹尺寸的准确性。
在一个实施例中,所述根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物包括:
S510,识别所述第二边框描述信息计算所述食物边界框的边界框面积,若所述边界框面积小于或者等于预设的面积阈值,则判定所述公寓全景照片不包括螃蟹食物;若所述边界框面积大于预设的面积阈值,则判定所述公寓全景照片包括螃蟹食物。
上述面积阈值可以依据螃蟹食物的特征进行设置,比如设置为1平方毫米等值。若边界框面积小于或者等于预设的面积阈值,表明螃蟹食物以被螃蟹吃完或者几乎吃完,公寓全景照片不包括螃蟹食物,需要在当前投喂周期进行投食,以及时喂养,若边界框面积大于面积阈值,表明目标螃蟹的公寓内还存在螃蟹食物供螃蟹食物,当前投喂周期无需进行食物投喂,以避免食物过剩或者造成食物浪费。
在一个实施例在可以采用SqueezeNet网络进行所需网络模型(螃蟹检测网络和食物检测网络)的构建和训练。具体通过SqueezeNet采用Fire module构建整个SqueezeNet网络,最终其能在Imagenet上达到与Alexnet相似的分类准确率,但只需其不到1/50的参数。若再进一步使用model compression技术进行模型压缩,可以进一步将SqueezeNet的权重大小压缩为Alexnet模型的1/510,只有不到0.5MB。Fire module主要由两部分构成,分别为squeeze layer与expand layer。其中squeeze layer为1x1的conv layer,主要用于将输入此module的input channels数目进行缩减;而expand layer包含1x1的conv layer与3x3的conv layer,主要用于真正的feature maps的特征再融合。由此确定第一SqueezeNet网络和第二SqueezeNet网络分别进行螃蟹检测网络和食物检测网络的训练,可以提高训练效率,缩短训练时间。其中上述第一SqueezeNet网络输入的分辨率可以设为160x120。第二SqueezeNet网络输入的分辨率可以设置为320x240,考虑到小鱼,小虾的目标较小,需要在大一点的图片中才能显示出来,网络采用4个分支,在网络前端的分支,能够检测小目标,例如小鱼,小虾,在网络后端的分支,能够检测大一点的目标,例如聚集成团的面包屑。
在一个示例中,所述螃蟹检测网络的训练过程包括:
S110,分别采集各个尺寸范围的多个螃蟹的螃蟹照片,得到样本螃蟹照片,标注各个样本螃蟹照片中螃蟹的边界框的位置和尺寸,得到各个样本螃蟹照片对应的第一样本描述信息;其中,上述第一样本描述信息通常可以包括相应样本螃蟹照片中螃蟹的边界框的中心坐标、宽度和高度;各个样本螃蟹照片的分辨率可以调整为160x120。
S120,以所述各个样本螃蟹照片为输入,各个第一样本描述信息为输出以训练第一SqueezeNet网络,获取所述第一SqueezeNet网络在该次训练过程中的第一分类损失函数和第一定位损失函数,在所述第一分类损失函数和第一定位损失函数的取值均小于第一损失阈值时,根据所述第一SqueezeNet网络的网络参数确定所述螃蟹检测网络。
上述第一损失阈值可以设为0.02等较小的值,第一分类损失函数和第一定位损失函数的取值均小于第一损失阈值,表明第一SqueezeNet网络针对输入照片返回的螃蟹边界框的第一边框描述信息几乎等于相应的真实值,依据该第一边框描述信息能够对螃蟹尺寸进行准确识别。
具体地,所述第一分类损失函数包括:
第一定位损失函数包括:
其中,L1
conf表示第一分类损失误差,x1
i表示第一SqueezeNet网络针对第i个样本螃蟹照片输出的螃蟹边界框的第一边框描述信息,p1(x1
i)表示第i个样本螃蟹照片经过softmax处理之后输出准确结果的概率,n1表示样本螃蟹照片的个数,L1
loc表示第一定位损失误差,(cx1,cy1)为样本螃蟹照片的候选框的中心点坐标,w1为样本螃蟹照片的候选框的宽度,h1为样本螃蟹照片的候选框的高度,m1为以cx1,cy1,w1和h1为集合的元素,
表示第一SqueezeNet网络对第i个样本螃蟹照片的预测值,
表示第一SqueezeNet网络对第i个样本螃蟹照片的标注值。
进一步地,本实施例也可以获取第一SqueezeNet网络在训练过程中的第一总损失函数,依据第一总损失函数的取值进一步检测第一SqueezeNet网络的性能,比如可以在第一总损失函数的取值小于第一总损失阈值时,判断第一SqueezeNet网络达到要求,以此确定螃蟹检测网络。其中第一总损失函数为
α为权重用于调整L1
conf(x1)和L1
loc(x1)之间的比例,通常设为1。
在一个示例中,所述食物检测网络的训练过程包括:
S410,在螃蟹的各个进食阶段采集多个公寓全景照片,得到样本全景照片,标注各个样本全景照片中螃蟹食物的边界框的位置和尺寸,得到各个样本全景照片对应的第二样本描述信息;其中,上述第二样本描述信息通常可以包括相应公寓全景照片中螃蟹食物的边界框的中心坐标、宽度和高度;各个样本全景照片的分辨率可以调整为320x240。
S420,以所述各个样本螃蟹照片为输入,各个第二样本描述信息为输出以训练第二SqueezeNet网络,获取所述第二SqueezeNet网络在该次训练过程中的第二分类损失函数和第二定位损失函数,在所述第二分类损失函数和第二定位损失函数的取值均小于第二损失阈值时,根据所述第二SqueezeNet网络的网络参数确定所述食物检测网络。
上述第一损失阈值可以设为0.05等较小的值,第二分类损失函数和第二定位损失函数的取值均小于第二损失阈值,表明第二SqueezeNet网络针对输入照片返回的食物边界框的第二边框描述信息几乎等于相应的真实值,依据该第二边框描述信息能够对相应公寓内是否包括食物进行准确检测。
具体地,所述第二分类损失函数包括:
第二定位损失函数包括:
其中,L2
conf表示第二分类损失误差,x2
i表示第二SqueezeNet网络针对第i个样本全景照片输出的食物边界框的第二边框描述信息,p2(x2
i)表示第i个样本全景照片经过softmax处理之后输出准确结果的概率,n2表示样本全景照片的个数,L2
loc表示第二定位损失误差,(cx2,cy2)为样本全景照片的候选框的中心点坐标,w2为样本全景照片的候选框的宽度,h2为样本全景照片的候选框的高度,m2为以cx2,cy2,w2和h2为集合的元素,
表示第二SqueezeNet网络对第i个样本全景照片的预测值,
表示第二SqueezeNet网络对第i个样本全景照片的标注值。
进一步地,本实施例也可以获取第二SqueezeNet网络在训练过程中的第二总损失函数,依据第二总损失函数的取值进一步检测第二SqueezeNet网络的性能,比如可以在第二总损失函数的取值小于第二总损失阈值时,判断第二SqueezeNet网络达到要求,以此确定食物检测网络。其中第二总损失函数为
α为权重用于调整L1
conf(x1)和L1
loc(x1)之间的比例,通常设为1。
以上基于深度学习的公寓式螃蟹辅助养殖方法,通过在监测时段获取目标螃蟹的当前螃蟹照片,将当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,确定当前螃蟹尺寸,在预设的尺寸-进食量关系中查找所述当前螃蟹尺寸对应的食物投喂量,并在投喂时段获取所述目标螃蟹对应的公寓全景照片,将所述公寓全景照片输入预先训练的食物检测网络,获得所述食物检测网络返回的食物边界框的第二边框描述信息,根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物,以在检测到所述公寓全景照片未包括螃蟹食物时,按照上述食物投喂量输出目标螃蟹的投食信息,以使相关工作人员及时获知目标螃蟹的投食信息,按照食物投喂量向目标螃蟹投喂食物;或者使外接的该自动投食装置及时接收该目标螃蟹的投食信息,按照食物投喂量自动向目标螃蟹投喂食物;这样可以针对目标螃蟹的具体尺寸和进食情况有针对性的进行投喂,提高了投喂过程的有效性,能够实现螃蟹的定制化养殖。
应该理解的是,虽然图1、图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请在第二方面提供一种基于深度学习的公寓式螃蟹辅助养殖系统,如图3所示,该基于深度学习的公寓式螃蟹辅助养殖系统包括:
第一获取模块200,用于在监测时段获取目标螃蟹的当前螃蟹照片,将所述当前螃蟹照片输入预先训练的螃蟹检测网络,获取所述螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,根据所述第一边框描述信息确定当前螃蟹尺寸;其中,所述螃蟹检测网络用于根据螃蟹照片输出螃蟹的边界框;所述监测时段为监测周期的起始时段;所述监测周期包括多个投喂周期,各个投喂周期的起始时段为投喂时段;所述第一边框描述信息记录所述螃蟹边界框的尺寸和位置;
查找模块300,用于在预设的尺寸-进食量关系中查找所述当前螃蟹尺寸对应的食物投喂量;其中,所述尺寸-进食量关系记录螃蟹的各个尺寸范围对应的食量;
第二获取模块500,用于在所述投喂时段获取所述目标螃蟹对应的公寓全景照片,将所述公寓全景照片输入预先训练的食物检测网络,获得所述食物检测网络返回的食物边界框的第二边框描述信息,根据所述第二边框描述信息表征的边框面积判断所述公寓全景照片是否包括螃蟹食物;其中,所述食物检测网络用于检测输入照片的食物边界框;所述第二边框描述信息记录所述食物边界框的尺寸和位置;
输出模块610,用于在检测到所述公寓全景照片未包括螃蟹食物时,按照所述食物投喂量输出所述目标螃蟹的投食信息。
关于基于深度学习的公寓式螃蟹辅助养殖系统的具体限定可以参见上文中对于基于深度学习的公寓式螃蟹辅助养殖方法的限定,在此不再赘述。上述基于深度学习的公寓式螃蟹辅助养殖系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述基于深度学习的公寓式螃蟹辅助养殖系统中各个模块的划分仅用于举例说明,在其他实施例中,可将基于深度学习的公寓式螃蟹辅助养殖系统按照需要划分为不同的模块,以完成上述基于深度学习的公寓式螃蟹辅助养殖系统的全部或部分功能。
本申请在第三方面提供一种基于深度学习的公寓式螃蟹辅助养殖装置,参考图4所示,该公寓式螃蟹辅助养殖装置处理器和存储介质;所述存储介质上存储有程序代码;所述处理器用于调用所述存储介质存储的程序代码,以执行上述任一实施例提供的基于深度学习的公寓式螃蟹辅助养殖方法。
具体地,上述公寓式螃蟹辅助养殖装置设置摄像头或者连接外部的拍摄装置,以在监测时段控制摄像头捕捉目标螃蟹所在公寓内的螃蟹空间,并拍摄得到当前螃蟹照片;并在投喂时段调整摄像头的拍摄角度,控制摄像头对目标螃蟹的公寓进行全景拍照,获得目标螃蟹对应的公寓全景照片。
进一步地,若目标螃蟹的公寓设有对应的自动投食装置,此时公寓式螃蟹辅助养殖装置还可以连接该自动投食装置,以将携带食物投喂量的投食信息发送至该自动投食装置,使自动投食装置按照食物投喂量自动向目标螃蟹投喂食物,以及时按需喂养螃蟹,实现螃蟹的自动化养殖。
上述公寓式螃蟹辅助养殖装置可以在监测时段获取目标螃蟹的当前螃蟹照片,输入预先训练的螃蟹检测网络,获取螃蟹检测网络返回的螃蟹边界框的第一边框描述信息,以确定当前螃蟹尺寸,依据预设的尺寸-进食量关系查找所述当前螃蟹尺寸对应的食物投喂量,进而在投喂时段获取公寓全景照片,将公寓全景照片输入预先训练的食物检测网络,获得食物检测网络返回的食物边界框的第二边框描述信息,以判断公寓全景照片是否包括螃蟹食物,并在检测到公寓全景照片不包括螃蟹食物时,按照食物投喂量输出目标螃蟹的投食信息,以使相关工作人员及时获知目标螃蟹的投食信息,按照食物投喂量向目标螃蟹投喂食物;或者使外接的该自动投食装置及时接收该目标螃蟹的投食信息,按照食物投喂量自动向目标螃蟹投喂食物;这样可以针对目标螃蟹的具体尺寸和进食情况有针对性的进行投喂,提高了投喂过程的有效性,能够实现螃蟹的定制化养殖。
尽管已经相对于一个或多个实现方式示出并描述了本申请,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本申请包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本说明书的示范性实现方式中的功能的公开结构不等同。
即,以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
另外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了使本领域任何技术人员能够实现和使用本申请,本申请给出了以上描述。在以上描述中,为了解释的目的而列出了各个细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实施例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。