Skip to content

Commit

Permalink
add表情识别
Browse files Browse the repository at this point in the history
  • Loading branch information
vipstone committed May 8, 2018
1 parent a4d03f6 commit cf3d66b
Show file tree
Hide file tree
Showing 9 changed files with 59 additions and 4 deletions.
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# FaceAI #
# 功能 #

1. 人脸检测(图片、视频)
1. 轮廓标识
1. 头像合成(给人戴帽子)
1. 数字化妆(画口红、眉毛、眼睛等)
1. 性别识别
1. 表情识别(生气、厌恶、恐惧、开心、难过、惊喜、平静等七种情绪)

一款优秀的人脸、视频、文字:检测、识别的智能AI项目。

**开发环境**

Expand Down
Binary file not shown.
49 changes: 49 additions & 0 deletions faceai/emotion.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#coding=utf-8
#表情识别

import cv2
from keras.models import load_model
import numpy as np
import chineseText
import datetime

startTime = datetime.datetime.now()
emotion_classifier = load_model(
'classifier/emotion_models/simple_CNN.530-0.65.hdf5')
endTime = datetime.datetime.now()
print(endTime - startTime)

emotion_labels = {
0: '生气',
1: '厌恶',
2: '恐惧',
3: '开心',
4: '难过',
5: '惊喜',
6: '平静'
}

img = cv2.imread("img/emotion/emotion.png")
face_classifier = cv2.CascadeClassifier(
"C:\Python36\Lib\site-packages\opencv-master\data\haarcascades\haarcascade_frontalface_default.xml"
)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_classifier.detectMultiScale(
gray, scaleFactor=1.2, minNeighbors=3, minSize=(40, 40))
color = (255, 0, 0)

for (x, y, w, h) in faces:
gray_face = gray[(y):(y + h), (x):(x + w)]
gray_face = cv2.resize(gray_face, (48, 48))
gray_face = gray_face / 255.0
gray_face = np.expand_dims(gray_face, 0)
gray_face = np.expand_dims(gray_face, -1)
emotion_label_arg = np.argmax(emotion_classifier.predict(gray_face))
emotion = emotion_labels[emotion_label_arg]
cv2.rectangle(img, (x + 10, y + 10), (x + h - 10, y + w - 10),
(255, 255, 255), 2)
img = chineseText.cv2ImgAddText(img, emotion, x + h * 0.3, y, color, 20)

cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
4 changes: 2 additions & 2 deletions faceai/gender.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import cv2
from keras.models import load_model
import numpy as np
import ChineseText
import chineseText

img = cv2.imread("img/gather.png")
face_classifier = cv2.CascadeClassifier(
Expand All @@ -27,7 +27,7 @@
gender_label_arg = np.argmax(gender_classifier.predict(face))
gender = gender_labels[gender_label_arg]
cv2.rectangle(img, (x, y), (x + h, y + w), color, 2)
img = ChineseText.cv2ImgAddText(img, gender, x + h, y, color, 30)
img = chineseText.cv2ImgAddText(img, gender, x + h, y, color, 30)

cv2.imshow("Image", img)
cv2.waitKey(0)
Expand Down
File renamed without changes
Binary file added faceai/img/emotion/emotion.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Binary file added res/emotion.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cf3d66b

Please sign in to comment.