一种基于视觉标志物的低成本动作捕捉方法与流程

文档序号:20603434发布日期:2020-05-01 21:51阅读:199来源:国知局
一种基于视觉标志物的低成本动作捕捉方法与流程

本发明涉及动作捕捉领域,具体涉及一种基于视觉标志物的低成本动作捕捉方法。



背景技术:

动作捕捉(mocap)系统在电影电视特效行业,游戏行业,医疗康复与矫正行业,教育行业等都有应用需求,但是由于目前动作捕捉技术的限制,市面上常见的动作捕捉设备由于其价格、捕捉精度、安装难易程度等方面各有不足,并不能很好地满足各行业的需求。目前常见的动态捕捉方法有基于红外或激光的光学动作捕捉技术,光学式动作捕捉依靠一整套精密而复杂的光学摄像头来实现,它通过计算机视觉原理,由多个高速摄像机从不同角度对目标特征点进行跟踪来完成全身的动作的捕捉。其缺点在于成本高昂、标定困难且当目标被遮挡时无法进行工作。基于电磁的动作捕捉技术通过测量每台发射器和接收器的三个正交线圈的磁通量来计算目标位置和方向。磁系统只需要光学设备三分之二的标记物。电磁式动作捕捉系统的一个缺点是标记物容易受到周围金属物体以及电源所释放的磁电干扰的影响,而这种磁电干扰会导致系统容易出错,并且需要较多的数据清理和专业操作技术,导致使用空间受限,并且出现实时滞后问题。基于惯性测量的动作捕捉技术多采用mems三轴陀螺仪、三轴加速度计和三轴磁力计组成的惯性测量单元(imu,inertialmeasurementunit)来测量传感器的运动参数。而由imu所测得的传感器运动参数有严重噪声干扰,mems器件又存在明显的零偏和漂移,惯性式动作捕捉系统无法长时间进行精确的跟踪。只有解决了这一个问题,才能使惯性式动作捕捉系统充分发挥作用。



技术实现要素:

本发明针对现有技术中存在的上述不足,提出一种基于视觉标志物的低成本动作捕捉方法,该方法充分结合了主动式光学动作捕捉和基于惯性测量的动作捕捉技术的优势,解决了传统动作捕捉系统布设成本高、标定复杂、易受干扰等问题,且能够不随时间发散地提供被捕捉对象各个节点精确的位置和姿态,在实际应用中具有很大的优势。

本发明所采用的技术方案为一种基于视觉标志物的低成本动作捕捉方法,所述视觉标志物是指具有特定结构的能被计算机识别、区分并获取内部信息的特殊图形,包括但不限于:二维码、经过特殊编码的广告、字画等。所述数据采集模块包含惯性测量单元和摄像头。惯性测量单元用于获取测量节点处加速度计和陀螺仪的数据,摄像头用于拍摄环境图像。本发明技术方案包含以下步骤:

步骤s1,布设用于动作捕捉的环境:选择一个合适的空间,在该空间内布设用于动作捕捉的视觉标志物,测定视觉标志物在世界坐标系下的位姿数据;

步骤s2,将数据采集模块固定在有动作捕捉需求的对象的各个节点上;

所述数据采集模块包括惯性测量单元、摄像头、数据存储单元、通信单元、电池,其中惯性测量单元获取陀螺仪和加速度计原始数据,摄像头用于拍摄环境图像,惯性测量单元和摄像头采集到的数据存储在数据储存单元,或者由通信单元通过无线信号传输的方式集中发送到同一台计算机中进行存储,通信单元用于接受计算机发出的指令进行启动、时间同步、结束采集,电池用于供电;

步骤s3,获取被捕捉对象各个节点的位姿信息,并对各个数据采集模块获取到的数据进行数据融合处理,得到被捕捉对象各个节点的位姿信息。

进一步的,步骤1中所述视觉标志物为二维码。

进一步的,步骤1中利用全站仪测定每一个视觉标志物在世界坐标系下的位置和姿态,其中世界坐标系是不随被捕捉对象的运动而变化的。

进一步的,步骤s3的具体实现方式如下,

首先,定义以下坐标系:世界坐标系是指运动捕捉对象的运动的参考坐标系,记为e系;对于第i个数据采集模块,i=1,2,3…n,定义相机坐标系ci系、惯性测量单元量测值所在的坐标系bi系、数据采集模块坐标系mi系,相机坐标系ci系原点位于当前第i个数据采集模块上的摄像头的光学中心,x轴沿摄像头镜头方向向右,y轴沿镜头方向向下,z轴沿镜头方向向后;与相机坐标系紧密联系的是像平面坐标系,像平面坐标系是一种二维平面坐标系(u,v),其观测量以像素为单位,该坐标系的原点位于影像左上角,x轴沿影像的上边缘向右,y轴沿影像的左边缘向下;第i个数据采集模块的惯性测量单元量测值所在坐标系bi系原点在imu中心,x轴沿数据采集模块向前,y轴沿数据采集模块向右,z轴垂直向下;数据采集模块坐标系mi系与惯性测量单元量测值所在的坐标系bi系重合;

1)在初始时刻,数据采集模块的摄像头获取图像数据,对第一帧图像数据进行畸变校正得到无畸变的环境图像;然后利用图像处理算法检测畸变校正后图像中是否含有视觉标志物,如果没有,继续获取下一帧图像数据并进行上述处理,直至在图像中检测到视觉标志物;如果有,检测到的视觉标志物的数量为n,进一步获取每一个视觉标志物中心点的图像坐标(uk,vk),下标k表示第k个视觉标志物,其中1≤k≤n;对每一个视觉标志物进行解码获取该视觉标志物的编号,根据编号查询其对应的世界坐标,得到每一个视觉标志物中心点pk的世界坐标即点pk在e系的坐标投影到e系下的三轴分量的大小,下标x表示三维世界坐标的x轴分量,下标epk表示当前坐标为点pk在e系下的坐标;上标e表示坐标在e系下的投影;当n≥4时,通过相机投影透视模型结合相机内参,利用pnp算法求得相机坐标系c系到世界坐标系e系的旋转矩阵和平移向量并根据下式得到初始时刻数据采集模块的位置和姿态的初始值:

其中,imu坐标系b系到相机坐标系c系的旋转矩阵和平移向量通过提前标的获得,是不随时间变化的已知量;

2)初始化完成后,利用经典捷联惯导算法对imu获取的陀螺仪和加速度计的原始数据进行处理,以t时刻为例,捷联惯导算法给出t时刻数据采集模块的位置估计值和姿态估计值

3)根据各个时刻摄像机采集到的环境图像中的视觉标志物的图像坐标以及其世界坐标的对应关系,对捷联惯导算法计算得到的数据采集模块的位置和姿态的估计值进行修正,得到修正后的数据采集模块的精确位置和姿态;

根据下式由imu位置、姿态的估计值预测第k个视觉标志物中心点pk在图像中的像素坐标的估计值

其中,f表示相机内部参数焦距,u0,v0表示相机内方位元素中的像主点坐标,是点pk在相机坐标系c系下的坐标在c系中的投影,的三轴分量;

同时,由图像处理算法提取第k个视觉标志物中心点pk的图像坐标的观测值与pk的真实图像坐标(uk,vk)之间满足如下关系式:

其中(εu,εv)为观测误差,根据n个视觉标志物中心点的图像坐标的估计值和观测值的对应关系,利用滤波算法计算得到数据采集模块的精确位置和姿态。

进一步的,所述滤波算法包括扩展卡尔曼滤波、粒子滤波算法。

进一步的,还包括利用滤波反向平滑算法对精确位置和姿态进行处理,进一步提升所有时刻的位置和姿态估计精度。

本发明的优点在于:

1)本发明所述动作捕捉环境布设简单、数据采集模块价格低廉、安装成本低、效率高;

2)本发明中各个数据采集模块独立工作,主动测量,可以同时进行多对象、多节点的运动捕捉;

3)本发明布设的动作捕捉环境中的视觉标志物的世界坐标提前测定,因此在进行数据融合时图像数据可以对捷联惯导算法的预测结果进行绝对修正,定位结果精度高且定位结果的精度不随运动时间的推移而发散;

4)由于惯性测量单元的更新频率高,因此本发明方法可以高频更新被捕捉对象各个节点的位置和姿态,具有很高的实用价值。

附图说明

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

图1为本发明实施例中基于视觉标志物的低成本动作捕捉方法的流程图;

图2为本发明实施例中采用的二维码视觉标志物的示意图;

图3为本发明实施例中将数据采集模块固定在被捕捉对象各个节点上的示意图;

图4为本发明实施例中相机透视投影模型示意图。

具体实施方式

以下结合附图和实施例详细说明本发明的技术方案。本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

本发明实施例提供了一种基于视觉标志物的低成本动作捕捉方法,所述视觉标志物是指具有特定结构的能被计算机识别、区分并获取内部信息的特殊图形,包括但不限于:二维码、经过特殊编码的广告、字画等。在本实施例中,以具有特殊编码规则的二维码作为视觉标志物为例进行说明,所述二维码标志物如图2所示。

在本实施例中,定义以下几个坐标系。世界坐标系是指运动捕捉对象的运动的参考坐标系,记为e系。使用者根据不同的需求可定义不同的世界坐标系,且在一次动作捕捉运动过程中世界坐标系e系是不随被捕捉对象的运动而变化的,因此在世界坐标系e系下分析被捕捉对象各个节点在三维世界中的运动,更加直观也方便理解。世界坐标系的原点、三轴方向在布设动作捕捉环境之前由用户选定,可以选大地直角坐标系等常用的地球坐标系,也可以以房间的某个角落作为原点,房间的垂直墙体与地面作为三个坐标轴方向建立的室内三维坐标系作为该动作捕捉实施方案的世界坐标系,只要该坐标系的原点、轴向是用户已知的,且在运动捕捉过程中不变即可。

在本实施例中,一个数据采集模块包含一个惯性测量单元和一个摄像头。对于第i(i=1,2,3…n)个数据采集模块,定义相机坐标系ci系、惯性测量单元量测值所在的坐标系bi系、数据采集模块坐标系mi系。相机坐标系ci系原点位于当前第i个数据采集模块上的摄像头的光学中心,x轴沿摄像头镜头方向向右,y轴沿镜头方向向下,z轴沿镜头方向向后。此外,与相机坐标系紧密联系的是像平面坐标系。像平面坐标系是一种二维平面坐标系(u,v),其观测量以像素为单位。该坐标系的原点位于影像左上角,x轴沿影像的上边缘向右,y轴沿影像的左边缘向下。第i个数据采集模块的惯性测量单元(inertialmeasurementunit,imu)量测值所在坐标系bi系原点在imu中心,x轴沿数据采集模块向前,y轴沿数据采集模块向右,z轴垂直向下。数据采集模块坐标系mi系定义了第i个数据采集模块的位置参考点以及姿态参考方向,是位置、姿态所描述的对象。在本实施例中不加区分,认为数据采集模块坐标系mi系与惯性测量单元量测值所在的坐标系bi系重合。

在本实施例中,将对本发明所采用的技术方案的实现过程进行详细说明。具体包括以下步骤:

s1布设用于动作捕捉的环境:选择一个合适的空间,在该空间内布设用于动作捕捉的视觉标志物,并测定视觉标志物在世界坐标系下的位姿数据;

在一较佳实施例中,上述合适的空间为一个专门用来进动作捕捉的房间,在该房间的墙壁以及天花板上张贴所述二维码标志物,利用全站仪等设备测定每一个二维码标志物在世界坐标系下的位置和姿态。同时,由于每一个二维码标志物具有独立的编号对应独特的编码,因此可以得到每一个二维码的编号及其在世界坐标系的位姿,如图2为两个不同编号的二维码标志物。张贴的二维码标志物可具有不同的大小、方向、间距,这些都不影响系统的正常工作,但是为了保证动作捕捉的精度的稳定性,在实际操作时可以选择进行均匀、有规律地张贴二维码标志物,同时,有规律的张贴也方便测量各个二维码标志物在世界坐标系的位姿数据。二维码标志物最佳大小的选取与房间的大小、数据采集模块上摄像头的分辨率等有关,在本实施例中,选用边长20cm的正方形二维码标志物。在同等条件下,二维码标志物的数量越多,动作捕捉的视觉特征越丰富,捕捉精度越高。

s2将数据采集模块固定在有动作捕捉需求的对象的各个节点上;

在一较佳实施例中,上述有动作捕捉需求的对象为人体,将数据采集模块固定在人体的各个关节以研究人体的运动,如图3所示。所述数据采集模块由惯性测量单元、摄像头、数据存储单元、通信单元、电池等组成,惯性测量单元获取陀螺仪和加速度计原始数据,摄像头拍摄环境图像。惯性测量单元和摄像头采集到的数据可存储在数据储存单元即模块内置的存储卡中,也可以由通信单元通过无线信号(wifi、蓝牙等)传输的方式集中发送到同一台计算机中进行存储。通信单元也用于接受计算机发出的指令进行启动、时间同步、结束采集等工作。电池用于给整个数据采集模块供电。

选择轻量级的惯性测量单元、摄像头、电池等,使得数据采集模块的体积很小,可以通过粘贴、绑定等方式轻松固定在关节节点处。数据采集模块的摄像头提前进行标定,获取相机内部参数和畸变参数,每一个数据采集模块的相机坐标系和imu坐标系之间的转换关系由生产时的标定结果给出。

s3获取被捕捉对象各个节点的位姿信息:被捕捉对象在s1所述动作捕捉环境中进行运动,数据采集模块在各个节点处采集数据,对数据采集模块获取到的数据进行处理,得到被捕捉对象各个节点的位姿信息。

在一较佳实施例中,被捕捉对象在s1所述的布设了二维码标志物的房间中随意运动,通过手机、电脑等上位机对被捕捉对象所有节点处的数据采集模块发送采集指令,各个数据采集模块的通信单元收取指令并完成时间同步。时间同步完成后,各个数据采集模块独立进行数据采集、储存。单次运动捕捉运动完成后,再由手机、电脑等上位机对被捕捉对象所有节点处的数据采集模块发送结束指令,各个数据采集模块的通信单元收取指令并结束数据采集。数据采集模块采集到的数据可存储在模块内置的存储卡,也可以通过无线信号(wifi、蓝牙等)传输的方式集中发送到同一台上位机中进行存储。

数据采集模块采集到运动数据之后,对采集模块获取到的数据进行融合处理。下面以一个数据采集模块的数据为例介绍数据融合的具体方法:

1)在初始时刻,数据采集模块的摄像头获取图像数据,对第一帧图像数据进行畸变校正得到无畸变的环境图像(范勇,张佳成,陈念年,etal.图像几何畸变校正方法[j].计算机工程与应用,2009(29):198-201.)。进一步地,利用图像处理算法检测畸变校正后图像中是否含有二维码标志物(cn201810016705,利用包含定位二维码的墙体广告的单目视觉定位定姿方法),如果没有,继续获取下一帧图像数据并进行上述处理,直至在图像中检测到二维码标志物。如果有,检测到的二维码标志物的数量为n,进一步获取每一个二维码标志物中心点的图像坐标(uk,vk),下标k表示第k个二维码标志物,其中(1≤k≤n)。对每一个二维码标志物进行解码获取该二维码标志物的编号,根据编号查询其对应的世界坐标,得到每一个二维码标志物中心点pk的世界坐标为例解释该坐标表示方法的含义:下标x表示三维世界坐标的x轴分量,下标epk表示当前坐标为点pk在e系下的坐标;上标e表示坐标在e系下的投影。整体意为:点pk在e系的坐标投影到e系下的三轴分量大小。当n≥4时,利用图4所示相机投影透视模型结合相机内参,利用pnp(perspective-n-point)算法求得相机坐标系c系到世界坐标系e系的旋转矩阵和平移向量(vincentlepetit,francescmoreno-noguer,pascalfua.epnp:anaccurateo(n)solutiontothepnpproblem[j].81(2):155-166.)。由于imu坐标系b系到相机坐标系c系的旋转矩阵和平移向量由提前标定获得,是不随时间变化的已知量,因此可以根据下式得到初始时刻数据采集模块的位置和姿态的初始值:

2)初始化完成后,利用经典捷联惯导算法对imu获取的陀螺仪和加速度计的原始数据进行处理(严恭敏,翁浚.捷联惯导算法与组合导航原理[m].西安,西北工业大学出版社,2019)。以t时刻为例,捷联惯导算法给出t时刻数据采集模块的位置估计值和姿态估计值

3)根据各个时刻摄像机采集到的环境图像中的视觉标志物的图像坐标以及其世界坐标的对应关系,对捷联惯导算法计算得到的数据采集模块的位置和姿态的估计值进行修正,得到修正后的数据采集模块的精确位置和姿态。

在一较佳实施例中,采用紧耦合的方式对图像数据和惯性测量单元得到的数据进行融合。紧耦合算法利用畸变校正后图像中二维码标志物中心点的图像坐标作为原始观测量,与捷联惯导算法给出的估计结果直接进行数据融合,此时观测到的二维码标志物的数量n可以小于4,n≥1。在时间同步的条件下,t时刻捷联惯导算法给出数据采集模块的位置估计值和姿态估计值同时,imu坐标系b系到相机坐标系c系的旋转矩阵和平移向量第k个二维码标志物中心点pk的世界坐标相机内部参数焦距f、相机内方位元素中的像主点坐标u0,v0均为已知量,根据下式由imu位置、姿态的估计值预测第k个二维码标志物中心点pk在图像中的像素坐标的估计值

其中是点pk在相机坐标系c系下的坐标在c系中的投影,的三轴分量。

同时,由图像处理算法提取第k个二维码标志物中心点pk的图像坐标的观测值与pk的真实图像坐标(uk,vk)之间满足如下关系式:

其中(εu,εv)为观测误差,其随机模型可建模为高斯白噪声(吴云.最优估计与假设检验理论及其在gnss中的应用[m].北京,科学出版社,2015)。在没有误差的理想情况下,应满足观测值=估计值此时根据公式(3)和(4)可以求出数据采集模块位置和姿态的无误差真实值。但是实际情况中,估计值是有误差的,观测值受到噪声干扰也是有误差的,由于系统含有噪声,所以无法根据观测值直接求解数据采集模块位置和姿态的解析解,而必须按照数理统计的方法进行统计求解。因此在实际处理中,常利用扩展卡尔曼滤波(吴云.最优估计与假设检验理论及其在gnss中的应用[m].北京,科学出版社,2015)、粒子滤波(王法胜,鲁明羽,赵清杰,etal.粒子滤波算法[j].计算机学报,2014,37(8):1679-1694.)等滤波算法计算得到数据采集模块的精确位置和姿态。

4)在单次动作捕捉运动完成后,可使用滤波反向平滑等算法(严恭敏,翁浚.捷联惯导算法与组合导航原理[m].西安,西北工业大学出版社,2019)进一步提升所有时刻的位置和姿态估计精度。

5)特别地,可根据上述步骤分别计算不同数据采集模块的位置和姿态,即分别获得动作捕捉对象各个节点的位置和姿态。也可以根据同一被捕捉对象上不同数据采集模块之间的安装关系约束,进一步提升结果的精度。以人体进行动作捕捉为例,安装在人体两侧肩膀的数据采集模块之间的距离以及相对姿态基本上不变、安装在手腕和手肘的数据采集模块之间的距离以及相对姿态基本上不变等,利用这些先验信息对结果进行约束,提升滤波精度。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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