Goal of the project
The goal of this project is to create labeled dataset, which will enable training of neural network detecting floating objects on water surface in “bird’s eye view”. This project (along with NN training) is the topic of my engineering thesis on University of Science and Technology in Cracow, with the exact title “Detection of floating objects for rescue purpouses using computer vision techniques”.
Neural networks and computer vision in a nutshell
Computer vision is a dynamically evolving branch of science ddirectly linked with artificial inteligence. Programs based on neural networks (mathematical structures resembling human mind), given large quantities of data, are able to “learn” how certain objects are suppoused to look like and then detect those objects on photos or videos. This process however is somewhat different in comparison to how humans learn to classify/recognize objects. For example, when you show someone an apple and say “that’s how an apple looks like”, he/she can most certainly recognize it in different pictures, from different angles, in various surroundings… even if this person have never seen an apple before. Computer (program) needs to ‘see’ many (i mean thousands of) pictures with marked and named objects in different surroundings in order to be able to classify this object later. That’s why in machine learning (and also computer vision) large and diverse dataset plays a very important role. The other requirement is a very high computing power, because a computer needs to analyze the same picture multiple times, doing thousands of calculations in every take. For those reasons to train my neural network which will recognize objects in this project we will use Prometheus – one of the most powerfull supercomputers in Poland.
Examples of my current program’s results (objects bellow were recognised by a computer).
In order for my program to be usefull it needs to recognize objects regardless of the enviroment it’ll be used in. It should be able to classify certain floating objects reagrdless of conditions such as: drone position (height), water color, waves etc. To achieve that, training data needs to be diverse and preferably gathered in various locations.
During the last summer I made some videos using a rented drone at the Baltic sea and theese are the basis for my program so far. I would like to better it’s functionallity by adding more training data from different places. That is why I ask to please send me your photos or videos made by drone, in order to better my project.
What does it mean that the data is “labelled”?
Computer needs more than regular photos or videos to ‘learn’, it also needs to know what’s in them. That’s why every piece of data I use for training needs to be manually flaged – marked for the computer that ‘there’s a human’, ‘there’s a boat’ etc. Labelled datasets are very valuable in the world of computer vision. There is no publicaly avialable large enough ‘aerial drone dataset of floating objects’ so after my project is complete I’m going to share all the data I collected and labelled at this website for other programmers from all around the world to use in their work. If you decide to upload even a few minutes of your video, you too will be a part of it.
Examples of labelled photos – my training data so far
Where can this technology be used?
This sort of tech is suppoused to enhance the search and rescue of people and boats lost at sea, help to asses the situation (for example in case of a sinking ship it can help evaluate how many people are in danger and what is the size of a rescue mission needed). Adequately equipped drone could even execute a rescue mission on its own for a single person. In addition, considering that after my project is complete all the data will be publically avialable, other programmers may find different applications for it and use it to create usefull projects of their own.
Press the button in order to help me by sending much needed photos and videos.