All Projects → MulongXie → UIED

MulongXie / UIED

Licence: Apache-2.0 license
An accurate GUI element detection approach based on old-fashioned CV algorithms [Upgraded on 5/July/2021]

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to UIED

Tedeval
TedEval: A Fair Evaluation Metric for Scene Text Detectors
Stars: ✭ 143 (+81.01%)
Mutual labels:  text-detection
React Native Text Detector
Text Detector from image for react native using firebase MLKit on android and Tesseract on iOS
Stars: ✭ 194 (+145.57%)
Mutual labels:  text-detection
doctr
docTR (Document Text Recognition) - a seamless, high-performing & accessible library for OCR-related tasks powered by Deep Learning.
Stars: ✭ 1,409 (+1683.54%)
Mutual labels:  text-detection
East icpr
Forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE
Stars: ✭ 154 (+94.94%)
Mutual labels:  text-detection
Textdetection
Vision Framework Demo on Text Detection
Stars: ✭ 173 (+118.99%)
Mutual labels:  text-detection
East
A tensorflow implementation of EAST text detector
Stars: ✭ 2,804 (+3449.37%)
Mutual labels:  text-detection
Pan pp.pytorch
Official implementations of PSENet, PAN and PAN++.
Stars: ✭ 141 (+78.48%)
Mutual labels:  text-detection
vietnamese-ocr-toolbox
A toolbox for Vietnamese Optical Character Recognition.
Stars: ✭ 26 (-67.09%)
Mutual labels:  text-detection
Awesome Deep Text Detection Recognition
A curated list of resources for text detection/recognition (optical character recognition ) with deep learning methods.
Stars: ✭ 2,282 (+2788.61%)
Mutual labels:  text-detection
pytorch.ctpn
pytorch, ctpn ,text detection ,ocr,文本检测
Stars: ✭ 123 (+55.7%)
Mutual labels:  text-detection
Craft Pytorch
Official implementation of Character Region Awareness for Text Detection (CRAFT)
Stars: ✭ 2,220 (+2710.13%)
Mutual labels:  text-detection
Text Detection
Text detection with mainly MSER and SWT
Stars: ✭ 167 (+111.39%)
Mutual labels:  text-detection
google-vision-sampler
Code examples for Google Vision API.
Stars: ✭ 47 (-40.51%)
Mutual labels:  text-detection
Derpn
A novel region proposal network for more general object detection ( including scene text detection ).
Stars: ✭ 155 (+96.2%)
Mutual labels:  text-detection
Real-time-Text-Detection-DBNet
PyTorch re-implementation of ''Real-time Scene Text Detection with Differentiable Binarization'' (AAAI 2020)
Stars: ✭ 85 (+7.59%)
Mutual labels:  text-detection
Craft keras
Keras implementation of Character Region Awareness for Text Detection (CRAFT)
Stars: ✭ 143 (+81.01%)
Mutual labels:  text-detection
Ocr.pytorch
A pure pytorch implemented ocr project including text detection and recognition
Stars: ✭ 196 (+148.1%)
Mutual labels:  text-detection
text-detection-fots.pytorch
FOTS text detection branch reimplementation, hmean: 83.3%
Stars: ✭ 80 (+1.27%)
Mutual labels:  text-detection
shinTB
Textboxes : Image Text Detection Model : python package (tensorflow)
Stars: ✭ 90 (+13.92%)
Mutual labels:  text-detection
AE TextSpotter
No description or website provided.
Stars: ✭ 68 (-13.92%)
Mutual labels:  text-detection

UIED - UI element detection, detecting UI elements from UI screenshots or drawnings

This project is still ongoing and this repo may be updated irregularly, I developed a web app for the UIED in http://uied.online

Related Publications:

1. UIED: a hybrid tool for GUI element detection

2. Object Detection for Graphical User Interface: Old Fashioned or Deep Learning or a Combination?

The repo has been upgraded with Google OCR for GUI text detection, to use the original version in our paper (using EAST as text detector), check the relase v2.3 and download the pre-trained model in this link.

What is it?

UI Element Detection (UIED) is an old-fashioned computer vision (CV) based element detection approach for graphic user interface.

The input of UIED could be various UI image, such as mobile app or web page screenshot, UI design drawn by Photoshop or Sketch, and even some hand-drawn UI design. Then the approach detects and classifies text and graphic UI elements, and exports the detection result as JSON file for future application.

UIED comprises two parts to detect UI text and graphic elements, such as button, image and input bar.

  • For text, it leverages Google OCR to perfrom detection.

  • For graphical elements, it uses old-fashioned CV approaches to locate the elements and a CNN classifier to achieve classification.

UIED is highly customizable, you can replace both parts by your choice (e.g. other text detection approaches). Unlike black-box end-to-end deep learning approach, you can revise the algorithms in the non-text detection and merging (partially or entirely) easily to fit your task.

UIED Approach

How to use?

Dependency

  • Python 3.5
  • Opencv 3.4.2
  • Pandas

Installation

The new version of UIED equipped with Google OCR is easy to deploy and no pre-trained model is needed. Simply donwload the repo along with the dependencies.

Please replace the Google OCR key at detect_text/ocr.py line 28 with your own (apply in Google website).

Usage

To test your own image(s):

  • To test single image, change input_path_img in run_single.py to your input image and the results will be output to output_root.
  • To test mutiple images, change input_img_root in run_batch.py to your input directory and the results will be output to output_root.
  • To adjust the parameters lively, using run_testing.py

Note: The best set of parameters vary for different types of GUI image (Mobile App, Web, PC). I highly recommend to first play with the run_testing.py to pick a good set of parameters for your data.

Folder structure

cnn/

  • Used to train classifier for graphic UI elements
  • Set path of the CNN classification model

config/

  • Set data paths
  • Set parameters for graphic elements detection

data/

  • Input UI images and output detection results

detect_compo/

  • Non-text GUI component detection

detect_text/

  • GUI text detection using Google OCR

detect_merge/

  • Merge the detection results of non-text and text GUI elements

The major detection algorithms are in detect_compo/, detect_text/ and detect_merge/

Demo

GUI element detection result for web screenshot

UI Components detection result

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].