All Projects → AlessioTonioni → Tf Objdetector

AlessioTonioni / Tf Objdetector

Licence: gpl-3.0
Utilities to use tensorflow object detction api with a yolo like dataset

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tf Objdetector

Ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
Stars: ✭ 6,896 (+49157.14%)
Mutual labels:  object-detection
Dmsmsgrcg
A photo OCR project aims to output DMS messages contained in sign structure images.
Stars: ✭ 18 (+28.57%)
Mutual labels:  object-detection
Isomorph
Shared utilities for browsers and Node.js
Stars: ✭ 9 (-35.71%)
Mutual labels:  utilities
Global Localization Object Detection
a global localization system with object detection in semantic map
Stars: ✭ 5 (-64.29%)
Mutual labels:  object-detection
Yolo annotation tool
Annotation tool for YOLO in opencv
Stars: ✭ 17 (+21.43%)
Mutual labels:  object-detection
Medicaldetectiontoolkit
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.
Stars: ✭ 917 (+6450%)
Mutual labels:  object-detection
Awesome Object Detection
Awesome Object Detection based on handong1587 github: https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html
Stars: ✭ 6,628 (+47242.86%)
Mutual labels:  object-detection
Retest
Command-line regular expression tester
Stars: ✭ 13 (-7.14%)
Mutual labels:  utilities
Federated Benchmark
A Benchmark of Real-world Image Dataset for Federated Learning
Stars: ✭ 18 (+28.57%)
Mutual labels:  object-detection
Cascade Rcnn
Caffe implementation of multiple popular object detection frameworks
Stars: ✭ 932 (+6557.14%)
Mutual labels:  object-detection
Tensorlayer
Deep Learning and Reinforcement Learning Library for Scientists and Engineers 🔥
Stars: ✭ 6,796 (+48442.86%)
Mutual labels:  object-detection
Jmcs
Java framework to homogenize your GUI across all the 3 main desktop OS, and further integrates your app to them.
Stars: ✭ 5 (-64.29%)
Mutual labels:  utilities
Tensorflow object detection tflite
This is a repo for training and implementing the mobilenet-ssd v2 to tflite with c++ on x86 and arm64
Stars: ✭ 24 (+71.43%)
Mutual labels:  object-detection
Dataaugmentationforobjectdetection
Data Augmentation For Object Detection
Stars: ✭ 812 (+5700%)
Mutual labels:  object-detection
Tensorflow Yolo V3
Implementation of YOLO v3 object detector in Tensorflow (TF-Slim)
Stars: ✭ 862 (+6057.14%)
Mutual labels:  object-detection
Cvpr2021 Paper Code Interpretation
cvpr2021/cvpr2020/cvpr2019/cvpr2018/cvpr2017 论文/代码/解读/直播合集,极市团队整理
Stars: ✭ 8,075 (+57578.57%)
Mutual labels:  object-detection
Efficientdet Pytorch
A PyTorch impl of EfficientDet faithful to the original Google impl w/ ported weights
Stars: ✭ 906 (+6371.43%)
Mutual labels:  object-detection
Yolov3
YOLOv3 in PyTorch > ONNX > CoreML > TFLite
Stars: ✭ 8,159 (+58178.57%)
Mutual labels:  object-detection
Omniutils
A utility library for Java SE
Stars: ✭ 13 (-7.14%)
Mutual labels:  utilities
3d Bounding Boxes From Monocular Images
A two stage multi-modal loss model along with rigid body transformations to regress 3D bounding boxes
Stars: ✭ 24 (+71.43%)
Mutual labels:  object-detection

Utilities to use Tensorflow object detection API (coming from yolo)

This repository provides a bunch of scripts to train and deploy an object detector using tensorflow object detection api.

Follow the step by step guide to train, validate and deploy your own object detector.

Requires:

  1. Create a dataset in yolo like format:

    • 'images' --> folder containing the training image
    • 'labels' --> containing 1 annotation file for each image in .txt (one BB per row with class x-center y-center w h)
    • 'traininglist.txt' --> a txt file where each row refer an image to be used as training sample, images and labels folder should be contained in the same directory
    • 'validationlist.txt' --> a txt file where each row refer an image to be used as validation sample, images and labels folder should be contained in the same directory
    • 'className.txt' --> a txt file with the name of the class to be displayed, one per row
  2. Convert both the trainign and validation set to tfrecord:

    python yolo_tf_converter.py \
        -t ${IMAGE_LIST} \
        -o ${OUTPUT} \
        -c ${CLASSES}
    
    • IMAGE_LIST: path to traininglist.txt or validationlist.txt
    • OUTPUT: where the output files will be saved (tfrecord+labelmap)
    • CLASSES: path to the className.txt file
  3. Create the configuration file for training using the create_config.py script

    python create_config.py \
        -t ${TRAINING} \
        -v ${VALIDATION} \
        -l ${LABELS} \
        -w ${WEIGHTS} \
        -m ${MODEL} \
        -s ${STEP}
    

    If needed change the parameter in the produced 'model.config'

  4. Train the model as long as possible:

    # From the tensorflow/models/research directory
    python object_detection/train.py \
        --logtostderr \
        --pipeline_config_path=${PATH_TO_YOUR_PIPELINE_CONFIG} \
        --train_dir=${PATH_TO_TRAIN_DIR}
    
    • PATH_TO_YOUR_PIPELINE_CONFIG: path to the model.config generated at step 3
    • PATH_TO_TRAIN_DIR: where the model will be saved
  5. OPTIONAL - Run evaluation

    # From the tensorflow/models/research directory
    python object_detection/eval.py \
        --logtostderr \
        --pipeline_config_path=${PATH_TO_YOUR_PIPELINE_CONFIG} \
        --checkpoint_dir=${PATH_TO_TRAIN_DIR} \
        --eval_dir=${PATH_TO_EVAL_DIR}
    
    • PATH_TO_EVAL_DIR: where the evaluation event will be saved (use tensorboard to visualize them)
  6. Export trained model as inference graph (WARNING: this action freeze the weight, so the model can only be used for inference not for training)

    # From tensorflow/models/research
    python object_detection/export_inference_graph.py \
        --input_type image_tensor \
        --pipeline_config_path ${PIPELINE_CONFIG_PATH} \
        --trained_checkpoint_prefix model.ckpt-${CHECKPOINT_NUMBER} \
        --output_directory output_inference_graph
    
  7. Visual Detection

    python inference_engine.py \
        -g ${GRAPH} \
        -l ${LABEL_MAP} \
        -t ${TARGET} \
        -o ${OUT_FLD}
        -v
    
    • GRAPH: path to the frozen inference graph produced at step 6
    • LABEL_MAP: path to labelmap.pbtxt
    • TARGET: path to an image to test or to a .txt file with the list of image to test (one per row)
    • OUT_FLD: folder were the prediction will be saved, one '.txt' file for each image with one detection per row encoded as: %class %X_center %Y_center %width %height %confidence
  8. OPTIONAL - Live detection from webcam (needs opencv...)

    python webcam_detection.py \
        -g ${GRAPH} \
        -l ${LABEL_MAP} \
        -c ${CAM_ID}
    
    • GRAPH: path to the frozen inference graph produced at step 6
    • LABEL_MAP: path to labelmap.pbtxt
    • CAM_ID: id of the camera as seen by opencv
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].