掌桥专利:专业的专利平台
掌桥专利
首页

一种图像处理方法、装置、服务器以及介质

文献发布时间:2023-06-19 10:16:30


一种图像处理方法、装置、服务器以及介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种图像处理方法、装置、服务器以及介质。

背景技术

随着电子技术和互联网技术的快速发展,卫星地图在多种场景下的应用越来越广泛,例如车辆行驶过程中所用的导航地图等等,在这类情况下,卫星地图中所包括的各个对象,例如,建筑物,道路,河流等的准确定位是很重要的,卫星地图中各个对象的有无以及质量高低好坏可能直接影响到数字地形图产品的应用效果。

目前,基于卫星图像的建筑物检测方式大多是通过人工检测的方式,即需要人工从卫星图像的标记出卫星图像中所包括的建筑物实体,这样操作起来相当麻烦,费时费力,而且无法保证规范的统一,导致人工作业效率低下,并且对于密集区域的建筑物或较小的建筑物检测的准确率较低。

发明内容

本申请实施例提供了一种图像处理方法、装置、服务器及介质,有助于提升图像中对象检测的准确性。

本申请实施例第一方面公开了一种图像处理方法,所述方法包括:

对目标图像进行预处理,得到所述目标图像对应的预处理图像;

获取所述预处理图像对应的第一像素点集合,并根据第一聚类方式对所述第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,所述第一连通区域中各个第一像素点的特征向量之间的距离小于第一距离阈值;

根据满足第一预设条件的第一连通区域确定出所述目标图像中的第一对象区域;

若存在不满足所述第一预设条件的第一连通区域,则获取不满足所述第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合;

根据第二聚类方式对所述第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域,所述第二连通区域中各个第二像素点的特征向量之间的距离小于第二距离阈值;

根据满足第二预设条件的第二连通区域确定出所述目标图像中的第二对象区域,并在所述目标图像中对所述第一对象区域和所述第二对象区域进行标记显示。

本申请实施例第二方面公开了一种图像处理装置,所述装置包括:

预处理单元,用于对目标图像进行预处理,得到所述目标图像对应的预处理图像;

第一聚类单元,用于获取所述预处理图像对应的第一像素点集合,并根据第一聚类方式对所述第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,所述第一连通区域中各个第一像素点的特征向量之间的距离小于第一距离阈值;

第一确定单元,用于根据满足第一预设条件的第一连通区域确定出所述目标图像中的第一对象区域;

获取单元,用于若存在不满足所述第一预设条件的第一连通区域,则获取不满足所述第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合;

第二聚类单元,用于根据第二聚类方式对所述第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域,所述第二连通区域中各个第二像素点的特征向量之间的距离小于第二距离阈值;

第二确定单元,用于根据满足第二预设条件的第二连通区域确定出所述目标图像中的第二对象区域,并在所述目标图像中对所述第一对象区域和所述第二对象区域进行标记显示。

本申请实施例第三方面公开了一种服务器,包括处理器、存储器和网络接口,所述处理器、存储器和网络接口相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。

本申请实施例第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

本申请实施例第五方面公开了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述第一方面的方法。

本申请实施例中,服务器可以对目标图像进行预处理,得到目标图像对应的预处理图像,接着,获取预处理图像对应的第一像素点集合,并根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,第一连通区域中各个第一像素点的特征向量之间的距离小于第一距离阈值,然后根据满足第一预设条件的第一连通区域确定出目标图像中的第一对象区域,如果存在不满足第一预设条件的第一连通区域,则获取不满足第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合,并根据第二聚类方式对第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域,第二连通区域中各个第二像素点的特征向量之间的距离小于第二距离阈值,进一步的,根据满足第二预设条件的第二连通区域确定出目标图像中的第二对象区域,并在目标图像中对第一对象区域和第二对象区域进行标记显示。通过上述方法,可以对图像中各个像素点进行多次聚类处理,并保留每次聚类处理后达标的连通区域。同时,每一次聚类处理过程中涉及到的距离阈值会随着聚类次数的增多而逐渐减小,因此,也可以确定图像中较小的对象区域,减少因对象过小而导致的漏检,从而可以提高对图像中对象检测的准确性。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种图像处理方法的流程示意图;

图2a是本申请实施例提供的一种目标图像与预处理图像之间的区域对应关系的结构示意图;

图2b是本申请实施例提供的一种第一连通区域与外接区域的结构示意图;

图2c是本申请实施例提供的一种不同聚类次数的结果示意图;

图3是本申请实施例提供的另一种图像处理方法的流程示意图;

图4a是本申请实施例提供的一种图像处理模型的结构示意图;

图4b-4c是本申请实施例提供的又一种图像处理方法的流程示意图;

图4d是本申请实施例提供的又一种图像处理方法的流程示意图;

图5是本申请实施例提供的一种图像处理装置的结构示意图;

图6是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

本申请实施例提供的方案涉及人工智能的计算机视觉技术中的图像处理等技术,具体通过如下实施例进行说明:

目前,基于卫星图像的建筑物检测的方法一般用的是双阶段的目标检测算法,其中,目标检测算法所用到的网络模型通常为Mask-RCNN系列的网络模型。双阶段的目标检测算法中的第一阶段是对建筑物实例的顶部位置框的粗检测,输出一系列矩形目标框。第二阶段把第一阶段输出的一系列矩形目标框中的特征作为第二阶段的输入,通过语义分割网络负责像素级别单实例前背景分割。这种建筑物检测的方法对于在密集区域的建筑物检测上可能会存在以下问题:一是如果目标实例,即建筑物实例过小,对第一阶段的顶部位置框的检测难度有非常大的影响,从而造成目标实例召回率低下以及漏检等问题;二是目标实例过小也会给第二阶段中掩码学习造成难度,导致目标实例的边缘不清晰,进而导致检测的准确度下降;三是双阶段的目标检测算法生成的掩码存在严重的不规则形状问题,不能达到应用标准。

针对上述问题,本申请实施例提供了一种图像处理的方法,服务器可以对目标图像进行预处理,以得到目标图像对应的预处理图像,然后获取预处理图像对应的第一像素点集合,并根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,其中,第一连通区域中各个第一像素点的特征向量之间的距离是小于第一距离阈值的。接着,根据满足第一预设条件的第一连通区域确定出目标图像中的第一对象区域。如果存在不满足第一预设条件的第一连通区域,则获取不满足第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合,并根据第二聚类方式对第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域,其中,第二连通区域中各个第二像素点的特征向量之间的距离是小于第二距离阈值的。接着,根据满足第二预设条件的第二连通区域确定出目标图像中的第二对象区域,并在目标图像中对第一对象区域和第二对象区域进行标记显示。可以看出,本申请实施例是将像素点进行多重聚类,而且每次聚类处理后可以保留达标的对象区域,并且随着聚类次数的增大,聚类处理中所涉及到的距离阈值也会逐步减小,以保证目标图像中较小的对象区域也可以被检测,从而提高检测的准确性。

以下对本申请实施例的技术方案的实现细节进行详细阐述:

请参阅图1,图1是本申请实施例提供的一种图像处理方法的流程示意图。该方法应用于服务器,可由服务器执行,如图所示,该图像处理方法可包括:

S101:对目标图像进行预处理,得到目标图像对应的预处理图像。

在一种实现方式中,服务器可以获取目标图像,并对该目标图像进行预处理,以得到该目标图像对应的预处理图像,其中,目标图像可以是卫星图像,卫星图像中包括多个建筑物实体。在本申请中,将卫星图像中建筑物实体的区域称为前景图像,将卫星图像中非建筑物实体的区域称为背景图像,预处理图像指的是只显示卫星图像中建筑物实体的区域,而不显示非建筑物实体的区域。其中,预处理图像中显示卫星图像中不同建筑物实体的区域并可以用不同颜色来区分。并且,目标图像与预处理图像是同样尺寸大小的图像。

在一种实现方式中,服务器对目标图像进行预处理,得到目标图像对应的预处理图像的具体实施方式可以是服务器先获取目标图像,再对目标图像进行编码处理,以得到目标图像对应的编码特征,接着,通过第一解码方式和第二解码方式对编码特征进行解码处理,分别得到目标图像对应的掩码图像以及像素特征图像,然后将掩码图像和像素特征图像进行融合处理,从而得到目标图像对应的预处理图像。

S102:获取预处理图像对应的第一像素点集合,并根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域。

其中,第一连通区域中各个第一像素点的特征向量之间的距离小于第一距离阈值。

在一种实现方式中,服务器可以获取预处理图像中的所有像素点,并将所有的像素点组合为第一像素点集合。在得到第一像素点集合之后,服务器可以根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,以将第一像素点集合划分为多个像素点簇,其中,每个像素点簇中各个第一像素点的特征向量之间的距离是小于第一距离阈值的。然后再将每个像素点簇中的多个第一像素点构成的连通区域确定为第一连通区域。

在一种实现方式中,服务器确定第一连通区域中任意一个第一目标连通区域的具体实现方式可以是:服务器可以从第一像素点集合中确定出目标像素点,根据第一距离阈值从第一像素点集合中确定目标像素点对应的多个关联像素点,其中,每个关联像素点的特征向量是与目标像素点的特征向量之间的距离小于第一距离阈值的。具体地,服务器可以从第一像素点集合中搜索与目标像素点的特征向量之间的距离小于第一距离阈值的第一像素点,并将与目标像素点的特征向量之间的距离小于第一距离阈值的第一像素点确定为目标像素点对应的关联像素点。在服务器确定目标像素点以及对应的多个关联像素点之后,就可以将目标像素点和对应的多个关联像素点构成的连通区域确定为第一目标连通区域。其中,将目标像素点和对应的多个关联像素点构成的连通区域确定为第一目标连通区域的具体实现方式可以是利用连通域求解算法,也可以是其他算法,在本申请不做限定。

在一种实现方式中,服务器根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域具体实现方式还可以是服务器先从第一像素点集合中任意选择一个第一目标像素点,然后从第一像素点集合中搜索与第一目标像素点的特征向量之间的距离小于第一距离阈值的第一像素点,并将与第一目标像素点的特征向量之间的距离小于第一距离阈值的第一像素点确定为第一目标像素点对应的第一关联像素点,该第一目标像素点和对应的多个第一关联像素点确定为第一像素点簇。在确定第一像素点簇之后,再从剩余像素点集合中任意选择一个第二目标像素点,其中,剩余像素点集包括除第一目标像素点和多个第一关联像素点的第一像素点集合中的第一像素点,然后再从剩余像素点集合中搜索与第二目标像素点的特征向量之间的距离小于第一距离阈值的第一像素点,并将与第二目标像素点的特征向量之间的距离小于第一距离阈值的第一像素点确定为第二目标像素点对应的第二关联像素点,该第二目标像素点和对应的多个第二关联像素点确定为第二像素点簇。按照上述确定第一像素点簇以及第二像素点簇的方式,确定后续的像素点簇,直到第一像素点集合中所有的第一像素点都存在于对应的像素点簇中。在确定多个像素点簇之后,就可以将每个像素点簇中所包括的多个第一像素点构成的连通区域确定为第一连通区域。

S103:根据满足第一预设条件的第一连通区域确定出目标图像中的第一对象区域。

其中,第一对象区域可以是指卫星图像中每个建筑物实体的对应的区域,后续的第二对象区域为同样的理解。

在一种实现方式中,服务器可以获取目标图像与预处理图像之间的区域对应关系,其中,目标图像与预处理图像之间的区域对应关系也就是说目标图像中的每一块区域都对应与预处理图像中同样位置的区域,需要说明的是,目标图像与预处理图像是同样尺寸大小的图像。如图2a所示,目标图像可以是如图2a中由201标记的图像,预处理图像可以是如图2a中由202标记的图像。那么目标图像中的每一块区域都对应于预处理图像中同样位置的区域可以理解为如图2a所示的目标图像中的A1区域、A2区域、A3区域分别对应于预处理图像中的B1区域、B2区域、B3区域。那么,服务器可以将满足第一预设条件的第一连通区域确定为预处理图像中的参考对象区域,然后再根据该区域对应关系从目标图像中确定出与参考对象区域对应的区域,该与参考对象区域对应的区域也就是目标图像中的第一对象区域。

在一种实现方式中,服务器确定满足第一预设条件的第一连通区域的具体实现方式可以是服务器先获取第一连通区域对应的外接区域,外接区域的形状可以为预设形状,例如,预设形状可以是矩形,即外接区域可以是最小外接矩形。在确定第一连通区域对应的外接区域之后,可以是判断第一连通区域与外接区域的重合区域是否满足交并比的阈值,具体的可以是判断第一连通区域的面积与外接区域的面积的比值是否满足第一预设比值,那么可以确定出第一连通区域的第一面积和外接区域的第二面积。如果第一面积与第二面积之间的比值大于第一预设比值,则确定第一连通区域满足第一预设条件。其中,第一预设比值可以是面积比值。

举例来说,以外接区域为第一连通区域的最小外接矩形为例,若某个第一连通区域可以是如图2b中由203标记的区域,该第一连通区域对应的最小外接矩形可以是如图2b中由204标记的区域。服务器可以确定第一连通区域的第一面积和最小外接矩形的第二面积,第一面积即由203标记的区域的面积S1,第二面积即由204标记的区域的面积S2,再确定第一面积与第二面积之间的比值S1/S2,如果S1/S2大于第一预设比值,则确定该第一连通区域满足第一预设条件,如果S1/S2小于第一预设比值,则确定该第一连通区域不满足第一预设条件。

S104:若存在不满足第一预设条件的第一连通区域,则获取不满足第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合。

在一种实现方式中,如果存在不满足第一预设条件的第一连通区域,则服务器可以获取不满足第一预设条件的第一连通区域对应的多个第二像素点,并将该多个第二像素点组合为第二像素点集合。需要说明的是,上述的第二像素点为不满足第一预设条件的第一连通区域对应的第一像素点。

S105:根据第二聚类方式对第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域。

其中,第二连通区域中各个第二像素点的特征向量之间的距离小于第二距离阈值。

在一种实现方式中,服务器在得到第二像素点集合之后,可以根据第二聚类方式对第二像素点集合中各个第二像素点进行聚类处理,以将第二像素点集合划分为多个像素点簇,其中,每个像素点簇中各个第二像素点的特征向量之间的距离是小于第二距离阈值的,然后再将每个像素点簇中的多个第二像素点构成的连通区域确定为第二连通区域。其中,确定第二连通区域的具体实现方式可以参考上述确定第一连通区域的具体实现方式,在此处不在赘述。

需要说明的是,该第二距离阈值是小于第一距离阈值的,即第二连通区域的面积要比第一连通区域的面积小,因为第二连通区域是根据第一距离阈值对第一像素点集合进行聚类处理得到的,第二连通区域是根据第二距离阈值对第二像素点集合进行聚类处理得到的。

S106:根据满足第二预设条件的第二连通区域确定出目标图像中的第二对象区域,并在目标图像中对第一对象区域和第二对象区域进行标记显示。

在一种实现方式中,在服务器确定出在目标图像中的第一对象区域以及第二对象区域之后,就可以在目标图像中对第一对象区域和第二对象区域进行标记显示,例如,如图2c中由205标记的图像或由206标记的图像或由207标记的图像中所显示的矩形或多边形。

在一种实现方式中,如果存在不满足第二预设条件的第二连通区域,则可以按照步骤S104-S106的方式继续进行聚类处理,确定出目标图像的第三连通区域、第四连通区域…,直到第一像素点集合中的所有第一像素点均存在于对应的对象区域中,则停止按照步骤S104-S106继续进行聚类处理的过程。或者是上述的聚类次数达到预设的聚类次数,也可以停止按照步骤S104-S106的方式继续进行聚类处理的过程。需要注意的是,后续增加的每一次聚类处理的过程,其对应的距离阈值会越来越小,即第一聚类方式对应的第一距离阈值要大于第二聚类方式对应的第二距离阈值,第二聚类方式对应的第二距离阈值要大于第三聚类方式对应的第三距离阈值。如图2c中由205标记的图像、由206标记的图像、由207标记的图像分别3次聚类、2次聚类、1次聚类后得到的目标图像中的对象区域,从图2c中可以看出,由207标记的图像中的不规则形状在由206标记的图像以及由205标记的图像中逐渐变成矩形。即聚类次数越多,对应得到的目标图像中的对象区域的矩形越多。

需要说明的是,根据满足第二预设条件的第二连通区域确定出目标图像中的第二对象区域的具体实现方式可以参考上述根据满足第一预设条件的第一连通区域确定出目标图像中的第一对象区域的具体实现方式,在此处不在赘述。其中,第二预设条件可以与上述的第一预设条件相同。在确定后续目标图像中的第三对象区域的具体实现方式同理。

在本申请实施例中,服务器可以对目标图像进行预处理,得到目标图像对应的预处理图像,然后再获取预处理图像对应的第一像素点集合,并根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,并根据满足第一预设条件的第一连通区域确定出目标图像中的第一对象区域,如果存在不满足第一预设条件的第一连通区域,则获取不满足第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合,再根据满足第二预设条件的第二连通区域确定出目标图像中的第二对象区域,并在目标图像中对第一对象区域和第二对象区域进行标记显示。通过上述方法,服务器可以对预处理图像对应的第一像素点集合中的中各个第一像素点进行多次聚类处理,并保留每次聚类处理后达标的连通区域。同时,每一次聚类处理过程中涉及到的距离阈值会随着聚类次数的增多而逐渐减小,因此,也可以确定目标图像中较小的对象区域,减少因对象过小而导致的漏检,从而可以提高对图像中对象检测的准确性。

请参阅图3,图3是本申请实施例提供的另一种图像处理方法的流程示意图。该方法应用于服务器,可由服务器执行,如图所示,该图像处理方法可包括:

S301:获取目标图像。

在一种实现方式中,服务器可以获取目标图像,该目标图像可以是包含建筑物实体的卫星图像。

S302:对目标图像进行编码处理,得到目标图像对应的编码特征。

在一种实现方式中,服务器可以对目标图像进行编码处理,以得到目标图像对应的编码特征。其中该编码特征可以根据图像处理模型中的编码模块通过对目标图像进行编码获得。

在一种实现方式中,例如图4a所示为本申请实施例提供的一种图像处理模型的结构示意图,该图像处理模型可以包括编码模块、第一解码模块以及第二解码模块。其中,服务器可以通过如图4a所示的图像处理模型中的编码模块对目标图像进行编码处理,得到目标图像对应的编码特征。

在一种实现方式中,例如图4b-图4c所示为本申请实施例提供的又一种图像处理方法的流程示意图,从图4b中可以看出,图像处理模型可以包括编码模块、第一解码模块以及第二解码模块。编码模块可以对目标图像进行编码处理,目标图像可以是图4b中由401标记的图像,其中,编码模块可以包括多个子编码模块,每个子编码模块可以由卷积层(Convolution层),归一化层(Batch Normalization层),激活层(Relu层)组成。其中,卷积层还可以包括底层卷积层以及高层卷积层,底层卷积层可以用来负责提取目标图像中边缘纹理等特征,高层卷积层可以用来负责提取目标图像中基本纹理等特征,归一化层可以对卷积层输出的特征进行归一化正态分布处理,激活层可以对归一化层输出的特征进行非线性映射,以加强图像处理模型的泛化能力。其中,编码模块对目标图像的处理可以理解为对目标图像的缩小,例如,目标图像的尺寸大小为256×256,在通过第一个子编码模块后图像的尺寸大小为64×64,在通过第二个子编码模块后图像是的尺寸大小为16×16,在通过第三个子编码模块后图像的尺寸大小为8×8。

S303:通过第一解码方式对编码特征进行解码处理,得到目标图像对应的掩码图像。

在一种实现方式中,服务器可以通过第一解码方式对编码特征进行解码处理,以得到目标图像对应的掩码图像。其中,该掩码图像可以根据如图4a或图4b所示的图像处理模型中的第一解码模块通过对编码特征进行解码处理获得,例如,该掩码图像可以是图4b中由402标记的图像。其中,掩码图像用像素值为“1”的像素表示图像的前景部分,也就是为了表示目标图像中包括建筑物实体的区域,例如由402标记的图像中由各种边框圈出的建筑物对应区域的像素值为“1”,用像素值为“0”的像素表示图像的背景部分,也就是为了表示目标图像中不包括建筑物实体的区域,例如由402标记的图像中除建筑物区域以外的其他区域的像素值为“0”。

在一种实现方式中,第一解码模块可以采用特征金字塔网络(Feature PyramidNetworks,FPN),第一解码模块中可以包括多个第一子编码模块,第一子编码模块可以均进行反卷积层(Deconvolution层)操作,以实现图像放大的作用,例如,假设输入到第一个第一子解码模块的图像尺寸大小是上述编码模块的最后一个子编码模块输出的图像尺寸大小,即图像尺寸大小为8×8的图像,则在通过第一个第一子解码模块后图像的尺寸大小为16×16,在通过第二个第一子解码模块后图像的尺寸大小为64×64,在通过第三个第一子解码模块后图像的尺寸大小为256×256。每个第一子编码模块的输入包括前一个第一子编码模块的输出的图像,以及编码模块中对应的同尺寸大小的图像。例如,对于第二个第一子解码模块的输入包括第一个第一子解码模块的输出(图像的尺寸大小为16×16)以及第二个子编码模块的输出(图像的尺寸大小为16×16),为更好的融合前一个第一子编码模块的输出的图像中的特征信息以及编码模块中对应的同尺寸大小的图像中的特征信息,每个第一子编码模块会将二种特征信息进行加和,并进行卷积操作实现特征信息的融合。

S304:通过第二解码方式对编码特征进行解码处理,得到目标图像对应的像素特征图像。

在一种实现方式中,服务器可以通过第二解码方式对编码特征进行解码处理,以得到目标图像对应的像素特征图像,其中,该像素特征图像可以根据如图4a或图4b所示的图像处理模型中的第二解码模块通过对编码特征进行解码处理获得,像素特征图像可以例如图4b中由403标记的图像。像素特征图像中的像素值在0~255间。

在一种实现方式中,如图4a或图4b所示,目标图像通过编码模块得到的编码特征,可以分别通过两个分支,即第一解码模块和第二解码模块进行处理,以分别得到目标图像对应的掩码图像和像素特征图像。可以理解的是,第二解码模块的对编码特征的处理可以参考上述第一解码模块对编码特征的处理。不同的在于,第一解码模块包括的模型参数以及第二解码模块包括的模型参数的优化过程不同。具体的,在图像处理模型的训练过程中,会引入损失函数对图像处理模型中包括的模型参数进行优化,以得到训练后的图像处理模型。其中,图像处理模型中的第一解码模块对应的损失函数是交叉墒损失函数,而第二解码模块对应的损失函数包括两个交叉墒损失函数,第一个交叉墒损失函数用来计算同一像素类别的聚合度损失,聚合度损失可以用来保证同一个对象内包括的像素特征尽可能的相同,第二个交叉墒损失函数用来计算不同像素类别的区别度损失,区别度损失用来保证不同对象之间的像素特征要有较大的区别,并结合模型复杂度的正则化损失函数共同完成图像处理模型的训练过程。

需要说明的是,上述各个第一像素点的特征向量是通过图像处理模型获得到,即将目标图像通过训练后的图像处理模型,可以得到预处理图像中各个第一像素点的特征向量。

S305:将掩码图像和像素特征图像进行融合处理,得到目标图像对应的预处理图像。

在一种实现方式中,服务器可以获取掩码图像中各个像素点对应的第一像素特征和像素特征图像中各个像素点对应的第二像素特征,然后对第一像素特征和第二像素特征进行求并处理,得到目标像素特征,进一步的,根据目标像素特征确定预处理图像对应的目标图像。

其中,掩码图像中各个像素点对应的像素值为0或1,那么第一像素特征是指掩码图像中所有像素点对应的像素值(为方便描述,可以称为第一像素值),像素特征图像中各个像素点对应的像素值在0~255之间,那么,第二像素特征是指像素特征图像中所有像素点对应的像素值(为方便描述,可以称为第二像素值),然后对各个像素点对应的第一像素值和第二像素值进行求并处理,得到各个像素点的目标像素特征。其中,求并处理具体可以理解为1与任意值求并的结果为该任意值,0与任意值求并的结果为0。例如,假设某个像素点对应的第一像素特征为1,第二像素特征为135,则该像素点的目标像素特征为135,假设某个像素点对应的第一像素特征为0,第二像素特征为185,则该像素点的目标像素特征为0。

S306:获取预处理图像对应的第一像素点集合,并根据第一聚类方式对第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域。

S307:根据满足第一预设条件的第一连通区域确定出目标图像中的第一对象区域。

S308:若存在不满足第一预设条件的第一连通区域,则获取不满足第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合。

S309:根据第二聚类方式对第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域。

S310:根据满足第二预设条件的第二连通区域确定出目标图像中的第二对象区域,并在目标图像中对第一对象区域和所述第二对象区域进行标记显示。

在一种实现方式中,图4c所示,在通过将由402标记的掩码图像和由403标记的像素特征图像进行融合处理,得到目标图像对应的预处理图像,并获取预处理图像对应的第一像素点集合之后,可以对第一像素点集合中各个第一像素点进行多次聚类处理,即可得到目标图像中所有的对象区域,并可以在目标图像中对所有的对象区域进行标记显示,其中,对象区域的标记显示可以是由404标记的图像中的各种矩形图像。

其中,步骤S306-S310的具体实施方式可以参见上述实施例步骤S102-S106的具体描述,此处不再赘述。

在本申请实施例中,服务器可以获取目标图像,并对目标图像进行编码处理,得到目标图像对应的编码特征,然后利用第一解码方式和第二解码方式分别得到目标图像对应的掩码图像与像素特征图像,再将掩码图像和像素特征图像进行融合处理,得到目标图像对应的预处理图像,以便于后续根据预处理图像确定目标图像中的对象区域。通过上述方法,将图像的解码过程分为两个分支,并且共享对目标图像进行解码处理得到的解码特征,第一解码方式对应的分支负责目标图像中前景与背景的特征学习,第二解码方式对应的分支负责像素级别的特征学习,并且对图像编码解码所对应的图像处理模型是深度学习网络模型,可以保证最终的输出为原始图像尺寸,最大程度还原真实属性,不需要对图像中对象的位置框进行检测,而是上述两个解码分支联合学习,从而可以提高预处理图像中各个像素点特征的准确性,进而可以提高对目标图像中对象检测的准确性,且无需人工操作,同时也可以提高对象检测的效率。

具体应用场景中,以目标图像为卫星图像,并检测卫星图像中的建筑物实例为例,如图4b-图4c所示,本申请实施例中检测卫星图像中的建筑物实例的过程主要包括三个部分:特征提取下采样、特征融合上采样以及实例聚类。其中,特征提取下采样可理解为上述的编码模块的处理过程,特征融合上采样分为两个分支,该两个分支分别为语音分支和实例分支,其中,语音分支和实例分支可理解为上述的第一解码模块和第二解码模块的处理过程。语音分支负责卫星图像中前景与背景的预测,实例分支负责像素级别的特征学习。根据语义分支可以生成前景建筑掩码,将语义分支的结果与实例分支的结果进行求并操作即可获取卫星图像中所有建筑实例像素特征,最后通过实例聚类获取建筑物实例信息。

其中,实例聚类的具体步骤可以参阅图4d,图4d是本申请实施例提供的又一种图像处理方法的流程示意图,在图4d的流程中,服务器可以先获取前景实例像素特征(前景实例像素特征包括多个),以为后续的聚类提供数据准备。服务器先从前景实例像素特征中任意选择一个第一目标像素特征,然后以聚类半径(可理解为上述的第一距离阈值)查找该第一目标像素特征对应的多个关联像素特征,则该第一目标像素特征以及多个关联像素特征为一个簇。然后再从剩余的前景实例像素特征中任意选择一个第二目标像素特征,重复上边的步骤,直到所有的前景实例像素特征都存于对应的簇内。那么在根据聚类将前景实例像素特征划分为多个簇之后,可以对每个簇中所包括的前景实例像素特征,使用连通区域求解算法,获取连通区域,需要说明的是,每个连通区域为一个建筑实例,原因在于同一建筑实例一定是一个连通区间,如多个连通区间也一定为多个建筑实例。在确定多个建筑实例之后,可以确定每个建筑实例的外接区域,该外接区域可以是最小外接矩形,然后再判断建筑实例与外接区域是否满足预设条件,具体可以是判断建筑实例与外接区域的重合区域是否满足交并比的阈值,或者是建筑实例的面积与外接区域的面积的比值是否满足预设比值,如果建筑实例与外接区域满足预设条件,则生成矩形实例,并将该矩形实例作为一个建筑实例的最终结果,否则将不满足交并比的阈值的建筑实例对应的前景像素点特征作为下次聚类所需要的数据。获取到下次聚类所需要的数据之后,重复聚类以及后续的步骤,如果聚类次数达到预设次数或者没有剩余的前景像素点特征则可结束流程。并且,随着聚类次数的增多,聚类半径是逐渐减小的。从上述描述可以看出,通过多次聚类保留良好的建筑实例,可以逐步完成卫星图像中全局矩形建筑实例分割。本申请实例基于卫星图像,可以自动识别出建筑物的轮廓,且在稠密区域中对建筑物的轮廓识别达到自动率百分之百,无需人工操作,同时也可以提高对建筑物检测的效率。

请参阅图5,图5是本申请实施例提供的一种基于图像处理装置的结构示意图。本实施例中所描述的图像处理装置,包括:

预处理单元501,用于对目标图像进行预处理,得到所述目标图像对应的预处理图像;

第一聚类单元502,用于获取所述预处理图像对应的第一像素点集合,并根据第一聚类方式对所述第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,所述第一连通区域中各个第一像素点的特征向量之间的距离小于第一距离阈值;

第一确定单元503,用于根据满足第一预设条件的第一连通区域确定出所述目标图像中的第一对象区域;

获取单元504,用于若存在不满足所述第一预设条件的第一连通区域,则获取不满足所述第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合;

第二聚类单元505,用于根据第二聚类方式对所述第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域,所述第二连通区域中各个第二像素点的特征向量之间的距离小于第二距离阈值;

第二确定单元506,用于根据满足第二预设条件的第二连通区域确定出所述目标图像中的第二对象区域,并在所述目标图像中对所述第一对象区域和所述第二对象区域进行标记显示。

在一种实现方式中,所述预处理单元501,具体用于:

获取目标图像;

对所述目标图像进行编码处理,得到所述目标图像对应的编码特征;

通过第一解码方式对所述编码特征进行解码处理,得到所述目标图像对应的掩码图像;

通过第二解码方式对所述编码特征进行解码处理,得到所述目标图像对应的像素特征图像;

将所述掩码图像和所述像素特征图像进行融合处理,得到所述目标图像对应的预处理图像。

在一种实现方式中,所述预处理单元501,具体用于:

获取所述掩码图像中各个像素点对应的第一像素特征和所述像素特征图像中各个像素点对应的第二像素特征;

对所述第一像素特征和所述第二像素特征进行求并处理,得到目标像素特征;

根据所述目标像素特征确定所述预处理图像对应的目标图像。

在一种实现方式中,所述第一聚类单元502,具体用于:

从所述第一像素点集合中确定出目标像素点;

根据第一距离阈值从所述第一像素点集合中确定目标像素点对应的多个关联像素点,其中,每个关联像素点的特征向量与所述目标像素点的特征向量之间的距离小于所述第一距离阈值;

将所述目标像素点和所述多个关联像素点构成的连通区域确定为第一目标连通区域。

在一种实现方式中,所述第一确定单元503,还用于:

获取所述第一连通区域对应的外接区域,所述外接区域的形状为预设形状;

确定所述第一连通区域的第一面积和所述外接区域的第二面积;

若所述第一面积与所述第二面积之间的比值大于第一预设比值,则确定所述第一连通区域满足第一预设条件。

在一种实现方式中,所述第一确定单元503,具体用于:

获取所述目标图像与所述预处理图像之间的区域对应关系;

将满足所述第一预设条件的第一连通区域确定为所述预处理图像中的参考对象区域;

根据所述区域对应关系从所述目标图像中确定出所述参考对象区域对应的第一对象区域。

在一种实现方式中,所述编码特征是通过图像处理模型中的编码模块对所述目标图像进行编码处理得到的,所述掩码图像是通过所述图像处理模型中的第一解码模块对所述编码特征进行解码处理得到的,所述像素特征图像是通过所述图像处理模型中的第二解码模块对所述编码特征进行解码处理得到的。

可以理解,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

请参阅图6,图6是本申请实施例提供的一种服务器的结构示意图。本实施例中所描述的服务器,包括:处理器601、存储器602以及网络接口603。上述处理器601、存储器602以及网络接口603之间可以交互数据。

上述处理器601可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

上述存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供程序指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。其中,所述处理器601调用所述程序指令时用于执行:

对目标图像进行预处理,得到所述目标图像对应的预处理图像;

获取所述预处理图像对应的第一像素点集合,并根据第一聚类方式对所述第一像素点集合中各个第一像素点进行聚类处理,得到多个第一连通区域,所述第一连通区域中各个第一像素点的特征向量之间的距离小于第一距离阈值;

根据满足第一预设条件的第一连通区域确定出所述目标图像中的第一对象区域;

若存在不满足所述第一预设条件的第一连通区域,则获取不满足所述第一预设条件的第一连通区域对应的多个第二像素点,得到第二像素点集合;

根据第二聚类方式对所述第二像素点集合中各个第二像素点进行聚类处理,得到多个第二连通区域,所述第二连通区域中各个第二像素点的特征向量之间的距离小于第二距离阈值;

根据满足第二预设条件的第二连通区域确定出所述目标图像中的第二对象区域,并在所述目标图像中对所述第一对象区域和所述第二对象区域进行标记显示。

在一种实现方式中,所述处理器601,具体用于:

获取目标图像;

对所述目标图像进行编码处理,得到所述目标图像对应的编码特征;

通过第一解码方式对所述编码特征进行解码处理,得到所述目标图像对应的掩码图像;

通过第二解码方式对所述编码特征进行解码处理,得到所述目标图像对应的像素特征图像;

将所述掩码图像和所述像素特征图像进行融合处理,得到所述目标图像对应的预处理图像。

在一种实现方式中,所述处理器601,具体用于:

获取所述掩码图像中各个像素点对应的第一像素特征和所述像素特征图像中各个像素点对应的第二像素特征;

对所述第一像素特征和所述第二像素特征进行求并处理,得到目标像素特征;

根据所述目标像素特征确定所述预处理图像对应的目标图像。

在一种实现方式中,所述处理器601,具体用于:

从所述第一像素点集合中确定出目标像素点;

根据第一距离阈值从所述第一像素点集合中确定目标像素点对应的多个关联像素点,其中,每个关联像素点的特征向量与所述目标像素点的特征向量之间的距离小于所述第一距离阈值;

将所述目标像素点和所述多个关联像素点构成的连通区域确定为第一目标连通区域。

在一种实现方式中,所述处理器601,还用于:

获取所述第一连通区域对应的外接区域,所述外接区域的形状为预设形状;

确定所述第一连通区域的第一面积和所述外接区域的第二面积;

若所述第一面积与所述第二面积之间的比值大于第一预设比值,则确定所述第一连通区域满足第一预设条件。

在一种实现方式中,所述处理器601,具体用于:

获取所述目标图像与所述预处理图像之间的区域对应关系;

将满足所述第一预设条件的第一连通区域确定为所述预处理图像中的参考对象区域;

根据所述区域对应关系从所述目标图像中确定出所述参考对象区域对应的第一对象区域。

在一种实现方式中,所述编码特征是通过图像处理模型中的编码模块对所述目标图像进行编码处理得到的,所述掩码图像是通过所述图像处理模型中的第一解码模块对所述编码特征进行解码处理得到的,所述像素特征图像是通过所述图像处理模型中的第二解码模块对所述编码特征进行解码处理得到的。

本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,所述程序执行时可包括如图1或者图3对应实施例中的图像处理方法的部分或全部步骤。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法的实施例中所执行的步骤。

以上对本申请实施例所提供的一种图像处理方法、装置、服务器及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 图像处理装置、图像处理服务器、图像处理方法、图像处理程序以及记录介质
  • 图像处理装置、图像处理服务器、图像处理方法、计算机程序和存储介质
技术分类

06120112479258