CN113129411A - 一种仿生动画生成方法及电子设备 - Google Patents
一种仿生动画生成方法及电子设备 Download PDFInfo
- Publication number
- CN113129411A CN113129411A CN201911405747.4A CN201911405747A CN113129411A CN 113129411 A CN113129411 A CN 113129411A CN 201911405747 A CN201911405747 A CN 201911405747A CN 113129411 A CN113129411 A CN 113129411A
- Authority
- CN
- China
- Prior art keywords
- scene
- terrain
- electronic device
- real
- animation
- 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 143
- 239000011664 nicotinic acid Substances 0.000 title claims abstract description 126
- 230000009471 action Effects 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims description 42
- 238000005070 sampling Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 30
- 238000001914 filtration Methods 0.000 claims description 28
- 230000009466 transformation Effects 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003592 biomimetic effect Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000009877 rendering Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 88
- 238000004891 communication Methods 0.000 description 49
- 230000006854 communication Effects 0.000 description 49
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 16
- 230000004927 fusion Effects 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 13
- 230000000630 rising effect Effects 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 208000025174 PANDAS Diseases 0.000 description 9
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 9
- 240000004718 Panda Species 0.000 description 9
- 235000016496 Panda oleosa Nutrition 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000007500 overflow downdraw method Methods 0.000 description 5
- 210000000988 bone and bone Anatomy 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种仿生动画生成方法及电子设备,涉及媒体技术领域,能够实现虚拟角色与实时地形的交互,生成更具趣味性的动画。该方法包括:根据实时场景信息,生成场景地图,该实时场景信息包括场景深度图,该场景地图包括场景的多个位置的高度信息;并且对目标角色在场景地图中的行进轨迹做地形标注,该地形标注用于指示目标角色当前位置的地形特征;以及生成该目标角色的动作信息,并根据目标角色的动作信息生成仿生动画,该目标角色的动作信息与该地形标注对应。
Description
技术领域
本申请实施例涉及媒体技术领域,尤其涉及一种仿生动画生成方法及电子设备。
背景技术
增强现实(Augmented Reality,AR)技术是一种将虚拟数字内容(例如虚拟的人物角色)和真实物理世界融合的技术,采用AR技术可以实现虚拟角色在真实场景中运动,并且该虚拟角色可以根据真实场景的地形做出相应的动作的仿生动画。例如,虚拟角色遇到台阶地形时,做出抬起腿上台阶或下台阶的动作。
目前,可以采集人物在不同的真实环境地形中运动时的动作数据(包括当前帧中目标角色的位置、前进方向、高度、前一帧中人物的关节位置、速度等信息)训练一个目标神经网络,然后将目标角色所处的场景的地形标注(例如障碍物、台阶、斜坡等地形的地形标注)输入至该目标神经网络,进而该目标神经网络可以输出目标角色在该三维场景中的动作,实现目标角色和该三维场景的交互。
然而,上述方法中,目标角色所处的三维场景的地形通常为固有的地形,即三维场景的地形标注是预先已经标注好的,若目标角色所处的三维场景的地形发生实时变化时,则该目标角色无法与三维场景进行较好的交互,如此,生成的动画的趣味性不高,导致用户体验较差。
发明内容
本申请实施例提供一种仿生动画生成方法及电子设备,能够实现虚拟角色与实时地形的交互,生成更具趣味性的动画。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种仿生动画生成方法,该方法包括:根据实时场景信息,生成场景地图;并且对目标角色在场景地图中的行进轨迹做地形标注,该地形标注用于指示目标角色当前位置的地形特征;以及生成目标角色的动作信息,并根据目标角色的动作信息生成仿生动画。该目标角色的动作信息与该地形标注对应。
其中,上述实时场景信息包括场景的深度图,可以理解的是,深度图包含深度信息,该深度信息用于构建场景的三维模型,该场景地图包括场景的多个位置的高度信息。
本申请实施例中,实时场景信息还可以包括场景的彩色图以及IMU信息。其中,彩色图和深度图是电子设备通过该电子设备的一个或多个摄像头(例如RGBD相机)采集得到,IMU信息是电子设备通过该电子设备上的IMU(包括加速度计和陀螺仪)采集得到,IMU信息可以包括该电子设备的加速度和角速度。
上述场景可以是一个开阔的空间,例如,可以为一片开阔的田野;可以为室内的某一角落;也可以由至少一个物体组成,例如,由多个箱体摆放而成的场景;或者该场景还可以包括至少一个人物或者动物等。
本申请实施例提供的仿生动画生成方法可以应用于将虚拟角色(例如虚拟的人物角色)和真实物理世界进行融合显示的过程中,具体的,电子设备根据实时场景信息,生成该场景地图;并且对目标角色该场景地图中的行进轨迹做地形标注;以及生成与该行进轨迹的地形标注对应的动作信息,进而采用该目标角色的动作信息驱动目标角色的3D模型以生成仿生动画,如此,目标角色能够对该真实环境的地形进行实时地反应,实现虚拟角色与实时地形的交互,生成更具趣味性的动画。
一种可能的实现方式中,本申请实施例提供的仿生动画生成方法还可以包括:根据目标角色当前的运动方向,预测目标角色在场景地图中的行进轨迹,该行进轨迹上的采样点之间的距离根据目标角色的运动速度来调节。
其中,该行进轨迹上的采样点的高度信息用于确定该行进轨迹的地形特征。
本申请实施例中,目标角色在场景地图中的行进轨迹是根据目标角色已行进的轨迹和目标角色当前的运动方向以及运动速度预测的该目标角色未来行进的一段轨迹;相应的,目标角色当前位置的地形特征指的是上述预测的该目标角色未来行进的一段轨迹的地形特征。
本申请实施例中,通过控制目标角色在上述生成的场景地图中行进(即在该场景中行进),然后电子设备按照固定帧频在场景地图中采集目标角色在场景地图中的行进轨迹,具体的,在一个采集周期内,以目标角色当前位置为中心,根据用户指定(即控制)的行进方向,在高度地图上进行采样,得到行进轨迹。对于目标角色脚下的采样点,可以选取中间区域较密集的采样点构成主要的采样轨迹,左右两侧较稀疏的采样点用于辅助控制。
一种可能的实现方式中,对目标角色在场景地图中的行进轨迹做地形标注的方法可以包括:将目标角色在场景地图中的行进轨迹与多种地形模板匹配,确定行进轨迹对应的地形特征;并且根据该行进轨迹对应的地形特征对该行进轨迹做地形标注。
本申请实施例中,上述地形模板为预先设置的,该地形模板包括不同地形的轨迹,该地形模板主要记录的是不同地形对应的高度信息。具体的,按照轨迹的高度、宽度以及坡度等因素设置出高台、障碍物、坑洞、楼梯、斜坡、高墙以及悬崖等地形模板。
上述行进轨迹的地形标注还包括该行进轨迹是某种地形的概率,该行进轨迹是某种地形的概率可以通过该行进轨迹包含的多个子轨迹各自的匹配度值(即上述的每个子轨迹与多个地形模板匹配时,匹配度值最高一个值)来确定。
一种可能的实现方式中,上述将目标角色在场景地图中的行进轨迹与多种地形模板进行匹配,确定该行进轨迹对应的地形特征的方法可以包括:将目标角色在场景地图中的行进轨迹划分为多个子轨迹,该子轨迹的长度与地形模板的长度相等;并且将多个子轨迹依次与多种地形模板进行匹配,进而根据该行进轨迹包含的多个子轨迹各自对应的地形特征,确定该行进轨迹对应的地形特征。
本申请实施例中,目标角色的行进轨迹均指的是目标角色在场景地图中的行进轨迹,电子设备可以将目标角色的行进轨迹沿高度方向进行平移,使得目标角色当前所处的位置的高度相对于预设的参考面的高度为零,如此,便于将目标角色的行进轨迹与地形模板进行匹配运算。具体的,电子设备依次计算上述目标角色的行进轨迹中所有子轨迹与多种地形模板的匹配度值,匹配度值越高,说明子轨迹与地形模型越相似。对于一个子轨迹,该子轨迹与多种地形模板的匹配度值中匹配度值最高的地形模板的地形特征确定为该子轨迹对应的地形特征,进而确定出目标角色的行进轨迹的地形特征。
上述确定出多个子轨迹中每个子轨迹的地形特征之后,可以根据每个子轨迹的匹配度值(指的是每个子轨迹与多个地形模板匹配时,匹配度值最高一个值),确定目标角色的行进轨迹的地形特征,具体的,将多个子轨迹的匹配度值中最高的一个子轨迹对应的地形特征确定为该目标角色的行进轨迹的地形特征。
一种可能的实现方式中,将目标角色在场景地图中的行进轨迹与多种地形模板匹配之前,本申请实施例提供的仿生动画生成方法还包括:对目标角色在场景地图中的行进轨迹进行滤波,该滤波包括平滑滤波或中值滤波。
本申请实施例中,电子设备获取到目标角色的行进轨迹后,可以先对该行进轨迹进行滤波,再将滤波后的行进轨迹与多种地形模板进行匹配。在一个采样周期内采集得到的轨迹上的采样点的高度信息可以构成一条一维曲线,电子设备对该一维曲线进行滤波以去除部分噪声点,该滤波后的行进轨迹的稳定性较好,如此,能够提高目标角色行进的稳定性。
一种可能的实现方式中,上述根据实时场景信息,生成场景地图的方法可以包括:根据实时场景信息,生成场景的多个网格;并且对每一网格所覆盖的水平区域的点赋予高度值,以插入每一网格到场景地图中。
本申请实施例中,电子设备连续采集多帧图像,并逐帧进行处理,从而连续生成场景的多个网格,该多个网格可以反映该场景的地形。一个网格由多个面片组成,面片的形状可以为三角形或者四边形,也可以为其他多边形,本申请实施例不作限定。
上述电子设备得到场景的多个网格之后,将该多个网格按照获取网格的时间顺序插入场景地图中,具体的,将网格插入场景地图的过程中,对于每一个网格而言,电子设备将该网格中的每个面片所覆盖的水平区域的点(即位置)赋予高度值,即完成一个网格的插入,随着网格的不断插入,场景地图随之扩大。
本申请实施例中,可以根据网格的每个面片的顶点的高度确定面片对应的水平区域的多个位置的高度。示例性的,假如一个面片的形状为三角形,该面片的三个顶点由三个三维点云组成(三维点云是电子设备获取的深度图像转换得到的)组成,如此,可以将该三个三维点云对应的高度作为该面片的顶点对应的水平区域的三个位置的高度,或者也可以根据实际需求,根据一个面片的三个顶点的高度采用插值方法得到该面片对应的水平区域的更多位置的高度,本申请实施例不作限定。
上述将多个网格插入到场景地图的过程中,当前网格与之前插入的网格有重叠时,例如当前网格的一个面片与之前的网格的某一个面片对应的水平区域重叠的情况下,需要考虑更新该面片对应的水平区域的高度值,例如,可以采用当前网格中该面片对应的水平区域的高度值替换旧的高度值(即使用新值替换旧值)。在另一种情况下,对于一个网格,场景地图中的一个位置的高度值对应多个面片的顶点的高度值时,采用多个面片中顶点的高度值中的最大高度值作为该位置的高度值。
一种可能的实现方式中,上述根据实时场景信息,生成场景的多个网格的方法包括:将实时采集的当前帧的深度图转换为当前帧的三维点云;然后根据当前帧对应的位姿对当前帧的三维点云进行坐标转换,得到当前帧在世界坐标系下的三维点云;进而将当前帧在世界坐标系下的三维点云网格化,得到多个网格中的一个网格。
应理解,将实时采集的当前帧的深度图转换为当前帧的三维点云,这里,转换得到的当前帧的三维点云的坐标系是预设坐标系,该预设坐标系为电子设备的坐标系,即相机坐标系。
本申请实施例中,当前帧对应的位姿即为拍摄当前帧时电子设备的相机的位姿,相机的位姿包括在世界坐标系中的坐标(即相机的空间位置)以及旋转角度(即相机的空间姿态,包括俯仰角θ、偏航角和横滚角ψ)。可选的,可以通过IMU采集的电子设备的加速度和电子设备相对于世界坐标系的角速度来对相机的空间位置和空间姿态(即空间位姿)进行估计;或者根据电子设备的摄像头获取的深度图对电子设备的位姿进行估计;或者根据电子设备的摄像头获取的彩色图和IMU采集的IMU信息对电子设备的位姿进行估计;或者还可以根据摄像头获取的彩色图、深度图以及IMU采集的IMU信息对电子设备的位姿进行估计。可选的,电子设备可以采用泊松重建等网格化算法,将当前帧的三维点云网格化,生成场景的网格。
在一种实现方式中,上述根据当前帧对应的位姿对当前帧的三维点云进行坐标转换,得到当前帧在世界坐标系下的三维点云之后,本申请实施例提供的仿生动画生成方法还包括:
在当前帧对应的位姿满足位姿变化条件的情况下,更新场景的三维点云;并且重新确定当前帧在世界坐标系下的三维点云。该位姿变化条件为当前帧与前一帧的空间变换距离大于预设距离阈值,并且当前帧与前一帧的空间变换角度大于预设角度阈值。
一种可能的实现方式中,当前帧与前一帧的空间变换距离通过重新获取的当前帧的三维点云的空间位置确定,该当前帧与前一帧的空间变换角度通过当前帧与前一帧的空间姿态确定。示例性的,若当前帧的空间位置记为(x,y,z),当前帧的空间姿态表示为θ,和ψ;当前帧的前一帧对应的各个点云的空间位置为(x',y',z'),当前帧的前一帧的空间姿态表示为θ',ψ'和φ'。
上述更新场景的三维点云包括将当前帧在世界坐标系下的三维点云与之前得到的场景的三维点云进行融合。一种点云融合方法可以为:将距离小于给定的阈值的三维点云的坐标进行加权平均,也就是说,将在一定半径范围内的多个三维点云融合成一个三维点云。当然,也可以采用其他点云融合的方法来更新场景的三维点云。场景的三维点云更新后,可以采用反投影算法从更新后的场景的三维点云中,重新确定当前帧的三维点云(应理解,该重新确定的当前帧的三维点云为世界坐标系下的三维点云),该重新确定的当前帧的三维点云是从当前帧的视角下可以看到的三维点云。
本申请实施例中,上述当前帧对应的位姿满足位姿变化条件即可以理解为当前帧相比于前一帧来说,其位姿变化较大,此时获取的场景的图像的变化较大,在这种情况下,对场景的三维点云进行更新,并重新确定当前帧在世界坐标系下的三维点云,进而输出一个网格。否则(即当前帧对应的位姿不满足位姿变化条件时),该电子设备不输出网格,该电子设备继续处理下一帧,以确定是否输出网格。可以理解的是,本申请实施例中,电子设备确定的场景的网格的数量小于或者等于该电子设备获取的场景的图像的数量。
一种可能的实现方式中,上述生成所述目标角色的动作信息的方法包括:通过人工智能AI动作生成器,生成目标角色的动作信息。
电子设备可以通过AI动作生成器,生成目标角色的动作信息,该AI智能动作生成器可以为采用神经网络算法(该电子设备中可以集成有神经网络)训练得到的前馈神经网络,从而将目标角色的行进轨迹的地形标注作为前馈神经网络的输入,生成与该地形标注对应的动作信息。
一种可能的实现方式中,上述目标角色的动作信息包括目标角色的预定关节的位置和旋转信息,该动作信息还可以包括目标角色的预定关节的运动速度。
一种可能的实现方式中,上述生成目标角色的动作信息之后,还可以采用目标角色的动作信息,对目标角色的3D模型进行变形和渲染,得到仿生动画。
本申请实施例中,子设备实时地逐帧生成目标角色的动作信息(每一帧对应的动作信息称为一个动作帧),然后电子设备使用目标角色的动作信息驱动装配有骨骼和蒙皮的目标角色的3D模型,由骨骼带动该3D模型的皮肤变形(该变形后的3D模型即表现的是目标角色的动作状态),上述每一个动作帧,都对应一个变形的3D模型。电子设备按照生成动作帧的帧频,对3D模型进行变形,并将变形后的3D模型在电子设备拍摄到的场景中进行渲染,得到仿生动画。
第二方面,本申请实施例提供一种电子设备,包括场景重建模块、地形分析模块以及动作生成模块。其中,场景重建模块用于根据实时场景信息,生成场景地图,该实时场景信息包括场景的深度图,该场景地图包括场景的多个位置的高度信息;地形分析模块用于对目标角色在场景地图中的行进轨迹做地形标注,该地形标注用于指示目标角色当前位置的地形特征;动作生成模块用于生成目标角色的动作信息,并根据目标角色的动作信息生成仿生动画,该动作信息与目标角色在场景地图中的行进轨迹的地形标注对应。
一种可能的实现方式中,本申请实施例提供的电子设备还包括轨迹采样模块,该轨迹采样模块用于根据目标角色当前的运动方向,预测目标角色在场景地图中的行进轨迹,该行进轨迹上的采样点之间的距离根据目标角色的运动速度来调节。该行进轨迹上的采样点的高度信息用于确定该行进轨迹的地形特征。
一种可能的实现方式中,上述地形分析模块具体用于将目标角色在场景地图中的行进轨迹与多种地形模板匹配,确定该行进轨迹对应的地形特征;并且根据该行进轨迹对应的地形特征对该行进轨迹做地形标注。
一种可能的实现方式中,上述地形分析模块具体用于将目标角色在场景地图中的行进轨迹划分为多个子轨迹;并且将该多个子轨迹依次与多种地形模板进行匹配,确定该多个子轨迹各自的地形特征;以及根据该行进轨迹包含的多个子轨迹各自对应的地形特征,确定该行进轨迹对应的地形特征,子轨迹的长度与地形模板的长度相等。
一种可能的实现方式中,本申请实施例提供的电子设备还包括轨迹滤波模块;该轨迹滤波模块用于对目标角色在场景地图中的行进轨迹进行滤波,滤波包括平滑滤波或中值滤波。
一种可能的实现方式中,上述场景重建模块具体用于根据实时场景信息,生成场景的多个网格;并且对每一网格所覆盖的水平区域的点赋予高度值,以插入每一网格到所述场景地图中。
一种可能的实现方式中,上述场景重建模块具体用于将实时采集的当前帧的深度图转换为当前帧的三维点云;然后根据当前帧对应的位姿对当前帧的三维点云进行坐标转换,得到当前帧在世界坐标系下的三维点云;以及将当前帧在世界坐标系下的三维点云网格化,得到多个网格中的一个网格。
一种可能的实现方式中,场景重建模块,还用于在当前帧对应的位姿满足位姿变化条件的情况下,更新场景的三维点云;并且重新确定当前帧在世界坐标系下的三维点云。该位姿变化条件为当前帧与前一帧的空间变换距离大于预设距离阈值,并且当前帧与前一帧的空间变换角度大于预设角度阈值。
第三方面,本申请实施例提供一种电子设备,包括:摄像头、处理器和存储器;该存储器用于存储计算机程序代码,该计算机程序代码包括指令;该摄像头用于执行该指令,采集实时场景信息;该处理器用于执行该指令,根据实时场景信息,生成场景地图;并且对目标角色在该场景地图中的行进轨迹做地形标注;以及生成目标角色的动作信息,并根据目标角色的动作信息生成仿生动画,该目标角色的动作信息与该地形标注对应;其中,实时场景信息包括场景的深度图,场景地图包括场景的多个位置的高度信息,目标角色在场景地图中的行进轨迹的地形标注用于指示目标角色当前位置的地形特征。
第四方面,一种仿生动画生成方法,包括:响应于用户的第一操作,电子设备显示第一界面,该第一界面包含实时场景的图像和位于该实时场景中的目标角色,该第一操作用于触发电子设备生成仿生动画;并且响应于用户的第二操作,电子设备控制目标角色在实时场景中行进,并显示仿生动画,该仿生动画包括目标角色在实时场景中行进的动态图像,该仿生动画中目标角色的动作由行进过程中实时场景的地形特征来确定。
本申请实施例提供的仿生动画生成方法可以应用于将虚拟角色(例如虚拟的人物角色)和真实物理世界进行融合显示的过程中,具体的,电子设备可以响应于用户的第一操作,显示包含实时场景的图像和位于该实时场景中的目标角色的第一界面,并且可以响应于用户的第二操作,控制目标角色在实时场景中行进,并显示仿生动画,该仿生动画中该目标角色的动作由行进过程中实时场景的地形特征来确定,如此,在生成的仿生动画中,目标角色能够对该真实环境的地形进行实时地反应,实现虚拟角色与实时地形的交互,生成更具趣味性的动画。
一种可能的实现方式中,电子设备显示第一界面之前,本申请实施例提供的仿生动画生成方法还包括:响应于用户对电子设备的预设应用的操作,显示包含仿生动画生成选项的界面,该预设应用为电子设备的相机应用或电子设备的AR动画应用;其中,所述第一操作是对仿生动画生成选项的选中操作。
一种可能的实现方式中,上述第一界面包含遥控控件,该第二操作是用户对遥控控件的操作;或者,该第二操作是对第一界面的手势操作。
本申请实施例中,遥控空间可以为遥控杆,遥控杆可以控制目标角色的行进方向和行进速度,具体的,通过该遥控杆的上下左右的四个控件以控制目标角色分别进行前后左右移动,通过遥控杆的中心位置的圆形控件控制目标角色的行进速度。
用户对第一界面的手势操作也可以为滑动操作,例如在手机的触摸屏的任意位置,向上下左右不同的方向滑动控制目标角色的行进方向,以使得角色前后左右运动。可选的,可以通过用户手指在触摸屏上的滑动距离来控制目标角色的行进速度。
一种可能的实现方式中,上述电子设备显示第一界面之前,本申请实施例提供的仿生动画生成方法还包括:响应于第一操作,该电子设备显示一个或多个候选角色。
上述电子设备显示第一界面,包括:响应于用户对一个或多个候选角色中目标角色的选中操作,显示第一界面。
本申请实施例中,在电子设备接收到用户的第一操作之后,电子设备显示第一界面(包含目标角色)之前,该电子设备可以响应于用户的第一操作(触发生成仿生动画的操作),显示一个或多个候选角色,从而用户可以根据自己的喜好选择其中的一个角色作为目标角色,增加趣味性,提升用户体验。
在一种可能的实现方式中,用户还可以添加角色,例如用户将手机相册中的一个角色添加至候选角色中,从而该用户可以选择该添加的角色作为目标角色;或者,用户可以通过手机的摄像头实时地获取一个角色(例如拍一张办公桌上的小公仔),将该获取的角色作为目标角色。
一种可能的实现方式中,本申请实施例提供的仿生动画生成方法还包括:接收用户的第三操作,该第三操作是切换第一界面上的目标角色的操作;并且响应于用户的第三操作,电子设备显示第二界面,该第二界面包含实时场景的图像和位于该实时场景中的切换后的目标角色;以及响应于用户的第四操作,电子设备控制切换后的目标角色在实时场景中行进,并显示仿生动画,该仿生动画包括切换后的目标角色在实时场景中行进的动态图像,该切换后的目标角色的动作由行进过程中实时场景的地形特征来确定。
其中,上述第四操作与上述第二操作类似,均为控制目标角色行进的操作。
本申请实施例中,电子设备响应于用户的第一操作,显示包含实时场景的图像和位于该实时场景中的目标角色之后,用户可以切换第一界面中的目标角色;或者在用户控制目标角色在实时场景中行进的过程中,用户也可以灵活地切换目标角色。
在一种可能的实现方式中,电子设备显示的第一界面(应理解,电子设备在显示仿生动画时,仿生动画的每一帧即对应一种第一界面)上可以包含角色切换选项,当用户想要切换目标角色时,用户可以选中角色切换选项,电子设备响应于用户选中角色切换选项的操作,显示包含多个候选角色的界面,从而用户可以根据自己的喜欢从多个候选角色中重新选择新的目标角色。
第五方面,本申请实施例提供一种电子设备,包括显示模块;该显示模块用于响应于用户的第一操作,显示第一界面,该第一界面包含实时场景的图像和位于该实时场景中的目标角色,该第一操作用于触发电子设备生成仿生动画;并且响应于用户的第二操作,在控制目标角色在实时场景中行进的过程中,显示仿生动画,该仿生动画包括目标角色在实时场景中行进的动态图像,该仿生动画中目标角色的动作由行进过程中实时场景的地形特征来确定。
一种可能的实现方式中,上述显示模块还用于响应于用户对电子设备的预设应用的操作,显示包含仿生动画生成选项的界面,该预设应用为电子设备的相机应用或电子设备的AR动画应用;其中,第一操作是对仿生动画生成选项的选中操作。
一种可能的实现方式中,上述第一界面包含遥控控件,则第二操作是用户对遥控控件的操作;或者,第二操作是对第一界面的手势操作。
一种可能的实现方式中,上述显示模块,还用于响应于第一操作,显示一个或多个候选角色;该显示模块,具体用于响应于用户对一个或多个候选角色中目标角色的选中操作,显示第一界面。
一种可能的实现方式中,本申请实施例提供的电子设备还包括接收模块;接收模块用于接收用户的第三操作,该第三操作是切换第一界面上的目标角色的操作;上述显示模块还用于响应于用户的第三操作,显示第二界面,该第二界面包含实时场景的图像和位于该实时场景中的切换后的目标角色;并且响应于用户的第四操作,在控制切换后的目标角色在实时场景中行进的过程中,显示仿生动画,该仿生动画包括切换后的目标角色在实时场景中行进的动态图像,该切换后的目标角色的动作由行进过程中实时场景的地形特征来确定。
第六方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机执行指令,该计算机执行指令被执行时,以执行上述第一方面及其可能的实现方式中任意之一所述的仿生动画生成方法。
第七方面,本申请实施例提供一种芯片系统,该芯片系统包括:存储介质和处理电路,该存储介质用于存储指令;该处理电路用于执行该指令,以执行上述第一方面及其可能的实现方式中任意之一所述的仿生动画生成方法。
第八方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括程序指令,该程序指令在计算机上运行时,以执行上述第一方面及其可能的实现方式中任意之一所述的仿生动画生成方法。
应当理解的是,本申请实施例的第二方面、第三方面、第五方面至第八方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面、第四方面及其对应的可能的实施方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的预设坐标系示意图;
图2为本申请实施例提供的一种电子设备的预设坐标系相对于世界坐标系的欧拉角示意图;
图3为本申请实施例提供的一种手机的硬件结构示意图;
图4A为本申请实施例提供的一种虚拟角色的运动示意图一;
图4B为本申请实施例提供的一种虚拟角色的运动示意图二;
图4C为本申请实施例提供的一种虚拟角色的运动示意图三;
图5为本申请实施例提供的一种仿生动画生成方法示意图一;
图6为本申请实施例提供的一种仿生动画生成方法示意图二;
图7为本申请实施例提供的一种场景的网格的一种效果示意图;
图8A为本申请实施例提供的高台地形模板示意图;
图8B为本申请实施例提供的平台地形模板示意图;
图8C为本申请实施例提供的楼梯地形模板示意图;
图8D为本申请实施例提供的坑洞的地形模板示意图;
图8E为本申请实施例提供的高墙和悬崖的地形模板示意图;
图8F为本申请实施例提供的坡度的斜坡的地形模板;
图9为本申请实施例提供的一种目标角色的3D模型示意图;
图10为本申请实施例提供的一种仿生动画生成方法示意图三;
图11为本申请实施例提供的一种电子设备的显示界面实例示意图一;
图12为本申请实施例提供的一种电子设备的显示界面实例示意图二;
图13为本申请实施例提供的一种电子设备的显示界面实例示意图三;
图14为本申请实施例提供的一种电子设备的显示界面实例示意图四;
图15为本申请实施例提供的一种电子设备的显示界面实例示意图五;
图16为本申请实施例提供的一种电子设备的显示界面实例示意图六;
图17为本申请实施例提供的一种电子设备的显示界面实例示意图七;
图18为本申请实施例提供的一种仿生动画生成方法示意图四;
图19为本申请实施例提供的一种电子设备的显示界面实例示意图八;
图20为本申请实施例提供的一种仿生动画生成方法示意图五;
图21为本申请实施例提供的一种电子设备的显示界面实例示意图九;
图22为本申请实施例提供的一种电子设备的结构示意图一;
图23为本申请实施例提供的一种电子设备的结构示意图二;
图24为本申请实施例提供的一种电子设备的结构示意图三;
图25为本申请实施例提供的一种电子设备的结构示意图四;
图26为本申请实施例提供的一种电子设备的结构示意图五。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
基于背景技术存在的问题,本申请实施例提供一种仿生动画生成方法,该方法应用于将虚拟角色(例如虚拟的人物角色)和真实物理世界进行融合显示的过程中,该融合效果为虚拟角色在真实环境中运动时,对该真实环境的地形进行实时地反应。
可以理解的是,仿生动画生成的原理是:电子设备采集真实物理世界的实时场景信息(包括摄像头获取的场景的深度图),并根据该实时场景信息生成场景地图(即场景的三维模型);并且对目标角色在场景地图中的行进轨迹做地形标注;以及生成与该目标角色在场景地图中的行进轨迹的地形标注对应的动作信息,进而采用该动作信息驱动目标角色的3D模型以生成仿生动画。
可选的,上述实时场景信息还可以包括该场景的彩色图以及IMU信息。应理解,该电子设备采集的实时场景信息包括多帧图像(包括多帧彩色图和多帧深度图)以及该多帧图像中相邻图像对应的IMU信息。场景的深度图和彩色图通过该电子设备上的摄像头采集,IMU信息通过该电子设备上的惯性测量单元(inertial measurement unit,IMU)采集。其中,上述IMU是电子设备上的传感器,例如加速度计和陀螺仪,加速度计可以测得电子设备的加速度,陀螺仪可以测得电子设备相对于世界坐标系的角速度,即IMU信息可以包括电子设备的加速度和电子设备相对于世界坐标系的角速度。
本申请实施例中,生成场景的场景地图的过程涉及到电子设备的空间位置和空间姿态(简称为空间位姿)的估计,其中,电子设备在空间中的位置可以用电子设备在世界坐标系中的坐标(x,y,z)来表示,电子设备在空间中的姿态可以用电子设备的预设坐标系(也可以称为相机坐标系)相对于世界坐标系的欧拉角来表示。
以下结合附图说明电子设备的预设坐标系、世界坐标系以及电子设备的预设坐标系相对于世界坐标系的欧拉角。
(1)电子设备的预设坐标系
以电子设备是手机为例。请参考图1,其示出手机的一种预设坐标系实例示意图。
如图1所示,以O为坐标原点的x轴,y轴和z轴构成右手直角坐标系。图1中所示的O可以是手机的重心。手机可以包括四条边:长边01,短边02,与长边01平行且等长度的另一条长边,以及与短边02平行且等长度的另一条短边。y轴平行于手机的短边02。x轴平行于手机的长边01向上。z轴垂直于y轴,且垂直于x轴。
(2)世界坐标系
世界坐标系是一种基准坐标系,可以通过世界坐标系来描述空间中的物体的位置。请参考图2,其示出本申请实施例提供的一种世界坐标系的实例示意图。如图2中的(a)或(b)所示,以O'为坐标原点的X轴,Y轴和Z轴构成右手直角坐标系,图2中的(a)所示的坐标原点O'可以为空间中的任意一点,X轴指向水平面内的任一方向,Z轴垂直于X轴所在的平面并指向地心,Y轴垂直于X轴,且垂直于Z轴。
(3)电子设备的预设坐标系相对于世界坐标系的欧拉角。
其中,电子设备的相机设坐标系相对于世界坐标系的俯仰角θ可以是电子设备的预设坐标系的x轴与世界坐标系的XOY所在平面(即水平面)的夹角。示例性的,本申请实施例这里以图1所示的手机的一种姿态为例,对电子设备的预设坐标系相对于世界坐标系的欧拉角进行说明。例如,如图2中的(a)所示,手机的预设坐标系相对于世界坐标系的俯仰角θ是x轴与水平面(即XOY所在平面)之间的夹角。如图2中的(a)所示,Ox'(即O'x')是x轴在水平面(即XOY所在平面)的垂直投影,可以理解的是,上述手机的预设坐标系相对于世界坐标系的俯仰角θ也就是Ox'(即O'x')与x轴之间的夹角。当x轴与Z轴之间的夹角大于90°时,俯仰角θ为正。
如图2中的(a)所示,手机的预设坐标系相对于世界坐标系的偏航角是手机的预设坐标系的x轴与世界坐标系的X轴之间的水平夹角,也就是Ox'(即O'x')与世界坐标系的X轴之间的夹角。当Ox'(即O'x')随着x轴的变化在XOY所在平面上顺时针偏转时,偏航角为正。
如图2中的(b)所示,手机的预设坐标系相对于世界坐标系的横滚角φ是手机的预设坐标系的z轴与通过x轴的铅垂面(即xOZ所在平面)之间的夹角。如图2中的(b)所示,Oz'(即O'z')是z轴在通过x轴的铅垂面(即xOZ所在平面)的垂直投影。可以理解的是,上述手机的预设坐标系相对于世界坐标系的横滚角ψ也就是Oz'(即O'z')与z轴之间的夹角,当z轴顺时针旋转时,横滚角ψ为正。
需要说明的是,上述图1仅作为示例介绍手机的预设坐标系。手机的预设坐标系还可以根据其他规则定义。例如,坐标原点还可以为手机上的其他任一点。预设坐标系的三轴方向也不限于图1所示的x轴,y轴和z轴所示的方向。本申请实施例对电子设备的预设坐标系的坐标原点位置和坐标轴方向设定不作限定。
根据上文中仿生动画生成的原理可以理解,生成目标角色的仿生动画的过程可以包括以下四个阶段:(1)场景地图生成阶段,(2)目标角色的行进轨迹的地形分析阶段,(3)目标角色的动作生成阶段,(4)目标角色的仿生动画生成阶段。
本申请实施例提供的仿生动画生成方法可以应用于手机、平板电脑或个人计算机(Ultra-mobile Personal Computer,UMPC)等电子设备中。或者,还可以应用于其他桌面型设备、膝上型设备、手持型设备、可穿戴设备、智能家居设备和车载型设备等电子设备中,例如上网本、智能手表、智能相机、上网本、个人数字助理(Personal Digital Assistant,PDA)、便携式多媒体播放器(Portable Multimedia Player,PMP)、专用媒体播放器或AR(增强现实)/VR(虚拟现实)设备等。本申请实施例对电子设备的具体类型和结构等不作限定。
图3为本申请实施例提供的一种电子设备的硬件结构示意图。如图3所示,电子设备300可以包括处理器310,存储器(包括外部存储器接口320和内部存储器321),通用串行总线(universal serial bus,USB)接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,SIM)卡接口395等。其中,传感器模块380可以包括陀螺仪传感器380A,加速度传感器380B,环境光传感器380C,深度传感器380D,磁传感器,压力传感器,距离传感器,接近光传感器,心率传感器,气压传感器,指纹传感器,温度传感器,触摸传感器,骨传导传感器等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备300的具体限定。在本申请另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如:例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备300的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器310可以包含多组I2C总线。处理器310可以通过不同的I2C总线接口分别耦合触摸传感器,充电器,闪光灯,摄像头393等。例如:处理器310可以通过I2C接口耦合触摸传感器,使处理器310与触摸传感器3通过I2C总线接口通信,实现电子设备300的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器310可以包含多组I2S总线。处理器310可以通过I2S总线与音频模块370耦合,实现处理器310与音频模块370之间的通信。在一些实施例中,音频模块370可以通过I2S接口向无线通信模块360传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块370与无线通信模块360可以通过PCM总线接口耦合。在一些实施例中,音频模块370也可以通过PCM接口向无线通信模块360传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器310与无线通信模块360。例如:处理器310通过UART接口与无线通信模块360中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块370可以通过UART接口向无线通信模块360传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器310与显示屏394,摄像头393等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器310和摄像头393通过CSI接口通信,实现电子设备300的拍摄功能。处理器310和显示屏394通过DSI接口通信,实现电子设备300的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器310与摄像头393,显示屏394,无线通信模块360,音频模块370,传感器模块380等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在本申请另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块340用于从充电器接收充电输入。电源管理模块341用于连接电池342,充电管理模块340与处理器310。电源管理模块341接收电池342和/或充电管理模块340的输入,为处理器310,内部存储器321,显示屏394,摄像头393,和无线通信模块360等供电。电源管理模块341还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
电子设备300的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块350可以提供应用在电子设备300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块350可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块350还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块350的至少部分功能模块可以被设置于处理器310中。在一些实施例中,移动通信模块350的至少部分功能模块可以与处理器310的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器370A,受话器370B等)输出声音信号,或通过显示屏394显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器310,与移动通信模块350或其他功能模块设置在同一个器件中。
无线通信模块360可以提供应用在电子设备300上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备300的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),新无线(New Radio,NR),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。
电子设备300通过GPU,显示屏394,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏394和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。在本申请实施例中,GPU可以用于进行三维模型渲染和虚实叠加。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏394用于显示图像,视频等。在本申请实施例中,显示屏394可以用于显示虚叠加后的图像。显示屏394包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备300可以包括1个或N个显示屏394,N为大于1的正整数。
电子设备300可以通过ISP,摄像头393,视频编解码器,GPU,显示屏394以及应用处理器等实现拍摄功能。
ISP用于处理摄像头393反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头393中。
摄像头393用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备300可以包括1个或N个摄像头393,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,电子设备300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备300可以支持一种或多种视频编解码器。这样,电子设备300可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备300的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解,动作生成等等。
外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。
内部存储器321可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器321可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器321可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器310通过运行存储在内部存储器321的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备300的各种功能应用以及数据处理。
电子设备300可以通过音频模块370,扬声器370A,受话器370B,麦克风370C,耳机接口370D,以及应用处理器等实现音频功能。例如,音乐播放,录音等。
音频模块370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。
扬声器370A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备300可以通过扬声器370A收听音乐,或收听免提通话。
受话器370B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备300接听电话或语音信息时,可以通过将受话器370B靠近人耳接听语音。
麦克风370C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风370C发声,将声音信号输入到麦克风370C。电子设备300可以设置至少一个麦克风370C。在另一些实施例中,电子设备300可以设置两个麦克风370C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备300还可以设置三个,四个或更多麦克风370C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
陀螺仪传感器380A可以用于确定电子设备300的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备300围绕三个轴(即,x,y和z轴)的角速度。
加速度传感器380B可检测电子设备300的运动方向和运动加速度。当电子设备300静止时可检测出重力的大小及方向。还可以用于识别电子设备300的姿态,应用于横竖屏切换,计步器等应用。
环境光传感器380C用于感知环境光亮度。电子设备300可以根据感知的环境光亮度自适应调节显示屏394亮度。环境光传感器380C也可用于拍照时自动调节白平衡。在一些实施例中,环境光传感器380C还可以与接近光传感器配合,检测电子设备300是否在口袋里,以防误触。
深度传感器380D用于确定物体上每一个点到电子设备300的距离。在一些实施例中,深度传感器380D可以采集目标物体的深度数据,生成目标物体的深度图。其中,该深度图中每一个像素表示该像素点对应的物体上的点到电子设备300的距离。
指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
按键390包括开机键,音量键等。按键390可以是机械按键。也可以是触摸式按键。马达391可以产生振动提示。指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口395用于连接SIM卡。SIM卡可以通过插入SIM卡接口395,或从SIM卡接口395拔出,实现和电子设备300的接触和分离。
本申请实施例提供的仿生动画生成方法可以应用于AR场景(例如AR游戏)中,使得虚拟角色可以和真实环境做出交互以及虚实遮挡。具体的,电子设备可以根据采集的真实环境(即场景)的实时场景信息,根据实时场景信息构建该场景的三维模型(即场景地图),然后控制虚拟角色(即目标角色)在该场景地图中行进,通过对采集到的虚拟角色的行进轨迹进行分析得出虚拟角色当前位置的地形特征,进而输出与当前地形对应的虚拟角色的动作。
图4A-图4C示例了几种虚拟角色与真实环境交互的效果图,在图4A中,虚拟角色当前的行进轨迹对应的地形为高度上升的台阶,该虚拟角色表现出上台阶的动作;在图4B中,虚拟角色当前的行进轨迹对应的地形为高度下降的台阶,该虚拟角色表现出下台阶的动作;在图4C中,虚拟角色当前的行进轨迹对应的地形为宽度较宽的沟壑,该虚拟角色表现出跨越沟壑的动作。应理解,虚拟角色不同的动作姿态是通过该虚拟角色的3D模型中预定关节的位置和旋转信息确定的。
需要说明的是,上述图4A-图4C所示的场景仅作为一种应用场景的示例,本申请实施例提供的仿生动画生成方法并不限于在上述场景中使用,还可以应用于其他AR场景中,例如,AR游戏、AR量尺等场景中。
本申请实施例提供的仿生动画方法可以应用于具有如图3所示硬件结构的电子设备或者具有类似结构的电子设备。或者还可以应用于其他结构的电子设备中,本申请实施例对此不作限定。
如图5所示,本申请实施例提供的仿生动画生成方法可以包括S101-S103:
S101、电子设备根据实时场景信息,生成场景地图。
其中,实时场景信息包括场景的深度图,可以理解的是,深度图包含深度信息,该深度信息用于构建场景的三维模型。
可选的,本申请实施例中,该实时场景信息还可以包括场景的彩色图以及IMU信息。其中,彩色图和深度图是电子设备通过该电子设备的一个或多个摄像头(例如RGBD相机)采集得到,IMU信息是电子设备通过该电子设备上的IMU(包括加速度计和陀螺仪)采集得到,IMU信息可以包括该电子设备的加速度和角速度。
可选的,本申请实施例中,上述场景可以是一个开阔的空间,例如,可以为一片开阔的田野;可以为室内的某一角落;也可以由至少一个物体组成,例如,由多个箱体摆放而成的场景(例如图4A至图4C所示的场景);或者该场景中还可以包括至少一个人物或者动物等。
上述彩色图和深度图可以是电子设备通过后置摄像头采集到的用于描述场景的图像;该彩色图和深度图也可以是电子设备通过该电子设备的前置摄像头采集到的用于描述场景的图像,本申请实施例不作限定。
可选的,结合图5,如图6所示,上述S101可以通过S1011-S1012实现:
S1011、电子设备根据实时场景信息,生成场景的多个网格。
可以理解的是,电子设备的一个或多个摄像头可以根据预设帧率和预设分辨率不断采集用于描述场景的多帧图像(包括多帧彩色图和多帧深度图)。其中,根据预设帧率采集图像可以保证展示给用户的仿生动画是连贯和流畅的。根据预设分辨率采集图像可以保证采用场景的多帧图像包含的信息是可靠的,进而分析得到场景的场景地图也是可靠的。示例性的,电子设备的一个或多个摄像头可以每秒钟采集30张用于描述场景的图像。
本申请实施例中,电子设备连续采集多帧图像,并逐帧进行处理,从而连续生成场景的多个网格,该多个网格可以反映该场景的地形,图7为场景的网格的一种效果示意图。网格由多个面片组成,面片的形状可以为三角形或者四边形,也可以为其他多边形,本申请实施例不作限定。
S1012、电子设备对每一网格所覆盖的水平区域的点赋予高度值,以插入每一网格到场景地图中。
其中,场景的场景地图记录了该场景的多个位置的高度信息,该场景地图是一个二维数组,记录该场景的多个位置的高度信息。
本申请实施例中,电子设备得到场景的多个网格之后,将该多个网格按照获取网格的时间顺序插入场景地图中,具体的,将网格插入场景地图的过程中,对于每一个网格而言,电子设备将该网格中的每个面片所覆盖的水平区域的点(即位置)赋予高度值,即完成一个网格的插入,随着网格的不断插入,场景地图随之扩大。
本申请实施例中,可以根据网格的每个面片的顶点的高度确定面片对应的水平区域的多个位置的高度。示例性的,假如一个面片的形状为三角形,该面片的三个顶点由三个三维点云组成(三维点云是电子设备获取的深度图转换得到的,具体将在下述实施例中介绍),如此,可以将该三个三维点云对应的高度作为该面片的顶点对应的水平区域的三个位置的高度,或者也可以根据实际需求,根据一个面片的三个顶点的高度采用插值方法得到该面片对应的水平区域的更多位置的高度,本申请实施例不作限定。
可选的,在一种情况下,将多个网格插入到场景地图的过程中,当前网格与之前插入的网格有重叠时,例如当前网格的一个面片与之前的网格的某一个面片对应的水平区域重叠的情况下,需要考虑更新该面片对应的水平区域的高度值,例如,可以采用当前网格中该面片对应的水平区域的高度值替换旧的高度值(即使用新值替换旧值)。在另一种情况下,对于一个网格,场景地图中的一个位置的高度值对应多个面片的顶点的高度值时,采用多个面片中顶点的高度值中的最大高度值作为该位置的高度值。
本申请实施例中,电子设备可以实时采集场景的多帧图像(多帧彩色图和多帧深度图),以电子设备实时采集的当前帧为例来说明电子设备生成一个网格的过程。具体的,电子设备生成一个网格帧的方法可以包括下述步骤1-步骤3:
步骤1、将实时采集的当前帧的深度图转换为当前帧的三维点云。
应理解,转换得到的当前帧的三维点云的坐标系是预设坐标系,该预设坐标系为电子设备的坐标系,即相机坐标系。场景的深度图包括多帧深度图,在以下实施例中,将当前获取的图像帧的深度图可以称为当前帧的深度图。
结合上述对电子设备的预设坐标系和世界坐标系的介绍,将当前帧的深度图上的一个点和它对应的深度值,转换到相机坐标系下的一个三维点(可以称为三维点云或点云),对深度图中的每一个点都这样操作,从而可以得到当前帧的三维点云。可选的,本申请实施例中,将当前帧的深度图转换为当前帧的三维点云的过程中,可以去掉该当前帧的深度图中的少数偏差较大的深度值,例如与电子设备的距离小于某一阈值的深度值或与电子设备的距离大于某一阈值的深度值,然后再将其他的深度值转换为三维点云。
本申请实施例中,可以根据深度图和电子设备的相机的参数将该深度图对应的像素点转换为相机坐标系下的三维点云,具体可以参考现有的常规技术,本申请实施例不予赘述。
步骤2、确定当前帧对应的位姿。
本申请实施例中,可以通过IMU采集的IMU信息(包括电子设备的加速度和电子设备相对于世界坐标系的角速度)来对相机的空间位置和空间姿态(即空间位姿)进行估计;或者根据电子设备的摄像头获取的深度图对电子设备的位姿进行估计;或者根据电子设备的摄像头获取的彩色图和IMU采集的IMU信息对电子设备的位姿进行估计,即通过提取相邻帧对应彩色图的特征点,(例如加速片段测试特征FAST角点,Harris角点或二进制鲁棒不变可伸缩关键点(binary erobust invariant scalable keypoints,BRISK)角点,对此,本发明实施例不进行限定),然后进行特征点配准并三角化,进而采用重投影误差计算相机位姿初值,再与IMU信息结合得到更加鲁棒的相机位姿;或者还可以根据摄像头获取的彩色图、深度图以及IMU采集的IMU信息对电子设备的位姿进行估计。
关于电子设备的位姿的估计方法的细节,可以参考现有的常规技术中的相机位姿估计算法的相关介绍和说明,本申请实施例这里不予赘述。
步骤3、根据当前帧对应的位姿对当前帧的三维点云进行坐标转换,得到当前帧在世界坐标系下的三维点云。
本申请实施例中,根据当前帧对应的位姿将当前帧的三维点云(在相机坐标系下)的坐标转换到该当前帧在世界坐标系下的坐标。具体的,可以通过下述公式进行转换:
其中u,v为图像坐标系下的任意坐标点,u0,v0分别为图像的中心坐标。xw,yw,zw表示世界坐标系下的三维坐标点。zc表示相机坐标系的z轴值,即目标到相机的距离。R,T分别为外参矩阵的3x3旋转矩阵和3x1平移矩阵,f/dx表示以像素为单位的水平方向焦距,f/dy表示以像素为单位的垂直方向焦距。
本申请实施例中,由于世界坐标系的原点和相机坐标系的原点是重合的,即没有旋转和平移,所以:
并且由于相机坐标系和世界坐标系的坐标原点重合,因此相机坐标和世界坐标下的同一个物体具有相同的深度,即zc=zw,于是上述公式可进一步简化为:
从以上的变换矩阵公式,可以计算得到当前帧的三维点云的坐标从相机坐标系转换到世界坐标系的变换公式:
步骤4、将当前帧在世界坐标系下的三维点云网格化,得到多个网格中的一个网格。
本申请实施例中,电子设备可以采用泊松重建等网格化算法,将当前帧的三维点云网格化,生成场景的网格。
在一种实现方式中,在上述步骤3之后,还可以包括步骤3’和步骤4’:
步骤3’、在当前帧对应的位姿满足位姿变化条件的情况下,更新场景的三维点云。
其中,位姿变化条件为当前帧与前一帧的空间变换距离大于预设距离阈值,并且当前帧与前一帧的空间变换角度大于预设角度阈值,该当前帧与前一帧的空间变换距离通过重新确定当前帧在世界坐标系下的三维点云的空间位置确定,该当前帧与前一帧的空间变换角度通过当前帧与前一帧的空间姿态确定。
需要说明的是,上述空间变换距离和空间变换角度也可以按照其他满足需求的方式进行定义,本申请实施例不作具体限定。
本申请实施例中,上述更新场景的三维点云指的是将当前帧在世界坐标系下的三维点云与之前得到的该场景的三维点云进行融合。示例性的,一种三维点云融合方法可以为:将距离小于给定的阈值的三维点云的坐标进行加权平均,也就是说,将在一定半径范围内的多个三维点云融合成一个三维点云。当然,也可以采用其他三维点云的融合方法来更新场景的三维点云。另一种三维点云的融合方法为:将深度图转换为隐式的函数表达,例如使用截断符号距离函数(truncated signed distance functions,TSDF),根据当前帧对应的位姿将深度图投射到TSDF空间中,并和之前的三维点云进行融合更新。
示例性的,电子设备连续采集场景的4帧深度图,依次为深度图1至深度图4,上述三维点云的融合过程可以包括:处理深度图2时,将深度图2的三维点云与深度图1的三维点云进行融合,得到第一融合结果,该第一融合结果为电子设备采集到第2帧时,该场景的三维点云;处理深度图3时,将深度图3的三维点云与前两帧的融合结果(即第一融合结果)进行融合,得到第二融合结果,该第二融合结果即为电子设备采集到第3帧时,该场景的三维点云;处理深度图4时,将深度图4的三维点云与前3帧的融合结果(即第二融合结果)进行融合,得到第三融合结果,该第三融合结果为电子设备连续采集4帧图像后该场景的三维点云。
步骤4’、重新确定当前帧在世界坐标系下的三维点云。
本申请实施例中,场景的三维点云更新后,可以采用反投影算法从更新后的场景的三维点云中,重新确定当前帧的三维点云(应理解,该重新确定的当前帧的三维点云为世界坐标系下的三维点云),该重新确定的当前帧的三维点云是从当前帧的视角下可以看到的三维点云,关于根据反投影算法重新确定当前帧的三维点云的过程可以参考现有的常规方法的相关介绍和说明,此处不予赘述。
上述当前帧对应的位姿满足位姿变化条件可以理解为当前帧相比于前一帧来说,其位姿变化较大,此时获取的场景的图像的变化较大,在这种情况下,对场景的三维点云进行更新,并重新确定当前帧在世界坐标系下的三维点云,进而输出一个网格。否则(即当前帧对应的位姿不满足位姿变化条件时),该电子设备不输出网格,该电子设备继续处理下一帧,以确定是否输出网格。可以理解的是,电子设备确定的场景的网格的数量小于或者等于该电子设备获取的场景的图像的数量。
S102、电子设备对目标角色在场景地图中的行进轨迹做地形标注。
其中,该行进轨迹的地形标注用于指示目标角色当前位置的地形特征。
可以将目标角色在场景地图中的行进轨迹简称为目标角色的行进轨迹,在本申请实施例中,目标角色的行进轨迹均指的是目标角色在场景地图中的行进轨迹。
需要说明的是,在本申请实施例中,目标角色的行进轨迹是根据目标角色已行进的轨迹和目标角色当前的运动方向以及运动速度预测的该目标角色未来行进的一段轨迹;相应的,目标角色当前位置的地形特征指的是上述预测的该目标角色未来行进的一段轨迹的地形特征。
本申请实施例中,电子设备首先获取目标角色在场景地图中的行进轨迹,该行进轨迹上的采样点的高度信息用于确定该行进轨迹的地形特征,电子设备获取目标角色在场景地图中的行进轨迹的方法可以包括:电子设备根据目标角色当前的运动方向,预测目标角色的行进轨迹(采样得到该目标角色的行进轨迹),该行进轨迹上的采样点之间的距离根据目标角色的运动速度来调节。可选的,通过控制目标角色在上述生成的场景地图中行进(即在该场景中行进),然后电子设备按照固定帧频在场景地图中采集目标角色的行进轨迹,具体的,在一个采集周期内,以目标角色当前位置为中心,根据用户指定(即控制)的行进方向,在高度地图上进行采样,得到行进轨迹。对于目标角色脚下的采样点,可以选取中间区域较密集的采样点构成主要的采样轨迹,左右两侧较稀疏的采样点用于辅助控制。
可选的,本申请实施例中,行进轨迹上的采样点数可以按需求进行设置。并且轨迹点之间的水平距离根据用户控制的目标角色的行进速度来调节,当目标角色行进速度较快时,拉大采样的距离,可以将目标角色前方更大范围的地形信息纳入场景,目标角色的行进速度较慢时,缩短采样的距离,只需将目标角色前方较小范围的地形信息纳入场景。
可选的,本申请实施例中,对上述行进轨迹做地形标注的方法可以包括S1021-S1022:
S1021、电子设备将目标角色在场景地图中的行进轨迹与多种地形模板匹配,确定目标角色在场景地图中的行进轨迹对应的地形特征。
本申请实施例中,地形模板为预先设置的,该地形模板包括不同地形的轨迹,该地形模板主要记录的是不同地形对应的高度信息。具体的,按照轨迹的高度、宽度以及坡度等因素设置出高台、障碍物、坑洞、楼梯、斜坡、高墙以及悬崖等地形模板。图8A至图8F为几种不同的地形模板的示例,图8A示意不同高度和宽度的高台地形模板;图8B示意不同平台的地形模板;图8C为不同的楼梯的地形模板;图8D为不同高度和宽度的坑洞的地形模板;图8E中的(a)为一种高墙的地形模板,图8E中的(b)为一种悬崖的地形模板;图8F为不同的坡度的斜坡的地形模板。
需要说明的是,上述图8A至图8F仅为几种不同的地形模板的示例,在实际应用中,地形模板还可以包括更多种类的地形,本申请实施例不作限定。
在一种实现方式中,电子设备获取到目标角色的行进轨迹后,可以先对该行进轨迹进行滤波,再将滤波后的行进轨迹与多种地形模板进行匹配。本申请实施例中,在一个采样周期内采集得到的轨迹上的采样点的高度信息可以构成一条一维曲线,电子设备对该一维曲线进行滤波以去除部分噪声点,该滤波后的行进轨迹的稳定性较好,如此,能够提高目标角色行进的稳定性。
可选的,电子设备可以采用平滑滤波或中值滤波等滤波方法对目标角色的行进轨迹进行滤波,电子设备也可以采用其他具有类似滤波作用的滤波方法对目标角色行进轨迹进行滤波,本申请实施例不作具体限定。
本申请实施例中,上述S1021具体可以包括S1021a-S1021c:
S1021a、电子设备将目标角色在场景地图中的行进轨迹划分为多个子轨迹。
其中,该多个子轨迹各自的长度与地形模板的长度相等。
可选的,可以以目标角色当前的位置为起点,每隔几个(例如1个或2个等)采样点截取一段与地形模板长度相等的子轨迹,如此,经过一段时间的采样后,可以将目标角色的行进轨迹划分为多个子轨迹,进而以子轨迹为单位与地形模板进行匹配。
S1021b、电子设备将多个子轨迹依次与多种地形模板进行匹配。
本申请实施例中,电子设备可以将目标角色的行进轨迹沿高度方向进行平移,使得目标角色当前所处的位置的高度相对于预设的参考面的高度为零,如此,便于将目标角色的行进轨迹与地形模板进行匹配运算。
具体的,电子设备依次计算上述目标角色的行进轨迹中所有子轨迹与多种地形模板的匹配度值,匹配度值越高,说明子轨迹与地形模型越相似。对于一个子轨迹,该子轨迹与多种地形模板的匹配度值中匹配度值最高的地形模板的地形特征确定为该子轨迹对应的地形特征。
可选的,本申请实施例中,可以通过子轨迹上的各个采样点的高度值与地形模板中对应的各个点的高度值来计算匹配度值,例如,该匹配度值可以为对应高度值之差的绝对值之和。当然,也可以采用其他计算匹配度的方法计算匹配度值,本申请实施例不作限定。
S1021c、电子设备根据多个子轨迹各自对应的地形特征,确定目标角色的行进轨迹对应的地形特征。
在一种实现方式中,上述确定出多个子轨迹中每个子轨迹的地形特征之后,可以根据每个子轨迹的匹配度值(指的是每个子轨迹与多个地形模板匹配时,匹配度值最高一个值),确定目标角色的行进轨迹的地形特征,具体的,将多个子轨迹的匹配度值中最高的一个子轨迹对应的地形特征确定为该目标角色的行进轨迹的地形特征。
示例性的,假设目标角色的行进轨迹包括3个子轨迹,第1个子轨迹对应多种地形模板中的高度上升的斜坡这一地形模板,因此确定该第1个子轨迹对应的地形特征为高度上升的斜坡,对应的匹配度值为0.8;第2个子轨迹对应多种地形模板中的高度上升的台阶这一地形模板,因此确定该第2个子轨迹的地形特征为高度上升的台阶,对应的匹配度值为0.7;第3个子轨迹对应多种地形模板中的高墙这一地形模板,因此确定该第3个子轨迹对应的地形特征为高墙,对应的匹配度值为0.6,从而将三个子轨迹中匹配度值最高的子轨迹的地形特征确定为目标角色的行进轨迹的地形特征,因此,最终确定目标角色的行进轨迹的地形特征为高度上升的斜坡。
S1022、电子设备根据目标角色在场景地图中的行进轨迹对应的地形特征对该行进轨迹做地形标注。
该地形标注用于指示目标角色当前位置的地形特征,本申请实施例中,可以采用标识信息对目标角色的行进轨迹对应的地形特征进行标注。示例性的,可以采用标识“0”表示平地,采用标识“1”表示高度上升的斜坡,采用标识“2”表示高度上升的台阶,采用标识“3”表示高墙,等等。本申请实施例中,对行进轨迹进行地形标注也可以采用其他满足需求的方法,本申请实施例不作具体限定。
本申请实施例中,上述行进轨迹的地形标注还包括该行进轨迹是某种地形的概率,该行进轨迹是某种地形的概率可以通过该行进轨迹包含的多个子轨迹各自的匹配度值(即上述的每个子轨迹与多个地形模板匹配时,匹配度值最高一个值)来确定,结合上述S1021c中的示例,目标角色的行进轨迹包括3个子轨迹,第1个子轨迹对应的地形特征为高度上升的斜坡,第2个子轨迹的地形特征为高度上升的台阶,第3个子轨迹对应的地形特征为高墙,从而可以根据每个子轨迹各自的匹配度值,确定目标角色的行进轨迹为高度上升的斜坡的概率,该目标角色的行进轨迹为高度上升的台阶的概率以及该目标角色的行进轨迹为高墙的概率。
S103、电子设备生成目标角色的动作信息,并根据目标角色的动作信息生成仿生动画,该目标角色的动作信息与该目标角色的行进轨迹的地形标注对应。
其中,该动作信息包括目标角色的预定关节的位置和旋转信息,预定关节可以包括多个关节,例如目标角色的身体中的31个关节。预定关节的旋转信息包括关节的旋转方向和角度等信息。
本申请实施例中,电子设备可以通过人工智能(artificial intelligence,AI)动作生成器,生成目标角色的动作信息,该AI智能动作生成器可以为采用神经网络算法(该电子设备中可以集成有神经网络)训练得到的前馈神经网络,从而将目标角色的行进轨迹的地形标注作为前馈神经网络的输入,生成与该地形标注对应的动作信息。可选的,在一些实施例中,该动作信息还可以包括目标角色的预定关节的运动速度。
在一些实施例中,上述用于生成目标角色的动作信息的神经网络是模拟人脑进行分析学习的神经网络,例如,通过采集大量不同地形中人体运动过程的动作数据,并结合虚拟地形库(例如游戏引擎地图库、虚拟环境地形库等)的数据(包括多个地形块)进行训练,得到神经网络模型,关于神经网络模型的训练方法可以参考现有技术的相关介绍,本申请实施例不再详述。
本申请实施例中,电子设备实时地逐帧生成目标角色的动作信息(每一帧对应的动作信息称为一个动作帧),然后电子设备使用目标角色的动作信息驱动装配有骨骼和蒙皮的目标角色的3D模型,由骨骼带动该3D模型的皮肤变形(该变形后的3D模型即表现的是目标角色的动作状态),上述每一个动作帧,都对应一个变形的3D模型。电子设备按照生成动作帧的帧频,对3D模型进行变形,并将变形后的3D模型在电子设备拍摄到的场景中进行渲染,得到仿生动画。示例性的,图9中的(a)是一种3D模型,图9中的(b)是一个动作帧对应一个的变形后的3D模型。
应理解,上述电子设备生成的目标角色的动作信息的本质是记录了以树形结构存储的一系列对象的位置(在一些实施例中,还可以包括对象的旋转、缩放等特征)随着时间变化的动态,其中,每一个对象就是一根骨骼(即关节),这里的骨骼,跟上述3D模型中装配好的骨骼是一一对应的,并且预定关节的位置对应了3D模型的蒙皮权重,根据该蒙皮权重对3D模型进行变形。
本申请实施例提供的仿生动画生成方法可以应用于将虚拟角色(例如虚拟的人物角色)和真实物理世界进行融合显示的过程中,具体的,电子设备根据实时场景信息,生成该场景地图;并且基于目标角色该场景地图中的行进轨迹,对目标角色在场景地图中的行进轨迹做地形标注;以及生成与该行进轨迹的地形标注对应的动作信息,进而采用目标角色的动作信息驱动目标角色的3D模型以生成仿生动画,如此,目标角色能够对该真实环境的地形进行实时地反应,实现虚拟角色与实时地形的交互,生成更具趣味性的动画。
以下从持有电子设备的用户与电子设备进行交互的角度介绍本申请实施例提供的仿生动画生成方法,如图10所示,本申请实施例提供的仿生动画生成可以包括S201-S202:
S201、响应于用户的第一操作,电子设备显示第一界面,该第一界面包含实时场景的图像和位于该实时场景中的目标角色。
上述第一操作用于触发电子设备生成仿生动画。
上述实时场景是电子设备的摄像头(相机)实时拍摄到的场景,该场景可以是一个开阔的空间,例如,可以为一片开阔的田野;可以为室内的某一角落;也可以由至少一个物体组成,例如,由多个箱体摆放而成的场景;或者该场景中还可以包括至少一个人物或者动物等。
可选的,本申请实施例中,在电子设备显示第一界面之前,本申请实施例提供的仿生动画生成方法还可以包括:电子设备响应于用户对电子设备的预设应用的操作,显示包含仿生动画生成选项的界面。其中,上述电子设备的预设应用可以为电子设备的相机应用或该电子设备的AR动画应用(例如3D模术师或其他类似的应用)。如此,上述用户的第一操作是用户对仿生动画生成选项的选中操作,即用户选中该仿生动画生成选项之后,电子设备显示包含实时场景的图像和位于该实时场景中的目标角色的第一界面。
需要说明的是,上述预设应用也可以为该电子设备上的具有该仿生动画生成功能的其他应用,本申请实施例不作限定。
在本申请实施例的一种应用场景中,上述预设应用为电子设备的相机应用时,用户对电子设备的预设应用的操作可以为用户开启(或打开)该相机应用并选择拍摄选项(或其他与拍摄选项类似功能的选项)的操作,从而电子设备显示包含仿生动画生成选项的界面。例如,假设电子设备为如图11中的(a)所示的手机400,用户开启手机400中的相机应用,例如点击“相机”图标401,该手机400显示图11中的(b)所示的界面402,进一步的,在该界面402中,用户选中“拍摄选项”403,然后手机400显示图11中的(c)所示的包含“AR智能仿生动画”选项404的界面405,可知该选项404即为仿生动画生成选项。
进一步的,如图12所示,在图12中的(a)中,用户设备选中手机400的界面405中的“AR智能仿生动画”选项404,然后,该手机400显示如图12中的(b)所示的界面406,该界面406即为上述第一界面,该界面406中包含实时场景的图像(该实时场景中包含一个正方体的箱体407)和位于该实时场景中的目标角色408(该目标角色为一只熊猫公仔)。
在本申请实施例的一种应用场景中,上述预设应用为电子设备的AR动画应用时,用户对电子设备的预设应用的操作可以为用户开启该AR动画应用的操作,从而电子设备显示包含仿生动画生成选项的界面。例如,如图13中的(a)所示的手机400,用户开启手机400中的AR动画应用,例如点击“AR动画”图标410,该手机400显示图13中的(b)所示的包含“AR”选项412的界面411,该“AR”选项412即为仿生动画生成选项;在该界面411中,用户选中“AR”选项412,然后手机400显示图13中的(c)所示的界面413,该界面413即为上述第一界面,该界面413中包含实时场景的图像(该实时场景中包含一个正方体的箱体414)和位于该实时场景中的目标角色415(该目标角色为一只熊猫公仔)。
S202、响应于用户的第二操作,电子设备控制目标角色在实时场景中行进,并显示仿生动画,该仿生动画中该目标角色的动作由行进过程中实时场景的地形特征来确定。
该仿生动画包括目标角色在实时场景中行进的动态图像。
在第一种实现方式中,上述第一界面包含遥控控件,则上述第二操作是用户对该遥控控件的操作。
示例性的,假设上述第一界面为图14所示的界面420(该界面420中包含实时场景和目标角色,该实时场景中包含有两个箱体,这两个箱体摆放成台阶地形,该目标角色为熊猫公仔),该界面420中包含“遥控杆”421(或称为遥控盘),该“遥控杆”421可以控制目标角色的行进方向和行进速度,具体的,通过该“遥控杆”421的上下左右的四个控件(可以记为上控件、下控件、左控件以及右控件)以控制目标角色分别进行前后左右移动,通过“遥控杆”421的中心位置的圆形控件控制目标角色的行进速度,例如,点击“遥控杆”421中的上控件使得目标角色向正前方行进,进一步的,可以将“遥控杆”421的中心位置的圆形控件向上控件的方向拖动使得目标角色加速行进(该圆形控件拖动的幅度越大,该目标角色的速度越快)。
在第二种实现方式中,上述第二操作是用户对第一界面的手势操作,通过用户的手势操作以控制目标角色在实时场景中行进。
可选的,用户对第一界面的手势操作可以是选中(例如点击)场景的某个位置(称为目标位置)的操作,从而电子设备响应于该选中操作,控制目标角色沿预设的路线向该目标位置行进。
示例性的,假设上述第一界面为图15所示的界面420(该界面420中包含实时场景和目标角色,该实时场景中包含有两个箱体,这两个箱体摆放成台阶地形,该目标角色为熊猫公仔),若用户想要该目标角色移动至目标位置A,该用户可以在界面420中的A位置处进行点击操作,然后目标角色开始向A位置移动,例如,目标角色前行并上台阶最后到达A位置。并且,用户可以控制目标角色的速度以移动至A位置,例如,目标角色的速度与用户点击当前界面的次数相关,用户点击一次,目标角色按照预设的第一速度前进,用户点击两次,目标角色以预设的第二速度前进(第二速度大于第一速度)。
可选的,用户对第一界面的手势操作也可以为滑动操作,例如在手机的触摸屏的任意位置,向上下左右不同的方向滑动控制目标角色的行进方向,以使得角色前后左右运动。可选的,可以通过用户手指在触摸屏上的滑动距离来控制目标角色的行进速度。
示例性的,假设上述第一界面为图16所示的界面420(该界面420中包含实时场景和目标角色,该实时场景中包含有两个箱体,这两个箱体摆放成台阶地形,该目标角色为熊猫公仔),若用户想要该目标角色向正前方移动,该用户可以在手机400的第一界面上沿目标角色正前方的方向滑动,然后目标角色开始向正前方移动。同理,用户向某一方向滑动的幅度决定目标角色的速度,例如,用户沿目标角色正前方的方向大幅度滑动时,目标角色开始向正前方加速行进,需要说明的是,图16中所示的上下左右的箭头仅用于示意,手机400上可以显示也可以不显示该四个方向的图标。
需要说明的是,本申请实施例中,上述第二操作也可以为其他能够控制目标角色在实时场景中行进(或移动)的操作,本申请实施例不作具体限定。
综上,通过上述几种方式控制目标角色在实时场景中行进,在该目标角色行进的过程中,目标角色对实时场景的地形做出反应,相应的,电子设备显示该目标角色的仿生动画(可以体现目标角色的动作流)。示例性的,如图17所示,假设控制目标角色沿该目标角色的正前方行进,在行进过程中目标角色做出与实时场景的地形相对应的动作,图17中的(a)、图17中的(b)以及图17中的(c)是目标角色行进过程中的仿生动画的三个图像帧的示例,其中,图17的(a)是目标角色上第一个台阶的图像帧,图17的(b)是目标角色上第二个台阶的图像帧,17的(c)是目标角色上从台阶上往下跳的图像帧。
本申请实施例提供的仿生动画生成方法可以应用于将虚拟角色(例如虚拟的人物角色)和真实物理世界进行融合显示的过程中,具体的,电子设备可以响应于用户的第一操作,显示包含实时场景的图像和位于该实时场景中的目标角色的第一界面,并且可以响应于用户的第二操作,控制目标角色在实时场景中行进,并显示仿生动画,该仿生动画中该目标角色的动作由行进过程中实时场景的地形特征来确定,如此,在生成的仿生动画中,目标角色能够对该真实环境的地形进行实时地反应,实现虚拟角色与实时地形的交互,生成更具趣味性的动画。
结合图10,如图18所示,电子设备显示第一界面之前,本申请实施例提供的仿生动画生成方法还可以包括S203:
S203、响应于用户的第一操作,电子设备显示一个或多个候选角色。
结合S203,上述电子设备显示第一界面具体可以包括S2011:
S2011、响应于用户对一个或多个候选角色中目标角色的选中操作,显示第一界面,该第一界面包含实时场景的图像和位于该实时场景中的目标角色。
本申请实施例中,在电子设备接收到用户的第一操作之后,电子设备显示第一界面(包含目标角色)之前,该电子设备可以响应于用户的第一操作(触发生成仿生动画的操作),显示一个或多个候选角色,从而用户可以根据自己的喜好选择其中的一个角色作为目标角色,增加趣味性,提升用户体验。
示例性的,如图19中的(a)所示的手机400,用户点击“AR动画”图标410,该手机400显示图19中的(b)所示的包含多个候选角色的界面430,进而,用户点击该界面430中的熊猫公仔,即选择该熊猫公仔作为目标角色,然后手机400显示图19中的(c)所示的界面413,该界面413即为上述第一界面,该界面413中包含实时场景的图像(该实时场景中包含一个正方体的箱体414)和位于该实时场景中的目标角色415(该目标角色为一只熊猫公仔)。
在一种实现方式中,用户还可以添加角色,例如用户将手机相册中的一个角色添加至候选角色中,从而该用户可以选择该添加的角色作为目标角色;或者,用户可以通过手机的摄像头实时地获取一个角色(例如拍一张办公桌上的小公仔),将该获取的角色作为目标角色,本申请实施例中这里不再详述。
可选的,结合图18,如图20所示,本申请实施例提供的仿生动画生成方法还可以包括S204-S206:
S204、接收用户的第三操作,该第三操作是切换第一界面上的目标角色的操作。
S205、响应于用户的第三操作,电子设备显示第二界面,该第二界面包含实时场景的图像和位于该实时场景中的切换后的目标角色。
本申请实施例中,电子设备响应于用户的第一操作,显示包含实时场景的图像和位于该实时场景中的目标角色之后,用户可以切换第一界面中的目标角色;或者在用户控制目标角色在实时场景中行进的过程中,用户也可以灵活地切换目标角色。
示例性的,如图21中的(a)所示的手机400显示的第一界面为界面413,该界面413中包含实时场景(该实时场景中包含箱体414)和目标角色415(熊猫公仔),当用户需要切换目标角色时,用户可以点击该目标角色415以实现目标角色的切换,可选的,用户点击一次,目标角色切换一次。例如,用户点击一次之后,手机400显示如图21中的(b)所示的界面440,该界面440包含实时场景(该实时场景中仍然包含箱体414)和目标角色441(卡通人物),该目标角色441即为切换后的目标角色。
在一种实现方式中,电子设备显示的第一界面(应理解,电子设备在显示仿生动画时,仿生动画的每一帧即对应一种第一界面)上可以包含角色切换选项,当用户想要切换目标角色时,用户可以选中角色切换选项,电子设备响应于用户选中角色切换选项的操作,显示包含多个候选角色的界面(参考图19中的(b)),从而用户可以根据自己的喜欢从多个候选角色中重新选择新的目标角色。
S206、响应于用户的第四操作,电子设备控制切换后的目标角色在实时场景中行进,并显示仿生动画。
该仿生动画包括切换后的目标角色在实时场景中行进的动态图像,该切换后的目标角色的动作由行进过程中所述实时场景的地形特征来确定。
本申请实施例中,上述第四操作是用户控制目标角色行进的操作,该第四操作与上述第二操作类似,对于S206的详细描述可以参见上述实施例中对于S202的相关描述,此处不再赘述。
可以理解的是,电子设备为了实现上述任一个实施例的功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图22示出了上述实施例中所涉及的电子设备的一种可能的结构示意图,如图22所示,电子设备可以包括:场景重建模块1001、地形分析模块1002以及动作生成模块1003。其中,场景重建模块1001可以用于支持该电子设备执行上述方法实施例中的S101(包括S1011-S1012);地形分析模块1002可以用于支持该电子设备执行上述方法实施例中的S102(包括S1021-S1022,其中,S1021可以包括S1021a-S1021c);动作生成模块1003用于支持该电子设备执行上述方法实施例中的S103。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,如图23所示,本申请实施例提供的电子设备还可以包括轨迹采集模块1004和轨迹滤波模块1005,该轨迹采集模块1004用于支持该电子设备采集目标角色在场景地图中行进时的行进轨迹;该轨迹滤波模块1005用于支持电子设备对采集的目标角色在场景地图中的行进轨迹进行滤波。
在采用集成的单元的情况下,图24示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。如图24所示,电子设备可以包括:处理模块2001和通信模块2002。处理模块2001可以用于对该电子设备的动作进行控制管理,例如,处理模块2001可以用于支持该电子设备执行上述方法实施例中的S101、S102以及S103,其中,S101可以包括S1011-S1012;S102可以包括S1011-S1022,且S1021可以包括S1021a-S1021c,和/或用于本文所描述的技术的其它过程。通信模块2002可以用于支持该电子设备与其他网络实体的通信。可选的,如图24所示,该电子设备还可以包括存储模块2003,用于存储该电子设备的程序代码和数据。
其中,处理模块2001可以是处理器或控制器(例如可以是上述如图3所示的处理器310),例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块2002可以是收发器、收发电路或通信接口等(例如可以是上述如图3所示的移动通信模块350和无线通信模块360)。存储模块2003可以是存储器(例如可以是上述如图3所示的内部存储器321)。
当处理模块2001为处理器,通信模块2002为收发器,存储模块2003为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended Industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在采用对应各个功能划分各个功能模块的情况下,图25示出了上述实施例中所涉及的电子设备的一种可能的结构示意图,该电子设备包括:接收模块3001和显示模块3002。其中,接收模块用于支持电子设备接收用户的各种操作(例如上述方法实施例中的第一操作,第二操作,第三操作以及第四操作等)。例如,上述方法实施例中的S204,和/或用于本文所描述的技术的其它过程。显示模块3002用于支持电子设备执行上述方法实施例中的S201(包括S2011)、S202、S203、S205以及S206,和/或用于本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,电子设备包括但不限于上述所列举的模块(或功能单元),并且,上述功能单元的具体所能够实现的功能也包括但不限于上述实例所述的方法步骤对应的功能,电子设备的其他单元的详细描述可以参考其所对应方法步骤的详细描述,本申请实施例这里不再赘述。
在采用集成的单元的情况下,上述输入模块可以集成在一个处理模块中实现,上述显示模块可以是显示器,如触摸屏。
图26示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备包括:处理模块4001、存储模块4002、显示模块4003和通信模块4004。处理模块4001用于对电子设备的动作进行控制管理。显示模块4003用于显示处理模块4001生成的图像。存储模块4002,用于保存电子设备的程序代码和数据。通信模块4004用于与其他电子设备通信。
其中,处理模块4001可以是处理器或控制器,例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块2304可以是收发器、收发电路或通信接口等。存储模块4002可以是存储器。
当处理模块4001为处理器(如图3所示的处理器310),通信模块4004为RF收发电路(如图3所示的移动通信模块350和无线通信模块360),存储模块4002为存储器(如图3所示的内部存储器321),显示模块4003为显示屏(包括图3所示的显示屏1-N 394)时,本发明实施例所提供的电子设备可以为图3所示的电子设备300。其中,上述通信模块4004不仅可以包括RF收发电路,还可以包括WiFi模块和蓝牙模块。RF收发电路、WiFi模块和蓝牙模块等通信模块可以统称为通信接口。其中,上述处理器、通信接口、触摸屏和存储区可以通过总线耦合在一起。
需要说明的是,本申请实施例提供的仿生动画生成方法的执行主体还可以是一种仿生动画生成装置,该仿生动画生成装置可以是电子设备中用于执行上述仿生动画生成方法的控制器或者处理器,该仿生动画生成装置还可以是电子设备中的一个芯片,或者该仿生动画生成装置也可以是一个独立的设备等,用于执行本申请实施例提供的仿生动画生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (36)
1.一种仿生动画生成方法,其特征在于,包括:
根据实时场景信息,生成场景地图,所述场景信息包括场景的深度图,所述场景地图包括所述场景中多个位置的高度信息;
对目标角色在所述场景地图中的行进轨迹做地形标注,所述地形标注用于指示所述目标角色当前位置的地形特征;
生成所述目标角色的动作信息,并根据所述目标角色的动作信息生成仿生动画,所述目标角色的动作信息与所述地形标注对应。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标角色当前的运动方向,预测所述目标角色在所述场景地图中的行进轨迹,所述行进轨迹上的采样点之间的距离根据所述目标角色的运动速度来调节。
3.根据权利要求1或2所述的方法,其特征在于,对目标角色在所述场景地图中的行进轨迹做地形标注,包括:
将所述目标角色在所述场景地图中的行进轨迹与多种地形模板匹配,确定所述行进轨迹对应的地形特征;
根据所述行进轨迹对应的地形特征对所述行进轨迹做地形标注。
4.根据权利要求3所述的方法,其特征在于,将所述行进轨迹与多种地形模板进行匹配,确定所述行进轨迹对应的地形特征,包括:
将所述行进轨迹划分为多个子轨迹,所述子轨迹的长度与所述地形模板的长度相等;
将所述多个子轨迹依次与所述多种地形模板进行匹配,确定所述多个子轨迹各自对应的地形特征;
根据所述行进轨迹包含的多个子轨迹各自对应的地形特征,确定所述行进轨迹对应的地形特征。
5.根据权利要求3或4所述的方法,其特征在于,将所述行进轨迹与多种地形模板匹配之前,所述方法还包括:
对所述行进轨迹进行滤波,所述滤波包括平滑滤波或中值滤波。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据实时场景信息,生成场景地图,包括:
根据所述实时场景信息,生成所述场景的多个网格;
对每一网格所覆盖的水平区域的点赋于高度值,以插入所述每一网格到所述场景地图中。
7.根据权利要求6所述的方法,其特征在于,根据实时场景信息,生成所述场景的多个网格包括:
将实时采集的当前帧的深度图转换为所述当前帧的三维点云;
根据所述当前帧对应的位姿对所述当前帧的三维点云进行坐标转换,得到所述当前帧在世界坐标系下的三维点云;
将所述当前帧在世界坐标系下的三维点云网格化,得到所述多个网格中的一个网格。
8.根据权利要求7所述的方法,其特征在于,根据所述当前帧对应的位姿对所述当前帧的三维点云进行坐标转换,得到所述当前帧在世界坐标系下的三维点云之后,所述方法还包括:
在所述当前帧对应的位姿满足位姿变化条件的情况下,更新所述场景的三维点云;并且重新确定所述当前帧在世界坐标系下的三维点云,所述位姿变化条件为所述当前帧与前一帧的空间变换距离大于预设距离阈值,并且所述当前帧与所述前一帧的空间变换角度大于预设角度阈值。
9.根据权利要求1至8任一项所述的方法,其特征在于,生成所述目标角色的动作信息,包括:
通过人工智能AI动作生成器,生成所述目标角色的动作信息。
10.根据权利要求1至9任一项所述的方法,其特征在于,
所述目标角色的动作信息包括所述目标角色的预定关节的位置和旋转信息。
11.根据权利要求1至10任一项所述的方法,其特征在于,根据所述目标角色的动作信息生成仿生动画,包括:
采用所述目标角色的动作信息,对所述目标角色的3D模型进行变形和渲染,得到仿生动画。
12.一种电子设备,其特征在于,包括场景重建模块、地形分析模块以及动作生成模块;
所述场景重建模块,用于根据实时场景信息,生成场景地图,所述实时场景信息包括所述场景的深度图,所述场景地图包括所述场景的多个位置的高度信息;
所述地形分析模块,用于对目标角色在所述场景地图中的行进轨迹做地形标注,所述地形标注用于指示所述目标角色当前位置的地形特征;
所述动作生成模块,用于生成所述目标角色的动作信息,并根据所述目标角色的动作信息生成仿生动画,所述目标角色的动作信息与所述地形标注对应。
13.根据权利要求12所述的电子设备,其特征在于,所述电子设备还包括轨迹采样模块;
所述轨迹采样模块,用于根据所述目标角色当前的运动方向,预测所述目标角色在所述场景地图中的行进轨迹,所述行进轨迹上的采样点之间的距离根据所述目标角色的运动速度来调节。
14.根据权利要求12或13所述的电子设备,其特征在于,
所述地形分析模块,具体用于将所述目标角色在所述场景地图中的行进轨迹与多种地形模板匹配,确定所述行进轨迹对应的地形特征;并且根据所述行进轨迹对应的地形特征对所述行进轨迹做地形标注。
15.根据权利要求14所述的电子设备,其特征在于,
所述地形分析模块,具体用于将所述行进轨迹划分为多个子轨迹;并且将所述多个子轨迹依次与所述多种地形模板进行匹配,确定所述多个子轨迹各自的地形特征;以及根据所述行进轨迹包含的多个子轨迹各自对应的地形特征,确定所述行进轨迹对应的地形特征,所述子轨迹的长度与所述地形模板的长度相等。
16.根据权利要求14或15所述的电子设备,其特征在于,所述电子设备还包括轨迹滤波模块;
所述轨迹滤波模块,用于对所述行进轨迹进行滤波,所述滤波包括平滑滤波或中值滤波。
17.根据权利要求12至16任一项所述的电子设备,其特征在于,
所述场景重建模块,具体用于根据所述实时场景信息,生成所述场景的多个网格;并且对每一网格所覆盖的水平区域的点赋予高度值,以插入所述每一网格到所述场景地图中。
18.根据权利要求17所述的电子设备,其特征在于,
所述场景重建模块,具体用于将实时采集的当前帧的深度图转换为所述当前帧的三维点云;并且根据所述当前帧对应的位姿对所述当前帧的三维点云进行坐标转换,得到所述当前帧在世界坐标系下的三维点云;以及将所述当前帧在世界坐标系下的三维点云网格化,得到所述多个网格中的一个网格。
19.根据权利要求18所述的电子设备,其特征在于,
所述场景重建模块,还用于在所述当前帧对应的位姿满足位姿变化条件的情况下,更新所述场景的三维点云;并且重新确定所述当前帧在世界坐标系下的三维点云,所述位姿变化条件为所述当前帧与前一帧的空间变换距离大于预设距离阈值,并且所述当前帧与所述前一帧的空间变换角度大于预设角度阈值。
20.根据权利要求12至19任一项所述的电子设备,其特征在于,
所述动作生成模块,具体用于通过人工智能AI动作生成器,生成所述目标角色的动作信息。
21.根据权利要求12至20任一项所述的电子设备,其特征在于,
所述目标角色的动作信息包括所述目标角色的预定关节的位置和旋转信息。
22.根据权利要求12至21任一项所述的电子设备,其特征在于,
所述动作生成模块,具体用于采用所述目标角色的动作信息,对所述目标角色的3D模型进行变形和渲染,得到仿生动画。
23.一种电子设备,其特征在于,包括:摄像头、处理器和存储器;所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令;
所述摄像头,用于执行所述指令,采集实时场景信息,所述实时场景信息包括场景的深度图;
所述处理器,用于执行所述指令,根据实时场景信息,生成场景地图;并且对目标角色在所述场景地图中的行进轨迹做地形标注;以及生成所述目标角色的动作信息,并根据所述目标角色的动作信息生成仿生动画,所述目标角色的动作信息与所述地形标注对应;其中,所述场景地图包括所述场景的多个位置的高度信息,所述地形标注用于指示所述目标角色当前位置的地形特征。
24.一种仿生动画生成方法,其特征在于,包括:
响应于用户的第一操作,电子设备显示第一界面,所述第一界面包含实时场景的图像和位于所述实时场景中的目标角色,所述第一操作用于触发所述电子设备生成仿生动画;
响应于用户的第二操作,所述电子设备控制所述目标角色在所述实时场景中行进,并显示仿生动画,所述仿生动画包括所述目标角色在所述实时场景中行进的动态图像,所述仿生动画中所述目标角色的动作由行进过程中所述实时场景的地形特征来确定。
25.根据权利要求24所述的方法,其特征在于,
所述电子设备显示第一界面之前,所述方法还包括:响应于用户对所述电子设备的预设应用的操作,显示包含仿生动画生成选项的界面,所述预设应用为所述电子设备的相机应用或所述电子设备的AR动画应用;
其中,所述第一操作是对所述仿生动画生成选项的选中操作。
26.根据权利要求24或25所述的方法,其特征在于,
所述第一界面包含遥控控件,所述第二操作是用户对所述遥控控件的操作;或者,
所述第二操作是对所述第一界面的手势操作。
27.根据权利要求24至26任一项所述的方法,其特征在于,
所述电子设备显示第一界面之前,所述方法还包括:响应于所述第一操作,所述电子设备显示一个或多个候选角色;
所述电子设备显示第一界面,包括:响应于用户对所述一个或多个候选角色中所述目标角色的选中操作,显示所述第一界面。
28.根据权利要求24至27任一项所述的方法,其特征在于,所述方法还包括:
接收用户的第三操作,所述第三操作是切换所述第一界面上的目标角色的操作;
响应于所述用户的第三操作,所述电子设备显示第二界面,所述第二界面包含实时场景的图像和位于所述实时场景中的切换后的目标角色;
响应于用户的第四操作,所述电子设备控制所述切换后的目标角色在所述实时场景中行进,并显示仿生动画,所述仿生动画包括所述切换后的目标角色在所述实时场景中行进的动态图像,所述切换后的目标角色的动作由行进过程中所述实时场景的地形特征来确定。
29.一种电子设备,其特征在于,包括显示模块;
所述显示模块,用于响应于用户的第一操作,显示第一界面,所述第一界面包含实时场景的图像和位于所述实时场景中的目标角色,所述第一操作用于触发所述电子设备生成仿生动画;并且响应于用户的第二操作,在控制所述目标角色在所述实时场景中行进的过程中,显示仿生动画,所述仿生动画包括所述目标角色在所述实时场景中行进的动态图像,所述仿生动画中所述目标角色的动作由行进过程中所述实时场景的地形特征来确定。
30.根据权利要求29所述的电子设备,其特征在于,
所述显示模块,还用于响应于用户对所述电子设备的预设应用的操作,显示包含仿生动画生成选项的界面,所述预设应用为所述电子设备的相机应用或所述电子设备的AR动画应用;
其中,所述第一操作是对所述仿生动画生成选项的选中操作。
31.根据权利要求29或30所述的电子设备,其特征在于,
所述第一界面包含遥控控件,所述第二操作是用户对所述遥控控件的操作;或者,
所述第二操作是对所述第一界面的手势操作。
32.根据权利要求29至31任一项所述的电子设备,其特征在于,
所述显示模块,还用于响应于所述第一操作,显示一个或多个候选角色;
所述显示模块,具体用于响应于用户对所述一个或多个候选角色中所述目标角色的选中操作,显示所述第一界面。
33.根据权利要求29至32任一项所述的电子设备,其特征在于,所述电子设备还包括接收模块;
所述接收模块,用于接收用户的第三操作,所述第三操作是切换所述第一界面上的目标角色的操作;
所述显示模块,还用于响应于所述用户的第三操作,显示第二界面,所述第二界面包含实时场景的图像和位于所述实时场景中的切换后的目标角色;并且响应于用户的第四操作,在控制所述切换后的目标角色在所述实时场景中行进的过程中,显示仿生动画,所述仿生动画包括所述切换后的目标角色在所述实时场景中行进的动态图像,所述切换后的目标角色的动作由行进过程中所述实时场景的地形特征来确定。
34.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,所述计算机执行指令被执行时,以实现如权利要求1至11任一项或权利要求24至28任一项所述的仿生动画生成方法。
35.一种芯片系统,其特征在于,所述芯片系统包括:
存储介质,用于存储指令;
处理电路,用于执行所述指令,实现如权利要求1至11任一项或权利要求24至28任一项所述的仿生动画生成方法。
36.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序指令,所述程序指令在计算机上运行时,以实现如权利要求1至11任一项或权利要求24至28任一项所述的仿生动画生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911405747.4A CN113129411A (zh) | 2019-12-30 | 2019-12-30 | 一种仿生动画生成方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911405747.4A CN113129411A (zh) | 2019-12-30 | 2019-12-30 | 一种仿生动画生成方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113129411A true CN113129411A (zh) | 2021-07-16 |
Family
ID=76768747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911405747.4A Pending CN113129411A (zh) | 2019-12-30 | 2019-12-30 | 一种仿生动画生成方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129411A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186612A (zh) * | 2021-11-17 | 2022-03-15 | 南方科技大学 | 模型训练方法、地形环境识别方法、装置及电子设备 |
CN114745535A (zh) * | 2022-04-15 | 2022-07-12 | 广州博冠信息科技有限公司 | 一种直播显示方法、装置、存储介质及计算机设备 |
TWI817825B (zh) * | 2022-11-11 | 2023-10-01 | 財團法人資訊工業策進會 | 擴增實境互動系統、伺服器以及行動裝置 |
WO2024060833A1 (zh) * | 2022-09-23 | 2024-03-28 | 华为云计算技术有限公司 | 一种图像处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872241A (zh) * | 2009-04-26 | 2010-10-27 | 艾利维公司 | 建立网游共享空间的方法和系统 |
CN108182719A (zh) * | 2017-12-28 | 2018-06-19 | 北京聚力维度科技有限公司 | 人工智能自适应障碍地形的行进动画生成方法和装置 |
CN109005099A (zh) * | 2017-06-06 | 2018-12-14 | 金德奎 | 一种现实场景共享方法及其社交或游戏方法 |
CN109828658A (zh) * | 2018-12-17 | 2019-05-31 | 彭晓东 | 一种人机共融的远程态势智能感知系统 |
-
2019
- 2019-12-30 CN CN201911405747.4A patent/CN113129411A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872241A (zh) * | 2009-04-26 | 2010-10-27 | 艾利维公司 | 建立网游共享空间的方法和系统 |
CN109005099A (zh) * | 2017-06-06 | 2018-12-14 | 金德奎 | 一种现实场景共享方法及其社交或游戏方法 |
CN108182719A (zh) * | 2017-12-28 | 2018-06-19 | 北京聚力维度科技有限公司 | 人工智能自适应障碍地形的行进动画生成方法和装置 |
CN109828658A (zh) * | 2018-12-17 | 2019-05-31 | 彭晓东 | 一种人机共融的远程态势智能感知系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186612A (zh) * | 2021-11-17 | 2022-03-15 | 南方科技大学 | 模型训练方法、地形环境识别方法、装置及电子设备 |
CN114186612B (zh) * | 2021-11-17 | 2022-09-16 | 南方科技大学 | 模型训练方法、地形环境识别方法、装置及电子设备 |
CN114745535A (zh) * | 2022-04-15 | 2022-07-12 | 广州博冠信息科技有限公司 | 一种直播显示方法、装置、存储介质及计算机设备 |
CN114745535B (zh) * | 2022-04-15 | 2024-03-12 | 广州博冠信息科技有限公司 | 一种直播显示方法、装置、存储介质及计算机设备 |
WO2024060833A1 (zh) * | 2022-09-23 | 2024-03-28 | 华为云计算技术有限公司 | 一种图像处理方法 |
TWI817825B (zh) * | 2022-11-11 | 2023-10-01 | 財團法人資訊工業策進會 | 擴增實境互動系統、伺服器以及行動裝置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555883B (zh) | 相机姿态追踪过程的重定位方法、装置及存储介质 | |
US11481923B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
CN111126182B (zh) | 车道线检测方法、装置、电子设备及存储介质 | |
WO2019223468A1 (zh) | 相机姿态追踪方法、装置、设备及系统 | |
CN110495819B (zh) | 机器人的控制方法、机器人、终端、服务器及控制系统 | |
JP6367926B2 (ja) | 拡張現実(ar)キャプチャおよびプレイ | |
CN110276840B (zh) | 多虚拟角色的控制方法、装置、设备及存储介质 | |
CN113129411A (zh) | 一种仿生动画生成方法及电子设备 | |
CN111738220A (zh) | 三维人体姿态估计方法、装置、设备及介质 | |
CN110135336B (zh) | 行人生成模型的训练方法、装置及存储介质 | |
CN112749613B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
WO2022052620A1 (zh) | 图像生成方法及电子设备 | |
CN112581358B (zh) | 图像处理模型的训练方法、图像处理方法及装置 | |
CN112711335B (zh) | 虚拟环境画面的显示方法、装置、设备及存储介质 | |
CN110942479A (zh) | 虚拟对象控制方法、存储介质及电子设备 | |
CN113365085B (zh) | 一种直播视频生成方法及装置 | |
CN113289327A (zh) | 移动终端的显示控制方法及装置、存储介质及电子设备 | |
CN112581571A (zh) | 虚拟形象模型的控制方法、装置、电子设备及存储介质 | |
CN110956571A (zh) | 基于slam进行虚实融合的方法及电子设备 | |
CN115223248A (zh) | 手部姿态识别方法、手部姿态识别模型的训练方法及装置 | |
CN114842069A (zh) | 一种位姿确定方法以及相关设备 | |
CN116152075A (zh) | 光照估计方法、装置以及系统 | |
CN114898282A (zh) | 图像处理方法及装置 | |
CN111103967A (zh) | 虚拟对象的控制方法和装置 | |
CN115100691B (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 |