图像处理方法、装置、计算机设备和存储介质与流程

文档序号:15852775发布日期:2018-11-07 10:23阅读:122来源:国知局
图像处理方法、装置、计算机设备和存储介质与流程

本申请涉及计算机视觉技术领域,特别是涉及一种图像处理方法、装置、计算机设备和存储介质。

背景技术

随着计算机视觉技术的发展,通过神经网络模型的已经可以实现图像中目标物体的识别,该方法被广泛用于人机互动技术领域。

但是随着网络互动平台的出现,仅仅识别出图像中的目标物体已不能满足人们通过网络互动平台进行多样化的互动需求。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够增加人们通过网络互动平台互动多样性的图像处理方法、装置、计算机设备和存储介质。

第一方面,本申请实施例提供一种图像处理方法,包括如下步骤:

将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置;

根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值;

使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。

在其中一个实施例中,所述将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置的步骤包括:

获取原始图像中的多个候选区域;

提取所述多个候选区域中每一候选区域的特征值,并根据所述每一候选区域的特征值得到多个人体候选区域;

对得到的所述多个人体候选区域进行池化处理,得到多个人体特征向量;

将所述多个人体特征向量输入人体坐标位置回归神经网络,得到所述人体图像的每一像素点的模型位置。

在其中一个实施例中,所述获取原始图像中的多个候选区域的步骤包括:

对所述原始图像进行卷积操作,得到原始图像的特征值图;

对所述特征值图中特征值进行分类,得到所述原始图像中的多个候选区域。

在其中一个实施例中,根据所述每一候选区域中的特征值得到多个人体候选区域的步骤包括:

将所述每一候选区域中的特征值输入人体分类神经网络,得到包含人体的候选区域;

将所述每一候选区域中的特征值输入最小外界矩形框坐标回归神经网络,对所述每一候选区域的边框进行调整,得到最终候选区域;

使用所述包含人体的候选区域筛选所述最终候选区域,得到包含人体的最终候选区域;

将人体面积比例大于预设阈值的包含人体的最终候选区域作为人体候选区域。

在其中一个实施例中,所述方法还包括:

将所述多个人体特征向量输入人体语义分割任务神经网络,得到所述人体图像的人体语义分割结果;

使用所述人体语义分割结果,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。

在其中一个实施例中,所述方法还包括:

将得到的所述多个人体特征向量输入骨骼关节点回归任务神经网络,得到所述人体图像中骨骼关节点的模型位置;

使用所述骨骼关节点的模型位置,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。

在其中一个实施例中,在所述将原始图像输入神经网络模型的步骤之前,还包括:

获取训练图像样本,并对所述训练图像样本进行标注,得到多个模型训练样本;

使用所述多个模型训练样本训练原始神经网络模型,得到所述神经网络模型。

在其中一个实施例中,所述使用所述多个模型训练样本训练原始神经网络模型的步骤包括:

构建神经网络模型的神经网络结构;

使用所述多个模型训练样本,迭代执行所述神经网络结构中的faster-rcnn神经网络的正向推导和反向传播算法,得到faster-rcnn神经网络;

将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体坐标位置回归任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体坐标位置回归任务神经网络;

将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体语义分割任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体语义分割任务神经网络;

将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的骨骼关节点回归任务神经网络,迭代执行所述骨骼关节点回归任务神经网络的正向推导和反向传播算法,得到骨骼关节点回归任务神经网络。

在其中一个实施例中,在使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果的步骤之后包括:

对所述渲染后的人体图像进行纹理效果平滑处理,得到最终图像处理结果。

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

模型位置获取模块,用于将原始图像输入训练好的神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置;

像素值获取模块,用于根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值;

渲染模块,用于使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。

第三方面,本申请实施例提供一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请任意实施例提供的图像处理方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例提供的图像处理方法。

本申请涉及一种图像处理方法、装置、计算机设备和存储介质,该图像处理方法包括:将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置;根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值;使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。该方法,可以通过对原始图像中的特征提取与学习,得到该原始图像中人体图像中像素点的模型位置,之后将预设人体模型上的像素值赋值给原始图像对应的像素点,这可以实现将预设人体模型的人物效果映射到原始图像中的人体图像上。因此,该方法可以作为对原始图像中人体图像的换装,局部精修等操作的基础。

附图说明

图1为本申请一个实施例中图像处理方法的应用环境图;

图2为本申请一个实施例中图像处理方法的流程示意图;

图3为本申请一个实施例中得到原始图像中人体图像的每一像素点的模型位置的步骤流程示意图;

图4为本申请一个实施例中获取原始图像中的多个候选区域的步骤流程示意图;

图5为本申请一个实施例中根据所述每一候选区域中的特征值得到多个人体候选区域的步骤流程示意图;

图6为本申请一个实施例中图像处理方法补充步骤流程示意图;

图7为本申请另一个实施例中图像处理方法补充步骤流程示意图;

图8为本申请另一个实施例中图像处理方法的补充步骤流程示意图;

图9为本申请另一个实施例中得到神经网络模型的步骤流程示意图;

图10为本申请另一个实施例中应用图像处理方法处理图像的步骤流程图;

图11为本申请一个实施例中图像处理装置的结构框图;

图12为本申请一个实施例中计算机设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的图像处理方法,可以应用于如图1所示的应用环境中。其中,图像采集装置110与计算机设备120连接。其中,图像采集装置110与计算机设备120可以设置为一体式终端,该一体式终端可以包含但不限于是各种智能手机、平板电脑和便携式可穿戴设备、个人计算机、笔记本电脑。该图像采集装置110与计算机设备120还可以是分别独立的设置的图像采集设备(例如车载摄像头)与服务器。该图像采集设备通过网络与服务器通信连接,该服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

可选地,该计算机设备120包含至少一个处理器121与存储器122。可选地,该处理器121可以为cpu(centralprocessingunit,中央处理器),gpu(graphicsprocessingunit,图形处理器),ipu(intelligenceprocessingunit,智能处理器)等等,优选适于图像处理的gpu或者适于运行神经网络算法的ipu。可选地,该处理器121为多核处理器,例如多核gpu。

可选的,该存储器122中存储有进行图像处理的神经网络算法,供处理器121在处理图像时调用。

可选地,该计算机设备的多个处理器121或者某一处理器121的多个处理器核可以并行处理多个操作任务,以提高计算机设备120的数据处理效率。应当清楚的是,该处理器121可以运行神经网络模型的算法,对输入神经网络模型的数据进行处理。可选地,输入神经网络模型的数据,可以是原始数据,例如获取的相片、视频等等;也可以是经编码后具有固定格式的数据,例如经one-hot编码的数据等等。

在一个实施例中,如图2所示,提供了一种图像处理方法,现以图1所示的应用环境为例进行说明,包括以下步骤:

步骤s210:将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置。

其中,模型位置,是指人体图像中各像素点对应到预设的人体模型上的位置。可选地,使用预先设置人体模型的坐标体系表示上述模型位置。例如人体图像中像素点a与预设的人体模型中的位置a’对应,其中,a’的坐标位置为(x1,y2),此时人体图像中像素点a的模型位置可以使用(x1,y2)表示。具体地,计算机设备120的处理器121将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置。可选地,首先根据目标任务“人体坐标位置回归”构建神经网络模型的网络结构,并制作训练样本训练构建的神经网络模型的网络结构,得到神经网络模型;之后计算机设备120的处理器121运行该神经网络模型的各层网络的算法处理获取原始图,输出该原始图像中人体图像的每一像素点的模型位置。

步骤s220:根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值。

具体地,计算机设备120的处理器121根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值。例如:人体图像中包含像素点1,像素点2,像素点3,……,像素点n,处理器121从人体模型上获取像素值时,首先获取像素点1,像素点2,像素点3,……,像素点n的模型位置,获取结果为(x1,y1),(x2,y2),(x3,y3),……,(xn,yn),之后获取人体模型上坐标位置为(x1,y1),(x2,y2),(x3,y3),……,(xn,yn)的位置的像素值。

步骤s230:使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。

具体地,计算机设备120的处理器121使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。可选地,处理器121使用所述每一像素点的像素值渲染过程为:使用对应的像素值对人体图像中的每一像素点赋值,得到渲染后的人体图像。

上述实施例提出的图像处理方法,首先使用构建的神经网络模型对原始图像进行处理,以得到原始图像中人体图像的每一像素点的模型位置,之后使用人体模型中对应位置的像素值渲染原始图像中的人体图像得到图像的处理结果。该方法,可以实现对原始图像(例如rgb格式图像)中的特征提取与学习,得到原始图像中人体图像的像素点的模型位置,之后将预设人体模型上对应的像素值赋值给原始图像对应的像素点,这可以实现将预设人体模型的人物效果映射到原始图像中的人体上。因此,该方法可以作为对原始图像中人体图像的换装,局部精修等操作的基础。

例如:若上述图像处理方法使用的预设人体模型的人物效果为穿着红色外套,某一rgb格式的图片经过上述图像处理,可以将该预设人体模型中红色外套对应的像素值,赋值该rgb格式的图片中人物躯干部分对应的像素点,这其实就相当于完成了将该rgb格式的图片中人物的换装,效果为图片中人物由原来着装换成红色外套。

作为一种可选地实施方式,如图3所示,将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置的步骤包括:

步骤s211:获取原始图像中的多个候选区域。具体地,处理器121通过运行相应的神经网络算法,处理原始图像,得到原始图像中的多个候选区域。可选地,通过rpn网络(regionproposalnetwork,区域候选网络)处理原始图像得到原始图像中的多个候选区域。

步骤s212:提取所述多个候选区域中每一候选区域的特征值,并根据所述每一候选区域的特征值得到多个人体候选区域。具体地,处理器121提取所述多个候选区域中每一候选区域中的特征值,之后对所述每一候选区域中的特征值进行分类,并对各候选区域进行回归操作,并根据该分类与回归操作的结果得到多个人体候选区域。其中,本步骤对候选区域的特征值进行分类旨在确定该候选区域中的目标对象为人体对象还是非人体对象。本步骤中对候选区域进行回归操作是为了精修候选区域框,进而得到最终的候选区域。

步骤s213:对所述多个人体候选区域进行池化处理,得到多个人体特征向量。具体地,处理器121将得到的每一人体候选区域进行池化操作,即将相应的人体候选区域放缩到固定长宽大小,得到每一人体候选区域对应的人体特征向量。

步骤s214:将所述多个人体特征向量输入人体坐标位置回归神经网络,得到所述人体图像的每一像素点的模型位置。具体地,处理器121得到的多个人体特征向量输入人体坐标位置回归神经网络,得到人体图像的每一像素点的模型位置。应当清楚的是,人体坐标位置回归任务神经网络是基于人体像素点位置识别任务构建,并进行训练得到的神经网络。

上述获取人体图像的每一像素点的模型位置的方法,首先根据提取原始图像中的全部特征,之后再根据提取的全部特征的进行网络模型相应网络层的运算处理,有效的减少传统卷积神经网络提取图像中特征向量的运算量,提高了图像处理效率。

作为一种可选地实施方式,如图4所示,所述获取原始图像中的多个候选区域的步骤包括:

步骤s2111:对所述原始图像进行卷积操作,得到原始图像的特征值图。

其中,原始图像的特征值图是指原始图像经卷积操作,进行特征提取得到的包含该原始图像中所有特征值的特征值图。具体地,处理器121将原始图像输入神经网络模型中的基础卷积神经网络进行特征提取,得到原始图像中的所有特征值。

步骤s2112:对所述特征值图中特征值进行分类,得到所述原始图像中的多个候选区域。具体地,处理器121将步骤s2111得到的所有特征值输入神经网络模型中的生成目标候选区域神经网络,得到多个候选区域。其中,本步骤对特征值图中的特征值进行分类是为了得到候选的目标对象,以使处理器121可以根据候选的目标对象生成候选区域。例如在本申请中将目标对象设为人体,处理器121在对原始图像中的特征值进行分类后,得到原始图像中候选的人体。

可选的,处理器121可以使用通用分类器对特征值图中的特征值进行分类。应当清楚的是,通用分类器中设置了多个类别的目标对象对应的特征值。在将特征值输入通用分类器后,可以根据该特征值与通用分类器中设置的目标对象的特征值是否匹配,确定该特征值对应的对象是否为目标对象。例如:通用分类器设置人体、鸟、树木、建筑等等类别,每一类别都分别对一个特征值,设定原始图像中目标对象为人体,将原始图像的特征值图输入通用分类器后,可根据特征值图中的特征值与通用分类器设置的人体的特征值是否匹配,确定特征值图中哪些特征值对应人体。上述实施例提出的获取候选区域的方法,首先通过卷积操作提取原始图像中的特征值,便于快速得到准确的分类结果,得到候选的目标对象,进而基于候选的目标对象合理生成候选区域。作为一种可选地实施方式,如图5所示,根据所述每一候选区域中的特征值得到多个人体候选区域的步骤包括:

步骤s2121:将所述每一候选区域中的特征值输入人体分类神经网络,得到包含人体的候选区域。

其中,候选区域为基于原始图像中候选的目标对象生成区域。具体地,处理器121将所述每一候选区域中的特征值输入人体分类神经网络进行分类,得到包含人体的候选区域和不包含人体的候选区域。即该步骤是为了确定候选区域中是否包含目标对象,即确定候选区域中是否包含人体。

步骤s2122:将所述每一候选区域中的特征值输入最小外界矩形框坐标回归神经网络,对所述每一候选区域的边框进行调整,得到最终候选区域。其中,最终候选区域为候选区域经最小外界矩形框坐标回归神经网络处理,得到的候选区域。具体地,处理器121将所述每一候选区域中的特征值输入最小外界矩形框坐标回归神经网络,对所述每一候选区域的边框进行调整,得到最终候选区域。本步骤中的对候选区域的边框进行调整旨在使目标对象全部落入候选区域的范围。例如:候选区域m是基于目标对象人体x生成的候选区域,但是由于原始图像中目标对象人体x的右手轮廓不清晰,该区域未被准确识别,生成的候选区域m时未覆盖人体x的右手区域。处理器121使用最小外界矩形框坐标回归神经网络对该候选区域m的特征值进行运算处理,可以调整候选区域m的外部轮廓,得到最终候选区域m’,该最终候选区域m’包含完整的人体x。

需要说明的是,步骤s2121和步骤s2122的输入数据均是每一候选区域的特征值,因此这两个步骤可以为并行处理,进而提高数据处理效率。

步骤s2123:使用所述包含人体的候选区域筛选所述最终候选区域,得到包含人体的最终候选区域。

具体的,处理器121使用所述包含人体的候选区域筛选所述最终候选区域,得到包含人体的最终候选区域。可选的,处理器首先根据人体分类神经网络的输出结果,确定最终候选区域中是否包含人体,进而得到包含人体的最终候选区域。

步骤s2124:将人体面积比例大于预设阈值的包含人体的最终候选区域作为人体候选区域。具体地,处理器121计算包含人体的最终候选区域人体面积占包含该最终候选区域的面积的比例,并根据该比例是否大于预设阈值,得到人体候选区域。

由于本申请的图像处理方法旨在处理图像中的人体图像,使用上述实施例的方法可以得到处理的图像中人体面积比例符合要求的候选区域,即人体候选区域。使用上述实施例的方法得到的人体候选区域作为后续图像处理的输入数据,可以得到精细的图像处理结果。

作为一种可选地实施方式,如图6所示,上述图像处理方法还包括:

步骤s2141:将得到的所述多个人体特征向量输入人体语义分割任务神经网络,得到所述人体图像的人体语义分割结果。其中,人体语义分割为将原始图形中人体图像分割为多个人体部位对应的最终候选区域的操作。可选地,可以将原始图形中人体图像分割为头部区域、躯干区域、手臂、手部区域、腿部区域、脚部区域等最终候选区域。可选地,还可以进一步的,对上述人体图像进行更加精细的分割,例如将上述躯干区域划分为上躯干区域,下躯干区域;将手臂区域,划分为上臂区域和下臂区域等等。具体地,处理器121将得到的多个人体特征向量输入人体语义分割任务神经网络进行分类操作,得到所述人体图像的人体语义分割结果。应当清楚的是,人体语义分割任务神经网络是基于人体语义分割任务构建,并训练得到的神经网络。

步骤s2142:使用所述人体语义分割结果,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。具体地,处理器121使用所述人体语义分割结果,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。

应当清楚的是,上述人体语义分割结果是为了修正人体图像的每一像素点的模型位置,得到的人体语义分割结果越精细,根据该人体语义分割结果得到的像素点模型位置越精确。但是,越精细语义分割任务在也会随着人体各部位特征的稀疏,使得机器深度学习任务难度增加,进而难以得到好的网络输出结果,因此,在实际应用过程中,也需要根据实际需求的因素灵活选择人体语义分割任务神经网络的目标任务。

上述根据人体语义分割结果修正通过人体坐标位置回归任务神经网络得到的人体图像的每一像素点的模型位置的方法,增加了神经网络模型在目标识别过程中的提取特征多样性,因而可以得到更加准确的人体图像的每一像素点的模型位置,进而可以图像更加精细的处理。

作为一种可选地实施方式,如图7所示,上述图像处理方法还包括:

步骤s2141’:将得到的所述多个人体特征向量输入骨骼关节点回归任务神经网络,得到所述人体图像中骨骼关节点的模型位置。其中,骨骼关节点为基于人体生理特征在人体图像中对应设置的骨骼关节点。具体地,处理器121将得到的多个人体特征向量输入骨骼关节点回归任务神经网络进行回归操作,得到所述人体图像中骨骼关节点的模型位置。应当清楚的是,骨骼关节点回归任务神经网络是基于骨骼关节点识别任务构建,并训练得到的神经网络。

步骤s2142’:使用所述骨骼关节点的模型位置,调整所述每一像素点的模型位置,得到所述每一像素点最终的模型位置。具体地,处理器121使用所述人体语义分割结果和所述骨骼关节点的模型位置,调整所述每一像素点的模型位置,得到人体图像的每一像素点的最终的模型位置。

上述根据骨骼关节点的模型位置修正通过人体坐标位置回归任务神经网络得到的人体图像的每一像素点的模型位置的方法,是将识别的人体图像中关节点作为图像识别中的一种关键点,因此,相比于普通图像的像素点识别,增加图像中关键点的密度,因此可以得到更加准确的人体图像的每一像素点的模型位置,进而可以对图像进行更精细的处理。

需要说的是,在实际应用过程中可以将使用骨骼关节点调整像素点的模型位置的方案,与使用语义分割结果调整像素点的模型位置的方案联合使用以得到更加精细的图像处理效果。

作为一种可选地实施方式,如图8所示,在所述将原始图像输入神经网络模型的步骤之前,还包括:

步骤s240:获取训练图像样本,并对所述训练图像进行标注,得到多个模型训练样本。具体地,使用标注工具(例如photoshop等软件)对训练图像中进行标注。可选地,对训练图像中进行标注包括:对训练图像中的每一人体标注最小外界矩形框;对最小外界矩形框中的每一个人体标注边缘分割,将人体与背景分割开;对训练图像中每一人体进行人工语义分割标注;标注训练图像中每一人体的像素点模型位置。可选地,还可以对所述训练图像进行数据增强预处理,该预处理方式包括:将训练图像进行翻转和/或扰动操作。

步骤s250:使用所述多个模型训练样本训练原始神经网络模型,得到神经网络模型。具体地,预先根据目标任务构建神经网络模型的神经网络结构,之后,使用步骤s240得到的多个模型训练样本训练原始神经网络模型,直至网络模型的网络收敛,得到神经网络模型。

本实施例提供了一种获取上述实施中进行图像处理的神经网络模型的方法,可以得到更加准确的人体图像的每一像素点的模型位置,进而可以对图像进行更精细的处理。

作为一种可选地实施方式,如图9所示,所述使用所述多个模型训练样本训练原始神经网络模型,得到神经网络模型的步骤包括:

步骤s251:构建神经网络模型的神经网络结构。该神经网络结构包含faster-rcnn(fasterregion-basedconvolutionalneuralnetworks,基于候选区域的加速卷积神经网络)神经网络,人体坐标位置回归任务神经网络,人体语义分割任务神经网络,以及骨骼关节点回归任务神经网络。

步骤s252:使用所述多个模型训练样本,迭代执行所述神经网络结构中的faster-rcnn神经网络的正向推导和反向传播算法,得到faster-rcnn神经网络。具体地,训练faster-rcnn神经网络包括:

步骤a,将所述多个模型训练样本输入到所述神经网络结构中的faster-rcnn神经网络,使用随机梯度下降算法,计算faster-rcnn神经网络每一层的损失函数的梯度值,并使用得到的每一层的梯度值更新对应层的权值。

步骤b,利用反向传播算法,计算faster-rcnn神经网络每一层的误差灵敏度,并使用每一层的误差灵敏度更新对应层的权值。

步骤c,迭代执行所述步骤a和步骤b,直至使用每一层的梯度值更新对应层的权值与使用每一层的误差灵敏度更新对应层的权值相等,得到faster-rcnn神经网络。

可选地,该faster-rcnn神经网络可以包括基础卷积神经网络层、生成目标候选区域神经网络层、人体分类神经网络层、最小外界矩形框坐标回归神经网络层等网络层中的一种或几种。

步骤s253:将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体坐标位置回归任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体坐标位置回归任务神经网络。具体地,训练人体坐标位置回归任务神经网络的方法与上述faster-rcnn神经网络类似,具体过程可以参见上述faster-rcnn神经网络训练过程的步骤a-c,在此不再做详细介绍。

步骤s254:将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体语义分割任务神经网络,迭代执行所述人体语义分割任务神经网络的正向推导和反向传播算法,得到人体语义分割任务神经网络。

具体地,训练人体语义分割任务神经网络的方法与上述faster-rcnn神经网络类似,具体过程可以参见上述faster-rcnn神经网络训练过程的步骤a-c,在此不再做详细介绍。

步骤s255:将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的骨骼关节点回归任务神经网络,迭代执行所述骨骼关节点回归任务神经网络的正向推导和反向传播算法,得到骨骼关节点回归任务神经网络。具体地,训练骨骼关节点回归任务神经网络的方法与上述faster-rcnn神经网络类似,具体过程可以参见上述faster-rcnn神经网络训练过程的步骤a-c,在此不再做详细介绍

上述基于faster-rcnn神经网络构建所述神经网络模型,通过faster-rcnn神经网络精确地提取出所需的图片中的特征,再采用多任务(人体坐标位置回归任务、人体语义分割任和骨骼关节点回归任务)结合得人体坐标的方式,可以应用了处理的图片中多维度的特征,因此可以精确地得到处理的图片中每一像素点的位置。进而可以对图片做精细化处理。

作为一种可选地实施方式,上述图像处理方法,在使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果的步骤之后包括:

对所述渲染后的人体图像进行纹理效果平滑处理,得到最终图像处理结果。

上述对渲染后的人体图像进行纹理效果平滑处理处理,以使得图像处理效果(例如换装等)更加逼真。

在其中一个实施例中,如图10所示,为一个应用上述图像处理方法处理图像的步骤流程图,该方法包括如下步骤:

步骤s310:构建神经网络模型的网络结构,包括:设置faster-rcnn神经网络和人体坐标位置回归任务神经网络n_uvreg、人体语义分割任务神经网络n_seg和骨骼关节点回归任务神经网络n_kpreg。其中,faster-rcnn神经网络包括基础卷积神经网络n_base层、生成目标候选区域神经网络n_rpn层、人体分类神经网络n_classifier层和最小外界矩形框坐标回归神经网络n_reg层。步骤s320:获取rgb格式图像,并进行标注得到训练图像,包括:对获取的rgb图像中的每一人体标注最小外界矩形框;对最小外界矩形框中的每一个人体标注边缘分割,将人体与背景分割开;对训练图像中每一人体进行人工语义分割标注;标注训练图像中每一人体的像素点模型位置。

步骤s330:使用步骤s320得到的训练图像,对构建的神经网络模型进行训练,该训练过程的正向推导和反向传播两个过程。其中,正向推导过程包括如下步骤:

a.将训练图像输入基础卷机神经网络n_base,经过多次运算得到特征图f。

b.通过生成目标候选区域神经网络n_rpn,得到候选区域集合{r_n}。

c.获取候选区域集合{r_n}中的每一个候选区域在特征图f中的位置,得到候选区域特征图集合{rf_n}。

e.将候选区域特征图集合{rf_n}输入人体分类神经网络n_classifier,进行分类,得到包含人体的候选区域特征图。

f.将候选区域特征图集合{rf_n}输入最小外界矩形框坐标回归神经网络n_reg,进行候选区域的边框精修,得到训练图像中最终候选区域。

g.使用步骤e输出结果,筛选候选区域特征图集合{rf_n},得到包含人体的最终候选区域,并根据包含人体的最终候选区域中人体比例是否大于预设阈值得到最终候选区域特征图集合{rfh_n}。

h.将人体候选区域特征图集合{rfh_n}中的每个特征图进行放缩,得到具有固定长宽大小的标准特征图集合{rfhr_n}。

i.将标准特征图集合{rfhr_n}输入全卷积神经网络n_final,得到最终特征图集合{rfhrf_n}

j.将最终特征图集合{rfhr_n}输入人体语义分割任务网络n_seg,得到人体语义分割结果集合{hs};将最终特征图集合{rfhr_n}输入人体坐标位置回归神经网络n_uvreg,得到人体模型坐标位置集合{uv};将最终特征图集合{rfhr_n}输入骨骼关节点回归任务神经网络n_kpreg,得到人体骨骼关键点模型坐标集合{kp}。

反向传播过程包括:

k.计算各网络层的损失:使用损失函数lcls计算人体分类神经网络n_classifier前向推导过程的损失loss1,使用损失函数lreg计算最小外界矩形框坐标回归神经网络n_reg的损失loss2,使用损失函数lseg计算人体语义分割任务神经网络n_seg的损失loss3,使用损失函数luvreg计算人体坐标位置回归神经网络n_uvreg的损失loss4使用损失函数lkpreg计算骨骼关节点回归任务神经网络n_kpreg的损失loss4。

l.根据loss1,loss2,loss3,loss4,loss5计算正向传播过程的损失loss:loss=loss1+loss+loss3+loss4+loss5。

m.将得到的损失loss反向传播,得到灵敏度值δ,并使用该灵敏度值δ更新各层权重。

n.迭代执行上述步骤a-m,直至各层网络收敛,得到神经网络模型。

步骤s340:将待处理图片x输入步骤s330得到的神经网络模型,该模型执行上述神经网络模型训练过程中的正向推导过程,输出图片x中人体图像的每一像素点的模型位置。

步骤s350:按照图片x中人体图像的每一像素点的模型位置,预设人体模型上获取与所述每一像素点对应的像素值。

步骤s360:使用获取的像素值对图片x中人体图像的相应像素点进行渲染和平滑处理,得到图像x的处理结果。

本实施例提供的图像处理方法,可以将预设人体模型上的像素值精确地渲染至图片x中的人体图像上。

应该理解的是,虽然图2-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图11所示,提供了一种图像处理装置,所述装置包括:

模型位置获取模块100,用于将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置。

像素值获取模块200,用于根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值。

渲染模块300,用于使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。

作为一种可选地实施方式,模型位置获取模块100,用于获取原始图像中的多个候选区域;提取所述多个候选区域中每一候选区域的特征值,并根据所述每一候选区域的特征值得到多个最终候选区域;对得到的所述多个最终候选区域进行池化处理,得到多个人体特征向量;将所述多个人体特征向量输入人体坐标位置回归神经网络,得到所述人体图像的每一像素点的模型位置。

作为一种可选地实施方式,模型位置获取模块100,用于对所述原始图像进行卷积操作,得到原始图像中特征值图;对所述特征值图中特征值进行分类,得到所述原始图像中的多个候选区域。

作为一种可选地实施方式,模型位置获取模块100,用于将所述每一候选区域中的特征值输入人体分类神经网络,得到包含人体的候选区域;将所述每一候选区域中的特征值输入最小外界矩形框坐标回归神经网络,对所述每一候选区域的边框进行调整,得到最终候选区域;使用所述包含人体的候选区域筛选所述最终候选区域,得到包含人体的最终候选区域;将人体面积比例大于预设阈值的包含人体的最终候选区域作为人体候选区域。

作为一种可选地实施方式,模型位置获取模块100,用于将得到的所述多个人体特征向量输入人体语义分割任务神经网络,得到所述人体图像的人体语义分割结果;使用所述人体语义分割结果,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。

作为一种可选地实施方式,模型位置获取模块100,用于将得到的所述多个人体特征向量输入骨骼关节点回归任务神经网络,得到所述人体图像中骨骼关节点的模型位置;使用所述骨骼关节点的模型位置,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。

作为一种可选地实施方式,模型位置获取模块100,还用于使用所述多个模型训练样本训练原始神经网络模型,得到所述神经网络模型。

作为一种可选地实施方式,模型位置获取模块100,用于构建神经网络模型的神经网络结构;使用所述多个模型训练样本,迭代执行所述神经网络结构中的faster-rcnn神经网络的正向推导和反向传播算法,得到faster-rcnn神经网络;将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体坐标位置回归任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体坐标位置回归任务神经网络;将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体语义分割任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体语义分割任务神经网络;将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的骨骼关节点回归任务神经网络,迭代执行所述骨骼关节点回归任务神经网络的正向推导和反向传播算法,得到骨骼关节点回归任务神经网络。

作为一种可选地实施方式,渲染模块300,还用于对所述渲染后的人体图像进行纹理效果平滑处理,得到最终图像处理结果。

关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其结构示意图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:将原始图像输入神经网络模型,得到所述原始图像中人体图像的每一像素点的模型位置;根据所述每一像素点的模型位置,从预设人体模型上获取与所述每一像素点对应的像素值;使用所述每一像素点对应的像素值渲染所述人体图像,得到图像处理结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取原始图像中的多个候选区域;提取所述多个候选区域中每一候选区域的特征值,并根据所述每一候选区域的特征值得到多个最终候选区域;对得到的所述多个最终候选区域进行池化处理,得到多个人体特征向量;将所述多个人体特征向量输入人体坐标位置回归神经网络,得到所述人体图像的每一像素点的模型位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:对所述原始图像进行卷积操作,得到原始图像的特征值图;对所述原始图像中所有的特征值进行分类,得到所述原始图像中的多个候选区域。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述每一候选区域中的特征值输入人体分类神经网络,得到包含人体的候选区域;将所述每一候选区域中的特征值输入最小外界矩形框坐标回归神经网络,对所述每一候选区域的边框进行调整,得到最终候选区域;使用所述包含人体的候选区域筛选所述最终候选区域,得到包含人体的最终候选区域;将人体面积比例大于预设阈值的包含人体的最终候选区域作为人体候选区域。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将得到的所述多个人体特征向量输入人体语义分割任务神经网络,得到所述人体图像的人体语义分割结果;使用所述人体语义分割结果,对所述每一像素点的模型位置进行调整,得到所述每一像素点的最终的模型位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将得到的所述多个人体特征向量输入骨骼关节点回归任务神经网络,得到所述人体图像中骨骼关节点的模型位置;使用所述骨骼关节点的模型位置,对所述每一像素点的模型位置进行调整,得到所述每一像素点最终的模型位置。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:使用所述多个模型训练样本训练原始神经网络模型,得到所述神经网络模型。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:构建神经网络模型的神经网络结构;使用所述多个模型训练样本,迭代执行所述神经网络结构中的faster-rcnn神经网络的正向推导和反向传播算法,得到faster-rcnn神经网络;将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体坐标位置回归任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体坐标位置回归任务神经网络;将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的人体语义分割任务神经网络,迭代执行所述人体坐标位置回归任务神经网络的正向推导和反向传播算法,得到人体语义分割任务神经网络;将所述faster-rcnn神经网络的输出结果输入所述神经网络结构中的骨骼关节点回归任务神经网络,迭代执行所述骨骼关节点回归任务神经网络的正向推导和反向传播算法,得到骨骼关节点回归任务神经网络。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:对所述渲染后的人体图像进行纹理效果平滑处理,得到最终图像处理结果。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意实施例提供的图像处理方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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