printf("ho_tari\n");

Final Project (Deep Fake Detection on Videos) 본문

대학교 4학년 1학기/인공신경망과딥러닝

Final Project (Deep Fake Detection on Videos)

호타리 2023. 10. 31. 15:24
  • 목적 / 개요

“Real Video(원본 영상)Fake Video(deep fake가 적용된 영상)들을 명확하게 구분할 수 있는가

최근 Deep Fake 기술을 악용하여 다양한 범죄에 사용하는 이슈들이 늘어나는 추세
ex) ‘Deep Fake로 신분증 도용’, ‘Deep Fake로 음란물 합성 범죄’,

      ‘Deep Fake 기술을 이용하여 딥보이스 범죄’, etc

 

범죄에 이용되는 deep fake영상들이 real인지 fake인지 구분해주어 실시간 화상통화나 실시간 방송 송출 등에서 fake 영상 사용을 예방할 수 있고 동영상 업로드 사이트에서 업로드 전에 fake 영상을 구분하여 deep fake 영상 악용 범죄를 예방할 수 있다.

 

  • 데이터

Kaggle Competition에 존재하는 deep fake 관련 영상들 다운로드

다운로드한 원본 영상 pre-processing 진행 (Real Video 1000개, Fake Video 1000개 수집)

OpenCV를 활용하여 각 영상들의 사람 얼굴만을 보이도록 112 x 112 x 3 크기로 자르고 영상 프레임을 300에서 150으로 줄여 영상 길이를 10초에서 4초 정도로 축소

크기와 프레임을 조절하기 전 원본 영상
크기를 자르고 프레임을 줄인 영상

 

  • 모델

< ResNet50 + LSTM (초기 모델) >

기존 CNN은 이미지 하나에 대해서만 deep fake인지 판별해주지만 동영상의 움직임을 통해서 미세한 노이즈를 포착하기 위해서 LSTM 사용

 

< Conv3D (skip connection) + LSTM >

ResNet50을 사용했을 때 정확도가 높게 나오지 않아 더 높은 정확도를 얻기 위해 모델을 Conv3D로 변경하여 사용

Conv3D는 width와 height 뿐만 아니라 depth 정보도 사용할 수 있어 동영상 데이터 처리에 용이

MaxPooling, DropOut(0.25), Learning Rate (1e-5) 사용

 

< Conv3D (skip connection) >

LSTM이 학습이 잘 이루어지지 않아 Conv3D만 사용

LSTM layer를 사용하지 않는 대신 이전 Conv3D 모델의 capacity (hidden neuron 수)를 증가시켜 사용

MaxPooing, Dropout (0.25), Learning Rate (1e-5) 사용

 

  • 결과

< ResNet50 + LSTM (초기 모델) >

 

데이터에 비해 ResNet50layer가 너무 깊어서 학습이 잘 이루어지지 않음
underfitting을 해결하기 위해 데이터 수를 증가시켜 학습을 진행해보았지만 메모리 용량의 한계로 인해 많은 양의 데이터 사용불가

따라서, 경량화된 모델로 변경

 

< Conv3D (skip connection) + LSTM >

동영상 데이터 처리에 용이한 Conv3DMaxPoolingDropOut 함께 사용하였지만 정확도에 큰 변화가 나타나지 않음
직접 Conv3D를 통해서 skip connection을 구현하고 LSTM을 부착하여 재학습을 진행

 

< Conv3D (skip connection) >

LSTM을 사용하여도 학습이 진행되는 것이 없다고 판단하여 LSTM을 제거하고 simple하게 Conv3D만 사용
이전의 모델들에 비해 비교적 높은 정확도를 얻을 수 있었음
(Confusion Matrix를 통해 100개 중에 71개의 test video를 올바르게 판별)
 
  • 결론
LSTM을 통해서 동영상의 움직임에서 노이즈를 탐색하여 해당영상이 Deep Fake인지 아닌지를 판별할 수 있을 것이라고생각하였지만 데이터를 cropping하고 frame을 절단하는 과정에서 부자연스럽게 frame이 잘리게 되었고, 얼굴을 너무 정확하게 cropping하여 얼굴 주변에 노이즈를 정확하게 판단할 수가 없었음

 

더 많은 학습 데이터 및 파라미터 수를 사용하여 큰 사이즈의 모델에서 복잡한 노이즈 패턴을 더 잘 파악 가능
(메모리 용량 부족)
 
데이터 crop112 x 112로 하였는데 image size를 늘리면 얼굴 주변 노이즈를 더 잘 detectin할 수 있을 것으로 예상
 
프레임단위 이미지로 변환한 후 이미지를 데이터로 사용했다면 Conv3D(ResNet) 구조에서 결과가 향상될 것으로 예상

 

 

< 프로젝트 진행 내용 최종 보고서 >

IEEE Paper Format (Korean).docx
0.76MB

'대학교 4학년 1학기 > 인공신경망과딥러닝' 카테고리의 다른 글

HW4  (0) 2023.09.11
HW3  (0) 2023.09.11
HW2  (0) 2023.09.07
HW1  (0) 2023.09.05
PCA #13  (0) 2023.09.05