All Projects → LinkedAi → Flip

LinkedAi / Flip

Licence: gpl-3.0
Synthetic Image generation with Flip. Generate thousands of new 2D images from a small batch of objects and backgrounds.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Flip

Tiny Dsod
Tiny-DSOD: Lightweight Object Detection for Resource-Restricted Usage
Stars: ✭ 207 (-10.39%)
Mutual labels:  object-detection
Pyimsegm
Image segmentation - general superpixel segmentation & center detection & region growing
Stars: ✭ 213 (-7.79%)
Mutual labels:  object-detection
Ownphotos
Self hosted alternative to Google Photos
Stars: ✭ 2,587 (+1019.91%)
Mutual labels:  object-detection
Cnn From Scratch
A scratch implementation of Convolutional Neural Network in Python using only numpy and validated over CIFAR-10 & MNIST Dataset
Stars: ✭ 210 (-9.09%)
Mutual labels:  object-detection
Paddledetection
Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Stars: ✭ 5,799 (+2410.39%)
Mutual labels:  object-detection
Unidet
Object detection on multiple datasets with an automatically learned unified label space.
Stars: ✭ 217 (-6.06%)
Mutual labels:  object-detection
Yolov4 Custom Functions
A Wide Range of Custom Functions for YOLOv4, YOLOv4-tiny, YOLOv3, and YOLOv3-tiny Implemented in TensorFlow, TFLite, and TensorRT.
Stars: ✭ 199 (-13.85%)
Mutual labels:  object-detection
Mmdetection
OpenMMLab Detection Toolbox and Benchmark
Stars: ✭ 17,646 (+7538.96%)
Mutual labels:  object-detection
Com.unity.perception
Perception toolkit for sim2real training and validation
Stars: ✭ 208 (-9.96%)
Mutual labels:  object-detection
Caffe2 Ios
Caffe2 on iOS Real-time Demo. Test with Your Own Model and Photos.
Stars: ✭ 221 (-4.33%)
Mutual labels:  object-detection
Yolodet Pytorch
reproduce the YOLO series of papers in pytorch, including YOLOv4, PP-YOLO, YOLOv5,YOLOv3, etc.
Stars: ✭ 206 (-10.82%)
Mutual labels:  object-detection
Syndata Generation
Code used to generate synthetic scenes and bounding box annotations for object detection. This was used to generate data used in the Cut, Paste and Learn paper
Stars: ✭ 214 (-7.36%)
Mutual labels:  object-detection
Nncf
PyTorch*-based Neural Network Compression Framework for enhanced OpenVINO™ inference
Stars: ✭ 218 (-5.63%)
Mutual labels:  object-detection
Pytorch simple centernet 45
A simple pytorch implementation of CenterNet (Objects as Points)
Stars: ✭ 208 (-9.96%)
Mutual labels:  object-detection
Bbox Visualizer
Make drawing and labeling bounding boxes easy as cake
Stars: ✭ 225 (-2.6%)
Mutual labels:  object-detection
Imageprocessingprojects
Image processing using python and opencv
Stars: ✭ 205 (-11.26%)
Mutual labels:  object-detection
Lfd A Light And Fast Detector
LFD is a big update upon LFFD. Generally, LFD is a multi-class object detector characterized by lightweight, low inference latency and superior precision. It is for real-world appilcations.
Stars: ✭ 210 (-9.09%)
Mutual labels:  object-detection
Icevision
End-to-End Object Detection Framework - Pluggable to any Training Library: Fastai, Pytorch-Lightning with more to come
Stars: ✭ 218 (-5.63%)
Mutual labels:  object-detection
Catalyst
Accelerated deep learning R&D
Stars: ✭ 2,804 (+1113.85%)
Mutual labels:  object-detection
Object detection tracking
Out-of-the-box code and models for CMU's object detection and tracking system for surveillance videos. Speed optimized Faster-RCNN model. Tensorflow based. Also supports EfficientDet. WACVW'20
Stars: ✭ 221 (-4.33%)
Mutual labels:  object-detection

Flip

Python supported

Synthetic Data generation with Flip! Generate thousands of new 2D images from a small batch of objects and backgrounds.

Installation

Install Flip using pip:

pip install flip-data

Dependencies

Flip requires:

  • Python (>= 3.7)
  • Opencv (>= 4.3.0)
  • Numpy (>= 1.19.1)

Quick Start (Example)

To try Flip library you can run examples/data_generator.py. You will need to add background images and objects to compose your new training dataset, then place them in the following directories:

BACKGROUNDS_PATTERN = "examples/data/backgrounds/*"
OBJECTS_PATTERN = "examples/data/objects/**/*"

The main workflow in Flip is to create transformers and then execute them as follows:

## Import Flip transformers
import flip.transformers as tr

OUT_DIR = "examples/result"

...

## Create Child transformers
transform_objects = [
        tr.data_augmentation.Rotate(mode='random'),
        tr.data_augmentation.Flip(mode='y'),
        tr.data_augmentation.RandomResize(
            mode='symmetric_w',
            relation='parent',
            w_percentage_min=0.2,
            w_percentage_max=0.5
        )
    ]

## Create main transformer
transform = tr.Compose([
    tr.ApplyToObjects(transform_objects),
    tr.domain_randomization.ObjectsRandomPosition(
        x_min=0, y_min=0.4, x_max=0.7, y_max=0.7, mode='percentage'
    ),
    tr.data_augmentation.Flip('x'),
    tr.domain_randomization.Draw(),
    tr.labeler.CreateBoundingBoxes(),
    tr.io.CreateJson(out_dir=OUT_DIR, name='img_generate.jpg'),
    tr.io.CreateJson(out_dir=OUT_DIR, name='json_generated.jpg')
])

## Execute transformations
el = tr.Element(image=..., objects=...)
[el] = transform(el)

Object

Transformers

The main transformers are:

  • Transformer
  • Compose
  • ApplyToObjects

By the way, all Transformers will be executed over objects of class Element and will return a new transformed Element.

Data Augmentation

  • Flip: Flip the Element in x or y axis.
  • RandomResize: Change the size of an Element randomly.
  • Rotate: Rotate Element randomly.

Random Domain

  • Draw: Draw objects over background Element to merge them into a new image.
  • ObjectsRandomPosition: Set Random positions to objects over background Element.

Labeler

  • CreateBoundingBoxes: Draw bounding boxes around the objects contained by a background Element.

IO

  • SaveImage: Save a .jpg File with the new generated image.
  • Json: Save generated Labels as a Json.
  • Csv: Save generated Labels as a CSV.

Want to Contribute or have any doubts or feedback?

If you want extra info, email me at [email protected]

Report Issues

Please help us by reporting any issues you may have while using Flip.

License

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