Suppose you want to develop a drone that can roam the seas and spot debris so that ships can be directed to it and pick it up. It's a good idea but how do you test your methods?
This is probably the most unlikely combination of algorithms you will see in some time. Suppose you want to develop a drone complete with AI software that can roam the seas and spot debris so that ships can be directed to it and pick it up. It's a good idea but how do you test your methods?
Set off to sea with a drone and fly the thing over the oceans until you have tweaked and tuned your algorithms?
This is possible, and probably fun, but Curtis Olson, project manager at FlightGear has a way that you can do the same tests in the comfort of your office and so avoid the salt and the seasickness.
FlightGear is an open source flight simulator with a reputation for being accurate. In fact its rendering of scenery is so good it can be used as a test bed for a flying debris detector.
In the most recent version we have taken significant strides forward in drawing realistic ocean scenes that include accurate coloring, accurate rendering of different sea states and types of waves, very realistic sun glint, realistic sea foam (the result of breaking waves on windy days), and even rolling wake and foam created by large ships. The quality of FlightGear ocean scenes can now (in many cases) make them almost indistinguishable from real camera imagery.
The problems of using computer vision at sea are compounded by the swell - things come into view and then vanish - and the ocean glare, spray, foam and so on. So an accurate simulation is a must if you are trying to test anything.
Curtis Olson goes on to explain how to connect OpenCV - the open source computer vision library - to FligthGear so that it processes the generated scenery as if it was a camera input. He also creates some random debris scattered across a six-nautical mile square and a test aircraft. The resulting simulated drone imagery is fed into the OpenCV recognition algorithms. The result is automatically generated debris tracks.
You can see what the simulation looks like in the following video:
The really good news is that no one had to get seasick in the making of this video.
As a general technique using FlightGear to perfect computer vision methods that are intended to be used with drones seems like a great idea. Why bother building experimental quadrotors when you can simply simulate them for example? Given the increasing use of drones to gather news and intelligence this seems like a really good way to cut down wasted flying time testing out new ideas.