著录项信息
专利名称 | 一种基于Kinect和网络摄像机的动态人像合成方法 |
申请号 | CN201510023482.7 | 申请日期 | 2015-01-16 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-05-06 | 公开/公告号 | CN104599231A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06T3/00 | IPC分类号 | G;0;6;T;3;/;0;0查看分类表>
|
申请人 | 汕头大学 | 申请人地址 | 广东省汕头市金平区大学路243号汕头大学
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 汕头大学 | 当前权利人 | 汕头大学 |
发明人 | 庄礼鸿;吴明霓;邹丰懋 |
代理机构 | 广州三环专利商标代理有限公司 | 代理人 | 温旭;张泽思 |
摘要
本发明涉及互动视讯领域,尤其涉及一种基于Kinect和网络摄像机的动态人像合成方法,采用Kinect体感设备对包含有人像的影像进行拍摄并产生深度信息,所述方法包括以下步骤:S1影像分析;S2头部追踪;S3人像切割;S4视讯合成。与现有技术相比,本发明排除了动态影像进行影像切割所需的庞大运算时间,使用动态人像切割的方法,能让人像完整的表达,尤其是在头部的区域最为显著,切割好的人像经由边缘透明处理后,让人像能更佳的融合进视讯当中。
1.一种基于Kinect和网络摄像机的动态人像合成方法,采用Kinect体感设备对包含有人像的影像进行拍摄并产生深度信息,其特征在于,所述方法包括以下步骤:
S1影像分析
用trimap方法将深度信息分为前景、背景和不确定区域,所述前景为已知人像,所述背景为已知人像以外的场景,所述不确定区域为有可能是前景或是背景的未归类区域;
S2头部追踪
对已知人像的头部骨架进行追踪;
S3人像切割
对已知人像进行处理和切割,得到切割人像;
S4视讯合成
将切割人像与网络摄像机拍摄的影像进行合成;
所述步骤S3包括以下步骤:
S31校正
使用SDK提供的MapDepthFrameToColorFrame方法进行左右视差的深度校正,让深度位置符合色彩位置;
S32扩张
对已知人像深度进行影像扩张,将深度间的空隙填满;
S33修复
利用头部追踪将在头部侦测范围内的不确定人像纳入到已知人像中进行头部的修复,得到修复人像;
S34边缘透明化
对修复人像的左、右、上的边缘进行边缘侦测,再将侦测到的边缘进行透明化;
S35切割
对边缘透明化的人像的边缘进行切割,得到切割人像;
所述步骤S33中的头部侦测范围如公式(1)(2)所示:
在公式(1)中,Distanceskeleton为骨架距离,代表头部骨架点Headm到颈部骨架点Neckn的最短距离, 为目前像素距离,是由头部骨架点Headm到目前运算像素点
Pixeli的最短距离,m、n、i为各自的像素位置,T则为侦测头部区域的门槛值,为骨架距离的
0.6倍,在公式(2)中,Unsureregion代表不确定区域, 代表已知人像像素,当目前像素距离小于T时,并且目前像素位于不确定区域中,将其纳入到已知人像中;
所述步骤S34的边缘侦测为先设定具有方向性递减的透明度矩阵,如公式(3)所示:
其中Alphaleft、Alpharight、Alphatop分别存有向左、向右、向上递减的透明度矩阵,数值为十六进制,当值为ff为完全不透明,值为00时为完全透明,
将透明度矩阵分别套用在对应方向的边缘上,边缘侦测的方法如公式(4)(5)(6)所示:
其中Ortherregion为非人像的其它区域,
公式(4)是针对左方的边缘侦测,当运算经过连续5个以上的非人像像素后,目前的像素位于修复人像之中,则目前的像素视为左侧的边缘,以目前的像素透明度 为中心,使用Alphaleft来进行边缘透明化,
公式(5)是针对右方的边缘侦测,要不断地重新记录像素在修复人像区域之中的最新位置,当运算经过连续5个以上的非人像像素后,原先记录位于修复人像的像素位置则视为右侧边缘,使用Alpharight进行边缘透明化,
公式(6)是针对上方的边缘侦测,其中width为彩色影像的数据宽度,当像素位于修复人像之中,而往上连续5个以上为非人像像素,则将目前像素视为上方边缘,使用Alphatop进行边缘透明化。
一种基于Kinect和网络摄像机的动态人像合成方法\n技术领域\n[0001] 本发明涉及互动视讯领域,尤其涉及一种基于Kinect和网络摄像机的动态人像合成方法。\n背景技术\n[0002] 人与人的互动是建立人际关系的重要过程,除了传统的电话通讯外,网络传输的快速发展以及智能型行动装置的普及,使人们的互动不再只能面对面进行,也能进行远距互动。近年来行动装置也能藉由社群网站(如:Facebook、Google+、无名小站)进行图片或文字等多媒体的交流,让互动多过程更多元丰富,已成为了现今年青年族群的主要交流方式,可是这也间接导致人们的互动被局限在小小的装置接口上,让“低头族”这一词应运而生。\n在交互式多媒体中,视讯也是一种常见的交流方式,利用网络摄影机,让相异各地的人们,能看见对方的人物画面,实时的与对方互动。而目前网络摄影机也成为智能型行动装置的基本配备,让视讯不再被固定地点所限制。\n[0003] 在互动技术当中,视讯通讯是一种常见的交流方式,利用网络摄影机(Web Camera),让异地的人们,能看见对方的人物画面,实时与对方互动,产生对方就在面前的感觉。利用人像结合视讯的合成,能让使用者不单纯只是言语上的交流,也能透过视讯画面来进行肢体上的交流,让互动表达的方式更为丰富多元。交互式视讯(Interactive Video)自\n2005年以来,网络带宽的扩大,因特网的用户逐渐增多,使用视频交流的人们也跟着上升。\n交互式视讯的种类可分为自定义型,探索型和对话型的在线交互式视讯。自定义型交互式视讯是指用户能对视讯进行调整和编辑,用一些像是按钮等互动组件,做出用户所喜好的视讯。探索型交互式讯是允许使用者透过一个空间从多个角度来看一个物体,像是一些在网络上的美术展览,能藉由多个角度和进行旋转,仔细的欣赏艺术品。对话型交互式视讯也就是现今常用的远程实时视讯通讯,利用网络摄影机等设备来进行一对一或一对多的视讯对话。应用像是使用交互式视讯游戏来对老人下肢肌肉的康复训练,只要在家中就能透过视讯传达医生的指令来执行复健运动。这些互动多是用户与虚拟对象的互动,若能进行本文方法的应用,让多用户异地进行实体互动,达成网络社群与参与者间的视讯融合式互动,给予视讯互动更加真实的交流。\n[0004] 互动的方式除了前述的交互式多媒体外,也能进行像是体育竞赛的肢体互动,而在现代的设备中,我们可以利用体感装置,在室内中做到仿真肢体互动的功能。体感技术(Somatosensory Technology)就是人们在体感设备的侦测范围内,可以直接用四肢动作来进行控制,无需使用复杂的操作。体感技术根据体感的模式和原则的不同,可分为三大类,分别为惯性传感、光传感和组合传感。而惯性传感的设备像是重力传感器、陀螺仪、磁传传感器等,利用加速度、角速度和磁力根据现场空间来获得变动的物理参数。光传感是利用雷射进行发送和接收,对于雷射接收的强弱和角度来获得人体图像以及深度的数据。组合传感则是将前两类的三轴陀螺仪和红外线传感器进行结合,可以更准确的侦测像是人体手腕的旋转运动。\n[0005] Kinect体感装置,是由Microsoft所开发,起初是为了XBOX360交互式游戏所开发的产品,而后推出了for Windows的版本给予商业上的应用。Kinect运用了光传感技术,并且支持人像辨识和语音识别等功能,视讯镜头方面是由彩色摄影机、红外线发射器和红外线接收器所组成,红外线发射器将雷射平均投射到测量空间中,再透过红外线接收器收每个点的位置,进一步由内部运算形成深度的影像,最后藉由前景的人像深度运算出人体的\n20个骨架位置并追踪。由于Kinect为设计给体感运动所使用,所以在侦测人体时,运算是以速度为优先,精确度较差。对于3D景深侦测,由于Kinect价格相较于其他3D侦测设备低廉,并且拥有追踪人体骨架和撷取前景人像的功能,可以作为仿真肢体互动的主要设备,但Kinect不能精确的把动态人像进行完整切割,故需要在这方面做出改进。\n发明内容\n[0006] 本发明的目的在于提供一种基于Kinect和网络摄像机的动态人像合成方法,以解决Kinect不能完整切割动态人像的问题,让用户能在相异的两方进行肢体互动,并且能分享彼此的空间环境,利用动态人像切割的处理,降低人像和视讯融合所产生的违和感。\n[0007] 为了实现上述的目的,采用如下的技术方案。一种基于Kinect和网络摄像机的动态人像合成方法,采用Kinect体感设备对包含有人像的影像进行拍摄并产生深度信息,所述方法包括以下步骤:\n[0008] S1影像分析\n[0009] 用trimap方法将深度信息分为前景、背景和不确定区域,所述前景为已知人像,所述背景为已知人像以外的场景,所述不确定区域为有可能是前景或是背景的未归类区域,深度信息中无法侦测或是内部校正后产生的误差区域也可以归类为不确定区域;\n[0010] S2头部追踪\n[0011] 对已知人像的头部骨架进行追踪;\n[0012] S3人像切割\n[0013] 对已知人像进行处理和切割,得到切割人像;\n[0014] S4视讯合成\n[0015] 将切割人像与网络摄像机拍摄的影像进行合成。\n[0016] 影像切割(Image Segmentation)是对场景中的颜色或纹理等特征进行演算和分类,将每个对象应用户需求区分开来,而分类的方法有好几种。本发明所需要用到的人像通常位于一个场景的前景之中,而要进行前景影像的切割是个复杂的问题,解决这个问题的方法有针对低景深影像进行前景的切割、利用三角测量的方式侦测影像中人型肢体来进行切割等。对于视讯影像的切割,需要有能够快速进行运算的方式,本发明使用动态人像切割简化的方法,对Kinect的深度影像运用trimap的概念进一步的分析,并且运用骨架追踪来修复头部,进一步的进行人像切割。trimap的概念是将一个场景分类为前景、背景和不确定的区域,只要能分析不确定的区域,便能将前景和背景影像完整的分开来,其中前景就是本发明中的人像。上述方案中,所述步骤S3包括以下步骤:\n[0017] S31校正\n[0018] 使用SDK提供的MapDepthFrameToColorFrame方法进行左右视差的深度校正,让深度位置符合色彩位置;\n[0019] S32扩张\n[0020] 对已知人像深度进行影像扩张,将深度间的空隙填满;\n[0021] S33修复\n[0022] 利用头部追踪将在头部侦测范围内的不确定人像纳入到已知人像中进行头部的修复,得到修复人像;\n[0023] S34边缘透明化\n[0024] 对修复人像的左、右、上的边缘进行边缘侦测,再将侦测到的边缘进行透明化;\n[0025] S35切割\n[0026] 对边缘透明化的人像的边缘进行切割,得到切割人像。\n[0027] 由于深度信息是由红外线3D深度传感器来进行侦测,红外线容易被一些有光泽的折射物和黑色的事物所干扰,导致深度信息的不完全,如果直接对深度进行人像切割,会让人像切割不完全,尤其头部的毁损最为严重。而人脸是辨认一个人的主要信息,必须保持其完整度,故需要对人像进行头部修复。上述方案中,所述步骤S33中的头部侦测范围如公式(1)(2)所示:\n[0028]\n[0029]\n[0030] 在公式(1)中,Distanceskeleton为骨架距离,代表头部骨架点Headm到颈部骨架点Neckn的最短距离, 为目前像素距离,是由头部骨架点Headm到目前运算像素点Pixeli的最短距离,m、n、i为各自的像素位置,T则为侦测头部区域的门槛值,为骨架距离的0.6倍,在公式(2)中,Unsureregion代表不确定区域, 代表已知人像像素,当目前像素距离小于T时,并且目前像素位于不确定区域中,将其纳入到已知人像中。\n[0031] 对已知人像进行边缘透明处理,主要是为了让人像合成时能更佳的融合于视讯之中,并且减少边缘的切割锯齿。而在透明处理之前必须要先进行边缘侦测,由于串流像素信息必须实时处理,无法对于还未读取到的像素进行侦测,所以一般只对人像的左、右、上的位置进行边缘侦测。上述方案中,所述步骤S34的边缘侦测为先设定具有方向性递减的透明度矩阵,如公式(3)所示:\n[0032]\n[0033] 其中Alphaleft、Alpharight、Alphatop分别存有向左、向右、向上递减的透明度矩阵,数值为十六进制,当值为ff为完全不透明,值为00时为完全透明,\n[0034] 将透明度矩阵分别套用在对应方向的边缘上,边缘侦测的方法如公式(4)(5)(6)所示:\n[0035]\n[0036]\n[0037]\n[0038] 其中Ortherregion为非人像的其它区域,\n[0039] 公式(4)是针对左方的边缘侦测,当运算经过连续5个以上的非人像像素后,目前的像素位于修复人像之中,则目前的像素视为左侧的边缘,以目前的像素透明度为中心,使用Alphaleft来进行边缘透明化,\n[0040] 公式(5)是针对右方的边缘侦测,要不断地重新记录像素在修复人像区域之中的最新位置,当运算经过连续5个以上的非人像像素后,原先记录位于修复人像的像素位置则视为右侧边缘,使用Alpharight进行边缘透明化,\n[0041] 公式(6)是针对上方的边缘侦测,其中width为彩色影像的数据宽度,当像素位于修复人像之中,而往上连续5个以上为非人像像素,则将目前像素视为上方边缘,使用Alphatop进行边缘透明化。\n[0042] 与现有技术相比,本发明排除了动态影像进行影像切割所需的庞大运算时间,使用动态人像切割的方法,能让人像完整的表达,尤其是在头部的区域最为显著,切割好的人像经由边缘透明处理后,让人像能更佳的融合进视讯当中。\n附图说明\n[0043] 图1为本发明的流程示意图;\n[0044] 图2为体感数据中的色彩信息;\n[0045] 图3为体感数据中的深度信息;\n[0046] 图4为体感数据中的骨架追踪点信息;\n[0047] 图5为已知人像的直接切割示意图;\n[0048] 图6为对深度信息以trimap的方式分类示意图;\n[0049] 图7为本发明人像切割的流程示意图;\n[0050] 图8为Kinect体感设备拍摄的影像;\n[0051] 图9为Kinect内部对拍摄的影像自动撷取的人像;\n[0052] 图10为进行人像切割得到的切割人像;\n[0053] 图11为实际进行视讯合成的视讯处理流程示意图;\n[0054] 图12为实际进行视讯合成的结果示意图;\n[0055] 图13为系统在Visual C#2010 Express运行的画面。\n具体实施方式\n[0056] 下面结合附图和实施例对本发明作进一步的描述。\n[0057] 本发明的流程如图1所示,使用者分别为User A和User B两方,User A端的部分由Kinect体感设备所产生的数据,透过本发明的方法经由计算机运算处理后,产生了动态人像切割后的完整人像视讯,而在User B端的部分则是产生单纯的网络视讯,与User A同步进行。本发明不考虑网络传输等问题,主要以User A端来进行人像切割和视讯合成。\n[0058] 本实施例使用Microsoft所提供的Kinect for Windows SDK v1.5来取得体感数据,得到如图2的色彩信息、图3的深度信息和图4的20个骨架追踪点信息。\n[0059] 在深度信息的部分Kinect装置有自行判定的人像信息的功能,由于深度信息是由红外线3D深度传感器来进行侦测,红外线容易被一些有光泽的折射物和黑色的事物所干扰,导致深度信息的不完全。如图5所示,直接对深度进行人像切割,得到的已知人像切割不完全,尤其头部特别严重。\n[0060] 在影像分析的部分,利用Kinect自行判定的人像信息来将深度信息以trimap的方式分类为前景、背景和不确定区域。以图6所示,前景为本发明所需要的已知人像,以黑色表示;背景则是已知人像以外的场景,以灰色表示;不确定区域则是有可能是前景或是背景的未归类区域,以白色表示,深度信息中的无法侦测或是内部校正后产生的误差区域归类为不确定区域。在已知人像信息中,头部的毁损最为严重,人脸是辨认一个人的主要信息,必须保持其完整度,所以特别追踪头和颈部骨架来进行之后的修复。\n[0061] 本实施例以640×480像素和每秒30帧的色彩和深度的信息来进行,利用Visual C#2010 Express来设计图像处理系统,此阶段的流程图如图7所示。\n[0062] 首先使用SDK提供的MapDepthFrameToColorFrame方法进行左右视差的深度校正,让深度位置符合色彩位置。为了让深度影像的人像更密合彩色影像中的人像,以本实施例装置为例进行调整,向上位移3像素,向右位移1像素。由于深度之间有许多视差校正后产生的空隙,所以对已知人像深度进行3X3的影像扩张,将深度间的空隙填满。\n[0063] 接下来对损毁较为严的头部进行修复,由于人像的范围会被包含在前景和不确定区域中,利用头部的骨架追踪,将在侦测范围内的不确定人像纳入到已知人像中完成头部的修复。侦测范围如公式(1)(2)所示:\n[0064]\n[0065]\n[0066] 在公式(1)中,Distanceskeleton为骨架距离,代表头部骨架点Headm到颈部骨架点Neckn的最短距离, 为目前像素距离,是由头部骨架点Headm到目前运算像素点Pixeli的最短距离,m、n、i为各自的像素位置,T则为侦测头部区域的门槛值,为骨架距离的0.6倍,在公式(2)中,Unsureregion代表不确定区域, 代表已知人像像素,当目前像素距离小于T时,并且目前像素位于不确定区域中,将其纳入到已知人像中得到修复人像。\n[0067] 最后对修复人像进行边缘透明处理,主要是让人像合成时能更佳的融合于视讯之中,并且减少边缘的切割锯齿,而在透明之前必须要先进行边缘侦测,由于串流像素信息必须实时处理,无法对于还未读取到的像素进行侦测,所以对修复人像的左、右、上的位置进行边缘侦测。先设定具有方向性递减的透明度矩阵,如公式(3)所示:\n[0068]\n[0069] 其中Alphaleft、Alpharight、Alphatop分别存有向左、向右、向上递减的透明度矩阵,数值为十六进制,当值为ff为完全不透明,值为00时为完全透明。\n[0070] 将透明度矩阵分别套用在对应方向的边缘上,边缘侦测的方法如公式(4)(5)(6)所示:\n[0071]\n[0072]\n[0073]\n[0074] 其中Ortherregion为非人像的其它区域。公式(4)是针对左方的边缘侦测,当运算经过连续5个以上的非人像像素后,目前的像素位于修复人像之中,则目前的像素视为左侧的边缘,以目前的像素透明度 为中心,使用Alphaleft来进行边缘透明化。公式(5)是针对右方的边缘侦测,要不断地重新记录像素在修复人像区域之中的最新位置,当运算经过连续5个以上的非人像像素后,原先记录位于修复人像的像素位置则视为右侧边缘,使用Alpharight进行边缘透明化。公式(6)是针对上方的边缘侦测,其中width为彩色影像的数据宽度,当像素位于修复人像之中,而往上连续5个以上为非人像像素,则将目前像素视为top\n上方边缘,使用Alpha 进行边缘透明化。\n[0075] 如图8所示的影像,Kinect内部自动撷取的已知人像如图9所示,能看见有视差校正误差和头部不完全的问题,图10则为动态人像切割得到的切割人像,明显改善了Kinect人像切割不完整的问题,能取得较为完整的人像。图11为实际进行视讯合成的视讯处理流程,图12则为实际进行视讯合成的结果。\n[0076] 本实施例基于设备的限制以及指令周期的考虑,对运算复杂度进行简化,以每秒\n30帧进行人像切割及视讯影像的合成,使用的计算机设备规格为CPU:I7-3770 3.40GHz;\nRAM:12GB;操作系统:WIN7 64位。网络摄影机设备则使用Logitech Pro 9000。图13为系统在Visual C#2010Express运行的画面。\n[0077] 本发明也能以远程旅游的方式来呈现。旅游业者预先在旅游场景中架设多个网络摄影机撷取动态风景视讯,而用户可以选取这些风景,再藉由撷取到的动态人像进入这个场景视讯中,成立一个私人的互动区,而后邀请一些亲朋好友也一起加入视讯来进行肢体和言语上的互动,增进彼此间的关系。\n[0078] 本发明排除了动态影像进行影像切割所需的庞大运算时间,使用动态人像切割的方法,能让人像完整的表达,尤其是在头部的区域最为显著,切割好的人像经由边缘透明处理后,让人像能更佳的融合进视讯当中。结果证实本方法明显改善了Kinect人像切割的问题,拥有完整的人像,人们才会增加进一步的使用意愿。
法律信息
- 2021-12-24
未缴年费专利权终止
IPC(主分类): G06T 3/00
专利号: ZL 201510023482.7
申请日: 2015.01.16
授权公告日: 2017.10.27
- 2017-10-27
- 2015-05-27
实质审查的生效
IPC(主分类): G06T 3/00
专利申请号: 201510023482.7
申请日: 2015.01.16
- 2015-05-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |