A brief history of the satellite-image-deep-learning Github repository
A brief history of the popular satellite-image-deep-learning techniques repository, and why you should create something similar
I created the Github organisation satellite-image-deep-learning in order to organise the content I have created on that platform, which began with the popular techniques repository. This post provides the brief history of this repository, how I find material for it, and why you should create something similar.
History
When and why did I create the repository? I started this repository in April 2018 whilst I was working at Surrey Satellites. The satellite constellation I had been hired to work on as an optical engineer was on hold, and since I had demonstrated my ability to program in Python I was assigned some software development work.
The company had developed a very basic catalogue for viewing satellite imagery & capture locations on a map, and I was tasked to add some new features after the original developer left. The volume of content in the catalogue quickly grew, and improving the search functionality became a high priority. One particular feature request was to add tags to imagery, so a user could search using natural language. What options were there for tagging a satellite image like this in 2018?
I was aware of recent progress in computer vision and suggested machine learning as an approach to generate tags for the imagery. I was given a couple of days to do a proof of concept, and since the time-frame was limited I knew I would need to hit the ground running. I was aware of convolutional neural networks (CNN’s) and their use for classifying images, and I began searching online for relevant articles & code. I recall finding many academic papers, but very few were accompanied with code and public datasets, making the results difficult or impossible to reproduce. At this point I started making a list of resources with available code using Markdown in a simple README.md
file, and with permission put this on Github. Creating a list of web links in markdown is very straight-forward, and the basic syntax is shown below:
* [title](url) -> some description
Over time I have added more structure to the README.md
, and added a Github action to check the validity of links, but otherwise the approach remains as simple as when I first conceived it.
Finding material
Many people have asked me how I find the material listed on the repository, and the answer is that for the most part it is recommended to me! Specifically it is recommended in my Github feed as I have followed many of the leading academics & developers in our field. These people also star other relevant repositories, which are then highlighted in my feed. Since I seek out resources with published code, Github is naturally the best place to find material, but LinkedIn and Twitter are also excellent places to discover material. Beside these locations, I also routinely check the Computer Vision and Pattern Recognition section of ArXiv
Why you should create something similar
You might wonder why I take the effort to maintain this repository, and what benefits it brings? Undeniably it is professionally satisfying to have a popular repository on Github, but I can list more benefits:
Kudos in the interview & hiring process
Open doors with other developers & researchers on Github
Get approached about interesting jobs & opportunities
Open source profile grants access to Github CoPilot
Receive motivating messages from people this repository has helped
Provides material to share on Linkedin/Twitter and grow my network
At this point I hope I have convinced you that the barrier to entry for creating a repository on Github is low. Everyone has domain knowledge and unique areas of interest which could provide the source of inspiration for a repository. I actually know people who have created similar ‘knowledge repositories’ but have never shared them online since ‘nobody else would be interested’. I encourage you to give it a try, as you never know where it may take you.
Consulting with Robin
If you need expert guidance on any of the following topics, I’m available for hourly video call consulting:
Applying machine learning techniques to satellite and aerial imagery, including dataset selection, model training and deployment.
Building data processing pipelines in the cloud.
Understanding the physics of remote sensing imaging systems.
Building your brand and community for technical products.
Personal career development.
As an experienced consultant, I offer customised advice and practical solutions to help you achieve your goals in these areas. To discuss this service please email me 📧