All Projects → BMW-InnovationLab → Bmw Labeltool Lite

BMW-InnovationLab / Bmw Labeltool Lite

Licence: apache-2.0
This repository provides you with a easy to use labeling tool for State-of-the-art Deep Learning training purposes.

Projects that are alternatives of or similar to Bmw Labeltool Lite

Object Detection Api
Yolov3 Object Detection implemented as APIs, using TensorFlow and Flask
Stars: ✭ 177 (+22.07%)
Mutual labels:  object-detection, yolo, yolov3, inference
Trainyourownyolo
Train a state-of-the-art yolov3 object detector from scratch!
Stars: ✭ 399 (+175.17%)
Mutual labels:  object-detection, yolo, yolov3, inference
Yolov5 ncnn
🍅 Deploy NCNN on mobile phones. Support Android and iOS. 移动端NCNN部署,支持Android与iOS。
Stars: ✭ 535 (+268.97%)
Mutual labels:  object-detection, yolo, yolov3
Keras Yolov3 Mobilenet
I transfer the backend of yolov3 into Mobilenetv1,VGG16,ResNet101 and ResNeXt101
Stars: ✭ 552 (+280.69%)
Mutual labels:  object-detection, yolo, yolov3
Yolo Tf2
yolo(all versions) implementation in keras and tensorflow 2.4
Stars: ✭ 695 (+379.31%)
Mutual labels:  object-detection, yolo, yolov3
Yolo3 4 Py
A Python wrapper on Darknet. Compatible with YOLO V3.
Stars: ✭ 504 (+247.59%)
Mutual labels:  object-detection, yolo, yolov3
Bmw Yolov4 Training Automation
This repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.
Stars: ✭ 533 (+267.59%)
Mutual labels:  object-detection, yolo, yolov3
Mobilenet Yolo
MobileNetV2-YoloV3-Nano: 0.5BFlops 3MB HUAWEI P40: 6ms/img, YoloFace-500k:0.1Bflops 420KB🔥🔥🔥
Stars: ✭ 1,566 (+980%)
Mutual labels:  object-detection, yolo, yolov3
Pytorch Yolo V3
A PyTorch implementation of the YOLO v3 object detection algorithm
Stars: ✭ 3,148 (+2071.03%)
Mutual labels:  object-detection, yolo, yolov3
Yolo V3 Iou
YOLO3 动漫人脸检测 (Based on keras and tensorflow) 2019-1-19
Stars: ✭ 116 (-20%)
Mutual labels:  object-detection, yolo, yolov3
Tensorflow Yolo V3
Implementation of YOLO v3 object detector in Tensorflow (TF-Slim)
Stars: ✭ 862 (+494.48%)
Mutual labels:  object-detection, yolo, yolov3
Yolo label
GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2 https://github.com/AlexeyAB/darknet, https://github.com/pjreddie/darknet
Stars: ✭ 128 (-11.72%)
Mutual labels:  object-detection, yolo, yolov3
Deep Sort Yolov4
People detection and optional tracking with Tensorflow backend.
Stars: ✭ 306 (+111.03%)
Mutual labels:  object-detection, yolo, yolov3
Yolov5
YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
Stars: ✭ 19,914 (+13633.79%)
Mutual labels:  object-detection, yolo, yolov3
Alturos.yolo
C# Yolo Darknet Wrapper (real-time object detection)
Stars: ✭ 308 (+112.41%)
Mutual labels:  object-detection, yolo, yolov3
Yolov3 pytorch
Full implementation of YOLOv3 in PyTorch
Stars: ✭ 570 (+293.1%)
Mutual labels:  object-detection, yolo, yolov3
Yolo Vehicle Counter
This project aims to count every vehicle (motorcycle, bus, car, cycle, truck, train) detected in the input video using YOLOv3 object-detection algorithm.
Stars: ✭ 28 (-80.69%)
Mutual labels:  object-detection, yolo, yolov3
JSON2YOLO
Convert JSON annotations into YOLO format.
Stars: ✭ 222 (+53.1%)
Mutual labels:  label, yolo, yolov3
Mmdetection To Tensorrt
convert mmdetection model to tensorrt, support fp16, int8, batch input, dynamic shape etc.
Stars: ✭ 262 (+80.69%)
Mutual labels:  object-detection, yolov3, inference
Yolo annotation tool
Annotation tool for YOLO in opencv
Stars: ✭ 17 (-88.28%)
Mutual labels:  object-detection, yolo, yolov3

Labeling Tool lite


This repository provides you with a labeling tool with little to no configuration needed! The Tool was reduced in its functional scope to the most necessary. You can start labeling your images for State-of-the-art Deep Learning training purposes right away with our Dockerized labeling tool. You can also directly use the labels provided by the LabelingTool to train with our Yolov4 and Tensorflow Training GUI repositories:

https://github.com/BMW-InnovationLab/BMW-TensorFlow-Training-GUI

https://github.com/BMW-InnovationLab/BMW-YOLOv4-Training-Automation

Prerequisites

  • Windows or Ubuntu

  • Docker and Docker-compose

Installing Prerequisites:

To verify that you have docker and docker-compose,open a terminal and use the following commands:

-Verify docker:

docker --version

-Verify docker-compose:

docker-compose --version

If you do have docker and docker-compose on your machine skip to "Getting Started", otherwise follow the steps below:

  • For Windows:

Go to https://hub.docker.com/editions/community/docker-ce-desktop-windows/ and download the stable version of docker (docker-compose will be automatically installed with docker)

PS: You may need to increase the shared memory docker is using

  • For Ubuntu:

-if you don't have neither docker nor docker-compose, open a Terminal, go to your project's repository, use the following command :

chmod +x install_full.sh && source install_full.sh

-if you have docker and wish to only install docker-compose, open a terminal, go to your project's repository, then use the following command inside your project's repository:

chmod +x install_compose.sh && source install_compose.sh
  • For Mac:

-Go to https://docs.docker.com/docker-for-mac/install/ and follow the documentation to download and install docker and docker-compose together !

Running the labeling tool:

We provide a sample_dataset in case you don't have your own custom dataset.

  • To run the labeling tool and start labeling, simply go to your projects repository and run the command below:
docker-compose up
  • Open any browser,go to localhost:8081 and start labeling !

Preparing your custom dataset:

In your project's repository, this is how the training-data folder structure should look like after preparing your dataset (follow steps below):

│──training-data
  │──myfirstdataset
  │  │──images
  │  │──labels
  │  │  │──json
  │  │
  │  │──objectclasses.json
  │
  │──topics.json
  • The training-data folder is where all your datasets should be.

  • For a new dataset, create a folder inside training-data (for example a folder called "myfirstdataset")

  • Let's say that the topics.json file that is inside training-data currently looks like this:

    please add the following to your topics.json file just above the "]":

  ,
  {
      "Id": 2,
      "Name": "myfirstdataset",
      "FolderPath": "myfirstdataset",
      "Path": null,
      "ImageTransformations": null
  }

Make sure you replace "myfirstdataset" with your dataset's name.

After finishing , your topics.json file should look like this :

  • Inside your "myfirstdataset" folder :

    • Create a folder called "images", this is where you put all the images that you need to label.

    • Create a folder called "labels", in "labels" create a folder called "json", this is where the labels are generated after labeling your images

    • Create a json file called "objectclasses", this is where you define your classes. An example of two different classes is shown below:

      In this example the classes are "Dog" and "Cat". Add the following to your "objectclasses.json" file. Make sure to edit the classes names to match your own dataset. You can add or remove classes as needed.

      [
        {
          "Id": 0,
          "Name": "Dog"
        },
        {
          "Id": 1,
          "Name": "Cat"
        }
      ]
      

Running the labeling tool:

  • Open the docker-compose.yml file in your project's repository.

  • The labeling tool runs on localhost:8081, if you want to change the port , replace 8081 in "ports" under "rcvlabeltoollite" by the port number that you want

  • Under "volumes" replace what's written before the ":" with your training-data folder absolute path. For Windows users, replace the "\" in the path with "\\". (check the example below)

  • Open a Terminal , go to your project's repository , and run the command below :

    docker-compose up
    
  • go to localhost:Chosen_port , choose your topic and start labeling

Training with our Tensorflow Gui

To use the generated labels with our tensorflow gui follow the steps below :

  • Make sure you downloaded our Tensorflow project.

  • Go to training-data/

  • Copy your dataset folder

  • Go to our Tensorflow Gui project's repository

  • Go to "datasets" and paste the copied folder

Follow the instructions on our Tensorflow Gui Github repository to launch it and train

Training with our Yolov4 and Yolov3-Training-Automation

To use the labels with our Yolov4-v3-Training-Automation, go to the labeltool's repository and run the command below :

python3 converttoyolo.py --dir myfirstdataset

Make sure to replace "myfirstdataset" in the command with your dataset's folder name

A new folder "yolo" is created inside your dataset's "labels" folder.

  • Go to training-data/

  • Copy your dataset folder

  • Go to your Yolo project's repository

  • Paste the copied folder

  • Please note that a "train_config.json" file should be created inside your dataset's folder (Check our Yolov4-v3 Training Automation documentation). You can just copy the file from our sample_dataset and edit the classes field ( Check image below)

Follow the instructions on our Yolov4-v3 Training Automation Github repository to launch it and train

Known Errors

-All JSON files, except the label files, within the Labeltool should be encoded in "UTF-16 LE", otherwise an error may occur.

Acknowledgements

inmind.ai

Robotron

Roy Anwar

Eduard Saller

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