Sunday, February 02, 2014

Sunday Morning Insight: A Compressive Sensing Approach to Quanta Image Sensor (QIS)

- This post has been updated, see discussion with Phil Schniter after the bonus section -

In a LinkedIn thread, it was mentioned that problems with 0/1 signals might be a niche market. With the improvements due to Moore's law, those markets might become less niche. Three cases in point, 
In short, we are beginning to see hardware that stops recording after the first photon. In some of these instances, it is not a traditional 1-bit compressive sensing approach or if it is, it is implemented at the hardware level. To get an understanding of how compressive sensing could help those new technologies, I am going to focus on the QIS technology currently developed by Eric Fossum ( Saturday Morning Video: CMOS Image Sensors: Tech Transfer from Saturn to your Cell Phone) and featured in some of his presentations. The following images are slides excerpts from:


(for those who don't know Eric Fossum is the man behind the use of CMOS in all cameras). I am adding comment underneath each slide:


The figure on the right tells me that each frame is sparse.

The reason, each frame is sparse compared to the current CMOS technology is because you need 4220 jots (QIS pixel) to be equivalent to current CMOS pixel.

The back end description shows the possibility of performing some sorts of processing and multiplexing which I see as a way to perform some sort of convolution i.e. matrix vector multiply.

what is interesting here is that each jot frame could be assembled in some nonlinear fashion to produce a new type of image (instead of just summing them)

One can definitely imagine new kinds of imaging based on  that technology. More on that later.

One bit is the beginning and end of this technology, for now.


Ah, the fun challenge of getting 5Tb/s off the chip! As one can see compressive sensing is just one way of performing some sorts of compression. The reason it was mentioned for QIS is because jot frames are sparse, made up of 0s and 1s and the fact that the compression is simply a matrix vector multiply (i.e. it is a non adaptive process and it is lossless). Let us also note that the 1s are not the result of a quantization operation. Quite simply, in order to operate a compression of this dataset, the following operation y = A x must be undertaken with x is vectorized binary bit plane (jot frame, bernouilli vector), A is a matrix and y is the resulting compressed version of x. Compressive sensing comes into play with the choice of the right A and because of the sparse nature of x.

getting into the detail of things


This is the most interesting figure. For starters, let's get a correspondence between terms used in QIS and those used in CS:
  • M1 in QIS is k (sparsity) in CS, 
  • M in QIS is N (embedding dimension) in CS, it is the size of vector x defined earlier
  • Bit density D in QIS is sparsity rate k/N in CS, and finally
  • m is number of measurements needed to have lossless compression with a CS approach, it is the size of vector y defined earlier.

Note: ideally m is (much) less than M (QIS) or N in (CS). 

What does compressive sensing bring to QIS ?
  • Depending on how A is chosen, using a compressive sensing approach, m could be order of O(M1log(M/M1)) ( resp. O(klog(N/k)) ) all the way down to M1 + 1 (resp. k + 1), see below for further information on how to do this.
  • By taking one measurement and summing all the bits of the jot frame/bit plane, one knows directly the sparsity of the scene. This is important as one can taylor the size of A for each bit plane/jot frame.

Let us consider that A is a Bernouilli Gaussian matrix (I suggested Bernouilli in 2011 -see above_ but I was wrong, the signal x is bernouilli while the measurement matrix has to have zero-mean ) [ Thanks Phil Schniter for the correction ]

Matrix A is a Bernouilli Gaussian matrix



x axis is m/N (CS) or m/M (QIS)
y axis is k/m (CS) or M1/m (QIS)
A is of size m x N
In order to estimate the size of A, one needs to evaluate m given a specific bit density D (k/m*m/N) and M1 (k sparsity) from the figure above. m can be found at the intersection between the hyperbole D and the curve showing the phase diagram shown above (we are only interested in the phase diagram curve of EM-GM-AMP-MOS, below that curve reconstruction is always possible, above it, reconstruction of x from x is not possible). For instance if D = 0.1, then k/m*m/N = 0.1, or about m/N =0.25 and k/m=0.37. It means that the possibility of recovering the exact x (jot frame/bit plane) for 1000 (N) jots means that one needs at least m = 250 rows for A and that one can only recover up to M1 or k = 92 bits. If one wants to recover vector with a higher number of bits; one then needs to increase the number of measurements. 

One should note that if D = 0.5 or above, the phase diagram (  phase diagram curve of EM-GM-AMP-MOS ) shows that k = m is the limit. In other words, the number of measurements is the same as the sparsity of the jot field. In effect the problem is also symmetric, when the zeros take the place of the ones, sparsity number climbs above 50% and the solution being sought is the reverse of a solution below 50%. Let us note that the solver EM-GM-AMP-MOS respect that symmetry and can solve this problem sparsity above 50%. This is noteworthy as the solver can do this without being told anything about the signal beforehand. Let us note that other solvers cannot do this.

If D is less than 0.5 can we do better than the computation shown above. Can you have a number of measurements close to the sparsity level of the jot field ? The answer is yes but one need to craft A in a specific manner.

Matrix A is a Hadamard Seeded Matrix
This type of very interesting result come from a specific construction for A. More recently in Compressed sensing and Approximate Message Passing with spatially-coupled Fourier and Hadamard matrices by Jean Barbier, Florent Krzakala, Christophe Schülke ( implementation is here and the attendant code http://aspics.krzakala.org/ ), that construction was extended to a Hadamard style measurement matrix with -1/0/1 coefficients. Let us also note that the matrix is also sparse as shown in the figure below:





In that new construction, one should expect m = k + 1, a result similar to the previous Bernouilli construction but for D less than 0.5.

In other words, a compression scheme for QIS could use either a Bernouilli (first scenario) or a seeded matrix architecture (second scenario) that yields:
  • a lossless compression scheme
  • a linear compression scheme
  • a very efficient reconstruction scheme as both reconstruction solvers used above are AMP style; meaning that they require few matrix-vector multiply to reconstruct x from  y. 
Both solvers are readily available from their respective authors as listed above.

Bonus:

  • Let us note the other interesting aspect of this compression scheme is that increasing the frame rate does not translate into a change in data handling architecture. If the framerate is increased by 10 or 100 fold, the sparsity is the jot frame is also on average divided by 10 or a 100, yet the number of compressed measured remain the same. The only showstopper is not the bandwidth but the ability to perform the matrix-vector multiply. 
  • One could also contemplate working with compressed measurement directly to perform detection work.
-Update 1-
Following the initial writing of this blog entry, I had a back and forth discussion with Phil Schniter on the subject. Here is what he had to say on competing ways to compress the information coming from the bit planes especially for high throughput data (5Tb/s):

"...I think a traditional (non-CS) coding scheme would work better at those rates. One big advantage, as I see it, is that they keep all of the arithmetic *binary*, i.e., they work in a Galois field instead of the Real (or Complex) field. Note that in CS, even if you build a Hadamard matrix and have a Bernoulli signal vector, you are working with integers and not bits on the acquisition side, and with real numbers on the sparse reconstruction side. Bits are much simpler!

Something else to consider is whether you want to place the computational burden on the coder or the decoder. As we know, in CS, the burden is on the decoder whereas in traditional coding the burden is on the encoder. I would guess that there are traditional source-coding schemes that trade coding efficiency for encoding complexity (which might be advantageous for QIS), but really this is outside my expertise.
Another question is whether some sort of group-testing would be appropriate, but perhaps the bit-plane data is not sparse enough...."

Clearly, if we have low exposure (low light or high frame rate), then bit density (D) or sparsity could be made lower. One would have to see how some of the group testing solution fare.



Other interesting slides include:

the QIS curves looks like old photography curves.

interesting comparison with multi-bit systems.

Sparse field of rain drops, it looks like a more advanced means of knowing the weather than the 2bit Aggie Weather station.



Saturday, February 01, 2014

CAI: Cable And Igor's Adventures in Matrix Factorization: A Tornado Through a Parking Lot

I was reminded of this when I watched Yi Ma's presentation at MIA2014 but it somehow felt that this is still not widely known. Trusting the underlying structure of the signal can go a long way for separating events. This is why with Cable, we played with Tianyi Zhou and Dacheng Tao's GoDec solver to produce imagery decomposition in several youtube videos and featured in CAI: Cable And Igor's Adventures in Matrix Factorization. The very important fact to retain from these experiments is that they require no knowledge of image processing. Here is an example I dug up from our archives, a tornado hitting a parking lot. Here is the initial video:




and its attendant Robust PCA decomposition.The video is decomposed in three components, a low rank one (ideally a background image in the case of rank 1) on top left portion of the screen, a sparse and noisy component (both in the bottom row).


Solvers that do similar decomposition can be found in the Advanced Matrix Factorization Page

Other videos can be found in:


Also of interest the LinkedIn Advanced Matrix Factorization Page

The Graceful Rendez-Vous Pitch Maneuvers

Following the Columbia accident, all orbiters flying after STS-107 performed the Rendez-Vous Pitch Maneuver, a back flip used to image and analyze the leading edge of the orbiter and the tiles of the Thermal Protection System by astronauts on board the International Space Station and eventually engineers on the ground.





Join the CompressiveSensing subreddit or the Google+ Community and post there !
Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.

Remembering Columbia STS-107

February 1st was also a Saturday, eleven years ago.



See also: 13:52:05 GMT First Clear Indication of Off-Nominal Aero Increments

Friday, January 31, 2014

From Direct Imaging to Machine Learning … and more, in 15 minutes

I have been to these Non Conventional Optical Imaging meetings at least three times and every time enjoyed them very much. This time, I decided to send a proposal in for a presentation at the next meeting. We'll see how that goes. If you are interested in that talk, let me know (and yes I think I lied about the 15 minutes but it's just between the two of us)
From Direct Imaging to Machine Learning … and more, in 15 minutes
De l'imagerie directe au Machine Learning … et plus, en 15 minutes 

Igor Carron 

We will present a panorama of sensing techniques from direct imaging all the way to Machine Learning. In particular, we will show that the traditional barriers between these fields are becoming porous and that in order to conceive new sensors, the use of the structure of the objects being observed as an a priori, is becoming central. Traditionally, this task used to be the domain of signal processing experts at the end of the data acquisition chain. For the past ten years, the use of a priori knowledge, such as sparsity, low-rankedness or more generally the manifold in which the signal “lives”, has enabled the development of new mathematical approaches and attendant numerical solution techniques [3,4]. In fact, the appearance of these tools has provided the applied and sometimes the not-so-applied mathematicians or the signal processing experts a direct say in the conception of new detectors. We will see in particular how the appearance of sharp phase transitions linked to how much information can be transmitted by the sensor, now provides new rules on the conception and calibration of conventional and non-conventional imaging sensors. This expository talk will use, in part, material from [1,2] and examples featured in [5]. 

Nous présenterons un panorama des différentes techniques qui permettent de capter l'information partant du capteur conventionnel en imagerie directe jusqu'aux techniques de Machine Learning utilisées dans l'apprentissage de données de très grandes dimensions. Nous verrons que les barrières deviennent de plus en plus poreuses entre ces domaines et que pour la conception de nouveaux capteurs, l'imagerie doit pouvoir utiliser la structure de l'objet étudié. Traditionnellement, cette connaissance a priori de l'objet observé a souvent été réservée au traitement du signal en fin de la chaine d'acquisition. Cette connaissance à priori de la structure du signal, parcimonie, rang faible ou l’appartenance a une sous variété, a permis depuis 10 ans (au mois près) un développement très rapide de nouveaux outils mathématiques et numériques [3,4]. L'irruption de ces outils permet maintenant au mathématicien et à l'ingénieur du traitement du signal d'être les initiateurs ou des parties prenantes de la conception de nouveaux détecteurs. Nous verrons en particulier comment l'apparition de transitions de phase abruptes, liées à l'information transmise en imagerie, donnent des règles claires sur la conception et la calibration de nouveaux imageurs conventionnels et non conventionnels. Cet exposé reprendra en partie des éléments et références mentionnés dans [1,2] et des exemples pris d'articles mentionnés dans [5]. 

Références : 

[1] Sunday Morning Insight: A Quick Panorama of Sensing from Direct Imaging to Machine Learning, http://nuit-blanche.blogspot.com/2013/06/sunday-morning-sunday-quick-panorama-of.html
[3] Advanced Matrix Factorization Jungle Page, https://sites.google.com/site/igorcarron2/matrixfactorizations
[4] The Big Picture in Compressive Sensing, https://sites.google.com/site/igorcarron2/cs


Join the CompressiveSensing subreddit or the Google+ Community and post there !
Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.

Nuit Blanche in Review (January 2014)

Nuit Blanche has already seen 2,900th published entries so far... it's a marathon. This past month we've had quite a few implementations since last December:
We also added a few references in the following pages while looking back at the Popular Posts of 2013:
We had the first public data release of a nanopore like process ( Quantum Biosystems Provides Raw Data Access to New Sequencing Technology ) as well as other very interesting focused posts:
Paris Machine Learning Meetup:
Meetings:
Jobs:

Credit: ESA/NASA, SOHO Data

Thursday, January 30, 2014

Wednesday, January 29, 2014

Additions to the Advanced Matrix Factorization Jungle Page



I am slow but I eventually took the hint from Francis Bach that many of the advanced methods used nowadays essentially boil down to some matrix Factorization or decomposition. Everybody who has done some linear algebra has heard about QR factorization and the famous Lapack subroutines that are powering most of the science and engineering workflows. However, in recent years, we have seen a slew of factorizations that added constraints on the factors of these known factorizations. 

I was pleasantly surprised to see recently that the Advanced Matrix Factorization Jungle had about 50 G+ "likes" something that puts it in between the Big Picture in Compressive Sensing (8 G+) and Nuit Blanche (118 G+). This got me thinking about how to extend a little bit the listing.

First, I have added compressive sensing as a subset of MMV
  • Multiple Measurement Vector (MMV) Y = A X with unknown X and rows of X are sparse.
    • Compressive Sensing, Y = A X with unknown X and rows of X are sparse, X is one column.
Also after watching the presentation of Rene Vidal [1] at the last First French-German Mathematical Image Analysis Conference, it struck me that I had not added his and others subspace clustering work. I also did not include the recent Random Kitchen Sinks approach, so I added these two sections:
  • Kernel Factorizations 
  • Subspace Clustering
Indeed for the Kernel Factorization, we are talking no less than the Random Kitchen Sinks, i.e. implementation of the separation of variables in kernel learning taking place in machine learning which also include all the Fast Mutipole methods (FMM) used in physics for the past twenty years. Let us note that the FMM changed our world substantially, let's bet that the same concept of variable separation does the same in the next few years in the Machine Learning area. In particular, if you step back a little, you'll notice that there is currently no FMM or Kernel factorization that puts an additional constraint on the factors of the decomposition. Think about it, does the FMM or the Random Kitchen sinks changes as result of knowing that the distributions of unknown are sparse, group-sparse and so on....And then there is the recent case that matrix factorization and its bounds might provide us with a clear insight on how to build nonlinear representation of the identity (neural networks) [2] :-) 

Here is what I added (subject to heavy modification),

Kernel Factorizations, Positive Kernel K(x,x') = G(f(x)*f'(x'))
Phase Transitions:

  • None so far.
Implementations:


Subspace Clustering
Phase Transitions:

  • None so far.

Implementations:
  • Sparse Q_ic_i , X_ic_i = 0, 1^Tc_i = 1,  C is unknown, Y is known; Sparse Manifold Clustering and Embedding by Ehsan Elhamifar, Rene Vidal, Sparse Manifold Clustering and Embedding (SMCE) is an algorithm based on sparse representation theory for clustering and dimensionality reduction of data lying in a union of nonlinear manifolds.



A Compressed Sensing Framework for Magnetic Resonance Fingerprinting



Mike Davies just sent me the following:

Hi Igor
....
Given you enthusiasm for the recent "magnetic resonance fingerprinting" paper, may I also take this opportunity to let you know of some new work that I have done with Gilles Puy, Yves Wiaux and Pierre Vandergheynst. Specifically we have considered the problem from a rigorous CS perspective. This gave us insight on the requirements of the excitation sequence, how to sub-sample k-space and a provably good reconstruction algorithm - Bloch response recovery via Iterated Projection (BLIP), a variant on IHT based on work of Thomas Blumensath. Simulations show significant performance gains over the already good MRF scheme. The relevant articles can be found at http://arxiv.org/abs/1312.2465 and http://arxiv.org/abs/1312.2457 . Enjoy!
All the best
Mike
Thanks Mike ! I love this statement :

The procedure works through a form of noise averaging. Although each individual image is very noisy, the noise is greatly reduced when the voxel sequences are projected onto the Bloch response manifold. However, this ignores the main tenet of compressed sensing - aliasing is not noise but interference and under the right circumstances it can be completely removed. We explore this idea next.
I also love the open questions at the very end. Here are the preprints: A Compressed Sensing Framework for Magnetic Resonance Fingerprinting by Mike Davies, Gilles Puy, Pierre Vandergheynst, Yves Wiaux

Inspired by the recently proposed Magnetic Resonance Fingerprinting (MRF) technique we develop a principled compressed sensing framework for quantitative MRI. The three key components are: a random pulse excitation sequence following the MRF technique; a random EPI subsampling strategy and an iterative projection algorithm that imposes consistency with the Bloch equations. We show that, as long as the excitation sequence possesses an appropriate form of persistent excitation, we are able to achieve accurate recovery the proton density, T1, T2 and off-resonance maps simultaneously from a limited number of samples.
and Compressed Quantitative MRI: Bloch Response Recovery through Iterated Projection by Mike Davies, Gilles Puy, Pierre Vandergheynst, Yves Wiaux
Inspired by the recently proposed Magnetic Resonance Fingerprinting technique, we develop a principled compressed sensing framework for quantitative MRI. The three key components are: a random pulse excitation sequence following the MRF technique; a random EPI subsampling strategy and an iterative projection algorithm that imposes consistency with the Bloch equations. We show that, as long as the excitation sequence possesses an appropriate form of persistent excitation, we are able to achieve accurate recovery of the proton density, T1, T2 and off-resonance maps simultaneously from a limited number of samples.


Join the CompressiveSensing subreddit or the Google+ Community and post there !
Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.

Tuesday, January 28, 2014

Quantum Biosystems Provides Raw Data Access to New Sequencing Technology



Ever since writing this entry on Predicting the Future: The Steamrollers, I have been on the lookout for any type of improvements on next generation sequencing techniques such as the one using nanopores. If you look at the nanopore tag, you'll notice a dearth of data coming from actual hardware sensing. Similarly, a recent question on one of the linkedin group on NGS yielded very little in terms of actual data that people could try their machine learning algorithms on. In fact it pretty looked hopeless. Things changed yesterday: At PMWC, Quantum Biosystems decided to start a process of openly share data with the rest of the scientific community. Here is the press release: Quantum Biosystems demonstrates First Reads using Quantum Single Molecule Sequencing. From the press release (and its connection to the steamrollers)

....The platform allows the direct sequencing of single stranded DNA and RNA without labelling or modification, on silicon devices which can be produced on the same production lines as consumer grade integrated circuits. As the system uses no proteins or other reagents it is potentially ultra-low cost, enabling consumer level genome sequencing.


But more importantly, the data is at: http://www.quantumbiosystems.com/data/, with the note:
Raw quantum sequencing data are freely available for scientific and research use, allowing you, for example, to develop your own algorithms and software for quantum sequencing. We will add new data sets from time to time, updated as needed.
Hit the Data Download button, put your name/company/university/blog and you are good to go.

Here is the Data Usage policy that you need to be Ok with, as soon as you fill this in, you can get the data:

Data Usage Policy (January 26, 2014)
All data in this site belong to Quantum Biosystems. These pre-publication data are preliminary and may contain errors. The goal of our policy is that early release should enable the progress of science.
The data is published under a Creative Commons licence 
Attribution-NonCommercial 3.0 (CC-BY-NC 3.0)
http://creativecommons.org/licenses/by-nc/3.0/us/legalcode
Creative Commons license CC-BY-NC 3.0:
"A license whereby licensees may copy, distribute, display and perform the work and make derivative works based on it only for non-commercial purposes, only if they give the author or licensor the credits in the manner specified."
By accessing these data, you agree not to use for commercial use without any prior written consent of Quantum Biosystems.
2014 Quantum Biosystems

Disclaimer: at the time of this writing, I hold no stake in Quantum Biosystems

Join the CompressiveSensing subreddit or the Google+ Community and post there !

Printfriendly