All Projects → huoyijie → Advancedeast

huoyijie / Advancedeast

Licence: mit
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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Advancedeast

Thmap
Concurrent trie-hash map library
Stars: ✭ 51 (-95.52%)
Mutual labels:  algorithm
Overhead Camera People Counter
People counting algorithm using an overhead video camera
Stars: ✭ 58 (-94.91%)
Mutual labels:  algorithm
Dijkstra Cartography
Using Dijkstra's algorithm ("finding the shortest paths between nodes in a graph") to draw maps 🌍.
Stars: ✭ 1,112 (-2.37%)
Mutual labels:  algorithm
Navmeshscene
based on recastnavigation, a 3d scene
Stars: ✭ 53 (-95.35%)
Mutual labels:  scene
Study
Algorithm / Book Reviews / Interview / ETC
Stars: ✭ 58 (-94.91%)
Mutual labels:  algorithm
Bitp0wn
Algorithms to re-compute a private key, to fake signatures and some other funny things with Bitcoin.
Stars: ✭ 59 (-94.82%)
Mutual labels:  algorithm
Algo Explorer
Android app for learning algorithms in Computer Science
Stars: ✭ 49 (-95.7%)
Mutual labels:  algorithm
Traclusalgorithm
This is an implementation for TraClus algorithm in Java. A GUI was added.
Stars: ✭ 64 (-94.38%)
Mutual labels:  algorithm
Awesome Java Leetcode
👑 LeetCode of algorithms with java solution(updating).
Stars: ✭ 8,297 (+628.45%)
Mutual labels:  algorithm
Kactl
KTH Algorithm Competition Template Library (... eller KTHs AC-tillverkande lapp)
Stars: ✭ 1,106 (-2.9%)
Mutual labels:  algorithm
Algorithm
algorithm library
Stars: ✭ 55 (-95.17%)
Mutual labels:  algorithm
Pathfinding Lab
Run, test and compare all algorithms and heuristic functions
Stars: ✭ 58 (-94.91%)
Mutual labels:  algorithm
Boj Autocommit
When you solve the problem of Baekjoon Online Judge, it automatically commits and pushes to the remote repository.
Stars: ✭ 60 (-94.73%)
Mutual labels:  algorithm
Shadoweditor
Cross-platform 3D scene editor based on three.js, golang and mongodb for desktop and web. https://tengge1.github.io/ShadowEditor-examples/
Stars: ✭ 1,060 (-6.94%)
Mutual labels:  scene
Algorithms Cheatsheet Resources
🤓All the geeky stuffs you need to know at one place!
Stars: ✭ 60 (-94.73%)
Mutual labels:  algorithm
Lapjv
Go implementation of the LAPJV algorithm
Stars: ✭ 50 (-95.61%)
Mutual labels:  algorithm
Lgenerics
Generic algorithms and data structures for Lazarus/Free Pascal
Stars: ✭ 59 (-94.82%)
Mutual labels:  algorithm
Leetcode
👏🏻 leetcode solutions for Humans™
Stars: ✭ 1,129 (-0.88%)
Mutual labels:  algorithm
Unity Scene Query
A library to traverse and query the Unity scene to find particular objects, uses something similar to CSS selectors to identify game objects.
Stars: ✭ 63 (-94.47%)
Mutual labels:  scene
Scenegen
🎆 Generate Scenes for Home Assistant
Stars: ✭ 60 (-94.73%)
Mutual labels:  scene

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].