CN107292812A - 一种表情迁移的方法及电子设备 - Google Patents
一种表情迁移的方法及电子设备 Download PDFInfo
- Publication number
- CN107292812A CN107292812A CN201610204461.XA CN201610204461A CN107292812A CN 107292812 A CN107292812 A CN 107292812A CN 201610204461 A CN201610204461 A CN 201610204461A CN 107292812 A CN107292812 A CN 107292812A
- Authority
- CN
- China
- Prior art keywords
- initial position
- eyebrow
- face
- frame
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000005012 migration Effects 0.000 title claims abstract description 50
- 238000013508 migration Methods 0.000 title claims abstract description 50
- 210000004709 eyebrow Anatomy 0.000 claims abstract description 152
- 230000000452 restraining effect Effects 0.000 claims description 9
- 210000004209 hair Anatomy 0.000 claims description 4
- 206010053238 Amimia Diseases 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 16
- 238000012804 iterative process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种表情迁移的方法及电子设备,该方法包括:获取预设人脸的眉毛所对应的特征点的位置作为初始位置;根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置,该方法根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种表情迁移的方法及电子设备。
背景技术
传统的表情迁移一般是以标准平均脸的眉毛的位置作为迁移后表情中眉毛的初始位置,但是实际使用过程中,人脸中眉毛的位置千差万别,这种做法误差较大,无法精确的描述不同人脸中眉毛的位置;为了解决这个问题,有人提出以初始视频帧中的人脸的眉毛的位置为迁移后表情中眉毛的初始位置,这种方法的问题在于无法保证获取的眉毛的位置是人脸无表情的情况下的眉毛的位置,从而导致后续的表情迁移的精度降低,例如如果在初始帧中人脸的表情为皱眉,这种情况下获取的眉毛位置与该人脸在无表情的情况下的眉毛位置存在偏差,而在表情迁移时总是认为眉毛的初始位置对应的是无表情情况下的眉毛的位置,因此会将这种误差传递到后续的表情迁移过程中,从而降低了表情迁移的精度。
发明内容
为了解决上述问题,本发明提供一种表情迁移的方法及电子设备。
所述技术方案如下:
第一方面,提供了一种表情迁移的方法,所述方法包括:
获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
设置表情迁移目标的眉毛位置为所述初始位置。
结合第一方面,在第一种可能的实现方式中,所述迭代修正包括:
获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代;
如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
判断所述当前初始位置是否收敛;
如果不收敛则再次进行迭代;
如果收敛,则结束迭代。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置包括:
计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
设置所述加权平均值对应的位置为修正后的当前初始位置。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述判断所述当前初始位置是否收敛包括:
计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述计算所述当前初始位置与上一次迭代后的初始位置的第二差值包括:
计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
设置所述标准差为所述第二差值。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,所述获取视频帧中人脸的眉毛所对应的特征点的位置包括:
获取所述视频帧中人脸的眉毛所对应的特征点正面化后的位置。
结合第一方面的第一种可能的实现方式,在第六种可能的实现方式中,在所述计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值之前,还包括:
判断当前迭代对应的视频帧中人脸是否与上次迭代对应的视频帧中的人脸相同,如果不相同,则跳过当前迭代,直接进行下次迭代。
结合第一方面至第一方面的第六种可能的实现方式中的任一实现方式,在第七种可能的实现方式中,所述预设人脸为标准平均脸。
结合第一方面至第一方面的第六种可能的实现方式中的任一实现方式,在第八种可能的实现方式中,在所述设置表情迁移目标的眉毛位置为所述初始位置之后,该方法还包括:
获取视频帧中人脸对应的特征点;
根据所述特征点对所述表情迁移目标进行表情迁移。
第二方面,提供了一种电子设备,所述电子设备包括:
获取模块,用于获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
迭代模块,用于根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
初始位置设置模块,用于设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
表情迁移设置模块,用于设置表情迁移目标的眉毛位置为所述初始位置。
结合第二方面,在第一种可能的实现方式中,所述迭代模块包括:
获取子模块,用于获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
第一差值计算子模块,用于计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
第一差值判断子模块,用于判断所述第一差值是否小于第一阈值,如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代,如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
收敛判断子模块,用于判断所述当前初始位置是否收敛,如果不收敛则再次进行迭代,如果收敛,则结束迭代。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一差值判断子模块还包括:
均值计算子模块,用于计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
均值设置子模块,用于设置所述加权平均值对应的位置为修正后的当前初始位置。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述收敛判断子模块还包括:
第二差值计算子模块,用于计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
第二差值判断子模块,用于判断所述第二差值是否小于第二阈值,如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第二差值计算子模块还包括:
标准差计算子模块,计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
标准差设置子模块,用于设置所述标准差为所述第二差值。
结合第二方面的第一种可能的实现方式,在第五种可能的实现方式中,所述获取子模块具体用于:
获取所述视频帧中人脸的眉毛所对应的特征点正面化后的位置。
结合第二方面的第一种可能的实现方式,在第六种可能的实现方式中,所述迭代模块还包括:
人脸判断子模块,用于判断当前迭代对应的视频帧中人脸是否与上次迭代对应的视频帧中的人脸相同,如果不相同,则跳过当前迭代,直接进行下次迭代。
结合第二方面至第二方面的第六种可能的实现方式中的任一实现方式,在第七种可能的实现方式中,所述预设人脸为标准平均脸。
结合第二方面至第二方面的第六种可能的实现方式中的任一实现方式,在第八种可能的实现方式中,所述电子设备还包括:
特征点获取模块,用于获取视频帧中人脸对应的特征点;
表情迁移模块,用于根据所述特征点对所述表情迁移目标进行表情迁移。
第三方面,提供了一种电子设备,所述的电子设备包括存储器以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
设置表情迁移目标的眉毛位置为所述初始位置。
结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代;
如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
判断所述当前初始位置是否收敛;
如果不收敛则再次进行迭代;
如果收敛,则结束迭代。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
设置所述加权平均值对应的位置为修正后的当前初始位置。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
设置所述标准差为所述第二差值。
结合第三方面的第一种可能的实现方式,在第五种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取所述视频帧中人脸的眉毛所对应的特征点正面化后的位置。
结合第三方面的第一种可能的实现方式,在第六种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
判断当前迭代对应的视频帧中人脸是否与上次迭代对应的视频帧中的人脸相同,如果不相同,则跳过当前迭代,直接进行下次迭代。
结合第三方面至第三方面的第六种可能的实现方式中的任一实现方式,在第七种可能的实现方式中,所述预设人脸为标准平均脸。
结合第三方面至第三方面的第六种可能的实现方式中的任一实现方式,在第八种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
获取视频帧中人脸对应的特征点;
根据所述特征点对所述表情迁移目标进行表情迁移。
本发明实施例提供了一种表情迁移的方法及电子设备,根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种表情迁移的方法的流程图;
图2是本发明实施例提供的一种表情迁移的方法的流程图;
图3是本发明实施例提供的一种表情迁移的方法的流程图;
图4是本发明实施例提供的一种表情迁移的方法的流程图;
图5是本发明实施例提供的一种表情迁移的方法的流程图;
图6是本发明实施例提供的一种电子设备的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提供了一种表情迁移的方法,参照图1所示,方法流程包括:
102、获取预设人脸的眉毛所对应的特征点的位置作为初始位置。
具体的,该过程可以为:
获取预设人脸的眉毛所对应的特征点的位置;
设置该位置为眉毛的初始位置。
示例性的,该预设人脸可以是标准平均脸,该标准平均脸是无表情的人脸。除了上述标准平均脸之外,该预设人脸还可以是其它人脸,本发明实施例对具体的预设人脸不加以限定。
需要指出的是,预设人脸的眉毛所对应的特征点可以是多个,在这种情况下,所述预设人脸的眉毛所对应的特征点的位置是该预设人脸的眉毛所对应的所有特征点的位置的集合。
104、根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛。
具体的,该过程可以为:
获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
为了能够对所述初始位置不断进行迭代修正,每次迭代过程都会选取视频中一帧新的视频帧进行处理,示例性的,该视频帧可以是当前正在播放的视频帧,除了上述当前视频帧之外,所述与当前迭代对应的视频帧还可以是其它视频帧,本发明实施例对具体的视频帧不加以限定;
计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代;
如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
判断所述当前初始位置是否收敛:
计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛;
如果不收敛则再次进行迭代;
如果收敛,则结束迭代。
106、设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置。
具体的,该过程可以为:
设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
对于迭代结束后的视频中的每一帧,在进行表情迁移时,以所述设置后的初始位置作为视频帧中人脸眉毛的初始位置。
108、设置表情迁移目标的眉毛位置为所述初始位置。
具体的,该过程可以为:
将表情迁移的目标对象的眉毛的位置修改为所述初始位置。
示例性的,该表情迁移的目标可以是人脸的三维模型,也可以是人脸的二维模型,还可以是其他模型,本发明实施例对具体的表情迁移的目标不加限定。
本发明实施例提供了一种表情迁移的方法,根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置,进一步地,通过判断所述第一差值是否小于第一阈值来避免差异过大的人脸影响修正的结果,保证了修正的精度。
实施例二
本发明实施例提供了一种表情迁移的方法,参照图2所示,方法流程包括:
202、获取预设人脸的眉毛所对应的特征点的位置作为初始位置。
具体的,该步骤与步骤102类似,此处不再加以赘述。
204、根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛。
具体的,参照图3所示,该过程可以包括:
2041、获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置。
为了能够对所述初始位置不断进行迭代修正,每次迭代过程都会选取视频中一帧新的视频帧进行处理,示例性的,该视频帧可以是当前正在播放的视频帧,除了上述当前视频帧之外,所述与当前迭代对应的视频帧还可以是其它视频帧,本发明实施例对具体的视频帧不加以限定。
2042、计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值。
具体的,该过程可以为:
计算所述视频帧中人脸的眉毛所对应的所有特征点的位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差,计算公式如下:
其中,m为所述视频帧中人脸的眉毛所对应的特征点的个数,i为其中第i个特征点,xi为第i个特征点的位置的横坐标值,为上一次迭代后的初始位置中与第i个特征点对应的特征点的位置的横坐标,yi为第i个特征点的位置的纵坐标值,为上一次迭代后的初始位置中与第i个特征点对应的特征点的位置的纵坐标。
2043、判断所述第一差值是否小于第一阈值。
示例性的,所述第一阈值可以取值为0.01,除了该取值之外,所述第一阈值还可以是其它值,本发明实施例对所述第一阈值的具体取值不加以限定。
2044、如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代。
具体的,该过程可以为:
如果所述第一差值不小于第一阈值,说明所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的差异过大,如果进行迭代修正,将会影响修正结果的精度,所以在这种情况下,跳过当前迭代,直接进行下次迭代。
2045、如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置。
具体的,该过程可以为:
计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值,计算公式如下:
其中,为所述视频帧中人脸的眉毛所对应的特征点中第i个特征点的位置的横坐标的加权平均值,xi为所述视频帧中人脸的眉毛所对应的特征点中第i个特征点的位置的横坐标的值,为所述上一次迭代后的初始位置中与所述视频帧中人脸的眉毛所对应的特征点中第i个特征点相对应的特征点的位置的横坐标的值,为所述视频帧中人脸的眉毛所对应的特征点中第i个特征点的位置的纵坐标的加权平均值,yi为所述视频帧中人脸的眉毛所对应的特征点中第i个特征点的位置的纵坐标的值,为所述上一次迭代后的初始位置中与所述视频帧中人脸的眉毛所对应的特征点中第i个特征点相对应的特征点的位置的纵坐标的值,n为当前迭代的次数。
需要指出的是,n为实际的迭代次数,所有被跳过的迭代不计入实际迭代的次数中。
设置所述加权平均值对应的位置为修正后的当前初始位置。
2046、计算所述当前初始位置与上一次迭代后的初始位置的第二差值。
具体的,计算公式如下:
其中,m为所述当前初始位置中眉毛所对应的特征点的个数,i为其中第i个特征点,为第i个特征点的位置的横坐标在当前迭代修正后的值,为上一次迭代后的初始位置中与第i个特征点对应的特征点的位置的横坐标,为第i个特征点的位置的纵坐标值,为上一次迭代后的初始位置中与第i个特征点对应的特征点的位置的纵坐标。
2047、判断所述当前初始位置是否收敛。
具体的,该过程可以为:
判断所述第二差值是否小于所述第二阈值,如果小于所述第二阈值,则判定所述当前初始位置收敛,否则,判定所述当前初始位置不收敛,示例性的,所述第二阈值可以取值为0.001,除了该取值之外,所述第二阈值还可以是其它值,本发明实施例对所述第一阈值的具体取值不加以限定。
2048、如果不收敛则再次进行迭代。
具体的,该过程可以为:
跳转至步骤2041,开始进行下一次迭代。
2049、如果收敛,则结束迭代。
206、设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置。
具体的,该步骤与步骤106类似,此处不再加以赘述。
208、设置表情迁移目标的眉毛位置为所述初始位置。
具体的,该步骤与步骤106类似,此处不再加以赘述。
本发明实施例提供了一种表情迁移的方法,根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置,进一步地,通过判断所述第一差值是否小于第一阈值来避免差异过大的人脸影响修正的结果,保证了修正的精度。
实施例三
本发明实施例提供了一种表情迁移的方法,参照图4所示,方法流程包括:
302、获取预设人脸的眉毛所对应的特征点的位置作为初始位置。
具体的,该步骤与步骤102类似,此处不再加以赘述。
304、根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛。
具体的,参照图5所示,该过程可以包括:
3041、获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置。
为了能够对所述初始位置不断进行迭代修正,每次迭代过程都会选取视频中一帧新的视频帧进行处理,在对新的视频帧进行处理时,首先判断从该视频帧中获取的人脸是否与上一次迭代中所获取的人脸相同,如果不相同则跳过当前迭代,直接进行下次迭代。
如果该视频帧中获取的人脸与上一次迭代中所获取的人脸相同,则对所述视频帧中人脸的眉毛所对应的特征点进行正面化,获取所述视频帧中人脸的眉毛所对应的特征点正面化后的位置。
3042、计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值。
具体的,该步骤与步骤2042类似,此处不再加以赘述。
3043、判断所述第一差值是否小于第一阈值。
示例性的,所述第一阈值可以取值为0.05,除了该取值之外,所述第一阈值还可以是其它值,本发明实施例对所述第一阈值的具体取值不加以限定。
3044、如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代。
具体的,该步骤与步骤2044类似,此处不再加以赘述。
3045、如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置。
具体的,该步骤与步骤2045类似,此处不再加以赘述。
3046、计算所述当前初始位置与上一次迭代后的初始位置的第二差值。
具体的,该步骤与步骤2046类似,此处不再加以赘述。
3047、判断所述当前初始位置是否收敛。
具体的,该过程可以为:
判断所述第二差值是否小于所述第二阈值,如果小于所述第二阈值,则判定所述当前初始位置收敛,否则,判定所述当前初始位置不收敛,示例性的,所述第二阈值可以取值为0.005,除了该取值之外,所述第二阈值还可以是其它值,本发明实施例对所述第一阈值的具体取值不加以限定。
3048、如果不收敛则再次进行迭代。
具体的,该过程可以为:
跳转至步骤3041,开始进行下一次迭代;或者,
当迭代次数不大于100,并且所述当前初始位置不收敛,跳转至步骤2041,开始进行下一次迭代。
值得注意的是,某些情况下,所述当前初始位置可能始终不收敛,或者是需要经过非常多的迭代次数以后才能收敛,为了保证该方法的稳定性和效率,可以设定最大迭代次数,当超过该迭代次数后,无论是谁当前初始位置是否收敛,都结束迭代过程,示例性的,该最大迭代次数可以设置为100,该最大迭代次数也可以是其他值,本发明实施例对具体的最大迭代次数不加限定。
3049、如果收敛,则结束迭代。
306、设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置。
具体的,该步骤与步骤106类似,此处不再加以赘述。
308、设置表情迁移目标的眉毛位置为所述初始位置。
具体的,该步骤与步骤106类似,此处不再加以赘述。
310、获取视频帧中人脸对应的特征点。
具体的,该过程可以为:
从迭代结束后的下一帧开始,对于视频中的每一帧,获取其中人脸对应的特征点。具体的,获取当人脸对应的特征点可以通过基于形状回归的方法对视频帧中的人脸对应的特征点进行定位,获取人脸对应的特征点,也可以通过SDM(Supervised Descent Method,有监督梯度下降法)算法获取人脸对应的特征点,还可以通过其他方式获取,本发明实施例对具体的获取视频帧中人脸对应的特征点的方式不加以限定。
312、根据所述特征点对所述表情迁移目标进行表情迁移。
具体的,该过程可以为:
根据获取的人脸对应的特征点的位置,驱动表情迁移目标中相应的特征点的位置。
本发明实施例提供了一种表情迁移的方法,根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置,进一步地,通过判断所述第一差值是否小于第一阈值来避免差异过大的人脸影响修正的结果,保证了修正的精度,进一步地,通过判断视频帧中的人脸是否与上次迭代过程中的视频帧中的人脸相同,保证了,每次迭代都使用相同的人脸信息,避免了不同人脸信息对迭代结果的干扰,进一步保证了修正的精度,进一步地,通过对人脸的眉毛所对应的特征点进行正面化,避免了人脸不同表情对迭代结果的干扰,减小了迭代的误差,进一步保证了修正的精度,进一步地,通过设置最大迭代次数,避免了无限次的迭代,保证了方法的效率和稳定性。
实施例四
本发明实施例提供了一种电子设备,参照图6所示,该电子设备包括:
获取模块601,用于获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
迭代模块602,用于根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
初始位置设置模块603,用于设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置。
表情迁移设置模块604,用于设置表情迁移目标的眉毛位置为所述初始位置。
可选的,迭代模块602包括:
获取子模块6021,用于获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
第一差值计算子模块6022,用于计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
第一差值判断子模块6023,用于判断所述第一差值是否小于第一阈值,如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代,如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
收敛判断子模块6024,用于判断所述当前初始位置是否收敛,如果不收敛则再次进行迭代,如果收敛,则结束迭代。
可选的,第一差值判断子模块6023还包括:
均值计算子模块60231,用于计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
均值设置子模块60232,用于设置所述加权平均值对应的位置为修正后的当前初始位置。
可选的,收敛判断子模块6024还包括:
第二差值计算子模块60241,用于计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
第二差值判断子模块60242,用于判断所述第二差值是否小于第二阈值,如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
可选的,第二差值计算子模块60241还包括:
标准差计算子模块602411,计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
标准差设置子模块602412,用于设置所述标准差为所述第二差值。
可选的,获取子模块6021具体用于:
获取所述视频帧中人脸的眉毛所对应的特征点正面化后的位置。
可选的,迭代模块602还包括:
人脸判断子模块6025,用于判断当前迭代对应的视频帧中人脸是否与上次迭代对应的视频帧中的人脸相同,如果不相同,则跳过当前迭代,直接进行下次迭代。
可选的,预设人脸为标准平均脸。
可选的,所述电子设备还包括:
特征点获取模块605,用于获取视频帧中人脸对应的特征点;
表情迁移模块606,用于根据所述特征点对所述表情迁移目标进行表情迁移。
本发明实施例提供了一种电子设备,根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置,进一步地,通过判断所述第一差值是否小于第一阈值来避免差异过大的人脸影响修正的结果,保证了修正的精度。
实施例五
本发明实施例提供了一种电子设备,参照图7所示,所述的电子设备包括存储器701以及与存储器701连接的处理器702,其中,存储器701用于存储一组程序代码,处理器702调用存储器701所存储的程序代码用于执行以下操作:
获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
设置表情迁移目标的眉毛位置为所述初始位置。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代;
如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
判断所述当前初始位置是否收敛;
如果不收敛则再次进行迭代;
如果收敛,则结束迭代。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
设置所述加权平均值对应的位置为修正后的当前初始位置。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
设置所述标准差为所述第二差值。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
获取所述视频帧中人脸的眉毛所对应的特征点正面化后的位置。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
判断当前迭代对应的视频帧中人脸是否与上次迭代对应的视频帧中的人脸相同,如果不相同,则跳过当前迭代,直接进行下次迭代。
可选的,预设人脸为标准平均脸。
可选的,处理器702调用存储器701所存储的程序代码用于执行以下操作:
获取视频帧中人脸对应的特征点;
根据所述特征点对所述表情迁移目标进行表情迁移。
本发明实施例提供了一种电子设备,根据视频帧中人脸的眉毛的位置不断地对预设的标准平均脸的眉毛的位置进行修正,从而能够有效地获取视频帧中人脸在无表情情况下的眉毛的位置,进一步地,通过判断所述第一差值是否小于第一阈值来避免差异过大的人脸影响修正的结果,保证了修正的精度。
以上仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,本领域普通技术人员在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种表情迁移的方法,其特征在于,所述方法包括:
获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
设置表情迁移目标的眉毛位置为所述初始位置。
2.根据权利要求1所述的方法,其特征在于,所述迭代修正包括:
获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代;
如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
判断所述当前初始位置是否收敛;
如果不收敛则再次进行迭代;
如果收敛,则结束迭代。
3.根据权利要求2所述的方法,其特征在于,所述根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置包括:
计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
设置所述加权平均值对应的位置为修正后的当前初始位置。
4.根据权利要求2所述的方法,其特征在于,所述判断所述当前初始位置是否收敛包括:
计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
5.根据权利要求4所述的方法,其特征在于,所述计算所述当前初始位置与上一次迭代后的初始位置的第二差值包括:
计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
设置所述标准差为所述第二差值。
6.一种电子设备,其特征在于,所述电子设备包括:
获取模块,用于获取预设人脸的眉毛所对应的特征点的位置作为初始位置;
迭代模块,用于根据视频帧中人脸的眉毛所对应的特征点的位置对所述初始位置进行迭代修正,直至收敛;
初始位置设置模块,用于设置收敛后的初始位置为所述视频帧中人脸的眉毛的初始位置;
表情迁移设置模块,用于设置表情迁移目标的眉毛位置为所述初始位置。
7.根据权利要求6所述的电子设备,其特征在于,所述迭代模块包括:
获取子模块,用于获取与当前迭代对应的视频帧中人脸的眉毛所对应的特征点的位置;
第一差值计算子模块,用于计算所述视频帧中人脸的眉毛所对应的特征点的位置与上一次迭代后的初始位置的第一差值;
第一差值判断子模块,用于判断所述第一差值是否小于第一阈值,如果所述第一差值不小于第一阈值,则跳过当前迭代,直接进行下次迭代,如果所述第一差值小于第一阈值,则根据所述视频帧中人脸的眉毛所对应的特征点的位置对所述上一次迭代后的初始位置进行修正,得到修正后的当前初始位置;
收敛判断子模块,用于判断所述当前初始位置是否收敛,如果不收敛则再次进行迭代,如果收敛,则结束迭代。
8.根据权利要求7所述的电子设备,其特征在于,所述第一差值判断子模块还包括:
均值计算子模块,用于计算所述视频帧中人脸的眉毛所对应的特征点的位置与所述上一次迭代后的初始位置的加权平均值;
均值设置子模块,用于设置所述加权平均值对应的位置为修正后的当前初始位置。
9.根据权利要求7所述的电子设备,其特征在于,所述收敛判断子模块还包括:
第二差值计算子模块,用于计算所述当前初始位置与上一次迭代后的初始位置的第二差值;
第二差值判断子模块,用于判断所述第二差值是否小于第二阈值,如果所述第二差值小于第二阈值,则判定所述修正后的眉毛所对应的特征点的位置收敛。
10.根据权利要求9所述的电子设备,其特征在于,所述第二差值计算子模块还包括:
标准差计算子模块,计算所述当前初始位置与上一次迭代后的初始位置中所有相对应的特征点之间的位置的标准差;
标准差设置子模块,用于设置所述标准差为所述第二差值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610204461.XA CN107292812A (zh) | 2016-04-01 | 2016-04-01 | 一种表情迁移的方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610204461.XA CN107292812A (zh) | 2016-04-01 | 2016-04-01 | 一种表情迁移的方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107292812A true CN107292812A (zh) | 2017-10-24 |
Family
ID=60087022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610204461.XA Pending CN107292812A (zh) | 2016-04-01 | 2016-04-01 | 一种表情迁移的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107292812A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109003245A (zh) * | 2018-08-21 | 2018-12-14 | 厦门美图之家科技有限公司 | 坐标处理方法、装置及电子设备 |
US10528796B2 (en) * | 2017-09-28 | 2020-01-07 | Cal-Comp Big Data, Inc. | Body information analysis apparatus with augmented reality and eyebrow shape preview method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040056857A1 (en) * | 2002-04-24 | 2004-03-25 | Zhengyou Zhang | System and method for expression mapping |
CN103268623A (zh) * | 2013-06-18 | 2013-08-28 | 西安电子科技大学 | 一种基于频域分析的静态人脸表情合成方法 |
CN104616347A (zh) * | 2015-01-05 | 2015-05-13 | 掌赢信息科技(上海)有限公司 | 一种表情迁移方法、电子设备及系统 |
CN104978764A (zh) * | 2014-04-10 | 2015-10-14 | 华为技术有限公司 | 三维人脸网格模型处理方法和设备 |
-
2016
- 2016-04-01 CN CN201610204461.XA patent/CN107292812A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040056857A1 (en) * | 2002-04-24 | 2004-03-25 | Zhengyou Zhang | System and method for expression mapping |
CN103268623A (zh) * | 2013-06-18 | 2013-08-28 | 西安电子科技大学 | 一种基于频域分析的静态人脸表情合成方法 |
CN104978764A (zh) * | 2014-04-10 | 2015-10-14 | 华为技术有限公司 | 三维人脸网格模型处理方法和设备 |
CN104616347A (zh) * | 2015-01-05 | 2015-05-13 | 掌赢信息科技(上海)有限公司 | 一种表情迁移方法、电子设备及系统 |
Non-Patent Citations (3)
Title |
---|
SHUOJUN LIU等: "Emotional facial expression transfer based on temporal restricted Boltzmann machines", 《SIGNAL AND INFORMATION PROCESSING ASSOCIATION ANNUAL SUMMIT AND CONFERENCE 2014》 * |
王进: "基于视频的人脸表情建模研究", 《中国博士学位论文全文数据库基础科学辑》 * |
蒲倩: "人脸表情迁移与分析方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528796B2 (en) * | 2017-09-28 | 2020-01-07 | Cal-Comp Big Data, Inc. | Body information analysis apparatus with augmented reality and eyebrow shape preview method thereof |
CN109003245A (zh) * | 2018-08-21 | 2018-12-14 | 厦门美图之家科技有限公司 | 坐标处理方法、装置及电子设备 |
CN109003245B (zh) * | 2018-08-21 | 2021-06-04 | 厦门美图之家科技有限公司 | 坐标处理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113792850B (zh) | 字体生成模型训练方法、字库建立方法、装置及设备 | |
CN111736615B (zh) | 一种步态规划方法、装置、计算机可读存储介质及机器人 | |
CN113792851B (zh) | 字体生成模型训练方法、字库建立方法、装置及设备 | |
CN111325223B (zh) | 深度学习模型的训练方法、装置和计算机可读存储介质 | |
CN111144215B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112686383B (zh) | 一种通信并行的分布式随机梯度下降的方法、系统及装置 | |
CN114063858B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111079533A (zh) | 无人车驾驶决策方法、无人车驾驶决策装置及无人车 | |
CN107292812A (zh) | 一种表情迁移的方法及电子设备 | |
CN105139007A (zh) | 人脸特征点定位方法和装置 | |
CN115359334A (zh) | 多任务学习深度网络的训练方法及目标检测方法、装置 | |
CN115454062A (zh) | 一种基于贝兹曲线的机器人动态路径规划方法及系统 | |
CN111783278A (zh) | 基于多模态分布估计算法的卫星布局优化设计方法 | |
CN109492697A (zh) | 图片检测网络训练方法及图片检测网络训练装置 | |
CN107292220A (zh) | 一种眉毛位置的初始化方法及电子设备 | |
CN108053033A (zh) | 一种函数调用序列生成方法和系统 | |
JP2004010349A (ja) | 自動倉庫システムの搬送時間予測方法 | |
CN109240813B (zh) | 一种移动云计算中的任务调度与任务迁移方法 | |
CN111831356A (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN110610140A (zh) | 人脸识别模型的训练方法、装置、设备及可读存储介质 | |
CN107710229A (zh) | 图像中的形状识别方法、装置、设备及计算机存储介质 | |
CN110825753A (zh) | 一种在网页地图上增加定位点容量的方法 | |
CN110321824A (zh) | 基于神经网络的绑扎判定方法及装置 | |
CN114581586A (zh) | 一种模型基底的生成方法、装置、电子设备及存储介质 | |
CN114492787A (zh) | 自适应的神经网络训练方法、电子设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171024 |
|
WD01 | Invention patent application deemed withdrawn after publication |