二级头部结构和面部比例
一、理论基础
1、说明
二次元中的人物角色,其实是来源于现实中的人物简化演变而来。现实中的人物,是有一定的比例和结构,关于这一块,二次元中使用的是简化的内容。
2、头骨结构
- 首先了解人体的时候还不是肌肉,而是骨骼。
-
主要分为两块,上面的头颅和下巴块的下颌。二次元中用到的骨骼真的不会很多,有个大致了解。
-
上面脑门那一块——额骨,鼻子上面那一块——鼻骨,眼睛窟窿上面一块——眉弓骨(写实的时候会比较明显,眉毛那部分会有凸出来的一块,二次元中并不明显),脸颊两边——颧骨(写实的时候是比较重要的,其中又有一块颧弓),下巴那一块——下颌骨(张嘴闭嘴都是这一块在动)。
3、头骨到真人的转化再到日系简化
-
在骨骼上增加肌肉,即为一个真人的人头。
-
在真人人头基础上还能做一下几何化的拆分,这种几何形的我们日系会用得到。 眉弓骨那一块会明显一点,然后颞线到颧骨和颧弓这一块的交界处,这里就是正面和侧面的一个转向。
-
这样的话,在理解的时候其实还是不太容易,面的起伏还是比较多,日系里也用不到那么复杂的点,所以就会用到一个方盒子,然后在方盒子的基础上来做一下切分,才是我们需要用到的脑袋。
-
侧面来说,画的时候可以先画一个圆(画圆会比切线简单些),定下中线,下巴那一块加个直角梯形,眼睛2分1处(左右),然后三庭五眼,耳朵在中庭那一块范围,鼻子三角形切分,大形就可以用这种图形的方式去切,这样更容易把大形框进去,几何化的东西比较好做,大形的概括方式,这是从图形的角度讲。
-
从立体的角度讲,就会用到方盒子去理解,体积意识要带到脑子里。
- 也不用追求到那么精准,画画越到后面越不像是数学题,理论只是辅助你画的更好,感性、直觉,有时会有正确和好看之间的选择。
4、真人和二次元角色差异
- 男性和女性还是有区别的。
-
男性保留原本的特征会多一点,大多数时候三庭五眼是比较符合的,和真人不会差别太大,下巴这一块男性会变得更窄一点。男性的脖子也会粗一点,还有偏壮一点的看实际情况。
-
女性差别就会大一点,真实的比例和男孩子差不多。二次元中眼睛会放大,有萌化的感觉,眼睛2分1会靠下一点。脖子也会比较细不太好抓,要在原本的基础上缩一缩,画的时候可以理解为往细了走。画线会圆润一点。
二、人物头像的三庭五眼比例解析及几何转角度
1、面部基本比例
现实真实人物
- 三庭五眼,一个大多数情况的总结,大多数人脸的比例
-
三庭,人脸长度分为三等份(发际线、眉骨、鼻底、下巴下颏),只能说接近于相等(发际线比较高、下巴比较长之类的,看实际情况)
-
五眼,人脸宽度分为五等份,也会根据实际情况产生变化
-
嘴巴位置,一般是定嘴角,唇线位置大概是在下庭的三分之一处
-
耳朵位置,也是要看个人的(大小之类的,耳垂啥的),多数时候都在中庭范围之内
二次元插画
- 基本也是三庭五眼,但有一点不一样
-
三庭(日系萌系妹子,中庭可能会稍微宽一点,眼睛比较大,眉毛到眼睛的距离女性会大一点点)
-
五眼,中间可能也不是真的隔一个眼睛(分开一点点可能表现得呆萌一点),旁边的五眼大概会到耳朵的位置(大眼萌妹的时候为主,耳朵也会偏小)
-
耳朵,常见的情况下,顶部定在眼睛,耳垂定在鼻底或往上点
2、几何状态下的角度和头的关系
- 处理多种角度头部的时候,其实也是要套用三庭五眼的一个比例。
- 在人物头像外套上方盒子可以便于理解各种角度下头像的透视关系。
-
平视状态下正面和纯侧面的脑袋,角度比较保守一些,看起来就像个纸片的长方体。
-
如果出现了一点角度的旋转,我们就会看到一个两点透视下的长方体。
-
然后随着角度的一个变化,人正脸就会出现一个透视性的压缩,且中线分开的脸两边AB面也会明显看出因为透视而产生的变化。
-
找这些图做参考的话,一般可以找动画的设定/截图,比较简化、整齐,入手难度低。
-
正面和侧面会用一条线分开(绿色线),这条线怎么找?首先这条线的准度和精度不是百分百,大概是在一个范围,不同的人画脸是不一样的,风格习惯等不一样(后期每个人有每个人的画风),最多只会指定一个范围告诉下原理。
-
可以用带眼镜的方法来找,找到眼镜镜片和眼睛腿转折的那个点,这就是正唛你和侧面分隔线的一个范围,可以前一点/后一点。这样就可以把正面和侧面位置大概的区分开了。
- 然后就可以在这个基础上定三庭五眼,此时眼睛的那条十字线很关键。
- 哪怕是在一个平面的状态下的人物,也是要具备一些体积的意识,套用一些方块的原理。
3、十字线与面部五官的位置
-
先来看一下石膏人,真人的十字线中线是有一定起伏的,但日韩的插画是带一定的简化的基础上完成的,没有把人物的所有细节都画上,画成弧线即可。
-
正面还是比较好画的,可以把脑袋理解为一个圆,然后定一下中线,再定一下下巴的两个节点,这一块会往内收,然后节点往下也会收,一开始可以用一些比较直的线来画,然后顶下眼睛十字线,然后顶下耳朵的位置。遇到不会画的时候就可以用这种描图的方式描一下,做个大致的理解。
-
纯侧面的状态下,也是用一个圆,加上下面部分,也有下巴的一个转折点,再上去就耳朵,大概在2分1处或者稍微往后一点,可以这样来描一下去分析它的形状。
然后鼻子这里会多出来一块。
后脖子大概是耳根水平线,到后脑勺处下来。
这里也会有正侧面的区分,简化的弧线(参照块面的石膏体)。
-
侧面这里也是先用一个圆形去表示,中间用弧线定一下脸的竖直方向十字线,还有眼睛的十字线,定好下巴的节点,下巴这一块是往内收的,外形就做出来了。
这时候会有一个正面和侧面之分,其实脸部这一块是有起伏的,头是有点偏圆,所以正侧面分线也是在各个部分有变化的。
画日系的时候,这条线会简化一点。
画的时候就从脑上侧绕一个圈到眼角往后一点,再到下巴往里带一下。
还有一点要注意的,在半侧面下,耳朵后面是有一块东西,后脑勺,其实还是能看到一些,我们也会简化的画但不会那么多细节,但是要知道,画完耳朵的时候,耳朵那条线往上延伸的后面,还会有一块后脑勺。脖子耳根处下来。
三、在外轮廓基础上进行五官的刻画
1、真人和二次元角色
- 二次元角色其实是在一个简化状态下的人物,还有夸张。
-
鼻子,只画了个鼻尖;嘴巴,只画了条横线;眉毛,变成线条或者是稍微粗一点的线条;眼睛,做了一定的夸张、变形、简化,真人上眼皮、下眼皮、眼球、双眼皮、内外眼角(都是闭合的)、下眼睑,而二次元中绝大多数内眼角都不是闭合的、上眼皮会显得比较厚、瞳孔大等;耳朵整体的外形差不多。
2、十字线与五官位置透视
三庭,人脸长度分为三等份(发际线、眉骨、鼻底、下巴下颏),只能说接近于相等(发际线比较高、下巴比较长之类的,看实际情况)
五眼,人脸宽度分为五等份,也会根据实际情况产生变化
嘴巴位置,一般是定嘴角,唇线位置大概是在下庭的三分之一处
耳朵位置,也是要看个人的(大小之类的,耳垂啥的),多数时候都在中庭范围之内
三庭(日系萌系妹子,中庭可能会稍微宽一点,眼睛比较大,眉毛到眼睛的距离女性会大一点点)
五眼,中间可能也不是真的隔一个眼睛(分开一点点可能表现得呆萌一点),旁边的五眼大概会到耳朵的位置(大眼萌妹的时候为主,耳朵也会偏小)
耳朵,常见的情况下,顶部定在眼睛,耳垂定在鼻底或往上点
平视状态下正面和纯侧面的脑袋,角度比较保守一些,看起来就像个纸片的长方体。
如果出现了一点角度的旋转,我们就会看到一个两点透视下的长方体。
然后随着角度的一个变化,人正脸就会出现一个透视性的压缩,且中线分开的脸两边AB面也会明显看出因为透视而产生的变化。
找这些图做参考的话,一般可以找动画的设定/截图,比较简化、整齐,入手难度低。
正面和侧面会用一条线分开(绿色线),这条线怎么找?首先这条线的准度和精度不是百分百,大概是在一个范围,不同的人画脸是不一样的,风格习惯等不一样(后期每个人有每个人的画风),最多只会指定一个范围告诉下原理。
可以用带眼镜的方法来找,找到眼镜镜片和眼睛腿转折的那个点,这就是正唛你和侧面分隔线的一个范围,可以前一点/后一点。这样就可以把正面和侧面位置大概的区分开了。
先来看一下石膏人,真人的十字线中线是有一定起伏的,但日韩的插画是带一定的简化的基础上完成的,没有把人物的所有细节都画上,画成弧线即可。
正面还是比较好画的,可以把脑袋理解为一个圆,然后定一下中线,再定一下下巴的两个节点,这一块会往内收,然后节点往下也会收,一开始可以用一些比较直的线来画,然后顶下眼睛十字线,然后顶下耳朵的位置。遇到不会画的时候就可以用这种描图的方式描一下,做个大致的理解。
纯侧面的状态下,也是用一个圆,加上下面部分,也有下巴的一个转折点,再上去就耳朵,大概在2分1处或者稍微往后一点,可以这样来描一下去分析它的形状。
然后鼻子这里会多出来一块。
后脖子大概是耳根水平线,到后脑勺处下来。
这里也会有正侧面的区分,简化的弧线(参照块面的石膏体)。
侧面这里也是先用一个圆形去表示,中间用弧线定一下脸的竖直方向十字线,还有眼睛的十字线,定好下巴的节点,下巴这一块是往内收的,外形就做出来了。
这时候会有一个正面和侧面之分,其实脸部这一块是有起伏的,头是有点偏圆,所以正侧面分线也是在各个部分有变化的。
画日系的时候,这条线会简化一点。
画的时候就从脑上侧绕一个圈到眼角往后一点,再到下巴往里带一下。
还有一点要注意的,在半侧面下,耳朵后面是有一块东西,后脑勺,其实还是能看到一些,我们也会简化的画但不会那么多细节,但是要知道,画完耳朵的时候,耳朵那条线往上延伸的后面,还会有一块后脑勺。脖子耳根处下来。
1、真人和二次元角色
- 二次元角色其实是在一个简化状态下的人物,还有夸张。
-
鼻子,只画了个鼻尖;嘴巴,只画了条横线;眉毛,变成线条或者是稍微粗一点的线条;眼睛,做了一定的夸张、变形、简化,真人上眼皮、下眼皮、眼球、双眼皮、内外眼角(都是闭合的)、下眼睑,而二次元中绝大多数内眼角都不是闭合的、上眼皮会显得比较厚、瞳孔大等;耳朵整体的外形差不多。
2、十字线与五官位置透视
头部框在方盒子中,找到五官十字线,五官会产生透视变化。纯侧面的五官会不太一样,眼睛大概会像一个三角形,类似圆锥。
3、形状简化的五官刻画
前期的话,大致基本了解一下它的比例。
1、眼睛
-
可以先用简洁、干净的线条把外形概括出来,可以多画几笔画厚一点,但是不要乱。这是作为起稿阶段来使用的。
-
男性的眼睛基本比较固定,可以大致理解为一个偏菱形的形状。
-
五官里面眼睛会多一点细节。侧面会像个三角形。
2、眉毛
- 男性眉毛对比于女性通常会离眼睛近一点。离得近也会表现得阴郁一点。
-
眉毛要么简化成一条线,要么加的稍微厚一点,男性的会稍微粗一点。
3、鼻子
-
侧面会显得比较明显。 对比真人,鼻尖会显得稍微偏翘一点,鼻尖会偏尖一点,女性鼻尖的弧度会稍微大一点(萌妹)。
-
半侧面也差不多。偏男性化的眉毛下来天门区,山根那一块折一下,鼻尖稍微翘一点,鼻孔点出来;有些是比较简化的,就点了一点或者稍微画了一点。
-
正面会简单一点,有时候直接画一条不太完整的竖线(交代了下从天门区到鼻梁),然后点了一点;有时甚至只点一个点;有时候细节会稍微多一点。
4、嘴巴
-
女性的嘴巴会比较小,尤其是小萝莉。
-
偏成熟一点嘴巴也会大一点点,有时候会看到口红之类的东西,线稿阶段可以加下下嘴唇这一块,其他区域不太建议加。
-
有时候会像“M”形,是参照了真人嘴巴的嘴角、唇线和唇珠。
-
侧面的嘴唇,鼻底下来,突出来是上嘴唇,是带点拐角,然后下嘴唇,加上唇线。
5、耳朵
-
不是那么困难,细节没有那么多。顶下外形,加上耳屏-腕轮-耳廓,也可以加下凹陷,耳垂这块也并不明显。
四、画头(作为练习)
推荐阅读
-
正负偏差变量 即 d2+、d2- 分别表示决策值中超出和未达到目标值的部分。而 di+、di- 均大于 0 刚性约束和目标约束(柔性目标约束有偏差) 在多目标规划中,>=/<= 在刚性约束中保持不变。当需要将约束条件转换为柔性约束条件时,需要将 >=/<= 更改为 =(因为已经有 d2+、d2- 用来表示正负偏差),并附加上 (+dii-di+) 注意这里是 +di、-di+!之所以是 +di,-di+,是因为需要将目标还原为最接近的原始刚性约束条件 优先级因素和权重因素 对多个目标进行优先排序和优先排序 目标规划的目标函数 是所有偏差变量的加权和。值得注意的是,这个加权和都取最小值。而 di+ 和 dii- 并不一定要出现在每个不同的需求层次中。具体分析需要具体问题具体分析 下面是一个例子: 题目中说设备 B 既要求充分利用,又要求尽可能不加班,那么列出的时间计量表达式即为:min z = P3 (d3- + d3 +) 使用 + 而不是 -d3 + 的原因是:正负偏差不可能同时存在,必须有 di+di=0 (因为判定值不可能同时大于目标值和小于目标值),而前面是 min,所以只要取 + 并让 di+ 和 dii- 都为正值即可。因此,得出以下规则: 最后,给出示例和相应的解法: 问题:某企业生产 A 和 B 两种产品,需要使用 A、B、C 三种设备。下表显示了与工时和设备使用限制有关的产品利润率。问该企业应如何组织生产以实现下列目标? (1) 力争利润目标不低于 1 500 美元; (2) 考虑到市场需求,A、B 两种产品的生产比例应尽量保持在 1:2; (3)设备 A 是贵重设备,严禁超时使用; (4)设备 C 可以适当加班,但要控制;设备 B 要求充分利用,但尽量不加班。 从重要性来看,设备 B 的重要性是设备 C 的三倍。 建立相应的目标规划模型并求解。 解:设企业生产 A、B 两种产品的件数分别为 x1、x2,并建立相应的目标计划模型: 以下为顺序求解法,利用 LINGO 求解: 1 级目标: 模型。 设置。 variable/1..2/:x;! s_con_num/1...4/:g,dplus,dminus;!所需软约束数量(g=dplus=dminus 数量)及相关参数; s_con(s_con_num);! s_con(s_con_num,variable):c;!软约束系数; 结束集 数据。 g=1500 0 16 15. c=200 300 2 -1 4 0 0 5; 结束数据 min=dminus(1);!第一个目标函数;!对应于 min=z 的第一小部分;! 2*x(1)+2*x(2)<12;!硬约束 @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); !使用设置完成的数据构建软约束表达式; ! !软约束表达式 @for(variable:@gin(x)); !将变量约束为整数; ! 结束 此时,第一级目标的最优值为 0,第一级偏差为 0: 第二级目标: !求 dminus(1)=0,然后求解第二级目标。 模型。 设置。 变量/1..2/:x;!设置:变量/1..2/:x; ! s_con_num/1...4/:g,dplus,dminus;!软约束数量及相关参数; s_con(s_con_num(s_con_num));! s_con(s_con_num,variable):c;! 软约束系数; s_con(s_con_num,variable):c;! 结束集 数据。 g=1500 0 16 15; c=200 300 2 -1 4 0 0 5; 结束数据 min=dminus(2)+dplus(2);!第二个目标函数 2*x(1)+2*x(2)<12;!硬约束 @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); ! 软约束表达式;! dminus(1)=0; !第一个目标结果 @for(variable:@gin(x)); ! 结束 此时,第二个目标的最优值为 0,偏差为 0: 第三目标 !求 dminus(2)=0,然后求解第三个目标。 模型。 设置。 变量/1..2/:x;!设置:变量/1..2/:x; ! s_con_num/1...4/:g,dplus,dminus;!软约束数量及相关参数; s_con(s_con_num(s_con_num));! s_con(s_con_num,variable):c;! 软约束系数; s_con(s_con_num,variable):c;! 结束集 数据。 g=1500 0 16 15; c=200 300 2 -1 4 0 0 5; 结束数据 min=3*dminus(3)+3*dplus(3)+dminus(4);!第三个目标函数。 2*x(1)+2*x(2)<12;!硬约束 @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); ! 软约束表达式;! dminus(1)=0; !第一个目标约束条件; ! dminus(2)+dplus(2)=0; !第二个目标约束条件 @for(variable:@gin(x));! 结束 最终结果为 x1=2,x2=4,dplus(1)=100,最优利润为
-
[姿势估计] 实践记录:使用 Dlib 和 mediapipe 进行人脸姿势估计 - 本文重点介绍方法 2):方法 1:基于深度学习的方法:。 基于深度学习的方法:基于深度学习的方法利用深度学习模型,如卷积神经网络(CNN)或递归神经网络(RNN),直接从人脸图像中学习姿势估计。这些方法能够学习更复杂的特征表征,并在大规模数据集上取得优异的性能。方法二:基于二维校准信息估计三维姿态信息(计算机视觉 PnP 问题)。 特征点定位:人脸姿态估计的第一步是通过特征点定位来检测和定位人脸的关键点,如眼睛、鼻子和嘴巴。这些关键点提供了人脸的局部结构信息,可用于后续的姿势估计。 旋转表示:常见的旋转表示方法包括欧拉角和旋转矩阵。欧拉角通过三个旋转角度(通常是俯仰、偏航和滚动)描述头部的旋转姿态。旋转矩阵是一个 3x3 矩阵,表示头部从一个坐标系到另一个坐标系的变换。 三维模型重建:根据特征点的定位结果,三维人脸模型可用于姿势估计。通过将人脸的二维图像映射到三维模型上,可以估算出人脸的旋转和平移信息。这就需要建立人脸的三维模型,然后通过优化方法将模型与特征点对齐,从而获得姿势估计结果。 特征点定位 特征点定位是用于检测人脸关键部位的五官基础部分,还有其他更多的特征点表示方法,大家可以参考我上一篇文章中介绍的特征点检测方案实践:人脸校正二次定位操作来解决人脸校正的问题,客户在检测关键点的代码上略有修改,坐标转换部分客户见上图 def get_face_info(image). img_copy = image.copy image.flags.writeable = False image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) results = face_detection.process(image) # 在图像上绘制人脸检测注释。 image.flags.writeable = True image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) box_info, facial = None, None if results.detections: for detection in results. for detection in results.detections: mp_drawing.Drawing.detection = 无 mp_drawing.draw_detection(image, detection) 面部 = detection.location_data.relative_keypoints 返回面部 在上述代码中,返回的数据是五官(6 个关键点的坐标),这是用 mediapipe 库实现的,下面我们可以尝试用另一个库:dlib 来实现。 使用 dlib 使用 Dlib 库在 Python 中实现人脸关键点检测的步骤如下: 确保已安装 Dlib 库,可使用以下命令: pip install dlib 导入必要的库: 加载 Dlib 的人脸检测器和关键点检测器模型: 读取图像并将其灰度化: 使用人脸检测器检测图像中的人脸: 对检测到的人脸进行遍历,并使用关键点检测器检测人脸关键点: 显示绘制了关键点的图像: 以下代码将参数 landmarks_part 添加到要返回的关键点坐标中。
-
tRNAdb:全面的 tRNA 序列和二级结构数据库
-
二级头部结构和面部比例
-
百度地图SDK使用(3)--缩放地图比例和切换夜间模式--本人有多套学习视频,可以试看!我有几套学习视频,可以试着看看!可以试看,重要的事情说三遍 包括Java、数据结构与算法、iOS、android、python、flutter等,如有需要,联系微信tsaievan。