人脸关键点参考手册

版本: 3.0
状态: 生效中
最后更新: 2026-07-08
维护者: RD Agent

历史合并说明:本文档由以下 3 份文档合并而成:MEDIAPIPE_468_REFERENCE.mdMEDIAPIPE_468_TO_106_MAPPING_STRATEGY.mdVOLCANO_106_POINTS.md。内容已合并为单一人脸关键点参考手册,交叉引用 docs/07-STANDARDS/COORDINATE_SYSTEM.md


1. 概述

本文档整合了两套主流人脸关键点标准:

本文档同时提供 MediaPipe 468 → 火山 106 的映射策略,供 MediaPipe468Adapter.ktFaceLandmarkOverlay.kt 参考实现。

坐标系说明:MediaPipe 与火山引擎均返回归一化坐标(0-1),原点(0,0)在左上角,x轴向右,y轴向下。前置摄像头需要水平镜像(x = 1 - x)。详见 docs/07-STANDARDS/COORDINATE_SYSTEM.md


2. 火山引擎 106 点标准

2.1 拓扑结构

轮廓(0-32,共33点)

开放曲线:从右脸鬓角(画面左侧)开始,经过下巴,到左脸鬓角(画面右侧)结束。

索引范围 语义位置 说明
0-16 右轮廓(画面左侧,从右上到下巴右) 共17点
0 右鬓角/太阳穴 轮廓起点(画面左侧)
1-7 右脸颊 从上到下
8-15 右下颌到下巴右侧
16 下巴中心 下巴最低点
17-32 左轮廓(画面右侧,从下巴左到左上) 共16点
17-25 下巴左侧到左下颌
26-31 左脸颊 从下到上
32 左鬓角/太阳穴 轮廓终点(画面右侧)

眉毛(33-42, 64-71,共18点)

上部眉毛(33-42)
索引 语义位置 说明
33-37 右眉上部(画面左侧) 从眉头到眉尾,5点
33 右眉头 靠近鼻梁
34-36 右眉腰
37 右眉尾 靠近太阳穴
38-42 左眉上部(画面右侧) 从眉头到眉尾,5点
38 左眉头 靠近鼻梁
39-41 左眉腰
42 左眉尾 靠近太阳穴
43 眉心 两眉之间中心
下部眉毛(64-71)
索引 语义位置 说明
64-67 右眉下部(画面左侧) 从眉头到眉尾,4点
68-71 左眉下部(画面右侧) 从眉尾到眉头,4点

鼻子(44-51, 78-83,共12点)

鼻梁(44-46)
索引 语义位置 说明
44 鼻梁上/山根 两眼之间鼻梁起点
45 鼻梁中 鼻梁中段
46 鼻梁下 鼻梁底部
鼻尖(47-51)
索引 语义位置 MediaPipe映射 说明
47 左外 275 画面左侧,鼻尖左侧外部
48 左内 48 画面左侧,鼻尖左侧内部
49 鼻尖中心 4 鼻子最突出点
50 右内 51 画面右侧,鼻尖右侧内部
51 右外 357 画面右侧,鼻尖右侧外部

对称性:47(275)↔︎51(357)关于鼻尖中心对称,48(48)↔︎50(51)关于鼻尖中心对称。

山根/鼻梁底部(78-79)
索引 语义位置 MediaPipe映射 说明
78 山根右 193 画面左侧,眉心43(168)左侧下方点
79 山根左 419 画面右侧,眉心43(168)右侧下方点

对称性:78(193)↔︎79(419) 关于眉心168对称。 验证:基于 face001_landmarks.png 标注,193/419 位于山根两侧,比 281/49 更准确。

鼻孔(80-83)
索引 语义位置 说明
80 右鼻孔左 画面左侧
81 右鼻孔右 鼻中隔右侧
82 左鼻孔左 鼻中隔左侧
83 左鼻孔右 画面右侧

眼睛(52-77,共26点)

右眼(52-57,画面左侧)
索引 语义位置 MediaPipe映射 说明
52 右眼外角 362 上眼睑起点,靠近太阳穴
53 右眼上眼睑外 363 上眼睑外侧,不含眼角
54 右眼上眼睑中 367 上眼睑中心位置
55 右眼上眼睑内 370 上眼睑内侧,不含眼角
56 右眼内角 463 上眼睑终点/下眼睑起点,靠近鼻梁
57 右眼下眼睑内 372 下眼睑内侧,靠近内角
左眼(58-63,画面右侧)
索引 语义位置 MediaPipe映射 说明
58 左眼外角 33 上眼睑起点,靠近太阳穴
59 左眼上眼睑外 35 上眼睑外侧,不含眼角
60 左眼上眼睑中 38 上眼睑中心位置
61 左眼上眼睑内 41 上眼睑内侧,不含眼角
62 左眼内角 133 上眼睑终点/下眼睑起点,靠近鼻梁
63 左眼下眼睑内 43 下眼睑内侧,靠近内角

注意:眼周每眼8点轮廓 = 外角(52/58) + 上眼睑3点(53-55/59-61) + 内角(56/62) + 下眼睑内角(57/63)。上眼睑3点沿外轮廓均匀分布不含眼角。 对称性:左右眼严格对称,53(363)↔︎55(370)关于眼睛中心对称,59(35)↔︎61(41)关于眼睛中心对称。 MediaPipe路径:右眼外轮廓 362→363→364→365→366→367→368→369→370→371→463→372→373→374→375;左眼外轮廓 33→34→35→36→37→38→39→40→41→42→133→43→44→45→46。

右眼补充(72-74,画面左侧)
索引 语义位置 MediaPipe映射 说明
72 右眼下眼睑中 374 下眼睑中心位置
73 右眼下眼睑外 375 下眼睑外侧,靠近外角
74 右瞳孔 473 瞳孔中心(478点模式)
左眼补充(75-77,画面右侧)
索引 语义位置 MediaPipe映射 说明
75 左眼下眼睑中 44 下眼睑中心位置
76 左眼下眼睑外 45 下眼睑外侧,靠近外角
77 左瞳孔 468 瞳孔中心(478点模式)

注意:下眼睑3点(不含内角)为 72-74(右眼) / 75-77(左眼)。下眼睑内角在57/63位置,与72-74/75-77组成完整下眼睑轮廓。 对称性:72(374)↔︎75(44) 下眼睑中对称,73(375)↔︎76(45) 下眼睑外对称,74(473)↔︎77(468) 瞳孔对称。

嘴巴(84-103,共20点)

嘴巴外轮廓(84-95,共12点)
索引 语义位置 MediaPipe映射 说明
84 左嘴角 61 外唇起点(画面左侧)
85 上唇左2 40 上唇外轮廓左部,距唇珠2步
86 上唇左1 37 上唇外轮廓左中部,距唇珠1步
87 唇珠/上唇中心 0 上唇最顶端中心点
88 上唇右1 267 上唇外轮廓右中部,距唇珠1步
89 上唇右2 270 上唇外轮廓右部,距唇珠2步
90 右嘴角 291 外唇终点(画面右侧)
91 下唇右外 321 下唇外轮廓最右侧,距中心3步
92 下唇右内 314 下唇外轮廓右内侧,距中心1步
93 下唇中间对称点 17 下唇最底端中心点
94 下唇左内 84 下唇外轮廓左内侧,距中心1步
95 下唇左外 91 下唇外轮廓最左侧,距中心3步

注意:外轮廓拓扑顺序为顺时针闭合曲线:84(左嘴角) → 85→86→87→88→89(上唇从左到右) → 90(右嘴角) → 91→92→93→94→95(下唇从右到左) → 84。 对称性: - 87为唇珠/上唇中心(MediaPipe 0),位于上唇最顶端 - 93为下唇中间对称点(MediaPipe 17),位于下唇最底端 - 86(37)与88(267)关于唇珠(87)对称 - 85(40)与89(270)关于唇珠(87)对称 - 92(314)与94(84)关于下唇中心(93)对称,距中心1步 - 91(321)与95(91)关于下唇中心(93)对称,距中心3步

嘴巴内轮廓(96-103,共8点)
索引 语义位置 MediaPipe映射 说明
96 左内角 78 内唇起点(画面左侧)
97 上唇内左1 81 上唇内侧左部,距中心2步
98 上唇内侧对称点 13 上唇内侧中心位置
99 上唇内右1 311 上唇内侧右部,距中心2步
100 右内角 308 内唇终点(画面右侧)
101 下唇内右1 178 下唇内侧右部,距中心2步
102 下唇内侧对称点 14 下唇内侧中心位置
103 下唇内左1 402 下唇内侧左部,距中心2步

注意:内轮廓拓扑顺序为顺时针闭合曲线:96(左内角) → 97..99(上唇内侧从左到右) → 100(右内角) → 101..103(下唇内侧从右到左) → 96。 对称性: - 98为上唇内侧对称点(MediaPipe 13),97(81)与99(311)关于98对称,距中心2步 - 102为下唇内侧对称点(MediaPipe 14),101(178)与103(402)关于102对称,距中心2步

瞳孔(104-105,共2点)

索引 语义位置 说明
104 右瞳孔 画面左侧,与74位置接近
105 左瞳孔 画面右侧,与77位置接近

2.2 火山 106 点完整映射表

非轮廓区域 33-105(73点)

火山引擎索引 MediaPipe点 语义位置 说明
33-37 70, 63, 105, 66, 107 右眉上部 画面左侧=实际右脸,从眉头到眉尾
38-42 336, 296, 334, 293, 300 左眉上部 画面右侧=实际左脸,从眉头到眉尾
43 168 眉心 两眉之间中点
44-46 197, 5, 4 鼻梁 从上到下(鼻根→鼻梁中→鼻尖上)
47-51 98, 241, 2, 461, 327 鼻尖 从左到右,严格对称
52-57 226, 30, 56, 133, 26, 110 右眼外轮廓 画面左侧=实际右脸,顺时针
58-63 362, 286, 260, 446, 339, 256 左眼外轮廓 画面右侧=实际左脸,顺时针
64-67 53, 52, 65, 55 右眉下部 画面左侧=实际右脸,从眉头到眉尾
68-71 285, 295, 282, 283 左眉下部 画面右侧=实际左脸,从眉尾到眉头
72-74 27, 23, 473 右眼内/下 74=右瞳孔
75-77 257, 253, 468 左眼内/下 77=左瞳孔
78-79 193, 417 山根 193↔︎417 关于 168 对称
80-83 198, 420, 49, 279 鼻孔 左右鼻孔轮廓
84-95 61, 40, 37, 0, 267, 270, 291, 321, 314, 17, 84, 91 嘴巴外轮廓 顺时针闭合曲线
96-103 78, 81, 13, 311, 308, 178, 14, 402 嘴巴内轮廓 顺时针闭合曲线
104-105 473, 468 瞳孔 104=右瞳孔(同74), 105=左瞳孔(同77)

2.3 火山 106 点注意事项

  1. 镜像说明:本文档中的”左/右”是基于被摄者真实面部(前置摄像头镜像后)。画面左侧=实际右脸,画面右侧=实际左脸。
  2. 轮廓方向:轮廓 0-32 为开放曲线,从右脸鬓角(索引0,画面左侧)开始,经过下巴(索引16),到左脸鬓角(索引32,画面右侧)结束。
  3. 瞳孔位置:104/105 与 74/77 位置接近,用于需要瞳孔中心点的场景。
  4. 对称性:左右脸关键点应保持对称分布,映射时需确保左右对称性。

3. MediaPipe Face Mesh 468 点参考

3.1 关键点区域分布

区域 关键点数 说明
左眼 71 上眼睑、下眼睑、眼角
右眼 71 上眼睑、下眼睑、眼角
嘴巴 40 上唇、下唇、嘴角
鼻子 52 鼻梁、鼻尖、鼻翼、鼻孔
眉毛 40 左眉20点,右眉20点
脸部轮廓 122 额头、脸颊、下巴、耳朵
脸部内部 72 脸部中心区域
总计 468

3.2 对称规则说明

MediaPipe Face Mesh 的面部关键点关于面部中轴线(垂直中心线)对称。

对称规律:大多数对称对满足 左侧索引 + 右侧索引 ≈ 500,但存在例外。

3.3 脸部轮廓(FACE_OVAL,0-35,共36点)

MediaPipe 的 FACE_OVAL 区域包含36个点,形成闭合曲线(含额头),与106点开放轮廓不同。

语义定义

索引 语义位置 说明
0 下巴中心 下巴最低点
1-7 左下颌 从下巴到左耳下
8-23 左脸颊到额头 左侧轮廓
24-35 额头到右脸颊 右侧轮廓(闭合)

与106点对应关系: - 106点轮廓为开放曲线(33点),不包含额头 - 需要选取 MediaPipe 中不含额头的轮廓点

轮廓对称关系

左侧索引 语义位置 右侧索引 语义位置 备注
7 左下颌 397 右下颌
8 左脸颊下 396 右脸颊下
9 左脸颊中 395 右脸颊中
10 左脸颊上 394 右脸颊上
11 左耳前 393 右耳前
12 左耳下 392 右耳下
13 左鬓角 391 右鬓角
14 左太阳穴 390 右太阳穴
15 左额侧 389 右额侧
16 左额头 388 右额头
17 左额中 387 右额中
18 左额上 386 右额上
19 左额顶 385 右额顶
20 左发际线 384 右发际线
21 左发际中 383 右发际中
22 左发际上 382 右发际上
23 左头顶 381 右头顶
24 头顶中左 380 头顶中右
25 头顶左 379 头顶右
26 头顶后左 378 头顶后右
27 后脑左 377 右脑右
28 后脑下左 376 后脑下右
29 颈后左 375 颈后右
30 颈部左 374 颈部右
31 鼻底左 35 鼻底右 特殊对称
32 下巴左 361 下巴右

轮廓中心点(无对称)

索引 语义位置
0 下巴中心
1 鼻尖下/鼻小柱
2 左鼻孔左
3 下巴偏左
4 鼻尖中心
5 鼻底中
6 鼻根/山根
168 眉心下方
195 鼻梁下
197 鼻梁中

3.4 左眼区域(索引 33-142,共71点)

左眼关键点位

索引 语义位置 说明
33 外眼角
133 内眼角
159 上眼睑中
145 下眼睑中
468 左瞳孔 478点模式下可用

左眼外轮廓对称

左眼索引 语义位置 右眼索引 语义位置
33 左眼外角 362 右眼外角
34 左眼上眼睑外1 363 右眼上眼睑外1
35 左眼上眼睑外2 364 右眼上眼睑外2
36 左眼上眼睑外3 365 右眼上眼睑外3
37 左眼上眼睑中1 366 右眼上眼睑中1
38 左眼上眼睑中2 367 右眼上眼睑中2
39 左眼上眼睑中3 368 右眼上眼睑中3
40 左眼上眼睑内1 369 右眼上眼睑内1
41 左眼上眼睑内2 370 右眼上眼睑内2
42 左眼上眼睑内3 371 右眼上眼睑内3
133 左眼内角 463 右眼内角
144 左眼下眼睑内1 474 右眼下眼睑内1
145 左眼下眼睑中 374 右眼下眼睑中
146 左眼下眼睑外1 375 右眼下眼睑外1
147 左眼下眼睑外2 376 右眼下眼睑外2
148 左眼下眼睑外3 377 右眼下眼睑外3
149 左眼下眼睑外4 378 右眼下眼睑外4
150 左眼下眼睑外5 379 右眼下眼睑外5
151 左眼下眼睑外6 380 右眼下眼睑外6
152 左眼下眼睑外7 381 右眼下眼睑外7
153 左眼下眼睑外8 382 右眼下眼睑外8
154 左眼下眼睑外9 383 右眼下眼睑外9

瞳孔/虹膜对称

左眼索引 语义位置 右眼索引 语义位置
468 左瞳孔中心 473 右瞳孔中心
469 左虹膜上 474 右虹膜上
470 左虹膜右 475 右虹膜右
471 左虹膜下 476 右虹膜下
472 左虹膜左 477 右虹膜左

3.5 右眼区域(索引 362-471,共71点)

右眼关键点位

索引 语义位置 说明
362 外眼角
463 内眼角
386 上眼睑中
374 下眼睑中
473 右瞳孔 478点模式下可用

右眼对称关系见 3.4 左眼对称关系 表格,左右互换即可。

3.6 左眉区域(索引 70-106,共20点)

关键点位

左眉对称关系

左眉索引 语义位置 右眉索引 语义位置
70 左眉头 336 右眉头
71 左眉上1 335 右眉上1
72 左眉上2 334 右眉上2
73 左眉上3 333 右眉上3
74 左眉上4 332 右眉上4
75 左眉中1 331 右眉中1
76 左眉中2 330 右眉中2
77 左眉中3 329 右眉中3
78 左眉下1 328 右眉下1
79 左眉下2 327 右眉下2
105 左眉峰 300 右眉峰
107 左眉尾 296 右眉尾
108 左眉尾下1 297 右眉尾下1
109 左眉尾下2 298 右眉尾下2
110 左眉尾下3 299 右眉尾下3
111 左眉尾下4 301 右眉尾下4
112 左眉尾下5 302 右眉尾下5
113 左眉尾下6 303 右眉尾下6

3.7 右眉区域(索引 296-336,共20点)

关键点位

右眉对称关系见 3.6 左眉对称关系 表格,左右互换即可。

3.8 鼻子区域(共52点)

鼻梁(中心线,无对称)

索引 语义位置
6 鼻根/山根
168 眉心下方
197 鼻梁中
195 鼻梁下

鼻尖对称

左侧索引 语义位置 右侧索引 语义位置 火山引擎映射
48 鼻尖左 51 鼻尖右 48=241, 51=327
98 左鼻翼下 327 右鼻翼上 47=98, 51=327
241 鼻梁左 461 鼻梁右 48=241, 50=461

对称说明: - 47=98 ↔︎ 51=327:鼻翼下/上侧对称 - 48=241 ↔︎ 50=461:鼻梁左右对称(已验证,241+461=702) - 49=2:中心点(左鼻孔左),无对称

鼻孔对称

左侧索引 语义位置 右侧索引 语义位置
2 左鼻孔左 326 右鼻孔右
326 左鼻孔右(鼻中隔左) 327 右鼻孔左(鼻中隔右)
358 右鼻孔右 2 左鼻孔左

鼻底对称

左侧索引 语义位置 右侧索引 语义位置
31 鼻底左 35 鼻底右

3.9 嘴巴区域(索引 13-194,共40点)

嘴巴关键点位

索引 语义位置 说明
61 左嘴角
0 上唇中心/唇珠 上唇最顶端
291 右嘴角
78 上唇内左
308 下唇内左

嘴巴外轮廓对称

左侧索引 语义位置 右侧索引 语义位置
61 左嘴角 291 右嘴角
62 上唇左外1 292 上唇右外1
63 上唇左外2 293 上唇右外2
64 上唇左外3 294 上唇右外3
65 上唇左外4 295 上唇右外4
66 上唇左中1 296 上唇右中1
67 上唇左中2 297 上唇右中2
68 上唇左中3 298 上唇右中3
69 上唇左内1 299 上唇右内1
70 上唇左内2 300 上唇右内2
71 上唇左内3 301 上唇右内3
72 上唇左内4 302 上唇右内4
73 上唇左内5 303 上唇右内5
74 上唇左内6 304 上唇右内6
75 上唇左内7 305 上唇右内7
76 上唇左内8 306 上唇右内8
77 上唇左内9 307 上唇右内9
84 下唇左外 321 下唇右外
85 下唇左中1 322 下唇右中1
86 下唇左中2 323 下唇右中2
87 下唇左中3 324 下唇右中3
88 下唇左中4 325 下唇右中4
89 下唇左中5 326 下唇右中5
90 下唇左中6 327 下唇右中6
91 下唇左中7 328 下唇右中7
92 下唇左中8 329 下唇右中8
93 下唇左中9 330 下唇右中9
94 下唇左中10 331 下唇右中10
95 下唇左中11 332 下唇右中11

嘴巴内轮廓对称

左侧索引 语义位置 右侧索引 语义位置
78 上唇内左 308 上唇内右
79 上唇内左1 309 上唇内右1
80 上唇内左2 310 上唇内右2
81 上唇内左3 311 上唇内右3
82 上唇内左4 312 上唇内右4
83 上唇内左5 313 上唇内右5
84 上唇内左6 314 上唇内右6
85 上唇内左7 315 上唇内右7
86 上唇内左8 316 上唇内右8
87 上唇内左9 317 上唇内右9
88 上唇内中 13 上唇内中(对称点)
178 下唇内右 402 下唇内左
179 下唇内右1 403 下唇内左1
180 下唇内右2 404 下唇内左2
181 下唇内右3 405 下唇内左3
182 下唇内右4 406 下唇内左4
183 下唇内右5 407 下唇内左5
184 下唇内右6 408 下唇内左6
185 下唇内右7 409 下唇内左7
186 下唇内右8 410 下唇内左8
187 下唇内右9 411 上唇内右9
14 下唇内中 17 下唇内中(对称点)

嘴唇中心点(无对称)

索引 语义位置
0 上唇中心/唇珠
13 上唇内侧中心
14 下唇内侧中心
17 下唇中心

3.10 瞳孔/虹膜区域(468-477,共10点)

注意:瞳孔检测需要开启 refine_landmarks=True

索引 语义位置 说明
468-471 左眼虹膜 5点
472-475 右眼虹膜 5点

关键点位: - 468:左瞳孔中心 - 473:右瞳孔中心

3.11 脸部内部区域(共72点)

这些点分布在脸部内部,用于表情检测和3D重建,在映射到106点时通常不使用。

左侧索引 语义位置 右侧索引 语义位置
100 左脸颊内1 329 右脸颊内1
101 左脸颊内2 330 右脸颊内2
102 左脸颊内3 331 右脸颊内3
103 左脸颊内4 332 右脸颊内4
104 左脸颊内5 333 右脸颊内5

注:脸部内部点位较多,完整对称关系可通过 左侧索引 + 右侧索引 ≈ 500 推算。

3.12 MediaPipe 注意事项

  1. 坐标系定义
    • MediaPipe 返回的坐标为归一化坐标(0-1)
    • 原点(0,0)在左上角
    • x轴向右,y轴向下
  2. 前置摄像头镜像
    • 使用前置摄像头时,需要水平镜像:x = 1 - x
    • 镜像后,“左侧”和”右侧”互换
  3. 对称精度
    • 理想情况下,对称点的y坐标应该完全相同
    • x坐标应该关于0.5对称(即 x_left + x_right = 1.0
    • 实际检测中存在微小偏差是正常的
  4. 中心点处理
    • 位于面部中轴线上的点没有对称点
    • 包括:鼻尖(4)、鼻梁(6, 168, 195, 197)、唇珠(0)等
  5. 特殊情况
    • 某些对称对不严格遵循 left + right = 500 规律
    • 建议通过实际坐标验证对称性
  6. 轮廓差异
    • MediaPipe FACE_OVAL 为36点闭合曲线(含额头)
    • 106点标准为33点开放曲线(不含额头)
    • 映射时需要选择不含额头的 MediaPipe 轮廓点
  7. 瞳孔检测
    • 需要开启 refine_landmarks=True
    • 瞳孔点索引为 468-475(478点模式)
  8. 左右定义
    • MediaPipe 中的”左/右”是基于观察者视角,与106点标准一致
  9. 深度信息
    • MediaPipe 每个点包含 (x, y, z) 三维坐标,z轴以鼻尖为原点

3.13 对称性验证方法

// 检查两个点是否关于面部中轴线对称
fun isSymmetric(leftPoint: Pair<Float, Float>, rightPoint: Pair<Float, Float>): Boolean {
    val centerX = 0.5f // 面部中轴线x坐标
    val tolerance = 0.02f // 容差

    // x坐标应该关于中心对称
    val xSymmetric = Math.abs((leftPoint.first + rightPoint.first) - 1.0f) < tolerance

    // y坐标应该接近
    val ySimilar = Math.abs(leftPoint.second - rightPoint.second) < tolerance

    return xSymmetric && ySimilar
}

// 大多数对称对满足:左侧索引 + 右侧索引 ≈ 500
fun checkSymmetryIndex(leftIndex: Int, rightIndex: Int): Boolean {
    val sum = leftIndex + rightIndex
    return sum in 490..510 // 允许±10的误差
}

4. MediaPipe 468 → 火山 106 映射策略

4.1 核心映射原则

第一性原理

MediaPipe 468 点本身的拓扑结构不对称,因此不能简单使用几何镜像(x = 1-x),而必须:

  1. 先确定语义对称的固定点:为每个 106 点找到 MediaPipe 中语义对应的固定点
  2. 再插值过渡点:在固定点之间使用 midPoint 插值
  3. 验证左右对称性:确保 M0-M15 与 M17-M32 关于 M16 对称

左右对称定义

4.2 完整映射表

2.2 火山 106 点完整映射表

4.3 眼部详细映射

右眼 52-57(6点)

火山引擎索引 MediaPipe点 语义位置 对称点
52 226 外角 ↔︎ 58(362)
53 30 上眼睑外 ↔︎ 59(286)
54 56 上眼睑中 ↔︎ 60(260)
55 133 上眼睑内 ↔︎ 61(446)
56 26 内角 ↔︎ 62(339)
57 110 下眼睑内 ↔︎ 63(256)

左眼 58-63(6点)

火山引擎索引 MediaPipe点 语义位置 对称点
58 362 外角 ↔︎ 52(226)
59 286 上眼睑外 ↔︎ 53(30)
60 260 上眼睑中 ↔︎ 54(56)
61 446 上眼睑内 ↔︎ 55(133)
62 339 内角 ↔︎ 56(26)
63 256 下眼睑内 ↔︎ 57(110)

4.4 眉毛详细映射

右眉上部 33-37(5点)

火山引擎索引 MediaPipe点 语义位置
33 70 眉头
34 63 眉腰外
35 105 眉腰中
36 66 眉腰内
37 107 眉尾

左眉上部 38-42(5点)

火山引擎索引 MediaPipe点 语义位置
38 336 眉头
39 296 眉腰外
40 334 眉腰中
41 293 眉腰内
42 300 眉尾

右眉下部 64-67(4点)

火山引擎索引 MediaPipe点 语义位置
64 53 眉头下
65 52 眉腰下外
66 65 眉腰下内
67 55 眉尾下

左眉下部 68-71(4点)

火山引擎索引 MediaPipe点 语义位置
68 285 眉尾下
69 295 眉腰下内
70 282 眉腰下外
71 283 眉头下

4.5 鼻子详细映射

鼻梁 44-46(3点)

火山引擎索引 MediaPipe点 语义位置
44 197 鼻梁上
45 5 鼻梁中
46 4 鼻尖上

鼻尖 47-51(5点)

火山引擎索引 MediaPipe点 语义位置 对称关系
47 98 左外(左鼻翼下) ↔︎ 51(327)
48 241 左内(鼻梁左) ↔︎ 50(461) ✅
49 2 中心 -
50 461 右内(鼻梁右) ↔︎ 48(241) ✅
51 327 右外(右鼻翼上) ↔︎ 47(98)

山根 78-79(2点)

火山引擎索引 MediaPipe点 语义位置 对称关系
78 193 左鼻孔上 ↔︎ 79(417)
79 417 右鼻孔上 ↔︎ 78(193)

鼻孔 80-83(4点)

火山引擎索引 MediaPipe点 语义位置
80 198 左鼻孔
81 420 右鼻孔
82 49 左鼻孔下
83 279 右鼻孔下

4.6 嘴巴详细映射

嘴巴外轮廓 84-95(12点,顺时针)

火山引擎索引 MediaPipe点 语义位置
84 61 左嘴角
85 40 上唇左外
86 37 上唇左中
87 0 上唇中
88 267 上唇右中
89 270 上唇右外
90 291 右嘴角
91 321 下唇右外
92 314 下唇右中
93 17 下唇中
94 84 下唇左中
95 91 下唇左外

嘴巴内轮廓 96-103(8点,顺时针)

火山引擎索引 MediaPipe点 语义位置
96 78 左内角上
97 81 上唇内左
98 13 上唇内中
99 311 上唇内右
100 308 右内角下
101 178 下唇内右
102 14 下唇内中
103 402 下唇内左

4.7 实施注意事项

  1. 前置摄像头镜像:使用前置摄像头时,MediaPipe 返回的 x 坐标需要镜像:x = 1 - x
  2. 归一化坐标:MediaPipe 返回的坐标为归一化坐标(0-1),直接使用即可
  3. 插值函数:使用 midPoint(a, b) 计算两点中点
  4. 调试方法
    • 在 CameraDebugOverlay 中显示 106 点(蓝色)
    • 对比 106 点与 MediaPipe 原始点的位置关系
    • 验证左右对称性

5. 参考文件

文件 说明
beauty-engine/src/main/java/com/mamba/picme/beauty/internal/facedetect/adapter/MediaPipe468Adapter.kt 生产环境 468→106 映射
app/src/main/java/com/mamba/picme/features/gallery/components/FaceLandmarkOverlay.kt 静态图调试映射与可视化
docs/07-STANDARDS/COORDINATE_SYSTEM.md 坐标系标准
docs/03-TECHNICAL-SPECS/BEAUTY_ENGINE_TECH_SPEC.md 大美丽技术规格

6. 参考资源