A low cost multispectral imaging payload for a UAV

A single camera, multiple filter multispectral imaging system - with no moving parts - that can be flown on a small UAV.

Similar projects worth following
The aim of this project is to produce a sensor package that can be mounted on a small fixed wing UAV and take multi spectral images of a target area. My main focus is on agricultural applications and I would like to have a go at using it to automatically detect areas of land suffering from drought or disease. I also want to try and keep costs to an absolute minimum. Initially I was hoping to use a Raspberry Pi and Camera Module, for ease of prototyping I've actually ended up using a posh little monochromatic camera from Point Grey but I'm still hoping to move back to something cheaper at some point.

The Gallery shows some examples of images which have been processed for both real, and simulated footage from Minecraft (The test footage from Minecraft is here:

I have been doing this as part of my major project at university (it is, for all intents and purposes, my dissertation) which I have now finished but I will be continuing to work on the project.

The system works by separating the imaging sensor into distinct spectral regions, each recording a part of the scene in a different wavelength of light. These regions are arranged so that the boundaries between them are perpendicular to the platform's expected direction of travel. As the system is flown over the scene, features on the ground pass through each region in turn and footage of this is captured for processing. Distinct spectral images for each filter are reconstructed by tracking points as they pass through each filter region and using this information to split apart the raw frames and create large mosaics representing the entire scene as seen in different wavelengths. These are then offset so that they are aligned and then written to disk ready to be stacked into false colour images, or processed using other more sophisticated analysis techniques.

  • 1 × Firefly MV 0.3 MP Mono USB 2.0 A posh monochromatic camera with a convenient window for mounting filters. It doesn't really qualify as low cost so I'll be looking for a replacement. It has been very useful while prototyping though.
  • 1 × Raspberry Pi 2 Model B Handles frame grabbing from the camera, and storage of footage. I plan to do MUCH more with this in the future.
  • 1 × Adafruit Ultimate GPS Breakout Will be used to trigger footage capture in the near future, possibly more further on. Again, there are cheaper options around but it's what I had on hand for prototyping.

  • Dissertation done... but the project continues!

    David05/07/2015 at 21:08 1 comment

    Ok. So as you've gathered, this whole keeping-a-record-on-here-while-I-do-my-dissertation thing hasn't exactly gone to plan... turns out I'm not very good at it. But fear not! the dissertation is over! I have a working camera system and a working(ish... it's rather barebones and there's plenty that can be improved) software system for processing the camera data.

    I'll do a few posts over the next couple of days giving you an idea of how it works and what's still left to do, and I'll get the current source code up so people can have a poke around too. For now I will leave you with a few pictures taken out of my window with the system. Enjoy :)

    Mosaic from the NIR filter:

    near infrared mosaic

    Mosaic from the Green filter (turns out it actually lets a lot of NIR light through too) :

    green (sort of) mosaic

    And a nice false colour image made by combining the two:

    combined mosaic

    Incase you're wondering, this is what the raw frames from the camera look like:

    camera example

  • I'm terrible (sorry), but stuff is happening.

    David03/12/2015 at 23:04 0 comments

    I realise I haven't been updating this as much (at all) as I should so far, I don't have time right now but I thought I'd say that progress is being made, and I <failed commitment> will post a proper update .</failed commitment> (edit: I've had less time than I thought I would, especially seeing as I almost committed the cardinal sin of forgetting mothers day... The update will now be posted soon!)

    Just to show where I'm at, I've added a link to my project on github so you can look at my code. I must be clear, it's not very good code right now! Please do not assume that it's current status is reflective of future readability/quality! So far I've just been hashing stuff out to try and throw a prototype together, one of my jobs this weekend is to do a big refactor so it's no longer embarrassing.

    Other jobs include adding multithreading where appropriate, making some test footage that's representative of what the camera will produce, and getting the system to track all filter regions semi independently. I promise to clarify what all this means in this weekend's post...

    Anyway, I should probably get back to work... bye!

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates