一种状态监测方法、装置、电子设备及存储介质
技术领域
本申请涉及图像处理领域,尤其涉及一种状态监测方法、装置、电子设备及存储介质。
背景技术
随着物联网、计算机视觉等先进技术的发展和应用,智能监控也逐渐应用到了水产养殖上。水产养殖关注的重点就是鱼群生长状态是否良好,通过智能视觉实时监控来监控鱼群状态,可以大大降低养殖风险和人工成本。当前通过智能视觉监控鱼群状态的方法主要是判断鱼是否有异常行为,还有对鱼群的运动轨迹进行跟踪,根据鱼群运动参数的变化分析判断出鱼群生长环境的改变与健康状况。
但是在实现本发明的过程中发明人发现,现有技术基本都是对物体的运动特征单一特征做的分析判断,例如:在水下,受水流速度和温度变化等影响,鱼群的运动状态也会相应发生变化,不是判断鱼群状态是否良好的必要条件。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种状态监测方法、装置、电子设备及存储介质。
第一方面,本申请提供了一种状态监测方法,包括:
获取待检测图像,所述待检测图像中包括至少一个目标物;
基于所述待检测图像确定所述目标物的生命迹象;
当确定所述目标物存在生命迹象时,基于所述待检测图像确定所述目标物的物体状态。
可选的,所述获取待检测图像,包括:
获取摄像装置对指定区域进行拍摄得到的拍摄图像;
当确定所述拍摄图像中存在所述目标物,或所述拍摄图像中所述目标物满足第一预设条件时,将所述拍摄图像按照时间顺序录入预设列表;
当所述预设列表中录入的拍摄图像满足第二预设条件时,得到所述待检测图像。
可选的,所述基于所述待检测图像确定所述目标物的生命迹象包括:
从所述待检测图像中提取关键帧图像;
将所述关键帧图像输入预先训练的检测模型,由所述检测模型检测所述目标物的第一特征信息,并根据所述第一特征信息确定所述目标物的生命迹象。
可选的,所述基于所述待检测图像集提取关键帧图像包括:
确定所述目标物所占所述待检测图像的百分比;
获取所述每帧图像的有效区域,以及所述目标物在每帧图像中的检测框;
确定所述每帧图像中所述检测框与所述有效区域的交并比;
将所述百分比属于第一预设范围,且所述交并比属于第二预设范围的图像作为所述关键帧图像。
可选的,所述当确定所述目标物存在生命迹象时,基于所述待检测图像确定所述目标物的物体状态,包括:
当确定所述目标物存在生命迹象时,将所述关键帧图像输入预先训练的分类模型,由所述分类模型检测所述目标物的第二特征信息,并根据所述第二特征信息确定所述物体状态,所述物体状态包括:正常状态和/或异常状态。
可选的,所述方法还包括:
按照预设规则从所述关键帧图像中筛选待分割图像;
将所述待分割图像输入预先训练的分割模型中,由所述分割模型检测所述目标物的包围区域信息,并按照所述包围区域信息对所述带分割图像进行分割,得到目标物图像;
基于所述目标物图像计算所述目标物的形体参数。
可选的,所述方法还包括:
确定每个单位时间内所述正常状态目标物的第一平均形体参数,以及所述异常状态目标物的第二平均形体参数;
根据所述第一平均形体参数建立所述正常目标物在预设周期内的第一生长曲线;
根据所述第二平均形体参数建立所述异常目标物在预设周期内的第二生长曲线;
其中,所述预设周期包括多个单位时间。
可选的,所述方法还包括:
统计所述单位时间内无生命迹象目标物的第一数量、正常状态目标物的第二数量以及异常状态目标物的第三数量;
根据所述第一数量计算所述无生命迹象目标物的第一出现概率;
根据所述第二数量计算所述正常状态目标物的第二出现概率;
根据所述第三数量计算所述异常状态目标物的第三出现概率;
根据所述第一出现概率、第二出现概率和第三出现概率确定所述目标物在所述预设周期内的状态分布。
第二方面,本申请提供了一种生长状态统计装置,包括:
获取模块,用于获取待检测图像,所述待检测图像中包括至少一个目标物;
第一分析模块,用于基于所述待检测图像确定所述目标物的生命迹象;
第二分析模块,用于当确定所述目标物存在生命迹象时,基于所述待检测图像确定所述目标物的物体状态。
第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过从多角度出发,检测目标物的多个特征信息,得到目标物的生命迹象和物体状态,以此相比现有技术能够更精准的确定目标物的状态,并且为后续统计种群的生长情况,提供良好的数据基础。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种状态监测方法的流程图;
图2为本申请实施例提供的待检测图像示意图;
图3为本申请实施例提供的关键帧图像示意图;
图4为本申请实施例提供的不符合预设姿势的示意图;
图5为本申请实施例提供的不符合预设姿势的示意图;
图6为本申请另一实施例提供的一种状态监测方法的流程图;
图7为本申请另一实施例提供的一种状态监测方法的流程图;
图8为本申请实施例提供的鱼群状态分布示意图;
图9为本申请实施例提供的一种状态监测装置的框图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种状态监测方法,装置,电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
下面首先对本发明实施例所提供的一种状态监测方法进行介绍。
图1为本申请实施例提供的一种状态监测方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11,获取待检测图像,待检测图像中包括至少一个目标物;
步骤S12,基于待检测图像确定目标物的生命迹象;
步骤S13,当确定目标物存在生命迹象时,基于待检测图像确定目标物的物体状态。
本实施例中,通过从多角度出发,检测目标物的多个特征信息,得到目标物的生命迹象和物体状态,以此相比现有技术能够更精准的确定目标物的状态,并且为后续统计种群的生长情况,提供良好的数据基础。
本实施例以观察水下养殖的鱼群为例,将摄像装置安装在水池中,以使摄像装置对指定区域进行拍摄。则获取待检测图像是通过:获取摄像装置对指定区域进行拍摄得到的拍摄图像,当确定拍摄图像中存在目标物,或拍摄图像中目标物满足第一预设条件时,将拍摄图像按照时间顺序录入预设列表,当预设列表中录入的拍摄图像满足第二预设条件时,得到待检测图像。
作为一个示例,当确定拍摄图像中存在鱼体,或者拍摄图像中目标物满足第一预设条件为鱼体所占拍摄图像的百分比大于预设百分比,则将拍摄图像按照时间顺序录入预设列表,当录入的拍摄图像中鱼体所占拍摄图像的百分小于预设百分比,则确认录入的拍摄图像满足第二预设条件。以此将预设列表中存储的拍摄图像作为待检测图像,参考图2。
当得到待检测图像后,根据待检测图像确定目标物的生命迹象。从待检测图像中提取关键帧图像,根据关键帧图像确定目标物的生命迹象。
可选的,从待检测图像集提取关键帧图像,可以通过以下方式实现:确定目标物所占待检测图像的百分比,获取每帧图像的有效区域,以及目标物在每帧图像中的检测框,确定每帧图像中检测框与有效区域的交并比,将百分比属于第一预设范围,且交并比属于第二预设范围的图像作为关键帧图像。
作为一个示例,有效区域可以是图像的中心区域,通过确定鱼体的检测框和有效区域的交并比目的是得到更完整的鱼体图像,其中,第一预设范围为90%-100%,第二预设范围为60%-80%,本实施例是将目标物所占待检测图像的百分比为100%,且交并比为80%的图像作为关键帧图像。
在得到关键帧图像之后,将关键帧图像输入预先训练的检测模型,由检测模型检测目标物的第一特征信息,并根据第一特征信息确定目标物的生命迹象。依据生命迹象能够将鱼体分为活鱼和死鱼。
本实施例中的检测模型通过以下方式训练得到:可以将多组样本图像输入至卷积神经网络模型中对预设类型的目标物进行识别;其中,卷积神经网络模型为使用多组数据通过机器学习训练得出的,多组样本图像包括第一类样本图像和第二类样本图像,第一类样本图像中的样本图像均包括:鱼体的特征信息和标识该特征信息属于活鱼的标签,第二类样本图像中的样本图像均包括:鱼体的特征信息和标识该特征信息属于死鱼的标签。
可选的,当确定目标物存在生命迹象时(即确定鱼体为活鱼时),基于待检测图像确定目标物的物体状态,具体通过以下方式实现:当确定目标物存在生命迹象时,将关键帧图像输入预先训练的分类模型,由分类模型检测目标物的第二特征信息,并根据第二特征信息确定物体状态,物体状态包括:正常状态和/或异常状态,本实施例中的异常状态包括:主要分为嘴部异常、鳃部异常以及尾部异常。
本实施例中的分类模型通过以下方式训练得到:可以将多组目标物样本图像输入至卷积神经网络模型中对预设类型的目标物进行识别;其中,卷积神经网络模型为使用多组数据通过机器学习训练得出的,多组样本图像包括第一类目标物样本图像和第二目标物类样本图像,第一类目标物样本图像中的样本图像均包括:正常鱼体的特征信息和标识该特征信息属于正常鱼体的标签,第二类目标物样本图像中的样本图像均包括:异常鱼体的特征信息和标识该特征信息属于异常鱼体的标签。
可以对预设卷积神经网络生成相应的训练环境,在训练环境生成完成后,利用卷积神经网络对上述训练样本图像进行特征提取。将输出的特征与上述训练样本图像对应的标注信息进行比对,根据比对结果,不断调整卷积神经网络中的参数,直到其输出的特征与上述训练样本图像对应的标注信息的相似程度达到预设相似度,在这种情况下,认为得到了分类模型。
本实施例提供的方法,还包括:按照预设规则从关键帧图像中筛选待分割图像,将待分割图像输入预先训练的分割模型中,得到目标物图像,基于目标物图像计算目标物的形体参数。其中形体参数包括:目标物的长度,目标物的宽度,目标物的高度等等。
以鱼体为例,按照预设规则动关键帧图像中筛选待分割图像,包括:首先从关键帧图像中筛选出携带预设标准姿势的鱼体图像,并将其作为待分割图像,其中,将鱼体与摄像头成平行和尾部无明显摆动作为预设标准姿势,如图4,图5为不符合预设标准姿势的示意图。
然后将待分割图像输入预先训练的分割模型中,由分割模型检测目标物的包围区域信息,并按照包围区域信息对带分割图像进行分割,得到目标物图像。示例性的,分割模型是根据鱼体的包围框的对待分割图像进行分割,得到单个鱼体图像,通过对单个鱼体图像进行测量计算得到鱼体长度。
需要说明的是,本实施例在得到形体参数的同时,还需要检测目标物上的关键点,依据目标物上的关键点连线的外接矩形确定目标物的标识信息,其中,标识信息可以是身份ID。
作为一个示例,得到鱼体图像后,将鱼体图像输入关键点检测模型中,得到鱼体关键点,根据鱼体关键点连线的最小外接矩形确定鱼体对应的标识,然后将鱼体长度与该标识进行关联。如果当前重复检测到同一鱼体,则不再对该鱼体的体长进行计算。
本实施例中的关键检测模型通过以下方式训练得到,获取目标物样本图像,目标物样本图像为单个鱼体图像,获取目标物样本图像的标注信息,标注信息包括:目标物样本图像中鱼体的关键点信息,关键点信息可以是关键点的坐标。根据预设卷积神经网络模型对目标物样本图像以及鱼体的关键点信息进行训练,得到关键点检测模型。
在实现本申请实施例的过程中,发明人还发现鱼群的单个个体存在异常,不能给整个养殖池的养殖生产管理提供参考意见,需要提供整个养殖池内鱼群状态的统计分布,才会对养殖管理产生指导性意义。
图6为本申请另一实施例提供的一种状态监测方法的流程图。如图6所示,该方法还包括以下步骤:
步骤S21,确定每个单位时间内正常状态目标物的第一平均形体参数,以及异常状态目标物的第二平均形体参数;
步骤S22,根据第一平均形体参数建立正常目标物在预设周期内的第一生长曲线;
步骤S23,根据第二平均形体参数建立异常目标物在预设周期内的第二生长曲线;
其中,预设周期包括多个单位时间。
本实施例中,单位时间可以是以天为单位,预设周期可以是周,月,年。统计每天正常状态目标物的的中位数,并将其作为当天的第一平均形体参数,以及统计每天异常状态目标物的的中位数,并将其作为当天的第二平均形体参数。
然后根据第一平均形体参数建立正常目标物在预设周期内的第一生长曲线,以及根据第二平均形体参数建立异常目标物在预设周期内的第二生长曲线。
可以理解的,用平均体长变化趋势作为生长趋势指标,即可绘制生长曲线图,横坐标为时间(天/周),纵坐标为平均体长像素值。根据生长曲线图,可以辅助养殖人员判断该养殖池的鱼群何时出塘利润最大化。
图7为本申请另一实施例提供的一种状态监测方法的流程图。如图7所示,该方法还包括以下步骤:
步骤S31,统计单位时间内无生命迹象目标物的第一数量、正常状态目标物的第二数量以及异常状态目标物的第三数量;
步骤S32,根据第一数量计算无生命迹象目标物的第一出现概率;
步骤S33,根据第二数量计算正常状态目标物的第二出现概率;
步骤S34,根据第三数量计算异常状态目标物的第三出现概率;
步骤S35,根据第一出现概率、第二出现概率和第三出现概率确定目标物在预设周期内的状态分布。
本实施例中,统计单位时间内无生命迹象目标物的第一数量为Numdead,正常状态目标物的第二数量为Numgood,异常状态目标物的第三数量为Numill。依据上述三种状态目标物的数量可以计算每种目标物的出现概率,计算过程如下:
根据第一数量计算无生命迹象目标物的第一出现概率,计算公式如下:
根据第二数量计算正常状态目标物的第二出现概率,计算公式如下:
根据第三数量计算异常状态目标物的第三出现概率,计算公式如下:
每天给出这三个指标的对比值,根据时间维度,可以得到按天、周、月等时间维度的鱼群状态分布变化图(参考图8),通过状态分布变化图可以反映出鱼群状态是否良好,以及病情是否得到及时控制等信息,例如:当病鱼或死鱼的出现概率占总体的比重超过预设值时,则确定鱼群病情的发展为传播状态。
图9为本申请实施例提供的一种状态监测装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图9所示,该装置包括:
获取模块91,用于获取待检测图像,待检测图像中包括至少一个目标物;
第一分析模块92,用于基于待检测图像确定目标物的生命迹象;
第二分析模块93,用于当确定目标物存在生命迹象时,基于待检测图像确定目标物的物体状态。
本实施例中的获取模块91,具体用于获取摄像装置对指定区域进行拍摄得到的拍摄图像;当确定拍摄图像中存在目标物,或拍摄图像中目标物满足第一预设条件时,将拍摄图像按照时间顺序录入预设列表;当预设列表中录入的拍摄图像满足第二预设条件时,得到待检测图像。
本实施例中的第一分析模块92,具体用于从待检测图像中提取关键帧图像,将关键帧图像输入预先训练的检测模型,由检测模型检测目标物的第一特征信息,并根据第一特征信息确定目标物的生命迹象。
本实施例中的第二分析模块93还包括:提取子模块,用于确定目标物所占待检测图像的百分比,获取每帧图像的有效区域,以及目标物在每帧图像中的检测框,确定每帧图像中检测框与有效区域的交并比,将百分比属于第一预设范围,且交并比属于第二预设范围的图像作为关键帧图像。
本实施例中的第二分析模块93还包括:分析子模块,用于当确定目标物存在生命迹象时,将关键帧图像输入预先训练的分类模型,由分类模型检测目标物的第二特征信息,并根据第二特征信息确定物体状态,物体状态包括:正常状态和/或异常状态。
可选的,本实施例中的状态监测装置还包括:处理模块,处理模块,用于按照预设规则从关键帧图像中筛选待分割图像,将待分割图像输入预先训练的分割模型中,得到目标物图像,基于目标物图像计算目标物的形体参数。
可选的,本实施例中的状态监测装置包括:第一计算模块,用于确定每个单位时间内正常状态目标物的第一平均形体参数,以及异常状态目标物的第二平均形体参数;根据第一平均形体参数建立正常目标物在预设周期内的第一生长曲线;根据第二平均形体参数建立异常目标物在预设周期内的第二生长曲线;
其中,预设周期包括多个单位时间。
可选的,本实施例中的状态监测装置包括:第二计算模块,用于统计单位时间内无生命迹象目标物的第一数量、正常状态目标物的第二数量以及异常状态目标物的第三数量;根据第一数量计算无生命迹象目标物的第一出现概率;根据第二数量计算正常状态目标物的第二出现概率;根据第三数量计算异常状态目标物的第三出现概率;根据第一出现概率、第二出现概率和第三出现概率确定目标物在预设周期内的状态分布。
本申请实施例还提供一种电子设备,如图10所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例的步骤。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令进行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于进行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上进行、部分地在用户设备上进行、作为一个独立的软件包进行、部分在用户计算设备上部分在远程计算设备上进行、或者完全在远程计算设备或服务器上进行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。