def smooth_emotions(self, prediction):
emotions = ["Angry", "Disgust", "Fear", "Happy", "Sad", "Surprise", "Neutral"]
emotion_values = {'Angry': 0.0, 'Disgust': 0.0, 'Fear': 0.0, 'Happy': 0.0, 'Sad': 0.0, 'Surprise': 0.0, 'Neutral': 0.0}
emotion_probability, emotion_index = max((val, idx) for (idx, val) in enumerate(prediction[0]))
emotion = emotions[emotion_index]
# Append the new emotion and if the max length is reached pop the oldest value out
self.emotion_queue.appendleft((emotion_probability, emotion))
# Iterate through each emotion in the queue and create an average of the emotions
for pair in self.emotion_queue:
emotion_values[pair[1]] += pair[0]
# Select the current emotion based on the one that has the highest value
average_emotion = max(emotion_values.iteritems(), key=operator.itemgetter(1))[0]
return average_emotion
face_tracking.py 文件源码
python
阅读 31
收藏 0
点赞 0
评论 0
评论列表
文章目录