ODAch is a test-time-augmentation tool for pytorch 2d object detectors.
Project description
ODAch, An Object Detection TTA tool for Pytorch
ODA is a test-time-augmentation (TTA) tool for 2d object detectors.
For use in Kaggle object detection competitions.
:star: if it helps you! ;)
Install
pip install odach
Usage
See Example.ipynb
.
The setup is very simple, similar to ttach.
Singlescale TTA
import odach as oda
# Declare TTA variations
tta = [oda.HorizontalFlip(), oda.VerticalFlip(), oda.Rotate90(), oda.Multiply(0.9), oda.Multiply(1.1)]
# load image
img = loadimg(impath)
# wrap model and tta
tta_model = oda.TTAWrapper(model, tta)
# Execute TTA!
boxes, scores, labels = tta_model(img)
Multiscale TTA
import odach as oda
# Declare TTA variations
tta = [oda.HorizontalFlip(), oda.VerticalFlip(), oda.Rotate90(), oda.Multiply(0.9), oda.Multiply(1.1)]
# Declare scales to tta
scale = [0.8, 0.9, 1, 1.1, 1.2]
# load image
img = loadimg(impath)
# wrap model and tta
tta_model = oda.TTAWrapper(model, tta, scale)
# Execute TTA!
boxes, scores, labels = tta_model(img)
-
The boxes are also filtered by nms(wbf default).
-
The image size should be square.
model output wrapping
-
Wrap your detection model so that the output is similar to torchvision frcnn format: [["box":[[x,y,x2,y2], [], ..], "labels": [0,1,..], "scores": [1.0, 0.8, ..]]
-
Example for EfficientDets https://www.kaggle.com/kyoshioka47/example-of-2d-single-scale-tta-with-odach/
# wrap effdet
oda_effdet = oda.wrap_effdet(effdet)
# Declare TTA variations
tta = [oda.HorizontalFlip(), oda.VerticalFlip(), oda.Rotate90()]
# Declare scales to tta
scale = [1]
# wrap model and tta
tta_model = oda.TTAWrapper(oda_effdet, tta, scale)
Example
Global Wheat Detection
Thanks
nms, wbf are from https://kaggle.com/zfturbo
tta is based on https://github.com/qubvel/ttach, https://github.com/andrewekhalel/edafa/tree/master/edafa and https://www.kaggle.com/shonenkov/wbf-over-tta-single-model-efficientdet
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for odach-0.1.5.post2206210229-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07043249df42b33fbb6fcf2acab10961ed1e38b6c9f524113a3863db8b1daf8a |
|
MD5 | 5a2600943891073b6f989ae575288b91 |
|
BLAKE2b-256 | 1b607b6c423424a80b4e29ce3825c95cd1c688f21ea88a55ee61e89e8f8f94a2 |