Classifying aerial video on the fly

Here’s a pretty cool workflow for classifying video collected from a plane or UAV. What follows is a quick and dirty approach that is designed to give you a first look at what’s on the ground.

Step 1 – Capture frames periodically and then create a mosaic out of those frames.


You can tell a lot about the flight path from these screen shots. Variations in the width of the frames (from left to right) and the amount of space between frames indicate a change in velocity of the aircraft. If the frame gets larger, the aircraft has gained in elevation. The less square a frame is indicates the camera has changed its viewing angle. All of these introduce error and lend to the quick and dirty approach advocated in this blog. Ideally, you’d have consistently sized and spaced squares.

Once you’ve run the tool, it’s a fairly straightforward workflow to classify each image. Usually I would never recommend using raster functions to segment an image because it’s processing intensive and every time you pan/zoom, it’s going to reprocess. You can get artifacts if you zoom in too far. But it works here because these frames are only 8-bit, 3 band images. You can zoom into each frame and get a pretty decent classification. If the images were overlapping, it wouldn’t work out well.

Step 2 – Set up the ISO Cluster Parameters

Step 3 – Segmentation

Step 4 – Classify

raw imagery
Frame capture
Classified frame capture


Parting thoughts:

If you wanted to, you could create training sites and use a more robust classifier, like a Support Vector Machine. ISO Cluster missed the roads that are in the far right of the image, and if that’s what I’m looking for, then I’d have to go back and revisit my strategy. But if I’m interested in vegetation, this is probably good enough.

Leave a Reply

Please Login to comment

Next Article

Welcome to ArcGIS Runtime 100.10

Read this article