In a very boring afternoon, I counted by hand about 1,900 seals in some drone imagery. With a possibility of flying a colony that might have 30,000 seals, I thought I should probably look into automatic counting with #QGIS and #Deepness plugin..
WAID is a dataset containing images of Sheep, Cattle, Seal, Camelus, Zebra, or Kiang. It's huge (14,375 images) and I just needed Seals, so I wrote a quick python script to remove images that had no seals from the dataset.
https://www.mdpi.com/2076-3417/13/18/10397
Frustratingly, it didn't do a great job with my imagery; I may have to sit for a few more hours tagging images and adding to the dataset, or the issue might be with the model?
Spent an hour tagging a few hundred more images of seals to the dataset and got a much better result! Thanks all who commented with ideas!
@sarahdalgulls unsolicited observation (feel free to ignore): the majority of seals detected (I assume those are the green boxes) are in the same orientation (bottom left corner to top right corner diagonal. I remember going to a talk about something like this where they bulked-up the training set by taking the detections and rotating them at random and this improved performance.
(With apologies if you already knew about this! This is not really my area but in case it's helpful!)
@millerdl ahhh excellent catch thank you! I know about rotating the images when making the dataset, but as this was an already prepared dataset I didn't consider it.
I'm going to add to this one by tagging a couple hundred (yawn) seals from my pictures too, and see how that goes too
@sarahdalgulls
Data augmentation does rotations and other transformations without needing to add more images to the training dataset. If the ground has a different color it may have a huge impact on model performance.
@millerdl
@rnanclares @millerdl I think this is it, the training data were all of seals on sandy beaches, not rocky coast. I will train up my images as a dataset for future use
@sarahdalgulls
Why don't you try with the whole dataset? Not only training on seals may improve the results.
@millerdl
@sarahdalgulls @millerdl And then you can use your first model to help you create a new training dataset. Most of the time models require a "human in the loop" approach which means iterating and improving the training dataset.
@rnanclares I'm a very basic user, relying on non-programming tools (following this tutorial https://github.com/PUTvision/qgis-plugin-deepness) Really just trying to see what's achievable on limited tech skills and no budget - all advice is greatly appreciated. I've added a bunch of my own seals to the training dataset and will run that now..
@sarahdalgulls
Haven't tried the plugin. Adding your own data will surely improve the detection a lot.
@sarahdalgulls I remember talking to some folks at SMRU in St Andrews years ago when it was all by-eye counting and it sounded like an absolutely horrendous job!