Comments (3)
Depending on the dataset you use, there are some data augmentation techniques. We do horizontal and vertical flips for Aerial
and Tanzania
datasets. We could do horizontal flips for Mapillary as well, even if it is not currently implemented.
Should you be interested in data augmentation, such an improvement can be implemented in the _preprocess
method of different dataset classes (see Tanzania case for example).
from deeposlandia.
I saw the source code of aerial.py, But I could not see any augmented images in the dataset generated. Because datagen.py arguments need number of training images which needs to be generated to be mentioned and If i pass number of training tiles to be generated then will it augment or not ?
means if i have 5000x5000 tiles and i cut 500x500 size tiles, then it should generate 100 images(tiles) for training. So if i pass -t=100 then it will generate 100 tiles only . Will they be randomly augmented or I need to pass -t=150 or something to generate the augmented images ?
Please clarify.
from deeposlandia.
@amardeepjaiman do you use an up-to-date version of the code? I recently pushed some fixes on this dataset. You should be able to generate augmented patches saved as name_width_height_x_y_corner.png
(austin1_400_400_100_200_nw.png
for example is a 400*400 patch generated from austin1.tif
; its upper-left corner being located at (100,200) in the original image). Horizontal flips are characterized by the _ne
suffix (resp. _sw
for vertical flips, and _se
for horizontal+vertical flips).
By default, we generate 4 images for each original image crop when there is at least one building (no data augmentation in case of empty image).
Regarding the image quantity, we used a home-made heuristic (translation: certainly far from the best way of doing, however a choice had to be made...).
The image quantity arguments should be used as follows:
- training and validation image amounts represent an estimation of the desired total number, spread on all raw images (let say you have 10 raw images, and you ask for 1000 images; the program will try to generate 100 png tiles for each raw images; if the raw image is kind of empty, another stopping criterion related to candidate crops is used --the loop is exited after 2*100 attempts).
- testing data: we just build grids for as many raw images as indicated by the argument, considering the requested image size. Hence with 500x500 tiles, and 10 requested images, in a folder that contains 5000x5000 images, you will get 10*100 tiles.
from deeposlandia.
Related Issues (20)
- Drop dataset agregation from the framework
- Save a "best model" after training
- issue with postprocess.py for aerial dataset HOT 1
- Simplify the tile size management for `aerial` dataset
- Corrupt image file during training HOT 2
- Handle building types during postprocessing
- load existing weights and training HOT 2
- How to evaluate the results on test set with ground truths HOT 2
- Data Generation (Preprocessing) Issue HOT 2
- multiclass segmentation for aerial dataset HOT 3
- Aerial Dataset Presentation - Dataset Handling HOT 2
- how to handle multi channel multi class labels HOT 2
- Wrong file picking when preprocessing testing images HOT 1
- Confusion with the datagen CLI
- Remove sys.exit statements HOT 4
- Integrate a progress bar in postprocessing HOT 1
- Batch size argument for inference does not work as expected HOT 1
- 0.6.2 release HOT 2
- Publish a cleaner version on Pypi HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deeposlandia.