Society of Robots - Robot Forum

Software => Software => Topic started by: lemontree on August 14, 2009, 07:22:44 AM

Title: Compressive Sensing
Post by: lemontree on August 14, 2009, 07:22:44 AM
Compressive Sensing is a pretty dramatic new development in Digital Signal Processing that is having a big impact even beyond that field.
It's very useful for neural nets and things like that. Anyway you can think of it as a way of compressing readings from a sensor with a very low computational burden ( a simple microcontroller could compress full video images for example) and then reconstructing the full data later on a PC.
It uses relatively simple ideas of random projection and sparseness. It is a very hot topic of research at the moment. Unfortunately that means most/all the papers about it are complex to the point of being unreadable.
However I have very simple FreeBASIC code for you here:
http://code.google.com/p/lemontree/
Look in the moving average compressive sensing file.
You can easily translate it into your preferred programming language and you too can do Compressive Sensing at Home.
Sean O'Connor
Title: Re: Compressive Sensing
Post by: lemontree on August 14, 2009, 08:57:29 AM
I just found this article in American Scientist magazine about compressive sensing:
http://www.americanscientist.org/issues/pub/2009/4/the-best-bits (http://www.americanscientist.org/issues/pub/2009/4/the-best-bits)
Title: Re: Compressive Sensing
Post by: Admin on August 18, 2009, 01:14:56 PM
Appears to be on-the-fly data compression, where assumptions are made before the whole file is known. Its like applying jpeg or mp3 as the data is collected from the source . . .

The advantage is reduced processor and memory requirements, at the expense of lower accuracy. For microcontrollers, accuracy is the lower priority.
Title: Re: Compressive Sensing
Post by: lemontree on August 24, 2009, 12:45:36 AM
That would be about right. Conceptually it is simple enough, just at them moment there are no simple tutorials or code libraries available to help the average person understand it.  It is actually more powerful than it's name suggests.  It can fuse data from multiple low resolution cameras into one high resolution image.  It is being used in passive radar where the target is illuminated by multiple incidental transmitters such as tv and radio stations again to fuse the data. It can remove text from video images perfectly.
It's a new technology that seems to be practical enough that it will come into common use.
If you really want to get into the technical details then there is a web-page here with oh so many details:
http://nuit-blanche.blogspot.com/ (http://nuit-blanche.blogspot.com/)