一种图像筛选方法、装置、电子设备及存储介质
技术领域
本申请涉及人工智能领域,尤其涉及一种图像筛选方法、装置、电子设备及存储介质。
背景技术
渔业是中国农业的重要组成部分,而且不同于其他主要渔业国,中国的水产品主要来自于水产养殖业,并且是世界上唯一养殖水产品总量超过捕捞总量的主要渔业国,2018年,中国养殖水产品总量4991万吨,占到中国水产品总量的77%以上,占世界养殖水产品总量的60%以上。
目前在水产养殖过程中,都是凭借经验进行投料喂食,没有鱼的生长趋势的记录,如果能够记录鱼的大致生长趋势,那么对于投料时间以及用量会有指导作用,能够在一定程度上提高肉料比,并节省饲料。
目前可以通过在水下安装摄像机来采集鱼的图像,通过对采集的图像进行生物分析来确定鱼的生物信息(例如体尺信息等),但是由于鱼在水中通常为运动状态,在运动过程中鱼的尾巴会摆动,这就有可能使得采集到的图像中鱼的姿势不是舒展的,进而使得生物分析得到的鱼的生物信息不准确,例如分析得到的体长比实际体长短,从而影响到对鱼生长趋势的确定。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种。
第一方面,本申请提供了一种图像筛选方法,包括:
采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到掩膜图像;
对所述掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像;
对所述标准掩膜图像进行特征提取,得到所述标准掩膜图像的特征;
将所述标准掩膜图像的特征输入预训练的姿态确定模型,确定所述标准掩膜图像中包含的待分析对象的姿态是否满足预设的姿态要求;
确定姿态满足预设姿态要求的待分析对象所属的标准掩膜图像作为最终掩膜图像,以通过所述最终掩膜图像对所述待分析对象进行生物分析。
在一种可能的实现方式中,所述预训练的姿态确定模型为利用预设的模型超参数和多张包含所述待分析对象的样本图像的特征对预设的XGBoost模型进行训练后得到的模型,其中所述样本图像中包含的所述待分析对象的姿态已知是否满足预设的姿态要求。
在一种可能的实现方式中,对所述掩膜图像中的所述待分析对象进行位置矫正处理之前,所述方法还包括:
检测所述掩膜图像中包含的待分析对象的数量;
若所述数量大于1,则将所述掩膜图像拆分为对应数量张只包含单个待分析对象的掩膜图像;
对只包含单个待分析对象的掩膜图像,执行对所述掩膜图像中的所述待分析对象进行位置矫正处理的步骤。
在一种可能的实现方式中,对所述掩膜图像中的所述待分析对象进行位置矫正处理之前,所述方法还包括:
确定包含的待分析对象不完整的待剔除掩膜图像;
将所述待剔除掩膜图像从所述掩膜图像中删除;
对将所述待剔除掩膜图像删除后的所述掩膜图像执行对所述掩膜图像中的所述待分析对象进行位置矫正处理的步骤。
在一种可能的实现方式中,确定包含的待分析对象不完整的待剔除掩膜图像,包括:
获取掩膜图像中所述待分析对象的图像位置信息;
根据所述图像位置信息,判断所述掩膜图像是否满足预设剔除条件;
若所述掩膜图像满足所述预设剔除条件,则确定所述掩膜图像为包含的待分析对象不完整的待剔除掩膜图像。
在一种可能的实现方式中,所述预设剔除条件包含以下条件中的至少一个:
所述掩膜图像中包含的待分析对象在所述待处理图像的边界;
所述掩膜图像中包含的待分析对象与所述待处理图像的边界重合度大于预设的第一像素;
所述掩膜图像中包含的待分析对象与所述待处理图像的边界重合度大于预设的第二像素;
所述掩膜图像中包含的待分析对象的宽高比大于预设的比值。
在一种可能的实现方式中,对所述掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像,包括:
对所述掩膜图像中的所述待分析对象进行图像转正处理;
判断图像转正处理后的所述待分析对象的首尾朝向是否满足预设首尾朝向;
若不满足,则将转正后的所述待分析对象的首尾朝向调整至所述预设首尾朝向,得到标准掩膜图像;
若满足,则确定图像转正处理后的掩膜图像为标准掩膜图像。
在一种可能的实现方式中,对所述标准掩膜图像进行特征提取,得到所述标准掩膜图像的特征,包括:
将所述标准掩膜图像的尺寸进行宽高等比例调整,将宽度像素值调整至预设像素值;
生成尺寸调整后的所述标准掩膜图像对应的像素矩阵;
对所述像素矩阵中的每一列分别进行求和后除以所述标准掩膜图像对应的原始高度像素值,得到每一列对应的特征值;
将每一列对应的特征值共同组成的特征矩阵作为所述标准掩膜图像的特征。
在一种可能的实现方式中,所述姿态确定模型的训练包括:
获取多张包含待分析对象的样本图像,所述样本图像中包含的待分析对象已知是否确定姿态信息满足预设姿态要求;
对所述样本图像进行特征提取,得到每个样本图像的特征;
将所述样本图像的特征作为训练集;
通过所述训练集和预设的XGBoost模型的超参数,对所述XGBoost模型进行训练;
将训练后的XGBoost模型作为姿态确定模型。
第二方面,本发明实施例还提供了一种图像筛选装置,包括:
语义分割模块,用于采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到掩膜图像;
矫正模块,用于对所述掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像;
特征提取模块,用于对所述标准掩膜图像进行特征提取,得到所述标准掩膜图像的特征;
姿态确定模块,用于将所述标准掩膜图像的特征输入预训练的姿态确定模型,确定所述标准掩膜图像中包含的待分析对象的姿态是否满足预设的姿态要求;
最终图像确定模块,用于确定姿态满足预设姿态要求的待分析对象所属的标准掩膜图像作为最终掩膜图像,以通过所述最终掩膜图像对所述待分析对象进行生物分析。
在一种可能的实现方式中,所述装置还包括拆分模块,具体用于:
在对所述掩膜图像中的所述待分析对象进行位置矫正处理之前,之前检测所述掩膜图像中包含的待分析对象的数量;
若所述数量大于1,则将所述掩膜图像拆分为对应数量张只包含单个待分析对象的掩膜图像。
在一种可能的实现方式中,所述装置还包括剔除模块,包括:
待剔除图像确定子模块,用于在对所述掩膜图像中的所述待分析对象进行位置矫正处理之前,确定包含的待分析对象不完整的待剔除掩膜图像;
删除子模块,用于将所述待剔除掩膜图像从所述掩膜图像中删除。
在一种可能的实现方式中,所述待剔除图像确定子模块具体用于:
获取掩膜图像中所述待分析对象的图像位置信息;
根据所述图像位置信息,判断所述掩膜图像是否满足预设剔除条件;
若所述掩膜图像满足所述预设剔除条件,则确定所述掩膜图像为包含的待分析对象不完整的待剔除掩膜图像。
在一种可能的实现方式中,所述矫正模块具体用于:
对所述掩膜图像中的所述待分析对象进行图像转正处理;
判断图像转正处理后的所述待分析对象的首尾朝向是否满足预设首尾朝向;
若不满足,则将转正后的所述待分析对象的首尾朝向调整至所述预设首尾朝向,得到标准掩膜图像;
若满足,则确定图像转正处理后的掩膜图像为标准掩膜图像。
在一种可能的实现方式中,所述特征提取模块具体用于:
将所述标准掩膜图像的尺寸进行宽高等比例调整,将宽度像素值调整至预设像素值;
生成尺寸调整后的所述标准掩膜图像对应的像素矩阵;
对所述像素矩阵中的每一列分别进行求和后除以所述标准掩膜图像对应的原始高度像素值,得到每一列对应的特征值;
将每一列对应的特征值共同组成的特征矩阵作为所述标准掩膜图像的特征。
第三方面,本发明实施例还提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据处理程序,以实现第一方面所述的图像筛选方法。
第四方面,本发明实施例还提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面所述的图像筛选方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的一种图像筛选方法,采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到待分析对象对应的掩膜图像,对掩膜图像中的待分析对象进行位置矫正处理,得到标准掩膜图像,对标准掩膜图像进行特征提取,根据提取的特征利用预训练的姿态确定模型确定标准掩膜图像中待分析对象的姿态是否满足预设的姿态要求标准,将满足姿态要求的待分析对象所属的标准掩膜图像作为用于后续生物分析的最终掩膜图像。通过上述方式对待处理图像中包含的待分析对象进行姿态筛选,使得最终掩膜图像中的待分析对象的姿势满足预设姿态要求,保证了后续对待分析对象进行生物分析时分析结果的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种水下图像采集装置示意图;
图2为本申请实施例提供的一种图像示意图;
图3为本申请实施例提供的一种图像筛选方法的流程图;
图4为本申请实施例提供的一种图像示意图;
图5为本申请实施例提供的一种确定首尾朝向的方法示意图;
图6为本申请实施例提供的一种图像矫正示意图;
图7为本申请实施例提供的一种图像筛选方法流程图;
图8为本申请实施例提供的一种图像筛选装置的框图;
图9为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前在鱼养殖过程中,通过对鱼的图像进行生物分析确定鱼的生长状况,而为了采集水下鱼的图像,可以通过安装水下的图像采集装置(例如摄像机、深度相机等等),图像采集装置的安装方式可以采用图1所示的方式,将图像采集装置设置在透明三角箱内,在图像采集装置的对面设置一个不透明的遮挡板,遮挡板与三角箱距离之间留有空隙,空隙的宽度根据需求设定例如可以为10厘米,鱼可以在空隙间穿行,鱼在空隙间穿行时通过图像采集装置采集图像,采集的图像中包含一条或多条鱼(如图2所示),通过对采集的图像进行生物分析(例如确定鱼的体尺信息、体表信息等等)可以确定鱼的生长趋势,以及是否出现病变等。
但是对于采集的图像中有很多的鱼的姿势不是舒展的,对于拿到鱼的体尺信息以及其他能反映生长趋势的信息会有很大影响,对于生长指标的把控影响很大,所以本发明提供的一种图像筛选方法可以用于筛选出包含姿势合理的鱼的图像,从而使得对图像进行生物分析得到的生物信息能够准确的反映出鱼体的生长趋势。
图3为本发明实施例提供的一种图像筛选方法的流程图,如图3所示,该方法包括如下步骤:
S31.采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到掩膜图像。
若待分析对象为鱼,则待处理图像可以为通过图像采集装置对水下的鱼进行图像采集得到的图像。
图像分割模型可以为通过人工标记mask(掩膜)训练ENet模型或Mask-RCNN模型得到的训练后的模型,具体的可以获取多张包含待分析对象的图像,对获取的图像采用人工标记等方式对图像中的待分析对象进行标记得到对应的mask图像,利用获取的图像和标记的mask图像对ENet模型或Mask-RCNN模型进行训练,将训练得到的模型作为预训练的图像分割模型,训练方法采用现有的即可。
将待处理图像输入到图像分割模型后,图像分割模型对待处理图像中每一个像素点进行分类,确定每个点的类别(如属于背景、鱼等),从而进行区域划分,将待分析对象所在区域与其他区域区分开,输出掩膜图像即mask图像,掩膜图像中为每个区域加上了语义标签(用不同的颜色代表不同类别的物体),从而根据掩膜图像可以准确的区分待分析对象区域和其他区域。
S32.对所述掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像。
因为不同的待处理图像中包含的待分析对象的位置通常不一致,例如以鱼为例,有的鱼可能是斜向上游动、有的鱼斜向下游动、有的向左平行游动、有的向右平行移动(如图2所示),待分析对象的位置不统一不便于后续的特征提取,因此为了便于后续特征提取,本实施例通过对掩膜图像中的所述待分析对象进行位置矫正处理,将待分析对象的位置进行标准化。
S33.对所述标准掩膜图像进行特征提取,得到所述标准掩膜图像的特征。
S34.将所述标准掩膜图像的特征输入预训练的姿态确定模型,确定所述标准掩膜图像中包含的待分析对象的姿态是否满足预设的姿态要求。
其中姿态确定模型是在执行S34之前预先训练好的模型,通过姿态确定模型可以确定掩膜图像中的待分析对象的姿态是否满足预设的姿态要求,比如,当待分析对象为鱼时,可以通过预训练的姿态确定模型确定掩膜图像中鱼的姿态是否舒展,如果舒展就确定满足预设的姿态要求,如果不舒展就确定不满足预设的姿态要求。
S35.确定姿态满足预设姿态要求的待分析对象所属的标准掩膜图像作为最终掩膜图像,以通过所述最终掩膜图像对所述待分析对象进行生物分析。
确定姿态满足预设姿态要求的待分析对象所属的标准掩膜图像作为最终掩膜图像,保证了最终掩膜图像中待分析对象的姿态的合理性,使后续的生物分析结果更加准确。
本申请实施例提供的一种图像筛选方法,采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到待分析对象对应的掩膜图像,对掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像,对标准掩膜图像进行特征提取,根据提取的特征利用预训练的姿态确定模型确定标准掩膜图像中待分析对象的姿态是否满足预设的姿态要求标准,将满足姿态要求的待分析对象所属的标准掩膜图像作为用于后续生物分析的最终掩膜图像。通过上述方式对待处理图像中包含的待分析对象进行姿态筛选,使得最终掩膜图像中的待分析对象的姿势满足预设姿态要求,保证了后续对待分析对象进行生物分析时分析结果的准确性。
因为一张待处理图像中可能会包含多个待分析对象,例如以鱼为待分析对象,一张图像中可能会包含多条鱼,因为本发明对图像进行筛选的目的是用于后续的生物分析,而在进行生物分析时通常是针对每一个待分析对象分别进行分析的,因此需要将图像中的每一个待分析对象分别对应一张掩膜图像,所以在上述实施例的基础上,在执行S32之前,该图像筛选方法还可以包括如下步骤:
检测所述掩膜图像中包含的待分析对象的数量,若所述数量大于1,则将所述掩膜图像拆分为对应数量张只包含单个待分析对象的掩膜图像,对只包含单个待分析对象的掩膜图像,执行对所述掩膜图像中的所述待分析对象进行位置矫正处理的步骤。
也就是待处理图像中包含多少个待分析对象,就生成多少张只包含单个待分析对象的掩膜图像,例如待分析对象为鱼,待处理图像中有5条鱼,则生成5张掩膜图像,每张掩膜图像中只有一条鱼。
在本实施例中,通过对包含多个待分析对象的掩膜图像进行拆分,保证了最终得到的每张掩膜图像中只包含单一的待分析对象,便于对每个待分析对象分别进行生物分析,提高了生物分析的准确性。
受图像采集装置采集范围的限制,待处理图像中包含的待分析对象的图像可能不完整,例如图4所示,只采集到鱼身和鱼头的图像,而没有采集到鱼尾的图像等,而待分析对象不完整的图像对后续对待分析对象的生物分析是无意义的,甚至会影响到生物分析结果的准确性,因此,在执行S32之前,该图像筛选方法还可以包括如下步骤:
确定包含的待分析对象不完整的待剔除掩膜图像,将所述待剔除掩膜图像从所述掩膜图像中删除,对将所述待剔除掩膜图像删除后的所述掩膜图像执行对所述掩膜图像中的所述待分析对象进行位置矫正处理的步骤。
如果S32中得到的掩膜图像中包含多个待分析对象,则先对掩膜图像进行拆分,再分别对每张只包含单个待分析对象的掩膜图像进行检测确定是否为待剔除掩膜图像,以及后续流程。
在本实施例中,通过将包含不完整的待分析对象的待剔除掩膜图像删除,保证了最终得到的用于进行生物分析的掩膜图像中包含的都是完整的待分析对象,从而可以提高生物分析结果的准确性。
因为不完整的待分析对象通常只会出现在待处理图像的边界上,所以图像位置信息对于判断待分析对象的完整性非常重要,因此在上述实施例的基础上,确定包含的待分析对象不完整的待剔除掩膜图像,可以采用下述步骤:
步骤1:获取掩膜图像中所述待分析对象的图像位置信息。
其中图像位置信息即为表示待分析对象在待处理图像中的位置的信息。
步骤2:根据所述图像位置信息,判断所述掩膜图像是否满足预设剔除条件。
在一种可能的实现方式中,预设剔除条件包含以下条件中的至少一个:
条件1:所述掩膜图像中包含的待分析对象在所述待处理图像的边界。
条件2:所述掩膜图像中包含的待分析对象与所述待处理图像的边界重合度大于预设的第一像素。
其中第一像素根据实际情况设定,例如可以为100像素。
条件3:所述掩膜图像中包含的待分析对象与所述待处理图像的边界重合度大于预设的第二像素。
其中第二像素根据实际情况设定,例如可以为60像素。
条件4:所述掩膜图像中包含的待分析对象的宽高比大于预设的比值。
其中比值根据实际情况设定,例如可以为3。
步骤3:若所述掩膜图像满足所述预设剔除条件,则确定所述掩膜图像为包含的待分析对象不完整的待剔除掩膜图像。
如果待分析对象的图像位置信息满足预设的剔除条件,则说明待分析对象不完整,因此此时确定对应的掩膜图像为待剔除掩膜图像。
在本实施例中,通过待分析对象在待处理图像中的位置信息来确定待分析对象的完整性,方便、准确。
在上述实施例的基础上,S33可以包括如下步骤:
步骤1:对所述掩膜图像中的所述待分析对象进行图像转正处理。
在图像采集时,由于图像采集设备的摆放位置或待分析对象的位置等因素导致,采集到的待分析对象的姿态各异,不便于进行分析,例如以鱼为分析对象,因为鱼的游动方向不同,有的是向斜下方游、有的向斜上方游等等,就导致采集到的图像中有的鱼头是朝向斜下方的,有的是朝向斜上方的等等,姿态各异,不便于进行分析,因此此时对鱼的位置进行调整,使鱼头均朝向水平方向。
可以采用任何可以将待分析对象的位置调整的方式进行图像转正处理。
在一种可能的实现方式中,可以通过待分析对象的位置分布信息进行主成分分析转正,具体做法是利用掩膜图像提取待分析对象的位置特征,然后求解主成分向量进行矫正。
步骤2:判断图像转正处理后的所述待分析对象的首尾朝向是否满足预设首尾朝向。
因为水平方向有两个朝向,一个是朝向右侧,一个是朝向左侧,而为了使得后续分析更加简便,将待分析对象的朝向也进行统一化,设定一个固定的首尾朝向,对待分析对象的首尾朝向进行调整,均调整至预设设定的首尾朝向。
在判断首尾朝向是否满足预设的首尾朝向是要先确定首尾朝向,在一种可能的实现方式中,以鱼为待分析对象,则可以采用下述方式确定鱼的首尾朝向:
利用鱼头到身体过度的宽度大于鱼尾到身体过度的宽度,通过对一个图像转正后的掩膜图像从左至右均匀分成多份,例如图5所示,分成6份,对比其中第2份和第5份前景图像(待分析对象对应的图像)的面积即可100%的分清鱼头和鱼尾,分清鱼头和鱼尾后,根据鱼头和鱼尾的相对位置关系,即可确定鱼的首尾朝向,例如通过面积确定第2份的面积大于第5份的面积,则确定鱼头朝左,鱼尾朝右,反之,则鱼头超右,鱼尾朝左。
步骤3:若不满足,则将转正后的所述待分析对象的首尾朝向调整至所述预设首尾朝向,得到标准掩膜图像;若满足,则确定图像转正处理后的掩膜图像为标准掩膜图像。
在本实施例中,对掩膜图像中待分析对象进行位置矫正处理,将不同掩膜图像中的待分析对象的朝向调整成统一的,便于后续的特征提取。
在上述实施例的基础上,S34可以包括如下步骤:
步骤1:将所述标准掩膜图像的尺寸进行宽高等比例调整,将宽度像素值调整至预设像素值。
其中预设像素值为根据实际情况设定的像素值,例如可以为400像素。
步骤2:生成尺寸调整后的所述标准掩膜图像对应的像素矩阵。
标准掩膜图像对应的像素矩阵为标准掩膜图像中像素点对应的像素组成的矩阵,例如标准掩膜图像为一个400像素×600像素的图像,则生成的就是一个400×600的像素矩阵,矩阵中的元素为每个像素点对应的像素。
步骤3:对所述像素矩阵中的每一列分别进行求和后除以所述标准掩膜图像对应的原始高度像素值,得到每一列对应的特征值。具体的,对像素矩阵中的每一列的数值分别进行求和,然后再将每一列对应的和值分别除以标准掩膜图像对应的原始高度像素值,从而得到每一列对应的特征值。
其中原始高度像素值就是在进行尺寸调整之前的高度像素值,例如标准掩膜图像在尺寸调整之前是一个4000像素×6000像素的图像,而其对应的原始高度像素值就是6000像素,而除以其原始高度像素值是为了做数据标准化,使得到的特征值在一定的标准化范围内。
步骤4:将每一列对应的特征值共同组成的特征矩阵作为所述标准掩膜图像的特征。
由每一列对应的特征值共同组成的特征矩阵是一个维度与预设像素值(也就是尺寸调整后的宽度像素值)相同的特征向量,例如一个标准掩膜图像进行尺寸调整后为一个400像素×600像素的图像,则其对应的特征就是一个400维的特征向量。
在本实施例中,通过该特征提取方式能够显著的在该种维度特征上区分开合理姿势的待分析对象和不合理姿势的待分析对象。
在上述实施例的基础上,预训练的姿态确定模型可以是采用预设的模型超参数和多张包含待分析对象的样本图像的特征对预设的XGBoost模型(Extreme GradientBoosting,极端梯度提升模型)进行训练后得到的模型。
具体的,预训练的姿态确定模型可以通过下述步骤得到:
步骤1:获取多张包含待分析对象的样本图像,所述样本图像中包含的待分析对象已知是否确定姿态信息满足预设姿态要求。
其中样本图像可以从本地文件中获取也可以从网络中获取,获取到样本图像后,可以通过人工挑选的方式确定包含的待分析对象姿态满足预设姿态要求的样本图像和包含的待分析对象的姿态不满足预设姿态要求的样本图像,并为样本图像增加用来表示样本图像中包含的待分析对象的姿态是否满足预设姿态要求的标签,例如添加0/1标签,如果样本图像的标签为0就表示该样本图像中包含的待分析对象的姿态不满足预设姿态要求,如果样本图像的标签为1就表示该样本图像中包含的待分析对象的姿态满足预设姿态要求。
步骤2:对所述样本图像进行特征提取,得到每个样本图像的特征。
特征提取的方式与上述S34相同,先对样本图像进行尺寸调整,然后生成对应的像素矩阵,最后通过计算生成对应的得到对应的特征。
步骤3:将所述样本图像的特征作为训练集。
步骤4:通过所述训练集和预设的XGBoost模型的超参数,对所述XGBoost模型进行训练。
其中超参数可以根据实际情况设定,例如超参数可以设置为:max_depth=5,learning_rate=0.1,n_estimators=100,其中max_depth是树的最大深度为5,learning_rate是学习率,n_estimators是集成的小模型的个数。
具体的,可以通过XGBClassifier的fit方法通过上述超参数和特征进行有监督训练,就会得到一个训练好的XGBoost模型,训练好的XGBoost模型以特征为输入,以用来表示样本图像中包含的待分析对象的姿态是否满足预设姿态要求的标签为输出,例如以0或1为输出,如果输出为0就表示待分析对象的姿态不满足预设姿态要求,如果输出为1就表示待分析对象的姿态满足预设姿态要求。
步骤5:将训练后的XGBoost模型作为姿态确定模型。
在本实施例中,通过上述方式训练得到的姿态确定模型可以根据输入的特征确定图像中的待分析对象的姿态是否符合预设的姿态要求,方便快捷,准确度高。
在上述实施例的技术上,在进行模型训练时,可以对训练后的XGBoost模型的输出结果进行统计,通过该模型对大量图像(例如5530张)进行分类筛选(及分为姿态符合姿态要求的一类和姿态不符合姿态要求的一类),然后再把分类错误的进行人工粗筛一下,再对模型进行训练,提高模型的准确率。
一个具体的例子
以鱼为待分析对象对上述图像筛选方法进行描述,通过水下安装的图像采集装置,采集鱼的图像,将采集的图像作为待处理图像,对待处理图像进行筛选,如图7所示,具体的可以包括如下步骤:
S701.对待处理图像进行图像语义分割,得到mask,具体的通过预训练的图像分割模型对待处理图像进行图像语义分割。
S702.对包含有多条鱼的mask进行分割,使得每张mask中只包含一条鱼。
S703.通过分割后的mask进行不完整鱼剔除,因为不完整鱼只能出现在边界上,所以位置信息对于判断鱼的完整性非常重要,所以用mask来解决这个问题非常具有优势。
通过观察数据发现,姿势不合理的鱼中相机没有拍全的鱼大约占60%以上。
剔除规则:
设定一个初始值为0的flag,依次判断mask是否满足下述1-4四个条件,mask满足一个条件,flag的值就加1,如果四个条件都不满足则mask对应的flag的值就是0,如果四个条件都满足则mask对应的flag的值就是4;
四个条件分别为:
1.判断Mask中的待分析对象是否在边界(上下左右判断四次);
2.判断Mask中的待分析对象与边界的重合度是否大于100像素;
3.判断Mask中的待分析对象与边界的重合度是否大于60像素;
4.判断Mask中的待分析对象的宽高比是否大于3;
如果mask对应的flag>=2则删掉该mask。
S704.对保留下来的mask中的鱼进行转正。
S705.对转正后的每个鱼的mask进行头尾矫正,矫正过程如图6所示,其中(1)为转正前,(2)为转正后,(3)为头尾矫正后。
S706.对矫正后的mask进行等比例resize,具体的可以将宽度调整为400像素。
S707.对resize后的mask进行特征提取,具体的可以根据mask对应的像素矩阵,针对每一列求和,并用该列的和值除以mask对应的原始高度像素值(就是在resize之前的高度像素值),将得到的值作为该列的特征值,除以其原始高度像素值是为了做数据标准化,使得到的特征值在一定的标准化范围内,通过上述计算得到一个维度为400的特征向量,将该特征向量作为mask对应的特征。
S708.将特征输入预训练的姿态确定模型,也就是预训练的XGBoost模型。
S709.根据模型的输出判断mask中鱼的姿态是否合理,将姿态合理的鱼对应的mask保存,将姿态不合理的鱼对应的mask剔除。具体的姿态确定模型以0或1为输出,其中0表示mask中鱼的姿态不合理(也就是不符合预设的姿态要求),1表示mask中鱼的姿态合理(也就是符合预设的姿态要求),将输出为1的mask进行保存用于后续的生物分析,将输出为0的mask剔除。
其中XGBoost模型可以采用下述方式训练:
首先通过人工挑选包含合理姿势鱼的图像和包含不合理姿势鱼的图像,通过上述计算特征向量的方式计算每张图像对象的400维的特征向量,每个特征向量对应一个类别,0代表姿势不合理的鱼,1代表姿势合理的鱼。
设置XGBoost模型的超参数,max_depth=5,learning_rate=0.1,n_estimators=100。其中max_depth是树的最大深度为5,learning_rate是学习率,n_estimators是集成的小模型的个数。
通过XGBClassifier的fit方法通过上述超参数、有标签(即0或1)的400维特征向量对XGBoost模型进行训练,就会得到一个训练好的XGBoost模型。
本发明实施例还提供了一种图像筛选装置,如图8所示,该装置可以包括:
语义分割模块801,用于采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到掩膜图像;
矫正模块802,用于对所述掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像;
特征提取模块803,用于对所述标准掩膜图像进行特征提取,得到所述标准掩膜图像的特征;
姿态确定模块804,用于将所述标准掩膜图像的特征输入预训练的姿态确定模型,确定所述标准掩膜图像中包含的待分析对象的姿态是否满足预设的姿态要求;
最终图像确定模块805,用于确定姿态满足预设姿态要求的待分析对象所属的标准掩膜图像作为最终掩膜图像,以通过所述最终掩膜图像对所述待分析对象进行生物分析。
在一种可能的实现方式中,所述装置还包括拆分模块,具体用于:
在对所述掩膜图像中的所述待分析对象进行位置矫正处理之前,之前检测所述掩膜图像中包含的待分析对象的数量;
若所述数量大于1,则将所述掩膜图像拆分为对应数量张只包含单个待分析对象的掩膜图像。
在一种可能的实现方式中,所述装置还包括剔除模块,包括:
待剔除图像确定子模块,用于在对所述掩膜图像中的所述待分析对象进行位置矫正处理之前,确定包含的待分析对象不完整的待剔除掩膜图像;
删除子模块,用于将所述待剔除掩膜图像从所述掩膜图像中删除。
在一种可能的实现方式中,所述待剔除图像确定子模块具体用于:
获取掩膜图像中所述待分析对象的图像位置信息;
根据所述图像位置信息,判断所述掩膜图像是否满足预设剔除条件;
若所述掩膜图像满足所述预设剔除条件,则确定所述掩膜图像为包含的待分析对象不完整的待剔除掩膜图像。
在一种可能的实现方式中,所述矫正模块802具体用于:
对所述掩膜图像中的所述待分析对象进行图像转正处理;
判断图像转正处理后的所述待分析对象的首尾朝向是否满足预设首尾朝向;
若不满足,则将转正后的所述待分析对象的首尾朝向调整至所述预设首尾朝向,得到标准掩膜图像;
若满足,则确定图像转正处理后的掩膜图像为标准掩膜图像。
在一种可能的实现方式中,所述特征提取模块803具体用于:
将所述标准掩膜图像的尺寸进行宽高等比例调整,将宽度像素值调整至预设像素值;
生成尺寸调整后的所述标准掩膜图像对应的像素矩阵;
对所述像素矩阵中的每一列分别进行求和后除以所述标准掩膜图像对应的原始高度像素值,得到每一列对应的特征值;
将每一列对应的特征值共同组成的特征矩阵作为所述标准掩膜图像的特征。
在一种可能的实现方式中,所述装置还可以包括模型训练模块,该模块用于在进行图像筛选之前根据样本图像的特征和预设的模型超参数训练姿态确定模型,具体的可以用于:
获取多张包含待分析对象的样本图像,所述样本图像中包含的待分析对象已知是否确定姿态信息满足预设姿态要求;
对所述样本图像进行特征提取,得到每个样本图像的特征;
将所述样本图像的特征作为训练集;
通过所述训练集和预设的XGBoost模型的超参数,对所述XGBoost模型进行训练;
将训练后的XGBoost模型作为姿态确定模型。
在本申请另一实施例中,还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信;
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
采用预训练的图像分割模型对包含待分析对象的待处理图像进行图像语义分割,得到掩膜图像;
对所述掩膜图像中的所述待分析对象进行位置矫正处理,得到标准掩膜图像;
对所述标准掩膜图像进行特征提取,得到所述标准掩膜图像的特征;
将所述标准掩膜图像的特征输入预训练的姿态确定模型,确定所述标准掩膜图像中包含的待分析对象的姿态是否满足预设的姿态要求;
确定姿态满足预设姿态要求的待分析对象所属的标准掩膜图像作为最终掩膜图像,以通过所述最终掩膜图像对所述待分析对象进行生物分析。
上述电子设备提到的通信总线904可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口902用于上述电子设备与其他设备之间的通信。
存储器903可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器901可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请另一实施例中,还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理方法程序,所述数据处理方法程序被处理器执行时实现上述任一所述的图像筛选方法的步骤。
本发明实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。