.
├── Cohn-Kanade-Database #data
│ ├── CK+
│ ├── small
│ ├── large
│ ├── dataset_partition
│ └── ...preprocessed data files
├── Persona_Vision_0 #code
│ ├── checkpoint
│ ├── dataset
│ ├── diagrams
│ ├── main
│ ├── models
│ ├── modules
│ ├── paper_figs
│ ├── scripts
│ ├── statistics
│ └── utils
└── README.md
- Data preprocessing
cd Cohn-Kanade-Database
python generate_dataset.py
python generate_dataset_pair.py
- Data Partition
cd dataset_partition
bash tsne_kmeans_image.sh
python dataset_partition.py
- Base train
cd Persona_Vision_0/scripts/facial_expression_recognition/0base/mobilenetv3
bash ck+_base_mobilenetv3_train.sh
- Meta train
cd Persona_Vision_0/scripts/facial_expression_recognition/2meta/mobilenetv3
bash ck+_meta_mobilenetv3_classifier_train.sh
- Ours train
cd Persona_Vision_0/scripts/facial_expression_recognition/2meta/mobilenetv3
bash ck+_meta_mobilenetv3_classifier_train_grad.sh
- Base inference
cd Persona_Vision_0/scripts/facial_expression_recognition/0base/mobilenetv3
bash base_test.sh
- Meta inference
cd Persona_Vision_0/scripts/facial_expression_recognition/2meta/mobilenetv3
bash ck+_meta_mobilenetv3_classifier_test.sh
- Ours inference
cd Persona_Vision_0/scripts/facial_expression_recognition/2meta/mobilenetv3
bash ck+_meta_mobilenetv3_classifier_test_grad.sh
For group training,parameter in shell need to be modified, for instance,
classnum=2 # 2 groups cluster=cluster_0 # the 1st group size=small # model=mobilenetv3_small
- Finetune on group data
cd Persona_Vision_0/scripts/facial_expression_recognition/0base/mobilenetv3
bash ck+_base_mobilenetv3_finetune.sh
- Train each group's parameter editor
cd Persona_Vision_0/scripts/facial_expression_recognition/2meta/mobilenetv3
bash ck+_meta_mobilenetv3_classifier_train_grad_group.sh
- Inference
cd Persona_Vision_0/scripts/facial_expression_recognition/2meta/mobilenetv3
bash ck+_meta_mobilenetv3_classifier_test_grad_group.sh