轮廓提取方法及装置、计算机装置及可读存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种轮廓提取方法及装置、计算机装置及可读存储介质。
背景技术
本部分旨在为权利要求书及具体实施方式中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在现有特效影像中,常用及人物轮廓的提取技术,然而,在目前自然背景的人物轮廓提取技术中,普遍存在提取的人物轮廓的人物边缘精度不高、算法复杂等问题,导致无法适应商用要求,且实际体验效果不佳。
发明内容
鉴于此,有必要提供一种轮廓提取方法及装置、计算机装置及可读存储介质,在降低轮廓提取的运算量及运算复杂程度的同时,提高轮廓提取的精确度。
第一方面,本发明提供一种轮廓提取方法,所述方法包括:
获取拍摄场景的背景影像,其中,所述背景影像为仅包括背景不包括目标物的影像;
获取所述拍摄场景的第一当前影像和第二当前影像,其中,所述第一当前影像包括所述目标物在所述背景中的影像,所述第二当前影像包括具有所述目标物在所述背景中的深度信息的影像;
根据所述深度信息提取所述第二当前影像中的所述目标物的图像内容;
利用所述背景影像对所述第一当前影像进行处理得到所述目标物的第一轮廓图像;
利用所述第一轮廓图像和所述图像内容进行运算处理得到所述目标物的第二轮廓图像。
进一步的,所述利用所述背景影像对所述第一当前影像进行处理得到所述目标物的第一轮廓图像包括:
算取所述背景影像和所述第一当前影像的差值的绝对值得到第一处理图像;
算取所述第一处理图像与所述图像内容的和值得到第二处理图像;
利用边缘检测算法提取所述第一处理图像中的所述目标物的边缘图像,其中,所述边缘图像为在所述第一当前影像中,所述目标物相对于所述背景中所呈现出的边界像素;
算取所述第二处理图像和所述边缘图像的差值以得到所述第一轮廓图像。
进一步的,所述背景影像、所述第一当前影像为通过RGB摄像头获取的影像。
进一步的,所述第二当前影像为通过TOF深度摄像头获取的影像。
进一步,所述边缘检测算法包括以下算法中的至少一种:Canny算法和Sobel算法。
进一步的,所述利用所述第一轮廓图像和所述图像内容处理得到所述目标物的第二轮廓图像包括:
利用图像膨胀算法对所述图像内容进行处理得到第三处理图像;
算取所述第三处理图像和所述第一轮廓图像的乘积并减去所述第一当前影像中的当前帧图像的前后帧差异图像以得到所述第二轮廓图像。
进一步的,所述前后帧差异图像为第一差异图像与第二差异图像的和值,其中,所述第一差异图像为所述当前帧图像和所述当前帧图像的前一帧图像的差值的绝对值,所述第二差异图像为所述当前帧图像和所述当前帧图像的后一帧图像的差值的绝对值。
第二方面,本发明还提供一种轮廓提取装置,所述装置包括:
第一获取模块,用于获取拍摄场景的背景影像,其中,所述背景影像为仅包括背景不包括目标物的影像;
第二获取模块,用于获取所述拍摄场景的第一当前影像和第二当前影像,其中,所述第一当前影像包括所述目标物在所述背景中的影像,所述第二当前影像包括具有所述目标物在所述背景中的深度信息的影像;
第一提取模块,用于根据所述深度信息提取所述第二当前影像中的所述目标物的图像内容;
第一处理模块,用于利用所述背景影像对所述第一当前影像进行处理得到所述目标物的第一轮廓图像;
第二处理模块,用于利用所述第一轮廓图像和所述图像内容进行运算处理得到所述目标物的第二轮廓图像。
进一步的,所述第一处理模块包括:
第一计算模块,用于算取所述背景影像和所述第一当前影像的差值的绝对值得到第一处理图像;
第二计算模块,用于算取所述第一处理图像与所述图像内容的和值得到第二处理图像;
第二提取模块,用于利用边缘检测算法提取所述第一处理图像中的所述目标物的边缘图像,其中,所述边缘图像为在所述第一当前影像中,所述目标物相对于所述背景中呈现出的边界像素;
第三计算模块,用于算取所述第二处理图像和所述边缘图像的差值以得到所述第一轮廓图像。
进一步的,所述第二处理模块包括:
第四计算模块,用于利用图像膨胀算法对所述图像内容进行处理得到第三处理图像;
第五计算模块,用于算取所述第三处理图像和所述第一轮廓图像的乘积并减去所述第一当前影像中的当前帧图像的前后帧差异图像以得到所述第二轮廓图像。
第三方面,本发明还提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上所述的轮廓提取方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于:所述计算机程序(指令)被处理器执行时实现如上所述的轮廓提取方法的步骤。
本发明提供的一种轮廓提取方法及装置、计算机装置及可读存储介质,利用背景影像和第一当前影像以得到第一轮廓图像,并结合利用深度信息提取得到的目标物的图像内容,再对其进行处理即可得到精度更高的所述目标物的第二轮廓图像。在背景与目标物轮廓边缘部分的颜色相同的图像部分通过深度信息进行图像内容的补偿,因而解决轮廓边缘处的相同颜色较难识别的问题,提升识别精度,且由于借助深度摄像头,依据所述深度摄像头获取图像具有的深度信息可缩短确定目标物的大致轮廓的步骤,因而本发明涉及的运算量及运算复杂程度均不高,有利于商业推广及应用。
进一步的,通过算取背景影像与第一当前影像的差值以得到去除二者相同像素的第一处理图像,其后,算取第一处理图像与图像内容的和值以得到像素叠加的第二处理图像,同时提取第一处理图像的边缘图像,再者,算取第二处理图像和边缘图形的差值以得到第一轮廓图像,最后,再利用第二处理图像和经深度信息提取后的图像内容进行运算得到第二轮廓图像。据此,以提取出更高精度的目标物的轮廓。
进一步的,利用背景影像和第一当前影像得到第一轮廓图像的同时,对利用深度信息得到的图像内容进行处理以得到第三处理图像,其后,再对所述第三处理图像、所述第一轮廓图像及当前帧图像的前后帧差异图像进行运算处理,由此提升得到的第二轮廓图像精度。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施方式的轮廓提取方法的流程图;
图2是本发明第二实施方式的轮廓提取方法的流程图;
图3是本发明第三实施方式的轮廓提取方法的流程图;
图4是本发明一实施方式下的运算逻辑结构示意图;
图5是本发明一实施方式的轮廓提取装置的示例性的功能模块示意图;
图6是本发明一实施方式的计算机装置的示例性结构示意图。
主要元件符号说明
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。
目前,在自然背景图像的目标物轮廓提取技术中,存在提取的目标物的边缘精度不高,算法复杂且运算量庞大,且还存在边缘抖动、对与目标物相同颜色背景易出现识别错误等问题,导致现有的轮廓提取技术无法达到商用水平,且实际体验效果不佳。目前的轮廓提取技术主要通过超像素(Super Pixel)算法对自然背景图像进行分类,结合Grab Cut(迭代的图像分割(Graph Cut))算法进行聚类,从而提取出目标物轮廓。然而,由于此技术单纯使用算法解决聚类分类,导致计算量庞大,同时又由于仅使用RGB图像进行分类,导致相同颜色的前景与背景难以识别,导致提取的轮廓精度不高。
基于上述,本发明的轮廓提取方法结合深度摄像头获取的深度信息及RGB摄像头获取的图像,通过相关算法以提取出高精度的目标物体轮廓。
本发明的轮廓提取方法可适用于视频直播、混合现实(Mixed Reality,MR)、虚拟现实(Virtual Reality,VR)等需要去除拍摄时的自然背景影像的各种应用,相对传统算法,本发明涉及的运算复杂度不高且运算量较小,因而可在满足影像拍摄的实时性要求的同时,提高目标物轮廓的提取精度。
图1是本发明第一实施方式的轮廓提取方法的流程图,所述轮廓提取方法应用于计算机装置中。如图1所示,该轮廓提取方法可以包括如下步骤:
步骤101:获取拍摄场景的背景影像,其中,所述背景影像为仅包括有背景不包括目标物的影像。
本实施方式中,所述拍摄场景包括用于获取特定视觉效果和/或待处理的视觉影像的拍摄环境。
可以理解的是,所述背景影像中不包括目标物的影像,相应的,所述背景影像中的像素均可称为背景像素。
可以理解的是,所述目标物可以是处于运动状态或静止状态下的人或物。
步骤102:获取所述拍摄场景的第一当前影像和第二当前影像,其中,所述第一当前影像包括所述目标物在所述背景中的影像,所述第二当前影像包括具有所述目标物在所述背景中的深度信息的影像。
本实施方式中,第一当前影像和第二当前影像中均包括有目标物,且分别较前述的背景影像而言:第一当前影像包括目标物,第二当前影像同样包括所述目标物且具有目标物在背景中的深度信息。
本实施方式中,所述第一当前影像可以通过RGB摄像头获取,所述第二当前影像可以通过TOF(Time of Flight)摄像头获取。
可以理解的是,所述背景影像可以通过RGB摄像头获取。
可以理解的是,所述TOF摄像头利用向目标物连续地发送光脉冲,然后由传感器接收从目标物返回的光,通过探测光脉冲的飞行时间来得到目标物的距离。
步骤103:根据所述深度信息提取所述第二当前影像中的所述目标物的图像内容。
本实施方式中,利用深度信息识别第二当前影像中的所述目标物的图像内容区域,并将该区域提取出来。
步骤104:利用所述背景影像对所述第一当前影像进行处理得到所述目标物的第一轮廓图像。
本实施方式中,比较所述背景影像和所述第一当前影像的差异,经图像分析及处理,以得到目标物的第一轮廓图像。
步骤105:利用所述第一轮廓图像和所述图像内容进行运算处理得到所述目标物的第二轮廓图像。
本实施方式中,利用所述背景影像和第一当前影像以得到第一轮廓图像,并结合利用深度信息提取得到的目标物的图像内容,再对其进行处理即可得到精度更高的所述目标物的第二轮廓图像。在背景与目标物轮廓边缘部分的颜色相同的图像部分通过深度信息进行图像内容的补偿,因而利于解决轮廓边缘处的相同颜色较难识别的问题,提升识别精度,且由于借助深度摄像头,依据所述深度摄像头获取图像具有的深度信息可缩短确定目标物的大致轮廓的步骤,因而本发明涉及的运算量及运算复杂程度均不高,有利于商业推广及应用。
可以理解的是,本实施方式的相关步骤的顺序可以相互调换,如步骤103与步骤104。
图2是本发明第二实施方式的轮廓提取方法的流程图。第二实施方式与第一实施方式的不同之处在于,包括具体获取背景影像与第一当前影像的差值的绝对值等步骤。需要说明的是,在本发明的精神或基本特征的范围内,适用于第一实施方式中的各具体方案也可以相应的适用于第二实施方式中,为节省篇幅及避免重复起见,在此就不再赘述。
图2所示的轮廓提取方法可以包括如下步骤:
步骤201:获取拍摄场景的背景影像,其中,所述背景影像为仅包括背景不包括目标物的影像。
步骤202:获取所述拍摄场景的第一当前影像和第二当前影像,其中,所述第一当前影像包括目标物在所述背景中的影像,所述第二当前影像包括具有所述目标物在所述背景中的深度信息的影像。
步骤203:根据所述深度信息提取所述第二当前影像中的所述目标物的图像内容。
步骤204:算取所述背景影像和所述第一当前影像的差值的绝对值得到第一处理图像。
本实施方式中,通过图像的减法运算,检测出所述背景影像和所述第一当前影像之间的差异信息。
步骤205:算取所述第一处理图像与所述图像内容的和值得到第二处理图像。
本实施方式中,通过图像的加法运算,以输出较低的具有叠加性质的随机噪声的图像。
步骤206:利用边缘检测算法提取所述第一处理图像中的所述目标物的边缘图像,其中,所述边缘图像为在所述第一当前影像中,所述目标物相对于所述背景所呈现出的边界像素。
本实施方式中,利用边缘检测算法提取得到影像中目标物的边缘图像,以去除在运动状态下的目标物的边缘位置处的黑边。
本实施方式中,所述边缘检测算法可以是Canny算法,还可以是Sobel算法。
可以理解的是,所述边界像素可以是至少和一个背景像素邻接的内部像素(影像中的目标物内容)。
步骤207:算取所述第二处理图像和所述边缘图像的差值以得到第一轮廓图像。
本实施方式中,所述第二处理图像为经过差异化检测并进行降噪处理的图像。而所述边缘图像为自第一处理图像中提取的所述目标物获得,将第二处理图像和边缘图像进行相减运算,以得到去除背景像素的图像。
步骤208:利用所述第一轮廓图像和所述图像内容进行运算处理得到所述目标物的第二轮廓图像。
本实施方式中,通过图像运算处理,即通过算取背景影像与第一当前影像的差值以得到去除二者相同像素(去除背景像素)的第一处理图像,其后,算取第一处理图像与图像内容的和值以得到像素叠加的第二处理图像,同时提取第一处理图像的边缘图像,再者,算取第二处理图像和边缘图形的差值以得到第一轮廓图像,最后,再利用第二处理图像和经深度信息提取后的图像内容进行运算得到第二轮廓图像。据此,以提取出更高精度的目标物的轮廓。
图3是本发明第三实施方式的轮廓提取方法的流程图。所述第三实施方式与如上述的第一实施方式、第二实施方式的主要区别在于,第三实施方式中涉及利用图像膨胀算法进行图像处理等步骤。可以理解的是,在本发明的精神或基本特征的范围内,适用于第一实施方式、第二实施方式中的各具体方案也可以相应的适用于第三实施方式中,为节省篇幅及避免重复起见,在此就不再赘述。
如图3所示,所述轮廓提取方法可以包括如下步骤:
步骤301:获取拍摄场景的背景影像,其中,所述背景影像为仅包括背景不包括目标物的影像。
步骤302:获取所述拍摄场景的第一当前影像和第二当前影像,其中,所述第一当前影像包括所述目标物在所述背景中的影像,所述第二当前影像包括具有所述目标物在所述背景中的深度信息的影像。
步骤303:根据所述深度信息提取所述第二当前影像中的所述目标物的图像内容。
步骤304:利用所述背景影像对所述第一当前影像进行处理得到所述目标物的第一轮廓图像。
步骤305:利用图像膨胀算法对所述图像内容进行处理得到第三处理图像。
本实施方式中,利用图像膨胀算法进行运算处理,以根据所述图像内容划定目标物的轮廓范围。
步骤306:算取所述第三处理图像和所述第一轮廓图像的乘积并减去所述第一当前影像中的当前帧图像的前后帧差异图像以得到所述第二轮廓图像。
本实施方式中,前后帧差异图像为第一差异图像与第二差异图像的和值,其中,第一差异图像为当前帧图像和当前帧图像的前一帧图像的差值的绝对值,第二差异图像为当前帧图像和当前帧图像的后一帧图像的差值的绝对值。
本实施方式中,利用第三处理图像与第一轮廓图像相乘,将第三处理图像作为掩膜图像,以屏蔽掉第一轮廓图像上的部分像素。
本实施方式中,所述前后帧差异图像通过如下子步骤得到:
步骤306(1):算取影像中的当前帧图像及其的前一帧图像的差值(相减运算)并取该差值的绝对值以得到第一差异图像。
步骤306(2):算取影像中的当前帧图像及其的后一帧图像的差值,并取该差值的绝对值以得到第二差异图像。
步骤306(3):对所述第一差异图像和第二差异图像进行相加运算处理,以得到第一差异图像和第二差异图像的叠加图像。
本实施方式中,将乘法运算处理得到结果与相加运算处理得到的结果进行相减处理,以得到需要的所述第二轮廓图像。
利用本实施方式的轮廓提取方法,在利用背景影像和第一当前影像得到第一轮廓图像的同时,对利用深度信息得到的图像内容进行处理以得到第三处理图像,其后,再对所述第三处理图像、所述第一轮廓图像及当前帧图像的前后帧差异图像进行运算处理,由此提升得到的第二轮廓图像精度。
图4是本发明一实施方式下的运算逻辑结构示意图。在所述运算逻辑结构中,原始图像包括背景图像、当前图像、具有深度信息的当前图像、当前图像的前一帧图像及当前图像的后一帧图像。针对原始图像进行图像的代数运算以得到最终图像(前述的第二轮廓图像),如背景图像与当前图像相减得到输出结果①,输出结果①为一定程度上去除当前图像中的背景所得到的目标物的图像内容。
算取输出结果①的绝对值得到输出结果②,并将输出结果②与包含深度信息的当前图像相加,以得到输出结果③,所述输出结果③为输出结果②的图像与包含深度信息的当前图像的叠加图像。与此同时,提取输出结果②的目标物的边缘以得到输出结果④;对包含深度信息的当前图像进行扩大边缘化处理(具体如膨胀算法处理)得到输出结果⑤,输出结果⑤为包括目标物的一定轮廓范围的图像。
其后,算取输出结果③与输出结果④的差值得到输出结果6,输出结果⑥的图像为去除输出结果③与输出结果④中的目标物的边缘的图像。
算取输出结果⑤与输出结果⑥的乘积得到输出结果⑦,其中,所述输出结果⑤的图像作为掩膜图像,则输出结果⑦为屏蔽输出结果⑥的图像中的对应输出结果⑤的图像的部分后的图像。
与此同时,取当前帧图像与当前帧图像的前一帧图像的差值得到输出结果⑧,且取输出结果⑧的绝对值以得到输出结果⑨。取当前帧图像与当前帧图像的后一帧图像的差值得到输出结果⑩,且取输出结果⑩的绝对值以得到输出结果
其后,算取输出结果⑨与输出结果
的和值以得到输出结果
输出结果
为当前帧图像与其的前一帧图像、后一帧图像的差异的叠加图像。
最后,算取输出结果⑦与输出结果
的差值得到输出结果
即最终图像。
图5是本发明一实施方式的轮廓提取装置的示例性功能模块示意图。轮廓提取装置100包括第一获取模块11、第二获取模块12、第一提取模块13、第一计算模块14、第二计算模块15、第二提取模块16、第三计算模块17、第四计算模块18及第五计算模块19,以实现利于解决轮廓边缘处的相同颜色较难识别的问题,提升识别精度,且涉及的运算量及运算复杂程度均不高。
具体地,所述轮廓提取装置100中的各模块功能如下:
第一获取模块11,可用于获取拍摄场景的背景影像,其中,所述背景影像为仅包括背景不包括目标物的影像。
第二获取模块12,可用于获取所述拍摄场景的第一当前影像和第二当前影像,其中,所述第一当前影像包括所述目标物在所述背景中的影像,所述第二当前影像包括具有所述目标物在所述背景中的深度信息的影像。
第一提取模块13,可用于根据所述深度信息提取所述第二当前影像中的所述目标物的图像内容。
第一处理模块及第二处理模块,其中,第一处理模块可用于利用所述背景影像对所述第一当前影像进行处理得到所述目标物的第一轮廓图像。第二处理模块可用于利用所述第一轮廓图像和所述图像内容进行运算处理得到所述目标物的第二轮廓图像。
所述第一处理模块具体可包括:
第一计算模块14,可用于算取所述背景影像和所述第一当前影像的差值的绝对值得到第一处理图像。
第二计算模块15,可用于算取所述第一处理图像与所述图像内容的和值得到第二处理图像。
第二提取模块16,可用于利用边缘检测算法提取所述第一处理图像中的所述目标物的边缘图像,其中,所述边缘图像为在所述第一当前影像中,所述目标物相对于所述背景中呈现出的边界像素;
第三计算模块17,可用于算取所述第二处理图像和所述边缘图像的差值以得到所述第一轮廓图像。
所述第二处理模块具体可包括:
第四计算模块18,可用于利用图像膨胀算法对所述图像内容进行处理得到第三处理图像。
第五计算模块19,可用于算取所述第三处理图像和所述第一轮廓图像的乘积并减去所述第一当前影像中的当前帧图像的前后帧差异图像以得到所述第二轮廓图像。
可以理解的是,本发明的轮廓提取装置100可包括上述模块中的一个或者多个,以实现相应的功能和/或效果。
图6是本发明一实施方式的计算机装置的示例性的结构示意图。如图6所示,本实施方式提供的计算机装置1包括处理器10、存储器20、摄像头30以及存储在所述存储器20中并可在所述处理器10上运行的计算机程序,如轮廓提取程序,以实现提取目标物的更高精度轮廓的功能。
所述计算机装置1可以是手机、桌上型计算机及云端服务器等计算设备。所述处理器10可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
所述存储器20可用于存储前述的轮廓提取装置,所述处理器10通过运行或执行存储在所述存储器20内的轮廓提取装置中的模块,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。
所述摄像头30包括RGB摄像头和深度摄像头,所述深度摄像头可以是TOF摄像头。
本发明所述计算机装置1集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端装置权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施方式对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。