Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
4784a3f2
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 1 年 前同步成功
通知
280
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
4784a3f2
编写于
3月 05, 2020
作者:
W
wuzewu
提交者:
GitHub
3月 05, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adapted nlpreader to lac module v2 (#418)
* adapted nlpreader to lac module v2 * fix code style of mask demo
上级
a1f8ea54
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
59 addition
and
60 deletion
+59
-60
demo/mask_detection/mask_detection.py
demo/mask_detection/mask_detection.py
+3
-1
demo/mask_detection/python/infer.py
demo/mask_detection/python/infer.py
+54
-54
paddlehub/reader/nlp_reader.py
paddlehub/reader/nlp_reader.py
+1
-4
paddlehub/version.py
paddlehub/version.py
+1
-1
未找到文件。
demo/mask_detection/mask_detection.py
浏览文件 @
4784a3f2
...
...
@@ -8,6 +8,7 @@ import os
module
=
hub
.
Module
(
name
=
"pyramidbox_lite_server_mask"
,
version
=
'1.1.0'
)
# opencv输出中文
def
paint_chinese
(
im
,
chinese
,
position
,
fontsize
,
color_bgr
):
# 图像从OpenCV格式转换成PIL格式
...
...
@@ -88,7 +89,8 @@ while True:
label_cn
=
"无口罩"
cv2
.
rectangle
(
frame_copy
,
(
left
,
top
),
(
right
,
bottom
),
color
,
3
)
cv2
.
putText
(
frame_copy
,
label
,
(
left
,
top
-
10
),
cv2
.
FONT_HERSHEY_SIMPLEX
,
0.8
,
color
,
2
)
cv2
.
putText
(
frame_copy
,
label
,
(
left
,
top
-
10
),
cv2
.
FONT_HERSHEY_SIMPLEX
,
0.8
,
color
,
2
)
#origin_point = (left, top - 36)
#frame_copy = paint_chinese(frame_copy, label_cn, origin_point, 24,
# color)
...
...
demo/mask_detection/python/infer.py
浏览文件 @
4784a3f2
...
...
@@ -33,30 +33,27 @@ import argparse
def
parse_args
():
parser
=
argparse
.
ArgumentParser
(
'mask detection.'
)
parser
.
add_argument
(
'--models_dir'
,
type
=
str
,
default
=
''
,
help
=
'path of models.'
)
parser
.
add_argument
(
'--img_paths'
,
type
=
str
,
default
=
''
,
help
=
'path of images'
)
parser
.
add_argument
(
'--video_path'
,
type
=
str
,
default
=
''
,
help
=
'path of video.'
)
parser
.
add_argument
(
'--use_camera'
,
type
=
bool
,
default
=
False
,
help
=
'switch detect video or camera, default:video.'
)
parser
.
add_argument
(
'--open_imshow'
,
type
=
bool
,
default
=
False
,
help
=
'visualize video detection results in real time.'
)
parser
.
add_argument
(
'--use_gpu'
,
type
=
bool
,
default
=
False
,
help
=
'switch cpu/gpu, default:cpu.'
)
parser
.
add_argument
(
'--models_dir'
,
type
=
str
,
default
=
''
,
help
=
'path of models.'
)
parser
.
add_argument
(
'--img_paths'
,
type
=
str
,
default
=
''
,
help
=
'path of images'
)
parser
.
add_argument
(
'--video_path'
,
type
=
str
,
default
=
''
,
help
=
'path of video.'
)
parser
.
add_argument
(
'--use_camera'
,
type
=
bool
,
default
=
False
,
help
=
'switch detect video or camera, default:video.'
)
parser
.
add_argument
(
'--open_imshow'
,
type
=
bool
,
default
=
False
,
help
=
'visualize video detection results in real time.'
)
parser
.
add_argument
(
'--use_gpu'
,
type
=
bool
,
default
=
False
,
help
=
'switch cpu/gpu, default:cpu.'
)
args
=
parser
.
parse_args
()
return
args
...
...
@@ -108,10 +105,11 @@ class MaskClassifier:
h
,
w
=
self
.
EVAL_SIZE
[
1
],
self
.
EVAL_SIZE
[
0
]
inputs
=
[]
for
face
in
faces
:
im
=
cv2
.
resize
(
face
.
rect_data
,
(
128
,
128
),
fx
=
0
,
fy
=
0
,
interpolation
=
cv2
.
INTER_CUBIC
)
im
=
cv2
.
resize
(
face
.
rect_data
,
(
128
,
128
),
fx
=
0
,
fy
=
0
,
interpolation
=
cv2
.
INTER_CUBIC
)
# HWC -> CHW
im
=
im
.
swapaxes
(
1
,
2
)
im
=
im
.
swapaxes
(
0
,
1
)
...
...
@@ -151,10 +149,8 @@ class FaceDetector:
def
Preprocess
(
self
,
image
,
shrink
):
h
,
w
=
int
(
image
.
shape
[
1
]
*
shrink
),
int
(
image
.
shape
[
0
]
*
shrink
)
im
=
cv2
.
resize
(
image
,
(
h
,
w
),
fx
=
0
,
fy
=
0
,
interpolation
=
cv2
.
INTER_CUBIC
)
im
=
cv2
.
resize
(
image
,
(
h
,
w
),
fx
=
0
,
fy
=
0
,
interpolation
=
cv2
.
INTER_CUBIC
)
# HWC -> CHW
im
=
im
.
swapaxes
(
1
,
2
)
im
=
im
.
swapaxes
(
0
,
1
)
...
...
@@ -194,16 +190,18 @@ class FaceDetector:
def
predict_images
(
args
):
detector
=
FaceDetector
(
model_dir
=
args
.
models_dir
+
'/pyramidbox_lite/'
,
mean
=
[
104.0
,
177.0
,
123.0
],
scale
=
[
0.007843
,
0.007843
,
0.007843
],
use_gpu
=
args
.
use_gpu
,
threshold
=
0.7
)
classifier
=
MaskClassifier
(
model_dir
=
args
.
models_dir
+
'/mask_detector/'
,
mean
=
[
0.5
,
0.5
,
0.5
],
scale
=
[
1.0
,
1.0
,
1.0
],
use_gpu
=
args
.
use_gpu
)
detector
=
FaceDetector
(
model_dir
=
args
.
models_dir
+
'/pyramidbox_lite/'
,
mean
=
[
104.0
,
177.0
,
123.0
],
scale
=
[
0.007843
,
0.007843
,
0.007843
],
use_gpu
=
args
.
use_gpu
,
threshold
=
0.7
)
classifier
=
MaskClassifier
(
model_dir
=
args
.
models_dir
+
'/mask_detector/'
,
mean
=
[
0.5
,
0.5
,
0.5
],
scale
=
[
1.0
,
1.0
,
1.0
],
use_gpu
=
args
.
use_gpu
)
names
=
[]
image_paths
=
[]
for
name
in
os
.
listdir
(
args
.
img_paths
):
...
...
@@ -229,16 +227,18 @@ def predict_video(args, im_shape=(1920, 1080), use_camera=False):
capture
=
cv2
.
VideoCapture
(
0
)
else
:
capture
=
cv2
.
VideoCapture
(
args
.
video_path
)
detector
=
FaceDetector
(
model_dir
=
args
.
models_dir
+
'/pyramidbox_lite/'
,
mean
=
[
104.0
,
177.0
,
123.0
],
scale
=
[
0.007843
,
0.007843
,
0.007843
],
use_gpu
=
args
.
use_gpu
,
threshold
=
0.7
)
classifier
=
MaskClassifier
(
model_dir
=
args
.
models_dir
+
'/mask_detector/'
,
mean
=
[
0.5
,
0.5
,
0.5
],
scale
=
[
1.0
,
1.0
,
1.0
],
use_gpu
=
args
.
use_gpu
)
detector
=
FaceDetector
(
model_dir
=
args
.
models_dir
+
'/pyramidbox_lite/'
,
mean
=
[
104.0
,
177.0
,
123.0
],
scale
=
[
0.007843
,
0.007843
,
0.007843
],
use_gpu
=
args
.
use_gpu
,
threshold
=
0.7
)
classifier
=
MaskClassifier
(
model_dir
=
args
.
models_dir
+
'/mask_detector/'
,
mean
=
[
0.5
,
0.5
,
0.5
],
scale
=
[
1.0
,
1.0
,
1.0
],
use_gpu
=
args
.
use_gpu
)
path
=
'./result'
isExists
=
os
.
path
.
exists
(
path
)
...
...
@@ -248,8 +248,8 @@ def predict_video(args, im_shape=(1920, 1080), use_camera=False):
width
=
int
(
capture
.
get
(
cv2
.
CAP_PROP_FRAME_WIDTH
))
height
=
int
(
capture
.
get
(
cv2
.
CAP_PROP_FRAME_HEIGHT
))
fourcc
=
cv2
.
VideoWriter_fourcc
(
*
'mp4v'
)
writer
=
cv2
.
VideoWriter
(
os
.
path
.
join
(
path
,
'result.mp4'
),
fourcc
,
fps
,
(
width
,
height
))
writer
=
cv2
.
VideoWriter
(
os
.
path
.
join
(
path
,
'result.mp4'
),
fourcc
,
fps
,
(
width
,
height
))
import
time
start_time
=
time
.
time
()
index
=
0
...
...
paddlehub/reader/nlp_reader.py
浏览文件 @
4784a3f2
...
...
@@ -1162,9 +1162,6 @@ class LACClassifyReader(BaseReader):
self
.
tokenizer
=
tokenization
.
FullTokenizer
(
vocab_file
=
vocab_path
,
do_lower_case
=
False
)
self
.
vocab
=
self
.
tokenizer
.
vocab
self
.
feed_key
=
list
(
self
.
lac
.
processor
.
data_format
(
sign_name
=
"lexical_analysis"
).
keys
())[
0
]
self
.
has_processed
=
{
"train"
:
False
,
"dev"
:
False
,
...
...
@@ -1200,7 +1197,7 @@ class LACClassifyReader(BaseReader):
"Unknown phase, which should be in ['train', 'dev', 'test']."
)
def
preprocess
(
text
):
data_dict
=
{
self
.
feed_key
:
[
text
]}
data_dict
=
{
'text'
:
[
text
]}
processed
=
self
.
lac
.
lexical_analysis
(
data
=
data_dict
)
processed
=
[
self
.
vocab
[
word
]
for
word
in
processed
[
0
][
'word'
]
...
...
paddlehub/version.py
浏览文件 @
4784a3f2
...
...
@@ -13,5 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
""" PaddleHub version string """
hub_version
=
"1.
5.2
"
hub_version
=
"1.
6.0
"
module_proto_version
=
"1.0.0"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录