Data-Free Point Cloud Network for 3D Face Recognition
3D 얼굴 인식을위한 데이터없는 포인트 클라우드 네트워크
Abstract
Point clouds-based Networks have achieved great attention in 3D object classification, segmentation and indoor scene semantic parsing. In terms of face recognition, 3D face recognition method which directly consume point clouds as input is still under study. Two main factors account for this: One is how to get discriminative face representations from 3D point clouds using deep network; the other is the lack of large 3D training dataset. To address these problems, a data-free 3D face recognition method is proposed only using synthesized unreal data from statistical 3D Morphable Model to train a deep point cloud network. To ease the inconsistent distribution between model data and real faces, different point sampling methods are used in train and test phase. In this paper, we propose a curvatureaware point sampling(CPS) strategy replacing the original furthest point sampling(FPS) to hierarchically downsample feature-sensitive points which are crucial to pass and aggregate features deeply. A PointNet++ like Network is used to extract face features directly from point clouds. The experimental results show that the network trained on generated data generalizes well for real 3D faces. Fine tuning on a small part of FRGCv2.0 and Bosphorus, which include real faces in different poses and expressions, further improves recognition accuracy.
포인트 클라우드 기반 네트워크는 3D 객체 분류, 세분화 및 실내 장면 시맨틱 파싱에서 큰 주목을 받았습니다. 얼굴 인식 측면에서 포인트 클라우드를 입력으로 직접 소비하는 3D 얼굴 인식 방법은 아직 연구 중이다. 두 가지 주요 요인이이를 설명합니다. 하나는 딥 네트워크를 사용하여 3D 포인트 클라우드에서 차별적 인 얼굴 표현을 얻는 방법입니다. 다른 하나는 큰 3D 훈련 데이터 세트가 없다는 것입니다. 이러한 문제를 해결하기 위해 데이터없는 3D 얼굴 인식 방법은 통계적 3D Morphable Model에서 합성 된 비현실적인 데이터 만 사용하여 딥 포인트 클라우드 네트워크를 훈련시키는 방법을 제안합니다. 모델 데이터와 실제 얼굴 간의 불일치 분포를 완화하기 위해 학습 및 테스트 단계에서 다른 포인트 샘플링 방법이 사용됩니다. 본 논문에서는 특징을 깊이 전달하고 집계하는 데 중요한 특징에 민감한 포인트를 계층 적으로 다운 샘플링하기 위해 원래의 FPS (가장 먼 포인트 샘플링)를 대체하는 곡률 인식 포인트 샘플링 (CPS) 전략을 제안합니다. 네트워크와 같은 PointNet ++는 포인트 클라우드에서 직접 얼굴 특징을 추출하는 데 사용됩니다. 실험 결과는 생성 된 데이터로 훈련 된 네트워크가 실제 3D 얼굴에 대해 잘 일반화됨을 보여줍니다. FRGCv2.0 및 Bosphorus의 작은 부분을 미세 조정하여 다른 포즈와 표정의 실제 얼굴을 포함하면 인식 정확도가 더욱 향상됩니다.
1. Introduction
Recently Deep learning approach achieved promising results in face recognition and related applications. Face recognition task has transformed from simple constrained frontal face to more challenge tasks, such as pose-invariant, expression-invariant, age-invariant face recognition. However, CNNs-based 3D face recognition has just raised. Most 3D face recognition systems[16, 22, 23, 27, 37] focus on traditional methods, which extract hand-crafted features for verification or identification task. But this methods ex- tremely rely on face alignment algorithm and feature descriptors, which limit the scalability as compared to the endto-end learning approaches.
최근 딥 러닝 접근 방식은 얼굴 인식 및 관련 응용 분야에서 유망한 결과를 얻었습니다.
얼굴 인식 작업은 단순한 제한된 정면 얼굴에서 포즈 불변, 표현 불변, 연령 불변 얼굴 인식과 같은 더 어려운 작업으로 변환되었습니다. 그러나 CNN 기반 3D 얼굴 인식은 이제 막 상승했습니다.
대부분의 3D 얼굴 인식 시스템 [16, 22, 23, 27, 37]은 확인 또는 식별 작업을 위해 손으로 만든 기능을 추출하는 전통적인 방법에 중점을 둡니다.
그러나 이 방법은 얼굴 정렬 알고리즘과 기능 설명자에 크게 의존하므로 종단 간 학습 방식에 비해 확장성이 제한됩니다.
Two challenges for 3D face recognition are how to design a face point clouds-aware deep network and the lack of large 3D face database to train. The successful face recognition networks are mostly operated on images[28, 36, 51]. Convolution filters are applied to extract deep and discriminative features for identification and verification. These networks nearly get perfect results in some dataset[21, 6, 47]. However, the most common data format for 3D face is mesh or point clouds whose the non-grid structure results in common 2D networks cannot work directly. One alternative method is to project point cloud data into range map[2, 19], multi-view image[18, 12] or voxelize to volumetric representation[17, 32] so as to adapt for 2D networks. However, these data reduction methods will lead to information loss or data structure misaligned[41]. For example, range maps only include the depth in z coordinate neglects the xy information. Volumetric representation introduces quantization errors during voxelization of the point cloud. Besides, volumetric is memory inefficient. We propose to directly consume raw point clouds to network which helps to dig 3D representations without loss information. PointNet[7] structure was the first one to use a symmetric function to aggregate point-wise and orderinvariant features on raw point clouds. However, PointNet only aggregated global feature and neglected the local characters which is very importance for 3D shape representation. PointNet++[33] applies PointNet hierarchically to capture both local and global features for object recognition and segmentation on point clouds. We focus more on face features and a curvature-aware point sampling method is proposed to filter facial points and can be easily integrated into PointNet++. A modified PointNet++ is used to extract face features directly from raw face point clouds.
3D 얼굴 인식에 대한 두 가지 과제는 얼굴 포인트 클라우드를 인식하는 딥 네트워크를 설계하는 방법과 훈련 할 대규모 3D 얼굴 데이터베이스가 없다는 것입니다.
성공적인 얼굴 인식 네트워크는 대부분 이미지에서 운영됩니다 [28, 36, 51].
컨볼루션 필터는 식별 및 검증을 위해 심층적이고 차별적 인 특징을 추출하는 데 적용됩니다.
이러한 네트워크는 일부 데이터 세트에서 거의 완벽한 결과를 얻습니다 [21, 6, 47].
그러나 3D면에 대한 가장 일반적인 데이터 형식은 격자가 아닌 구조로 인해 일반적인 2D 네트워크가 직접 작동 할 수없는 메시 또는 포인트 클라우드입니다.
한 가지 대안은 포인트 클라우드 데이터를 범위 맵 [2, 19], 멀티 뷰 이미지 [18, 12]에 투영하거나 복셀 화를 체적 표현 [17, 32]으로 투영하여 2D 네트워크에 적용하는 것입니다.
그러나 이러한 데이터 감소 방법은 정보 손실이나 데이터 구조의 잘못된 정렬을 초래합니다 [41].
예를 들어, 범위 맵에는 z 좌표의 깊이 만 포함되어 xy 정보는 무시됩니다.
체적 표현은 포인트 클라우드의 복셀 화 중에 양자화 오류를 발생시킵니다.
게다가 체적 측정은 메모리 비효율적입니다.
손실 정보없이 3D 표현을 파헤치는 데 도움이되는 원시 포인트 클라우드를 네트워크에 직접 사용할 것을 제안합니다.
PointNet [7] 구조는 대칭 함수를 사용하여 원시 포인트 클라우드에서 포인트 단위 및 순서 불변 기능을 집계 한 최초의 구조입니다. 그러나 PointNet은 전역 기능 만 집계하고 3D 모양 표현에 매우 중요한 로컬 문자는 무시했습니다.
PointNet ++ [33]은 PointNet을 계층 적으로 적용하여 포인트 클라우드에서 객체 인식 및 세분화를위한 로컬 및 글로벌 기능을 모두 캡처합니다.
우리는 얼굴 특징에 더 초점을 맞추고 얼굴 포인트를 필터링하기 위해 곡률 인식 포인트 샘플링 방법을 제안하며 PointNet ++에 쉽게 통합 할 수 있습니다.
수정된 PointNet ++는 원시 얼굴 포인트 클라우드에서 직접 얼굴 특징을 추출하는 데 사용됩니다.
Another challenge is the lack of large 3D face database. As the deep learning is data greedy, it needs adequate data to show its advantage. In 3D object classification task, ModelNet40 dataset[44] is most used to train and evaluate. It contains 12311 CAD scans from 40 classes, average 300 scans each class. In 2D face recognition, CASIA Webface dataset[47] including 0.5 million images for 10k identities is usually used for tiny study. However, in 3D face, the largest public dataset now is the LS3DFace[51], which is composed of 1853 identities totally 31860 face scans. The available datasets are still far from training the 3D face network. So, we need to generate more 3D data for training. Gilani and Mian[51] proposed to synthesize new identities from models or by interpolating. But these methods need computational preprocessing such as dense correspondence or registration. And the generate face looks same in expression. We propose a data-free method for 3D face recognition that we only use generated data from Gaussian Process Morphable Models(GPMM)[26] in training and real faces in testing. The advantage of GPMM is that we can generate unlimited number of faces by shape and expression coefficients. But we must take care of the distribution gap between generated data and real 3D faces. We constrain the face area to mimic the train data distribution in the test phase.
또 다른 문제는 큰 3D 얼굴 데이터베이스가 없다는 것입니다.
딥러닝은 데이터 탐욕 스럽기 때문에 장점을 보여주기 위해서는 적절한 데이터가 필요합니다.
3D 객체 분류 작업에서 ModelNet40 데이터 셋 [44]은 훈련 및 평가에 가장 많이 사용됩니다.
여기에는 40 개 클래스의 12311 CAD 스캔이 포함되어 있으며 각 클래스는 평균 300 개 스캔합니다.
2D 얼굴 인식에서 10,000 개의 ID에 대한 50 만 개의 이미지를 포함하는 CASIA Webface 데이터 세트 [47]는 일반적으로 소규모 연구에 사용됩니다.
그러나 3D 얼굴에서 현재 가장 큰 공개 데이터 세트는 LS3DFace [51]이며, 1853 개의 ID로 전체 31860 개의 얼굴 스캔으로 구성됩니다.
사용 가능한 데이터 세트는 아직 3D 얼굴 네트워크 훈련과는 거리가 멀습니다.
따라서 훈련을 위해 더 많은 3D 데이터를 생성해야합니다.
Gilani와 Mian [51]은 모델에서 또는 보간을 통해 새로운 정체성을 합성 할 것을 제안했습니다.
그러나 이러한 방법에는 조밀 한 대응 또는 등록과 같은 전산 전처리가 필요합니다.
그리고 생성 얼굴은 표현에서 동일하게 보입니다.
우리는 훈련에서 Gaussian Process Morphable Models (GPMM) [26]에서 생성 된 데이터 만 사용하고 테스트에서는 실제 얼굴을 사용하는 데이터없는 3D 얼굴 인식 방법을 제안합니다.
GPMM의 장점은 모양과 표현 계수에 따라 무제한의 얼굴을 생성 할 수 있다는 것입니다.
하지만 생성 된 데이터와 실제 3D 얼굴 사이의 분포 차이를 처리해야합니다.
테스트 단계에서 기차 데이터 분포를 모방하도록 얼굴 영역을 제한합니다.
An overview of our proposed 3D face recognition method is illustrated in Fig. 1. Main modules for face recognition includes training dataset generating, Network training and testing. In data generating, GPMM is used to synthesize large number 3D faces. During train phase, the network is treated as a classifier with softmax. While in testing phase, we first fine tune on a few real faces and then achieve face verification and identification using the 512-dims features. We evaluate our proposed method on FRGCv2.0[31] and Bosphorus[35] datasets with pose and expression disturbance.
우리가 제안한 3D 얼굴 인식 방법의 개요는 그림 1에 나와 있습니다.
얼굴 인식을 위한 주요 모듈에는 훈련 데이터 세트 생성, 네트워크 훈련 및 테스트가 포함됩니다.
데이터 생성에서 GPMM은 많은 수의 3D 얼굴을 합성하는 데 사용됩니다.
훈련 단계에서 네트워크는 소프트 맥스가있는 분류기로 취급됩니다.
테스트 단계에서 먼저 몇 개의 실제 얼굴을 미세 조정 한 다음 512 차원 기능을 사용하여 얼굴 확인 및 식별을 수행합니다.
FRGCv2.0 [31] 및 Bosphorus [35] 데이터 세트에 대해 제안 된 방법을 포즈 및 표현 장애를 사용하여 평가합니다.
The main contributions of this work are as follows:
• We propose to use GPMM to generate large training data and compensate the distribution difference between the generated data and real faces by constrain the face sampling area.
• We introduce the point clouds for 3D face recognition and a face curvature-aware sampling strategy is integrated into PointNet++ to localize key face points and enhance the feature more discriminative.
• Comprehensive experiments are conducted on 3D face datasets with pose and expressions to demonstrate that our point cloud face recognition framework is competitive and has potential to solve high-level face recognition problems in 3D domain.
이 작업의 주요 기여는 다음과 같습니다.
• GPMM을 사용하여 큰 훈련 데이터를 생성하고 얼굴 샘플링 영역을 제한하여 생성 된 데이터와 실제 얼굴 간의 분포 차이를 보상 할 것을 제안합니다.
• 3D 얼굴 인식을 위한 포인트 클라우드를 도입하고 얼굴 곡률 인식 샘플링 전략이 PointNet ++에 통합되어 주요 얼굴 포인트를 지역화하고 기능을 더욱 차별적으로 강화합니다.
• 우리의 포인트 클라우드 얼굴 인식 프레임 워크가 경쟁력이 있고 3D 영역에서 높은 수준의 얼굴 인식 문제를 해결할 가능성이 있음을 입증하기 위해 포즈와 표정이있는 3D 얼굴 데이터 세트에 대한 포괄적인 실험이 수행됩니다.
2. Related work 관련 업무
2.1. 3D face recognition 3D 얼굴 인식
Most previous methods[3, 10, 15, 50] works directly on the 3D space of facial scans, since full information of the raw data is kept on this original domain. An overview of 3D face recognition method is presented in[1, 5, 30]. Existing 3D methods can be largely classified into two categories: local or global feature descriptor methods. local descriptor based methods match local 3D point signatures derived from the curvatures, shape index or normals. For instance, Gupta[15] matched the 3D Euclidean and geodesic distances between pairs of 25 anthropometric fiducial landmarks to perform 3D face recognition. Berretti et al. [3] represented a 3D face with multiple mesh-DOG keypoints and local geometric histogram descriptors while Drira et al. [10] represented the facial surface by radial curves emanating from the nosetip.
대부분의 이전 방법 [3, 10, 15, 50]은 원시 데이터의 전체 정보가이 원래 도메인에 유지되기 때문에 안면 스캔의 3D 공간에서 직접 작동합니다.
3D 얼굴 인식 방법에 대한 개요는 [1, 5, 30]에 나와 있습니다.
기존 3D 방법은 크게 로컬 또는 전역 기능 설명자 방법의 두 가지 범주로 분류 할 수 있습니다.
로컬 디스크립터 기반 메서드는 곡률, 모양 인덱스 또는 법선에서 파생 된 로컬 3D 포인트 서명과 일치합니다.
예를 들어 Gupta [15]는 3D 얼굴 인식을 수행하기 위해 25 개의 인체 측정 기준 랜드 마크 쌍 사이의 3D 유클리드 및 측지 거리를 일치 시켰습니다.
Berretti et al. [3]은 여러 mesh-DOG 키포인트와 로컬 기하학적 히스토그램 설명자가있는 3D 얼굴을 나타내며 Drira et al. [10]은 코끝에서 나오는 방사형 곡선으로 얼굴 표면을 표현했습니다.
As alternatives, some other methods[19, 51] find reasonable mappings from the 3D space to canonical 2D domains. Kim et al. [19] proposed to frontalize a 3D scan, generate 2.5D depth map and extract the depth map’s features by VGG16 network to represent the 3D face. Gilani and Mian[51] proposed a method that projects face point cloud into depth, azimuth and elevation maps to generate a three channel image. These methods all reduce the face representation dimension from 3D point cloud to 2D images, so as to use CNNs to extract deep features. Gilani and Mian[51] projected two more maps than Kim[19] so as to get more representative feature. So if we project more channels to form a 4-channels, 5-channels, ...... multi-channels map, we can loss less 3D information and obtain more discriminative feature.
대안으로 다른 방법 [19, 51]은 3D 공간에서 표준 2D 도메인으로의 적절한 매핑을 찾습니다.
Kim et al. [19]는 3D 스캔을 정면 화하고, 2.5D 깊이 맵을 생성하고, VGG16 네트워크를 통해 깊이 맵의 특징을 추출하여 3D 얼굴을 표현하도록 제안했습니다.
Gilani와 Mian [51]은 얼굴 포인트 클라우드를 깊이, 방위각 및 고도지도로 투영하여 3 채널 이미지를 생성하는 방법을 제안했습니다. 이러한 방법은 모두 CNN을 사용하여 깊은 특징을 추출하기 위해 3D 포인트 클라우드에서 2D 이미지로 얼굴 표현 차원을 줄입니다. Gilani와 Mian [51]은 더 많은 대표적 특징을 얻기 위해 Kim [19]보다 2 개의지도를 더 투영했습니다.
따라서 더 많은 채널을 투사하여 4 채널, 5 채널, ...... 다중 채널 맵을 형성하면 3D 정보 손실이 줄어들고보다 차별적 인 특징을 얻을 수 있습니다.
2.2. Facial data generation 안면 데이터 생성
One of the main factors for the nearly perfect performance in 2D face recognition is the ability of CNNs to learn from massive training data. For instance, FaceNet[36] was trained on a private database containing 200M labeled images of 8M identities while VGG-Face[28] used 2.6M faces of 2622 people. The public used 2D test database LFW[21] contains more than 13,000 images of faces collected from the web. And the CAISIA webface[47] including 0.5 million of 10k identities and the VGGFace2[6] including 3.3 million of 9.1k persons are commonly used for training. However, 3D face scans need special sensors and technique to obtain which limit the 3D face recognition network. For example, the FRGCv2[31] database contains only 4,007 3D scans of 466 persons while the Bosphorus[35] contains 4,666 scans of 105 persons. The largest publicly available 3D face dataset, ND-2006[11] (a superset of FRGCv2) has only 13,540 scans of 888 unique identities and took over two years to collect.(see in Tab 1)
2D 얼굴 인식에서 거의 완벽한 성능에 대한 주요 요소 중 하나는 CNN이 방대한 훈련 데이터에서 학습 할 수있는 능력입니다.
예를 들어, FaceNet [36]은 8M ID의 2 억 개 라벨 이미지가 포함 된 개인 데이터베이스에서 훈련되었으며 VGG-Face [28]는 2622 명의 얼굴을 260 만 개 사용했습니다.
대중이 사용하는 2D 테스트 데이터베이스 LFW [21]에는 웹에서 수집 한 얼굴 이미지가 13,000 개 이상 포함되어 있습니다.
그리고 50 만 개의 ID를 포함하는 CAISIA 웹 페이스 [47]와 9.1k 명의 사용자 중 330 만 명을 포함하는 VGGFace2 [6]가 일반적으로 훈련에 사용됩니다.
그러나 3D 얼굴 스캔에는 3D 얼굴 인식 네트워크를 제한하는 특수 센서와 기술이 필요합니다.
예를 들어 FRGCv2 [31] 데이터베이스에는 466 명의 3D 스캔 만 4,007 개 포함되어 있고 Bosphorus [35]에는 105 명의 사람에 대한 4,666 개 스캔 만 포함되어 있습니다.
공개적으로 사용 가능한 가장 큰 3D 얼굴 데이터 세트 인 ND-2006 [11] (FRGCv2의 상위 집합)에는 888 개의 고유 한 ID에 대한 13,540 개의 스캔 만 있으며 수집하는 데 2년 이상이 걸렸습니다 (탭 1 참조).
Some works propose to reconstruct faces from 2D face images[48, 13] or create synthetic faces from existing face models[51]. Blanz and Vetter[4] proposed a 3D face morphable model (3DMM) using a multiple PCA-based linear subspace method to represent the facial identity and expression. Dou et al. [9] reconstruct 3DMM parameters with deep neural network. By means of a mutil-task and a fusion convolutional network, the reconstructed face has more impressive expressions. Yi et al. [48] propose to address the face reconstruction in the wild by using a multi-metric regression network to align a 3DMM to an input image. Gecer et al. [13]takes a radically different approach and harness the power of GANs and DCNNs in order to reconstruct the facial texture and shape from single images. GANs are utilized to train a very powerful generator of facial texture in UV space and then optimize the parameters with the supervision of pretrained deep identity features through an end-to-end differentiable framework. Gilani and Mian [51] proposed a technique to generate a training dataset of 3.1M scans of 100K identities by simultaneously interpolating between the facial identity and facial expression spaces.
일부 작품은 2D 얼굴 이미지에서 얼굴을 재구성하거나 [48, 13] 기존 얼굴 모델에서 합성 얼굴을 생성하는 것을 제안합니다 [51]. Blanz and Vetter [4]는 얼굴 정체성과 표정을 표현하기 위해 다중 PCA 기반 선형 부분 공간 방법을 사용하는 3D 얼굴 변형 모델 (3DMM)을 제안했습니다.
Dou et al. [9] 심층 신경망을 사용하여 3DMM 매개 변수를 재구성합니다.
절단 작업과 융합 컨볼 루션 네트워크를 통해 재구성 된 얼굴은 더 인상적인 표현을가집니다.
Yi et al. [48]은 3DMM을 입력 이미지에 정렬하기 위해 다중 메트릭 회귀 네트워크를 사용하여 야생에서 얼굴 재구성을 해결하는 방법을 제안합니다.
Gecer et al. [13]은 근본적으로 다른 접근 방식을 취하고 단일 이미지에서 얼굴 질감과 모양을 재구성하기 위해 GAN 및 DCNN의 힘을 활용합니다.
GAN은 UV 공간에서 매우 강력한 얼굴 텍스처 생성기를 훈련 한 다음 엔드-투-엔드 차별화 가능한 프레임 워크를 통해 사전 훈련 된 딥 아이덴티티 기능의 감독으로 매개 변수를 최적화하는 데 사용됩니다.
Gilani and Mian [51]은 얼굴 정체성과 표정 공간 사이를 동시에 보간하여 10 만 개의 정체성에 대한 310 만 스캔의 훈련 데이터 세트를 생성하는 기술을 제안했습니다.
2.3. Deep learning on point clouds 포인트 클라우드에 대한 딥 러닝
Recently we see a surge of interest in designing deep learning architectures suited for point clouds[33, 7, 24, 38, 40, 46, 43], which demonstrated remarkable performance in 3D object classification and segmentation. The difficulty to transform the deep networks from 2D image to 3D point cloud is to design a well sufficient operation or convolution to the unordered data which should be invariant to the orders. PointNet[7] started the use of deep learning networks for 3D point cloud processing. PointNet used a symmetric function to aggregate point-wise feature which is invariant to the permutations of input points. PointNet++[33] hierarchical applied PointNet recursively to obtain both global and local features on point cloud. Besides, PointCNN[24] proposed to learn X-transform to allow a convolution operator to work directly on point cloud data. SpiderCNN[46] comprised of SpiderConv units extends convolutional operations from regular grids to irregular point sets that can be embedded in R n, by parametrizing a family of convolutional filters. DGCNN[40] and SpecGCN[38] introduces Graph CNN into the point cloud processing. In DGCNN, EdgeConv operator is just a convolution-like operations to capture local geometric structure by construct a local neighborhood graph. In addition, the graph is updated by each layer using the nearest neighbors in the feature space, making the respect field larger. In SpecGCN, graph convolution is carried out on a nearest neighbor graph constructed from a points neighborhood to jointly learn features. And a novel pooling strategy to aggregate information from within clusters of nodes that are close to one another in their spectral coordinates is proposed, leading to richer overall feature descriptors. However, these methods have so far only been used for object classification and segmentation. To the best of our knowledge, no 3D point cloud based face recognition technique that leverages deep learning-based embeddings to match two 3D face has been developed yet.
최근 우리는 3D 객체 분류 및 세분화에서 놀라운 성능을 보여준 포인트 클라우드 [33, 7, 24, 38, 40, 46, 43]에 적합한 딥러닝 아키텍처 설계에 대한 관심이 급증하고 있습니다.
딥 네트워크를 2D 이미지에서 3D 포인트 클라우드로 변환하는 데 어려움은 순서에 따라 달라야하는 순서가 지정되지 않은 데이터에 대한 충분한 작업 또는 컨볼 루션을 설계하는 것입니다.
PointNet [7]은 3D 포인트 클라우드 처리를위한 딥러닝 네트워크 사용을 시작했습니다.
PointNet은 대칭 함수를 사용하여 입력 포인트의 순열에 변하지 않는 포인트 별 기능을 집계했습니다.
PointNet ++ [33] 포인트 클라우드에서 글로벌 기능과 로컬 기능을 모두 얻기 위해 계층 적으로 적용된 PointNet. 또한 PointCNN [24]은 컨볼 루션 연산자가 포인트 클라우드 데이터에서 직접 작업 할 수 있도록 X- 변환 학습을 제안했습니다.
SpiderConv 유닛으로 구성된 SpiderCNN [46]은 컨벌루션 필터 제품군을 매개 변수화하여 일반 그리드에서 R n에 포함할 수있는 불규칙한 포인트 세트로 컨볼 루션 연산을 확장합니다.
DGCNN [40] 및 SpecGCN [38]은 그래프 CNN을 포인트 클라우드 처리에 도입합니다.
DGCNN에서 EdgeConv 연산자는 로컬 인접 그래프를 구성하여 로컬 기하학적 구조를 캡처하는 컨볼 루션과 유사한 작업입니다.
또한, 그래프는 피쳐 공간에서 가장 가까운 이웃을 사용하여 각 레이어별로 업데이트되므로 존중 필드가 더 커집니다.
SpecGCN에서 그래프 컨볼 루션은 특징을 공동 학습하기 위해 인접 지점에서 구성된 가장 가까운 인접 그래프에서 수행됩니다.
그리고 스펙트럼 좌표에서 서로 가까운 노드 클러스터 내에서 정보를 집계하는 새로운 풀링 전략이 제안되어 전체 기능 설명자가 더 풍부 해집니다.
그러나 이러한 방법은 지금까지 객체 분류 및 세분화에만 사용되었습니다.
우리가 아는 한, 딥 러닝 기반 임베딩을 활용하여 두 개의 3D 얼굴을 일치시키는 3D 포인트 클라우드 기반 얼굴 인식 기술은 아직 개발되지 않았습니다.
3. Face augmentation and point cloud recognition network 얼굴 확대 및 포인트 클라우드 인식 네트워크
Given a pair of face point clouds, the goal of our method is to verify whether these two scans belong to one identity or not. The face point cloud is represented as a set of sevendimensional points Fi = [xp, yp, zp, nxp, nyp, nzp, cp], where i = 1, ..., N, p = 1, .., P, N is the number of faces. P is the number of points each face and P varies in real faces which adds difficult to face correspondence. We consider the xyz coordinate as the face shape and use normal vectors extract deep features. c is curvature obtained according to .
한 쌍의 얼굴 포인트 클라우드가 주어지면 우리 방법의 목표는 이 두 스캔이 하나의 신원에 속하는지 여부를 확인하는 것입니다.
3.1. 3D face augmentation 3.1. 3D 얼
We propose to synthesize face images by sampling from a statistical 3D Morphable Model of face shape and expression. The generator can synthesize an arbitrary amount of facial identities with different expressions. We assume that the facial identity is fully determined by the 3D face shape. We use the GPMM [26], for which the shape distribution is estimated from 200 neutral high-resolution 3D face scans. The parameters follow a Gaussian distribution. The identity face model consist of shape model and expression model Ms = (µs, σs, Us), Me = (µe, σe, Ue) (1) where µ{s,t} ∈ R 3m are the mean, σ{s,t} ∈ R n−1 the standard deviations and U{s,t} = [u1, ...un] ∈ R 3m×n−1 are an orthogonal basis of principle components of shape and expression. New faces are generated from the model as linear combinations of the principal components s(α) = µs + Usdiag(σs)α e(β) = µe + Uediag(σe)β (
우리는 얼굴 모양과 표정의 통계적 3D Morphable Model에서 샘플링하여 얼굴 이미지를 합성하는 것을 제안합니다. 생성기는 다양한 표정을 가진 임의의 양의 얼굴 정체성을 합성 할 수 있습니다. 얼굴 아이덴티티는 3D 얼굴 모양에 의해 완전히 결정된다고 가정합니다. 우리는 GPMM [26]을 사용하는데, 200 개의 중성 고해상도 3D 얼굴 스캔으로부터 모양 분포를 추정합니다. 매개 변수는 가우스 분포를 따릅니다. 정체성 얼굴 모델은 형상 모델과 표현 모델로 구성됩니다. Ms = (µs, σs, Us), Me = (µe, σe, Ue) (1) 여기서 µ {s, t} ∈ R 3m은 평균, σ {s , t} ∈ R n−1 표준 편차와 U {s, t} = [u1, ... un] ∈ R 3m × n−1은 모양과 표현의 주성분의 직교 기반입니다. 주성분 s (α) = µs + Usdiag (σs) α e (β) = µe + Uediag (σe) β (2)의 선형 조합으로 모델에서 새면이 생성됩니
The coefficients α, β are independent and normally distributed with unit variance under the assumption of normally distributed training examples and a correct mean estimat
계수 α, β는 독립적이며 정규 분포 된 학습 예제와 정확한 평균 추정을 가정하여 단위 분산을 사용하여 정규 분포를 따릅니
By drawing random samples from this distribution we generate random 3D face meshes with unique shape αi and expression βj . A new face instance F is represented as F = s(αi) + e(βj )
이 분포에서 임의의 샘플을 추출하여 고유 한 모양 αi 및 표현 βj를 가진 임의의 3D 얼굴 메시를 생성합니다. 새 얼굴 인스턴스 F는 F = s (αi) + e (βj) (3)로 표시됩니
그림 2. GPMM면과 실제면. 처음 두 열은 두 개의 다른 식을 가진 네 개의 GPMM ID. 마지막 두 열은 FRGCv2.0 및 Bosphorus 데이터 세트의 실제 얼굴입니다.
We totally generated 10k independent αi for unique identities and 50 βj for expressions. Example facial scans synthesized from the generator are illustrated in the first two columns of Fig. 2. Compared to the real faces show in the last two columns of Fig. 2, the most distinct is the details in eyes, nose, mouths which will change according to the poses and expressions. According to these differences between the train and real datasets, we propose to apply different sample strategy to extract the same features. The sampling method based on curvatures will be introduced next
우리는 고유 한 정체성에 대해 10k 독립 αi를 생성하고 표현식에 대해 50βj를 생성했습니다. 생성기에서 합성 된 얼굴 스캔의 예는 그림 2의 처음 두 열에 설명되어 있습니다. 그림 2의 마지막 두 열에 표시된 실제 얼굴과 비교할 때 가장 뚜렷한 것은 변경되는 눈, 코, 입의 세부 사항입니다. 포즈와 표정에 따라. 기차와 실제 데이터 세트의 이러한 차이점에 따라 동일한 특성을 추출하기 위해 다른 샘플 전략을 적용 할 것을 제안합니다. 곡률을 기반으로 한 샘플링 방법은 다음으로 소개됩니
3.2. Curvature-aware sampling strategy 곡률 인식 샘플
In PointNet++, iterative farthest point sampling(FPS) strategy is used to choose the centroids subset based on the metric distance. Compared with random sampling, FPS has better coverage of the entire point set on given the same number of centroids. However, 3D face point clouds in the strict sense do not belong to metric point set. Different from objects in ModelNet40 dataset, e.g. planes and chairs, face scans just have one surface and all points lie on i
PointNet ++에서는 반복적 인 FPS (Farthest Point Sampling) 전략을 사용하여 메트릭 거리를 기반으로 중심 부분 집합을 선택합니다. 무작위 샘플링과 비교할 때 FPS는 동일한 수의 중심에서 설정된 전체 포인트를 더 잘 커버합니다. 그러나 엄격한 의미에서 3D면 점 구름은 미터법 점 집합에 속하지 않습니다. ModelNet40 데이터 세트의 개체와 다릅니다. 비행기와 의자, 얼굴 스캔에는 표면이 하나만 있고 모든 점이 그 위에 있습니
그림 3. ModelNet 개체 및 생성 된 얼굴에 대한 FPS 결과. 맨 윗줄은 비행기, 의자, 책상 및 얼굴. 맨 아래 행은 512 점으로 샘플링 된 결과입니다.
Using the FPS on planes, chairs and desks, some special points will be sampled out such as the corners of desk, the edges in plane wings and the corners in chair legs as see in Fig. 3. But to face point clouds, the FPS result in the contour points which may only represent the face size and the noise or spark points which is not very useful for face representation. Only few points localize in the nose, eye area where prove to be more important in face recognition
비행기, 의자 및 책상에서 FPS를 사용하여 그림 3과 같이 책상 모서리, 비행기 날개의 가장자리 및 의자 다리의 모서리와 같은 일부 특수 지점을 샘플링합니다. 얼굴 크기 만 나타낼 수있는 윤곽 점과 얼굴 표현에 그다지 유용하지 않은 노이즈 또는 스파크 포인트가 생성됩니다. 얼굴 인식에서 더 중요한 것으로 판명 된 코, 눈 영역에 국한되는 지점은 몇 개뿐입니
In FPS, the Euclidean distance is used to measure the relation between points. However, to faces, Euclidean distance is not a good choice because it is sensitive to miscellaneous and contour points, especially in the real face point clouds which is largely affected by the measure accuracy containing more noise points. So, sampling centroids on faces is different from the common objects. We need to modify the metric strategy to pay more attention to the feature points instead of the distant points. Inspired by the DGCNN[40] and PointConv[43], we combine the facial curvature with the metric distance to represent the facial feature distance. Using the modified distance, we can filter out the points with high curvature in a local reg
FPS에서 유클리드 거리는 포인트 간의 관계를 측정하는 데 사용됩니다. 그러나 얼굴의 경우 유클리드 거리는 기타 및 윤곽선 점에 민감하기 때문에 특히 더 많은 노이즈 포인트를 포함하는 측정 정확도에 크게 영향을받는 실제 얼굴 점 구름에 민감하기 때문에 좋은 선택이 아닙니다. 따라서 얼굴의 중심을 샘플링하는 것은 일반적인 객체와 다릅니다. 먼 지점 대신 특징 지점에 더 많은주의를 기울 이도록 메트릭 전략을 수정해야합니다. DGCNN [40] 및 PointConv [43]에서 영감을 받아 얼굴 곡률을 미터 거리와 결합하여 얼굴 특징 거리를 나타냅니다. 수정 된 거리를 사용하여 로컬 영역에서 곡률이 높은 점을 필터링 할 수 있습니
Given the input point clouds P = P1, P2, ..., Pn , the FPS result in the output subset Q = Pq1, Pq2, ..., Pqm . The aim is to search the point Pqi in the remaining point set P − Q to satisfy: argmaxX j−1 k=1 d(Pqi, Pqk) (4) where, d(Pqi, Pqk) computer the Euclidean distance between Pqi and Pqk. Now, we fuse the Euclidean distance with facial curvature. dc = d(Pqi, Pqk) · C λ qi (5) where the Cqi represent the curvature of the point Pqi and λ is a hyper-parameter balance the curvature. In the log format log(dc) = log(d(Pqi, Pqk)) + λCqi (6) From the log view, we can see that curvature contributes to the distance by λ. Points with large curvature get large distance and is more likely to be chosen. But we can suppress it by a factor λ other wise it will destroy the normal distribution of points. When λ = 0, CPS equals to the original FPS. As show in Fig. 4(a), from left to right is the original FPS result on face, λ = 0.1 CPS result and λ = 1 CPS result. We can see that when λ = 1 the sampling focus on some landmark points. In this case, the sampling result is extremely affected by the curvature which is not beneficial to extract features. We choose the best λ according to experiments in Sec. 4. In Fig. 4(b), we can see the details about the curvature function. The FPS’s point(in red) will shit to the blue points according to curvature. A 2D illustration in Fig. 4(c) is more clearly. We use the FPS to choose 3 target points from 10 source points p1, p2, ..., p10 . The original FPS will choose p1, p10, p5 in distance order. But we can clearly know that p7 is more representative than p5. By means of curvature, our sampling strategy choose the p7 replace the p5.
입력 포인트 클라우드 P = P1, P2, ..., Pn이 주어지면 FPS는 출력 부분 집합 Q = Pq1, Pq2, ..., Pqm이됩니다. 목표는 나머지 점 세트 P − Q에서 점 Pqi를 검색하여 다음을 충족하는 것입니다. argmaxX j−1 k = 1 d (Pqi, Pqk) (4) 여기서, d (Pqi, Pqk) 컴퓨터 Pqi 사이의 유클리드 거리 및 Pqk. 이제 유클리드 거리를 안면 곡률과 융합합니다. dc = d (Pqi, Pqk) · C λ qi (5) 여기서 Cqi는 점 Pqi의 곡률을 나타내고 λ는 곡률의 하이퍼 매개 변수 균형입니다. 로그 형식에서 log (dc) = log (d (Pqi, Pqk)) + λCqi (6) 로그보기에서 곡률이 거리에 λ만큼 기여 함을 알 수 있습니다. 곡률이 큰 점은 거리가 멀어지고 선택 될 가능성이 더 높습니다. 그러나 우리는 그것을 λ 인자로 억제 할 수 있습니다. 그렇지 않으면 점의 정규 분포를 파괴 할 것입니다. λ = 0이면 CPS는 원래 FPS와 같습니다. 그림 4 (a)에서 볼 수 있듯이 왼쪽에서 오른쪽으로 얼굴에 대한 원래 FPS 결과, λ = 0.1 CPS 결과 및 λ = 1 CPS 결과입니다. λ = 1 일 때 샘플링이 일부 랜드 마크 지점에 초점을 맞추는 것을 볼 수 있습니다. 이 경우 샘플링 결과는 형상 추출에 도움이되지 않는 곡률의 영향을 많이받습니다. Sec의 실험에 따라 최상의 λ를 선택합니다. 4. 그림 4 (b)에서 곡률 함수에 대한 세부 사항을 볼 수 있습니다. FPS의 포인트 (빨간색)는 곡률에 따라 파란색 포인트로 똥을냅니다. 그림 4 (c)의 2D 그림이 더 명확합니다. FPS를 사용하여 10 개의 소스 포인트 p1, p2, ..., p10에서 3 개의 타겟 포인트를 선택합니다. 원래 FPS는 거리 순서로 p1, p10, p5를 선택합니다. 그러나 우리는 p7이 p5보다 더 대표적이라는 것을 분명히 알 수 있습니다. 곡률을 통해 우리의 샘플링 전략은 p7을 선택하여 p5를 대체합니
In addition, to avoid interference from outliers and edge points, we limit candidate regions for sampling points. Because the size of face is an inherent property, so we can use an absolute value and do not need to consider issues such as face symmetry and missing. Before CPS, we filter the points far from the noes tip according to the distance r. We should notice that the filered points are just excluded from the sample candidates and they are still in the neighbors contributing to the local featu
또한 특이 치 및 에지 포인트의 간섭을 피하기 위해 샘플링 포인트에 대한 후보 영역을 제한합니다. 얼굴의 크기는 내재 된 속성이기 때문에 절대 값을 사용할 수 있으며 얼굴 대칭 및 결측과 같은 문제를 고려할 필요가 없습니다. CPS 이전에 거리 r에 따라 코 끝에서 멀리 떨어진 지점을 필터링합니다. 파일링 된 포인트는 샘플 후보에서 제외되고 여전히 로컬 기능에 기여하는 이웃에 있음을 알아야합니
3.3. Network Architecture 네트워크
Inspired by the success of PointNet++[33], we propose to use the similar network structure to extract face representations. The proposed network is visualized in Fig. 1. Three set abstraction(SA) modules are used which contains sampling, grouping and MLP layers to extract local-global features. The first two SA focus on local feature with different receptive field and the last one aggregate global feature. The proposed CPS is integrated in sampling layer to sample key points. We change the ball radius in grouping layer to fit the face scale and densit
PointNet ++ [33]의 성공에 영감을 받아 유사한 네트워크 구조를 사용하여 얼굴 표현을 추출 할 것을 제안합니다. 제안 된 네트워크는 그림 1에 시각화되어 있습니다. 샘플링, 그룹화 및 MLP 계층을 포함하는 세 개의 SA (set abstraction) 모듈이 사용되어 로컬 전역 기능을 추출합니다. 처음 두 SA는 수신 필드가 다른 로컬 기능과 마지막 하나의 집계 전역 기능에 중점을 둡니다. 제안 된 CPS는 핵심 포인트를 샘플링하기 위해 샘플링 레이어에 통합됩니다. 그룹화 레이어의 볼 반경을 페이스 스케일과 밀도에 맞게 변경합니
We take the global feature as the face embedding as proposed in [36]. The embeddings, represent discriminative face feature, can be used to calculate the cosine similarity between faces. If the distance with two scans larger than the given threshold, we consider the two scans belong to the same identity, vice ve
우리는 [36]에서 제안한 얼굴 임베딩으로 글로벌 기능을 사용합니다. 차별적 인 얼굴 특징을 나타내는 임베딩은 얼굴 간의 코사인 유사성을 계산하는 데 사용할 수 있습니다. 두 스캔이 주어진 임계 값보다 큰 거리가 있다면 두 스캔이 동일한 ID에 속하는 것으로 간주하고 그 반대의 경우도 마찬가지입니
We use angular loss[25] during the classification task training. The angular loss added a margin between different classes to enlarge the inter-class distance[8, 42, 39]. La = − 1 N X N i=1 log e scos(mθyi ) e scos(mθyi ) + PC j=1,y6=yi e scosθj (7) where the bias is fixed to 0. θj is the angle between the weight Wj and the feature xi . s is the scale factor to control the convergence. m is an additive angular margin penalty to simultaneously enhance the intra-class compactness and inter-class discrepa
분류 작업 훈련 중에 각도 손실 [25]을 사용합니다. 각도 손실은 클래스 간 거리를 확대하기 위해 서로 다른 클래스간에 마진을 추가했습니다 [8, 42, 39]. La = − 1 NXN i = 1 log e scos (mθyi) e scos (mθyi) + PC j = 1, y6 = yi e scosθj (7) 여기서 바이어스는 0으로 고정됩니다. θj는 가중치 Wj와 기능 xi. s는 수렴을 제어하기위한 축척 계수입니다. m은 클래스 내 압축성과 클래스 간 불일치를 동시에 향상시키기위한 추가 각도 여백 패널티입니
After classification training, we fine tune our network on a few real faces using the triplet loss [36]. We change the metric distance in triplet loss function from Euclidean to cosine. Using triplet loss instead of softmax loss avoids optimizing a new fully-connected classify layer which is time inefficient. And to real databases, using triplet loss can converge quickly and fixable. Lt = 1 N X N i=1 (d(x a i , x p i ) − d(x a i , xn i ) + α) (8) where d(·) computer the cosine distance between two vectors. x a i , x p i , xn i is the anchor, positive and negative samples respectively. α is the margin that is enforced between positive pairs and negative pa
분류 훈련 후, 우리는 triplet loss [36]를 사용하여 몇 가지 실제 얼굴에 대한 네트워크를 미세 조정합니다. 삼중 손실 함수의 메트릭 거리를 유클리드에서 코사인으로 변경합니다. 소프트 맥스 손실 대신 삼중 항 손실을 사용하면 시간 비효율적 인 새로운 완전 연결 분류 계층을 최적화하는 것을 방지 할 수 있습니다. 그리고 실제 데이터베이스에서는 삼중 항 손실을 사용하여 신속하고 수정 가능하게 수렴 할 수 있습니다. Lt = 1 N X N i = 1 (d (x a i, x p i) − d (x a i, xn i) + α) (8) 여기서 d (·)는 두 벡터 사이의 코사인 거리를 계산합니다. x a i, x p i, xn i는 각각 앵커, 양수 및 음수 샘플입니다. α는 양수 쌍과 음수 쌍 사이에 적용되는 마진입니
4. Experiments and res
In this section, we first evaluate the affects of proposed sampling strategy and augment data for 3D faces. Massive experiments are conducted to choose the hyper-parameters. And then, we select the best hyper-parameter setting for face recognition on different 3D face databas
이 섹션에서는 먼저 제안 된 샘플링 전략의 영향을 평가하고 3D 얼굴에 대한 데이터를 증가시킵니다. 하이퍼 매개 변수를 선택하기 위해 대규모 실험이 수행됩니다. 그런 다음 서로 다른 3D 얼굴 데이터베이스에서 얼굴 인식을위한 최상의 하이퍼 매개 변수 설정을 선택합니
4.1. Implementation Details 구현 세
In both classification training and fine tuning, the input to our network is face scans with 28588 points. Each point has 7 dimension features including 3 Euclidean coordinates xyz, corresponding normal vectors nxnynz and curvature c. The normal vector and curvature are calculated by PCL [34]. We train the propose network in PyTorch [29]. We use Adam [20] optimizer and performs batch normalization for all layers excluding the last classification layer. The initial learning is set to 0.001 and reduced by a factor of 10 after every 20 epochs. And the weight decay is set to 0.5, which is decreased by 0.5 up to 0.99. The network is trained for totally 60 epochs with batch size of 32 scans on a single NVIDIA GeForce GTX 1080TI GPU. For fine tuning, learning is set to 1e-5 and we randomly sample triplet pairs from the part of Bosphorus and FRGCv2.0 databas
분류 훈련과 미세 조정 모두에서 네트워크에 대한 입력은 28588 포인트가있는 얼굴 스캔입니다. 각 점에는 3 개의 유클리드 좌표 xyz, 해당 법선 벡터 nxnynz 및 곡률 c를 포함한 7 개의 차원 기능이 있습니다. 법선 벡터와 곡률은 PCL에 의해 계산됩니다 [34]. PyTorch [29]에서 제안 네트워크를 훈련시킵니다. Adam [20] 최적화기를 사용하고 마지막 분류 계층을 제외한 모든 계층에 대해 일괄 정규화를 수행합니다. 초기 학습은 0.001로 설정되고 매 20 Epoch 후에 10 배씩 감소합니다. 무게 감쇄는 0.5로 설정되어 0.5에서 0.99까지 감소합니다. 이 네트워크는 단일 NVIDIA GeForce GTX 1080TI GPU에서 배치 크기가 32 개 스캔 인 총 60 epoch에 대해 훈련되었습니다. 미세 조정을 위해 학습은 1e-5로 설정되고 Bosphorus 및 FRGCv2.0 데이터베이스의 일부에서 삼중 항 쌍을 무작위로 샘플링합니
4.2. Ablation S
There are three hyper-parameters: candidate region distance r, curvature factor λ and train data numbers or classes N. We adopt the ablation study on each parameter. As the train data numbers affect the training time, the first two study in conducted on N = 500 classes total 25,000 face scans to save the training time. And we last evaluate the train data classes vary from 500 classes to 10,000 classes. We choose a subset from the Bosphorus database as the evaluate set Beva
세 가지 하이퍼 매개 변수가 있습니다 : 후보 영역 거리 r, 곡률 계수 λ 및 훈련 데이터 번호 또는 클래스 N. 각 매개 변수에 대한 절제 연구를 채택합니다. 열차 데이터 숫자가 훈련 시간에 영향을 미치기 때문에 N = 500 클래스에서 수행 된 처음 두 연구는 훈련 시간을 절약하기 위해 총 25,000 개의 얼굴 스캔을 수행했습니다. 마지막으로 기차 데이터 클래스가 500 개 클래스에서 10,000 개 클래스까지 다양하다는 것을 평가했습니다. Bosphorus 데이터베이스에서 Beval 평가 세트로 하위 집합을 선택합니
candidate region distance r. 후보 지역 거
We conduct open-set face recognition on the Beval. Fig. 5 illustrates the importance of candidate region distance r. Either big r or small r is not suitable for 3D face data. r = all equals the original FPS, we can see that, after limit the candidate in about 0.5 ∼ 0.7 the ROC curves are higher and perform better. When r cover all points, sampling result will contain more edge points which will decrease the recognition performance. When r is small, sampling result only keeps a litter face area and loss some useful information. To balance the effect between redundant edge points and useful facial representation, we choose r = 0.7 to get the best result and use for next experiments.
우리는 Beval에서 개방형 얼굴 인식을 수행합니다. 그림 5는 후보 영역 거리 r의 중요성을 보여준다. 큰 r 또는 작은 r은 3D 얼굴 데이터에 적합하지 않습니다. r = 모두 원래 FPS와 같으며 후보를 약 0.5 ∼ 0.7로 제한 한 후 ROC 곡선이 더 높고 성능이 더 우수하다는 것을 알 수 있습니다. r이 모든 포인트를 포함하면 샘플링 결과에 더 많은 에지 포인트가 포함되어 인식 성능이 저하됩니다. r이 작을 때, 표본 추출 결과는 한배 얼굴 면적 만 유지하고 유용한 정보를 잃게됩니다. 중복 된 가장자리 지점과 유용한 얼굴 표현 사이의 효과의 균형을 맞추기 위해 r = 0.7을 선택하여 최상의 결과를 얻고 다음 실험에 사용합니
curvature factor λ. 곡률 계
We also evaluate the effectiveness of curvature factor λ as shown in Fig. 6. λ = 0 equals to the original FPS and means curvature is not introduced into the sampling. when λ is too big λ = 0.5, as shown in Fig. 4, the sampling points will focus on the high-curvature points and loss the uniform, resulting in a decrease gap in recognition performance. We can see that a small curvature factor λ = 0.1 is useful to slightly shift some points without destroying the uniform distribution.
우리는 또한 그림 6과 같이 곡률 계수 λ의 효과를 평가합니다. λ = 0은 원래 FPS와 같으며 곡률이 샘플링에 도입되지 않음을 의미합니다. λ가 너무 크면 λ = 0.5 (그림 4)와 같이 샘플링 포인트가 높은 곡률 포인트에 초점을 맞추고 균일 성을 잃어 인식 성능의 차이가 감소합니다. 작은 곡률 계수 λ = 0.1이 균일 분포를 파괴하지 않고 일부 점을 약간 이동하는 데 유용하다는 것을 알 수 있습
training classe
One of the advantage of our data augmentation method is that we can generate infinite number of training data. But too many data leads to the time inefficient. So we should achieve a balance between recognition performance and training time waste. As seen in Fig. 7, the more data network train, the higher recognition accuracy. However, the training time increases linearly with N.
데이터 증대 방법의 장점 중 하나는 무한한 수의 훈련 데이터를 생성 할 수 있다는 것입니다. 그러나 데이터가 너무 많으면 시간이 비효율적입니다. 따라서 인식 성능과 훈련 시간 낭비 사이의 균형을 유지해야합니다. 그림 7에서 볼 수 있듯이 데이터 네트워크 트레인이 많을수록 인식 정확도가 높아집니다. 그러나 훈련 시간은 N에 비례하여 증가합니
While N = 500 needs 4 hours, N = 10, 000 waste 3 days. When N is large, the training time required to increase the recognition accuracy by 0.1% is several times higher than previous. So we train our work on 10,000 classes in this paper. And if you need higher performance, you can train on bigge
N = 500은 4 시간이 필요하지만 N = 10,000은 3 일을 낭비합니다. N이 크면 인식 정확도를 0.1 % 높이는 데 필요한 훈련 시간이 이전보다 몇 배 더 길어집니다. 그래서 우리는이 백서에서 10,000 개의 수업에 대한 작업을 훈련합니다. 더 높은 성능이 필요한 경우 더 큰 N으로 훈련 할 수 있습니
4.3. Generalization on FRGC and Borphous FRGC 및 Borphous에 대한
The proposed approach is also evaluated on FRGCv2.0 and Borphous databases for face identification under different expression setting
제안 된 접근 방식은 FRGCv2.0 및 Borphous 데이터베이스에서 다양한 표정 설정에서 얼굴 식별을 위해 평가됩니
For FRGCv2 database, the first scan of each identity is selected as gallery and the rest scans are treated as probes. We get 466 galleries and 3541 probes. The rank-1 results are displayed in Tab. 2 compared with state-of-the-art methods. We also train a PointNet++ network on the faces without our CPS. We can see that the raw PointNet++ perform far from the the-state-of-art methods, which demonstrate the effectiveness of our proposed CPS method. Compared with FR3DNet[51] which get a 97.06% accuracy trained on over 3 million scans and 99.88% after fine tuning, our network trained on 0.5 million faces still exists a gap. But we think the network trained without any real data has achieved our goal. Actually we can further enhance our network by using more training data or fine tuning on real faces. We have confirmed that more training data contributing to higher performance before. So we tempt to fine tune on galleries of FRGCv2.0 and our network shows a great promote which nearly equal to FR3DNet[51]. We compare our ROCs with and without fine tuning in Fig. 8. There is a significant upgrade after fine tuning on real faces. This encourage us to first train on larger generated data to pre-train the network and then fine tune on a few real faces to get best recognition performa
FRGCv2 데이터베이스의 경우 각 ID의 첫 번째 스캔이 갤러리로 선택되고 나머지 스캔은 프로브로 처리됩니다. 466 개의 갤러리와 3541 개의 프로브가 있습니다. 순위 1 결과는 탭에 표시됩니다. 2는 최첨단 방법과 비교됩니다. 또한 CPS없이 얼굴에서 PointNet ++ 네트워크를 훈련합니다. 원시 PointNet ++는 제안 된 CPS 방법의 효과를 보여주는 최첨단 방법과는 거리가 멀다는 것을 알 수 있습니다. 300 만 개 이상의 스캔에서 97.06 %의 정확도를, 미세 조정 후 99.88 %의 정확도를 얻은 FR3DNet [51]과 비교할 때, 50 만 개의 얼굴에 대해 훈련 된 네트워크는 여전히 갭이 있습니다. 그러나 우리는 실제 데이터없이 훈련 된 네트워크가 우리의 목표를 달성했다고 생각합니다. 실제로 우리는 더 많은 훈련 데이터를 사용하거나 실제 얼굴에 대한 미세 조정을 통해 네트워크를 더욱 향상시킬 수 있습니다. 우리는 이전에 더 많은 훈련 데이터가 더 높은 성능에 기여한다는 것을 확인했습니다. 그래서 우리는 FRGCv2.0의 갤러리를 미세 조정하고 싶고 우리의 네트워크는 FR3DNet [51]과 거의 동일한 훌륭한 홍보를 보여줍니다. 그림 8에서 미세 조정을 사용하거나 사용하지 않은 ROC를 비교합니다. 실제 얼굴에 대한 미세 조정 후 상당한 업그레이드가 있습니다. 이를 통해 먼저 더 큰 생성 데이터를 학습하여 네트워크를 사전 학습 한 다음 몇 가지 실제 얼굴을 미세 조정하여 최상의 인식 성능을 얻을 수 있습니
For Bosphorus database, we follow the protocol in [3] to evaluate the expression performance. For each subject,the first neutral scan is included in the gallery set, whereas the remaining scans are divided into Neutral, expressive, Lower Face Action Unit (LFAU), Upper Face Action Unit (UFAU) and Combined Action Unit (CAU). The results are displayed in Tab. 3. We can see that our network trained only on generated data has overall performance close to thestate-of-art methods. This demonstrate that our recognition method generalize well for unseen identities. After fine tuning on the first 30 identities in Bosphorus database, our network outperforms 10% than original one. The FR3DNet in [51] achieved 100% after fine tuning which using large real fa
Bosphorus 데이터베이스의 경우 [3]의 프로토콜에 따라 발현 성능을 평가합니다. 각 피사체에 대해 첫 번째 중립 스캔은 갤러리 세트에 포함되고 나머지 스캔은 중립, 표현, LFAU (Lower Face Action Unit), UFAU (Upper Face Action Unit) 및 CAU (Combined Action Unit)로 구분됩니다. 결과는 Tab에 표시됩니다. 3. 생성 된 데이터에 대해서만 훈련 된 네트워크가 최첨단 방법에 가까운 전반적인 성능을 가지고 있음을 알 수 있습니다. 이것은 우리의 인식 방법이 보이지 않는 신원에 대해 잘 일반화된다는 것을 보여줍니다. Bosphorus 데이터베이스에서 처음 30 개의 ID를 미세 조정 한 후 네트워크는 원래 네트워크보다 10 % 성능이 뛰어납니다. [51]의 FR3DNet은 큰 실제 얼굴을 사용한 미세 조정 후 100 % 달성했습니
5. Conclu
In this paper, we try to present a new 3D face recognition approach based on point cloud. To avoid the problem of lacking large training dataset, we propose a datafree method that GPMM is introduced to synthesize model faces to replace real faces in training procedure. After analyzing the distribution difference between synthesized and real faces, a face area constraint method to promote consistency of distribution. A curvature-aware point sampling strategy is proposed to filter distinct face points and extract deep features. The proposed method generalizes well to unseen faces and after fine tuning with real faces it outperforms the state-of-the-art face recognition algorithms in the 3D domain. Our network is also competitive in case of expression and pose challenge
본 논문에서는 포인트 클라우드를 기반으로 한 새로운 3D 얼굴 인식 접근 방식을 제시하려고합니다. 대규모 훈련 데이터 세트가 부족한 문제를 피하기 위해 GPMM을 도입하여 훈련 절차에서 실제 얼굴을 대체하기 위해 모델 얼굴을 합성하는 데이터없는 방법을 제안합니다. 합성 된 얼굴과 실제 얼굴의 분포 차이를 분석 한 후, 분포의 일관성을 높이기위한 얼굴 면적 제약 방법. 곡률 인식 포인트 샘플링 전략은 뚜렷한면 포인트를 필터링하고 깊은 특징을 추출하기 위해 제안됩니다. 제안 된 방법은 보이지 않는 얼굴에 잘 일반화되며 실제 얼굴로 미세 조정 한 후 3D 영역에서 최첨단 얼굴 인식 알고리즘을 능가합니다. 우리의 네트워크는 표현의 경우 경쟁적이며 도전을 제기합니다.s.sion다.ces.다.nce.다.s. 일반화다.r N.다.
s N.니다
수 λ.다.
리 r.다.l.tudy다.e.부 정보다.e.ults다.irs.다.ncy.다.rsa.다.y.아키텍처다.res.다.
다.ion.다..
다.t.링 전략다..
다. (3)다.ion.다.2)굴 확대다..다......다.다.니다다..다.. 것입니g to클라우드 인식 않았습니되었습니 해집니수행됩니 커집니작업입니도입합니확장합니안했습니계했습니작했습니 것입니 있습니d ye라우드에 대한 안했습니사용됩니활용합니제안합니을가집니구성합니안했습니sion spa1 참조 있습니필요합니사용됩니 있습니용했습니능력입니Tab on 안면 데이 있습니영했습니안했습니 찾습니ive feat현했습니시켰습니일치합니 있습니 있습니작동합니seti 얼굴 d work 관수행됩니강화합니제안합니 같습니omaiativ are as foll평가합니수행합니취급됩니사용됩니포함됩니 있습니ce습니다.제한합니해야합니 것입니제안합니 보입니필요합니안했습니해야합니 멀습니구성됩니사용됩니스캔합니사용됩니필요합니 것입니 test ph사용됩니 있습니캡처합니시했습니제안합니율적입니생시킵니무시됩니 [41 것입니우드입니, 47적용됩니, 51 것입니oint clo제한됩니을 둡니승했습니얻었습니acheIntroduc향상됩니urac
Abst드 네트on다. .네트워크다.다.다.다.다.다.다.다.다.다.다.다.다.t.딥 러닝다.다.다.다.다.다.다.ces.).다.다.다.다.다.다.1)터 생성다.다.다.다.ure.다.다.다.다.다.다.p.인식련 업무다.다.다.다.n.e.a.ows:다.다.다.다.다.다..
다.다.다.다.다.다.다.다.다.다.다.다.다.다.다.ase.다.다.다.다.다.다.다.다.].다.다.].다.].다.uds.다.다.다.다.s.tion다.y.ract워크얼굴다. .네트워크다.다.다.다.다.다.다.다.다.다.다.다.다.t.딥 러닝다.다.다.다.다.다.다.ces.).다.다.다.다.다.다.1)터 생성다.다.다.다.ure.다.다.다.다.다.다.p.인식련 업무다.다.다.다.n.e.a.ows:다.다.다.다.다.다..
다.다.다.다.다.다.다.다.다.다.다.다.다.다.다.ase.다.다.다.다.다.다.다.다.].다.다.].다.].다.uds.다.다.다.다.s.tion다.y.ract워크다.s.sion다.ces.다.nce.다.s. 일반화다.r N.다.
s N.니다
수 λ.다.
리 r.다.l.tudy다.e.부 정보다.e.ults다.irs.다.ncy.다.rsa.다.y.아키텍처다.res.다.
다.ion.다..
다.t.링 전략다..
다. (3)다.ion.다.2)굴 확대다.다. .네트워크다.다.다.다.다.다.다.다.다.다.다.다.다.t.딥 러닝다.다.다.다.다.다.다.ces.).다.다.다.다.다.다.1)터 생성다.다.다.다.ure.다.다.다.다.다.다.p.인식련 업무다.다.다.다.n.e.a.ows:다.다.다.다.다.다..
다.다.다.다.다.다.다.다.다.다.다.다.다.다.다.ase.다.다.다.다.다.다.다.다.].다.다.].다.].다.uds.다.다.다.다.s.tion다.y.ract워크은 7 차원 점 집합 Fi = [xp, yp, zp, nxp, nyp, nzp, cp]로 표시됩니다. 여기서 i = 1, ..., N, p = 1, .., P, N은면의 수입니다. P는 각면의 포인트 수이고 P는 실제면에서 달라서 대응하기 어려운 부분을 추가합니다. xyz 좌표를 얼굴 모양으로 간주하고 법선 벡터를 사용하여 깊은 특징을 추출합니다. c는에 따라 얻은 곡률입니다.
3.1. 3D face augmentation 3.1. 3D 얼굴 확대
We propose to synthesize face images by sampling from a statistical 3D Morphable Model of face shape and expression. The generator can synthesize an arbitrary amount of facial identities with different expressions. We assume that the facial identity is fully determined by the 3D face shape. We use the GPMM [26], for which the shape distribution is estimated from 200 neutral high-resolution 3D face scans. The parameters follow a Gaussian distribution. The identity face model consist of shape model and expression model Ms = (µs, σs, Us), Me = (µe, σe, Ue) (1) where µ{s,t} ∈ R 3m are the mean, σ{s,t} ∈ R n−1 the standard deviations and U{s,t} = [u1, ...un] ∈ R 3m×n−1 are an orthogonal basis of principle components of shape and expression. New faces are generated from the model as linear combinations of the principal components s(α) = µs + Usdiag(σs)α e(β) = µe + Uediag(σe)β (2)
우리는 얼굴 모양과 표정의 통계적 3D Morphable Model에서 샘플링하여 얼굴 이미지를 합성하는 것을 제안합니다. 생성기는 다양한 표정을 가진 임의의 양의 얼굴 정체성을 합성 할 수 있습니다. 얼굴 아이덴티티는 3D 얼굴 모양에 의해 완전히 결정된다고 가정합니다. 우리는 GPMM [26]을 사용하는데, 200 개의 중성 고해상도 3D 얼굴 스캔으로부터 모양 분포를 추정합니다. 매개 변수는 가우스 분포를 따릅니다. 정체성 얼굴 모델은 형상 모델과 표현 모델로 구성됩니다. Ms = (µs, σs, Us), Me = (µe, σe, Ue) (1) 여기서 µ {s, t} ∈ R 3m은 평균, σ {s , t} ∈ R n−1 표준 편차와 U {s, t} = [u1, ... un] ∈ R 3m × n−1은 모양과 표현의 주성분의 직교 기반입니다. 주성분 s (α) = µs + Usdiag (σs) α e (β) = µe + Uediag (σe) β (2)의 선형 조합으로 모델에서 새면이 생성됩니다.
The coefficients α, β are independent and normally distributed with unit variance under the assumption of normally distributed training examples and a correct mean estimation.
계수 α, β는 독립적이며 정규 분포 된 학습 예제와 정확한 평균 추정을 가정하여 단위 분산을 사용하여 정규 분포를 따릅니다.
By drawing random samples from this distribution we generate random 3D face meshes with unique shape αi and expression βj . A new face instance F is represented as F = s(αi) + e(βj ) (3)
이 분포에서 임의의 샘플을 추출하여 고유 한 모양 αi 및 표현 βj를 가진 임의의 3D 얼굴 메시를 생성합니다. 새 얼굴 인스턴스 F는 F = s (αi) + e (βj) (3)로 표시됩니다.
We totally generated 10k independent αi for unique identities and 50 βj for expressions. Example facial scans synthesized from the generator are illustrated in the first two columns of Fig. 2. Compared to the real faces show in the last two columns of Fig. 2, the most distinct is the details in eyes, nose, mouths which will change according to the poses and expressions. According to these differences between the train and real datasets, we propose to apply different sample strategy to extract the same features. The sampling method based on curvatures will be introduced next.
우리는 고유 한 정체성에 대해 10k 독립 αi를 생성하고 표현식에 대해 50βj를 생성했습니다. 생성기에서 합성 된 얼굴 스캔의 예는 그림 2의 처음 두 열에 설명되어 있습니다. 그림 2의 마지막 두 열에 표시된 실제 얼굴과 비교할 때 가장 뚜렷한 것은 변경되는 눈, 코, 입의 세부 사항입니다. 포즈와 표정에 따라. 기차와 실제 데이터 세트의 이러한 차이점에 따라 동일한 특성을 추출하기 위해 다른 샘플 전략을 적용 할 것을 제안합니다. 곡률을 기반으로 한 샘플링 방법은 다음으로 소개됩니다.
3.2. Curvature-aware sampling strategy 곡률 인식 샘플링 전략
In PointNet++, iterative farthest point sampling(FPS) strategy is used to choose the centroids subset based on the metric distance. Compared with random sampling, FPS has better coverage of the entire point set on given the same number of centroids. However, 3D face point clouds in the strict sense do not belong to metric point set. Different from objects in ModelNet40 dataset, e.g. planes and chairs, face scans just have one surface and all points lie on it.
PointNet ++에서는 반복적 인 FPS (Farthest Point Sampling) 전략을 사용하여 메트릭 거리를 기반으로 중심 부분 집합을 선택합니다. 무작위 샘플링과 비교할 때 FPS는 동일한 수의 중심에서 설정된 전체 포인트를 더 잘 커버합니다. 그러나 엄격한 의미에서 3D면 점 구름은 미터법 점 집합에 속하지 않습니다. ModelNet40 데이터 세트의 개체와 다릅니다. 비행기와 의자, 얼굴 스캔에는 표면이 하나만 있고 모든 점이 그 위에 있습니다.
Using the FPS on planes, chairs and desks, some special points will be sampled out such as the corners of desk, the edges in plane wings and the corners in chair legs as see in Fig. 3. But to face point clouds, the FPS result in the contour points which may only represent the face size and the noise or spark points which is not very useful for face representation. Only few points localize in the nose, eye area where prove to be more important in face recognition.
비행기, 의자 및 책상에서 FPS를 사용하여 그림 3과 같이 책상 모서리, 비행기 날개의 가장자리 및 의자 다리의 모서리와 같은 일부 특수 지점을 샘플링합니다. 얼굴 크기 만 나타낼 수있는 윤곽 점과 얼굴 표현에 그다지 유용하지 않은 노이즈 또는 스파크 포인트가 생성됩니다. 얼굴 인식에서 더 중요한 것으로 판명 된 코, 눈 영역에 국한되는 지점은 몇 개뿐입니다.
In FPS, the Euclidean distance is used to measure the relation between points. However, to faces, Euclidean distance is not a good choice because it is sensitive to miscellaneous and contour points, especially in the real face point clouds which is largely affected by the measure accuracy containing more noise points. So, sampling centroids on faces is different from the common objects. We need to modify the metric strategy to pay more attention to the feature points instead of the distant points. Inspired by the DGCNN[40] and PointConv[43], we combine the facial curvature with the metric distance to represent the facial feature distance. Using the modified distance, we can filter out the points with high curvature in a local region.
FPS에서 유클리드 거리는 포인트 간의 관계를 측정하는 데 사용됩니다. 그러나 얼굴의 경우 유클리드 거리는 기타 및 윤곽선 점에 민감하기 때문에 특히 더 많은 노이즈 포인트를 포함하는 측정 정확도에 크게 영향을받는 실제 얼굴 점 구름에 민감하기 때문에 좋은 선택이 아닙니다. 따라서 얼굴의 중심을 샘플링하는 것은 일반적인 객체와 다릅니다. 먼 지점 대신 특징 지점에 더 많은주의를 기울 이도록 메트릭 전략을 수정해야합니다. DGCNN [40] 및 PointConv [43]에서 영감을 받아 얼굴 곡률을 미터 거리와 결합하여 얼굴 특징 거리를 나타냅니다. 수정 된 거리를 사용하여 로컬 영역에서 곡률이 높은 점을 필터링 할 수 있습니다.
Given the input point clouds P = P1, P2, ..., Pn , the FPS result in the output subset Q = Pq1, Pq2, ..., Pqm . The aim is to search the point Pqi in the remaining point set P − Q to satisfy: argmaxX j−1 k=1 d(Pqi, Pqk) (4) where, d(Pqi, Pqk) computer the Euclidean distance between Pqi and Pqk. Now, we fuse the Euclidean distance with facial curvature. dc = d(Pqi, Pqk) · C λ qi (5) where the Cqi represent the curvature of the point Pqi and λ is a hyper-parameter balance the curvature. In the log format log(dc) = log(d(Pqi, Pqk)) + λCqi (6) From the log view, we can see that curvature contributes to the distance by λ. Points with large curvature get large distance and is more likely to be chosen. But we can suppress it by a factor λ other wise it will destroy the normal distribution of points. When λ = 0, CPS equals to the original FPS. As show in Fig. 4(a), from left to right is the original FPS result on face, λ = 0.1 CPS result and λ = 1 CPS result. We can see that when λ = 1 the sampling focus on some landmark points. In this case, the sampling result is extremely affected by the curvature which is not beneficial to extract features. We choose the best λ according to experiments in Sec. 4. In Fig. 4(b), we can see the details about the curvature function. The FPS’s point(in red) will shit to the blue points according to curvature. A 2D illustration in Fig. 4(c) is more clearly. We use the FPS to choose 3 target points from 10 source points p1, p2, ..., p10 . The original FPS will choose p1, p10, p5 in distance order. But we can clearly know that p7 is more representative than p5. By means of curvature, our sampling strategy choose the p7 replace the p5.
입력 포인트 클라우드 P = P1, P2, ..., Pn이 주어지면 FPS는 출력 부분 집합 Q = Pq1, Pq2, ..., Pqm이됩니다. 목표는 나머지 점 세트 P − Q에서 점 Pqi를 검색하여 다음을 충족하는 것입니다. argmaxX j−1 k = 1 d (Pqi, Pqk) (4) 여기서, d (Pqi, Pqk) 컴퓨터 Pqi 사이의 유클리드 거리 및 Pqk. 이제 유클리드 거리를 안면 곡률과 융합합니다. dc = d (Pqi, Pqk) · C λ qi (5) 여기서 Cqi는 점 Pqi의 곡률을 나타내고 λ는 곡률의 하이퍼 매개 변수 균형입니다. 로그 형식에서 log (dc) = log (d (Pqi, Pqk)) + λCqi (6) 로그보기에서 곡률이 거리에 λ만큼 기여 함을 알 수 있습니다. 곡률이 큰 점은 거리가 멀어지고 선택 될 가능성이 더 높습니다. 그러나 우리는 그것을 λ 인자로 억제 할 수 있습니다. 그렇지 않으면 점의 정규 분포를 파괴 할 것입니다. λ = 0이면 CPS는 원래 FPS와 같습니다. 그림 4 (a)에서 볼 수 있듯이 왼쪽에서 오른쪽으로 얼굴에 대한 원래 FPS 결과, λ = 0.1 CPS 결과 및 λ = 1 CPS 결과입니다. λ = 1 일 때 샘플링이 일부 랜드 마크 지점에 초점을 맞추는 것을 볼 수 있습니다. 이 경우 샘플링 결과는 형상 추출에 도움이되지 않는 곡률의 영향을 많이받습니다. Sec의 실험에 따라 최상의 λ를 선택합니다. 4. 그림 4 (b)에서 곡률 함수에 대한 세부 사항을 볼 수 있습니다. FPS의 포인트 (빨간색)는 곡률에 따라 파란색 포인트로 똥을냅니다. 그림 4 (c)의 2D 그림이 더 명확합니다. FPS를 사용하여 10 개의 소스 포인트 p1, p2, ..., p10에서 3 개의 타겟 포인트를 선택합니다. 원래 FPS는 거리 순서로 p1, p10, p5를 선택합니다. 그러나 우리는 p7이 p5보다 더 대표적이라는 것을 분명히 알 수 있습니다. 곡률을 통해 우리의 샘플링 전략은 p7을 선택하여 p5를 대체합니다.
In addition, to avoid interference from outliers and edge points, we limit candidate regions for sampling points. Because the size of face is an inherent property, so we can use an absolute value and do not need to consider issues such as face symmetry and missing. Before CPS, we filter the points far from the noes tip according to the distance r. We should notice that the filered points are just excluded from the sample candidates and they are still in the neighbors contributing to the local features.
또한 특이 치 및 에지 포인트의 간섭을 피하기 위해 샘플링 포인트에 대한 후보 영역을 제한합니다. 얼굴의 크기는 내재 된 속성이기 때문에 절대 값을 사용할 수 있으며 얼굴 대칭 및 결측과 같은 문제를 고려할 필요가 없습니다. CPS 이전에 거리 r에 따라 코 끝에서 멀리 떨어진 지점을 필터링합니다. 파일링 된 포인트는 샘플 후보에서 제외되고 여전히 로컬 기능에 기여하는 이웃에 있음을 알아야합니다.
3.3. Network Architecture 네트워크 아키텍처
Inspired by the success of PointNet++[33], we propose to use the similar network structure to extract face representations. The proposed network is visualized in Fig. 1. Three set abstraction(SA) modules are used which contains sampling, grouping and MLP layers to extract local-global features. The first two SA focus on local feature with different receptive field and the last one aggregate global feature. The proposed CPS is integrated in sampling layer to sample key points. We change the ball radius in grouping layer to fit the face scale and density.
PointNet ++ [33]의 성공에 영감을 받아 유사한 네트워크 구조를 사용하여 얼굴 표현을 추출 할 것을 제안합니다. 제안 된 네트워크는 그림 1에 시각화되어 있습니다. 샘플링, 그룹화 및 MLP 계층을 포함하는 세 개의 SA (set abstraction) 모듈이 사용되어 로컬 전역 기능을 추출합니다. 처음 두 SA는 수신 필드가 다른 로컬 기능과 마지막 하나의 집계 전역 기능에 중점을 둡니다. 제안 된 CPS는 핵심 포인트를 샘플링하기 위해 샘플링 레이어에 통합됩니다. 그룹화 레이어의 볼 반경을 페이스 스케일과 밀도에 맞게 변경합니다.
We take the global feature as the face embedding as proposed in [36]. The embeddings, represent discriminative face feature, can be used to calculate the cosine similarity between faces. If the distance with two scans larger than the given threshold, we consider the two scans belong to the same identity, vice versa.
우리는 [36]에서 제안한 얼굴 임베딩으로 글로벌 기능을 사용합니다. 차별적 인 얼굴 특징을 나타내는 임베딩은 얼굴 간의 코사인 유사성을 계산하는 데 사용할 수 있습니다. 두 스캔이 주어진 임계 값보다 큰 거리가 있다면 두 스캔이 동일한 ID에 속하는 것으로 간주하고 그 반대의 경우도 마찬가지입니다.
We use angular loss[25] during the classification task training. The angular loss added a margin between different classes to enlarge the inter-class distance[8, 42, 39]. La = − 1 N X N i=1 log e scos(mθyi ) e scos(mθyi ) + PC j=1,y6=yi e scosθj (7) where the bias is fixed to 0. θj is the angle between the weight Wj and the feature xi . s is the scale factor to control the convergence. m is an additive angular margin penalty to simultaneously enhance the intra-class compactness and inter-class discrepancy.
분류 작업 훈련 중에 각도 손실 [25]을 사용합니다. 각도 손실은 클래스 간 거리를 확대하기 위해 서로 다른 클래스간에 마진을 추가했습니다 [8, 42, 39]. La = − 1 NXN i = 1 log e scos (mθyi) e scos (mθyi) + PC j = 1, y6 = yi e scosθj (7) 여기서 바이어스는 0으로 고정됩니다. θj는 가중치 Wj와 기능 xi. s는 수렴을 제어하기위한 축척 계수입니다. m은 클래스 내 압축성과 클래스 간 불일치를 동시에 향상시키기위한 추가 각도 여백 패널티입니다.
After classification training, we fine tune our network on a few real faces using the triplet loss [36]. We change the metric distance in triplet loss function from Euclidean to cosine. Using triplet loss instead of softmax loss avoids optimizing a new fully-connected classify layer which is time inefficient. And to real databases, using triplet loss can converge quickly and fixable. Lt = 1 N X N i=1 (d(x a i , x p i ) − d(x a i , xn i ) + α) (8) where d(·) computer the cosine distance between two vectors. x a i , x p i , xn i is the anchor, positive and negative samples respectively. α is the margin that is enforced between positive pairs and negative pairs.
분류 훈련 후, 우리는 triplet loss [36]를 사용하여 몇 가지 실제 얼굴에 대한 네트워크를 미세 조정합니다. 삼중 손실 함수의 메트릭 거리를 유클리드에서 코사인으로 변경합니다. 소프트 맥스 손실 대신 삼중 항 손실을 사용하면 시간 비효율적 인 새로운 완전 연결 분류 계층을 최적화하는 것을 방지 할 수 있습니다. 그리고 실제 데이터베이스에서는 삼중 항 손실을 사용하여 신속하고 수정 가능하게 수렴 할 수 있습니다. Lt = 1 N X N i = 1 (d (x a i, x p i) − d (x a i, xn i) + α) (8) 여기서 d (·)는 두 벡터 사이의 코사인 거리를 계산합니다. x a i, x p i, xn i는 각각 앵커, 양수 및 음수 샘플입니다. α는 양수 쌍과 음수 쌍 사이에 적용되는 마진입니다.
4. Experiments and results
In this section, we first evaluate the affects of proposed sampling strategy and augment data for 3D faces. Massive experiments are conducted to choose the hyper-parameters. And then, we select the best hyper-parameter setting for face recognition on different 3D face database.
이 섹션에서는 먼저 제안 된 샘플링 전략의 영향을 평가하고 3D 얼굴에 대한 데이터를 증가시킵니다. 하이퍼 매개 변수를 선택하기 위해 대규모 실험이 수행됩니다. 그런 다음 서로 다른 3D 얼굴 데이터베이스에서 얼굴 인식을위한 최상의 하이퍼 매개 변수 설정을 선택합니다.
4.1. Implementation Details 구현 세부 정보
In both classification training and fine tuning, the input to our network is face scans with 28588 points. Each point has 7 dimension features including 3 Euclidean coordinates xyz, corresponding normal vectors nxnynz and curvature c. The normal vector and curvature are calculated by PCL [34]. We train the propose network in PyTorch [29]. We use Adam [20] optimizer and performs batch normalization for all layers excluding the last classification layer. The initial learning is set to 0.001 and reduced by a factor of 10 after every 20 epochs. And the weight decay is set to 0.5, which is decreased by 0.5 up to 0.99. The network is trained for totally 60 epochs with batch size of 32 scans on a single NVIDIA GeForce GTX 1080TI GPU. For fine tuning, learning is set to 1e-5 and we randomly sample triplet pairs from the part of Bosphorus and FRGCv2.0 database.
분류 훈련과 미세 조정 모두에서 네트워크에 대한 입력은 28588 포인트가있는 얼굴 스캔입니다. 각 점에는 3 개의 유클리드 좌표 xyz, 해당 법선 벡터 nxnynz 및 곡률 c를 포함한 7 개의 차원 기능이 있습니다. 법선 벡터와 곡률은 PCL에 의해 계산됩니다 [34]. PyTorch [29]에서 제안 네트워크를 훈련시킵니다. Adam [20] 최적화기를 사용하고 마지막 분류 계층을 제외한 모든 계층에 대해 일괄 정규화를 수행합니다. 초기 학습은 0.001로 설정되고 매 20 Epoch 후에 10 배씩 감소합니다. 무게 감쇄는 0.5로 설정되어 0.5에서 0.99까지 감소합니다. 이 네트워크는 단일 NVIDIA GeForce GTX 1080TI GPU에서 배치 크기가 32 개 스캔 인 총 60 epoch에 대해 훈련되었습니다. 미세 조정을 위해 학습은 1e-5로 설정되고 Bosphorus 및 FRGCv2.0 데이터베이스의 일부에서 삼중 항 쌍을 무작위로 샘플링합니다.
4.2. Ablation Study
There are three hyper-parameters: candidate region distance r, curvature factor λ and train data numbers or classes N. We adopt the ablation study on each parameter. As the train data numbers affect the training time, the first two study in conducted on N = 500 classes total 25,000 face scans to save the training time. And we last evaluate the train data classes vary from 500 classes to 10,000 classes. We choose a subset from the Bosphorus database as the evaluate set Beval.
세 가지 하이퍼 매개 변수가 있습니다 : 후보 영역 거리 r, 곡률 계수 λ 및 훈련 데이터 번호 또는 클래스 N. 각 매개 변수에 대한 절제 연구를 채택합니다. 열차 데이터 숫자가 훈련 시간에 영향을 미치기 때문에 N = 500 클래스에서 수행 된 처음 두 연구는 훈련 시간을 절약하기 위해 총 25,000 개의 얼굴 스캔을 수행했습니다. 마지막으로 기차 데이터 클래스가 500 개 클래스에서 10,000 개 클래스까지 다양하다는 것을 평가했습니다. Bosphorus 데이터베이스에서 Beval 평가 세트로 하위 집합을 선택합니다.
candidate region distance r. 후보 지역 거리 r.
We conduct open-set face recognition on the Beval. Fig. 5 illustrates the importance of candidate region distance r. Either big r or small r is not suitable for 3D face data. r = all equals the original FPS, we can see that, after limit the candidate in about 0.5 ∼ 0.7 the ROC curves are higher and perform better. When r cover all points, sampling result will contain more edge points which will decrease the recognition performance. When r is small, sampling result only keeps a litter face area and loss some useful information. To balance the effect between redundant edge points and useful facial representation, we choose r = 0.7 to get the best result and use for next experiments.
우리는 Beval에서 개방형 얼굴 인식을 수행합니다. 그림 5는 후보 영역 거리 r의 중요성을 보여준다. 큰 r 또는 작은 r은 3D 얼굴 데이터에 적합하지 않습니다. r = 모두 원래 FPS와 같으며 후보를 약 0.5 ∼ 0.7로 제한 한 후 ROC 곡선이 더 높고 성능이 더 우수하다는 것을 알 수 있습니다. r이 모든 포인트를 포함하면 샘플링 결과에 더 많은 에지 포인트가 포함되어 인식 성능이 저하됩니다. r이 작을 때, 표본 추출 결과는 한배 얼굴 면적 만 유지하고 유용한 정보를 잃게됩니다. 중복 된 가장자리 지점과 유용한 얼굴 표현 사이의 효과의 균형을 맞추기 위해 r = 0.7을 선택하여 최상의 결과를 얻고 다음 실험에 사용합니다.
curvature factor λ. 곡률 계수 λ.
We also evaluate the effectiveness of curvature factor λ as shown in Fig. 6. λ = 0 equals to the original FPS and means curvature is not introduced into the sampling. when λ is too big λ = 0.5, as shown in Fig. 4, the sampling points will focus on the high-curvature points and loss the uniform, resulting in a decrease gap in recognition performance. We can see that a small curvature factor λ = 0.1 is useful to slightly shift some points without destroying the uniform distribution.
우리는 또한 그림 6과 같이 곡률 계수 λ의 효과를 평가합니다. λ = 0은 원래 FPS와 같으며 곡률이 샘플링에 도입되지 않음을 의미합니다. λ가 너무 크면 λ = 0.5 (그림 4)와 같이 샘플링 포인트가 높은 곡률 포인트에 초점을 맞추고 균일 성을 잃어 인식 성능의 차이가 감소합니다. 작은 곡률 계수 λ = 0.1이 균일 분포를 파괴하지 않고 일부 점을 약간 이동하는 데 유용하다는 것을 알 수 있습니다
training classes N.
One of the advantage of our data augmentation method is that we can generate infinite number of training data. But too many data leads to the time inefficient. So we should achieve a balance between recognition performance and training time waste. As seen in Fig. 7, the more data network train, the higher recognition accuracy. However, the training time increases linearly with N.
데이터 증대 방법의 장점 중 하나는 무한한 수의 훈련 데이터를 생성 할 수 있다는 것입니다. 그러나 데이터가 너무 많으면 시간이 비효율적입니다. 따라서 인식 성능과 훈련 시간 낭비 사이의 균형을 유지해야합니다. 그림 7에서 볼 수 있듯이 데이터 네트워크 트레인이 많을수록 인식 정확도가 높아집니다. 그러나 훈련 시간은 N에 비례하여 증가합니다.
While N = 500 needs 4 hours, N = 10, 000 waste 3 days. When N is large, the training time required to increase the recognition accuracy by 0.1% is several times higher than previous. So we train our work on 10,000 classes in this paper. And if you need higher performance, you can train on bigger N.
N = 500은 4 시간이 필요하지만 N = 10,000은 3 일을 낭비합니다. N이 크면 인식 정확도를 0.1 % 높이는 데 필요한 훈련 시간이 이전보다 몇 배 더 길어집니다. 그래서 우리는이 백서에서 10,000 개의 수업에 대한 작업을 훈련합니다. 더 높은 성능이 필요한 경우 더 큰 N으로 훈련 할 수 있습니다.
4.3. Generalization on FRGC and Borphous FRGC 및 Borphous에 대한 일반화
The proposed approach is also evaluated on FRGCv2.0 and Borphous databases for face identification under different expression settings.
제안 된 접근 방식은 FRGCv2.0 및 Borphous 데이터베이스에서 다양한 표정 설정에서 얼굴 식별을 위해 평가됩니다.
For FRGCv2 database, the first scan of each identity is selected as gallery and the rest scans are treated as probes. We get 466 galleries and 3541 probes. The rank-1 results are displayed in Tab. 2 compared with state-of-the-art methods. We also train a PointNet++ network on the faces without our CPS. We can see that the raw PointNet++ perform far from the the-state-of-art methods, which demonstrate the effectiveness of our proposed CPS method. Compared with FR3DNet[51] which get a 97.06% accuracy trained on over 3 million scans and 99.88% after fine tuning, our network trained on 0.5 million faces still exists a gap. But we think the network trained without any real data has achieved our goal. Actually we can further enhance our network by using more training data or fine tuning on real faces. We have confirmed that more training data contributing to higher performance before. So we tempt to fine tune on galleries of FRGCv2.0 and our network shows a great promote which nearly equal to FR3DNet[51]. We compare our ROCs with and without fine tuning in Fig. 8. There is a significant upgrade after fine tuning on real faces. This encourage us to first train on larger generated data to pre-train the network and then fine tune on a few real faces to get best recognition performance.
FRGCv2 데이터베이스의 경우 각 ID의 첫 번째 스캔이 갤러리로 선택되고 나머지 스캔은 프로브로 처리됩니다. 466 개의 갤러리와 3541 개의 프로브가 있습니다. 순위 1 결과는 탭에 표시됩니다. 2는 최첨단 방법과 비교됩니다. 또한 CPS없이 얼굴에서 PointNet ++ 네트워크를 훈련합니다. 원시 PointNet ++는 제안 된 CPS 방법의 효과를 보여주는 최첨단 방법과는 거리가 멀다는 것을 알 수 있습니다. 300 만 개 이상의 스캔에서 97.06 %의 정확도를, 미세 조정 후 99.88 %의 정확도를 얻은 FR3DNet [51]과 비교할 때, 50 만 개의 얼굴에 대해 훈련 된 네트워크는 여전히 갭이 있습니다. 그러나 우리는 실제 데이터없이 훈련 된 네트워크가 우리의 목표를 달성했다고 생각합니다. 실제로 우리는 더 많은 훈련 데이터를 사용하거나 실제 얼굴에 대한 미세 조정을 통해 네트워크를 더욱 향상시킬 수 있습니다. 우리는 이전에 더 많은 훈련 데이터가 더 높은 성능에 기여한다는 것을 확인했습니다. 그래서 우리는 FRGCv2.0의 갤러리를 미세 조정하고 싶고 우리의 네트워크는 FR3DNet [51]과 거의 동일한 훌륭한 홍보를 보여줍니다. 그림 8에서 미세 조정을 사용하거나 사용하지 않은 ROC를 비교합니다. 실제 얼굴에 대한 미세 조정 후 상당한 업그레이드가 있습니다. 이를 통해 먼저 더 큰 생성 데이터를 학습하여 네트워크를 사전 학습 한 다음 몇 가지 실제 얼굴을 미세 조정하여 최상의 인식 성능을 얻을 수 있습니다.
For Bosphorus database, we follow the protocol in [3] to evaluate the expression performance. For each subject,the first neutral scan is included in the gallery set, whereas the remaining scans are divided into Neutral, expressive, Lower Face Action Unit (LFAU), Upper Face Action Unit (UFAU) and Combined Action Unit (CAU). The results are displayed in Tab. 3. We can see that our network trained only on generated data has overall performance close to thestate-of-art methods. This demonstrate that our recognition method generalize well for unseen identities. After fine tuning on the first 30 identities in Bosphorus database, our network outperforms 10% than original one. The FR3DNet in [51] achieved 100% after fine tuning which using large real faces.
Bosphorus 데이터베이스의 경우 [3]의 프로토콜에 따라 발현 성능을 평가합니다. 각 피사체에 대해 첫 번째 중립 스캔은 갤러리 세트에 포함되고 나머지 스캔은 중립, 표현, LFAU (Lower Face Action Unit), UFAU (Upper Face Action Unit) 및 CAU (Combined Action Unit)로 구분됩니다. 결과는 Tab에 표시됩니다. 3. 생성 된 데이터에 대해서만 훈련 된 네트워크가 최첨단 방법에 가까운 전반적인 성능을 가지고 있음을 알 수 있습니다. 이것은 우리의 인식 방법이 보이지 않는 신원에 대해 잘 일반화된다는 것을 보여줍니다. Bosphorus 데이터베이스에서 처음 30 개의 ID를 미세 조정 한 후 네트워크는 원래 네트워크보다 10 % 성능이 뛰어납니다. [51]의 FR3DNet은 큰 실제 얼굴을 사용한 미세 조정 후 100 % 달성했습니다.
5. Conclusion
In this paper, we try to present a new 3D face recognition approach based on point cloud. To avoid the problem of lacking large training dataset, we propose a datafree method that GPMM is introduced to synthesize model faces to replace real faces in training procedure. After analyzing the distribution difference between synthesized and real faces, a face area constraint method to promote consistency of distribution. A curvature-aware point sampling strategy is proposed to filter distinct face points and extract deep features. The proposed method generalizes well to unseen faces and after fine tuning with real faces it outperforms the state-of-the-art face recognition algorithms in the 3D domain. Our network is also competitive in case of expression and pose challenges.
본 논문에서는 포인트 클라우드를 기반으로 한 새로운 3D 얼굴 인식 접근 방식을 제시하려고합니다. 대규모 훈련 데이터 세트가 부족한 문제를 피하기 위해 GPMM을 도입하여 훈련 절차에서 실제 얼굴을 대체하기 위해 모델 얼굴을 합성하는 데이터없는 방법을 제안합니다. 합성 된 얼굴과 실제 얼굴의 분포 차이를 분석 한 후, 분포의 일관성을 높이기위한 얼굴 면적 제약 방법. 곡률 인식 포인트 샘플링 전략은 뚜렷한면 포인트를 필터링하고 깊은 특징을 추출하기 위해 제안됩니다. 제안 된 방법은 보이지 않는 얼굴에 잘 일반화되며 실제 얼굴로 미세 조정 한 후 3D 영역에서 최첨단 얼굴 인식 알고리즘을 능가합니다. 우리의 네트워크는 표현의 경우 경쟁적이며 도전을 제기합니다.
'지도학습 > 얼굴분석' 카테고리의 다른 글
3D Face Mesh Modeling for 3D Face Recognition, 2009 (0) | 2021.03.29 |
---|---|
Face recognition based on 3D mesh model,2004 (0) | 2021.03.29 |
[ML]Haar Cascade classifier (0) | 2021.03.23 |
PyramidBox : A Context-assisted Single Shot Face Detector. (0) | 2021.03.16 |
3D face recognition: a survey,2018 (0) | 2021.03.15 |