"""MediaPipe Face Mesh 关键点索引常量(四庭七眼测量用)。 MediaPipe Face Mesh 对 468 个点按固定拓扑编号;开启 refine_landmarks=True 后 额外输出 10 个虹膜点(索引 468–477),总计 478 点。本模块集中定义本接口 所需的全部索引,避免散落在各处的魔数。详见技术方案 §2。 """ # --- 四庭纵向中轴关键点 --- GLABELLA_9 = 9 # 眉间 / glabella(上点) GLABELLA_151 = 151 # 眉间 / glabella(下点),与 9 取中点作为眉心 NOSE_BOTTOM = 94 # 鼻翼下缘 / subnasale(人中顶部) CHIN_TIP = 152 # 下巴尖 / menton(下颌最低点) # --- 七眼横向关键点 --- LEFT_EYE_OUTER = 33 # 左眼外角 LEFT_EYE_INNER = 133 # 左眼内角 RIGHT_EYE_INNER = 362 # 右眼内角 RIGHT_EYE_OUTER = 263 # 右眼外角 LEFT_CHEEK = 234 # 左脸颧弓(脸宽左端) RIGHT_CHEEK = 454 # 右脸颧弓(脸宽右端) LEFT_POSITION = 21 # 左脸前侧定位点(脸颊/耳前区域,与 251 镜像) RIGHT_POSITION = 251 # 右脸前侧定位点(与 21 镜像) # --- 鼻尖(solvePnP 用,可选) --- NOSE_TIP = 1 # 鼻尖(也有用 4 的版本) NOSE_TIP_ALT = 4 # --- 虹膜关键点(refine_landmarks=True 才输出,尺度校准用) --- IRIS_LEFT_CENTER = 468 # 左眼虹膜中心 IRIS_LEFT_LEFT = 469 # 左虹膜左边缘 IRIS_LEFT_RIGHT = 471 # 左虹膜右边缘 IRIS_RIGHT_CENTER = 473 # 右眼虹膜中心 IRIS_RIGHT_LEFT = 474 # 右虹膜左边缘 IRIS_RIGHT_RIGHT = 476 # 右虹膜右边缘 # --- solvePnP 姿态估计用的 6 点(与通用 3D 头模一一对应,见 pose.py) --- MOUTH_LEFT = 61 # 左嘴角 MOUTH_RIGHT = 291 # 右嘴角 PNP_INDICES = [NOSE_TIP, CHIN_TIP, LEFT_EYE_OUTER, RIGHT_EYE_OUTER, MOUTH_LEFT, MOUTH_RIGHT] # 含虹膜时的关键点总数 NUM_LANDMARKS_WITH_IRIS = 478