All Projects → timmmGZ → Bounding-Box-Regression-GUI

timmmGZ / Bounding-Box-Regression-GUI

Licence: other
This program shows how Bounding-Box-Regression works in a visual form. Intersection over Union ( IOU ), Non Maximum Suppression ( NMS ), Object detection, 边框回归,边框回归可视化,交并比,非极大值抑制,目标检测。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Bounding-Box-Regression-GUI

Gan Mnist
Generative Adversarial Network for MNIST with tensorflow
Stars: ✭ 193 (+1106.25%)
Mutual labels:  mnist
Vae Cvae Mnist
Variational Autoencoder and Conditional Variational Autoencoder on MNIST in PyTorch
Stars: ✭ 229 (+1331.25%)
Mutual labels:  mnist
handwritten-digit-recognition-tensorflowjs
In-Browser Digit recognition with Tensorflow.js and React using Mnist dataset
Stars: ✭ 40 (+150%)
Mutual labels:  mnist
Lingvo
Lingvo
Stars: ✭ 2,361 (+14656.25%)
Mutual labels:  mnist
Tf Vqvae
Tensorflow Implementation of the paper [Neural Discrete Representation Learning](https://arxiv.org/abs/1711.00937) (VQ-VAE).
Stars: ✭ 226 (+1312.5%)
Mutual labels:  mnist
Awesome Tensorlayer
A curated list of dedicated resources and applications
Stars: ✭ 248 (+1450%)
Mutual labels:  mnist
Tensorflow Mnist Cnn
MNIST classification using Convolutional NeuralNetwork. Various techniques such as data augmentation, dropout, batchnormalization, etc are implemented.
Stars: ✭ 182 (+1037.5%)
Mutual labels:  mnist
VAE-Latent-Space-Explorer
Interactive exploration of MNIST variational autoencoder latent space with React and tensorflow.js.
Stars: ✭ 30 (+87.5%)
Mutual labels:  mnist
Gan Tutorial
Simple Implementation of many GAN models with PyTorch.
Stars: ✭ 227 (+1318.75%)
Mutual labels:  mnist
Handwritten Digit Recognition
手写数字识别。利用Tensorflow和MNIST实现的一个简单的手写数字识别程序。
Stars: ✭ 22 (+37.5%)
Mutual labels:  mnist
Pratik Derin Ogrenme Uygulamalari
Çeşitli kütüphaneler kullanılarak Türkçe kod açıklamalarıyla TEMEL SEVİYEDE pratik derin öğrenme uygulamaları.
Stars: ✭ 200 (+1150%)
Mutual labels:  mnist
Vq Vae
Minimalist implementation of VQ-VAE in Pytorch
Stars: ✭ 224 (+1300%)
Mutual labels:  mnist
MNIST-CoreML
Predict handwritten digits with CoreML
Stars: ✭ 63 (+293.75%)
Mutual labels:  mnist
Tflite Mnist Android
MNIST with TensorFlow Lite on Android
Stars: ✭ 195 (+1118.75%)
Mutual labels:  mnist
Fun-with-MNIST
Playing with MNIST. Machine Learning. Generative Models.
Stars: ✭ 23 (+43.75%)
Mutual labels:  mnist
Pytorch Generative Model Collections
Collection of generative models in Pytorch version.
Stars: ✭ 2,296 (+14250%)
Mutual labels:  mnist
Gordon cnn
A small convolution neural network deep learning framework implemented in c++.
Stars: ✭ 241 (+1406.25%)
Mutual labels:  mnist
KerasMNIST
Keras MNIST for Handwriting Detection
Stars: ✭ 25 (+56.25%)
Mutual labels:  mnist
digitRecognition
Implementation of a digit recognition using my Neural Network with the MNIST data set.
Stars: ✭ 21 (+31.25%)
Mutual labels:  mnist
CNN-MNIST
CNN classification model built in Keras used for Digit Recognizer task on Kaggle (https://www.kaggle.com/c/digit-recognizer)
Stars: ✭ 23 (+43.75%)
Mutual labels:  mnist

Bounding-Box-Regression-GUI

This program shows how Bounding-Box-Regression works in a visual form.

Updating soon for Digit-Recognition-CNN-and-ANN-using-Mnist-with-GUI

https://github.com/timmmGZ/Digit-Recognition-CNN-and-ANN-using-Mnist-with-GUI
I am going to modify the above program in my free time, add this Bounding Box Regression along with ROI Align layer(https://github.com/timmmGZ/ROIAlign-Bounding-Box-ROI-Align-of-Mask-RCNN-GUI) in it, make it become a MNIST object detection.

First of all, Let's see how it works

image

Predefine

Download the MNIST digit 60000 train set and 10000 test set here:
https://drive.google.com/open?id=1VwABcxX0DaQakPpHbMaRQJHlJf3mVONf

  1. Put both files to ../dataset/, and then go to "tool" package.

  2. Run the "CreatePictureForObjectDetectionFromMNIST.java", it will create random pictures base on MNIST datasets in ../dataset/pictures.

  3. After step 2, run the "CreateForeOrBackgroundSample.java", it will create random foreground(in ../dataset/foreground) and background(in ../dataset/background) datasets based on output pictures of step 2, you could see it more clearly in ../dataset/groundTruthExamples.
    as below:
    image

  4. Both step 2 and 3 will create Label-files in ../dataset/standardOutput, you could see the column names in first line of each Label-files

  5. Make sure you have big enough RAM if you want to store more datasets in RAM, watch below picture:
    image

Start

Run the MainFrame.java, if you don't want to train the model, click "Menu" then "Read Weight", that is my trained weights around 94% accuracy on both train and test set(70000 datasets in total, I define it is true prediction if Predicted-Bounding-Box has higher IOU with Ground-Truth-Bounding-Box than it has with input Bounding-Box).

Warning

Actually the number of predicted boxes should = the number of classes(e.g. one Bounding-Box can have both Apple and Bird inside it), but this program is just a Digit-Detection, for convenience and higher FPS in real-time detection, I make it have only one predicted box, see the advantage of having normal number of predicted boxes as below picture:
image

Bounding-Box-Regression is used after NMS(Non Maximum Suppression)

For each picture, we will get so many Bounding-Box(Region-Propasal), NMS is used for filtering out the best Bounding-Boxes, below gif shows what will look like if we only use ROI-Align-layer(not necessary but better use it) and NMS but not use Bounding-Box-Regression:
Predefine about ROI-Align-layer: sample size=1, output size=7, feature maps=16(https://github.com/timmmGZ/ROIAlign-Bounding-Box-ROI-Align-of-Mask-RCNN-GUI) image Let's cut one picture from the gif, when the object is small like below picture, and the number of objects is big, obviously we need to do Bounding-Box-Regression, or it will be a mess. image

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