All Projects → hugozanini → Realtime Semantic Segmentation

hugozanini / Realtime Semantic Segmentation

Licence: apache-2.0
Implementation of RefineNet to perform real time instance segmentation in the browser using TensorFlow.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Realtime Semantic Segmentation

Ccnet
CCNet: Criss-Cross Attention for Semantic Segmentation (TPAMI 2020 & ICCV 2019).
Stars: ✭ 1,059 (+1240.51%)
Mutual labels:  semantic-segmentation
Id Card Segmentation
Segmentation of ID Cards using Semantic Segmentation
Stars: ✭ 65 (-17.72%)
Mutual labels:  semantic-segmentation
Pytorch Semantic Segmentation
segmentation repo using pytorch
Stars: ✭ 75 (-5.06%)
Mutual labels:  semantic-segmentation
Mask rcnn ros
The ROS Package of Mask R-CNN for Object Detection and Segmentation
Stars: ✭ 53 (-32.91%)
Mutual labels:  semantic-segmentation
Global convolutional network
Pytorch implementation of GCN architecture for semantic segmentation
Stars: ✭ 63 (-20.25%)
Mutual labels:  semantic-segmentation
Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (-15.19%)
Mutual labels:  semantic-segmentation
Awesome Semantic Segmentation
🤘 awesome-semantic-segmentation
Stars: ✭ 8,831 (+11078.48%)
Mutual labels:  semantic-segmentation
Chainer Pspnet
PSPNet in Chainer
Stars: ✭ 76 (-3.8%)
Mutual labels:  semantic-segmentation
Awesome Data Labeling
A curated list of awesome data labeling tools
Stars: ✭ 1,120 (+1317.72%)
Mutual labels:  semantic-segmentation
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 (-5.06%)
Mutual labels:  semantic-segmentation
Usss iccv19
Code for Universal Semi-Supervised Semantic Segmentation models paper accepted in ICCV 2019
Stars: ✭ 57 (-27.85%)
Mutual labels:  semantic-segmentation
Minkowskiengine
Minkowski Engine is an auto-diff neural network library for high-dimensional sparse tensors
Stars: ✭ 1,110 (+1305.06%)
Mutual labels:  semantic-segmentation
Deep Segmentation
CNNs for semantic segmentation using Keras library
Stars: ✭ 69 (-12.66%)
Mutual labels:  semantic-segmentation
Semanticsegmentation
A framework for training segmentation models in pytorch on labelme annotations with pretrained examples of skin, cat, and pizza topping segmentation
Stars: ✭ 52 (-34.18%)
Mutual labels:  semantic-segmentation
Tools To Design Or Visualize Architecture Of Neural Network
Tools to Design or Visualize Architecture of Neural Network
Stars: ✭ 1,143 (+1346.84%)
Mutual labels:  semantic-segmentation
Jacinto Ai Devkit
Training & Quantization of embedded friendly Deep Learning / Machine Learning / Computer Vision models
Stars: ✭ 49 (-37.97%)
Mutual labels:  semantic-segmentation
Espnetv2 Coreml
Semantic segmentation on iPhone using ESPNetv2
Stars: ✭ 66 (-16.46%)
Mutual labels:  semantic-segmentation
Elektronn3
A PyTorch-based library for working with 3D and 2D convolutional neural networks, with focus on semantic segmentation of volumetric biomedical image data
Stars: ✭ 78 (-1.27%)
Mutual labels:  semantic-segmentation
Tensorflow Deeplab Resnet
DeepLab-ResNet rebuilt in TensorFlow
Stars: ✭ 1,198 (+1416.46%)
Mutual labels:  semantic-segmentation
Lanesegmentationnetwork
The deep semantic segmentation network for lane segmentation.
Stars: ✭ 71 (-10.13%)
Mutual labels:  semantic-segmentation

Realtime Semantic Segmentation in the browser

To a more detailed description about this project, check my article at Towards Data Science.

This project uses TensorFlow.js to perform realtime instance segmentation in the browser using RefineNet. Many thanks to Bernardo de Oliveira, that help me to fix some bugs in the code, and Vladimir Nekrasov that provided the .js weights of the Light-Weight RefineNet - a more compact implementation of RefineNet, suitable for tasks requiring real-time performance.

enter image description here

Getting started

Tensorflow.js models have to be served through an URL to be loaded in javascript. The Refine Net model is based on a main JSON file and shared weights files in a binary format. The idea is to create an HTTP server that will make the model available in a URL allowing requests and be treated as REST API. When loading the model, the TensorFlow.js will do the following requests:

GET /model.json
GET /group1-shard1of4
GET /group1-shard2of4
GET /group1-shard3of4
GET /group1-shard4of4

The http-server can be installed using the following command:

npm install http-server -g

Once you have the program installed, go to the weights folder, run the command below and the model you be available at http://127.0.0.1:8080.

http-server -c1 --cors .

To install the required packages, it can be used npm or yarn.

If you are using yarn:

yarn
yarn start

If you are using npm:

npm install
npm start

To test the project just go to http://localhost:3000/ and the application will be running there.

References

[1] Romera-Paredes, Bernardino, and Philip Hilaire Sean Torr. “Recurrent instance segmentation.” European conference on computer vision. Springer, Cham, 2016.

[2] Lin, Guosheng, et al. “Refinenet: Multi-path refinement networks for high-resolution semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.

[3] Nekrasov, Vladimir, Chunhua Shen, and Ian Reid. “Light-weight refinenet for real-time semantic segmentation.” arXiv preprint arXiv:1810.03272 (2018).

[4] Medium. 2020. Introducing Tensorflow.Js: Machine Learning In Javascript. [online] Available at: https://medium.com/tensorflow/introducing-tensorflow-js-machine-learning-in-javascript-bf3eab376db [Accessed 3 June 2020].

[5] https://www.tensorflow.org/js/tutorials/conversion/import_keras

[6] https://github.com/DrSleep/light-weight-refinenet

[7] https://www.tensorflow.org/js/guide/conversion

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