Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
c2be032d
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
1 年多 前同步成功
通知
283
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c2be032d
编写于
3月 14, 2020
作者:
D
dp
提交者:
GitHub
3月 14, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复图片不显示的问题 (#443)
* 修复图片不显示的问题
上级
6515ff0f
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
13 addition
and
12 deletion
+13
-12
demo/mask_detection/README.md
demo/mask_detection/README.md
+9
-9
demo/mask_detection/images/json.jpg
demo/mask_detection/images/json.jpg
+0
-0
demo/mask_detection/images/logo.jpg
demo/mask_detection/images/logo.jpg
+0
-0
demo/mask_detection/images/mask1.jpg
demo/mask_detection/images/mask1.jpg
+0
-0
demo/mask_detection/images/mask2.jpg
demo/mask_detection/images/mask2.jpg
+0
-0
demo/mask_detection/images/mask3.jpg
demo/mask_detection/images/mask3.jpg
+0
-0
demo/mask_detection/images/maskdetection_1.jpg
demo/mask_detection/images/maskdetection_1.jpg
+0
-0
demo/mask_detection/images/maskdetection_2.jpg
demo/mask_detection/images/maskdetection_2.jpg
+0
-0
demo/mask_detection/images/result.jpg
demo/mask_detection/images/result.jpg
+0
-0
demo/mask_detection/images/web1.jpg
demo/mask_detection/images/web1.jpg
+0
-0
demo/mask_detection/images/web2.jpg
demo/mask_detection/images/web2.jpg
+0
-0
demo/mask_detection/mask_detection.py
demo/mask_detection/mask_detection.py
+4
-3
未找到文件。
demo/mask_detection/README.md
浏览文件 @
c2be032d
...
...
@@ -8,7 +8,7 @@
-
[
3. 高性能C++部署方案
](
#3-高性能c部署方案
)
## 1. 搭建视频流场景WebDemo
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/BB6BC87A45D146CEBA7BF237B5383835?ynotemdtimestamp=1582271320612
)
![
image
](
./images/web1.jpg
)
### [>点击查看视频链接<](https://www.bilibili.com/video/av88962128)
...
...
@@ -19,7 +19,7 @@
### 效果分析
可以看到识别率在80~90%之前,稍小的人脸有误识别的情况,有些挡住嘴的场景也被误识别成了戴口罩,一个人带着口罩,鼻子漏出来识别成没有戴口罩,这个是合理的因为的鼻子漏出来是佩戴不规范。这个模型应用在门口,狭长通道,人脸识别机所在位置都是可以的。
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/7E12DBD91D1D4AB5B33C84786D519065?ynotemdtimestamp=1582271320612
)![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/2BD974FB990C4C448B30B04194545054?ynotemdtimestamp=1582271320612
)![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/E49E34A071F8484D948511430FAB0360?ynotemdtimestamp=1582271320612
)
![
image
](
./images/mask1.jpg
)![
image
](
./images/mask2.jpg
)![
image
](
./images/mask3.jpg
)
### 1.1 部署环境
参考: https://www.paddlepaddle.org.cn/install/quick
...
...
@@ -32,7 +32,7 @@
#### 加载预训练模型
```
python
import
paddlehub
as
hub
module
=
hub
.
Module
(
name
=
"pyramidbox_lite_server_mask"
,
version
=
'1.1.0'
)
#口罩检测模型
module
=
hub
.
Module
(
name
=
"pyramidbox_lite_server_mask"
)
#口罩检测模型
```
>以上语句paddlehub会自动下载口罩检测模型 "pyramidbox_lite_mobile_mask" 不需要提前下载模型
...
...
@@ -108,7 +108,7 @@ for result in results:
cv2
.
rectangle
(
frame
,
(
left
,
top
),
(
right
,
bottom
),
color
,
3
)
cv2
.
putText
(
frame
,
label
+
":"
+
str
(
confidence
),
(
left
,
top
-
10
),
cv2
.
FONT_HERSHEY_SIMPLEX
,
0.8
,
color
,
2
)
```
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/F85FCBCA17994C8691024381CBDAFCA7?ynotemdtimestamp=1582271320612
)
![
image
](
./images/maskdetection_1.jpg
)
>原DEMO中是英文+置信度显示在框的上面,尝试改为中文,遇到字体问题,以下是解决办法
...
...
@@ -144,7 +144,7 @@ for result in results:
# cv2.putText(frame, label + ":" + str(confidence), (left, top-10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, color, 2)
frame
=
paint_chinese_opencv
(
frame
,
label_cn
+
":"
+
str
(
confidence
),
(
left
,
top
-
36
),
24
,
color
)
```
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/4F75E5C6F42F4C3CBE1341742D032847?ynotemdtimestamp=1582271320612
)
![
image
](
./images/maskdetection_2.jpg
)
#### 提取头像文件
...
...
@@ -171,10 +171,10 @@ with open("./result/2-mask_detection.json","w") as f:
#### python 导出的数据
使用上面的 python 文件完整执行后会有3个种类的数据输出,放到
`web/video/result`
目录下
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/329AC9C2D89447EABE6B8C45D620441E?ynotemdtimestamp=1582271320612
)
![
image
](
./images/result.jpg
)
#### json数据结构
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/5D46F32061B047D4AB0AC016FE2A63A5?ynotemdtimestamp=1582271320612
)
![
image
](
./images/json.jpg
)
#### 使用数据渲染网页
...
...
@@ -182,7 +182,7 @@ with open("./result/2-mask_detection.json","w") as f:
-
根据时间点换算为帧(1秒30帧),遍历 json 数据中的数据
-
把数据中对应的数据输出到网页右侧 "信息区"
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/6329B326216A4950BF35E0CB37CDC58F?ynotemdtimestamp=1582271320612
)
![
image
](
./images/web2.jpg
)
## 2. 高性能Python部署方案
...
...
@@ -196,6 +196,6 @@ with open("./result/2-mask_detection.json","w") as f:
**百度飞桨合作伙伴:**
![
image
](
https://note.youdao.com/yws/public/resource/b0a4695bc7d58aed3b1ff797409aee1e/DC72DE1CF51747138871BB0E3D54E20D?ynotemdtimestamp=1582271320612
)
![
image
](
./images/logo.jpg
)
北京奇想天外科技有限公司
demo/mask_detection/images/json.jpg
0 → 100644
浏览文件 @
c2be032d
63.7 KB
demo/mask_detection/images/logo.jpg
0 → 100644
浏览文件 @
c2be032d
7.6 KB
demo/mask_detection/images/mask1.jpg
0 → 100644
浏览文件 @
c2be032d
11.4 KB
demo/mask_detection/images/mask2.jpg
0 → 100644
浏览文件 @
c2be032d
11.2 KB
demo/mask_detection/images/mask3.jpg
0 → 100644
浏览文件 @
c2be032d
10.9 KB
demo/mask_detection/images/maskdetection_1.jpg
0 → 100644
浏览文件 @
c2be032d
105.5 KB
demo/mask_detection/images/maskdetection_2.jpg
0 → 100644
浏览文件 @
c2be032d
110.1 KB
demo/mask_detection/images/result.jpg
0 → 100644
浏览文件 @
c2be032d
100.2 KB
demo/mask_detection/images/web1.jpg
0 → 100644
浏览文件 @
c2be032d
162.5 KB
demo/mask_detection/images/web2.jpg
0 → 100644
浏览文件 @
c2be032d
65.5 KB
demo/mask_detection/mask_detection.py
浏览文件 @
c2be032d
...
...
@@ -6,15 +6,16 @@ import numpy as np
import
json
import
os
module
=
hub
.
Module
(
name
=
"pyramidbox_lite_server_mask"
,
version
=
'1.1.0'
)
module
=
hub
.
Module
(
name
=
"pyramidbox_lite_server_mask"
)
# opencv输出中文
def
paint_chinese
(
im
,
chinese
,
position
,
fontsize
,
color_bgr
):
# 图像从OpenCV格式转换成PIL格式
img_PIL
=
Image
.
fromarray
(
cv2
.
cvtColor
(
im
,
cv2
.
COLOR_BGR2RGB
))
font
=
ImageFont
.
truetype
(
'SourceHanSansSC-Medium.otf'
,
fontsize
,
encoding
=
"utf-8"
)
font
=
ImageFont
.
truetype
(
'SourceHanSansSC-Medium.otf'
,
fontsize
,
encoding
=
"utf-8"
)
#color = (255,0,0) # 字体颜色
#position = (100,100)# 文字输出位置
color
=
color_bgr
[::
-
1
]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录