主权项 |
一种基于局部描述符的三维人脸识别方法,其特征在于,分别对测试人脸及库集人脸进行处理,分别得到测试人脸上的采样点与库集人脸的采样点,所述处理包括预处理步骤、轮廓线提取步骤、采样点局部特征提取步骤,最后,在测试人脸上的采样点与库集人脸的采样点之间建立点对应关系,并在对应的采样点之间进行局部特征比较,再以欧式距离作为相似度,将最近距离对应的人脸作为识别结果,所述的预处理步骤包括:步骤1.1 人脸切割根据人脸的形状指数(Shape Index)特征和几何约束确定鼻尖点粗略位置,以鼻尖点为中心,90mm为半径,舍弃落在球体以外的点,保留球体内的点作为后续处理的人脸区域;步骤1.2 人脸姿态归一化将切割后的人脸通过主成分分析方法进行主轴变换,人脸左右方向作为坐标系的X轴方向,人脸上下方向作为坐标系的Y轴方向,人脸前后方向作为坐标系的Z轴方向,以Z坐标最大值作为鼻尖点,以鼻尖点作为坐标系的原点,将人脸平移后得到统一的人脸主轴坐标系,设为PCS;步骤1.3 人脸稀释人脸的点云按照空间距离进行均匀采样,采样间隔为1mm,得到一系列的点云集合Fpca;所述的轮廓线提取步骤包括:步骤2.1 等距轮廓线的提取计算人脸点云集合Fpca内所有点到鼻尖点的距离之后,选择等距离的点组成16条曲线φ(n),n=1,2,...,16,曲线φ(n)为等距轮廓线,n为轮廓线的序号,每条曲线φ(n)中的点到鼻尖点的距离dis满足条件:dis∈[5*n‑δ,5*n+δ]其中阈值δ>0,这里取为1.4mm,这样得到与鼻尖点相距5mm至80mm共16条轮廓线;步骤2.2 等距轮廓线的采样步骤2.2.1 将等距轮廓线φ(n)在人脸主轴坐标系PCS的XOY平面上投影,以鼻尖点为中心,投影的曲线在X轴方向的差值α为短轴,在Y轴方向的差值b为长轴,得到一个椭圆,方程可表示为: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>x</mi> <mo>=</mo> <mfrac> <mi>a</mi> <mn>2</mn> </mfrac> <mi>cos</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> <mo>=</mo> <mfrac> <mi>b</mi> <mn>2</mn> </mfrac> <mi>sin</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>其中t=[0,2π],x为椭圆的横坐标,y为椭圆的纵坐标,步骤2.2.2将人脸粗略分为3个区域:第1‑10条轮廓线所覆盖的区域为内区域、第11‑14条轮廓线所覆盖的区域为中区域、第15‑16条轮廓线所覆盖的区域为外区域,对内外区域内的轮廓线进行采样时,选取采样点为: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>x</mi> <mo>=</mo> <mi>a</mi> <mo>/</mo> <mn>2</mn> <mo>*</mo> <mi>cos</mi> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>360</mn> <mo>/</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>+</mo> <mn>8</mn> <mo>*</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mi>i</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> <mo>=</mo> <mi>b</mi> <mo>/</mo> <mn>2</mn> <mo>*</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>360</mn> <mo>/</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>+</mo> <mn>8</mn> <mo>*</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mi>i</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>其中j=1,2,...,10,15,16,i=1,2,...,8+8*j,式中x和y分别表示在第j条轮廓线上的第i个采样点的横坐标和纵坐标,同理对中区域内的轮廓线进行采样时,选取采样点为: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>x</mi> <mo>=</mo> <mi>a</mi> <mo>/</mo> <mn>2</mn> <mo>*</mo> <mi>cos</mi> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>360</mn> <mo>/</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>+</mo> <mn>4</mn> <mo>*</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mi>i</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> <mo>=</mo> <mi>b</mi> <mo>/</mo> <mn>2</mn> <mo>*</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>360</mn> <mo>/</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>+</mo> <mn>4</mn> <mo>*</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mi>i</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>其中j=11,12,...,14,i=1,2,...,8+4*j,式中x和y分别表示在第j条轮廓线上的第i个采样点的横坐标和纵坐标;所述的采样点局部特征提取步骤包括:步骤3.1 划分栅格设每个正方体栅格的边长为CubeLength,作过人脸在PCS下的X坐标最小值点的且与YOZ平面平行的YOZ′平面、过人脸在PCS下的Y坐标最小值点的且与XOZ平面平行的XOZ′平面和过人脸在PCS下的Z坐标最小值点的且与XOY平面平行的XOY′平面,从这三个平面的交点开始,沿三个坐标轴的正方向用边长为CubeLength的栅格堆叠,直到覆盖整个人脸,步骤3.2 提取局部特征步骤3.2.1 计算邻域大小计算每个采样点的法向量n,计算法向量与X轴、Y轴和Z轴的夹角,分别为α、β和γ,根据夹角的大小选取3个邻域Ω1、Ω2和Ω3,3个邻域内的点的数目分别为:number1=round((1‑cos(|α|))*50)number2=round((2‑cos(|β|))*50)number3=round((2‑cos(|γ|))*50)步骤3.2.2 计算投影面积分别将邻域Ω1内的点在XOY平面上进行投影,将邻域Ω2内的点在XOZ平面上进行投影,将邻域Ω3内的点在YOZ平面上进行投影,求投影下来的散乱二维点云的最外围点,用直线连接成不规则的多边形,计算所包围的区域面积,得到的3个投影面积作为该采样点的局部特征。 |