[논문리뷰] An Overview Of Face Liveness Detection 인 이전글 링크
2020/04/18 - [Programmer/Deep Learning] - [논문리뷰] An Overview of Face Liveness Detection
2.2 Variable Focusing based analysis
variable focusing을 사용하는 face liveness detection의 기술은 김수연에 의해 시행되었다.
핵심 접근법은 다른 focus에서 순차적으로(sequentially) 찍힌 2개 이미지 사이에서 집중함으로써 pixel 값의 변화(variation)를 활용하는것이다.
움직임에대한 큰 차이점이 없다고 가정한다면, 저자는 2개의 sequential image가 수집되었을때 real과 fake 얼굴 사이에서 focus value 차이점을 찾으려고 시도해왔다.(여기서 sequential image는 in/out focus와 같은 말인듯)
실제 얼굴(real)인 경우에는, depth 정보때문에 focused regions은 선명하고 다른 regions은 흐릿하다.
대조적으로 얼굴이 복사된 이미지들로부터는(fake) 큰 차이가 없다. 왜냐하면 not solid하기 때문이다.
이 방법의 기본 제한은 sequential image로부터 pixel에서 focus 변화(variation) 의 범위를 결정짓는 Depth of Field(DoF)의 degree에 의존해있다. DoF는 주어진 focus에서 가장 가까운것과 가장 멀리있는 객체 사이의 범위이다.
liveness detection 성능을 높이기 위해서, 이 저자는 DoF를 좁혀야하는 out focusing 효과를 높였다.
여기서 DoF를 narrow한다는 의미)
DoF는 Object side의 광원이 광축을 따라 움직이게 되면 고정되어 있는 Image Plane에 확대된 Disc가 나타나게 됨. 이 Disc의 크기가 상을 흐릿하게 보이지 않는 한계까지 object가 움직일 수 있는 거리의 범위를 Depth of Field라고 함.
그래서 DoF를 narrow한다는 흐릿하게 보이는(out focusing) 범위를 늘린다는 의미이다.
이 방법에서 SML(이미지에서 focusing한 정도 )이 focus value 측정을 위해 사용되었다.
첫번째로, 얼굴 구성요소에 focusing한 두개 sequential 사진들이 있다. 하나는 코에, 나머지는 귀에 focus된다.
코는 카메라에 렌즈에 가장 가깝고 반면에 귀는 가장 멀다. 그들 사이에 depth gap은 3D effect로 표현하기 충분하다.
두번째로, focusing의 정도를 판단하기 위해서는 모든 사진의 SML이 계산되어 진다.
세번째 단계로는 SML의 차이점(difference of SMLs:DoS)을 얻는것이다.
실제얼굴(real)의 Dos의 합은 일관적으로 비슷한 패턴을 보여주지만 fake face는 그렇지않다.
정리) 다른 얼굴 구성요소(예를 들어 코,귀)에 focusing한 sequential image 2장을 가지고 pixel 값의 변화로 fake인지 real인지 판별한다.
real face는 다른 focusing 사진들 사이의 pixel값의 변화가 크고 fake face는 변화가 작다.
왜냐하면 real face는 depth 정보때문에 focusing region은 선명하고 다른 region은 흐릿하기 때문이다.
2.3 Movement of the eyes based anaysis
이 기술은 지형근에 의해 도입되었다. 이 저자는 input image에서 눈을 감지(detectiong eye)하고나서 각각 eye region의 variation을 계산하는 방법을 제안했다. 이 기본 가정은 눈동자들의 깜빡임과 통제되지않은 움직임때문에 big shape variation이 있다.
먼저 input image에서 두개의 눈의 center point를 감지한다. 감지하면서 face region은 정규화되고 eye region은 추출된다. 추출된 eye region을 이진화(0과 1)한 후에 각각 이진화된 eye region은 비교되고 variation은 계산된다. 만약 threshold(임계값)보다 크면 real face이고 아니면 fake face이다.
eye region을 detect하기 위해서는 저자는 이미지가 3D curve로 고려되다면 face region보다 eye region의 intensity가 더 낮다는 사실을 이용했다.
real face에서 eye region은 fake face보다 더 큰 variation을 가지고 있다.
실험 결과 liveness 점수는 Hamming distance(같은 값이 아닌 pixel의 number)를 사용해서 측정했을때 real face의 평균 점수는 30이고 fake face는 17인것을 보여준다. 그래서 threshold를 21로 설정했을때 최고의 성능을 가질수있다.
2.4 Optical Flow based analysis
이 방법은 Bao에의해 도입되었다. 이것은 3D와 2D로부터 optical flow(빛의 흐름)의 속성과 차이점들을 분석한다.
optical flow field의 움직임은 4개 기본적인 움직임 타입(Traslation, rotation, moving and swing)의 조합이다.
저자는 처음 3개 기본 타입은 비슷한 2D와 3D둘다 optical flow field에서 생성되고 4개 속성은 실제 다른 곳에서 생성된다. optical flow는 test region이 평평한지 평평하지 않은지 결정짓도록 한다.
정리)이것은 2D에서만 사용가능 하기때문에 다른 liveness detection method를 사용해야한다.
Kollreider에 의해 도입된 방법이 있다. 이 접근법은 점의 움직임과 선의 움직임을 구별한다.
이 저자는 live face의 한 부분의 궤도를 분석하는 방법을 제안했다. Gabor decomposion과 SVM을 사용한다.
이 기본 아이디어는 3D 얼굴은 귀와 같은 outer face보다 central face region에서 더 높은 2D motion을 생성한다.
그러므로 멀리 떨어져 있는 부분(outer face region)은 카메라에 가까운 부분(central face region)과 다르게 움직인다.
하지만 사진(fake face)은 constant(상수) motion을 만든다.
제안한 알고리즘에서 도입한 두개의 접근법이있다. 첫번째는 optical flow pattern matching과 Gabor feature classification에 기반한다. 두번째는 Gabor feature을 추출하고 그들을 훈련된 SVM으로 분류한다.
2.5 Blinking based analysis
Conditional Random Fields(CRFs)를 사용한 liveness detection을 위한 blinking-based 접근법은 Lin Sun에의해 도입되었다.
이 저자는 긴 범위의 의존들을 수용하기 위한(for accomodating long-range dependencies on the dbservation sequence) CRFs를 사용했다. CRFs는 주로 자연어 처리에 사용되는 sequence date를 쪼깨고 라벨링을 위한 확률론적 모델이다. Blinking 활동은 close/non-close 상태를 가진 이미지로 나타낸다.
Half-open state는 개개인마다 정의하기 어렵기 때문에 (예를 들어 눈 작은 사람의 open state는 눈 큰 사람의 Half-open일수 있다.) NC(non-close) state로 본다. C는 close state이다.
bliking database를 사용하여 CRF는 Cascaded AdaBoost와 HMM 모델들과 비교한다.
blinking기반 liveness detection의 비슷한 기술은 Gang Pan에 의해 시행되었다.
이 저자는 눈의 상태를 구별하고 동시에 성능을 높이는 간접적인 Conditional Random Field framework 기술을 사용했다. 이 제안된 방법은 많은 이점들이 있다. 그 중에 하나는 관찰된 data의 conditional independence(조건부 독립)에 대한 가정을 완화해주고 AdaBoost와 HMM와 비교해서 뛰어난 성능을 보인다.
하지만 blinking 기반 liveness detection은 한계를 가지고 있다. 눈을 부분적으로 가리거나 전체를 가릴 수 있는 안경의 반사에 영향을 받기 때문이다.
3. Discussion
indicator의 main 타입은 motion, texture 와 life sign이다.
Motion analysis 는 주로 3D와 2D사이에 motion pattern을 구별한다. 이것은 평평한 object(2D)는 상당히 실제 얼굴(3D)와 다르게 움직인다. Motion anaysis는 보통 영상 sequence로부터 계산된 optical flow에 의존한다.
하지만 motion analysis는 영상이 필요하고 영상이 느린 motion일때는 사용하기 어렵기 때문에 3D 조각상과 같은 fake face를 구별하기에는 어려움이 있다.
Texture analysis 는 주로 texture pattern을 감지할 수 있는 이점이 있다. 이 접근법은 프린트된 fake face와 real face를 구별할 수 있다. 프린트된 이미지는 높은 texture 정보를 포함하기 때문에 식별할 수 있는것이다.
Textrue analysis는 시행되기 시우며 user collaboration이 필요하지않다.
하지만 낮은 texture information을 가지고 있는 화면에 보여지는 이미지는 공격이 가능하다.
Life sign의 detection은 두가지 타입이 있다. 하나는 특정한 task를 수행해야하는 user와의 상호작용을 하는 상황이다.
이 task는 challenge response 또는 motion password와 같은 특정한 움직임이 될수있다.
두번째는 눈 깜빡임과 같은 얼굴의 특정한 부분의 움직임에 집중하는 것이다. 그러면 특정한 움직임을 real face라고 고려할것이다.
Life sign 기반 liveness detection 접근법은 2D얼굴 이미지와 3D 조각(fake face)로 인한 도용을 방지한다.
이 접근법은 textures를 사용안하는 대신 user collaboration을 이용한다.
'Programmer > Deep Learning' 카테고리의 다른 글
YOLO 튜토리얼 1.YOLO 란? (0) | 2020.04.26 |
---|---|
[논문리뷰] Rapid Object Detection using a Boosted Cascade of Simple Features (0) | 2020.04.21 |
[논문리뷰] An Overview of Face Liveness Detection1 (0) | 2020.04.18 |
Precision(정밀도) , Recall(재현율) , Accuracy(정확도) , FLOPS (0) | 2020.04.08 |
[논문리뷰] SSD : Single Shot MultiBox Detector (2) | 2020.04.04 |