发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种图像处理方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种图像处理方法,包括:
输入待处理禽蛋图像,所述待处理禽蛋图像中的禽蛋被遮挡物部分遮挡;
采用预先训练的禽蛋处理模型去除所述待处理禽蛋图像中的遮挡物,并生成所述禽蛋被遮挡部分,得到完整禽蛋图像;
输出所述完整禽蛋图像。
可选的,所述方法还包括:
根据所述完整禽蛋图像对所述禽蛋进行轮廓分析,得到轮廓分析结果。
可选的,所述方法还包括:
根据所述轮廓分析结果生成分拣指令,所述分拣指令用于控制分拣设备对所述禽蛋执行相应的分拣操作;
将所述分拣指令发送至所述分拣设备。
可选的,所述方法还包括:
当所述禽蛋被拾取设备拾取时,对所述禽蛋进行拍摄,得到禽蛋图像;
当所述禽蛋图像中包括至少两个禽蛋时,对所述禽蛋图像进行分割,得到包括单个禽蛋的禽蛋子图像;
在所述禽蛋子图像中识别所述禽蛋的轮廓信息;
根据所述轮廓信息确定所述禽蛋的最小外接矩形框;
根据所述最小外接矩形框对所述禽蛋子图像进行裁切,得到所述待处理禽蛋图像。
第二方面,本申请实施例提供了一种图像处理方法,包括:
获取禽蛋样本图像,所述禽蛋样本图像包括:被遮挡禽蛋样本图像和无遮挡禽蛋样本图像;
确定所述禽蛋样本图像对应的标注信息;
将所述禽蛋样本图像和所述标注信息输入预设生成对抗网络,分别训练根据所述被遮挡禽蛋样本图像生成仿真无遮挡禽蛋图像的生成子网络,以及区分所述仿真无遮挡禽蛋图像与所述无遮挡禽蛋样本图像的对抗子网络,得到所述生成子网络和所述对抗子网络的参数集合;
当所述参数集合符合预设条件时,根据所述生成子网络和所述对抗子网络得到禽蛋处理模型。
可选的,所述禽蛋样本图像符合以下至少一项要求:
图像尺寸相同,所述禽蛋样本图像之间禽蛋尺寸之差小于或等于第一预设值,所述禽蛋样本图像之间禽蛋角度之差小于或等于第二预设值。
可选的,所述获取禽蛋样本图像,包括:
获取禽蛋图像;
将所述禽蛋图像进行禽蛋对齐后,裁剪为包括所述禽蛋的预设尺寸的所述禽蛋样本图像;
和/或,
获取禽蛋样本图像,包括:
获取以相同拍摄参数拍摄的所述禽蛋样本图像。
可选的,所述确定禽蛋样本图像对应的标注信息,包括:
获取所述被遮挡禽蛋样本图像对应的第一输入标签和无遮挡禽蛋样本图像对应的第一生成标签。
可选的,所述获取禽蛋样本图像,包括:
获取同一禽蛋对应的样本对,所述样本对包括对同一禽蛋拍摄的被遮挡禽蛋样本图像和无遮挡禽蛋样本图像;
确定禽蛋样本图像对应的标注信息,包括:
获取样本对中所述被遮挡禽蛋样本图像对应的第二输入标签和所述无遮挡禽蛋样本图像对应的第二生成标签,所述第二输入标签和第二生成标签之间存在属于同一样本对的关联关系。
可选的,所述将禽蛋样本图像和标注信息输入预设生成对抗网络,包括:
将所述样本对、第二输入标签和第二生成标签同时输入所述预设生成对抗网络。
第三方面,本申请实施例提供了一种图像处理装置,包括:
输入模块,用于输入待处理禽蛋图像,所述待处理禽蛋图像中的禽蛋被遮挡物部分遮挡;
处理模块,用于采用预先训练的禽蛋处理模型去除所述待处理禽蛋图像中的遮挡物,并生成所述禽蛋被遮挡部分,得到完整禽蛋图像;
输出模块,用于输出所述完整禽蛋图像。
第四方面,本申请实施例提供了一种图像处理装置,包括:
获取模块,用于获取禽蛋样本图像,所述禽蛋样本图像包括:被遮挡禽蛋样本图像和无遮挡禽蛋样本图像;
确定模块,用于确定所述禽蛋样本图像对应的标注信息;
训练模块,用于将所述禽蛋样本图像和标注信息输入预设生成对抗网络,分别训练根据所述被遮挡禽蛋样本图像生成仿真无遮挡禽蛋图像的生成子网络,以及区分所述仿真无遮挡禽蛋图像与无遮挡禽蛋样本图像的对抗子网络,得到所述生成子网络和对抗子网络的参数集合;
生成模块,用于当所述参数集合符合预设条件时,根据所述生成子网络和对抗子网络得到禽蛋处理模型。
第五方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行计算机程序时,实现上述方法步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
通过禽蛋处理模型,可以对被遮挡禽蛋图像进行处理,得到与真实禽蛋图像相似度较高的完整禽蛋图像。这样,可基于处理后的禽蛋图像对禽蛋进行准确的轮廓分析。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决吸嘴遮挡禽类蛋造成形状信息损失的问题,本申请实施例提出了一种图像处理方法、装置、电子设备及存储介质,去除吸嘴并生成禽蛋被遮挡部分,得到完整禽蛋图像。
本申请实施例通过预先训练的神经网络模型对被遮挡禽蛋图像进行处理,得到无遮挡的完整禽蛋图像。
下面首先对本发明实施例所提供的一种图像处理方法进行介绍,通过该图像处理方法,训练得到用于去除遮挡并生成完整禽蛋图像的禽蛋处理模型。
图2为本申请实施例提供的一种图像处理方法的流程图。如图2所示,该方法包括以下步骤:
步骤S11,获取禽蛋样本图像,禽蛋样本图像包括:被遮挡禽蛋样本图像和无遮挡禽蛋样本图像;
步骤S12,确定禽蛋样本图像对应的标注信息;
步骤S13,将禽蛋样本图像和标注信息输入预设生成对抗网络,分别训练根据被遮挡禽蛋样本图像生成仿真无遮挡禽蛋图像的生成子网络,以及区分仿真无遮挡禽蛋图像与无遮挡禽蛋样本图像的对抗子网络,得到生成子网络和对抗子网络的参数集合;
步骤S14,当参数集合符合预设条件时,根据生成子网络和对抗子网络得到禽蛋处理模型。
本实施例中,通过生成对抗网络训练禽蛋处理模型,该禽蛋处理模型可以对被遮挡禽蛋图像进行处理,得到与真实禽蛋图像相似度较高的完整禽蛋图像。这样,可基于处理后的禽蛋图像对禽蛋进行准确度较高的轮廓分析。
本实施例中,可设定两个样本集,一个样本集A中存储被遮挡禽蛋样本图像,另一个样本集B中存储无遮挡禽蛋样本图像。分别从A、B样本集各选则一张图像输入预设生成对抗网络进行训练。
可选的,该预设生成对抗网络可以为GAN、CycleGAN、BIGGAN、DCGAN、pix2pix等等。
该预设生成对抗网络包括生成子网络(以下简称G)和对抗子网络(以下简称D)。其中,G用于根据被遮挡禽蛋样本图像(以下简称egg-a)生成仿真无遮挡禽蛋图像(以下简称egg-b1),D用于区分egg-b1与无遮挡禽蛋样本图像(以下简称egg-b),如计算两者的对抗损失,根据该对抗损失判断egg-b1与egg-b的相似度。
G的目标为尽量生成与egg-b相似的egg-b1,而D的目标为尽量将G生成的egg-b1像与egg-b区分开。因此,当D无法区分G生成的egg-b1与egg-b时,则可确定模型训练完毕。实际中,当训练得到的G和D的参数值不再发生明显变化时,根据G和D的参数值及网络结构生成禽蛋处理模型。
可选的,由于两个样本集中的图像可能不是一一对应的,即不是同一禽蛋对应的图像,因此,可以选择CycleGAN网络。如图3所示,CycleGAN网络是由两个镜像对称的GAN组成的环形网络,即CycleGAN网络包括两个生成子网络(G1和G2)和两个对抗子网络(D1和D2)。
G1根据egg-a生成egg-b1以及根据egg-a1生成egg-b2。G2根据egg-b生成egg-a1,并根据egg-b1生成egg-a2。D1计算egg-a与egg-a1之间的对抗损失loss1,以及egg-b1与egg-b2之间的对抗损失loss2。D2计算egg-b与egg-b1之间的对抗损失loss3,以及egg-a1与egg-a2之间的对抗损失loss4。根据这四个对抗损失计算一个总对抗损失lossS,根据lossS判断是否需要继续对G1和G2进行继续训练。当lossS最小或保持不变时,停止训练,输出基于CycleGAN网络得到的禽蛋处理模型。
本实施例中,为了提高模型训练的准确度,禽蛋样本图像需要符合一定的要求。可选的,禽蛋样本图像的图像尺寸相同,禽蛋样本图像之间禽蛋尺寸之差小于或等于第一预设值,禽蛋样本图像之间禽蛋角度之差小于或等于第二预设值。
因此,为了获得满足上述要求的禽蛋样本图像,步骤S11包括:获取禽蛋图像;将禽蛋图像进行禽蛋对齐后,裁剪为包括禽蛋的预设尺寸的禽蛋样本图像。
由于禽蛋图像由于拍摄距离、角度等拍摄参数不同,图像的大小、禽蛋在图像中的位置及角度可能也不同,因此,需要对禽蛋图像进行禽蛋对齐处理。禽蛋对齐包括:首先检测出禽蛋轮廓,抠取禽蛋后进行禽蛋对齐,即对禽蛋形状进行归一化处理,将禽蛋大小及角度调整为一致。最后根据预设尺寸对禽蛋图像进行剪裁,得到相同尺寸的禽蛋样本图像。
可选的,为了获得满足上述要求的禽蛋样本图像,步骤S11包括:获取以相同拍摄参数拍摄的禽蛋样本图像。即在拍摄时,以相同的拍摄距离、角度等对被遮挡和无遮挡的禽蛋进行拍摄。例如,可以固定相机位置,在水平桌面上画定一个固定位置,将带有吸嘴的禽蛋和不带吸嘴的禽蛋摆放在该固定位置,并保证摆放角度尽量保持一致,使用该相机进行拍摄,使得得到的禽蛋样本图像符合上述要求。
可选的,步骤S12包括:获取被遮挡禽蛋样本图像对应的第一输入标签和无遮挡禽蛋样本图像对应的第一生成标签。
例如,所有的被遮挡禽蛋样本图像对应的第一输入标签为P1,所有的无遮挡禽蛋样本图像对应的第一生成标签为P2。
可选的,为了进一步提高模型训练的准确度,可以采用一一对应的样本图像进行模型训练。步骤S11包括:获取同一禽蛋对应的样本对,样本对包括对同一禽蛋拍摄的被遮挡禽蛋样本图像和无遮挡禽蛋样本图像。这样,步骤S12包括:获取样本对中被遮挡禽蛋样本图像对应的第二输入标签和无遮挡禽蛋样本图像对应的第二生成标签,第二输入标签和第二生成标签之间存在同一样本对的关联关系。
例如,同一禽蛋对应的被遮挡禽蛋样本图像和无遮挡禽蛋样本图像在样本集A和B中的文件名相同,这样,将样本集名称及图像文件名作为禽蛋样本图像的标签,可以体现出样本对之间的关联关系。
上述步骤S13中,将样本对、第二输入标签和第二生成标签同时输入预设生成对抗网络。
本实施例中,通过样本对进行模型训练,使得模型训练准确度更高,训练速度更快。
通过本申请上述实施例,训练得到禽蛋处理模型,基于该模型,可实现去除禽蛋图像中的遮挡物,生成禽蛋被遮挡部分,得到完整禽蛋图像。
下面对本发明另一实施例所提供的一种图像处理方法进行介绍,通过该图像处理方法,去除禽蛋图像中的遮挡并生成完整禽蛋图像。
图4为本申请另一实施例提供的一种图像处理方法的流程图。如图4所示,该方法包括以下步骤:
步骤S21,输入待处理禽蛋图像,待处理禽蛋图像中的禽蛋被遮挡物部分遮挡;
步骤S22,采用预先训练的禽蛋处理模型去除待处理禽蛋图像中的遮挡物,并生成禽蛋被遮挡部分,得到完整禽蛋图像;
步骤S23,输出完整禽蛋图像。
本实施例中,通过禽蛋处理模型,可以对被遮挡禽蛋图像进行处理,得到与真实禽蛋图像相似度较高的完整禽蛋图像。这样,可基于处理后的禽蛋图像对禽蛋进行准确的轮廓分析。
可选的,该方法还包括:根据完整禽蛋图像对禽蛋进行轮廓分析,得到轮廓分析结果。
在获得完整禽蛋图像之后,由于获得了禽蛋的完整轮廓信息,因此可以进行如禽蛋大小头、蛋形信息等轮廓分析,提高禽蛋轮廓分析的准确性,使得可以准确确定禽蛋大小头或通过分析得到的蛋形信息判断禽蛋是否畸形。
可选的,该方法还包括:根据轮廓分析结果生成分拣指令,分拣指令用于控制分拣设备对禽蛋执行相应的分拣操作;将分拣指令发送至分拣设备。
本实施例中,通过轮廓分析结果,如禽蛋大头朝上还是小头朝上,禽蛋是否畸形,可以生成相应的分拣指令,将禽蛋分拣至设定好的位置。例如,对于小头朝上的禽蛋,移动到指定蛋盘,进行翻转操作;对于畸形蛋,则可直接移动到垃圾箱。从而,可以降低禽蛋运输过程中的破损率,提高禽蛋的孵化率。
可选的,该方法还包括:当禽蛋被拾取设备拾取时,对禽蛋进行拍摄,得到禽蛋图像;当第一禽蛋图像中包括至少两个禽蛋时,对禽蛋图像进行分割,得到包括单个禽蛋的禽蛋子图像;在禽蛋子图像中识别禽蛋的轮廓信息;根据轮廓信息确定禽蛋的最小外接矩形框;根据最小外接矩形框对禽蛋子图像进行裁切,得到待处理禽蛋图像。
本实施例中,拾取设备同时可拾取多个禽蛋,因此,拍摄得到的禽蛋图像中包括多个禽蛋。需要对其中每个禽蛋进行识别、裁切,得到仅包括单个禽蛋的待处理禽蛋图像,这样,后续可以准确地通过禽蛋处理模型去除遮挡物,生成被遮挡部分,得到完整禽蛋图像。
如图5所示,左数第一列为被吸嘴遮挡的禽蛋图像,左数第2列为采用现有技术的图像修复方法修复后的禽蛋图像,左数第3列为采用本申请实施例的图像处理方法生成的完整禽蛋图像,左数第4列为真实无遮挡的禽蛋图像。由此可见,采用本申请实施例的图像处理方法生成的完整禽蛋图像与真实无遮挡的禽蛋图像相似度较高,能够满足后续对禽蛋进行轮廓分析的精确度要求。
下述为本申请装置实施例,可以用于执行本申请方法实施例。
图6为本申请实施例提供的一种图像处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,该图像处理装置包括:
输入模块31,用于输入待处理禽蛋图像,待处理禽蛋图像中的禽蛋被遮挡物部分遮挡;
处理模块32,用于采用预先训练的禽蛋处理模型去除待处理禽蛋图像中的遮挡物,并生成禽蛋被遮挡部分,得到完整禽蛋图像;
输出模块33,用于输出完整禽蛋图像。
图7为本申请另一实施例提供的一种图像处理装置的框图,如图7所示,该图像处理装置包括:
获取模块41,用于获取禽蛋样本图像,禽蛋样本图像包括:被遮挡禽蛋样本图像和无遮挡禽蛋样本图像;
确定模块42,用于确定禽蛋样本图像对应的标注信息;
训练模块43,用于将禽蛋样本图像和标注信息输入预设生成对抗网络,分别训练根据被遮挡禽蛋样本图像生成仿真无遮挡禽蛋图像的生成子网络,以及区分仿真无遮挡禽蛋图像与无遮挡禽蛋样本图像的对抗子网络,得到生成子网络和对抗子网络的参数集合;
生成模块44,用于当参数集合符合预设条件时,根据生成子网络和对抗子网络得到禽蛋处理模型。
本申请实施例还提供一种电子设备,如图8所示,电子设备可以包括:处理器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)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。