Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wangsen
paddle_dbnet
Commits
19eb7eb8
Commit
19eb7eb8
authored
Sep 03, 2021
by
Leif
Browse files
Merge remote-tracking branch 'origin/dygraph' into dy1
parents
0afe6c32
03b7daa5
Changes
364
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
339 additions
and
1 deletion
+339
-1
configs/rec/rec_mv3_none_bilstm_ctc.yml
configs/rec/rec_mv3_none_bilstm_ctc.yml
+1
-0
configs/rec/rec_mv3_none_none_ctc.yml
configs/rec/rec_mv3_none_none_ctc.yml
+1
-0
configs/rec/rec_mv3_tps_bilstm_att.yml
configs/rec/rec_mv3_tps_bilstm_att.yml
+1
-0
configs/rec/rec_mv3_tps_bilstm_ctc.yml
configs/rec/rec_mv3_tps_bilstm_ctc.yml
+1
-0
configs/rec/rec_r34_vd_none_bilstm_ctc.yml
configs/rec/rec_r34_vd_none_bilstm_ctc.yml
+1
-0
configs/rec/rec_r34_vd_none_none_ctc.yml
configs/rec/rec_r34_vd_none_none_ctc.yml
+1
-0
configs/rec/rec_r34_vd_tps_bilstm_att.yml
configs/rec/rec_r34_vd_tps_bilstm_att.yml
+1
-0
configs/rec/rec_r34_vd_tps_bilstm_ctc.yml
configs/rec/rec_r34_vd_tps_bilstm_ctc.yml
+2
-1
configs/rec/rec_r50_fpn_srn.yml
configs/rec/rec_r50_fpn_srn.yml
+1
-0
configs/table/table_mv3.yml
configs/table/table_mv3.yml
+116
-0
deploy/android_demo/.gitignore
deploy/android_demo/.gitignore
+9
-0
deploy/android_demo/README.md
deploy/android_demo/README.md
+19
-0
deploy/android_demo/app/.gitignore
deploy/android_demo/app/.gitignore
+1
-0
deploy/android_demo/app/build.gradle
deploy/android_demo/app/build.gradle
+98
-0
deploy/android_demo/app/proguard-rules.pro
deploy/android_demo/app/proguard-rules.pro
+21
-0
deploy/android_demo/app/src/androidTest/java/com/baidu/paddle/lite/demo/ocr/ExampleInstrumentedTest.java
...m/baidu/paddle/lite/demo/ocr/ExampleInstrumentedTest.java
+26
-0
deploy/android_demo/app/src/main/AndroidManifest.xml
deploy/android_demo/app/src/main/AndroidManifest.xml
+39
-0
deploy/android_demo/app/src/main/assets/images/0.jpg
deploy/android_demo/app/src/main/assets/images/0.jpg
+0
-0
deploy/android_demo/app/src/main/assets/images/180.jpg
deploy/android_demo/app/src/main/assets/images/180.jpg
+0
-0
deploy/android_demo/app/src/main/assets/images/270.jpg
deploy/android_demo/app/src/main/assets/images/270.jpg
+0
-0
No files found.
configs/rec/rec_mv3_none_bilstm_ctc.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_none_bilstm_ctc.txt
Optimizer
:
name
:
Adam
...
...
configs/rec/rec_mv3_none_none_ctc.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_none_none_ctc.txt
Optimizer
:
name
:
Adam
...
...
configs/rec/rec_mv3_tps_bilstm_att.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_tps_bilstm_att.txt
Optimizer
:
...
...
configs/rec/rec_mv3_tps_bilstm_ctc.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_tps_bilstm_ctc.txt
Optimizer
:
name
:
Adam
...
...
configs/rec/rec_r34_vd_none_bilstm_ctc.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_r34_vd_none_bilstm_ctc.txt
Optimizer
:
name
:
Adam
...
...
configs/rec/rec_r34_vd_none_none_ctc.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_r34_vd_none_none_ctc.txt
Optimizer
:
name
:
Adam
...
...
configs/rec/rec_r34_vd_tps_bilstm_att.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_b3_rare_r34_none_gru.txt
Optimizer
:
...
...
configs/rec/rec_r34_vd_tps_bilstm_ctc.yml
View file @
19eb7eb8
...
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_r34_vd_tps_bilstm_ctc.txt
Optimizer
:
name
:
Adam
...
...
@@ -37,7 +38,7 @@ Architecture:
name
:
TPS
num_fiducial
:
20
loc_lr
:
0.1
model_name
:
small
model_name
:
large
Backbone
:
name
:
ResNet
layers
:
34
...
...
configs/rec/rec_r50_fpn_srn.yml
View file @
19eb7eb8
...
...
@@ -20,6 +20,7 @@ Global:
num_heads
:
8
infer_mode
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_srn.txt
Optimizer
:
...
...
configs/table/table_mv3.yml
0 → 100755
View file @
19eb7eb8
Global
:
use_gpu
:
true
epoch_num
:
50
log_smooth_window
:
20
print_batch_step
:
5
save_model_dir
:
./output/table_mv3/
save_epoch_step
:
5
# evaluation is run every 400 iterations after the 0th iteration
eval_batch_step
:
[
0
,
400
]
cal_metric_during_train
:
True
pretrained_model
:
checkpoints
:
save_inference_dir
:
use_visualdl
:
False
infer_img
:
doc/imgs_words/ch/word_1.jpg
# for data or label process
character_dict_path
:
ppocr/utils/dict/table_structure_dict.txt
character_type
:
en
max_text_length
:
100
max_elem_length
:
500
max_cell_num
:
500
infer_mode
:
False
process_total_num
:
0
process_cut_num
:
0
Optimizer
:
name
:
Adam
beta1
:
0.9
beta2
:
0.999
clip_norm
:
5.0
lr
:
learning_rate
:
0.001
regularizer
:
name
:
'
L2'
factor
:
0.00000
Architecture
:
model_type
:
table
algorithm
:
TableAttn
Backbone
:
name
:
MobileNetV3
scale
:
1.0
model_name
:
small
disable_se
:
True
Head
:
name
:
TableAttentionHead
hidden_size
:
256
l2_decay
:
0.00001
loc_type
:
2
Loss
:
name
:
TableAttentionLoss
structure_weight
:
100.0
loc_weight
:
10000.0
PostProcess
:
name
:
TableLabelDecode
Metric
:
name
:
TableMetric
main_indicator
:
acc
Train
:
dataset
:
name
:
PubTabDataSet
data_dir
:
train_data/table/pubtabnet/train/
label_file_path
:
train_data/table/pubtabnet/PubTabNet_2.0.0_train.jsonl
transforms
:
-
DecodeImage
:
# load image
img_mode
:
BGR
channel_first
:
False
-
ResizeTableImage
:
max_len
:
488
-
TableLabelEncode
:
-
NormalizeImage
:
scale
:
1./255.
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
order
:
'
hwc'
-
PaddingTableImage
:
-
ToCHWImage
:
-
KeepKeys
:
keep_keys
:
[
'
image'
,
'
structure'
,
'
bbox_list'
,
'
sp_tokens'
,
'
bbox_list_mask'
]
loader
:
shuffle
:
True
batch_size_per_card
:
32
drop_last
:
True
num_workers
:
1
Eval
:
dataset
:
name
:
PubTabDataSet
data_dir
:
train_data/table/pubtabnet/val/
label_file_path
:
train_data/table/pubtabnet/PubTabNet_2.0.0_val.jsonl
transforms
:
-
DecodeImage
:
# load image
img_mode
:
BGR
channel_first
:
False
-
ResizeTableImage
:
max_len
:
488
-
TableLabelEncode
:
-
NormalizeImage
:
scale
:
1./255.
mean
:
[
0.485
,
0.456
,
0.406
]
std
:
[
0.229
,
0.224
,
0.225
]
order
:
'
hwc'
-
PaddingTableImage
:
-
ToCHWImage
:
-
KeepKeys
:
keep_keys
:
[
'
image'
,
'
structure'
,
'
bbox_list'
,
'
sp_tokens'
,
'
bbox_list_mask'
]
loader
:
shuffle
:
False
drop_last
:
False
batch_size_per_card
:
16
num_workers
:
1
deploy/android_demo/.gitignore
0 → 100644
View file @
19eb7eb8
*.iml
.gradle
/local.properties
/.idea/*
.DS_Store
/build
/captures
.externalNativeBuild
deploy/android_demo/README.md
0 → 100644
View file @
19eb7eb8
# 如何快速测试
### 1. 安装最新版本的Android Studio
可以从 https://developer.android.com/studio 下载。本Demo使用是4.0版本Android Studio编写。
### 2. 按照NDK 20 以上版本
Demo测试的时候使用的是NDK 20b版本,20版本以上均可以支持编译成功。
如果您是初学者,可以用以下方式安装和测试NDK编译环境。
点击 File -> New ->New Project, 新建 "Native C++" project
### 3. 导入项目
点击 File->New->Import Project..., 然后跟着Android Studio的引导导入
# 获得更多支持
前往
[
端计算模型生成平台EasyEdge
](
https://ai.baidu.com/easyedge/app/open_source_demo?referrerUrl=paddlelite
)
,获得更多开发支持:
-
Demo APP:可使用手机扫码安装,方便手机端快速体验文字识别
-
SDK:模型被封装为适配不同芯片硬件和操作系统SDK,包括完善的接口,方便进行二次开发
deploy/android_demo/app/.gitignore
0 → 100644
View file @
19eb7eb8
/build
deploy/android_demo/app/build.gradle
0 → 100644
View file @
19eb7eb8
import
java.security.MessageDigest
apply
plugin:
'com.android.application'
android
{
compileSdkVersion
29
defaultConfig
{
applicationId
"com.baidu.paddle.lite.demo.ocr"
minSdkVersion
23
targetSdkVersion
29
versionCode
1
versionName
"1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild
{
cmake
{
cppFlags
"-std=c++11 -frtti -fexceptions -Wno-format"
arguments
'-DANDROID_PLATFORM=android-23'
,
'-DANDROID_STL=c++_shared'
,
"-DANDROID_ARM_NEON=TRUE"
}
}
ndk
{
// abiFilters "arm64-v8a", "armeabi-v7a"
abiFilters
"arm64-v8a"
,
"armeabi-v7a"
ldLibs
"jnigraphics"
}
}
buildTypes
{
release
{
minifyEnabled
false
proguardFiles
getDefaultProguardFile
(
'proguard-android-optimize.txt'
),
'proguard-rules.pro'
}
}
externalNativeBuild
{
cmake
{
path
"src/main/cpp/CMakeLists.txt"
version
"3.10.2"
}
}
}
dependencies
{
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
implementation
'androidx.appcompat:appcompat:1.1.0'
implementation
'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation
'junit:junit:4.12'
androidTestImplementation
'com.android.support.test:runner:1.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
}
def
archives
=
[
[
'src'
:
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/lite/paddle_lite_libs_v2_9_0.tar.gz'
,
'dest'
:
'PaddleLite'
],
[
'src'
:
'https://paddlelite-demo.bj.bcebos.com/libs/android/opencv-4.2.0-android-sdk.tar.gz'
,
'dest'
:
'OpenCV'
],
[
'src'
:
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/lite/ocr_v2_for_cpu.tar.gz'
,
'dest'
:
'src/main/assets/models'
],
[
'src'
:
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/lite/ch_dict.tar.gz'
,
'dest'
:
'src/main/assets/labels'
]
]
task
downloadAndExtractArchives
(
type:
DefaultTask
)
{
doFirst
{
println
"Downloading and extracting archives including libs and models"
}
doLast
{
// Prepare cache folder for archives
String
cachePath
=
"cache"
if
(!
file
(
"${cachePath}"
).
exists
())
{
mkdir
"${cachePath}"
}
archives
.
eachWithIndex
{
archive
,
index
->
MessageDigest
messageDigest
=
MessageDigest
.
getInstance
(
'MD5'
)
messageDigest
.
update
(
archive
.
src
.
bytes
)
String
cacheName
=
new
BigInteger
(
1
,
messageDigest
.
digest
()).
toString
(
32
)
// Download the target archive if not exists
boolean
copyFiles
=
!
file
(
"${archive.dest}"
).
exists
()
if
(!
file
(
"${cachePath}/${cacheName}.tar.gz"
).
exists
())
{
ant
.
get
(
src:
archive
.
src
,
dest:
file
(
"${cachePath}/${cacheName}.tar.gz"
))
copyFiles
=
true
;
// force to copy files from the latest archive files
}
// Extract the target archive if its dest path does not exists
if
(
copyFiles
)
{
copy
{
from
tarTree
(
"${cachePath}/${cacheName}.tar.gz"
)
into
"${archive.dest}"
}
}
}
}
}
preBuild
.
dependsOn
downloadAndExtractArchives
\ No newline at end of file
deploy/android_demo/app/proguard-rules.pro
0 → 100644
View file @
19eb7eb8
# Add project specific ProGuard rules here.
#
You
can
control
the
set
of
applied
configuration
files
using
the
#
proguardFiles
setting
in
build
.
gradle
.
#
#
For
more
details
,
see
#
http
://
developer
.
android
.
com
/
guide
/
developing
/
tools
/
proguard
.
html
#
If
your
project
uses
WebView
with
JS
,
uncomment
the
following
#
and
specify
the
fully
qualified
class
name
to
the
JavaScript
interface
#
class
:
#-
keepclassmembers
class
fqcn
.
of
.
javascript
.
interface
.
for
.
webview
{
#
public
*
;
#
}
#
Uncomment
this
to
preserve
the
line
number
information
for
#
debugging
stack
traces
.
#-
keepattributes
SourceFile
,
LineNumberTable
#
If
you
keep
the
line
number
information
,
uncomment
this
to
#
hide
the
original
source
file
name
.
#-
renamesourcefileattribute
SourceFile
deploy/android_demo/app/src/androidTest/java/com/baidu/paddle/lite/demo/ocr/ExampleInstrumentedTest.java
0 → 100644
View file @
19eb7eb8
package
com.baidu.paddle.lite.demo.ocr
;
import
android.content.Context
;
import
android.support.test.InstrumentationRegistry
;
import
android.support.test.runner.AndroidJUnit4
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
static
org
.
junit
.
Assert
.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith
(
AndroidJUnit4
.
class
)
public
class
ExampleInstrumentedTest
{
@Test
public
void
useAppContext
()
{
// Context of the app under test.
Context
appContext
=
InstrumentationRegistry
.
getTargetContext
();
assertEquals
(
"com.baidu.paddle.lite.demo"
,
appContext
.
getPackageName
());
}
}
deploy/android_demo/app/src/main/AndroidManifest.xml
0 → 100644
View file @
19eb7eb8
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.baidu.paddle.lite.demo.ocr"
>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<application
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
android:label=
"@string/app_name"
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<!-- to test MiniActivity, change this to com.baidu.paddle.lite.demo.ocr.MiniActivity -->
<activity
android:name=
"com.baidu.paddle.lite.demo.ocr.MainActivity"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
"com.baidu.paddle.lite.demo.ocr.SettingsActivity"
android:label=
"Settings"
>
</activity>
<provider
android:name=
"androidx.core.content.FileProvider"
android:authorities=
"com.baidu.paddle.lite.demo.ocr.fileprovider"
android:exported=
"false"
android:grantUriPermissions=
"true"
>
<meta-data
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:resource=
"@xml/file_paths"
></meta-data>
</provider>
</application>
</manifest>
\ No newline at end of file
deploy/android_demo/app/src/main/assets/images/0.jpg
0 → 100644
View file @
19eb7eb8
62.2 KB
deploy/android_demo/app/src/main/assets/images/180.jpg
0 → 100644
View file @
19eb7eb8
63.1 KB
deploy/android_demo/app/src/main/assets/images/270.jpg
0 → 100644
View file @
19eb7eb8
171 KB
Prev
1
2
3
4
5
6
7
…
19
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment