CN108280883A - 变形特效程序文件包的生成及变形特效生成方法与装置 - Google Patents

变形特效程序文件包的生成及变形特效生成方法与装置 Download PDF

Info

Publication number
CN108280883A
CN108280883A CN201810123074.2A CN201810123074A CN108280883A CN 108280883 A CN108280883 A CN 108280883A CN 201810123074 A CN201810123074 A CN 201810123074A CN 108280883 A CN108280883 A CN 108280883A
Authority
CN
China
Prior art keywords
deformation
deformed region
parameter
key point
special efficacy
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.)
Granted
Application number
CN201810123074.2A
Other languages
English (en)
Other versions
CN108280883B (zh
Inventor
许亲亲
岳大禹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201810123074.2A priority Critical patent/CN108280883B/zh
Publication of CN108280883A publication Critical patent/CN108280883A/zh
Priority to SG11202006343RA priority patent/SG11202006343RA/en
Priority to JP2020536147A priority patent/JP7066855B2/ja
Priority to KR1020207018884A priority patent/KR102386640B1/ko
Priority to PCT/CN2019/074498 priority patent/WO2019154337A1/zh
Priority to US16/914,654 priority patent/US11270408B2/en
Application granted granted Critical
Publication of CN108280883B publication Critical patent/CN108280883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种变形特效程序文件包的生成及变形特效生成方法与装置,其中,变形特效程序文件包的生成方法包括:获取至少一变形区域的变形效果参数的参数值;建立至少一所述变形区域和预定的至少一关键点之间的对应关系;根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包。本发明实施例无需通过手动书写程序文件,便可生成渲染引擎可执行的变形特效程序文件,操作简单、所需时间短,提升了变形特效实现的整体效率,且避免了手动书写程序文件可能出现的错误,有效保障了变形特效的准确性。

Description

变形特效程序文件包的生成及变形特效生成方法与装置
技术领域
本发明涉及计算机视觉技术,尤其是一种变形特效程序文件包的生成及变形特效生成方法与装置。
背景技术
增强现实技术(Augmented Reality,AR),是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内的实体信息,模拟仿真后再叠加虚拟信息,将虚拟信息应用到真实世界,将真实世界的人物、环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在,从而达到超越现实的感官体验。
发明内容
本发明实施例提供一种变形特效程序文件包生成的技术方案和一种变形特效生成的技术方案。
根据本发明实施例的一个方面,提供的一种变形特效程序文件包的生成方法,包括:
获取至少一变形区域的变形效果参数的参数值;
建立至少一所述变形区域和预定的至少一关键点之间的对应关系;
根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述获取至少一变形区域的变形效果参数的参数值之前,还包括:
添加所述至少一变形区域。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述变形区域为多个时,所述获取至少一变形区域的变形效果参数的参数值,包括:
批量获取多个变形区域的变形参数形参数;和/或
分别获取多个变形区域中至少部分所述变形区域的变形参数;和/或
通过复制一变形区域的方式来获得另一变形区域及其变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
接收通过操作栏的交互接口输入的变形区域添加指令,添加至少一个所述变形区域,生成所述变形区域的变形效果参数设置界面,并在所述操作栏下显示所述变形区域的变形效果参数设置界面;
所述获取变形区域的变形效果参数的参数值,包括:经所述变形效果参数设置界面获取所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述获取变形区域的变形效果参数的参数值,包括:
通过在参考图像上移动变形区域的方式,获取所述变形区域的位置参数;和/或通过调整所述变形区域的大小,获取所述变形区域的范围;和/或
通过调整用于控制变形效果的变形曲线的方式,获取所述变形区域的变形效果参数的参数值;和/或
通过接收变形效果控制参数的参数值的方式,获取所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述获取变形区域的变形效果参数的参数值,包括:
响应于接收到通过所述变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以所述设置的参数值作为所述变形区域的变形效果参数的参数值;和/或
响应于未接收到通过所述变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以预设参数值作为所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
接收通过操作栏的交互接口输入的变形区域删除指令,删除所述变形区域和所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述关键点包括以下任意一种或多种:头部关键点,脸部关键点,肩部关键点,手臂关键点,手势关键点,腰部关键点,腿部关键点,脚部关键点,人体骨骼关键点。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述头部关键点包括以下至少之一:头顶关键点,鼻尖关键点,以及下巴关键点;和/或
所述面部脸部关键点包括以下至少之一:脸部轮廓关键点,眼睛关键点,眉毛关键点,鼻子关键点,嘴部关键点;和/或
所述肩部关键点包括以下至少之一:位于肩部与头部交汇位置处的肩头交汇关键点,以及位于臂根轮廓关键点与肩头交汇关键点之间的中点位置处的肩轮廓中点关键点;和/或
所述手臂关键点包括以下至少之一:手腕轮廓关键点,胳膊肘轮廓关键点,臂根轮廓关键点,位于手腕轮廓关键点与胳膊肘轮廓关键点之间的中点位置处的小臂轮廓中点关键点,以及位于胳膊肘轮廓关键点与臂根轮廓关键点之间的中点位置处的大臂中点关键点;和/或
所述手势关键点包括以下至少之一:手势框的四个顶点关键点,以及手势框的中心关键点;和/或
所述腿部关键点包括以下至少之一:裆部关键点,膝盖轮廓关键点,脚踝轮廓关键点,大腿根部外侧轮廓关键点,位于膝盖轮廓关键点与脚踝轮廓关键点之间的中点位置处的小腿轮廓中点关键点,位于膝盖轮廓关键点与裆部关键点之间的中点位置处的大腿内轮廓中点关键点,以及位于膝盖轮廓关键点与大腿根部外侧轮廓关键点之间的中点位置处的大腿外轮廓中点关键点;和/或
所述腰部关键点包括以下至少之一:将大腿根部外侧轮廓关键点与臂根轮廓关键点之间N等分,所产生的N个等分点;其中,所述N大于1;和/或
所述脚部关键点包括以下至少之一:脚尖关键点以及足跟关键点;和/或
所述人体骨骼关键点把包括以下至少之一:右肩骨骼关键点,右肘骨骼关键点,右腕骨骼关键点,左肩骨骼关键点,左肘骨骼关键点,左腕骨骼关键点,右髋骨骼关键点,右膝骨骼关键点,右踝骨骼关键点,左髋骨骼关键点,左膝骨骼关键点,左踝骨骼关键点,头顶骨骼关键点,以及脖子骨骼关键点。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述眼睛关键点包括以下至少之一:左眼眶关键点,左眼瞳孔中心关键点,左眼中心关键点,右眼眶关键点,右眼瞳孔中心关键点,以及右眼中心关键点;和/或
所述眉毛关键点包括以下至少之一:左眉毛关键点以及右眉毛关键点;和/或
所述鼻子关键点包括以下至少之一:鼻梁关键点,鼻子下沿关键点,以及鼻子外侧轮廓关键点;和/或
所述嘴部关键点包括以下至少之一:上嘴唇关键点,以及下嘴唇关键点。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述建立所述变形区域和预定的至少一关键点之间的对应关系,包括:
建立所述变形区域的位置参考点和所述至少一关键点之间的对应关系;和/或
建立所述变形区域的位置参考点和检测框的中心关键点之间的对应关系。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述变形效果参数包括以下任意一项或多项:
显示参数:用于控制是否显示变形区域的变形效果;
触发动作参数:用于表示触发显示变形区域的变形效果的触发动作;
循环参数:用于表示变形效果的循环播放次数;
延迟触发参数:用于表示延迟显示变形区域的变形效果的时间;
触发结束参数:用于表示结束显示变形区域的变形效果的动作;
变形效果控制参数:用于控制变形区域的变形效果;
显示尺寸参数:用于表示变形区域的大小变化的参考依据;
位置参数:用于表示变形区域与预设关键点之间的位置绑定关系;
旋转中心参数:用于表示变形区域旋转依据的中心点;
变形中心参数:用于表示变形区域的中心点;
模式切换参数:用于切换变形区域的中心点偏移模式;
美颜/美妆效果参数:用于表示显示变形效果时在预设部位显示的美颜/美妆效果。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述旋转中心参数的参数值为图像的中心点。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述触发动作参数的参数值对应的触发动作包括以下任意一项或多项:无动作触发,眼部动作,头部动作,眉部动作,手部动作,嘴部动作,肩部动作。
可选地,在另一实施例的变形特效程序文件包的生成方法中,通过变形曲线控制所述变形区域的变形效果;所述变形效果控制参数包括所述变形曲线的参数;
所述变形曲线的参数包括以下任意一项或多项:
用于控制变形效果的拉伸方向和拉伸半径的第一控制点参数;
用于控制变形区域的中间区域的过渡平滑性的第二控制点参数;
用于控制变形区域的边界区域过渡平滑性的第三控制点参数。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述变形效果的拉伸方向包括:从所述变形区域的中心点向外拉伸,和/或,从所述变形区域的中心点向内拉伸。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述位置参数中的预设关键点包括:预定的关键点中,位于所述变形区域的边界上、且连线经过所述变形区域的中心点的两个关键点;
建立所述变形区域的变形区域和预定的至少一关键点之间的对应关系,包括:建立所述变形区域和位于所述变形区域的边界上、且连线经过所述变形区域的中心点的所述两个关键点之间的对应关系。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述变形区域的中心点偏移模式包括:中心点简单拉伸模式和/或径向偏移拉伸模式。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
通过内容显示栏显示参考图像;所述参考图像包括至少一个参考部位。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
接收通过操作栏的交互接口输入的参考点显示指令,显示所述参考图像上的关键点;和/或
接收通过操作栏的交互接口输入的参考点关闭指令,不显示所述参考图像上的关键点。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述参考图像包括:参考人物的至少一部分图像。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述参考人物的至少一部分图像包括所述参考人物的以下任意一项或多项的图像:完整图像,头部图像,脸部图像,肩部图像,手臂图像,手势图像,腰部图像,腿部图像,脚部图像。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
根据所述变形区域的变形效果参数的参数值,在所述内容显示栏显示所述变形区域的变形效果。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
根据通过所述内容显示栏接收到的对所述变形区域的位置移动操作,更新所述变形区域在所述内容显示栏的显示位置,并对所述变形区域的变形效果参数中的相应参数值进行更新。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
根据通过所述内容显示栏接收到的对所述变形区域的大小调整操作,更新所述变形区域在所述内容显示栏的显示大小,并对所述变形区域的变形效果参数中的相应参数值进行更新。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
根据通过所述操作栏的交互接口接收到的针对两个或以上变形区域的图层参数调整指令,调整所述两个或以上变形区域之间的遮挡关系,并根据调整后的遮挡关系和所述两个或以上变形区域对应的变形参数的参数值显示所述两个或以上变形区域对应的变形效果。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述生成变形特效程序文件包之前,还包括:
根据预先设置的变形特效程序文件和所述变形区域的变形效果参数的参数值,生成所述变形区域的特效程序文件,并通过程序文件栏显示所述变形区域的特效程序文件。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述变形特效程序文件包括:以json程序生成的特效程序文件。
可选地,在另一实施例的变形特效程序文件包的生成方法中,还包括:
根据接收到的启动指令启动,并显示操作界面,所述操作界面包括:操作栏,内容显示栏和/或程序文件栏。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述操作界面包括左侧、中部和右侧三个区域;
所述显示操作界面,包括:
在所述操作界面的左侧显示所述操作栏,在所述操作界面的中部显示所述内容显示栏,在所述操作界面的右侧显示所述程序文件栏。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述生成变形特效程序文件包之后,还包括:
根据接收到的保存指令在所述保存指令指向的位置保存所述变形特效程序文件包。
可选地,在另一实施例的变形特效程序文件包的生成方法中,所述根据接收到的保存指令在所述保存指令指向的位置保存所述变形特效程序文件包,包括:
响应于接收到保存指令,显示保存路径选择接口和压缩接口;
接收通过所述保存路径选择接口发送的保存位置;以及接收基于所述压缩接口发送的压缩方式,并根据所述压缩方式对所述变形特效程序文件包进行压缩,生成压缩文件包;
将所述压缩文件包存储至所述保存位置指向的文件夹中。
根据本发明实施例的另一个方面,提供的一种变形特效生成方法,还包括:
获取变形区域的变形效果参数的参数值;
基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
可选地,在另一实施例的变形特效生成方法中,所述获取变形区域的变形效果参数的参数值之前,还包括:
导入变形特效程序文件包;
所述获取变形区域的变形效果参数的参数值,包括:获取所述变形特效程序文件包中变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效生成方法中,所述变形特效程序文件包为采用如权利要求1-32任一所述的方法生成的变形特效程序文件包。
可选地,在另一实施例的变形特效生成方法中,还包括:
检测所述图像中的关键点。
可选地,在另一实施例的变形特效生成方法中,所述变形区域的变形效果参数的参数值包括:所述变形区域和预定的至少一关键点之间的对应关系。
可选地,在另一实施例的变形特效生成方法中,所述导入变形特效程序文件包,包括:
通过调用用于读取变形区域的第一接口函数,将所述变形特效程序文件包读入内存;
解析所述变形特效程序文件包,获得变形特效程序文件,所述变形特效程序文件包括所述变形效果参数的参数值。
可选地,在另一实施例的变形特效生成方法中,所述变形特效程序文件包括:json程序的变形特效程序文件。
可选地,在另一实施例的变形特效生成方法中,所述获取变形区域的变形效果参数的参数值,包括:
通过用于创建贴纸句柄的第二接口函数创建贴纸句柄;
读取所述变形特效程序文件中变形区域的变形效果参数的参数值、并存储至所述贴纸句柄中。
可选地,在另一实施例的变形特效生成方法中,还包括:
根据所述贴纸句柄中所述变形特效程序文件中变形区域的变形效果参数的参数值,获取所述变形区域在所述图像中显示的位置。
可选地,在另一实施例的变形特效生成方法中,所述图像为视频中图像时,所述方法还包括:
获取所述变形区域在所述图像中显示的视频帧数,并预先从所述视频中读取所述视频帧数对应的图像。
可选地,在另一实施例的变形特效生成方法中,所述基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效,包括:
通过用于调用渲染变形区域的第三接口函数,从所述贴纸句柄中读取需要显示在所述图像上的变形区域;
根据所述图像中的关键点和所述需要显示的变形区域的变形效果参数的参数值,确定所述变形区域在所述图像上的显示位置;
根据所述变形区域在所述图像上的显示位置,将所述变形区域显示在所述图像上的所述显示位置上。
可选地,在另一实施例的变形特效生成方法中,还包括:
响应于所述变形特效程序文件包播放完毕,通过用于调用销毁贴纸句柄的第四接口函数销毁所述贴纸句柄。
可选地,在另一实施例的变形特效生成方法中,所述检测所述图像中的关键点,包括:
通过神经网络,对所述图像进行所述对应关系涉及的关键点检测,并输出关键点检测结果。
可选地,在另一实施例的变形特效生成方法中,所述关键点检测结果包括以下任意一项或多项:
所述对应关系涉及的关键点在所述图像中的位置;
所述对应关系涉及的关键点的预设编号。
可选地,在另一实施例的变形特效生成方法中,所述变形效果参数包括:触发动作参数,所述触发动作参数用于表示触发显示变形效果的触发动作;
所述方法还包括:检测所述图像中是否出现所述触发动作参数的参数值对应的触发动作;
所述基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效,包括:
响应于检测到所述图像中出现所述触发动作参数的参数值对应的触发动作,基于所述图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
可选地,在另一实施例的变形特效生成方法中,所述变形效果参数包括:美颜/美妆效果参数,所述美颜/美妆效果参数用于表示显示变形效果时在预设部位显示的美颜/美妆效果;
所述方法还包括:
基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效时,根据所述美颜/美妆效果参数,在所述图像显示美颜/美妆效果。
根据本发明实施例的又一个方面,提供的一种变形特效程序文件包的生成装置,包括:
第一获取模块,用于获取至少一变形区域的变形效果参数的参数值;
建立模块,用于建立至少一所述变形区域和预定的至少一关键点之间的对应关系;
第一生成模块,用于根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包。
可选地,在另一实施例的变形特效程序文件包的生成装置中,还包括:
添加模块,用于添加所述至少一变形区域。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述变形区域为多个时,所述第一获取模块具体用于:
批量获取多个变形区域的变形参数形参数;和/或
分别获取多个变形区域中至少部分所述变形区域的变形参数;和/或
通过复制一变形区域的方式来获得另一变形区域及其变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成装置中,还包括:操作栏,包括交互接口,用于接收通过所述交互接口输入的变形区域添加指令,添加至少一个所述变形区域,生成所述变形区域的变形效果参数设置界面,并在所述操作栏下显示所述变形区域的变形效果参数设置界面;
所述第一获取模块具体用于:经所述变形效果参数设置界面获取所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述第一获取模块具体用于:
通过在参考图像上移动变形区域的方式,获取所述变形区域的位置参数;和/或通过调整所述变形区域的大小,获取所述变形区域的范围;和/或
通过调整用于控制变形效果的变形曲线的方式,获取所述变形区域的变形效果参数的参数值;和/或
通过接收变形效果控制参数的参数值的方式,获取所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述第一获取模块具体用于:
响应于接收到通过所述变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以所述设置的参数值作为所述变形区域的变形效果参数的参数值;和/或
响应于未接收到通过所述变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以预设参数值作为所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成装置中,还包括:
删除模块,用于接收通过操作栏的交互接口输入的变形区域删除指令,删除所述变形区域和所述变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述关键点包括以下任意一种或多种:头部关键点,脸部关键点,肩部关键点,手臂关键点,手势关键点,腰部关键点,腿部关键点,脚部关键点,人体骨骼关键点。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述头部关键点包括以下至少之一:头顶关键点,鼻尖关键点,以及下巴关键点;和/或
所述面部脸部关键点包括以下至少之一:脸部轮廓关键点,眼睛关键点,眉毛关键点,鼻子关键点,嘴部关键点;和/或
所述肩部关键点包括以下至少之一:位于肩部与头部交汇位置处的肩头交汇关键点,以及位于臂根轮廓关键点与肩头交汇关键点之间的中点位置处的肩轮廓中点关键点;和/或
所述手臂关键点包括以下至少之一:手腕轮廓关键点,胳膊肘轮廓关键点,臂根轮廓关键点,位于手腕轮廓关键点与胳膊肘轮廓关键点之间的中点位置处的小臂轮廓中点关键点,以及位于胳膊肘轮廓关键点与臂根轮廓关键点之间的中点位置处的大臂中点关键点;和/或
所述手势关键点包括以下至少之一:手势框的四个顶点关键点,以及手势框的中心关键点;和/或
所述腿部关键点包括以下至少之一:裆部关键点,膝盖轮廓关键点,脚踝轮廓关键点,大腿根部外侧轮廓关键点,位于膝盖轮廓关键点与脚踝轮廓关键点之间的中点位置处的小腿轮廓中点关键点,位于膝盖轮廓关键点与裆部关键点之间的中点位置处的大腿内轮廓中点关键点,以及位于膝盖轮廓关键点与大腿根部外侧轮廓关键点之间的中点位置处的大腿外轮廓中点关键点;和/或
所述腰部关键点包括以下至少之一:将大腿根部外侧轮廓关键点与臂根轮廓关键点之间N等分,所产生的N个等分点;其中,所述N大于1;和/或
所述脚部关键点包括以下至少之一:脚尖关键点以及足跟关键点;和/或
所述人体骨骼关键点把包括以下至少之一:右肩骨骼关键点,右肘骨骼关键点,右腕骨骼关键点,左肩骨骼关键点,左肘骨骼关键点,左腕骨骼关键点,右髋骨骼关键点,右膝骨骼关键点,右踝骨骼关键点,左髋骨骼关键点,左膝骨骼关键点,左踝骨骼关键点,头顶骨骼关键点,以及脖子骨骼关键点。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述眼睛关键点包括以下至少之一:左眼眶关键点,左眼瞳孔中心关键点,左眼中心关键点,右眼眶关键点,右眼瞳孔中心关键点,以及右眼中心关键点;和/或
所述眉毛关键点包括以下至少之一:左眉毛关键点以及右眉毛关键点;和/或
所述鼻子关键点包括以下至少之一:鼻梁关键点,鼻子下沿关键点,以及鼻子外侧轮廓关键点;和/或
所述嘴部关键点包括以下至少之一:上嘴唇关键点,以及下嘴唇关键点。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述建立模块具体用于:
建立所述变形区域的位置参考点和所述至少一关键点之间的对应关系;和/或
建立所述变形区域的位置参考点和检测框的中心关键点之间的对应关系。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述变形效果参数包括以下任意一项或多项:
显示参数:用于控制是否显示变形区域的变形效果;
触发动作参数:用于表示触发显示变形区域的变形效果的触发动作;
循环参数:用于表示变形效果的循环播放次数;
延迟触发参数:用于表示延迟显示变形区域的变形效果的时间;
触发结束参数:用于表示结束显示变形区域的变形效果的动作;
变形效果控制参数:用于控制变形区域的变形效果;
显示尺寸参数:用于表示变形区域的大小变化的参考依据;
位置参数:用于表示变形区域与预设关键点之间的位置绑定关系;
旋转中心参数:用于表示变形区域旋转依据的中心点;
变形中心参数:用于表示变形区域的中心点;
模式切换参数:用于切换变形区域的中心点偏移模式;
美颜/美妆效果参数:用于表示显示变形效果时在预设部位显示的美颜/美妆效果。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述旋转中心参数的参数值为图像的中心点。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述触发动作参数的参数值对应的触发动作包括以下任意一项或多项:无动作触发,眼部动作,头部动作,眉部动作,手部动作,嘴部动作,肩部动作。
可选地,在另一实施例的变形特效程序文件包的生成装置中,通过变形曲线控制所述变形区域的变形效果;所述变形效果控制参数包括所述变形曲线的参数;
所述变形曲线的参数包括以下任意一项或多项:
用于控制变形效果的拉伸方向和拉伸半径的第一控制点参数;
用于控制变形区域的中间区域的过渡平滑性的第二控制点参数;
用于控制变形区域的边界区域过渡平滑性的第三控制点参数。
可选地,在另一实施例的变形特效程序文件包的生成装置中,述变形效果的拉伸方向包括:从所述变形区域的中心点向外拉伸,和/或,从所述变形区域的中心点向内拉伸。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述位置参数中的预设关键点包括:预定的关键点中,位于所述变形区域的边界上、且连线经过所述变形区域的中心点的两个关键点;
建立所述变形区域的变形区域和预定的至少一关键点之间的对应关系,包括:建立所述变形区域和位于所述变形区域的边界上、且连线经过所述变形区域的中心点的所述两个关键点之间的对应关系。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述变形区域的中心点偏移模式包括:中心点简单拉伸模式和/或径向偏移拉伸模式。
可选地,在另一实施例的变形特效程序文件包的生成装置中,还包括:
内容显示栏,用于显示参考图像;所述参考图像包括至少一个参考部位。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述操作栏,还用于:
接收通过交互接口输入的参考点显示指令,显示所述参考图像上的关键点;和/或
接收通过交互接口输入的参考点关闭指令,不显示所述参考图像上的关键点。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述参考图像包括:参考人物的至少一部分图像。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述参考人物的至少一部分图像包括所述参考人物的以下任意一项或多项的图像:完整图像,头部图像,脸部图像,肩部图像,手臂图像,手势图像,腰部图像,腿部图像,脚部图像。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述内容显示栏,还用于根据所述变形区域的变形效果参数的参数值,在所述内容显示栏显示所述变形区域的变形效果。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述内容显示栏,还用于接收对所述变形区域的位置移动操作;所述装置还包括:
第一更新模块,用于根据所述内容显示栏接收到的对所述变形区域的位置移动操作,更新所述变形区域在所述内容显示栏的显示位置,并对所述变形区域的变形效果参数中的相应参数值进行更新。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述内容显示栏,还用于接收对所述变形区域的大小调整操作;
所述装置还包括:
第二更新模块,用于根据所述内容显示栏接收到的对所述变形区域的大小调整操作,更新所述变形区域在所述内容显示栏的显示大小,并对所述变形区域的变形效果参数中的相应参数值进行更新。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述操作栏,还用于通过交互接口接收到的针对两个或以上变形区域的图层参数调整指令;
调整模块,用于根据所述操作栏的交互接口接收到的针对两个或以上变形区域的图层参数调整指令,调整所述两个或以上变形区域之间的遮挡关系,并根据调整后的遮挡关系和所述两个或以上变形区域对应的变形参数的参数值显示所述两个或以上变形区域对应的变形效果。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述第一生成模块,还用于根据预先设置的变形特效程序文件和所述变形区域的变形效果参数的参数值,生成所述变形区域的特效程序文件,并通过程序文件栏显示所述变形区域的特效程序文件;
所述装置还包括:
所述程序文件栏,用于显示所述变形区域的特效程序文件。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述变形特效程序文件包括:以json程序生成的特效程序文件。
可选地,在另一实施例的变形特效程序文件包的生成装置中,还包括:
操作界面,所述操作界面包括:所述操作栏,所述内容显示栏和/或所述程序文件栏。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述操作界面包括左侧、中部和右侧三个区域;
所述操作界面的左侧为所述操作栏,所述操作界面的中部为所述内容显示栏,所述操作界面的右侧为所述程序文件栏。
可选地,在另一实施例的变形特效程序文件包的生成装置中,还包括:
保存模块,用于根据接收到的保存指令在所述保存指令指向的位置保存所述变形特效程序文件包。
可选地,在另一实施例的变形特效程序文件包的生成装置中,所述保存模块具体用于:
响应于接收到保存指令,显示保存路径选择接口和压缩接口;
接收通过所述保存路径选择接口发送的保存位置;以及接收基于所述压缩接口发送的压缩方式,并根据所述压缩方式对所述变形特效程序文件包进行压缩,生成压缩文件包;
将所述压缩文件包存储至所述保存位置指向的文件夹中。
根据本发明实施例的又一个方面,提供的一种变形特效生成装置,包括:
第二获取模块,用于获取变形区域的变形效果参数的参数值;
第二生成模块,用于基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
可选地,在另一实施例的变形特效生成装置中,还包括:
导入模块,用于导入变形特效程序文件包;
所述第二生成模块具体用于获取所述变形特效程序文件包中变形区域的变形效果参数的参数值。
可选地,在另一实施例的变形特效生成装置中,所述变形特效程序文件包为采用本发明上述任一实施例所述的变形特效程序文件包的生成装置生成的变形特效程序文件包。
可选地,在另一实施例的变形特效生成装置中,还包括:
第一检测模块,用于检测所述图像中的关键点。
可选地,在另一实施例的变形特效生成装置中,所述变形区域的变形效果参数的参数值包括:所述变形区域和预定的至少一关键点之间的对应关系。
可选地,在另一实施例的变形特效生成装置中,所述导入模块具体用于:
通过调用用于读取变形区域的第一接口函数,将所述变形特效程序文件包读入内存;
解析所述变形特效程序文件包,获得变形特效程序文件,所述变形特效程序文件包括所述变形效果参数的参数值。
可选地,在另一实施例的变形特效生成装置中,所述变形特效程序文件包括:json程序的变形特效程序文件。
可选地,在另一实施例的变形特效生成装置中,所述第二获取模块具体用于:
通过用于创建贴纸句柄的第二接口函数创建贴纸句柄;
读取所述变形特效程序文件中变形区域的变形效果参数的参数值、并存储至所述贴纸句柄中。
可选地,在另一实施例的变形特效生成装置中,所述第二生成模块具体用于:
通过用于调用渲染变形区域的第三接口函数,从所述贴纸句柄中读取需要显示在所述图像上的变形区域;
根据所述图像中的关键点和所述需要显示的变形区域的变形效果参数的参数值,确定所述变形区域在所述图像上的显示位置;
根据所述变形区域在所述图像上的显示位置,将所述变形区域显示在所述图像上的所述显示位置上。
可选地,在另一实施例的变形特效生成装置中,所述图像为视频中图像时,所述第二生成模块还用于获取所述变形区域在所述图像中显示的视频帧数,并预先从所述视频中读取所述视频帧数对应的图像。
可选地,在另一实施例的变形特效生成装置中,所述第二获取模块,还用于响应于所述变形特效程序文件包播放完毕,通过用于调用销毁贴纸句柄的第四接口函数销毁所述贴纸句柄。
可选地,在另一实施例的变形特效生成装置中,所述第一检测模块包括:神经网络,用于对所述图像进行所述对应关系涉及的关键点检测,并输出关键点检测结果。
可选地,在另一实施例的变形特效生成装置中,所述关键点检测结果包括以下任意一项或多项:
所述对应关系涉及的关键点在所述图像中的位置;
所述对应关系涉及的关键点的预设编号。
可选地,在另一实施例的变形特效生成装置中,所述变形效果参数包括:触发动作参数,所述触发动作参数用于表示触发显示变形效果的触发动作;
所述装置还包括:
第二检测模块,用于检测所述图像中是否出现所述触发动作参数的参数值对应的触发动作;
所述第二生成模块具体用于:
响应于检测到所述图像中出现所述触发动作参数的参数值对应的触发动作,基于所述图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
可选地,在另一实施例的变形特效生成装置中,所述变形效果参数包括:美颜/美妆效果参数,所述美颜/美妆效果参数用于表示显示变形效果时在预设部位显示的美颜/美妆效果;
所述第二生成模块,还用于基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效时,根据所述美颜/美妆效果参数,在所述图像显示美颜/美妆效果。
根据本发明实施例的再一个方面,提供的一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本发明上述任一实施例所述的方法。
根据本发明实施例的再一个方面,提供的一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本发明上述任一实施例所述的方法。
根据本发明实施例的再一个方面,提供的一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本发明上述任一实施例所述的方法。
基于本发明上述实施例提供的变形特效程序文件包的生成方法与装置、电子设备、程序和介质,获取至少一变形区域的变形效果参数的参数值,建立至少一所述变形区域和预定的至少一关键点之间的对应关系,并根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包,以便基于该变形特效程序文件包对图像添加变形效果、实现图像的变形特效,本发明实施例无需通过手动书写程序文件,便可生成渲染引擎可执行的变形特效程序文件,操作简单、所需时间短,提升了变形特效实现的整体效率,且避免了手动书写程序文件可能出现的错误,有效保障了变形特效的准确性。
基于本发明上述实施例提供的变形特效生成方法与装置、电子设备、程序和介质,获取变形区域的变形效果参数的参数值,基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。本发明实施例通过预先生成的变形特效程序文件包中变形区域的变形效果参数的参数值、对图像进行关键点检测,在图像上生成变形特效,实现了图像的变形特效,提升了图像的播放效果。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明变形特效程序文件包的生成方法一个实施例的流程图。
图2为本发明实施例中变形特效程序文件包的生成装置的一个操作界面示例图。
图3为本发明实施例中变形区域的变形效果参数设置界面的一个示例性示意图。
图4为本发明实施例中脸部关键点的一个示例性示意图。
图5为本发明实施例中变形曲线调整窗口的一个示例性示意图。
图6为本发明实施例中变形效果为向外拉伸的一个变形效果示意图。
图7分别为本发明实施例中变形效果为向内拉伸的一个变形效果示意图。
图8为本发明实施例中模式切换参数在中心点简单拉伸模式下的一个变形效果示意图。
图9为本发明实施例中模式切换参数在径向偏移拉伸模式下的一个变形效果示意图。
图10为本发明实施例中手部动作的一个示例性示意图。
图11为本发明变形特效程序文件包的生成方法再一实施例的流程图。
图12为本发明变形特效生成方法一个实施例的流程图。
图13为本发明变形特效生成方法另一个实施例的流程图。
图14为本发明变形特效程序文件包的生成装置一个实施例的结构示意图。
图15为本发明变形特效程序文件包的生成装置另一个实施例的结构示意图。
图16为本发明变形特效生成装置一个实施例的结构示意图。
图17为本发明变形特效生成装置另一个实施例的结构示意图。
图18为本发明电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1为本发明变形特效程序文件包的生成方法一个实施例的流程图。本发明各实施例变形特效程序文件包的生成方法,例如可以通过但不限于一个变形装置(本发明实施例称为变形特效程序文件包的生成装置)实现。如图1所示,该实施例变形特效程序文件包的生成方法包括:
102,获取至少一变形区域的变形效果参数的参数值。
104,建立至少一变形区域和预定的至少一关键点之间的对应关系。
106,根据获取有参数值的至少一变形区域以及该至少一变形区域和预定的至少一关键点之间的对应关系,生成变形特效程序文件包。
在本发明各实施例中,变形区域的形状不受限制,例如可以是圆形、椭圆形、长方形、正方形、三角形、或者其他任意形状等。
在本发明各实施例中,变形区域可以是一个,也可以是多个。变形区域为多个时,可以分别针对各变形区域执行操作102-104,即:分别获取各变形区域的变形效果参数的参数值、并建立各变形区域和预定的至少一关键点之间的对应关系,然后针对该多个变形区域执行操作106,由多个变形区域的变形效果参数的参数值及其对应关系生成一个变形特效程序文件包。
本发明实施例中,变形特效程序文件包可用于对图像的变形特效处理,在图像上生成变形区域的变形效果(也称为:变形特效),例如,对视频图像进行AR效果的渲染处理。
基于本发明上述实施例提供的变形特效程序文件包的生成方法,获取至少一变形区域的变形效果参数的参数值,建立至少一所述变形区域和预定的至少一关键点之间的对应关系,并根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包,以便基于该变形特效程序文件包对图像添加变形效果、实现图像的变形特效,本发明实施例无需通过手动书写程序文件,便可生成渲染引擎可执行的变形特效程序文件,操作简单、所需时间短,提升了变形特效实现的整体效率,且避免了手动书写程序文件可能出现的错误,有效保障了变形特效的准确性。
在本发明变形特效程序文件包的生成方法的另一个实施例中,在操作102获取至少一变形区域的变形效果参数的参数值之前,还可以包括:
添加上述至少一变形区域。
在本发明各变形特效程序文件包的生成方法实施例的其中一个实施方式中,变形区域为多个时,操作 102可以包括:
批量获取多个变形区域的变形参数形参数;和/或
分别获取多个变形区域中至少部分变形区域的变形参数;和/或
通过复制一变形区域的方式来获得另一变形区域及其变形效果参数的参数值。
在本发明各实施例的一个实施方式中,变形特效程序文件包的生成装置中可以包括预先设置的特效程序文件,其例如可以是例如基于JavaScript语言的轻量级的数据交换格式(JavaScript Object Notiation,json) 文件、或者其他任意可执行程序文件。该特效程序文件中变形效果参数的参数值可以空缺或者被预设为默认值,接收到针对变形区域的变形效果参数设置的参数值时,该特效程序文件中的相应参数值被自动更新为接收到的参数值。可选地,上述变形特效程序文件包的生成装置可以包括操作界面,操作界面上包括操作栏,该操作栏中设置有至少一个交互接口,用于接收针对变形区域的变形效果设置的参数值;另外,该变形特效程序文件包的生成装置的操作界面还可以包括程序文件显示栏,用于显示变形区域的变形效果的程序文件。如图2所示,为本发明实施例中特效程序文件包的生成装置的一个操作界面示例图。其中的“deformation”表示变形特效或者变形效果。该特效程序文件包的生成装置启动后,对应于操作栏中一个变形区域的变形效果参数设置界面,程序文件显示栏显示该变形区域的变形效果参数空缺或者被预设为默认值时的特效程序文件,通过操作栏的交互接口接收到针对一个变形区域的变形效果参数设置的参数值时,将该变形区域的变形效果参数的参数值更新为最近接收到的参数值,程序文件显示栏实时显示参数值更新后的特效程序文件。
本发明实施例无需通过手动书写程序文件生成渲染引擎可执行文件,基于用户的在操作栏中对变形区域的变形效果参数的参数值的设置操作便可以实现变形特效程序包的生成,操作简单、所需时间短,提升了变形特效实现的整体效率,且避免了手动书写程序文件可能出现的错误,有效保障了变形效果的准确性。
如图2所示,作为本发明各实施例的一个可选示例而非限制,操作栏中可以包括变形效果参数设置界面,其包括至少一个交互接口;另外还可以包括其他的区域,例如变形区域的名称显示区域,此时的变形效果参数设置界面可以是各变形区域的变形效果参数设置界面。如图3所示,为本发明实施例中,名称为“round0”的变形区域的变形效果参数设置界面的一个示例性示意图。
在本发明变形特效程序文件包的生成方法的又一个实施例中,在操作102获取至少一变形区域的变形效果参数的参数值之前,还可以包括:
接收通过操作栏的交互接口输入的变形区域添加指令,添加上述至少一个变形区域,生成变形区域的变形效果参数设置界面,并在操作栏下显示变形区域的变形效果参数设置界面。例如,可以通过点击操作栏中的变形特效“deformation”等控制按钮,添加一个或多个变形区域。相应地,该实施例中,操作102 中,获取变形区域的变形效果参数的参数值,可以包括:经变形效果参数设置界面获取变形区域的变形效果参数的参数值。
另外,在本发明变形特效程序文件包的生成方法的再一个实施例中,操作102中,获取变形区域的变形效果参数的参数值,可以包括:
通过在参考图像上移动变形区域的方式,获取变形区域的位置参数;和/或
通过调整变形区域的大小,获取变形区域的范围;和/或
通过调整用于控制变形效果的变形曲线的方式,获取变形区域的变形效果参数的参数值;和/或
通过接收变形效果控制参数的参数值的方式,获取变形区域的变形效果参数的参数值。
在其中一个可选示例中,获取变形区域的变形效果参数的参数值,可以通过如下方式实现:
响应于接收到通过变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以设置的参数值作为变形区域的变形效果参数的参数值;和/或
响应于未接收到通过变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以预设参数值作为变形区域的变形效果参数的参数值。
另外,在本发明变形特效程序文件包的生成方法的再一个实施例中,还可以包括:
接收通过操作栏的交互接口输入的变形区域删除指令,删除该变形区域删除指令针对的变形区域和变形区域的变形效果参数的参数值。
在本发明各实施例的一个实施方式中,上述关键点例如可以包括但不限于以下任意一种或多种:头部关键点,脸部关键点,肩部关键点,手臂关键点,手势关键点,腰部关键点,腿部关键点,脚部关键点,人体骨骼关键点,等等。
在其中一个可选示例中,头部关键点例如可以包括但不限于以下至少之一:头顶关键点,鼻尖关键点,以及下巴关键点,等等。
在其中一个可选示例中,脸部关键点例如可以包括但不限于以下至少之一:脸部轮廓关键点,眼睛关键点,眉毛关键点,鼻子关键点,嘴部关键点,等等。
示例性地,眼睛关键点例如可以包括但不限于以下至少之一:左眼眶关键点,左眼瞳孔中心关键点,左眼中心关键点,右眼眶关键点,右眼瞳孔中心关键点,以及右眼中心关键点,等等。眉毛关键点例如可以包括但不限于以下至少之一:左眉毛关键点以及右眉毛关键点,等等。鼻子关键点例如可以包括但不限于以下至少之一:鼻梁关键点,鼻子下沿关键点,以及鼻子外侧轮廓关键点,等等。嘴部关键点例如可以包括但不限于以下至少之一:上嘴唇关键点,以及下嘴唇关键点,等等。
在其中一个可选示例中,肩部关键点例如可以包括但不限于以下至少之一:位于肩部与头部交汇位置处的肩头交汇关键点,以及位于臂根轮廓关键点与肩头交汇关键点之间的中点位置处的肩轮廓中点关键点,等等。
在其中一个可选示例中,手臂关键点例如可以包括但不限于以下至少之一:手腕轮廓关键点,胳膊肘轮廓关键点,臂根轮廓关键点,位于手腕轮廓关键点与胳膊肘轮廓关键点之间的中点位置处的小臂轮廓中点关键点,以及位于胳膊肘轮廓关键点与臂根轮廓关键点之间的中点位置处的大臂中点关键点,等等。
在其中一个可选示例中,手势关键点例如可以包括但不限于以下至少之一:手势框(即:手势检测框) 的四个顶点关键点,以及手势框的中心关键点,等等。
在其中一个可选示例中,腿部关键点例如可以包括但不限于以下至少之一:裆部关键点,膝盖轮廓关键点,脚踝轮廓关键点,大腿根部外侧轮廓关键点,位于膝盖轮廓关键点与脚踝轮廓关键点之间的中点位置处的小腿轮廓中点关键点,位于膝盖轮廓关键点与裆部关键点之间的中点位置处的大腿内轮廓中点关键点,以及位于膝盖轮廓关键点与大腿根部外侧轮廓关键点之间的中点位置处的大腿外轮廓中点关键点,等等。
在其中一个可选示例中,腰部关键点例如可以包括但不限于以下至少之一:将大腿根部外侧轮廓关键点与臂根轮廓关键点之间N等分,所产生的N个等分点;其中,N大于1。
在其中一个可选示例中,脚部关键点例如可以包括但不限于以下至少之一:脚尖关键点以及足跟关键点,等等。
在其中一个可选示例中,人体骨骼关键点例如可以包括但不限于以下至少之一:右肩骨骼关键点,右肘骨骼关键点,右腕骨骼关键点,左肩骨骼关键点,左肘骨骼关键点,左腕骨骼关键点,右髋骨骼关键点,右膝骨骼关键点,右踝骨骼关键点,左髋骨骼关键点,左膝骨骼关键点,左踝骨骼关键点,头顶骨骼关键点,以及脖子骨骼关键点,等等。
在本发明各实施例中,可以预先设置多个关键点的位置,以便建立变形区域和至少一关键点之间的对应关系,从而将二者进行位置关系对应。设置一个变形区域的变形效果参数的参数值时,可以直接从预先设置的关键点集合中选取至少一关键点从而建立该变形区域和至少一关键点之间的对应关系
例如,在其中一个实施方式中,可以基于人脸检测和手势检测,分别针对脸部和手势(手部)定义多个关键点,以实现变形特效生成中,建立变形区域与人脸关键点或者手势关键点之间的对应关系。
例如,图4为本发明实施例中脸部关键点的一个示例性示意图,结合图4,在一个可选示例中,可以对脸部关键点进行如下定义:
关键点项目 关键点编号 关键点项目 关键点编号
脸框(脸部轮廓关键点) 0-32 鼻梁 43-46
左眉毛 33-37,64-67 右眉毛 38-42,68-71
左眼眶 52-57,72-73 右眼眶 58-63,75-76
左眼瞳孔 74,104, 右眼瞳孔 77,105
鼻子下沿 47-51 鼻子外侧轮廓 78-83
上嘴唇 84-90,96-100 下嘴唇 91-95,101-103
在一个可选示例中,可以对手部关键点进行如下定义:
关键点项目 关键点编号 关键点项目 关键点编号
手势框 110-113 中心 114
其中,编号110-113的关键点分别为手势检测框(即手部的外接框)的四个顶点,编号114的关键点为手势检测框的中心。
在本发明各实施例的一个实施方式中,操作104中,建立变形区域和预定的至少一关键点之间的对应关系,可以包括:
建立变形区域的位置参考点和至少一关键点之间的对应关系;和/或,建立变形区域的位置参考点和检测框的中心关键点之间的对应关系。
例如,在本发明上述实施例建立的对应关系中关键点为头部关键点、脸部关键点、肩部关键点、手臂关键点、腰部关键点、腿部关键点、脚部关键点、人体骨骼关键点时,可以建立变形区域的位置参考点(例如变形区域的中心点、圆形变形区域的圆形边界上过圆心的两个点、方形变形区域的四个顶点等)和上述关键点中至少一关键点之间的对应关系;在本发明上述实施例建立的对应关系中关键点为头部关键点、脸部关键点、手势关键点、人体骨骼关键点时,可以建立变形区域的位置参考点和对应的检测框(例如,头部检测框、人脸检测框、手势检测框、人体检测框)的中心关键点之间的对应关系。
在本发明各实施例的一个实施方式中,上述变形区域的变形效果参数例如可以包括但不限于以下任意一项或多项:
1,显示参数(Display):用于控制是否显示变形区域的变形效果。其参数值包括“是(Yes)”和“否(No)”两个选项,参数值选择“是(Yes)”时表示在图像上述显示变形区域的变形效果,参数值选择“否(No)”时表示不在图像上显示变形区域的变形效果;
2,触发动作参数(TriggerType):用于表示触发显示变形区域的变形效果的触发动作,是指通过什么动作触发显示变形区域的变形效果,其参数值可以包括各触发动作,用户可以从预设动作集合中选择至少一个动作作为触发动作。即:在视频或图像中检测到相应的触发动作时可触发显示相应变形区域的变形效果,例如,检测到视频图像中出现该触发动作参数中规定的触发动作“张嘴”时开始在嘴部显示变形区域的变形效果,具体该变形区域的变形效果的开始显示时间、结束显示时间、显示多久等,具体可以根据其他参数的参数值确定,例如可以分别根据延迟触发参数、触发结束参数确定;
3,循环参数(TriggerLoop):用于表示变形效果的循环播放次数。可以由用户循环次数,可以示例性地设置选择的次数为0时,表示一直显示变形特效;
4,迟触发参数(TriggerDelay):用于表示延迟显示变形区域的变形效果的时间,即:从视频图像中的某一帧检测到触发动作参数中的触发动作时,延迟多少帧开始显示该变形区域的变形效果,可以设置或选择延迟显示变形区域的变形效果的具体时间作为其参数值;
5,触发结束参数(TriggerStop):用于表示结束显示变形区域的变形效果的动作,是指通过什么动作结束显示变形区域的变形效果,其参数值包括各触发动作,用户可以从预设动作集合中选择至少一个动作作为结束显示变形区域的变形效果的动作。即:在视频或图像中检测到该触发结束参数规定的触发动作时可结束显示变形区域的变形效果,例如针对检测到视频图像中出现触发动作参数中规定的触发动作“张嘴”时开始在嘴部显示变形区域的变形效果,可以设置触发结束参数中的参数值为“闭嘴”,则检测到视频图像中出现该“闭嘴”动作时,该变形区域的变形效果消失;
6,变形效果控制参数(Transform):用于控制变形区域的变形效果。在其中一个示例中,可以通过一个变形曲线控制变形区域的变形效果,可以通过点击交互接口中的改变(change)按钮,打开变形曲线调整窗口,调整变形曲线的参数从而改变变形效果。如图5所示,为本发明实施例中变形曲线调整窗口的一个示例性示意图,在其中一个实施方式中,变形曲线的参数包括以下任意一项或多项:用于控制变形效果的拉伸方向和拉伸半径的第一控制点参数;用于控制变形区域的中间区域的过渡平滑性的第二控制点参数;用于控制变形区域的边界区域过渡平滑性的第三控制点参数。其中,变形效果的拉伸方向可以包括:从变形区域的中心点向外拉伸,和/或,从变形区域的中心点向内拉伸。在其中一个可选示例中,该变形曲线由三个控制点参数对应的控制点控制,其中,第一个控制点用于控制变形效果的拉伸方向和拉伸半径、从而影响变形程度和变形区域的大小,第一控制点位于斜线1分割成的区域的右下角时,变形区域将从变形中心点向外拉伸,第一控制点位于斜线1分割成的区域的左上角部分时,变形区域将从圆的边界向变形中心点方向拉伸(即:向内拉伸),如图6和图7所示,分别为本发明实施例中变形效果为向外拉伸和向内拉伸的一个变形效果示意图;第一控制点与左下顶点之间直线段的长度控制从变形中心向外直线变形的区域大小,直线段越长,直线变形区域越大。第二控制点用于控制变形区域的中间区域的过渡平滑性。第二个控制点离第一个控制点越近,中间区域的变形效果越明显,反之,中间区域的过渡平滑性越好;第三个控制点用于变形区域的边界区域过渡平滑性(即:边界平滑效果)。第三个控制点离右上角越近,边界的变形效果越明显;否则,边界与圆外区域的过渡更平滑。用户可以通过调整三个控制点的位置改变变形显示效果,由于第一个控制点用于控制直线的斜率,第二个控制点和第三个控制点用于在直线斜率的基础上控制曲线的幅度,三个控制点的可移动位置将按参数关系受到一定约束;
7,显示尺寸参数(Scale):用于表示变形区域的大小变化的参考依据,用来实现变形区域近大远小的显示效果。该显示尺寸参数的参数值(即:变形区域的大小变化的具体参考依据)可以是预设关键点中的两个或以上关键点(可以表示为:PointA和PointB),此时,变形区域的大小将依据图像中作为参考依据的两个或以上关键点形成的大小的比例变化而变化;
8,位置参数(Position):用于表示变形区域与预设关键点之间的位置绑定关系,指在图像中变形区域和预设关键点的位置关系,可以选定变形区域和预设关键点中的哪些关键点的位置进行绑定。在其中一个可选示例中,该位置参数中的预设关键点可以包括:预设的关键点中的两个关键点,该两个关键点在变形区域的边界上、且连线经过变形区域的中心点;
9,旋转中心参数(RotateCenter):用于表示变形区域旋转依据的中心点,在其中一个可选示例中,该变形区域旋转依据的中心点为图像的中心点;
10,变形中心参数(TransformCenter):用于表示变形区域的中心点;
11,模式切换参数(Transfer):用于切换变形区域的中心点偏移模式。在其中一个可选示例中,变形区域的中心点偏移模式包括:中心点简单拉伸模式和径向偏移拉伸模式。可以通过如下两个参数值切换变形区域的中心点偏移两种模式:(1)Yes:表示中心点简单拉伸模式,可通过使用鼠标移动圆内变形中心点的位置来对变形区域拉伸;(2)No:径向偏移拉伸模式,在变形效果控制参数编辑的变形曲线基础上,对变形区域在变形圆内拉伸。如图8所示,为本发明实施例中模式切换参数在中心点简单拉伸模式下的一个变形效果示意图。如图9所示,为本发明实施例中模式切换参数在径向偏移拉伸模式下的一个变形效果示意图;
12,美颜/美妆(美颜和/或美妆)效果参数:用于表示显示变形效果时在预设部位显示的美颜/美妆效果,例如红唇、美瞳、蓝眼睛等。例如,显示变形效果时,在嘴部显示红唇。
在其中一个实施例中,上述位置参数中的预设关键点包括:预定的关键点中,位于变形区域的边界上、且连线经过变形区域的中心点的两个关键点。相应地,该实施例的操作104可以包括:建立变形区域和上述位于变形区域的边界上、且连线经过变形区域的中心点的两个关键点之间的对应关系。
在其中一个可选示例中,上述触发动作参数对应的触发动作包括以下任意一项或多项:
无动作触发(NULL),即:不需任何动作即可显示该子素材;
眼部动作,例如,眨眼、闭眼、睁眼等;
头部动作,例如,摇头、点头、歪头、转头等;
眉部动作,例如,挑眉等;
手部动作,例如,爱心手、托手、手掌、大拇哥、抱拳恭喜、单手比心、OK手、剪刀手、手枪手、食指等;
嘴部动作,例如,张嘴、闭嘴等;
肩部动作,例如,耸肩等;
其他动作。
如图10所示,为本发明实施例中手部动作的一个示例性示意图。
另外,再参见图2,本发明实施例的变形特效程序文件包的生成装置的操作界面还可以包括内容显示栏。相应地,在本发明变形特效程序文件包的生成方法又一个实施例中,还可以包括:
通过内容显示栏显示参考图像。
示例性地,上述参考图像例如可以是:参考人物的至少一部分图像,例如参考人物的以下任意一项或多项的图像:完整图像,头部图像,脸部图像,肩部图像,手臂图像,手势图像,腰部图像,腿部图像,脚部图像,等等。
另外,在本发明变形特效程序文件包的生成方法的又一个实施例中,还可以包括:
接收通过操作栏的交互接口输入的参考点显示指令,显示参考图像上的关键点;和/或
接收通过操作栏的交互接口输入的参考点关闭指令,不显示参考图像上的关键点。
另外,在本发明变形特效程序文件包的生成方法的又一个实施例中,还可以包括:根据变形区域的变形效果参数的参数值,在内容显示栏显示变形区域的变形效果。例如,可以按照预先设置的变形区域的位置和大小,在内容显示栏显示该变形区域。
在内容显示栏显示变形区域的变形效果后,可以更改该变形区域在内容显示栏中的位置或者调整其大小。由此,在本发明进一步可选实施例中,还可以包括:根据通过内容显示栏接收到的对变形区域的位置移动操作,更新变形区域在内容显示栏的显示位置,并对变形区域的变形效果参数中的相应参数值进行更新。和/或,还可以包括:根据通过内容显示栏接收到的对变形区域的大小调整操作,更新变形区域在内容显示栏的显示大小,并对变形区域的变形效果参数中的相应参数值进行更新。
例如,用户可以通过鼠标选中内容显示栏中显示的一个变形区域,将鼠标移动至该变形区域右下角的小框处,通过移动该小框缩放变形区域,从而调整该变形区域的大小;用户可以通过鼠标选中内容显示栏中显示的一个变形区域并直接移动其位置,将变形区域移动至正确或者想要的位置。在后续变形区域的变形特效程序文件包的播放中,该变形区域在播放终端上的位置、显示比例将会与在该内容显示栏中的位置、显示比例一致。
另外,在本发明变形特效程序文件包的生成方法的又一个实施例中,包括两个或以上变形区域时,可以调整该两个或以上变形区域之间的遮挡关系。由此,在本发明进一步可选实施例中,还可以包括:根据通过操作栏的交互接口接收到的针对两个或以上变形区域的图层参数调整指令,调整两个或以上变形区域之间的遮挡关系,并根据调整后的遮挡关系和两个或以上变形区域对应的变形参数的参数值显示两个或以上变形区域对应的变形效果。
另外,在本发明上述各变形特效程序文件包的生成方法实施例中,在生成变形特效程序文件包之前,还可以包括:根据预先设置的变形特效程序文件和变形区域的变形效果参数的参数值,生成变形区域的特效程序文件,并通过程序文件栏显示变形区域的特效程序文件。
其中的变形特效程序文件例如可以包括:以json程序或者其他任意程序生成的特效程序文件。
在本发明变形特效程序文件包的生成方法的再一个实施例中,还可以包括:
变形特效程序文件包的生成装置根据接收到的启动指令启动,并显示操作界面,该操作界面包括:操作栏,内容显示栏和程序文件栏。
如图2所示,在其中一个可选示例中,上述操作界面包括左侧、中部和右侧三个区域。相应地,上述显示操作界面可以包括:在操作界面的左侧显示操作栏,在操作界面的中部显示内容显示栏,在操作界面的右侧显示所述程序文件栏。
其中,可通过左侧操作栏中的交互接口21对每个变形区域的变形效果参数设置参数值;内容显示栏以平均人脸为参考人脸,所有变形区域均直接显示,可通过鼠标移动显示的变形区域的位置;右侧的程序文件显示栏用于通过其中的显示区域22显示当前设置参数值的特效程序文件的内容,通过程序文件显示栏中的保存指令接口23可以导出变形特效程序文件包,即:生成并保存该变形特效程序文件包。
图11为本发明特效程序文件包的生成方法再一实施例的流程图。如图11所示,该实施例特效程序文件包的生成方法包括:
302,变形特效程序文件包的生成装置根据接收到的启动指令启动,并显示操作界面。
该操作界面包括:操作栏,内容显示栏和程序文件栏。
304,通过内容显示栏显示参考图像,并显示该参考图像上的关键点。
示例性地,上述参考图像例如可以是:参考人物的至少一部分图像。
306,接收通过操作栏的交互接口输入的变形区域添加指令,添加变形区域,生成该变形区域的变形效果参数设置界面,并在操作栏下显示变形区域的变形效果参数设置界面。
308,接收通过变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,并建立该变形区域和预定的至少一关键点之间的对应关系。
310,根据预先设置的特效程序文件和变形区域的变形效果参数的参数值,生成变形区域的特效程序文件,并通过程序文件栏显示变形区域的特效程序文件。
在本发明各实施例的一个实施方式中,特效程序文件例如可以包括但不限于:以json程序或其他可执行程序生成的特效程序文件。
需要添加多个变形区域时,分别针对各变形区域执行操作3036-310。之后,针对所有变形区域执行操作312。
312,根据获取有参数值的至少一变形区域以及该至少一变形区域和预定的至少一关键点之间的对应关系,生成变形特效程序文件包。
另外,基于本发明上述任一实施例生成变形特效程序文件包之后,还可以包括:
根据接收到的保存指令,在该保存指令指向的位置保存该变形特效程序文件包。
在其中一个实施方式中,根据接收到的保存指令,在该保存指令指向的位置保存该变形特效程序文件包,可以包括:
响应于接收到保存指令,显示保存路径选择接口和压缩接口;
接收通过上述保存路径选择接口发送的保存位置;以及接收上述基于压缩接口发送的压缩方式,并根据该压缩方式对上述变形特效程序文件包进行压缩,生成压缩文件包;
将上述压缩文件包存储至上述保存位置指向的文件夹中。
在变形特效程序文件包的大小较大时,不适合在手机终端中运行,本发明实施例可以对特效程序文件包进行压缩后保存,以便于导入手机终端中进行变形特效生成。
基于本发明上述各实施例生成变形特效程序文件包后,便可以将该变形特效程序文件包导入终端中,对该终端播放的视频或图像进行变形特效生成。
图12为本发明变形特效生成方法一个实施例的流程图。本发明各实施例变形特效生成方法,例如可以通过但不限于一个装置(本发明实施例称为变形特效生成装置)实现。其中的变形特效生成装置例如可以是AR引擎或者具有AR绘制功能的电子设备(如设有AR引擎的电子设备)等。如图12所示,该实施例的变形特效生成方法包括:
402,获取变形区域的变形效果参数的参数值。
404,基于待处理图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效。
基于本发明上述实施例提供的变形特效生成方法,获取变形区域的变形效果参数的参数值,基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。本发明实施例通过预先生成的变形特效程序文件包中变形区域的变形效果参数的参数值、对图像进行关键点检测,在图像上生成变形特效,实现了图像的变形特效,提升或丰富了图像的显示/播放效果和/或趣味性。
在本发明变形特效生成方法的另一个实施例中,在操作402获取变形区域的变形效果参数的参数值之前,还可以包括:导入变形特效程序文件包。相应地,该实施例的操作402中,具体获取变形特效程序文件包中变形区域的变形效果参数的参数值。示例性地,上述变形特效程序文件包可以但不限于采用本发明上述任一变形特效程序文件包的生成方法实施例生成。
图13为本发明变形特效生成方法另一个实施例的流程图。如图13所示,该实施例的变形特效生成方法包括:
502,导入变形特效程序文件包。
504,获取变形区域的变形效果参数的参数值。
其中,变形区域的变形效果参数的参数值例如可以包括但不限于:变形区域和预定的至少一关键点之间的对应关系。
506,检测图像中的关键点。
在本发明上述各变形特效生成方法实施例中,上述图像例如可以包括但不限于以下任意一项或多项:静态图像,视频中的图像,等。
在其中一个实施方式中,可以通过神经网络,对图像进行对应关系涉及的关键点检测,并输出关键点检测结果。其中的关键点检测结果,例如可以包括但不限于以下任意一项或多项:对应关系涉及的关键点在视频中图像中的位置;特效程序文件包中对应关系涉及的关键点的预设编号。
508,基于上述图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效。
在其中一个实施方式中,可以通过如下方式导入变形特效程序文件包:通过调用用于读取变形区域的第一接口函数,将变形特效程序文件包读入内存;解析变形特效程序文件包,获得变形特效程序文件,变形特效程序文件包括变形效果参数的参数值。
示例性地,该变形特效程序文件例如可以包括:json程序或其他任意可以执行程序的变形特效程序文件。
在另一个实施方式中,可以通过如下方式获取变形区域的变形效果参数的参数值:
通过用于创建贴纸句柄的第二接口函数创建贴纸句柄;
读取变形特效程序文件中变形区域的变形效果参数的参数值、并存储至贴纸句柄中。
在又一个实施方式中,还可以包括:根据贴纸句柄中变形特效程序文件中变形区域的变形效果参数的参数值,获取变形区域在图像中显示的位置。
可选地,在上述图像为视频中图像时,上述各实施例的变形特效生成方法还可以包括:获取变形区域在图像中显示的视频帧数,并预先从视频中读取视频帧数对应的图像。
在又一个实施方式中,操作508基于待处理图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效,可以包括:
通过用于调用渲染变形区域的第三接口函数,从贴纸句柄中读取需要显示在图像上的变形区域;
根据图像中的关键点和需要显示的变形区域的变形效果参数的参数值,确定变形区域在图像上的显示位置;
根据变形区域在图像上的显示位置,将变形区域显示在图像上的显示位置上。
另外,在进一步实施方式中,还可以包括:
响应于变形特效程序文件包播放完毕,通过用于调用销毁贴纸句柄的第四接口函数销毁贴纸句柄。
可选地,在本发明上述各变形特效生成方法实施例中,变形效果参数可以包括:触发动作参数,该触发动作参数用于表示触发显示变形效果的触发动作。相应地,该实施例的变形特效生成方法还可以包括:检测图像中是否出现触发动作参数的参数值对应的触发动作。操作508基于图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效,可以包括:响应于检测到图像中出现触发动作参数的参数值对应的触发动作,基于图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效。
可选地,在本发明上述各变形特效生成方法实施例中,变形效果参数可以包括:美颜/美妆(美颜和/ 或美妆)效果参数,该美颜/美妆效果参数用于表示显示变形效果时在预设部位显示的美颜/美妆效果。相应地,该实施例的变形特效生成方法还可以包括:基于待处理图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效时,根据美颜/美妆效果参数,在图像显示美颜/美妆效果。
本发明各变形特效生成方法实施例可以用于各种图像显示场景或视频播放场景,例如用于包含人物的视频直播场景,为该直播视频生成变形特效,例如在直播人物的耳朵、手、脸、头发、脖子、肩膀等部位上生成一个变形区域的变形效果;又例如用于包含人物的图像,为该图像生成变形特效,例如在图像人脸的某局部部位上生成变形特效;等等。
本发明实施例提供的任一变形特效程序文件包的生成方法和变形特效生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本发明实施例提供的任一变形特效程序文件包的生成方法和变形特效生成方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本发明实施例提及的任一变形特效程序文件包的生成方法和变形特效生成方法。下文不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图14为本发明变形特效程序文件包的生成装置一个实施例的结构示意图。本发明各实施例的变形特效程序文件包的生成装置可用于实现本发明上述各变形特效程序文件包的生成方法。如图14所示,该实施例的变形特效程序文件包的生成装置包括:第一获取模块,建立模块和第一生成模块。其中:
第一获取模块,用于获取至少一变形区域的变形效果参数的参数值。
建立模块,用于建立至少一变形区域和预定的至少一关键点之间的对应关系。
第一生成模块,用于根据获取有参数值的至少一变形区域和对应关系,生成变形特效程序文件包。
基于本发明上述实施例提供的变形特效程序文件包的生成装置,获取至少一变形区域的变形效果参数的参数值,建立至少一所述变形区域和预定的至少一关键点之间的对应关系,并根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包,以便基于该变形特效程序文件包对图像添加变形效果、实现图像的变形特效,本发明实施例无需通过手动书写程序文件,便可生成渲染引擎可执行的变形特效程序文件,操作简单、所需时间短,提升了变形特效实现的整体效率,且避免了手动书写程序文件可能出现的错误,有效保障了变形特效的准确性。
图15为本发明变形特效程序文件包的生成装置另一个实施例的结构示意图。如图15所示,与图14所示的实施例相比,该实施例的生成装置还包括:添加模块,用于添加至少一变形区域。
在其中一个实施方式中,变形区域为多个时,第一获取模块具体用于:批量获取多个变形区域的变形参数形参数;和/或,分别获取多个变形区域中至少部分变形区域的变形参数;和/或,通过复制一变形区域的方式来获得另一变形区域及其变形效果参数的参数值。
另外,再参见图15,在本发明变形特效程序文件包的生成装置的另一个实施例中,还可以包括:操作栏,包括交互接口,用于接收通过交互接口输入的变形区域添加指令,添加至少一个变形区域,生成变形区域的变形效果参数设置界面,并在操作栏下显示变形区域的变形效果参数设置界面。相应地,该实施例中,第一获取模块具体用于:经变形效果参数设置界面获取变形区域的变形效果参数的参数值。
在其中一个实施方式中,第一获取模块具体用于:通过在参考图像上移动变形区域的方式,获取变形区域的位置参数;和/或,通过调整变形区域的大小,获取变形区域的范围;和/或,通过调整用于控制变形效果的变形曲线的方式,获取变形区域的变形效果参数的参数值;和/或,通过接收变形效果控制参数的参数值的方式,获取变形区域的变形效果参数的参数值。
在其中一个可选示例中,第一获取模块具体用于:响应于接收到通过变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以设置的参数值作为变形区域的变形效果参数的参数值;和/或,响应于未接收到通过变形区域的变形效果参数设置界面中的交互接口发送的变形效果参数的参数值,以预设参数值作为变形区域的变形效果参数的参数值。
另外,再参见图15,在本发明变形特效程序文件包的生成装置的又一个实施例中,还可以包括:删除模块,用于接收通过操作栏的交互接口输入的变形区域删除指令,删除变形区域和变形区域的变形效果参数的参数值。
上述关键点例如可以包括但不限于以下任意一种或多种:头部关键点,脸部关键点,肩部关键点,手臂关键点,手势关键点,腰部关键点,腿部关键点,脚部关键点,人体骨骼关键点,等等。
在其中一个可选示例中,头部关键点例如可以包括但不限于以下至少之一:头顶关键点,鼻尖关键点,以及下巴关键点,等等。
在其中一个可选示例中,脸部关键点例如可以包括但不限于以下至少之一:脸部轮廓关键点,眼睛关键点,眉毛关键点,鼻子关键点,嘴部关键点,等等。
示例性地,眼睛关键点例如可以包括但不限于以下至少之一:左眼眶关键点,左眼瞳孔中心关键点,左眼中心关键点,右眼眶关键点,右眼瞳孔中心关键点,以及右眼中心关键点,等等。眉毛关键点例如可以包括但不限于以下至少之一:左眉毛关键点以及右眉毛关键点,等等。鼻子关键点例如可以包括但不限于以下至少之一:鼻梁关键点,鼻子下沿关键点,以及鼻子外侧轮廓关键点,等等。嘴部关键点例如可以包括但不限于以下至少之一:上嘴唇关键点,以及下嘴唇关键点,等等。
在其中一个可选示例中,肩部关键点例如可以包括但不限于以下至少之一:位于肩部与头部交汇位置处的肩头交汇关键点,以及位于臂根轮廓关键点与肩头交汇关键点之间的中点位置处的肩轮廓中点关键点,等等。
在其中一个可选示例中,手臂关键点例如可以包括但不限于以下至少之一:手腕轮廓关键点,胳膊肘轮廓关键点,臂根轮廓关键点,位于手腕轮廓关键点与胳膊肘轮廓关键点之间的中点位置处的小臂轮廓中点关键点,以及位于胳膊肘轮廓关键点与臂根轮廓关键点之间的中点位置处的大臂中点关键点,等等。
在其中一个可选示例中,手势关键点例如可以包括但不限于以下至少之一:手势框(即:手势检测框) 的四个顶点关键点,以及手势框的中心关键点,等等。
在其中一个可选示例中,腿部关键点例如可以包括但不限于以下至少之一:裆部关键点,膝盖轮廓关键点,脚踝轮廓关键点,大腿根部外侧轮廓关键点,位于膝盖轮廓关键点与脚踝轮廓关键点之间的中点位置处的小腿轮廓中点关键点,位于膝盖轮廓关键点与裆部关键点之间的中点位置处的大腿内轮廓中点关键点,以及位于膝盖轮廓关键点与大腿根部外侧轮廓关键点之间的中点位置处的大腿外轮廓中点关键点,等等。
在其中一个可选示例中,腰部关键点例如可以包括但不限于以下至少之一:将大腿根部外侧轮廓关键点与臂根轮廓关键点之间N等分,所产生的N个等分点;其中,N大于1。
在其中一个可选示例中,脚部关键点例如可以包括但不限于以下至少之一:脚尖关键点以及足跟关键点,等等。
在其中一个可选示例中,人体骨骼关键点例如可以包括但不限于以下至少之一:右肩骨骼关键点,右肘骨骼关键点,右腕骨骼关键点,左肩骨骼关键点,左肘骨骼关键点,左腕骨骼关键点,右髋骨骼关键点,右膝骨骼关键点,右踝骨骼关键点,左髋骨骼关键点,左膝骨骼关键点,左踝骨骼关键点,头顶骨骼关键点,以及脖子骨骼关键点,等等。
在本发明各实施例中,可以预先设置多个关键点的位置,以便建立变形区域和至少一关键点之间的对应关系,从而将二者进行位置关系对应。设置一个变形区域的变形效果参数的参数值时,可以直接从预先设置的关键点集合中选取至少一关键点从而建立该变形区域和至少一关键点之间的对应关系
例如,在其中一个实施方式中,可以基于人脸检测和手势检测,分别针对脸部和手势(手部)定义多个关键点,以实现变形特效生成中,建立变形区域与人脸关键点或者手势关键点之间的对应关系。
在其中一个实施方式中,建立模块具体用于:建立变形区域的位置参考点和至少一关键点之间的对应关系;和/或,建立变形区域的位置参考点和检测框的中心关键点之间的对应关系。
在其中一个实施方式中,上述变形区域的变形效果参数例如可以包括但不限于以下任意一项或多项:
1,显示参数(Display):用于控制是否显示变形区域的变形效果。其参数值包括“是(Yes)”和“否(No)”两个选项,参数值选择“是(Yes)”时表示在图像上述显示变形区域的变形效果,参数值选择“否(No)”时表示不在图像上显示变形区域的变形效果;
2,触发动作参数(TriggerType):用于表示触发显示变形区域的变形效果的触发动作,是指通过什么动作触发显示变形区域的变形效果,其参数值可以包括各触发动作,用户可以从预设动作集合中选择至少一个动作作为触发动作。即:在视频或图像中检测到相应的触发动作时可触发显示相应变形区域的变形效果,例如,检测到视频图像中出现该触发动作参数中规定的触发动作“张嘴”时开始在嘴部显示变形区域的变形效果,具体该变形区域的变形效果的开始显示时间、结束显示时间、显示多久等,具体可以根据其他参数的参数值确定,例如可以分别根据延迟触发参数、触发结束参数确定;
3,循环参数(TriggerLoop):用于表示变形效果的循环播放次数。可以由用户循环次数,可以示例性地设置选择的次数为0时,表示一直显示变形特效;
4,迟触发参数(TriggerDelay):用于表示延迟显示变形区域的变形效果的时间,即:从视频图像中的某一帧检测到触发动作参数中的触发动作时,延迟多少帧开始显示该变形区域的变形效果,可以设置或选择延迟显示变形区域的变形效果的具体时间作为其参数值;
5,触发结束参数(TriggerStop):用于表示结束显示变形区域的变形效果的动作,是指通过什么动作结束显示变形区域的变形效果,其参数值包括各触发动作,用户可以从预设动作集合中选择至少一个动作作为结束显示变形区域的变形效果的动作。即:在视频或图像中检测到该触发结束参数规定的触发动作时可结束显示变形区域的变形效果,例如针对检测到视频图像中出现触发动作参数中规定的触发动作“张嘴”时开始在嘴部显示变形区域的变形效果,可以设置触发结束参数中的参数值为“闭嘴”,则检测到视频图像中出现该“闭嘴”动作时,该变形区域的变形效果消失;
6,变形效果控制参数(Transform):用于控制变形区域的变形效果。在其中一个示例中,可以通过一个变形曲线控制变形区域的变形效果,可以通过点击交互接口中的改变(change)按钮,打开变形曲线调整窗口,调整变形曲线的参数从而改变变形效果。在其中一个实施方式中,变形曲线的参数包括以下任意一项或多项:用于控制变形效果的拉伸方向和拉伸半径的第一控制点参数;用于控制变形区域的中间区域的过渡平滑性的第二控制点参数;用于控制变形区域的边界区域过渡平滑性的第三控制点参数。其中,变形效果的拉伸方向可以包括:从变形区域的中心点向外拉伸,和/或,从变形区域的中心点向内拉伸。在其中一个可选示例中,该变形曲线由三个控制点参数对应的控制点控制,其中,第一个控制点用于控制变形效果的拉伸方向和拉伸半径、从而影响变形程度和变形区域的大小,第一控制点位于斜线1分割成的区域的右下角时,变形区域将从变形中心点向外拉伸,第一控制点位于斜线1分割成的区域的左上角部分时,变形区域将从圆的边界向变形中心点方向拉伸(即:向内拉伸);
7,显示尺寸参数(Scale):用于表示变形区域的大小变化的参考依据,用来实现变形区域近大远小的显示效果。该显示尺寸参数的参数值(即:变形区域的大小变化的具体参考依据)可以是预设关键点中的两个或以上关键点(可以表示为:PointA和PointB),此时,变形区域的大小将依据图像中作为参考依据的两个或以上关键点形成的大小的比例变化而变化;
8,位置参数(Position):用于表示变形区域与预设关键点之间的位置绑定关系,指在图像中变形区域和预设关键点的位置关系,可以选定变形区域和预设关键点中的哪些关键点的位置进行绑定。在其中一个可选示例中,该位置参数中的预设关键点可以包括:预设的关键点中的两个关键点,该两个关键点在变形区域的边界上、且连线经过变形区域的中心点;
9,旋转中心参数(RotateCenter):用于表示变形区域旋转依据的中心点,在其中一个可选示例中,该变形区域旋转依据的中心点为图像的中心点;
10,变形中心参数(TransformCenter):用于表示变形区域的中心点;
11,模式切换参数(Transfer):用于切换变形区域的中心点偏移模式。在其中一个可选示例中,变形区域的中心点偏移模式包括:中心点简单拉伸模式和径向偏移拉伸模式。可以通过如下两个参数值切换变形区域的中心点偏移两种模式:(1)Yes:表示中心点简单拉伸模式,可通过使用鼠标移动圆内变形中心点的位置来对变形区域拉伸;(2)No:径向偏移拉伸模式,在变形效果控制参数编辑的变形曲线基础上,对变形区域在变形圆内拉伸;
12,美颜/美妆(美颜和/或美妆)效果参数:用于表示显示变形效果时在预设部位显示的美颜/美妆效果,例如红唇、美瞳、蓝眼睛等。例如,显示变形效果时,在嘴部显示红唇。
在其中一个实施例中,上述位置参数中的预设关键点包括:预定的关键点中,位于变形区域的边界上、且连线经过变形区域的中心点的两个关键点。相应地,该实施例中,建立模块具体用于建立变形区域和上述位于变形区域的边界上、且连线经过变形区域的中心点的两个关键点之间的对应关系。
在其中一个可选示例中,上述触发动作参数对应的触发动作包括以下任意一项或多项:
无动作触发(NULL),即:不需任何动作即可显示该子素材;
眼部动作,例如,眨眼、闭眼、睁眼等;
头部动作,例如,摇头、点头、歪头、转头等;
眉部动作,例如,挑眉等;
手部动作,例如,爱心手、托手、手掌、大拇哥、抱拳恭喜、单手比心、OK手、剪刀手、手枪手、食指等;
嘴部动作,例如,张嘴、闭嘴等;
肩部动作,例如,耸肩等;
其他动作。
另外,再参见图15,在本发明变形特效程序文件包的生成装置的另一个实施例中,还可以包括:内容显示栏,用于显示参考图像。
示例性地,上述参考图像例如可以是:参考人物的至少一部分图像,例如参考人物的以下任意一项或多项的图像:完整图像,头部图像,脸部图像,肩部图像,手臂图像,手势图像,腰部图像,腿部图像,脚部图像,等等。
可选地,在上述实施例中,操作栏还可用于:接收通过交互接口,例如图2中的交互接口24,输入的参考点显示指令,显示参考图像上的关键点;和/或,接收通过交互接口输入的参考点关闭指令,不显示参考图像上的关键点。
可选地,在又一实施例中,内容显示栏,还可用于根据变形区域的变形效果参数的参数值,在内容显示栏显示变形区域的变形效果。
可选地,在又一实施例中,内容显示栏,还可用于接收对变形区域的位置移动操作。相应地,再参见图15,该实施例的装置还可以包括:第一更新模块,用于根据内容显示栏接收到的对变形区域的位置移动操作,更新变形区域在内容显示栏的显示位置,并对变形区域的变形效果参数中的相应参数值进行更新。
可选地,在又一实施例中,内容显示栏,还可用于接收对变形区域的大小调整操作。相应地,再参见图15,该实施例的装置还可以包括:第二更新模块,用于根据内容显示栏接收到的对变形区域的大小调整操作,更新变形区域在内容显示栏的显示大小,并对变形区域的变形效果参数中的相应参数值进行更新。
可选地,在又一实施例中,操作栏,还可用于通过交互接口,例如图2中的交互接口25,接收针对两个或以上变形区域的图层参数调整指令。相应地,再参见图15,该实施例的装置还可以包括:调整模块,用于根据操作栏的交互接口接收到的针对两个或以上变形区域的图层参数调整指令,调整两个或以上变形区域之间的遮挡关系,并指示内容显示栏根据调整后的遮挡关系和两个或以上变形区域对应的变形参数的参数值显示两个或以上变形区域对应的变形效果。
可选地,在又一实施例中,第一生成模块,还用于根据预先设置的变形特效程序文件和变形区域的变形效果参数的参数值,生成变形区域的特效程序文件,并通过程序文件栏显示变形区域的特效程序文件。相应地,再参见图15,该实施例的装置还可以包括:程序文件栏,用于显示变形区域的特效程序文件。其中的变形特效程序文件例如可以包括:以json程序生成的特效程序文件。
进一步地,再参见图15,本发明上述各实施例的变形特效程序文件包的生成装置还可以包括:操作界面,该操作界面包括:上述操作栏,上述内容显示栏和/或上述程序文件栏。
在其中一个实施方式中,操作界面包括左侧、中部和右侧三个区域。其中,操作界面的左侧为操作栏,操作界面的中部为内容显示栏,操作界面的右侧为程序文件栏。
进一步地,再参见图15,本发明上述各实施例的变形特效程序文件包的生成装置还可以包括:保存模块,用于根据接收到的保存指令在保存指令指向的位置保存变形特效程序文件包。
在其中一个实施方式中,保存模块具体用于:响应于接收到保存指令,显示保存路径选择接口和压缩接口;接收通过保存路径选择接口发送的保存位置;以及接收基于压缩接口发送的压缩方式,并根据压缩方式对变形特效程序文件包进行压缩,生成压缩文件包;以及将压缩文件包存储至保存位置指向的文件夹中。
图16为本发明变形特效生成装置一个实施例的结构示意图。本发明各实施例的变形特效生成装置可用于实现本发明上述变形特效生成方法。本发明各实施例的变形特效生成装置例如可以是AR引擎或者具有 AR绘制功能的电子设备(如设有AR引擎的电子设备)等。如图16所示,该实施例的变形特效生成装置包括:第二获取模块和第二生成模块。其中:
第二获取模块,用于获取变形区域的变形效果参数的参数值。
第二生成模块,用于基于待处理图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效。
基于本发明上述实施例提供的变形特效生成装置,获取变形区域的变形效果参数的参数值,基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。本发明实施例通过预先生成的变形特效程序文件包中变形区域的变形效果参数的参数值、对图像进行关键点检测,在图像上生成变形特效,实现了图像的变形特效,提升了图像的播放效果。
图17为本发明变形特效生成装置另一个实施例的结构示意图。如图17所示,与图16所示的实施例相比,该实施例的变形特效生成装置还包括:导入模块,用于导入变形特效程序文件包。相应地,该实施例中,第二生成模块具体用于获取变形特效程序文件包中变形区域的变形效果参数的参数值。
示例性地,该变形特效程序文件包为采用本发明上述任一实施例的变形特效程序文件包的生成方法或者装置生成的变形特效程序文件包。
另外,再参见图17,在变形特效生成装置的又一个实施例中,还包括:第一检测模块,用于检测图像中的关键点。
在其中一个实施方式中,第一检测模块可以包括:神经网络,用于对图像进行对应关系涉及的关键点检测,并输出关键点检测结果。其中的关键点检测结果例如包括但不限于以下任意一项或多项:对应关系涉及的关键点在图像中的位置;对应关系涉及的关键点的预设编号。
在其中一个实施方式中,上述变形区域的变形效果参数的参数值可以包括:变形区域和预定的至少一关键点之间的对应关系。
在其中一个实施方式中,导入模块具体用于:通过调用用于读取变形区域的第一接口函数,将变形特效程序文件包读入内存;以及解析变形特效程序文件包,获得变形特效程序文件,变形特效程序文件包括变形效果参数的参数值。
其中的变形特效程序文件例如可以包括:以json程序或者其他任意程序生成的特效程序文件。
在其中一个实施方式中,第二获取模块具体用于:通过用于创建贴纸句柄的第二接口函数创建贴纸句柄;以及读取变形特效程序文件中变形区域的变形效果参数的参数值、并存储至贴纸句柄中。
在其中一个可选示例中,第二生成模块具体用于:通过用于调用渲染变形区域的第三接口函数,从贴纸句柄中读取需要显示在图像上的变形区域;根据图像中的关键点和需要显示的变形区域的变形效果参数的参数值,确定变形区域在图像上的显示位置;以及根据变形区域在图像上的显示位置,将变形区域显示在图像上的显示位置上。
在进一步可选示例中,上述图像为视频中图像时,第二生成模块还可用于获取变形区域在图像中显示的视频帧数,并预先从视频中读取视频帧数对应的图像。
另外,在变形特效生成装置的又一个实施例中,第二获取模块,还可用于响应于变形特效程序文件包播放完毕,通过用于调用销毁贴纸句柄的第四接口函数销毁贴纸句柄。
在其中一个实施方式中,上述变形效果参数可以包括:触发动作参数,该触发动作参数用于表示触发显示变形效果的触发动作。相应地,再参见图17,在变形特效生成装置的再一个实施例中,还包括:第二检测模块,用于检测图像中是否出现触发动作参数的参数值对应的触发动作。相应地,该实施例中,第二生成模块具体用于:响应于检测到图像中出现触发动作参数的参数值对应的触发动作,基于图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效。
在其中一个实施方式中,上述变形效果参数可以包括:美颜/美妆(美颜和/或美妆)效果参数,该美颜 /美妆效果参数用于表示显示变形效果时在预设部位显示的美颜/美妆效果。相应地,该实施例中,第二生成模块,还可用于基于待处理图像中的关键点和变形区域的变形效果参数的参数值,在图像上生成变形效果的特效时,根据美颜/美妆效果参数,在图像显示美颜/美妆效果。
另外,本发明实施例提供的另一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行存储器中存储的计算机程序,且计算机程序被执行时,实现本发明上述任一实施例的变形特效程序文件包的生成方法、或者变形特效生成方法。
图18为本发明电子设备一个应用实施例的结构示意图。下面参考图18,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。如图18所示,该电子设备包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU),和/或一个或多个图像处理器(GPU) 等,处理器可以根据存储在只读存储器(ROM)中的可执行指令或者从存储部分加载到随机访问存储器 (RAM)中的可执行指令而执行各种适当的动作和处理。通信部可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,处理器可与只读存储器和/或随机访问存储器中通信以执行可执行指令,通过总线与通信部相连、并经通信部与其他目标设备通信,从而完成本申请实施例提供的任一方法对应的操作,例如,获取至少一变形区域的变形效果参数的参数值;建立至少一所述变形区域和预定的至少一关键点之间的对应关系;根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包。再如,获取变形区域的变形效果参数的参数值;基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
此外,在RAM中,还可存储有装置操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。在有RAM的情况下,ROM为可选模块。RAM存储可执行指令,或在运行时向ROM中写入可执行指令,可执行指令使处理器执行本发明上述任一方法对应的操作。输入/输出(I/O)接口也连接至总线。通信部可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器 (LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
需要说明的,如图18所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图18的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明公开的保护范围。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的人脸防伪检测方法步骤对应的指令。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被CPU执行时,执行本申请的方法中限定的上述功能。
另外,本发明实施例还提供了一种计算机程序,包括计算机指令,当计算机指令在设备的处理器中运行时,实现本发明上述任一实施例的变形特效程序文件包的生成方法、或者变形特效生成方法。
另外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本发明上述任一实施例的变形特效程序文件包的生成方法、或者变形特效生成方法。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种变形特效程序文件包的生成方法,其特征在于,包括:
获取至少一变形区域的变形效果参数的参数值;
建立至少一所述变形区域和预定的至少一关键点之间的对应关系;
根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一变形区域的变形效果参数的参数值之前,还包括:
添加所述至少一变形区域。
3.根据权利要求1或2所述的方法,其特征在于,所述变形区域为多个时,所述获取至少一变形区域的变形效果参数的参数值,包括:
批量获取多个变形区域的变形参数形参数;和/或
分别获取多个变形区域中至少部分所述变形区域的变形参数;和/或
通过复制一变形区域的方式来获得另一变形区域及其变形效果参数的参数值。
4.根据权利要求1-3任一所述的方法,其特征在于,还包括:
接收通过操作栏的交互接口输入的变形区域添加指令,添加至少一个所述变形区域,生成所述变形区域的变形效果参数设置界面,并在所述操作栏下显示所述变形区域的变形效果参数设置界面;
所述获取变形区域的变形效果参数的参数值,包括:经所述变形效果参数设置界面获取所述变形区域的变形效果参数的参数值。
5.一种变形特效生成方法,其特征在于,包括:
获取变形区域的变形效果参数的参数值;
基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
6.一种变形特效程序文件包的生成装置,其特征在于,包括:
第一获取模块,用于获取至少一变形区域的变形效果参数的参数值;
建立模块,用于建立至少一所述变形区域和预定的至少一关键点之间的对应关系;
第一生成模块,用于根据获取有所述参数值的至少一所述变形区域和所述对应关系,生成变形特效程序文件包。
7.一种变形特效生成装置,其特征在于,包括:
第二获取模块,用于获取变形区域的变形效果参数的参数值;
第二生成模块,用于基于待处理图像中的关键点和所述变形区域的变形效果参数的参数值,在所述图像上生成变形效果的特效。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-5任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-5一项所述的方法。
10.一种计算机程序,包括计算机指令,其特征在于,当所述计算机指令在设备的处理器中运行时,实现上述权利要求1-5任一项所述的方法。
CN201810123074.2A 2018-02-07 2018-02-07 变形特效程序文件包的生成及变形特效生成方法与装置 Active CN108280883B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201810123074.2A CN108280883B (zh) 2018-02-07 2018-02-07 变形特效程序文件包的生成及变形特效生成方法与装置
SG11202006343RA SG11202006343RA (en) 2018-02-07 2019-02-01 Method and apparatus for generating special deformation effect program file packet, and method and apparatus for generating special deformation effects
JP2020536147A JP7066855B2 (ja) 2018-02-07 2019-02-01 変形特殊効果プログラムファイルパッケージの生成及び変形特殊効果生成方法並びに装置
KR1020207018884A KR102386640B1 (ko) 2018-02-07 2019-02-01 변형 특수 효과 프로그램 파일 패키지의 생성 및 변형 특수 효과 생성 방법과 장치
PCT/CN2019/074498 WO2019154337A1 (zh) 2018-02-07 2019-02-01 变形特效程序文件包的生成及变形特效生成方法与装置
US16/914,654 US11270408B2 (en) 2018-02-07 2020-06-29 Method and apparatus for generating special deformation effect program file package, and method and apparatus for generating special deformation effects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810123074.2A CN108280883B (zh) 2018-02-07 2018-02-07 变形特效程序文件包的生成及变形特效生成方法与装置

Publications (2)

Publication Number Publication Date
CN108280883A true CN108280883A (zh) 2018-07-13
CN108280883B CN108280883B (zh) 2021-05-04

Family

ID=62807901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810123074.2A Active CN108280883B (zh) 2018-02-07 2018-02-07 变形特效程序文件包的生成及变形特效生成方法与装置

Country Status (6)

Country Link
US (1) US11270408B2 (zh)
JP (1) JP7066855B2 (zh)
KR (1) KR102386640B1 (zh)
CN (1) CN108280883B (zh)
SG (1) SG11202006343RA (zh)
WO (1) WO2019154337A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109064387A (zh) * 2018-07-27 2018-12-21 北京微播视界科技有限公司 图像特效生成方法、装置和电子设备
CN109064388A (zh) * 2018-07-27 2018-12-21 北京微播视界科技有限公司 人脸图像效果生成方法、装置和电子设备
CN109146770A (zh) * 2018-07-27 2019-01-04 北京微播视界科技有限公司 一种形变图像生成方法、装置、电子设备及计算机可读存储介质
CN109688324A (zh) * 2018-12-04 2019-04-26 深圳市子瑜杰恩科技有限公司 短视频道具切换方法及相关产品
CN110035271A (zh) * 2019-03-21 2019-07-19 北京字节跳动网络技术有限公司 保真图像生成方法、装置及电子设备
CN110070496A (zh) * 2019-02-28 2019-07-30 北京字节跳动网络技术有限公司 图像特效的生成方法、装置和硬件装置
WO2019154337A1 (zh) * 2018-02-07 2019-08-15 北京市商汤科技开发有限公司 变形特效程序文件包的生成及变形特效生成方法与装置
CN110880156A (zh) * 2018-09-05 2020-03-13 武汉斗鱼网络科技有限公司 一种长腿特效实现方法、存储介质、设备及系统
CN111105345A (zh) * 2018-10-26 2020-05-05 北京微播视界科技有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN111882567A (zh) * 2020-08-03 2020-11-03 深圳传音控股股份有限公司 Ar效果的处理方法、电子设备及可读存储介质
CN113709549A (zh) * 2021-08-24 2021-11-26 北京市商汤科技开发有限公司 特效数据包生成、图像处理方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109087239B (zh) * 2018-07-25 2023-03-21 腾讯科技(深圳)有限公司 一种人脸图像处理方法、装置及存储介质
CN113434223A (zh) 2020-03-23 2021-09-24 北京字节跳动网络技术有限公司 特效处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055912A (zh) * 2009-10-29 2011-05-11 北京中星微电子有限公司 一种视频应用系统、视频特效处理系统和方法
CN102567031A (zh) * 2012-03-01 2012-07-11 盛乐信息技术(上海)有限公司 视频特效扩充方法及系统
US9007473B1 (en) * 2011-03-30 2015-04-14 Rawles Llc Architecture for augmented reality environment
CN105451090A (zh) * 2014-08-26 2016-03-30 联想(北京)有限公司 图像处理方法和图像处理装置
CN105868769A (zh) * 2015-01-23 2016-08-17 阿里巴巴集团控股有限公司 图像中的人脸关键点定位方法及装置
CN105975935A (zh) * 2016-05-04 2016-09-28 腾讯科技(深圳)有限公司 一种人脸图像处理方法和装置
CN106302124A (zh) * 2016-08-18 2017-01-04 北京奇虎科技有限公司 一种添加特效的方法及电子设备
CN107343211A (zh) * 2016-08-19 2017-11-10 北京市商汤科技开发有限公司 视频图像处理方法、装置和终端设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3377307B2 (ja) * 1994-07-29 2003-02-17 ブラザー工業株式会社 モンタージュ作成装置
US5990901A (en) * 1997-06-27 1999-11-23 Microsoft Corporation Model based image editing and correction
JPH11306372A (ja) * 1998-04-17 1999-11-05 Sharp Corp 画像加工装置、画像加工方法およびその方法を記憶した記憶媒体
JP2001268594A (ja) * 2000-03-15 2001-09-28 Infiniteface.Com Inc 三次元ビューティーシミュレーション用クライアントサーバシステム
JP2003116053A (ja) * 2001-10-05 2003-04-18 Hitachi Ltd 特殊効果データ符号化方法及び特殊効果表示方法及び特殊効果データ編集方法
JP2003263641A (ja) 2002-03-11 2003-09-19 Mitsubishi Heavy Ind Ltd 移動分析装置
US20070153091A1 (en) * 2005-12-29 2007-07-05 John Watlington Methods and apparatus for providing privacy in a communication system
FR2907569B1 (fr) * 2006-10-24 2009-05-29 Jean Marc Robin Procede et dispositif de simulation virtuelle d'une sequence d'images video.
JP2011053942A (ja) 2009-09-02 2011-03-17 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム
CN103210420B (zh) * 2010-11-12 2016-10-12 诺基亚技术有限公司 用于选择内容片段的方法以及装置
US8831371B2 (en) * 2012-03-02 2014-09-09 Adobe Systems Incorporated Methods and apparatus for applying blur patterns to images
US9298931B2 (en) * 2012-08-15 2016-03-29 Empire Technology Development Llc Digital media privacy protection
CN103810739B (zh) * 2014-02-20 2017-01-04 南京师范大学 一种图像文字变形动画的生成方法
JP6369246B2 (ja) 2014-09-08 2018-08-08 オムロン株式会社 似顔絵生成装置、似顔絵生成方法
WO2017073001A1 (ja) 2015-10-26 2017-05-04 パナソニックIpマネジメント株式会社 メイクパーツ生成装置およびメイクパーツ生成方法
US9838641B1 (en) * 2015-12-30 2017-12-05 Google Llc Low power framework for processing, compressing, and transmitting images at a mobile image capture device
JP2017220039A (ja) 2016-06-08 2017-12-14 大日本印刷株式会社 プログラム生成装置及びプログラム
WO2018033137A1 (zh) 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 在视频图像中展示业务对象的方法、装置和电子设备
EP3321846A1 (en) * 2016-11-15 2018-05-16 Mastercard International Incorporated Systems and methods for secure biometric sample raw data storage
CN108280883B (zh) 2018-02-07 2021-05-04 北京市商汤科技开发有限公司 变形特效程序文件包的生成及变形特效生成方法与装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055912A (zh) * 2009-10-29 2011-05-11 北京中星微电子有限公司 一种视频应用系统、视频特效处理系统和方法
US9007473B1 (en) * 2011-03-30 2015-04-14 Rawles Llc Architecture for augmented reality environment
CN102567031A (zh) * 2012-03-01 2012-07-11 盛乐信息技术(上海)有限公司 视频特效扩充方法及系统
CN105451090A (zh) * 2014-08-26 2016-03-30 联想(北京)有限公司 图像处理方法和图像处理装置
CN105868769A (zh) * 2015-01-23 2016-08-17 阿里巴巴集团控股有限公司 图像中的人脸关键点定位方法及装置
CN105975935A (zh) * 2016-05-04 2016-09-28 腾讯科技(深圳)有限公司 一种人脸图像处理方法和装置
CN106302124A (zh) * 2016-08-18 2017-01-04 北京奇虎科技有限公司 一种添加特效的方法及电子设备
CN107343211A (zh) * 2016-08-19 2017-11-10 北京市商汤科技开发有限公司 视频图像处理方法、装置和终端设备

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270408B2 (en) 2018-02-07 2022-03-08 Beijing Sensetime Technology Development Co., Ltd. Method and apparatus for generating special deformation effect program file package, and method and apparatus for generating special deformation effects
WO2019154337A1 (zh) * 2018-02-07 2019-08-15 北京市商汤科技开发有限公司 变形特效程序文件包的生成及变形特效生成方法与装置
CN109064388A (zh) * 2018-07-27 2018-12-21 北京微播视界科技有限公司 人脸图像效果生成方法、装置和电子设备
CN109146770A (zh) * 2018-07-27 2019-01-04 北京微播视界科技有限公司 一种形变图像生成方法、装置、电子设备及计算机可读存储介质
CN109064387A (zh) * 2018-07-27 2018-12-21 北京微播视界科技有限公司 图像特效生成方法、装置和电子设备
CN110880156A (zh) * 2018-09-05 2020-03-13 武汉斗鱼网络科技有限公司 一种长腿特效实现方法、存储介质、设备及系统
CN111105345A (zh) * 2018-10-26 2020-05-05 北京微播视界科技有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN111105345B (zh) * 2018-10-26 2021-11-09 北京微播视界科技有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN109688324A (zh) * 2018-12-04 2019-04-26 深圳市子瑜杰恩科技有限公司 短视频道具切换方法及相关产品
CN110070496A (zh) * 2019-02-28 2019-07-30 北京字节跳动网络技术有限公司 图像特效的生成方法、装置和硬件装置
CN110035271B (zh) * 2019-03-21 2020-06-02 北京字节跳动网络技术有限公司 保真图像生成方法、装置及电子设备
CN110035271A (zh) * 2019-03-21 2019-07-19 北京字节跳动网络技术有限公司 保真图像生成方法、装置及电子设备
CN111882567A (zh) * 2020-08-03 2020-11-03 深圳传音控股股份有限公司 Ar效果的处理方法、电子设备及可读存储介质
CN113709549A (zh) * 2021-08-24 2021-11-26 北京市商汤科技开发有限公司 特效数据包生成、图像处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US11270408B2 (en) 2022-03-08
WO2019154337A1 (zh) 2019-08-15
KR20200094769A (ko) 2020-08-07
JP2021508882A (ja) 2021-03-11
CN108280883B (zh) 2021-05-04
US20200327641A1 (en) 2020-10-15
JP7066855B2 (ja) 2022-05-13
KR102386640B1 (ko) 2022-04-14
SG11202006343RA (en) 2020-07-29

Similar Documents

Publication Publication Date Title
CN108280883A (zh) 变形特效程序文件包的生成及变形特效生成方法与装置
US11521389B2 (en) Method for generating special effect program file package, method for generating special effect, electronic device, and storage medium
CN108711180B (zh) 美妆和/或换脸特效程序文件包的生成及美妆和/或换脸特效生成方法与装置
KR102466689B1 (ko) 특수 효과 프로그램 파일 패키지 및 특수 효과의 생성 방법과 장치, 전자 기기
CN109035373A (zh) 三维特效程序文件包的生成及三维特效生成方法与装置
CN108399654A (zh) 描边特效程序文件包的生成及描边特效生成方法与装置
CN108536790A (zh) 声音特效程序文件包的生成及声音特效生成方法与装置
EP4315261A1 (en) Artificial intelligence for capturing facial expressions and generating mesh data
CN108986227A (zh) 粒子特效程序文件包的生成及粒子特效生成方法与装置
US20220319088A1 (en) Facial capture artificial intelligence for training models
El Rhalibi et al. Perceptual user interface as games controller
Harrell et al. Augmented reality digital sculpture
CN117339212A (zh) 控制虚拟游戏角色交互的方法、存储介质及电子装置
CN113827959A (zh) 游戏动画的处理方法、装置及电子装置
JP2003178323A (ja) 表示オブジェクトの動き生成システム及びその動き生成プログラム

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
GR01 Patent grant
GR01 Patent grant