Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleOCR
提交
6609e3ca
P
PaddleOCR
项目概览
s920243400
/
PaddleOCR
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleOCR
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6609e3ca
编写于
11月 23, 2021
作者:
Z
zhoujun
提交者:
GitHub
11月 23, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4732 from WenmuZhou/tipc
add east to tipc
上级
caa7799b
5fd13ab8
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
326 addition
and
12 deletion
+326
-12
ppocr/postprocess/east_postprocess.py
ppocr/postprocess/east_postprocess.py
+5
-11
requirements.txt
requirements.txt
+2
-1
test_tipc/configs/det_mv3_east_v2.0/det_mv3_east.yml
test_tipc/configs/det_mv3_east_v2.0/det_mv3_east.yml
+109
-0
test_tipc/configs/det_mv3_east_v2.0/train_infer_python.txt
test_tipc/configs/det_mv3_east_v2.0/train_infer_python.txt
+51
-0
test_tipc/configs/det_r50_vd_east_v2.0/det_r50_vd_east.yml
test_tipc/configs/det_r50_vd_east_v2.0/det_r50_vd_east.yml
+108
-0
test_tipc/configs/det_r50_vd_east_v2.0/train_infer_python.txt
..._tipc/configs/det_r50_vd_east_v2.0/train_infer_python.txt
+51
-0
未找到文件。
ppocr/postprocess/east_postprocess.py
浏览文件 @
6609e3ca
...
@@ -20,6 +20,7 @@ import numpy as np
...
@@ -20,6 +20,7 @@ import numpy as np
from
.locality_aware_nms
import
nms_locality
from
.locality_aware_nms
import
nms_locality
import
cv2
import
cv2
import
paddle
import
paddle
import
lanms
import
os
import
os
import
sys
import
sys
...
@@ -29,6 +30,7 @@ class EASTPostProcess(object):
...
@@ -29,6 +30,7 @@ class EASTPostProcess(object):
"""
"""
The post process for EAST.
The post process for EAST.
"""
"""
def
__init__
(
self
,
def
__init__
(
self
,
score_thresh
=
0.8
,
score_thresh
=
0.8
,
cover_thresh
=
0.1
,
cover_thresh
=
0.1
,
...
@@ -38,11 +40,6 @@ class EASTPostProcess(object):
...
@@ -38,11 +40,6 @@ class EASTPostProcess(object):
self
.
score_thresh
=
score_thresh
self
.
score_thresh
=
score_thresh
self
.
cover_thresh
=
cover_thresh
self
.
cover_thresh
=
cover_thresh
self
.
nms_thresh
=
nms_thresh
self
.
nms_thresh
=
nms_thresh
# c++ la-nms is faster, but only support python 3.5
self
.
is_python35
=
False
if
sys
.
version_info
.
major
==
3
and
sys
.
version_info
.
minor
==
5
:
self
.
is_python35
=
True
def
restore_rectangle_quad
(
self
,
origin
,
geometry
):
def
restore_rectangle_quad
(
self
,
origin
,
geometry
):
"""
"""
...
@@ -79,11 +76,8 @@ class EASTPostProcess(object):
...
@@ -79,11 +76,8 @@ class EASTPostProcess(object):
boxes
=
np
.
zeros
((
text_box_restored
.
shape
[
0
],
9
),
dtype
=
np
.
float32
)
boxes
=
np
.
zeros
((
text_box_restored
.
shape
[
0
],
9
),
dtype
=
np
.
float32
)
boxes
[:,
:
8
]
=
text_box_restored
.
reshape
((
-
1
,
8
))
boxes
[:,
:
8
]
=
text_box_restored
.
reshape
((
-
1
,
8
))
boxes
[:,
8
]
=
score_map
[
xy_text
[:,
0
],
xy_text
[:,
1
]]
boxes
[:,
8
]
=
score_map
[
xy_text
[:,
0
],
xy_text
[:,
1
]]
if
self
.
is_python35
:
boxes
=
lanms
.
merge_quadrangle_n9
(
boxes
,
nms_thresh
)
import
lanms
# boxes = nms_locality(boxes.astype(np.float64), nms_thresh)
boxes
=
lanms
.
merge_quadrangle_n9
(
boxes
,
nms_thresh
)
else
:
boxes
=
nms_locality
(
boxes
.
astype
(
np
.
float64
),
nms_thresh
)
if
boxes
.
shape
[
0
]
==
0
:
if
boxes
.
shape
[
0
]
==
0
:
return
[]
return
[]
# Here we filter some low score boxes by the average score map,
# Here we filter some low score boxes by the average score map,
...
@@ -139,4 +133,4 @@ class EASTPostProcess(object):
...
@@ -139,4 +133,4 @@ class EASTPostProcess(object):
continue
continue
boxes_norm
.
append
(
box
)
boxes_norm
.
append
(
box
)
dt_boxes_list
.
append
({
'points'
:
np
.
array
(
boxes_norm
)})
dt_boxes_list
.
append
({
'points'
:
np
.
array
(
boxes_norm
)})
return
dt_boxes_list
return
dt_boxes_list
\ No newline at end of file
requirements.txt
浏览文件 @
6609e3ca
...
@@ -12,4 +12,5 @@ cython
...
@@ -12,4 +12,5 @@ cython
lxml
lxml
premailer
premailer
openpyxl
openpyxl
fasttext
==0.9.1
fasttext
==0.9.1
\ No newline at end of file
lanms-nova
\ No newline at end of file
test_tipc/configs/det_mv3_east_v2.0/det_mv3_east.yml
0 → 100644
浏览文件 @
6609e3ca
Global
:
use_gpu
:
true
epoch_num
:
10000
log_smooth_window
:
20
print_batch_step
:
2
save_model_dir
:
./output/east_mv3/
save_epoch_step
:
1000
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step
:
[
4000
,
5000
]
cal_metric_during_train
:
False
pretrained_model
:
./pretrain_models/MobileNetV3_large_x0_5_pretrained
checkpoints
:
save_inference_dir
:
use_visualdl
:
False
infer_img
:
save_res_path
:
./output/det_east/predicts_east.txt
Architecture
:
model_type
:
det
algorithm
:
EAST
Transform
:
Backbone
:
name
:
MobileNetV3
scale
:
0.5
model_name
:
large
Neck
:
name
:
EASTFPN
model_name
:
small
Head
:
name
:
EASTHead
model_name
:
small
Loss
:
name
:
EASTLoss
Optimizer
:
name
:
Adam
beta1
:
0.9
beta2
:
0.999
lr
:
# name: Cosine
learning_rate
:
0.001
# warmup_epoch: 0
regularizer
:
name
:
'
L2'
factor
:
0
PostProcess
:
name
:
EASTPostProcess
score_thresh
:
0.8
cover_thresh
:
0.1
nms_thresh
:
0.2
Metric
:
name
:
DetMetric
main_indicator
:
hmean
Train
:
dataset
:
name
:
SimpleDataSet
data_dir
:
./train_data/icdar2015/text_localization/
label_file_list
:
-
./train_data/icdar2015/text_localization/train_icdar2015_label.txt
ratio_list
:
[
1.0
]
transforms
:
-
DecodeImage
:
# load image
img_mode
:
BGR
channel_first
:
False
-
DetLabelEncode
:
# Class handling label
-
EASTProcessTrain
:
image_shape
:
[
512
,
512
]
background_ratio
:
0.125
min_crop_side_ratio
:
0.1
min_text_size
:
10
-
KeepKeys
:
keep_keys
:
[
'
image'
,
'
score_map'
,
'
geo_map'
,
'
training_mask'
]
# dataloader will return list in this order
loader
:
shuffle
:
True
drop_last
:
False
batch_size_per_card
:
16
num_workers
:
8
Eval
:
dataset
:
name
:
SimpleDataSet
data_dir
:
./train_data/icdar2015/text_localization/
label_file_list
:
-
./train_data/icdar2015/text_localization/test_icdar2015_label.txt
transforms
:
-
DecodeImage
:
# load image
img_mode
:
BGR
channel_first
:
False
-
DetLabelEncode
:
# Class handling label
-
DetResizeForTest
:
limit_side_len
:
2400
limit_type
:
max
-
NormalizeImage
:
scale
:
1./255.
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
order
:
'
hwc'
-
ToCHWImage
:
-
KeepKeys
:
keep_keys
:
[
'
image'
,
'
shape'
,
'
polys'
,
'
ignore_tags'
]
loader
:
shuffle
:
False
drop_last
:
False
batch_size_per_card
:
1
# must be 1
num_workers
:
2
\ No newline at end of file
test_tipc/configs/det_mv3_east_v2.0/train_infer_python.txt
0 → 100644
浏览文件 @
6609e3ca
===========================train_params===========================
model_name:det_mv3_east_v2.0
python:python3.7
gpu_list:0
Global.use_gpu:True|True
Global.auto_cast:fp32
Global.epoch_num:lite_train_lite_infer=1|whole_train_whole_infer=500
Global.save_model_dir:./output/
Train.loader.batch_size_per_card:lite_train_lite_infer=2|whole_train_whole_infer=4
Global.pretrained_model:null
train_model_name:latest
train_infer_img_dir:./train_data/icdar2015/text_localization/ch4_test_images/
null:null
##
trainer:norm_train
norm_train:tools/train.py -c test_tipc/configs/det_mv3_east_v2.0/det_mv3_east.yml -o
pact_train:null
fpgm_train:null
distill_train:null
null:null
null:null
##
===========================eval_params===========================
eval:null
null:null
##
===========================infer_params===========================
Global.save_inference_dir:./output/
Global.pretrained_model:
norm_export:tools/export_model.py -c test_tipc/configs/det_mv3_east_v2.0/det_mv3_east.yml -o
quant_export:null
fpgm_export:null
distill_export:null
export1:null
export2:null
##
train_model:./inference/det_mv3_east/best_accuracy
infer_export:tools/export_model.py -c test_tipc/cconfigs/det_mv3_east_v2.0/det_mv3_east.yml -o
infer_quant:False
inference:tools/infer/predict_det.py
--use_gpu:True|False
--enable_mkldnn:True|False
--cpu_threads:1|6
--rec_batch_num:1
--use_tensorrt:False|True
--precision:fp32|fp16|int8
--det_model_dir:
--image_dir:./inference/ch_det_data_50/all-sum-510/
--save_log_path:null
--benchmark:True
--det_algorithm:EAST
test_tipc/configs/det_r50_vd_east_v2.0/det_r50_vd_east.yml
0 → 100644
浏览文件 @
6609e3ca
Global
:
use_gpu
:
true
epoch_num
:
10000
log_smooth_window
:
20
print_batch_step
:
2
save_model_dir
:
./output/east_r50_vd/
save_epoch_step
:
1000
# evaluation is run every 5000 iterations after the 4000th iteration
eval_batch_step
:
[
4000
,
5000
]
cal_metric_during_train
:
False
pretrained_model
:
checkpoints
:
save_inference_dir
:
use_visualdl
:
False
infer_img
:
save_res_path
:
./output/det_east/predicts_east.txt
Architecture
:
model_type
:
det
algorithm
:
EAST
Transform
:
Backbone
:
name
:
ResNet
layers
:
50
Neck
:
name
:
EASTFPN
model_name
:
large
Head
:
name
:
EASTHead
model_name
:
large
Loss
:
name
:
EASTLoss
Optimizer
:
name
:
Adam
beta1
:
0.9
beta2
:
0.999
lr
:
# name: Cosine
learning_rate
:
0.001
# warmup_epoch: 0
regularizer
:
name
:
'
L2'
factor
:
0
PostProcess
:
name
:
EASTPostProcess
score_thresh
:
0.8
cover_thresh
:
0.1
nms_thresh
:
0.2
Metric
:
name
:
DetMetric
main_indicator
:
hmean
Train
:
dataset
:
name
:
SimpleDataSet
data_dir
:
./train_data/icdar2015/text_localization/
label_file_list
:
-
./train_data/icdar2015/text_localization/train_icdar2015_label.txt
ratio_list
:
[
1.0
]
transforms
:
-
DecodeImage
:
# load image
img_mode
:
BGR
channel_first
:
False
-
DetLabelEncode
:
# Class handling label
-
EASTProcessTrain
:
image_shape
:
[
512
,
512
]
background_ratio
:
0.125
min_crop_side_ratio
:
0.1
min_text_size
:
10
-
KeepKeys
:
keep_keys
:
[
'
image'
,
'
score_map'
,
'
geo_map'
,
'
training_mask'
]
# dataloader will return list in this order
loader
:
shuffle
:
True
drop_last
:
False
batch_size_per_card
:
8
num_workers
:
8
Eval
:
dataset
:
name
:
SimpleDataSet
data_dir
:
./train_data/icdar2015/text_localization/
label_file_list
:
-
./train_data/icdar2015/text_localization/test_icdar2015_label.txt
transforms
:
-
DecodeImage
:
# load image
Fa
:
BGR
channel_first
:
False
-
DetLabelEncode
:
# Class handling label
-
DetResizeForTest
:
limit_side_len
:
2400
limit_type
:
max
-
NormalizeImage
:
scale
:
1./255.
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
order
:
'
hwc'
-
ToCHWImage
:
-
KeepKeys
:
keep_keys
:
[
'
image'
,
'
shape'
,
'
polys'
,
'
ignore_tags'
]
loader
:
shuffle
:
False
drop_last
:
False
batch_size_per_card
:
1
# must be 1
num_workers
:
2
\ No newline at end of file
test_tipc/configs/det_r50_vd_east_v2.0/train_infer_python.txt
0 → 100644
浏览文件 @
6609e3ca
===========================train_params===========================
model_name:det_r50_vd_east_v2.0
python:python3.7
gpu_list:0
Global.use_gpu:True|True
Global.auto_cast:fp32
Global.epoch_num:lite_train_lite_infer=1|whole_train_whole_infer=500
Global.save_model_dir:./output/
Train.loader.batch_size_per_card:lite_train_lite_infer=2|whole_train_whole_infer=4
Global.pretrained_model:null
train_model_name:latest
train_infer_img_dir:./train_data/icdar2015/text_localization/ch4_test_images/
null:null
##
trainer:norm_train
norm_train:tools/train.py -c test_tipc/configs/det_r50_vd_east_v2.0/det_r50_vd_east.yml -o
pact_train:null
fpgm_train:null
distill_train:null
null:null
null:null
##
===========================eval_params===========================
eval:null
null:null
##
===========================infer_params===========================
Global.save_inference_dir:./output/
Global.pretrained_model:
norm_export:tools/export_model.py -c test_tipc/configs/det_r50_vd_east_v2.0/det_r50_vd_east.yml -o
quant_export:null
fpgm_export:null
distill_export:null
export1:null
export2:null
##
train_model:./inference/det_mv3_east/best_accuracy
infer_export:tools/export_model.py -c test_tipc/cconfigs/det_r50_vd_east_v2.0/det_r50_vd_east.yml -o
infer_quant:False
inference:tools/infer/predict_det.py
--use_gpu:True|False
--enable_mkldnn:True|False
--cpu_threads:1|6
--rec_batch_num:1
--use_tensorrt:False|True
--precision:fp32|fp16|int8
--det_model_dir:
--image_dir:./inference/ch_det_data_50/all-sum-510/
--save_log_path:null
--benchmark:True
--det_algorithm:EAST
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录