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 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/raf-basic/
EmoLabel/
list_patition_label.txt
Image/aligned/
train_00001_aligned.jpg
test_0001_aligned.jpg
...
- FER2013 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/FER2013/
fer2013_modified.csv
- FERPlus 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/FERPlus/
FERPlus_Label_modified.csv
FERPlus_Image/
fer0000000.png
fer0000001.png
...
- ExpW 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/ExpW/
label/
label.lst
aligned_image/
afraid_African_214.jpg
afraid_american_190.jpg
...
- SFEW2.0 데이터셋을 다운로드 받아 아래와 같은 형식으로 배치하여 사용하세요
dataset/SFEW2.0/
sfew_2.0_labels.csv
sfew2.0_images/
image_000000.png
image_000001.png
...
- 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