• Stars
    star
    1,223
  • Rank 38,351 (Top 0.8 %)
  • Language
    Python
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AdvancedEAST is an algorithm used for Scene image text detect, which is primarily based on EAST, and the significant improvement was also made, which make long text predictions more accurate.https://github.com/huoyijie/raspberrypi-car

AdvancedEAST

AdvancedEAST is an algorithm used for Scene image text detect, which is primarily based on EAST:An Efficient and Accurate Scene Text Detector, and the significant improvement was also made, which make long text predictions more accurate. If this project is helpful to you, welcome to star. And if you have any problem, please contact me.

advantages

  • writen in keras, easy to read and run
  • base on EAST, an advanced text detect algorithm
  • easy to train the model
  • significant improvement was made, long text predictions more accurate.(please see 'demo results' part bellow, and pay attention to the activation image, which starts with yellow grids, and ends with green grids.)

In my experiments, AdvancedEast has obtained much better prediction accuracy then East, especially on long text. Since East calculates final vertexes coordinates with weighted mean values of predicted vertexes coordinates of all pixels. It is too difficult to predict the 2 vertexes from the other side of the quadrangle. See East limitations picked from original paper bellow. East limitations

project files

  • config file:cfg.py,control parameters
  • pre-process data: preprocess.py,resize image
  • label data: label.py,produce label info
  • define network network.py
  • define loss function losses.py
  • execute training advanced_east.py and data_generator.py
  • predict predict.py and nms.py

后置处理过程说明参见 后置处理(含原理图)

network arch

  • AdvancedEast

AdvancedEast network arch

网络输出说明: 输出层分别是1位score map, 是否在文本框内;2位vertex code,是否属于文本框边界像素以及是头还是尾;4位geo,是边界像素可以预测的2个顶点坐标。所有像素构成了文本框形状,然后只用边界像素去预测回归顶点坐标。边界像素定义为黄色和绿色框内部所有像素,是用所有的边界像素预测值的加权平均来预测头或尾的短边两端的两个顶点。头和尾部分边界像素分别预测2个顶点,最后得到4个顶点坐标。

原理简介(含原理图)

  • East

East network arch

setup

  • python 3.6.3+
  • tensorflow-gpu 1.5.0+(or tensorflow 1.5.0+)
  • keras 2.1.4+
  • numpy 1.14.1+
  • tqdm 4.19.7+

training

  • tianchi ICPR dataset download 链接: https://pan.baidu.com/s/1NSyc-cHKV3IwDo6qojIrKA 密码: ye9y

  • prepare training data:make data root dir(icpr), copy images to root dir, and copy txts to root dir, data format details could refer to 'ICPR MTWI 2018 挑战赛二:网络图像的文本检测', Link

  • modify config params in cfg.py, see default values.

  • python preprocess.py, resize image to 256256,384384,512512,640640,736*736, and train respectively could speed up training process.

  • python label.py

  • python advanced_east.py, train entrance

  • python predict.py -p demo/001.png, to predict

  • pretrain model download(use for test) 链接: https://pan.baidu.com/s/1KO7tR_MW767ggmbTjIJpuQ 密码: kpm2

demo results

001原图 001激活图 001预测图

004原图 004激活图 004预测图

005原图 005激活图 005预测图

  • compared with east based on vgg16

As you can see, although the text area prediction is very accurate, the vertex coordinates are not accurate enough.

001激活图 001预测图

License

The codes are released under the MIT License.

references

网络输出说明: 输出层分别是1位score map, 是否在文本框内;2位vertex code,是否属于文本框边界像素以及是头还是尾;4位geo,是边界像素可以预测的2个顶点坐标。所有像素构成了文本框形状,然后只用边界像素去预测回归顶点坐标。边界像素定义为黄色和绿色框内部所有像素,是用所有的边界像素预测值的加权平均来预测头或尾的短边两端的两个顶点。头和尾部分边界像素分别预测2个顶点,最后得到4个顶点坐标。

原理简介(含原理图)

后置处理过程说明参见 后置处理(含原理图)

A Simple RaspberryPi Car Project

More Repositories

1

raspberrypi-car

这个库包含了完整的小车控制程序,以及基于树莓派4B从零开始制作树莓派小车的详细步骤方法。制作小车文章地址https://huoyijie.cn/article/3b8281b1e8aa6a1d8bc6718a4256b141/
JavaScript
15
star
2

easy-resume

简历模板,可以快速制作个性化简历
JavaScript
10
star
3

mobile-touchpad

turn your phone into a touchpad
JavaScript
7
star
4

free-books

website about free programming books
JavaScript
3
star
5

Goal

Goal is a lightweight web framework like Django written in Golang.
Go
2
star
6

resume

my personal resume
HTML
2
star
7

rust-socketio

Adds a layer of abstraction over udpack to provide secure and frame-based data transfer
Rust
2
star
8

weku

WEKU is a personal video&photo manager written by python and based on Django/Bootstrap/videojs/FFMpeg. It helps you manage your family's photos and videos and could run on all kind of devices.
JavaScript
2
star
9

GoChat

a chat program with golang and protobuf
Go
2
star
10

rust-udpack

udpack protocol implements in rust
Rust
2
star
11

huoyijie

https://huoyijie.cn
1
star
12

GoalGenerator

Go
1
star
13

awesome

index of my own repositories
1
star
14

longconn

Netty based http proxy server, support push, and long connection based async http client(All for learn)
Java
1
star
15

tetris.3d

JavaScript
1
star
16

make-cool-resume

make-cool-resume
JavaScript
1
star
17

www-tech

3W Tech
1
star
18

huarongdao

JavaScript
1
star
19

originsrv

CDN origin server build with Django
Python
1
star
20

gitcode

gitcode is a personal lightweight self-hosted git server written in Go
HTML
1
star
21

GoalUI

Goal is a lightweight web framework like Django written in Golang
CSS
1
star
22

huoyijie.github.io

My daily keynotes
HTML
1
star
23

keynote

Keynote is a personal lightweight CMS (Content Management System) tool writing in Golang.
Go
1
star
24

webflux-metric-monitor-demo

metric monitor demo written with spring boot web-flux. It records every request sent by the browser, and calculate the total count, qps, success rate, latency, percentile 90&99 cost and avg cost.
Java
1
star