基于控制点运动编辑的手语词汇运动数据库生成的方法 本发明涉及一种基于控制点运动编辑的手语词汇运动数据库生成的方法,尤指一种利用运动跟踪的方法记录每个手语词汇对应的手语运动数据,再利用运动编辑的方法手工修改手语词汇运动的某几个关键帧,并将该手工修改地帧作为控制点,并根据连续帧之间的运动相关性计算出对其他帧的修改,从而生成手语词汇运动数据库的方法。
手语是聋人之间以及聋人与其他具有视觉能力的人群进行交流的语言工具之一。但是,因使用人群的生理特点及地域特点的因素,除聋人以外,并非所有的人都能懂得手语,因此聋人与更为广大的人群进行交流势必会受到极大的影响;要改变上述的状况,使聋人能与更多的人群交流,利用计算机将手语翻译成其他语言或将其他语言翻译成手语是有益和有效的。
由于手语不是符号语言,因此要将手语翻译成其他的语言形式或将其他的语言翻译成手语,建立计算机手语词汇运动数据库是必不可少的工作。目前建立计算机手语词汇运动数据库的方法大体有如下的两种:
1、利用计算机手工编辑手语词汇运动的方法,首先,人为地确定一个手语词汇运动的手势个数,并使用相应的软件工具确定每个手势各关节的角度以及手势之间的变化时间。这种方法的优点是:计算机生成的手形准确;但是,用这种方法建立手语词汇运动的工作量太大,需要手工修改每一帧的数据,不仅仍然需要庞大的工作量,而且很容易破坏原有运动中帧与帧之间的运动相关性;而且,手语词汇运动手势变化的快慢是由人工确定的,因此手语运动不够逼真。
2、第二种方法是利用运动跟踪的方法建立计算机手语词汇运动数据库,其主要特点是利用计算机、数据手套及传感器记录每个手语词汇运动对应的手语运动。这种方法的优点是:手语词汇运动数据库的建立方便快捷,可以减少工作量,可建立更加细致的手语库;另外,由于用这种方法录制的手语词汇运动包含了丰富的时间信息,因此,使得手的运动变化更加逼真。但是,这种方法的缺点是易受干扰,导致录制的一些手形不准确,而且利用常规的方法不易修改。
在表示手语运动时,通常每只手用若干个自由度表示,两只手自由度的数量为单只手的两倍。因此,一个手势(手的瞬时状态)可以被描述为若干个元向量,一个手语运动则是一个从时间到手势集合的向量函数,以单手用27个自由度表示,则一个手语运动的向量函数为:
G(t):R→R54
即对于每一个时间,都有一个手势,由此定义了此时刻手的状态。对于单个自由度,可以用Gi(t)表示,即每个自由度的变化值是时间的函数,它所对应的函数曲线称为自由度运动曲线。
根据手语运动记录数据中帧与帧之间的运动相关性(coherence)可以知道:自由度运动的曲线是连续曲线。图1所示为手语词汇运动“大家”的手语运动中右手肩关节立体三维坐标X,Y,Z三个方向的三条自由度运动的曲线;图1中所示的这三条自由度运动的曲线都是连续的。所谓连续的含义是:手语运动中,人体与手部相关的各个部位的运动轨迹上的每一个点在数学意义上都是连续的。如果图1所示的三条自由度运动曲线之中有一条不连续,则说明该手语运动记录数据需要修改。
有鉴于上述现有技术在建立计算机手语词汇运动数据库中的缺陷,并根据手语运动记录数据中帧与帧之间的运动相关性,本发明的主要目的在于提供一种基于控制点运动编辑的手语词汇运动数据库生成的方法,该方法利用录制的手语运动连续帧之间的运动相关性,只需手工修改手语词汇运动的某几个关键帧,并将该手工修改的帧作为控制点,并根据连续帧之间的运动相关性计算出对其他帧的修改。
本发明的另一目的在于提供一种基于控制点运动编辑的手语词汇运动数据库生成的方法,该方法对手语运动的自由度运动曲线进行编辑修改,在大大减少手工修改工作量的同时,保持原有手语运动中帧与帧之间的运动相关性。
本发明的目的是通过如下的技术方案实现的:
一种基于控制点运动编辑的手语词汇运动数据库生成的方法,使用运动跟踪的方法,记录每个手语词汇的真实人体运动数据,建立一个初始的手语词汇运动数据库;确定通过运动跟踪方法记录的运动数据中需要修改手语的关键帧,用基于控制点的手语运动编辑方法进行编辑修改。
所述的基于控制点的手语运动编辑方法包括如下的步骤:
1、寻找手语运动中的关键帧,并将这些关键帧作为控制点;
2、手工编辑、修改每个控制点,并自动修改每两个相邻控制点之间的所有帧;
3、如果修改结果满意,则结束;否则增加新的控制点,重复步骤b。
自动修改两个相邻控制点之间所有帧的方法包括如下的步骤:
1、计算两个相邻控制点各自对于自由度曲线Gi(t)的修改量;
2、用线性插值法计算出两个相邻控制点之间每一帧对于自由度曲线Gi(t)的修改量;
3、根据上述计算的每一帧对于自由度曲线Gi(t)的修改量修改相应帧的自由度。
用线性插值法计算两个相邻控制点之间每一帧的修改量依据如下的公式:Δdf′=Δd1+tf′-tf1tf2-tf1(Δd2-Δd1)]]>
其中:
Δd1为两个相邻的控制点中第一个控制点对于自由度曲线Gi(t)的修改量;
Δd2为两个相邻的控制点中第二个控制点对于自由度曲线Gi(t)的修改量;
tf1和tf2分别为第一个控制点和第二个控制点所对应的时刻;
tf’为第一个控制点和第二个控制点之间当前被修改帧所对应的时刻;
Δdf’为当前被修改帧所对应的时刻。
本发明根据手语运动记录数据中帧与帧之间的运动相关性,只需选择几个关键帧,并将其设定为控制点,然后手工修改该手语词汇运动被选定的控制点,最后利用计算机,采用插值法修改位于任意相邻控制点之间的帧,达到编辑修改手语词汇运动的目的;本发明实现了根据连续帧之间的运动相关性对其他帧修改的计算;其利用计算机手工编辑手语词汇运动的方法与利用运动跟踪的方法建立计算机手语词汇运动数据库的方法有机地结合,在大大减少手工修改工作量的同时,保持了原有手语运动中帧与帧之间的运动相关性。
以下结合附图及具体的实施例对本发明作进一步的详细说明:
图1为手语词汇运动“大家”一词中右手肩关节X,Y,Z三个方向的三条自由度运动曲线的示意图。
图2为本发明基于控制点的手语运动编辑方法的流程图。
图3为本发明修改两个相邻控制点之间所有帧的流程图。
图4为利用本发明修改前后手语词汇运动中“客观”一词左手肘关节的X,Y方向自由度运动曲线示意图。
图5为利用本发明修改前手语词汇运动中“客观”一词的各帧图像。
图6为利用本发明修改后手语词汇运动中“客观”一词的各帧图像。
如图2、3所示,由于手语词汇运动中各自由度运动曲线都是连续的,因此,对于含有需要修改的手语词汇运动,首先寻找手语运动中相应的帧作为关键帧,并将这些关键帧作为控制点;然后手工编辑、修改每个控制点,并自动修改每两个相邻控制点之间的所有帧;最的,判断修改结果是否满意,若满意则结束;否则增加新的控制点,重复上述的修改编辑步骤,直到修改结果满意为止。
上述的修改两个相邻控制点之间所有帧的具体方法如下:根据自由度运动曲线为“连续的”这一特征,对于位于两个相邻的控制点中间的所有帧,利用计算机及线性插值法计算两个相邻控制点之间每一帧的修改量;该修改的步骤具体如下:
1、计算两个相邻控制点各自对于自由度曲线Gi(t)的修改量;
2、用线性插值法计算出两个相邻控制点之间每一帧对于自由度曲线Gi(t)的修改量;
3、根据上述计算的每一帧对于自由度曲线Gi(t)的修改量修改相应帧的自由度。
在上述步骤中用线性插值法计算两个相邻控制点之间每一帧的修改量依据如下的公式:Δdf′=Δd1+tf′-tf1tf2-tf1(Δd2-Δd1)]]>
其中:
Δd1为两个相邻的控制点中第一个控制点对于自由度曲线Gi(t)的修改量;
Δd2为两个相邻的控制点中第二个控制点对于自由度曲线Gi(t)的修改量;
tf1和tf2分别为第一个控制点和第二个控制点所对应的时刻;
tf’为第一个控制点和第二个控制点之间当前被修改帧所对应的时刻;
Δdf’为当前被修改帧所对应的时刻。
如图4所示,修改前的手语词汇运动中“客观”一词左手肘关节的X,Y方向自由度运动曲线分别为各示意图中的上面一条曲线,由该曲线可以看出,该左手肘关节的X,Y方向自由度运动曲线并不连续,不连续帧的位置位于手语词汇运动帧序列对应时刻为1.53秒处,因此对于总长度为2.53秒的手语词汇运动,只选择其中的三帧:0秒、1.53秒、2.53秒所对应的帧为控制点,然后利用上述的修改方法进行修改。图4中修改后的手语词汇运动中“客观”一词左手肘关节的X,Y方向自由度运动曲线分别为各示意图中的下面一条曲线;由图4可以看到,除上述的三帧外,其他各帧也都受到不同的影响,这样就保证了修改后的运动曲线仍然是连续的运动曲线,进而保证了手语运动中连续帧之间的运动相关性。
图5、图6分别显示了手语词汇运动中“客观”一词的各帧图像利用上述方法修改前、后的各帧的图像。
以上所述仅为本发明技术构思下的一具体实施例的说明,而依据本发明的技术方案所做的任何等效变换,均应属于本发明的保护范围。