发明内容
为此,本发明提供一种生成3D模型过程的皮肤自动优化方法,用以克服现有技术中不能基于模型渲染的效果优化渲染参数,导致3D模型皮肤渲染出现清晰度和丢帧率不平衡的问题。
为实现上述目的,本发明提供一种生成3D模型过程的皮肤自动优化方法,包括:
基于2D图像与3D模型尺寸构建3D模型;
基于2D图像特征数量将2D划分单元域,针对单块单元域,将其划分为若干2D单元格;
采集所述2D单元格的颜色信息和中心点,所述颜色信息包括2D单元格的平均色度和平均透明度;
基于2D图像的所述单元格的中心点在3D模型构建对应映射点和3D模型单元格;
构建所述3D模型的包围球面,并确定球心;
确定3D模型的视觉点;
基于2D单元格的平均色度确定所述3D模型单元格内对应映射点的基础色度;
基于2D单元格的平均透明度确定所述3D模型单元格内的基础透明度;
皮肤确定模块基于3D模型单元格内任意一点到视觉点的距离与该3D模型单元格内映射点到视觉点的距离的比对判定该3D模型单元格的色度渲染;
基于3D模型的清晰度判定所述3D模型的皮肤的生成是否符合预设标准,并在判定不符合预设标准时,将所述单元域划分的2D单元格的尺寸降低至对应值,或,基于3D模型的丢帧率二次判定所述3D模型的皮肤的生成是否符合预设标准;
输出皮肤符合预设标准的3D模型。
进一步地,所述皮肤确定模块基于所述3D模型单元格内任意一点到视觉点的距离与该3D模型单元格内映射点到视觉点的距离的比对判定该3D模型单元格的色度渲染的过程包括,基于该点到视觉点的距离与第一距离阈值的差值确定该点色度的渲染,或,使用基础色度对该点进行渲染,或,基于所述第一距离阈值与该点到视觉点的距离的差值确定该点色度的渲染。
进一步地,所述皮肤确定模块设置有针对所述点色度的渲染的若干渲染判定方式,其中每种渲染判定方式对于该点色度的渲染不同。
进一步地,所述皮肤确定模块设置有针对所述点色度的渲染的若干渲染修正方式,且每种修正方式对于该点渲染的色度的修正幅度不同。
进一步地,所述皮肤确定模块基于所述3D模型单元格内的映射点到所述球心之间的距离与第二距离阈值之间的比对判定该3D模型单元格的透明度修正的过程包括,基于3D模型单元格内的映射点到所述球心之间的距离与第二距离阈值的差值将该3D模型单元格的透明度升高至对应值,或,基于第二距离阈值与3D模型单元格内的映射点到所述球心之间的距离的差值将该3D模型单元格的透明度降低至对应值。
进一步地,所述皮肤确定模块设置有针对所述3D模型单元格的透明度的若干修正方式,且每种透明度修正方式对于透明度的修正幅度不同。
进一步地,所述皮肤确定模块基于所述3D模型的清晰度判定所述3D模型的皮肤的生成不符合预设标准时,将所述单元域划分的2D单元格的尺寸降低至对应值,或,基于3D模型的丢帧率二次判定所述3D模型的皮肤的生成是否符合预设标准。
进一步地,所述皮肤确定模块设置有针对所述单元域划分的2D单元格的尺寸的若干调节方式,且每种尺寸调节方式对于2D单元格的尺寸的调节幅度不同。
进一步地,所述皮肤确定模块基于3D模型的丢帧率二次判定所述3D模型的皮肤的生成是否符合预设标准的过程包括,
将所述3D模型的丢帧率与预设丢帧率进行比对;
若所述3D模型的丢帧率大于等于预设丢帧率,则二次判定修正所述单元域划分的2D单元格的尺寸。
进一步地,所述皮肤确定模块设置有针对所述单元域划分的2D单元格的尺寸的若干尺寸修正方式,且每种尺寸修正方式对于尺寸的修正幅度不同。
与现有技术相比,本发明的有益效果在于:本发明通过构建映射点和划分单元格,建立了2D图像到3D模型的皮肤渲染基础,之后通过构建球心和视觉点,基于距离调整色度和透明度,在完成初步的渲染后通过清晰度判定所述3D模型的皮肤的生成是否符合预设标准,以及,对应地调整对应的渲染参数,从而优化了,保证了3D模型的皮肤渲染的清晰度和丢帧率。
进一步地,本发明基于所述3D模型单元格内任意一点到视觉点的距离与该3D模型单元格内映射点到视觉点的距离的比对判定该3D模型单元格的色度渲染,通过距离的比对,初步确定了单个单元格颜色的渲染。
进一步地,本发明设置有针对所述点色度的渲染的若干渲染判定方式,其中每种渲染判定方式对于该点色度的渲染不同,从而精准地调节单元格的色度。
进一步,本发明通过色度的渲染的若干渲染修正方式,实现了调节单元格的色度渲染的精准修正。
进一步地,本发明还设置了针对单元格的透明度的修正方式,从而实现了单元格的透明度的精准控制。
进一步地,本发明基于清晰度判定所述3D模型的皮肤的生成不符合预设标准时,将所述单元域划分的2D单元格的尺寸降低至对应值,或,基于3D模型的丢帧率进行二次判定,从而在出现渲染后清晰度不达标时,给出了对应的优化手段,保证了3D模型皮肤渲染的清晰度。
进一步地,本发明通过丢帧率进行二次判定,在保证3D模型皮肤渲染清晰度的基础上,进一步地保证了3D模型的流畅度,从而获得优良的3D模型视觉体验。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
需要指出的是在本实施例中的数据均为通过本发明所述皮肤确定模块在进行本次渲染前三个月的历史检测数据以及对应的历史检测结果中综合分析评定得出。本发明所述皮肤确定模块在本次渲染前根据前三个月中累计渲染的25420件3D模型综合确定针对本次3D模型皮肤自动优化的各项预设参数标准的数值。本领域的技术人员可以理解的是,本发明所述方法针对单项上述参数的确定方式可以为根据数据分布选取占比最高的数值作为预设标准参数、使用加权求和以将求得的数值作为预设标准参数、将各历史数据代入至特定公式并将利用该公式求得的数值作为预设标准参数或其他选取方式,只要满足本发明所述系统能够通过获取的数值明确界定单项判定过程中的不同特定情况即可。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
请参阅图1、图2、图3以及图4所示,其分别为本发明实施例生成3D模型过程的皮肤自动优化方法的流程图;本发明实施例判定该3D模型单元格的色度渲染的过程的流程图;本发明实施例判定所述3D模型的皮肤的生成是否符合预设标准的流程图;本发明实施例2D单元格的尺寸的调节方式的流程图。
本发明实施例一种生成3D模型过程的皮肤自动优化方法,包括:
步骤S1,基于2D图像与3D模型尺寸构建3D模型;
步骤S2,基于2D图像特征数量将2D划分单元域,针对单块单元域,将其划分为若干2D单元格;
步骤S3,采集所述2D单元格的颜色信息和中心点,所述颜色信息包括2D单元格的平均色度和平均透明度;
步骤S4,基于2D图像的所述单元格的中心点在3D模型构建对应映射点和3D模型单元格;
步骤S5,构建所述3D模型的包围球面,并确定球心;
步骤S6,确定3D模型的视觉点;
步骤S7,基于2D单元格的平均色度确定所述3D模型单元格内对应映射点的基础色度;基于2D单元格的平均透明度确定所述3D模型单元格内的基础透明度;
步骤S8,皮肤确定模块基于3D模型单元格内任意一点到视觉点的距离与该3D模型单元格内映射点到视觉点的距离的比对判定该3D模型单元格的色度渲染;
步骤S9,基于3D模型的清晰度判定所述3D模型的皮肤的生成是否符合预设标准,并在判定不符合预设标准时,将所述单元域划分的2D单元格的尺寸降低至对应值,或,基于3D模型的丢帧率二次判定所述3D模型的皮肤的生成是否符合预设标准;
步骤S10,输出皮肤符合预设标准的3D模型。
具体而言,所述3D模型尺寸例如3D模型,具体不做限制,用以3D模型建模。
具体而言,皮肤确定模块例如中控单元,具体不做限制,用以接收指令并按照记载的程序输出指令。
具体而言,特征数量例如人像面部的头发、眼睛、鼻子、嘴巴、耳朵、皮肤等特征,具体不做限定,用以对2D图像进行初步划分。
具体而言,在所述步骤S8中,所述皮肤确定模块基于所述3D模型单元格内任意一点到视觉点的距离与该3D模型单元格内映射点到视觉点的距离的比对判定该3D模型单元格的色度渲染的过程包括,
将3D模型单元格内映射点与视觉点的距离作为第一距离阈值L0,L0的大小与3D模型的尺寸大小有关,通常L0为3D模型的包围球面的半径的3倍。
若3D模型单元格内任意一点到视觉点的距离大于所述第一距离阈值L0,则基于该点到视觉点的距离与所述第一距离阈值的差值确定该点色度的渲染;
若3D模型单元格内任意一点到视觉点的距离等于所述第一距离阈值L0,则使用基础色度对该点进行渲染;
若3D模型单元格内任意一点到视觉点的距离小于所述第一距离阈值L0,则基于所述第一距离阈值与该点到视觉点的距离的差值确定该点色度的渲染。
具体而言,所述皮肤确定模块计算所述3D模型单元格内任意一点到视觉点的距离与所述第一距离阈值的差值,并将该差值记为距离差值,皮肤确定模块基于距离差值判定该点色度的渲染,其中,
第一渲染判定为所述皮肤确定模块判定使用第一预设渲染系数0.98与基础色度的乘积作为该点色度进行渲染;所述第一渲染判定满足所述距离差值小于第一预设距离差值0.15mm;
第二渲染判定为所述皮肤确定模块判定使用第二预设渲染系数0.97与基础色度的乘积作为该点色度进行渲染;所述第二渲染判定满足所述距离差值大于等于所述第一预设距离差值且小于第二预设距离差值0.22mm;
第三渲染判定为所述皮肤确定模块判定使用第三预设渲染系数0.95与基础色度的乘积作为该点色度进行渲染;所述第三渲染判定满足所述距离差值大于等于所述第二预设距离差值。
具体而言,所述皮肤确定模块在第一预设条件下计算所述3D模型单元格内任意一点到所述球心的距离与预设球心距离之间的差值,并将该差值记为修正差值,皮肤确定模块根据修正差值确定针对该点色度渲染的修正方式,其中,
第一修正方式为所述皮肤确定模块使用第一预设修正系数1.001将3D模型单元格所述点的色度增加至对应值;所述第一修正方式满足所述修正差值小于第一预设修正差值1.00mm;
第二修正方式为所述皮肤确定模块使用第二预设修正系数1.003将3D模型单元格所述点的色度增加至对应值;所述第二修正方式满足所述修正差值大于等于所述第一预设修正差值且小于第二预设修正差值2.00mm;
第三修正方式为所述皮肤确定模块使用第三预设修正系数1.009将3D模型单元格所述点的色度增加至对应值;所述第三修正方式满足所述修正差值大于等于所述第二预设修正差值;
所述第一预设条件满足所述3D模型单元格完成色度渲染;
具体而言,预设球心距离为3D模型的包围球面的半径的95%。
具体而言,所述皮肤确定模块基于所述3D模型单元格内的映射点到所述球心之间的距离与第二距离阈值之间的比对判定该3D模型单元格的透明度修正的过程包括,
若3D模型单元格内的映射点到所述球心之间的距离大于第二距离阈值,则基于3D模型单元格内的映射点到所述球心之间的距离与第二距离阈值的差值将该3D模型单元格的透明度升高至对应值;
若3D模型单元格内的映射点到所述球心之间的距离等于第二距离阈值,则不修正该3D模型单元格的透明度;
若3D模型单元格内的映射点到所述球心之间的距离小于第二距离阈值,则基于第二距离阈值与3D模型单元格内的映射点到所述球心之间的距离的差值将该3D模型单元格的透明度降低至对应值;
所述第二距离阈值为3D模型的包围球面的半径的80%。
具体而言,所述皮肤确定模块计算所述3D模型单元格内的映射点到所述球心之间的距离与第二距离阈值的差值,并将该差值记为透明度差值,皮肤确定模块基于透明度差值确定针对所述3D模型单元格的透明度的修正方式,其中,
第一透明度修正方式为所述皮肤确定模块使用第一预设透明度修正系数1.10将所述3D模型单元格的透明度升高至对应值;所述第一透明度修正方式满足所述透明度差值小于第一预设透明度差值3mm;
第二透明度修正方式为所述皮肤确定模块使用第二预设透明度修正系数1.20将所述3D模型单元格的透明度升高至对应值;所述第二透明度修正方式满足所述透明度差值大于等于所述第一预设透明度差值且小于第二预设透明度差值7mm;
第三透明度修正方式为所述皮肤确定模块使用第三预设透明度修正系数1.30将所述3D模型单元格的透明度升高至对应值;所述第三透明度修正方式满足所述透明度差值大于等于所述第二预设透明度差值。
具体而言,所述皮肤确定模块在第二预设条件下基于所述3D模型的清晰度判定所述3D模型的皮肤的生成是否符合预设标准,其中,
第一生成判定方式为所述皮肤确定模块判定所述3D模型的皮肤的生成不符合预设标准,并根据第一预设清晰度与所述3D模型的清晰度的差值将所述单元域划分的2D单元格的尺寸降低至对应值;所述第一生成判定方式满足所述3D模型的清晰度小于所述第一预设清晰度320dpi;
第二生成判定方式为所述皮肤确定模块判定所述3D模型的皮肤的生成不符合预设标准,并基于3D模型的丢帧率二次判定所述3D模型的皮肤的生成是否符合预设标准;所述第二生成判定方式满足所述3D模型的清晰度大于等于所述第一预设清晰度且小于第二预设清晰度480dpi;
第三生成判定方式为所述皮肤确定模块判定所述3D模型的皮肤的生成符合预设标准,并输出皮肤符合预设标准的3D模型;所述第三生成判定方式满足所述3D模型的清晰度大于等于所述第二预设清晰度;
所述第二预设条件满足所述皮肤确定模块完成所述3D模型单元格的透明度的修正;
具体而言,所述清晰度为渲染后3D模型表面皮肤的像素密度值,单位为dpi。
具体而言,所述皮肤确定模块在第一生成判定方式下计算所述第一预设清晰度与所述3D模型的清晰度的差值,并将该差值记为清晰度差值,皮肤确定模块基于清晰度差值确定针对所述单元域划分的2D单元格的尺寸的调节方式,其中,
第一尺寸调节方式为所述皮肤确定模块使用第一预设尺寸调节系数0.98将所述单元域划分的2D单元格的尺寸降低至对应值;所述第一尺寸调节方式满足所述清晰度差值小于第一预设清晰度差值15dpi;
第二尺寸调节方式为所述皮肤确定模块使用第二预设尺寸调节系数0.95将所述单元域划分的2D单元格的尺寸降低至对应值;所述第二尺寸调节方式满足所述清晰度差值大于等于所述第一预设清晰度差值且小于第二预设清晰度差值30dpi;
第三尺寸调节方式为所述皮肤确定模块使用第三预设尺寸调节系数0.91将所述单元域划分的2D单元格的尺寸降低至对应值;所述第三尺寸调节方式满足所述清晰度差值大于等于所述第二预设清晰度差值。
具体而言,所述皮肤确定模块在所述第二生成判定方式下基于3D模型的丢帧率二次判定所述3D模型的皮肤的生成是否符合预设标准,其中,
第一生成二次判定方式为所述皮肤确定模块判定所述3D模型的皮肤的生成符合预设标准,并输出皮肤符合预设标准的3D模型;所述第一生成二次判定方式满足所述3D模型的丢帧率小于预设丢帧率95%;
第二生成二次判定方式为所述皮肤确定模块判定所述3D模型的皮肤的生成不符合预设标准,并根据所述3D模型的丢帧率与所述预设丢帧率之间的差值将所述单元域划分的2D单元格的尺寸修正至对应值;所述第二生成二次判定方式满足所述3D模型的丢帧率大于等于预设丢帧率。
具体而言,丢帧率是3D模型运行后图像的连续性,使用卡顿时长与运行时长的占比的百分数表示丢帧率。
具体而言,所述皮肤确定模块在第二生成二次判定方式下计算所述3D模型的丢帧率与所述预设丢帧率之间的差值,并将该差值记为丢帧率差值,皮肤确定模块基于丢帧率差值确定针对所述单元域划分的2D单元格的尺寸的修正方式,其中,
第一尺寸修正方式为所述皮肤确定模块使用第一预设尺寸修正系数1.004将所述单元域划分的2D单元格的尺寸升高至对应值;所述第一尺寸修正方式满足所述丢帧率差值小于第一预设丢帧率差值4%;
第二尺寸修正方式为所述皮肤确定模块使用第二预设尺寸修正系数1.009将所述单元域划分的2D单元格的尺寸升高至对应值;所述第二尺寸修正方式满足所述丢帧率差值大于等于所述第一预设丢帧率差值且小于第二预设丢帧率差值12%;
第三尺寸修正方式为所述皮肤确定模块使用第三预设尺寸修正系数1.015将所述单元域划分的2D单元格的尺寸升高至对应值;所述第三尺寸修正方式满足所述丢帧率差值大于等于所述第二预设丢帧率差值。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。