Skip to content

얼굴 표정 인식 (Facial Expression Recognition, FER) 주요 접근 방법 논문 코드 정리

Notifications You must be signed in to change notification settings

StevenHSKim/FER-Models

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

폴더 구조

FER-Models/                            
├── checkpoints/                    # 모델 체크포인트를 저장하는 디렉터리
├── config/                         # 데이터셋 및 설정 파일을 포함하는 디렉터리
│   ├── __init__.py             
│   └── dataset_configs.py          # 데이터셋 관련 설정 파일
├── dataset/                        # 원본 데이터 및 전처리된 데이터를 저장하는 디렉터리
├── environment_all.yaml            # 전체 환경 설정에 필요한 모든 패키지 목록
├── environment_essential.yaml      # 핵심적으로 필요한 패키지 목록
└── src/                            # 소스 코드 디렉터리
    ├── common/                     # 공통 모듈 (손실 함수, 트레이너 등)
    │   ├── __init__.py         
    │   ├── loss.py                 # 손실 함수 정의 파일
    │   └── trainer.py              # 학습 과정 정의 및 실행 파일
    ├── main.py                     # 프로젝트의 메인 실행 파일
    ├── models/                     # 모델 아키텍처 관련 파일
    │   ├── __init__.py         
    │   ├── adadf/                  # AdaDF 모델 관련 모듈
    │   │   ├── __init__.py     
    │   │   ├── adadf.py            # AdaDF 모델 정의
    │   │   ├── auto_augment.py     # 자동 데이터 증강 관련 코드
    │   │   └── resnet18.py         # ResNet18 모델 코드
    │   ├── dan/                    # DAN 모델 관련 모듈
    │   │   ├── __init__.py     
    │   │   └── dan.py              # DAN 모델 정의
    │   ├── ddamfn/                 # DDAMFN 모델 관련 모듈
    │   │   ├── __init__.py     
    │   │   ├── DDAM.py             # DDAM 모델 정의
    │   │   └── MixedFeatureNet.py  # MFN 모델 정의
    │   ├── poster/                 # Poster 관련 모듈
    │   │   ├── __init__.py     
    │   │   ├── crossvit.py         # CrossViT 모델 정의
    │   │   ├── ir50.py             # 백본 IR-50 모델 코드
    │   │   ├── mobilefacenet.py    # 백본 MobileFaceNet 모델 코드
    │   │   └── poster.py           # Poster 모델 정의
    │   └── pretrain_weights/       # 사전 학습된 가중치 저장 디렉터리
    └── utils/                      # 유틸리티 코드 모음
        ├── __init__.py             
        ├── data_utils.py           # 데이터 관련 유틸리티
        ├── dataloader.py           # 데이터 로더 정의
        ├── dataset.py              # 데이터셋 처리 정의
        ├── run_experiments.py      # 실험 실행 및 관리 코드
        └── utils.py                # 기타 유틸리티 함수 정의

논문 정보 및 링크

모델 이름 논문 제목 Venue 논문 링크 Github 링크
POSTER "A pyramid cross-fusion transformer network for facial expression recognition" ICCV Workshop (AMFG) 2023 Paper Github
DAN "Distract your attention: Multi-head cross attention network for facial expression recognition" Biomimetics 2023 Paper Github
DDAMFN "A dual-direction attention mixed feature network for facial expression recognition" Electronics 2023 Paper Github
LNSU-Net "Leave No Stone Unturned: Mine Extra Knowledge for Imbalanced Facial Expression Recognition" NeurIPS 2023 Paper Github
Ada-DF "A Dual-Branch Adaptive Distribution Fusion Framework for Real-World Facial Expression Recognition" ICASSP 2023 Paper Github
POSTER++ "POSTER++: A simpler and stronger facial expression recognition network" Pattern Recognit. 2024 Paper Github
MFER "Multiscale Facial Expression Recognition Based on Dynamic Global and Static Local Attention" IEEE Trans. Affect. Comput. 2024 Paper Github
GSDNet "A gradual self distillation network with adaptive channel attention for facial expression recognition" Appl. Soft. Comput. 2024 Paper Github

데이터셋

데이터셋 이름 이미지 개수 공식 홈페이지 취득 방법 데이터셋 다운로드 링크
RAFDB 15339 Homepage MTCNN을 이용하여 얼굴을 정렬 완료한 데이터셋을 다운로드 받아서 사용 하였음 Google Drive
FER2013 35887 Kaggle 공식 Kaggle 링크에서 icml_face_data.csv를 다운로드 받은 뒤 "emotion"과 "pixel" 열만 남긴 fer2013_modified를 생성하여 사용하였음 Google Drive
FERPlus 35711 Github 공식 Github 링크에서 fer2013new.csv를 다운로드 받고, 직접 정의한 label 생성 코드를 통해 FERPlus_Label_modified.csv를 생성하였음. FER2013의 pixel값을 공식 Github의 generate_training_data.py로 png로 바꾸어 FERPlus_Image를 생성하였음 Google Drive
ExpW 90560 Homepage 홈페이지에서 다운로드 받은 뒤, MTCNN을 이용하여 얼굴을 직접 정렬 하였음 Google Drive
SFEW2.0 1634 Homepage 홈페이지를 통해 저자에게 데이터셋을 요청한 뒤, _Aligned_Face 데이터셋을 다운로드 받아 얼굴이 아닌 이미지는 직접 삭제한 뒤에 사용하였음 Google Drive
CK+ 981 Homepage, Kaggle 각 동영상의 마지막 3개의 프레임을 캡처한 데이터셋을 다운로드 받아서 사용하였음 Google Drive

RAFDB

  • RAFDB 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/raf-basic/
    EmoLabel/
        list_patition_label.txt
    Image/aligned/
        train_00001_aligned.jpg
        test_0001_aligned.jpg
        ...

FER2013

  • FER2013 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/FER2013/
    fer2013_modified.csv

FERPlus

  • FERPlus 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/FERPlus/
    FERPlus_Label_modified.csv
    FERPlus_Image/
        fer0000000.png
        fer0000001.png
        ...

ExpW

  • ExpW 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/ExpW/
    label/
        label.lst
    aligned_image/
        afraid_African_214.jpg
        afraid_american_190.jpg
        ...

SFEW2.0

  • SFEW2.0 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/SFEW2.0/
    sfew_2.0_labels.csv
    sfew2.0_images/
        image_000000.png
        image_000001.png
        ...

CK+

  • CK+ 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/CKPlus/
    ckplus_labels.csv
    ckplus_images/
        image_000000.png
        image_000001.png
        ...

사전학습 모델

모델 이름 사용되는 사전학습 모델 다운로드 링크 설명
POSTER ir50 & mobilefacenet improved resnet-50(이미지 특징 추출 백본)과 mobilefacenet(랜드마크 특징 추출 백본)
DAN resnet18 msceleb 데이터셋으로 학습시킨 resnet-18 백본
DDAMFN mixedfeaturenet msceleb 데이터셋으로 학습시킨 mixedfeaturenet 백본
LNSUNet swin transformer swin transformer 백본
Ada-DF resnet18 msceleb 데이터셋으로 학습시킨 resnet-18 백본
POSTER++ ir50, mobilefacenet improved resnet-50(이미지 특징 추출 백본)과 mobilefacenet(랜드마크 특징 추출 백본)
MFER resnet18 msceleb 데이터셋으로 학습시킨 resnet-18 백본
GSDNet resnet50 msceleb 데이터셋으로 학습시킨 resnet-50 백본

위 사전학습 모델을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요

models/pretrain/
    ir50.pth                            # improved resnet50
    mobilefacenet_model_best.pth        # mobilefacenet
    resnet18_msceleb.pth                # resnet18
    start_0.pth                         # swin transformer
    vgg_msceleb_resnet50_ft_weight.pkl  # resnet50

About

얼굴 표정 인식 (Facial Expression Recognition, FER) 주요 접근 방법 논문 코드 정리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages