All Projects â†’ prasunroy â†’ Stefann

prasunroy / Stefann

Licence: apache-2.0
🔥 STEFANN: Scene Text Editor using Font Adaptive Neural Network @ The IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2020.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Stefann

Awesome Papers
a list of papers and codes in graphics, computer vision, and HCI
Stars: ✭ 50 (-66.22%)
Mutual labels:  cvpr
Papers
读过的CV方向的䞀些论文囟像生成文字、匱监督分割等
Stars: ✭ 99 (-33.11%)
Mutual labels:  cvpr
Cape
Official implementation of CVPR2020 paper "Learning to Dress 3D People in Generative Clothing" https://arxiv.org/abs/1907.13615
Stars: ✭ 132 (-10.81%)
Mutual labels:  cvpr
Dcm Net
This work is based on our paper "DualConvMesh-Net: Joint Geodesic and Euclidean Convolutions on 3D Meshes", which appeared at the IEEE Conference On Computer Vision And Pattern Recognition (CVPR) 2020.
Stars: ✭ 75 (-49.32%)
Mutual labels:  cvpr
Dhf1k
Revisiting Video Saliency: A Large-scale Benchmark and a New Model (CVPR18, PAMI19)
Stars: ✭ 96 (-35.14%)
Mutual labels:  cvpr
Convolutional Handwriting Gan
ScrabbleGAN: Semi-Supervised Varying Length Handwritten Text Generation (CVPR20)
Stars: ✭ 107 (-27.7%)
Mutual labels:  cvpr
Papercrawler
Crawler used to crawl papers
Stars: ✭ 20 (-86.49%)
Mutual labels:  cvpr
Spatiotemporalsegmentation
4D Spatio-Temporal Semantic Segmentation on a 3D video (a sequence of 3D scans)
Stars: ✭ 141 (-4.73%)
Mutual labels:  cvpr
Exposure correction
Reference code for the paper "Learning Multi-Scale Photo Exposure Correction", CVPR 2021.
Stars: ✭ 98 (-33.78%)
Mutual labels:  cvpr
Up Detr
[CVPR2021 Oral] UP-DETR: Unsupervised Pre-training for Object Detection with Transformers
Stars: ✭ 126 (-14.86%)
Mutual labels:  cvpr
Dispnet Flownet Docker
Dockerfile and runscripts for DispNet and FlowNet1 (estimation of disparity and optical flow)
Stars: ✭ 78 (-47.3%)
Mutual labels:  cvpr
Deeplpf
Code for CVPR 2020 paper "Deep Local Parametric Filters for Image Enhancement"
Stars: ✭ 91 (-38.51%)
Mutual labels:  cvpr
Ylg
[CVPR 2020] Official Implementation: "Your Local GAN: Designing Two Dimensional Local Attention Mechanisms for Generative Models".
Stars: ✭ 109 (-26.35%)
Mutual labels:  cvpr
Awesome Cv Paper Review
计算机视觉各䞪方向论文速览
Stars: ✭ 57 (-61.49%)
Mutual labels:  cvpr
Flownet2 Docker
Dockerfile and runscripts for FlowNet 2.0 (estimation of optical flow)
Stars: ✭ 137 (-7.43%)
Mutual labels:  cvpr
Bundlefusion
[Siggraph 2017] BundleFusion: Real-time Globally Consistent 3D Reconstruction using Online Surface Re-integration
Stars: ✭ 979 (+561.49%)
Mutual labels:  cvpr
Ghostnet
CV backbones including GhostNet, TinyNet and TNT, developed by Huawei Noah's Ark Lab.
Stars: ✭ 1,744 (+1078.38%)
Mutual labels:  cvpr
Jsis3d
[CVPR'19] JSIS3D: Joint Semantic-Instance Segmentation of 3D Point Clouds
Stars: ✭ 144 (-2.7%)
Mutual labels:  cvpr
Vibe
Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"
Stars: ✭ 2,080 (+1305.41%)
Mutual labels:  cvpr
Deep Learning For Lidar Point Clouds
Deep Learning for LiDAR Point Clouds in Autonomous Driving: A Review
Stars: ✭ 131 (-11.49%)
Mutual labels:  cvpr

Getting Started  â€¢   Training Networks  â€¢   External Links  â€¢   Citation  â€¢   License



The official GitHub repository for the paper on STEFANN: Scene Text Editor using Font Adaptive Neural Network.


Getting Started

1. Installing Dependencies

Package Source Version Tested version
(Updated on April 14, 2020)
Python Conda 3.7.7 ✔
Pip Conda 20.0.2 ✔
Numpy Conda 1.18.1 ✔
Requests Conda 2.23.0 ✔
TensorFlow Conda 2.1.0 ✔
Keras Conda 2.3.1 ✔
Pillow Conda 7.0.0 ✔
Colorama Conda 0.4.3 ✔
OpenCV PyPI 4.2.0 ✔
PyQt5 PyPI 5.14.2 ✔

💥 Quick installation

Step 1: Install Git and Conda package manager (Miniconda / Anaconda)

Step 2: Update and configure Conda

conda update conda
conda config --set env_prompt "({name}) "

Step 3: Clone this repository and change directory to repository root

git clone https://github.com/prasunroy/stefann.git
cd stefann

Step 4: Create an environment and install depenpencies

On Linux and Windows

  • To create CPU environment: conda env create -f release/env_cpu.yml
  • To create GPU environment: conda env create -f release/env_gpu.yml

On macOS

  • To create CPU environment: conda env create -f release/env_osx.yml

💥 Quick test

Step 1: Download models and pretrained checkpoints into release/models directory

Step 2: Download sample images and extract into release/sample_images directory

stefann/
├── ...
├── release/
│   ├── models/
│   │   ├── colornet.json
│   │   ├── colornet_weights.h5
│   │   ├── fannet.json
│   │   └── fannet_weights.h5
│   ├── sample_images/
│   │   ├── 01.jpg
│   │   ├── 02.jpg
│   │   └── ...
│   └── ...
└── ...

Step 3: Activate environment

To activate CPU environment: conda activate stefann-cpu
To activate GPU environment: conda activate stefann-gpu

Step 4: Change directory to release and run STEFANN

cd release
python stefann.py

2. Editing Results 😆


Each image pair consists of the original image (Left) and the edited image (Right).


Training Networks

1. Downloading Datasets

Download datasets and extract the archives into datasets directory under repository root.

stefann/
├── ...
├── datasets/
│   ├── fannet/
│   │   ├── pairs/
│   │   ├── train/
│   │   └── valid/
│   └── colornet/
│       ├── test/
│       ├── train/
│       └── valid/
└── ...

📌 Description of datasets/fannet

This dataset is used to train FANnet and it consists of 3 directories: fannet/pairs, fannet/train and fannet/valid. The directories fannet/train and fannet/valid consist of 1015 and 300 sub-directories respectively, each corresponding to one specific font. Each font directory contains 64x64 grayscale images of 62 English alphanumeric characters (10 numerals + 26 upper-case letters + 26 lower-case letters). The filename format is xx.jpg where xx is the ASCII value of the corresponding character (e.g. "48.jpg" implies an image of character "0"). The directory fannet/pairs contains 50 image pairs, each corresponding to a random font from fannet/valid. Each image pair is horizontally concatenated to a dimension of 128x64. The filename format is id_xx_yy.jpg where id is the image identifier, xx and yy are the ASCII values of source and target characters respectively (e.g. "00_65_66.jpg" implies a transformation from source character "A" to target character "B" for the image with identifier "00").

📌 Description of datasets/colornet

This dataset is used to train Colornet and it consists of 3 directories: colornet/test, colornet/train and colornet/valid. Each directory consists of 5 sub-directories: _color_filters, _mask_pairs, input_color, input_mask and output_color. The directory _color_filters contains synthetically generated color filters of dimension 64x64 including both solid and gradient colors. The directory _mask_pairs contains a set of 64x64 grayscale image pairs selected at random from 1315 available fonts in datasets/fannet. Each image pair is horizontally concatenated to a dimension of 128x64. For colornet/train and colornet/valid each color filter is applied on each mask pair. This results in 64x64 image triplets of color source image, binary target image and color target image in input_color, input_mask and output_color directories respectively. For colornet/test one color filter is applied only on one mask pair to generate similar image triplets. With a fixed set of 100 mask pairs, 80000 colornet/train and 20000 colornet/valid samples are generated from 800 and 200 color filters respectively. With another set of 50 mask pairs, 50 colornet/test samples are generated from 50 color filters.

2. Training FANnet and Colornet

Step 1: Activate environment

To activate CPU environment: conda activate stefann-cpu
To activate GPU environment: conda activate stefann-gpu

Step 2: Change directory to project root

cd stefann

Step 3: Configure and train FANnet

To configure training options edit configurations section (line 40-72) of fannet.py
To start training: python fannet.py

☁ Check this notebook hosted at Kaggle for an interactive demonstration of FANnet.

Step 4: Configure and train Colornet

To configure training options edit configurations section (line 38-65) of colornet.py
To start training: python colornet.py

☁ Check this notebook hosted at Kaggle for an interactive demonstration of Colornet.

External Links

Project  â€¢   Paper  â€¢   Supplementary Materials  â€¢   Datasets  â€¢   Models  â€¢   Sample Images


Citation

@InProceedings{Roy_2020_CVPR,
  title     = {STEFANN: Scene Text Editor using Font Adaptive Neural Network},
  author    = {Roy, Prasun and Bhattacharya, Saumik and Ghosh, Subhankar and Pal, Umapada},
  booktitle = {The IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  month     = {June},
  year      = {2020}
}

License

Copyright 2020 by the authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Made with ❀ and 🍕 on Earth.
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].