[OpenRelief Developer] OpenCV - seeing things to understand the situation more clearly - plus, first code in our GIT repo!
shane at openrelief.org
Sun Mar 18 15:49:37 GMT 2012
As Dan is currently in the air (UK > New Zealand), I thought it might be interesting and enlightening to follow-up on my initial post about OpenCV in our project with some text Dan provided outlining how OpenCV technology can address our problems (smoke, fire, road and people recognition).
== Brief overview of computer vision technologies that can be applied to our problems ==
= Smoke Detection =
Retinal FIlter - Magnocellular temporal filter to show contrast changes due to lighting. Will also show smoke. Smoke would also cause a heat signature that would be accessible with an IR camera. OpenCV module that replicates some functions and behaviours of the human retina. The magnocellular pathways are represented by a series of image buffers that are convoluted with one another. This provides an output image that is sensitive to changes in lighting over the image. It provides a ghostly image that can be subtracted from a normal RGB image, to provide greater normalisation.
= Fire Detection =
HSV components of fire will have a particular histogram quality. Fire will have a particular location within the HSV colourspace. This will provide a mask image that shows up areas that are segments that match the quality of fire. Infrared camera would immediately show heatspots if possible as brightest areas of image.
= People Detection =
Haar detection using standard “people” cascade, using background subtraction where possible. Simple OpenCV functionality, various open-source datasets available, no training required.
= Road Detection =
Graph cut segmentation for road boundary definition. Algorithm takes matches of colour and segments any other regions that match this range. Geometry - Hough lines could be employed to find any obvious straight lines that could be used to form a mask image of potential roads. A fitting method, such as least squares, could be used to align this mask with a map of the area. Perfect application for the Chamfer method. Same technique but use histogram back projection to create a given mask of terrain types such as roads.
On Mar 19, 2012, at 12:00 AM, Shane Coughlan wrote:
> Dear all
> As you probably gathered by now, one important part of OpenRelief are the transport systems. They will provide a way to carry different modules to gather information, and will also provide various disaster relief solutions on their own. For example, our first transport system is a UAV (drone). This drone can help map a disaster situation visually, and using advanced recognition software it can do things like tell you where people, fires and roads are. That sort of thing gets very important after a large quake or tsunami.
> Dan Bell - our OpenCV ninja - is working on the visual technology for the drones.
> The OpenCV repository for OpenRelief is now up:
> This was quite important because our first code arrived. It is a way to see smoke and is illustrated in this movie:
> We have a long way to go and there are a lot of avenues we can explore. For example, here is Dan demoing a simple web-server that can process the visual data, and which could be used offloading some computational tasks from the drone's own computer:
> Our priority moving forward is to have the following four services in place (or at least in good proof-of-concept) for the June launch:
> - Smoke recognition
> - Fire recognition
> - Road recognition
> - People recognition
> That would allow not only an impressive launch demo, but also useful features right out of the box with the first model. That's exactly what we need to build momentum and to get these solutions out into the world helping people as soon as possible.
More information about the Developer