Spaces:
Sleeping
Sleeping
| import os | |
| import cv2 | |
| import speech_recognition as sr | |
| import dlib | |
| import sys | |
| os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0' | |
| from functions.eye_track import Facetrack | |
| from functions.fer import Model | |
| from functions.valence_arousal import load_models | |
| from tensorflow.keras.models import load_model # type: ignore | |
| def load_values(file_path): | |
| values_dict = {} | |
| with open(file_path, 'r') as file: | |
| for line in file: | |
| word, value = line.strip().split('\t') | |
| values_dict[word.lower()] = float(value) | |
| return values_dict | |
| models_folder='models' | |
| fer_model_path=os.path.join(models_folder,'22.6_AffectNet_10K_part2.pt') | |
| arousal_dict_path=os.path.join(models_folder,'arousal-NRC-VAD-Lexicon.txt') | |
| dominance_dict_path=os.path.join(models_folder,'dominance-NRC-VAD-Lexicon.txt') | |
| valence_arousal_model=os.path.join(models_folder,'emotion_model.pt') | |
| val_ar_feat_path=os.path.join(models_folder,'resnet_features.pt') | |
| speech_model=os.path.join(models_folder,'speech.keras') | |
| valence_dict_path=os.path.join(models_folder,'valence-NRC-VAD-Lexicon.txt') | |
| print("Loading models ") | |
| #Face detection models | |
| dnn_net = cv2.dnn.readNetFromCaffe(os.path.join(models_folder,"deploy.prototxt"), os.path.join(models_folder,"res10_300x300_ssd_iter_140000.caffemodel")) | |
| predictor = dlib.shape_predictor(os.path.join(models_folder,"shape_predictor_68_face_landmarks.dat")) | |
| # print("face models loaded ") | |
| #FER model | |
| fer_model=Model(fps=30,fer_model=fer_model_path) | |
| # print("fer model loaded ") | |
| #Speech model | |
| model_s = load_model(speech_model) | |
| # print("speech model loaded ") | |
| #Load valence,arousal,dominance_dicts | |
| valence_dict = load_values(valence_dict_path) | |
| arousal_dict = load_values(arousal_dict_path) | |
| dominance_dict = load_values(dominance_dict_path) | |
| #Loading valence_arousal_models | |
| resnet,emotion_model=load_models(valence_arousal_model,val_ar_feat_path) | |
| models_dict={ | |
| 'face':(dnn_net,predictor), | |
| 'speech':model_s, | |
| 'fer':fer_model, | |
| 'vad':(valence_dict,arousal_dict,dominance_dict), | |
| "valence_fer":(resnet,emotion_model) | |
| } | |
| print("models loaded") |