禽蛋异常的识别方法、装置及系统、存储介质、电子装置
技术领域
本申请涉及智能养殖领域,具体而言,涉及一种禽蛋异常的识别方法、装置及系统、存储介质、电子装置。
背景技术
相关技术中的鸡蛋破损检测方案主要是利用光学照射进行检测,具体步骤如下:
1)将鸡蛋放置在传送带上,鸡蛋在传送带、辅助棍以及输送链作用下逐个进入输送链;
2)鸡蛋在输送链传输过程中灯管发光照射鸡蛋,检测装置对鸡蛋进行检测鉴别,若鸡蛋完好则经过筛选装置进入输送链,如检测装置检测到鸡蛋破损则筛选装置内的电控挡板就打开,鸡蛋落入一级暂存箱,完好的鸡蛋进入输送链;
3)经输送链落入重力感应器,重力感应器对鸡蛋进行重力检测分类,若鸡蛋重量达标则鸡蛋从进蛋口落入三级暂存箱,不达标则电控挡板打开,鸡蛋落入二级暂存箱。
相关技术的方案基本上是采用光学的方法,在养鸡场等大型场景下,效率低下;光学检测受物理条件影响巨大,比如光的强弱,介质的不同等等,检测的准确率不能得到根本的保证。类似地,在鸭蛋、鹅蛋等禽蛋中也存在类似地问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种禽蛋异常的识别方法、装置及系统、存储介质、电子装置,以至少解决相关技术中对禽蛋异常的检测准确率较低的技术问题。
根据本申请实施例的一个方面,提供了一种禽蛋异常的识别方法,包括:获取识别请求,其中,识别请求用于请求识别目标禽蛋的异常类型;响应于识别请求,获取对目标禽蛋进行采集得到的第一图像;利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征。
根据本申请实施例的另一方面,还提供了一种禽蛋异常的识别装置,包括:第一获取单元,用于获取识别请求,其中,识别请求用于请求识别目标禽蛋的异常类型;第二获取单元,用于响应于识别请求,获取对目标禽蛋进行采集得到的第一图像;识别单元,用于利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征。
根据本申请实施例的另一方面,还提供了一种禽蛋异常的识别系统,包括:图像采集设备,用于采集待处理的第一图像,其中,第一图像是对目标禽蛋进行采集得到的图像;服务器,用于在接收到获取识别请求的情况下,利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征,其中,识别请求用于请求识别目标禽蛋的异常类型。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,使用第一图像在空间维度上的特征和通道维度上的特征来确定异常类型,提供了基于两步Attention的禽蛋破损检测方案,加入空间注意机制和通道注意机制来优化分割结果,可以解决相关技术中对禽蛋异常的检测准确率较低的技术问题,进而达到提高禽蛋异常的检测准确率的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的禽蛋异常的识别方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的禽蛋异常的识别方法的流程图;
图3是根据本申请实施例的一种可选的网络模型的示意图;
图4是根据本申请实施例的一种可选的模型中网络层的示意图;
图5是根据本申请实施例的一种可选的模型中网络层的示意图;
图6是根据本申请实施例的一种可选的模型中网络层的示意图;
图7是根据本申请实施例的一种可选的模型中网络层的示意图;
图8是根据本申请实施例的一种可选的禽蛋异常的识别装置的示意图;以及,
图9是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种禽蛋异常的识别方法的方法实施例。
可选地,在本实施例中,上述禽蛋异常的识别方法可以应用于如图1所示的由图像采集设备101和服务器103所构成的硬件环境中。如图1所示,图像采集设备用于采集待处理的所述目标禽蛋的第一图像,服务器用于在接收到获取识别请求的情况下,利用目标模型识别出所述第一图像中所述目标禽蛋的异常类型,所述目标模型在识别出所述目标禽蛋的异常类型时使用了所述第一图像在空间维度上的特征和通道维度上的特征,服务器103通过网络与图像采集设备101进行连接,可用于为图像采集设备101提供图像识别服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网。
本申请实施例的禽蛋异常的识别方法可以由服务器103来执行,也可以由服务器103和图像采集设备101共同执行。图2是根据本申请实施例的一种可选的禽蛋异常的识别方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取识别请求,识别请求用于请求识别目标禽蛋的异常类型。
上述异常类型可为破损(或称无损检测)、颜色异常、形状异常等异常中的至少之一,后续以异常类型为破损为例进行描述;上述禽蛋可以为鸡蛋、鸭蛋、鹅蛋、龟蛋等蛋类,后续以禽蛋为鸡蛋为例进行描述。
无损检测是指在不损害或不影响被检测对象使用性能,不伤害被检测对象内部组织的前提下,利用材料内部结构异常或缺陷存在引起的热、声、光、电、磁等反应的变化,以物理或化学方法为手段,借助现代化的技术和设备器材,对试件内部及表面的结构、性质、状态及缺陷的类型、性质、数量、形状、位置、尺寸、分布及其变化进行检查和测试的方法。
步骤S204,响应于识别请求,获取对目标禽蛋进行采集得到的第一图像。
步骤S206,利用目标模型识别出第一图像中目标禽蛋的异常类型,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征,然后通过语义分割确定异常类型。
语义分割是在像素级别上的分类,属于同一类的像素都要被归为一类,因此语义分割是从像素级别来理解图像的,比如说对破损鸡蛋进行语义分割,需要明确鸡蛋破损处的位置。在深度学习方法流行之前,纹理基元森林Texton Forest和基于随机森林分类器等语义分割方法是用得比较多的方法,不过在深度卷积网络流行之后,深度学习方法比传统方法提升了很多,深度学习方法在语义分割上得到了巨大成功,深度学习方法解决语义分割问题可以概括为几种思路,如Patch classification、全卷积方法、encoder-decoder架构、空洞卷积、条件随机场等。
相关技术中对禽蛋进行破损检测,基本上依靠光学检测,效率低且准确率得不到保证,在本申请的技术方案中,通过上述步骤,使用第一图像在空间维度上的特征和通道维度上的特征来确定异常类型,提供了基于两步Attention的禽蛋破损检测方案,加入空间注意机制和通道注意机制来优化分割结果,可以解决相关技术中对禽蛋异常的检测准确率较低的技术问题,进而达到提高禽蛋异常的检测准确率的技术效果。下面结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S202提供的技术方案中,可以在程序中设置定时器,定时触发(如每5秒、每1秒触发一次)识别请求,也可以在需要时触发(如用户主动触发)识别请求,以请求识别目标禽蛋的异常类型。
在步骤S204提供的技术方案中,响应于识别请求,获取对目标禽蛋进行采集得到的第一图像,此处的“获取”可以是利用图像采集设备实时采集禽蛋的第一图像,也可以是从数据库获取图像采集设备预先采集并保存的禽蛋的第一图像。
在步骤S206提供的技术方案中,利用目标模型识别时,使用了第一图像在空间维度上的特征和通道维度上的特征,从而确定第一图像中目标禽蛋的异常类型。
上述目标模型是预先训练好的语义分割神经网络模型,如Enet等模型(后续以语义分割神经网络模型为Enet模型为例进行说明),目标模型的网络结构如图3所示。
可选地,利用目标模型识别出第一图像中目标禽蛋的异常类型包括步骤S2062-步骤S2066:
步骤S2062,通过目标模型中的第一网络对第一图像执行压缩操作,得到第二图像,其中,压缩操作包括消除第一图像中的视觉冗余信息。
一种可选的第一网络如图4所示,也可称为初始层initial层,为了满足实际应用中对方案的时效性极高的要求,Enet通过减少浮点运算解决了语义分割模型时效性差的问题,通过目标模型中的第一网络对第一图像执行压缩操作,得到第二图像时,通过第一网络的卷积层(如图4所示的大小为3*3、步长stride为2的卷积核)对第一图像执行卷积操作,并通过第一网络的池化层MaxPooling对第一图像执行池化操作;通过第一网络的拼接层Concat将执行卷积操作得到的结果和执行池化操作的结果拼接起来,得到第二图像。上述操作可消除第一图像中的视觉冗余信息(描述信源的数据是信息和数据冗余之和,即,数据=信息+数据冗余,视觉冗余是图像数据中普遍存在的一种数据冗余),过滤图像中的视觉冗余信息后,更加有利于后续的异常识别。
步骤S2064,通过目标模型中的第二网络对第二图像进行语义分割、并提取第二图像中携带的空间维度上的特征和通道维度上的特征,得到第三图像。
一种可选的第二网络中的单元如图5所示,第二网络可以包括多个(如5个)如图5所示的瓶颈结构单元(其中一部分用来编码一部分用来解码),在通过目标模型中的第二网络对第二图像进行语义分割、并提取第二图像中携带的空间维度上的特征和通道维度上的特征,得到第三图像时,通过第二网络中的编码网络对第二图像进行特征编码处理,得到第四图像;通过第二网络中的解码网络对第四图像进行解码处理,得到第三图像,其中,第三图像中携带有解码网络对第四图像进行语义分割得到的信息和提取出的空间维度上的特征和通道维度上的特征。如在Enet中,五个瓶颈结构中包括较大的编码器(如前三个瓶颈结构)和较小的解码器(如后两个瓶颈结构),在不明显影响分割精度的情况下尽可能地缩小了网络的体积,减少了参数数量。
继续以Enet为例,瓶颈结构如图5所示,瓶颈模块可包括:瓶颈模块可包括:1*1的投影层,用于降低特征的维度;主卷积层(conv),用于进行特征卷积;1*1的扩展层;在所有卷积层之间放置批量标准化Regularizer和PReLU。如果瓶颈模块是下采样,则可将最大池化层(MaxPooling)添加到主分支,相反如果是上采样,则将填充层Padding添加到主分支。第一个1*1的投影可被替换为2*2卷积,步长stride=2,对于Regularizer(正则化器),可使用Spatial Dropout。在图5中,可以进行批量归一化BN处理,PReLU表示带参数的修正线性单元激活函数;MaxPooling表示最大池化。
在Attention机制中,可将源数据中的构成元素看成是由一系列的<Key,Value>数据对构成,此时给定目标中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。
可选地,通过第二网络中的解码网络对第四图像进行解码处理,得到第三图像包括按照如下公式确定第三图像中每列像素在空间维度上的像素值:
其中,
E
j表示第三图像中第j列某行像素在空间维度上的像素值,是空间维度的系数,A
j表示第四图像A中第j列相同行像素的像素值,B、C、D是利用不同的卷积核对第四图像A进行处理得到的图像,B
i表示图像B中第i行像素的像素值,C
j表示图像C中第j列像素的像素值,D
i表示图像D中第i行像素的像素值,N表示i的最大取值,s
ji表示根据图像B和图像C确定的图像s中第j列第i行的像素的像素值。
对于单个像素,还可以采用如下公式来描述:Eji=(sji*ji)+ji,Eji表示第三图像中第j列i行像素在空间维度上的像素值(或称空间维度的特征值),Dji表示图像D中第j列i行像素的像素值。
sji是B矩阵转置后和C矩阵相乘的Softmax结果矩阵的第i行和第j列的元素,(B、C、D是来自于A通过1*1卷积得到的),这步是为了计算空间Attention矩阵中的Query和Key的相似度矩阵的每个元素。
D矩阵通过reshape变换操作(如矩阵变维)变成(H*W)*(H*W)矩阵并和上面的Attention矩阵的每个元素sji相乘,相当于对每个位置赋予了权重(再乘上α系数),再加上原始的矩阵A,就得到最终空间attention的结果了。
可选地,通过第二网络中的解码网络对第四图像进行解码处理,得到第三图像包括按照如下公式确定第三图像中每列像素在通道维度上的像素值:
其中,
E
j表示第三图像中第j列像素在通道维度上的像素值,是通道维度的系数,A
j表示第四图像A中第j列像素的像素值,A
i表示第四图像A的第i行像素的像素值,C表示i的最大取值,x
ji表示图像x中第j列第i行的像素的像素值,exp为指数函数。
对于单个像素,还可以采用如下公式来描述:Eji=β(xji*ji)+Aji,Eji表示第三图像中第j列i行像素在通道维度上的像素值(或称通道维度的特征值),xji是计算矩阵Areshape(矩阵变维)后得到的Ai和Aj的矩阵乘积的softmax结果(就是每个区域的注意力权值),用于计算不同通道间的相似程度的矩阵的每个元素,再乘以β系数,再加上原始矩阵A,就得到了最终的通道Attention的结果了。
步骤S2066,通过目标模型中的第三网络对第三图像进行异常类型的识别,确定目标禽蛋的异常类型。
上述的第三网络可以为神经网络模型中的分类层,或称全连接层,可以确定出禽蛋的具体异常类型,如是否破损。
作为一种可选的实施例,下面以禽蛋为鸡蛋为例详述本申请的技术方案。相关技术中鸡蛋检测方案基本上是采用光学的方法,在养鸡场等大型场景下,效率低下;光学检测受物理条件影响巨大,比如光的强弱,介质的不同等等,检测的准确率不能得到根本的保证;本申请可针对破损鸡蛋检测场景,实现了一种基于两步Attention的改进Enet网络鸡蛋破损检测算法,有效的提升检测效率,而且准确率高。
本申请提出的基于两步Attention的改进Enet网络鸡蛋破损检测方案,可解决鸡蛋破损检测问题,解决相关技术中效率低且准确率得不到保证的问题。本方案主要是基于Enet的语义分割网络,在解码端加入空间注意机制和通道注意机制来优化分割结果,主要步骤包括:
步骤1,首先是图像采集,将待检测的鸡蛋通过照相设备采集图片数据,进行图像预处理,之后进入网络编码阶段。
步骤2,编码阶段主要是通过一系列卷积操作和下采样操作,得到高层语义特征。
一种可选的编码部分如表1所示。其中initial部分和bottleneck的结构如图4和图5所示:Enet的initial部分先把图像的分辨率压缩了,大大提高了整个网络的运行速度,这背后的理论是视觉信息在空间上有很多冗余,所以可以被压缩到一个更有效的特征来代替。bottleneck部分采用的是并联结构,在非下采样层没有左边分支的最大池化MaxPooling和填充Padding,在下采样层左侧的分支就变成了MaxPooling和Padding,这样的并行结构不仅有助于特征的融合而且能够加速前向运算的速度。
表1
表1中downsampling表示下采样,dilated表示膨胀处理,asymmetric表示非对称卷积处理。
步骤3,在Enet解码阶段可通过对图5中左分支的MaxPooling替换为Maxunpooling,进行两次上采样,最后在用反卷积进行最后一次上采样使得特征图和原图大小相同,编码器在语义分割中是占主要部分的,所以解码器相对简单只是为了微调编码器的结果,一种可选的解码部分如表2所示。
表2
表2中的upsampling表示上采样,fullconv表示全连接层,三列分别对应名称、类型以及输出大小。
步骤4,本方案主要改进了Enet的解码部分,也是就是Enet的原始网络除了最后一次反卷积以外,其他的位置不变。这样做是因为做破损检测的时候有很多情况是多位置破损的,但是破损的特征是相近的,但是在语义分割的结果上很难有效的呈现出来,所以在解码部分附加了两种类型的注意力模块,分别在空间维度和通道维度上对语义依赖关系进行建模。位置注意模块通过对所有位置的特征进行加权和,有选择地聚合每个位置的特征。不管距离远近,相似的特征都是相互关联的。同时,通道注意模块通过整合所有通道图的相关特征,选择性地强调相互依赖的通道图。通过对两个注意模块的输出进行求和,进一步改进了特征表示,使分割结果更加精确。
步骤4,空间Attention模块,位置注意力机制模块如图6所示,B、C、D由A卷积得到,维度均为C*H*W。将B、C、D都降维reshape到C*N(N=H*W);然后将C的转置于B相乘到N*N的矩阵,对于矩阵的每一个点进行softmax处理,例如对于i行j列的点(i,j),softmax考虑的是i行的每一个点,然后将D与softmax后的结果相乘并reshape到C*H*W,与A进行elementwise(即进行特征融合)。以上操作如下式所示:
步骤5,通道Attention模块如图7所示,在通道注意力机制中,B与C的转置相乘C*C的矩阵,然后针对C*C的矩阵进行softmax操作,具体如下是所示:
在本申请的技术方案中,利用两步Attention对ENet网络进行解码,没有增加多少参数量仍可以实时运行,效率高,利用在E-NET后加入两步Attention,可以有效的聚合上下文信息,有利于提高破损检测的精度;解决E-NET网络对裂缝边缘检测出现的像素块问题。本方案可以有效地解决破损鸡蛋检测问题,效率高,准确率优于相关技术中的其他方案。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述禽蛋异常的识别方法的禽蛋异常的识别装置。图8是根据本申请实施例的一种可选的禽蛋异常的识别装置的示意图,如图8所示,该装置可以包括:
第一获取单元801,用于获取识别请求,其中,识别请求用于请求识别目标禽蛋的异常类型;
第二获取单元803,用于响应于识别请求,获取对目标禽蛋进行采集得到的第一图像;
识别单元805,用于利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征。
需要说明的是,该实施例中的第一获取单元801可以用于执行本申请实施例中的步骤S202,该实施例中的第二获取单元803可以用于执行本申请实施例中的步骤S204,该实施例中的识别单元805可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,使用第一图像在空间维度上的特征和通道维度上的特征来确定异常类型,提供了基于两步Attention的禽蛋破损检测方案,加入空间注意机制和通道注意机制来优化分割结果,可以解决相关技术中对禽蛋异常的检测准确率较低的技术问题,进而达到提高禽蛋异常的检测准确率的技术效果。
可选地,识别单元包括:压缩模块,用于通过目标模型中的第一网络对第一图像执行压缩操作,得到第二图像,其中,压缩操作包括消除第一图像中的视觉冗余信息;编解码模块,用于单元,用于通过目标模型中的第二网络对第二图像进行语义分割、并提取第二图像中携带的空间维度上的特征和通道维度上的特征,得到第三图像;识别模块,用于通过目标模型中的第三网络对第三图像进行异常类型的识别,确定目标禽蛋的异常类型。
可选地,编解码模块在通过目标模型中的第二网络对第二图像进行语义分割、并提取第二图像中携带的空间维度上的特征和通道维度上的特征,得到第三图像时,可通过第二网络中的编码网络对第二图像进行特征编码处理,得到第四图像;通过第二网络中的解码网络对第四图像进行解码处理,得到第三图像,其中,第三图像中携带有解码网络对第四图像进行语义分割得到的信息和提取出的空间维度上的特征和通道维度上的特征。
可选地,编解码模块还可用于:通过第二网络中的解码网络对第四图像进行解码处理,得到第三图像包括按照如下公式确定第三图像中每列像素在空间维度上的像素值:
其中,
E
j表示第三图像中第j列像素在空间维度上的像素值,是空间维度的系数,A
j表示第四图像A中第j列像素的像素值,B、C、D是利用不同的卷积核对第四图像A进行处理得到的图像,B
i表示图像B中第i行像素的像素值,C
j表示图像C中第j列像素的像素值,D
i表示图像D中第i行像素的像素值,N表示i的最大取值,s
ji表示根据图像B和图像C确定的图像s中第j列第i行的像素的像素值。
可选地,编解码模块还可用于:通过第二网络中的解码网络对第四图像进行解码处理,得到第三图像包括按照如下公式确定第三图像中每列像素在通道维度上的像素值:
其中,
E
j表示第三图像中第j列像素在通道维度上的像素值,是通道维度的系数,A
j表示第四图像A中第j列像素的像素值,A
i表示第四图像A的第i行像素的像素值,C表示i的最大取值,x
ji表示图像x中第j列第i行的像素的像素值。
可选地,压缩模块还可用于:通过第一网络的卷积层对第一图像执行卷积操作,并通过第一网络的池化层对第一图像执行池化操作;通过第一网络的拼接层将执行卷积操作得到的结果和执行池化操作的结果拼接起来,得到第二图像。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述禽蛋异常的识别方法的服务器或终端。
图9是根据本申请实施例的一种终端的结构框图,如图9所示,该终端可以包括:一个或多个(图9中仅示出一个)处理器901、存储器903、以及传输装置905,如图9所示,该终端还可以包括输入输出设备907。
其中,存储器903可用于存储软件程序以及模块,如本申请实施例中的禽蛋异常的识别方法和装置对应的程序指令/模块,处理器901通过运行存储在存储器903内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的禽蛋异常的识别方法。存储器903可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器903可进一步包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置905用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置905包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置905为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器903用于存储应用程序。
处理器901可以通过传输装置905调用存储器903存储的应用程序,以执行下述步骤:
获取识别请求,其中,识别请求用于请求识别目标禽蛋的异常类型;
响应于识别请求,获取对目标禽蛋进行采集得到的第一图像;
利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征。
处理器901还用于执行下述步骤:
通过目标模型中的第一网络对第一图像执行压缩操作,得到第二图像,其中,压缩操作包括消除第一图像中的视觉冗余信息;
通过目标模型中的第二网络对第二图像进行语义分割、并提取第二图像中携带的空间维度上的特征和通道维度上的特征,得到第三图像;
通过目标模型中的第三网络对第三图像进行异常类型的识别,确定目标禽蛋的异常类型。
采用本申请实施例,提供了一种“获取识别请求,其中,识别请求用于请求识别目标禽蛋的异常类型;响应于识别请求,获取对目标禽蛋进行采集得到的第一图像;利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征”的方案,使用第一图像在空间维度上的特征和通道维度上的特征来确定异常类型,提供了基于两步Attention的禽蛋破损检测方案,加入空间注意机制和通道注意机制来优化分割结果,可以解决相关技术中对禽蛋异常的检测准确率较低的技术问题,进而达到提高禽蛋异常的检测准确率的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行禽蛋异常的识别方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取识别请求,其中,识别请求用于请求识别目标禽蛋的异常类型;
响应于识别请求,获取对目标禽蛋进行采集得到的第一图像;
利用目标模型识别出第一图像中目标禽蛋的异常类型,其中,目标模型在识别出目标禽蛋的异常类型时使用了第一图像在空间维度上的特征和通道维度上的特征。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
通过目标模型中的第一网络对第一图像执行压缩操作,得到第二图像,其中,压缩操作包括消除第一图像中的视觉冗余信息;
通过目标模型中的第二网络对第二图像进行语义分割、并提取第二图像中携带的空间维度上的特征和通道维度上的特征,得到第三图像;
通过目标模型中的第三网络对第三图像进行异常类型的识别,确定目标禽蛋的异常类型。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。