提交 2ff67931 编写于 作者: Eric.Lee2021's avatar Eric.Lee2021 🚴🏻

update face bioassay

上级 1728d415
......@@ -306,8 +306,8 @@ def get_faces_batch_attribute(face_multitask_model,face_euler_model,face_au_mode
yaw,pitch,roll = euler_angles[i] # 欧拉角
if vis:
cv2.putText(img_raw, "yaw:{:.1f},pitch:{:.1f},roll:{:.1f}".format(yaw,pitch,roll),(int(r_bboxes[i][0]-20),int(r_bboxes[i][1]-30)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (253,139,54), 5)
cv2.putText(img_raw, "yaw:{:.1f},pitch:{:.1f},roll:{:.1f}".format(yaw,pitch,roll),(int(r_bboxes[i][0]-20),int(r_bboxes[i][1]-30)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
cv2.putText(img_raw, "yaw:{:.1f},pitch:{:.1f},roll:{:.1f}".format(yaw,pitch,roll),(int(r_bboxes[i][0]-1),int(r_bboxes[i][1]+36)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (253,139,54), 5)
cv2.putText(img_raw, "yaw:{:.1f},pitch:{:.1f},roll:{:.1f}".format(yaw,pitch,roll),(int(r_bboxes[i][0]-1),int(r_bboxes[i][1]+36)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
cv2.putText(img_raw, "{}".format(int(face_area)),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]-3)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (253,39,54), 5) # face_area
cv2.putText(img_raw, "{}".format(int(face_area)),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]-3)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
......@@ -352,7 +352,6 @@ def get_faces_batch_attribute(face_multitask_model,face_euler_model,face_au_mode
# print("faces_align_batch shape : ",faces_align_batch.shape)
au_features = face_au_model.predict(faces_align_batch)
for i in range(len(dets)):
# print("au_features : ",au_features[i])
open_mouth = np.clip(au_features[i][8],0.,1.)
......@@ -361,10 +360,30 @@ def get_faces_batch_attribute(face_multitask_model,face_euler_model,face_au_mode
print("open_mouth : {:.2f},eye_close: {:.3f} , {:.3f}".format(open_mouth,close_eye_r,close_eye_l))
faces_message[i]["open_mouth"] = open_mouth
faces_message[i]["eye_close"] = (close_eye_r,close_eye_l)
cv2.putText(img_raw, "{:.2f}".format(open_mouth),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+15)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,25), 3)
cv2.putText(img_raw, "{:.2f}".format(open_mouth),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+15)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
cv2.putText(img_raw, "{:.2f},{:.2f}".format(close_eye_r,close_eye_l),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+35)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,33,255), 3)
cv2.putText(img_raw, "{:.2f},{:.2f}".format(close_eye_r,close_eye_l),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+35)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
# 根据阈值 判断 其 开闭状态
r_eye_str = "close" if close_eye_r>0.35 else "open"
l_eye_str = "close" if close_eye_l>0.35 else "open"
open_mouth_str = "open" if open_mouth>0.26 else "close"
# 开闭状态 可视化
if open_mouth_str == "open":
cv2.putText(img_raw, "{:.2f}:{}".format(open_mouth,open_mouth_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+15)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (225,15,25), 3)
cv2.putText(img_raw, "{:.2f}:{}".format(open_mouth,open_mouth_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+15)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
else:
cv2.putText(img_raw, "{:.2f}:{}".format(open_mouth,open_mouth_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+15)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,25), 3)
cv2.putText(img_raw, "{:.2f}:{}".format(open_mouth,open_mouth_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+15)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
if r_eye_str == "open":
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_r,r_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+45)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,25), 3)
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_r,r_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+45)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
else:
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_r,r_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+45)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (225,15,25), 3)
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_r,r_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+45)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
if l_eye_str == "open":
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_l,l_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+70)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,25), 3)
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_l,l_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+70)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
else:
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_l,l_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+60)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (225,15,25), 3)
cv2.putText(img_raw, "{:.2f}:{}".format(close_eye_l,l_eye_str),(int(r_bboxes[i][0]-1),int(r_bboxes[i][3]+60)),cv2.FONT_HERSHEY_DUPLEX, 0.65, (20,185,255), 1)
return faces_message
......@@ -67,8 +67,8 @@ if __name__ == '__main__':
elif APP_P == "face_bioassay":
from applications.face_bioassay_local_app import main_face_bioassay #face_bioassay 应用
cfg_file = "./lib/face_bioassay_lib/cfg/face_bioassay.cfg"
video_path = "./video/f1.mp4"
main_face_bioassay(video_path = 0,cfg_file = cfg_file)#加载 face_bioassay 应用
video_path = "./video/face2.mp4"
main_face_bioassay(video_path = video_path,cfg_file = cfg_file)#加载 face_bioassay 应用
# elif APP_P == "video_ana":
# from applications.VideoAnalysis_app import main_VideoAnalysis #加载 video_analysis 应用
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册