alexolsen / deepweeds Goto Github PK
View Code? Open in Web Editor NEWA Multiclass Weed Species Image Dataset for Deep Learning
Home Page: https://www.nature.com/articles/s41598-018-38343-3
License: Apache License 2.0
A Multiclass Weed Species Image Dataset for Deep Learning
Home Page: https://www.nature.com/articles/s41598-018-38343-3
License: Apache License 2.0
I read your research paper and downloaded your images. It's a great effort compared to other available datasets. Could you please share some source code and model to replicate your results presented in the paper? I need it for a class project and it would be a huge task if I were to build the system for basic frameworks. Thanks.
There, I am interested in working on the data. Thanks for your work.
However, I can not find the labels in the images.zip.
There are no folders in the unzip folder. All images are just in one single folder.
Thanks
Hi Alex, thanks so much for sharing the code! I am new to deep learning and found your commented code very helpful and clear.
I am attempting to run inference on single images from your study, using one of your pre-trained models. I think I’m running into some issues though. I downloaded the ResNet-50 model (resnet.hdf5) and loaded it to make predictions on single images at a time (using deepweeds.inference() ). However all the predictions are for the Negative class, since this probability is always much higher than the remaining classes.
Also tried running model.predict_generator() (from deepweeds.cross_validate() ) on just a test subset of data (‘test_subset0.csv’), to see if the predictions turned out differently. This was done on a Google Colab notebook with GPU, but it seems to be hanging and not completing with both ~3500 images and ~10 images (to see if runtime was the issue).
Do you know what I might be doing wrong?
Thanks!
Hi,
Thanks for providing this dataset.
Since you've collected your dataset from different named locations (Black River, Charter Towers etc.), I would like to test how well my model generalises by learning about a particular species from one location and testing it in another location. Do you have data on the location where each image was taken? Is it perhaps something that could be inferred from the date?
Hi,
I've bumped into this dataset and think it's pretty cool ! Nice work indeed 👍
I give it a quick try here to measure inference times
https://github.com/alext234/deep-weeds-experiments/blob/master/inference-times.ipynb
I realise the first inference is always much slower. Is there any particular reason why it is so? Perhaps this behaviour might be something very specific to keras/tf
Hi Alex and Team, thanks for your great work.
Would it be possible to obtain the original dataset of images?
I've found that a model can be trained and tested with high accuracy after replicating your process with Resnet-50 and PyTorch, however I'm struggling with inference on images outside the dataset - they're generally much poorer (in particular, the confusion matrix results between Lantana, Snake Weed, and Rubber Vine). I would like to experiment with different transform techniques as I believe preserving aspect ratio of the weed, management of color/contrast (etc) may help.
Cheers,
Mitch
EDIT: Some samples, confusion matrix, etc.
DeepWeeds_Ten_Samples_OutofdatasetInference_1Oct2019.pdf
@AlexOlsen, thank you for putting this dataset together. After playing with your code and reading your publication, I think I see an error in your global variables in deepweeds.py:
MAX_EPOCH = 32
?STOPPING_PATIENCE = 2
?CLASSES = [str(i) for i in range(9)]
I was reading your paper -
. Then, each image was randomly scaled both vertically and horizontally in the range of [0.5, 1]. Each colour channel was randomly shifted within the range of ±25 (i.e. approximately ±10% of the maximum available 8-bit colour encoding range [0, 255]). To account for illumination variance, pixel intensity was randomly shifted within the [−25, +25] range, shifting all colour channels uniformly. In addition, pixel intensity was randomly scaled within the [0.75, 1.25] range
Are you familiar with this repo https://github.com/tueimage/SE2CNN ?
It may be more fruitful in optimizing network by automagically providing roto scale invariance.
Hi Alex,
This is really a very good work. Congrats !!
I would like to ask you some help to understand 2 points in your work.
I’m a little bit confused because you are using transfer learning, and I saw in other works that for transfer learning in general we only train a new 'top'. But you make all the layers from the pre-trained ResNet ‘trainable’ and then train the model for just two single epochs. How could just two epochs give you a good accuracy with only aprox. 1k images per class training the full network? Also, there is just a single Dense layer resposible for the prediction (binary_crossentropy).
You are using a ‘negative’ class. But the number of negative examples is bigger than the total of all the other classes. If someone decide to use a negative class as well, how to calculate (or balance) the negative class with the other classes ?
Best Regards.
Kleyson Rios.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.