Summary

정리해보자면, neutral face는 openArt를 이용하여 제작된 상태이고, 이를 Gemini 2.5 Flash Image(nano-banana)를 사용해 표정을 바꾼 상황. 변환한 정서는 총 6종으로

  • angry
  • sad
  • happy
  • disgust
  • surprised

임.

Todo

  1. 변환 후 사람의 identity가 불변인지 체크 필요.
  2. 변환 target인 정서에 제대로 입혀졌는지 검증 필요.
  3. Human Rating
  4. AI Rating


facial expression analysis에 사용되는 Wrapper.

다루는 주요 feature:

  • age, gender emotion, race…

주요 모델들인 아래를 불러다 쓸 수 있음.

Multi column

Verification 표정 변환간 identity 보존 여부 check

Analysis 변환된 표정이 실제로 그 표정인지 check.

Trial


Example


Models


Face Recognition Models


Face Detection


Face Analyze


  • deepface.analyze()의 return은 (age, emotion, gender, race) 등

Summary

Age, race, gender는 아래와 같이 예상됨.

  • VGG-Face base로 한 backbone에
  • age : backbone + 101-class output classifier
  • race: backbone + 6-class classifier
    • (“asian”, “indian”, “black”, “white”, “middle eastern”, “latino hispanic”)
  • gender: backbone + 2-class classifier

Summary

Emotion 같은 경우는 custom model을 사용한 것으로 추정.
소형 CNN

  • input dimension으로 보아, 48 x 48로 cropping 혹은 resizing을 거친 뒤, gray-scaling도 거친 듯
model = Sequential()
 
# 1st convolution layer
model.add(Conv2D(64, (5, 5), activation="relu", input_shape=(48, 48, 1)))
model.add(MaxPooling2D(pool_size=(5, 5), strides=(2, 2)))
 
# 2nd convolution layer
model.add(Conv2D(64, (3, 3), activation="relu"))
model.add(Conv2D(64, (3, 3), activation="relu"))
model.add(AveragePooling2D(pool_size=(3, 3), strides=(2, 2)))
 
# 3rd convolution layer
model.add(Conv2D(128, (3, 3), activation="relu"))
model.add(Conv2D(128, (3, 3), activation="relu"))
model.add(AveragePooling2D(pool_size=(3, 3), strides=(2, 2)))
 
model.add(Flatten())
 
# fully connected neural networks
model.add(Dense(1024, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(1024, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(num_classes, activation="softmax"))

Similarity Metric


Summary

  • 실험 상으로는 어떠한 지표를 쓰던 차이는 없다고 한다.

TODO


Todo

Cumulative confusion matrix 그리기. probability distribution을 단순 누적해서 confusion matrix 형태로 그리기.