Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
legender5431
dpcas
提交
2ff67931
dpcas
项目概览
legender5431
/
dpcas
与 Fork 源项目一致
Fork自
DataBall / dpcas
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
dpcas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2ff67931
编写于
5月 19, 2021
作者:
DataBall
🚴🏻
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update face bioassay
上级
1728d415
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
10 deletion
+29
-10
lib/face_bioassay_lib/cores/face_fuction.py
lib/face_bioassay_lib/cores/face_fuction.py
+27
-8
main.py
main.py
+2
-2
未找到文件。
lib/face_bioassay_lib/cores/face_fuction.py
浏览文件 @
2ff67931
...
...
@@ -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
main.py
浏览文件 @
2ff67931
...
...
@@ -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/f
1
.mp4"
main_face_bioassay
(
video_path
=
0
,
cfg_file
=
cfg_file
)
#加载 face_bioassay 应用
video_path
=
"./video/f
ace2
.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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录