天空区域预测模型的训练方法和识别天空区域的方法与流程

文档序号:18942492发布日期:2019-10-23 01:16阅读:278来源:国知局
天空区域预测模型的训练方法和识别天空区域的方法与流程

本发明涉及图像处理技术领域,尤其涉及一种天空区域预测模型的训练方法和识别天空区域的方法。



背景技术:

目前,识别图像中的天空区域(也可以叫做天空分割)可以采用阈值法,即根据天空场景的颜色等特征,根据阈值提取天空区域。这种方案只考虑像素特征,不适用于复杂场景,鲁棒性不高。天空分割也可以采用边缘检测法,即使用梯度算子等特征检测区域的边缘,提取天空区域。这种方案得到的边缘较为复杂,不能确保连续性和闭合性。还有一种方法是区域生长法,即选择种子像素,通过与近邻像素合并生长得到天空区域,这种方案可能会破坏区域边界。



技术实现要素:

本发明实施例提供一种识别天空区域的方法、装置、设备和存储介质,以解决现有技术中的一个或多个技术问题。

第一方面,本发明实施例提供了一种天空区域预测模型的训练方法,包括:

获取多张样本图像,样本图像中包括天空区域;

利用多张样本图像训练轻量级卷积神经网络模型,得到天空区域预测模型,天空区域预测模型用于识别目标图像中的天空区域。

在一种实施方式中,轻量级卷积神经网络模型包括多层编码器和多层解码器,编码器用于从原始大小的样本图像中提取低纬度特征,解码器用于将低纬度特征恢复到原始大小的输出图像。

在一种实施方式中,获取多张样本图像,包括:

从样本视频中获取多张第一天空场景图像;

将多个云层素材分别与第二天空场景图像融合,生成多张生成第三天空场景图像;

将第一天空场景图像和第三天空场景图像作为样本图像。

在一种实施方式中,利用多张样本图像训练轻量级卷积神经网络模型,得到天空区域预测模型,包括:

将训练好的轻量级卷积神经网络模型作为待选预测模型;

将待测图像输入待选预测模型,得到与待测图像对应的预测数据;

在所述预测数据错误的情况下获取待测图像的天空场景类型;

基于多张与天空场景类型对应的样本图像,训练待选预测模型,得到天空区域预测模型。

第二方面,本发明实施例提供一种识别天空区域的方法,包括:

获取目标图像,目标图像中包括天空区域;

根据天空区域预测模型识别目标图像中的天空区域,天空区域预测模型根据上述任一项的训练方法得到。

在一种实施方式中,获取目标图像,包括:

采集目标视频;

从目标视频中获取目标图像。

在一种实施方式中,根据天空区域预测模型识别目标图像中的天空区域,包括:

将从目标视频中获取的各目标图像分别输入天空区域预测模型,得到与各目标图像分别对应的多个天空区域预测结果;

基于各目标图像的时序特征,使用光流法对各天空区域预测结果进行后处理,得到对各目标图像中的天空区域的识别结果。

第三方面,本发明实施例提供一种天空区域预测模型的训练装置,包括:

样本图像获取模块,用于获取多张样本图像,样本图像中包括天空区域;

训练模块,用于利用多张样本图像训练轻量级卷积神经网络模型,得到天空区域预测模型,天空区域预测模型用于识别目标图像中的天空区域。

在一种实施方式中,轻量级卷积神经网络模型包括多层编码器和多层解码器,编码器用于从原始大小的样本图像中提取低纬度特征,解码器用于将低纬度特征恢复到原始大小的输出图像。

在一种实施方式中,训练模块包括:

待选预测模型确定子模块,用于将训练好的轻量级卷积神经网络模型作为待选预测模型;

输入子模块,用于将待测图像输入待选预测模型,得到与待测图像对应的预测数据;

获取子模块,用于在预测数据错误的情况下获取待测图像的天空场景类型;

训练子模块,用于基于多张与天空场景类型对应的样本图像,训练待选预测模型,得到天空区域预测模型。

第四方面,本发明实施例提供一种识别天空区域的装置,包括:

目标图像获取模块,用于获取目标图像,目标图像中包括天空区域;

识别模块,用于根据天空区域预测模型识别目标图像中的天空区域,天空区域预测模型根据上述任一项的训练方法得到。

第五方面,本发明实施例提供了一种天空区域预测模型的训练设备,天空区域预测模型的训练设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,天空区域预测模型的训练设备的结构中包括处理器和存储器,存储器用于存储支持识别天空区域的设备执行上述天空区域预测模型的训练方法的程序,处理器被配置为用于执行存储器中存储的程序。天空区域预测模型的训练设备还可以包括通信接口,用于与其他设备或通信网络通信。

第六方面,本发明实施例提供了一种识别天空区域的设备,识别天空区域的设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,识别天空区域的设备的结构中包括处理器和存储器,存储器用于存储支持识别天空区域的设备执行上述识别天空区域的方法的程序,处理器被配置为用于执行存储器中存储的程序。识别天空区域的设备还可以包括通信接口,用于与其他设备或通信网络通信。

第七方面,本发明实施例提供了一种计算机可读存储介质,用于存储天空区域预测模型的训练方法和/或识别天空区域的设备所用的计算机软件指令,其包括用于执行上述天空区域预测模型的训练设备和/或识别天空区域的设备所涉及的程序。

本发明实施例中,可以采用天空区域预测模型识别图像中的天空区域,由于天空区域预测模型是基于轻量级卷积神经网络训练得到,进而可以快速有效地识别天空区域,满足移动终端的实时性要求。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1示出根据本发明实施例的天空区域预测模型的训练方法的流程图。

图2示出了本发明实施例中的轻量级卷积神经网络模型的一个示例的示意图。

图3示出根据本发明实施例一种实施方式的天空区域预测模型的训练方法的流程图。

图4示出根据本发明实施例的识别天空区域的方法的流程图。

图5示出根据本发明实施例的天空区域预测模型的训练装置的结构框图。

图6示出根据本发明实施例一种实施方式的天空区域预测模型的训练装置的结构框图。

图7示出根据本发明实施例的识别天空区域的装置的结构框图。

图8示出根据本发明实施例的天空区域预测模型的训练设备的结构框图。

图9示出根据本发明实施例的识别天空区域的设备的结构框图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

图1示出根据本发明实施例的天空区域预测模型的训练方法的流程图。如图1,该方法可以包括:

步骤s101、获取多张样本图像,样本图像中包括天空区域。

在一个示例中,可以随机采集多张包括天空区域的图像作为样本图像。在另一个示例中,可以从移动终端中采集包括天空区域图像流的样本视频,然后从样本视频中抽取多帧图像作为样本图像。

在一种实施方式中,在步骤s101中可以包括:从样本视频中获取多张第一天空场景图像;将多个特征素材分别与第二天空场景图像融合,生成多张生成第三天空场景图像;将第一天空场景图像和第三天空场景图像作为样本图像。

也就是说,用于训练的样本图像可以有多种数据来源。例如:可以从样本视频中随机抽取多帧图像作为第一天空场景图像;基于特殊场景针对性地获取多张与这些特殊场景对应的第三天空场景图像。其中,特殊场景可以包括恶劣天气场景(如暗夜场景、阴天场景或大雾场景等)和带云层场景。对于恶劣天气场景可以增加与这些场景对应的样本图像的数量。对于带云层场景,可以将多个云层特征素材分别与第二天空场景图像(即与普通场景对应的图像)融合,进而生成第三天空场景图像。在一个示例中,可以采用泊松融合方法将云层特征素材与第二天空场景图像融合。

步骤s102、利用多张样本图像训练轻量级卷积神经网络模型,得到天空区域预测模型,天空区域预测模型用于识别目标图像中的天空区域。

在一个示例中,可以对样本图像中的天空区域进行人工标注,进而得到与样本图像对应的标注数据。基于多组样本图像及其对应的标注数据训练轻量级卷积神经网络模型。例如:将样本图像输入轻量级卷积神经网络模型,得到与该样本图像对应的预测数据;计算该样本图像对应的标注数据与预测数据之间的损失值;根据损失值,调整轻量级卷积神经网络模型的参数。基于多组样本图像及其对应的标注数据训练轻量级卷积神经网络模型,直到损失值达到预设条件,进而得到天空区域预测模型。

在一种实施方式中,轻量级卷积神经网络模型包括多层编码器和多层解码器,编码器用于从原始大小的样本图像中提取低纬度特征,解码器用于将低纬度特征恢复到原始大小的输出图像。

图2示出了本发明实施例中的轻量级卷积神经网络模型的一个示例的示意图。如图2所示,本发明实施例的轻量级卷积神经网络模型可以包括编码器(encoder)和解码器(decoder)。输入层(input)用于输入原始大小的样本图像,并经过卷积层(conv)的卷积运算后输入encoder;encoder可以包括多个卷积的单元模块(block),用于将样本图像从原始大小经过各种卷积得到低纬度特征;decoder可以包括多个反卷积的block,用于经过各种反卷积等将低维度特征恢复到原始大小;输出层(output)输出恢复到原始大小的输出图像以及对样本图像中的天空区域的预测数据,即天空分割图像。

在一个示例中,本发明实施例的轻量级卷积神经网络模型可以包括4层编码器和4层解码器。在一种实施方式中,本发明实施例的轻量级卷积神经网络模型中,编码器和解码器的多个block可以采用shufflenet中的单元模块(shufflenetblock)。

本发明实施例中,可以基于天空区域预测模型对目标图像中的天空区域进行识别,由于天空区域预测模型是基于轻量级卷积神经网络模型训练得到,进而可以快速有效地识别天空区域,满足移动终端的实时性要求。需要说明的是,轻量级卷积神经网络模型也可以采用其他神经网络搭建,本发明不作限定,只要可以使搭建的模型满足轻量化或小型化的条件,使得天空区域预测模型可以满足移动终端的实时性要求即可。

在一种实施方式中,如图3所示,在步骤s102中可以包括:

步骤s301、将训练好的轻量级卷积神经网络模型作为待选预测模型;

步骤s302、将待测图像输入待选预测模型,得到与待测图像对应的预测数据;

步骤s303、在预测数据错误的情况下获取待测图像的天空场景类型;

步骤s304、基于多张与天空场景类型对应的样本图像,训练待选预测模型,得到天空区域预测模型。

本发明实施例中,可以采集多张包括天空区域的图像作为待测图像。待测图像可以选自于样本图像,也可以采用其他途径获取,本发明实施例不作限定。

训练好的轻量级卷积神经网络虽然也可以用作天空场景预测模型,但为了提升预测效果和准确度,可以将训练好的轻量级卷积神经网络作为待选预测模型,训练待选预测模型以得到天空场景预测模型。

将待测图像输入待选预测模型,待选预选模型输出与待测图像对应的预测数据。可以人工识别预测数据是否错误,也可以根据重叠度(intersectionoverunion,iou)测量标准对预测数据进行衡量,并将iou低于预设值的预测数据判定为错误。

对于预测数据错误的待测图像,可以根据该待测图像的天空场景类型采集或生成多张与该天空场景类型对应的样本图像,并基于这些样本图像,采用与上述训练方法类似的方法训练待测模型,进而得到天空场景预测模型。

图4示出了本发明实施例的识别天空区域的方法的流程图。如图4所示,该方法可以包括:

步骤s401、获取目标图像,目标图像中包括天空区域。

步骤s402、根据天空区域预测模型识别目标图像中的天空区域,天空区域预测模型可以根据上述训练方法得到。

在一个应用场景中,用户基于移动终端拍摄或采集包括天空区域图像流的目标视频。本发明实施例的方法可以将目标视频中的每帧图像作为目标图像,进而天空区域预测模型识别每帧目标图像的天空区域。

在一种实施方式中,在步骤s402中可以包括:将从目标视频中获取的各目标图像分别输入天空区域预测模型,得到与各目标图像分别对应的多个天空区域预测结果;基于各目标图像的时序特征,对各天空区域预测结果进行后处理,得到对各目标图像中的天空区域的识别结果。

例如:将目标视频中的每帧目标图像分别输入天空预测模型,进而得到多个天空区域预测结果,该天空区域预测结果为图像形式。由于目标视频具有时序性,即每帧目标图像均有时序特征,进而可以根据这些时序特征对时序的天空区域预测结果进行后处理,从而使得到的识别结果在时序上更稳定。

在一种实施方式中,可以采用光流法对天空区域预测结果进行后处理,使时序结果更稳定。

天空区域识别方法属于图像分割中的一个特定应用场景,其目的是准确识别天空区域,并将其与图像中的其他目标进行区分。本发明实施例中,可以采用天空区域预测模型识别图像中的天空区域,由于天空区域预测模型是基于轻量级卷积神经网络训练得到,进而可以快速有效地识别天空区域,满足移动终端的实时性要求,在移动终端可达到全机型实时,并且鲁棒性强,计算量小,应用场景广。在快速识别天空区域后可对天空区域加特效滤镜,使得极大地丰富了产品的功能性与趣味性。

图5示出根据本发明实施例的天空区域预测模型的训练装置的结构框图。如图5所示,该训练装置可以包括:

样本图像获取模块501,用于获取多张样本图像,样本图像中包括天空区域;

训练模块502,用于利用多张样本图像训练轻量级卷积神经网络模型,得到天空区域预测模型,天空区域预测模型用于识别目标图像中的天空区域。

在一种实施方式中,轻量级卷积神经网络模型包括多层编码器和多层解码器,编码器用于从原始大小的样本图像中提取低纬度特征,解码器用于将低纬度特征恢复到原始大小的输出图像。

在一种实施方式中,样本图像获取模块501可以包括:

第一天空场景图像获取子模块,用于从样本视频中获取多张第一天空场景图像;

生成子模块,用于将多个云层素材分别与第二天空场景图像融合,生成多张生成第三天空场景图像;

样本图像确定子模块,用于将第一天空场景图像和第三天空场景图像作为样本图像。

在一种实施方式中,如图6所示,训练模块502可以包括:

待选预测模型确定子模块601,用于将训练好的轻量级卷积神经网络模型作为待选预测模型;

输入子模块602,用于将待测图像输入待选预测模型,得到与待测图像对应的预测数据;

获取子模块603,用于在预测数据错误的情况下获取待测图像的天空场景类型;

训练子模块604,用于基于多张与天空场景类型对应的样本图像,训练待选预测模型,得到天空区域预测模型。

图7示出根据本发明实施例的一种识别天空区域的装置的结构框图。如图7所示,该装置可以包括:

目标图像获取模块701,用于获取目标图像,目标图像中包括天空区域;

识别模块702,用于根据天空区域预测模型识别目标图像中的天空区域,天空区域预测模型根据上述任一项的训练方法得到。

在一种实施方式中,目标图像获取模块701可以包括:

采集子模块,用于采集目标视频;

目标图像获取子模块,用于从目标视频中获取目标图像。

在一种实施方式中,识别模块702可以包括:

天空区域预测结果得到子模块,用于将从目标视频中获取的各目标图像分别输入天空区域预测模型,得到与各目标图像分别对应的多个天空区域预测结果;

后处理子模块,用于基于各目标图像的时序特征,使用光流法对各天空区域预测结果进行后处理,得到对各目标图像中的天空区域的识别结果。

本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

图8示出根据本发明实施例的天空区域预测模型的训练设备的结构框图。如图8所示,该训练设备可以包括:存储器801和处理器802,存储器801内存储有可在处理器802上运行的计算机程序。处理器802执行计算机程序时实现上述实施例中的天空区域预测模型的训练方法。存储器801和处理器802的数量可以为一个或多个。

该训练设备还可以包括:

通信接口803,用于与外界设备进行通信,进行数据交互传输。

存储器801可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

如果存储器801、处理器802和通信接口803独立实现,则存储器801、处理器802和通信接口803可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线、外部设备互连(pci,peripheralcomponentinterconnect)总线或扩展工业标准体系结构(eisa,extendedindustrystandardarchitecture)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器801、处理器802及通信接口803集成在一块芯片上,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。

图9示出根据本发明实施例的识别天空区域的设备的结构框图。如图9所示,该设备可以包括:存储器901和处理器902,存储器901内存储有可在处理器902上运行的计算机程序。处理器902执行计算机程序时实现上述实施例中的识别天空区域的方法。存储器901和处理器902的数量可以为一个或多个。

该设备还可以包括:

通信接口903,用于与外界设备进行通信,进行数据交互传输。

存储器901可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

如果存储器901、处理器902和通信接口903独立实现,则存储器901、处理器902和通信接口903可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线、外部设备互连(pci,peripheralcomponentinterconnect)总线或扩展工业标准体系结构(eisa,extendedindustrystandardarchitecture)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器901、处理器902及通信接口903集成在一块芯片上,则存储器901、处理器902及通信接口903可以通过内部接口完成相互间的通信。

本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1