My blogs reporting quantitative financial analysis, artificial intelligence for stock investment & trading, and latest progress in signal processing and machine learning

Friday, October 31, 2014

Two Papers are Ranked the No.1 and No.2 Most Cited Articles published in 2013 and 2014 in IEEE T-BME

Just know that my two papers are ranked the No.1 and No.2 Most Cited Articles Published in 2013 and 2014 in the journal IEEE Transactions on Biomedical Engineering. The journal link is here: http://tbme.embs.org/research-highlights/most-cited-articles/

The two papers are:

Compressed Sensing for Energy-Efficient Wireless Telemonitoring of Noninvasive Fetal ECG via Block Sparse Bayesian Learning
Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao
IEEE Trans. on Biomedical Engineering, vol. 60, no. 2, pp. 300-309, 2013
[Remark: This paper used BSBL to reconstruct raw fetal ECG. It showed that BSBL can directly recover non-sparse correlated signals without using any dictionary matrix. It may be the first solid evidence showing that exploiting correlation is an effective way to reconstruct non-sparse signals in any domains.]


Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardware
Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao
IEEE Trans. on Biomedical Engineering, vol. 60, no. 1, pp. 221-224, 2013[This paper applied BSBL to wireless telemonitoring of EEG, showing DCT coefficients can be recovered using block-structure model. Some explanations on why DCT dictionary matrix is effective for raw EEG are further given in my ST-SBL paper.]


Thursday, October 23, 2014

What the Internet of Things Will Look Like in 2025 (Infographic)

There is a post in inc.com, showing the technical development and future of smart-home. It's very interesting and closely related to my research:

 http://www.inc.com/graham-winfrey/what-the-internet-of-things-will-look-like-in-2025.html?utm_content=buffer6d5c3

(Picture from the post in inc.com)


Wednesday, May 29, 2013

Use Block Sparse Bayesian Learning (BSBL) for Practical Problems

In LinkedIn, Phil, Leslie, and me have a productive discussion on the use of BSBL and EM-GM-AMP in practical problems. The whole discussions can be seen at here. For convenience, I copied my words on the use of BSBL and related issues below.

Below are several practical examples where intra-block correlation exists and BSBL can be used. In fact, there are many examples in practice.

1. Localization of distributed sources (not point-sources). In EEG/MEG source localization, the sources are generally not just a point. They have areas, so they are called distributed sources. When modeling the problem using a sparse linear regression model: y=Ax + v, the coefficient vector x is expected to contain several nonzero blocks, each nonzero block corresponding to a distributed source. Entries in the same nonzero block are highly correlated to each other in amplitude, since they are all associated with the same source.

(Remark: There are a number of work assuming the sources are point-sources as well. Thus the problem becomes a traditional DOA problem. However, in this case, BSBL can be applied as well, which I will explain later.)


2. In compressed sensing of ECG, an ECG signal has clear block structure (generally all the blocks are nonzero, but some blocks are very close to zero), and in each “block” the entries are highly correlated in amplitude. One can see the Fig.1 in my T-BME paper ( http://dsp.ucsd.edu/~zhilin/papers/Zhang_TBME2012.pdf ) to get such feeling.

(Remark: Almost all the physiological signals have correlation in the time domain, although some of them have not clear block-structure. However, BSBL can also be used for such signals. I will explain later).


3. One should note that the mathematical model used in compressed sensing is a linear regression model, and such a model has numerous applications in almost every field. For many applications, the regression coefficients have block structure. In each block, the entries are associated with a same physical “force” or a “factor”, and thus correlated in their amplitude.


In fact, as long as a signal has block structure, then it is highly possible that intra-block correlation also exists. Even if the intra-block correlation= 0, it is not harmful to run BSBL, because, as you can see from my T-SP paper, it also has excellent performance (and outperforms all the known block-structure-based algorithms) when intra-block correlation = 0. You do not need to test whether the correlation exists. You just need to run. That’s it. 



 Now I want to emphasize that BSBL can be used in the general-sparse problems (i.e., no structure in the coefficient vector x). This is due to two factors.

1.One factor is that truly sparse signals do not exist in most practical problems; in fact, they are non-sparse.

As I have mentioned in our personal communication, and also mentioned by Phil and many other people, the truly sparse signal does not exist in most practical problems. Those “sparse” signals are compressive; most of their entries in the time domain (or the coefficients in some transformed domains) are close to zero but strictly nonzero. In other words, they are non-sparse ! Using general-sparse recovery algorithms (such as Lasso, CoSaMP, OMP, FOCUSS, the basic SBL) can recover those entries with large amplitude. But they always have challenges in recovery of the entries with small amplitude. So, the quality of the recovered data has a “glass ceilling”, which is not very high.

However, BSBL has a unique property, i.e., recovering non-sparse signals (or signals with non-sparse representation coefficients) very well. As for the recovery of non-sparse signals, I do have a number of work showing this. Please refer to my T-BME papers:
[1] Compressed Sensing for Energy-Efficient Wireless Telemonitoring of Noninvasive Fetal ECG via Block Sparse Bayesian Learning
[2] Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardware

In fact, we have achieved much better results than [1-2], which will be release soon.


2.The second factor is that BSBL is a kind of multiscale regression algorithms (although very naïve).


In DOA or similar applications (e.g. earth-quake detection, brain source localization, or some communication problems), the matrix A (remind the model: y=Ax + v) is highly coherent (i.e., columns of A are highly correlated to each other). In this case, even if x is a very sparse vector, this problem is very difficult, especially in noisy situations. Using the basic SBL can get better performance than most existing algorithms. But we found that using BSBL can get much better performance. This is mainly because that BSBL, using the block partition, divides the whole search space (i.e. the number of whole locations in x) into a number of sub search spaces (i.e. the number of candidate nonzero blocks). This makes the localization problems become easier. Since x is sparse, generally the nonzero blocks are only a few and zero blocks are many. During iteration, the zero blocks are deleted in BSBL gradually. And the problem becomes easier and easier with iteration. I can dynamically change the block partition in BSBL according to some criterion. However, experience showed that it is not necessary to do this. BSBL can eventually find the correct locations of nonzero entries in x (although the rest entries in a nonzero block have very small amplitude).

The Fig.4 in my ICASSP 2012 paper ( http://sccn.ucsd.edu/~zhang/Zhang_ICASSP2012.pdf ) may give some feeling on what I said “the rest entries in a nonzero block have very small amplitude”.



Last, but not least, I want to say that a comparison between BSBL with other algorithms is helpful to everybody. I will be very happy to see the result. But I suggest one performs the comparison in some practical problems, since the readers generally come from various application fields with questions similar like “which algorithms is the best one for my problems”. Putting the comparison in specific practical problems is more informative and really helpful. Computer simulations have several problems, such as the suitable performance index, the consistency of the simulation model with the underlying models in practical problems, what’s the criterion to choose the algorithms (e.g. for an audio compressed sensing problem, does one think it is a general-sparse recovery problem, or a block-sparse recovery problem, or a non-sparse recovery problem?). Due to these issues, the conclusions may be not solid, and even more or less misleading.

MSE is generally not a good performance index. For example, for image quality, MSE is not recommended (what’s the suitable performance index for images is still a hot topic in the image processing field). In my experience on compressed sensing of EEG, I even found that MSE always misleading when I compared BSBL with my STSBL algorithms. This is why in my two T-BME papers (and other papers coming out), I used a task-oriented performance measure criterion. That is, after recovered the data,

(1) performing task-required signal processing or pattern recognition on the recovered data, obtaining result A;
(2) performing the same task-required signal processing or pattern recognition on the original data (or the recovered data by another algorithm), obtaining result B;
(3) comparing result A with result B, which tell me which algorithm has better data recovery ability. 



PS:
Many people asked me whether my BSBL codes can be used for complex-valued problems. My answer is YES. But you need to transform your complex-valued problem into a real-valued problem, as I showed here: https://sites.google.com/site/researchbyzhang/publication3/BSBL4complex.pdf?attredirects=0
This transform is very simple. You just need no more than 1 minute to do this.

I will update my BSBL codes in the near future such that no need to do the transform.





Friday, April 12, 2013

Compressed Sensing of EEG Using Wavelet Dictionary Matrices

Since my paper "Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardware (IEEE T-BME, vol.60, no.1, 2013)" has been published, lots of people asked me how to do the compressed sensing of EEG using wavelets. Their problem was that Matlab has no function to generate the DWT basis matrix (i.e. the matrix D in my paper). One has to generate such matrices using other wavelet toolboxes. Now I updated my codes, where I gave a guide to generate such dictionary matrices using the wavelab (http://www-stat.stanford.edu/~wavelab/) , and there is a demo to show how to use a DWT basis matrix as the dictionary matrix for compressed sensing of EEG (demo_useDWT.m). The codes ('Compressed Sensing of EEG_v2.zip) can be downloaded at here

BTW: Please keep in mind that EEG is generally not sparse except to some special situations.





Wednesday, December 12, 2012

I successfully defended my Ph.D. dissertation today

I have two good reasons to remember today. One is that I successfully defended my Ph.D. dissertation today. The second is that today is 12/12/12 -- you won't have a day with this triple pattern again in this century :)


 (The EBU-1 building of UCSD; the little house on the top is the `falling star')



Wednesday, December 5, 2012

Welcome to attend my dissertation defense on Dec.12

Finally, my dissertation defense is scheduled at 9:15am - 11:15am on Dec.12 (Wednesday) in EBU1 4309.

Welcome to attend!

Below is the title and the abstract of my presentation.

Sparse Signal Recovery Exploiting Spatiotemporal Correlation


Sparse signal recovery algorithms have significant impact on many fields, including signal and image processing, information theory, statistics, data sampling and compression, and neuroimaging. The core of sparse signal recovery algorithms is to find a solution to an underdetermined inverse system of equations, where the solution is expected to be sparse or approximately sparse. Motivated by practical problems, numerous algorithms have been proposed. However, most algorithms ignore the correlation among nonzero entries of a solution, which is often encountered in a practical problem. Thus, it is unclear how this correlation affects an algorithm's performance and whether the correlation is harmful or beneficial.

This work aims to design algorithms which can exploit a variety of correlation structures in solutions and reveal the impact of these correlation structures on algorithms' recovery performance.

To achieve this, a block sparse Bayesian learning (BSBL) framework is proposed. Based on this framework, a number of sparse Bayesian learning (SBL) algorithms are derived to exploit intra-block correlation in a canonical block sparse model, temporal correlation in a canonical multiple measurement vector model, spatiotemporal correlation in a spatiotemporal sparse model, and local temporal correlation in a canonical time-varying sparse model. Several optimization approaches are employed in the algorithm development, including the expectation-maximization method, the bound-optimization method, and the fixed-point method. Experimental results show that these algorithms significantly outperform existing algorithms.

With these algorithms, we find that different correlation structures affect the quality of estimated solutions to different degrees. However, if these correlation structures are present and exploited, algorithms' performance can be largely improved. Inspired by this, we connect these algorithms to Group-Lasso type algorithms and iterative reweighted $\ell_1$ and $\ell_2$ algorithms, and suggest strategies to modify them to exploit the correlation structures for better performance.

The derived SBL algorithms have been used with considerable success in various challenging applications such as wireless telemonitoring of raw physiological signals and prediction of cognition levels of patients from their neuroimaging measures. In the former application, the derived SBL algorithms are the only algorithms so far that achieve satisfactory results. This is because raw physiological signals are neither sparse in the time domain nor sparse in any transformed domains, while the derived SBL algorithms can maintain robust performance for these signals. In the latter application, the derived SBL algorithms achieved the highest prediction accuracy on common datasets, compared to published results. This is because the BSBL framework provides flexibility to exploit both correlation structures and nonlinear relationship between response variables and predictor variables in regression models.







Sunday, November 25, 2012

An new BSBL algorithm has been derived

A fast BSBL algorithm has been derived, and the work has been submitted to IEEE Signal Processing Letters.

Below is the paper:

Fast Marginalized Block SBL Algorithm
by Benyuan Liu, Zhilin Zhang, Hongqi Fan, Zaiqi Lu, Qiang Fu

The preprint can be downloaded at: http://arxiv.org/abs/1211.4909

Here is the abstract:
The performance of sparse signal recovery can be improved if both sparsity and correlation structure of signals can be exploited. One typical correlation structure is intra-block correlation in block sparse signals. To exploit this structure, a framework, called block sparse Bayesian learning (BSBL) framework, has been proposed recently. Algorithms derived from this framework showed promising performance but their speed is not very fast, which limits their applications. This work derives an efficient algorithm from this framework, using a  marginalized likelihood maximization method. Thus it can exploit block sparsity and intra-block correlation of signals. Compared to existing BSBL algorithms, it has close recovery performance to them, but has much faster speed. Therefore, it is more suitable for recovering large scale datasets.


Scientists See Promise in Deep-Learning Programs

The New York Times just has a report on  deep-learning. Some of the applications mentioned in the report  really refreshed my knowledge on it. Enjoy!

http://www.nytimes.com/2012/11/24/science/scientists-see-advances-in-deep-learning-a-part-of-artificial-intelligence.html?_r=0



Friday, November 16, 2012

Block Sparse Bayesian Learning (BSBL) has been accepted by IEEE Trans. on Signal Processing

Our work on Block Sparse Bayesian Learning (BSBL) has been accepted by IEEE Trans. on Signal Processing last week.

Here is the paper information:

Zhilin Zhang, Bhaskar. D. Rao, Extension of SBL Algorithms for theRecovery of Block Sparse Signals with Intra-Block Correlation, to appear in IEEE Trans. on Signal Processing

The preprint can be downloaded at: http://arxiv.org/abs/1201.0862
The codes can be downloaded at: https://sites.google.com/site/researchbyzhang/bsbl

Here is the abstract:

We examine the recovery of block sparse signals and extend the framework in two important directions; one by exploiting signals' intra-block correlation and the other by generalizing signals' block structure. We propose two families of algorithms based on the framework of block sparse Bayesian learning (BSBL). One family, directly derived from the BSBL framework, requires to know the block structure. Another family, derived from an expanded BSBL framework, is based on a weaker assumption on the block structure, and can be used in the case when the block structure is completely unknown. Using these algorithms we show that exploiting intra-block correlation is very helpful in improving recovery performance. These algorithms also shed light on how to modify existing algorithms or design new ones to exploit such correlation to improve performance.

The following are related application work:

Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, Compressed Sensing for Energy-Efficient Wireless Telemonitoring of Non-Invasive Fetal ECG via Block Sparse Bayesian Learning, IEEE Trans. Biomedical Engineering, 2012, accepted

Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardware, IEEE Trans. Biomedical Engineering, vol.59, no.12, 2012 



 

Tuesday, October 23, 2012

Our work on compressed sensing of fetal ECG has been accepted by IEEE T-BME

Our work on compressed sensing of fetal ECG has been accepted by IEEE Trans. Biomedical Engineering. The details are as follows:

Compressed Sensing for Energy-Efficient Wireless Telemonitoring of Non-Invasive Fetal ECG via Block Sparse Bayesian Learning,  
by Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, accepted by IEEE Trans. Biomedical Engineering.   
Available at:  http://arxiv.org/abs/1205.1287, Codes can be downloaded at: http://dsp.ucsd.edu/~zhilin/BSBL.html, or  https://sites.google.com/site/researchbyzhang/bsbl


Note that there are two groups of works on compressed sensing of ECG. One is the ECG compression (just like video compression, image compression, etc). Most works actually belong to this group. They generally use some MIT-BIH datasets, which are very clean (noise is removed).

Another group is compressed sensing of ECG for energy-efficient wireless telemonitoring. There are only few works in this group. Our work belongs to this group. In this group the ECG data is always contaminated by noise and artifacts ('signal noise'). This is because the goal of telemonitoring is to allow people to walk and even exercise freely, and thus strong noise and artifacts caused by muscle and electrode movement are inevitable. Furthermore, artifacts caused by battery power level also cannot be ignored. Consequently, the raw ECG recordings are not sparse in the time domain and also not sparse in the transformed domains (e.g. the wavelet domain, the DCT domain). However, the strict constraint on energy consumption (and design issues, etc) of telemonitoring systems does not encourage filtering or other preprocessing before compression. Or, put in another way, if energy consumption and design issues are not problems, CS may have no advantages over traditional methods. Thus, CS algorithms have to recover non-sparse signals for this application. It turns out that the problem is very challenging.

Our work not only solves this challenging problem, but also has some interesting mathematical meanings:

By linear algebra, there are infinite solutions to the underdetermined problem y=Ax. When the true solution x0 is sparse, using CS algorithms it is possible to find it. But when the true solution x0 is non-sparse, finding it is more challenging and new constraints/assumptions are called for. This work shows that when exploiting the unknown block structure and the intra-block correlation of x0, it is possible to find a solution x_est which is very close to the true solution x0. These findings raise new and interesting possibilities for signal compression as well as theoretical questions in the subject of sparse and non-sparse signal recovery from a small number of measurements y.


Below is the paper's Abstract:
Fetal ECG (FECG) telemonitoring is an important branch in telemedicine. The design of a telemonitoring system via a wireless body-area network with low energy consumption for ambulatory use is highly desirable. As an emerging technique, compressed sensing (CS) shows great promise in compressing/reconstructing data with low energy consumption. However, due to some specific characteristics of raw FECG recordings such as non-sparsity and strong noise contamination, current CS algorithms generally fail in this application.

This work proposes to use the block sparse Bayesian learning (BSBL) framework to compress/reconstruct non-sparse raw FECG recordings. Experimental results show that the framework can reconstruct the raw recordings with high quality. Especially, the reconstruction does not destroy the interdependence relation among the multichannel recordings. This ensures that the independent component analysis decomposition of the reconstructed recordings has high fidelity. Furthermore, the framework allows the use of a sparse binary sensing matrix with much fewer nonzero entries to compress recordings. Particularly, each column of the matrix can contain only two nonzero entries. This shows the framework, compared to other algorithms such as current CS algorithms and wavelet algorithms, can greatly reduce code execution in CPU in the data compression stage.



PS: When I wrote this paper, I was in my wife's delivery room. My wife was lying on the bed, resting and waiting for her midwife. I was sitting beside her, writing the paper in my laptop (and trying to finish the main framework before the miracle moment). Now the baby is 8-month.





Tuesday, October 2, 2012

Yes, let's Move From Sparsity to Structured Sparsity

Igor wrote a cool post in Nuit Blanche yesterday: Pushing the Boundaries in Compressive Sensing by proposing the following questions (quoted below):
  • Given that compressive sensing is based on an argument of sparsity 
  • Given that sparsity is all around us because most data seem to be sparse or compressible in a wavelet basis
  • Given that wavelet decomposition not only shows not just simple compressibility but structured compressibility of most datasets
  • Given that we now have some results showing better compressive sensing with a structured sparsity argument
Isn't it time we stopped talking about RIP ? the Donoho-Tanner phase transition ? L_1 recovery ?

My answer is "YES"! There are a lot of practical scenarios where signals (or the regression coefficients) have rich structure. Merely exploiting sparsity without exploiting structure is far from enough! Even in some cases where structure information is not obvious and generally traditional L1 recovery algorithms are used, we can still find a way to use structured-sparsity-based algorithms.

In the following I'll give an example on the recovery of compressed audio signals, which is a typical application. I've seen a number of work which used traditional L1 algorithms to do the job. Let's see how a block-structure-exploited algorithm can improve the result.

Below is an audio signal with the length of 81920. 
In the compression stage, it was evenly divided into T segments x_i (i=1,2,...,T). We considered five cases, i.e., T choosing 160, 80, 40, 20, and 10. Accordingly, the segments had the length of N = 512, 1024, 2048, 4096, and 8192.  Each segment, x_i, was compressed into y_i. The sensing matrix A was a random Gaussian matrix with the dimension N/2 by N.

In the recovery stage, we first recovered the DCT coefficients of each segment, and then recovered the original segment. This is a tradition method used by most L1 algorithms for this task, since audio signals are believed to be more sparse than in the time domain.

We used six algorithms which do not consider any structure information. They were: Smooth L0 (SL0), EM-BG-AMP, SPGL-1, BCS, OMP, and SP. Their recovery performance was measured by total speed and the normalized MSE (calculated in dB). The results are given in the following table:

Table: Performance of all algorithms measured in terms of normalized MSE in dB (and speed in second).
From the Table, we can see if we want to obtain good quality, we need to increase the segment length. However, the cost is that the recovery time is significantly increased. For example, to achieve the quality of MSE = -21dB, SL0 needed to recover segments of the length 8192, and the total time was 2725 seconds!

Now let's perform the BSBL-BO algorithm, a sparse Bayesian learning algorithm exploiting block structure and intra-block correlation,  to do the same task. As I have said in many places, BSBL-BO needs users to define a block partition, and the block partition is not needed to be consistent with the true block structure of signals. So, we defined the block partition as (in Matlab language): [1:16:N]. The complete command for recovering the i-th segment was:
Result = BSBL_BO(A,  y_i, [1:16:N], 0, 'prune_gamma',-1, 'max_iters',15);

The recovery result for the case N=512 is given in the above Table. Clearly, by exploiting the structure information, BSBL-BO achieved -23.3 dB but only cost 82 seconds! The quality was 2 dB higher than that of SL0 but cost only 3% of the time cost by SL0.

What this result tells us? 

First, exploiting both structure and sparsity is very important; merely exploiting sparsity is outdated in many practical applications.

Second, conclusions on which algorithms are fast or slow are weakened if not mentioning which practical task is finished by these algorithms. Based on specific tasks, the answer could be varied case by case. For example, in the above experiment SL0 was very faster than BSBL-BO given the same segment length N. However, if the goal is to achieve a good quality, it took much longer time than BSBL-BO (even could not achieve the same quality as BSBL-BO, no matter how large the N was).

Note, I was not trying to compare BSBL-BO with the other algorithms. The comparison was not meaningful, since BSBL-BO exploits structure while the other algorithms do not. The point here is, even for some traditional applications where L1 algorithms were often used, exploiting structure information can provide you a better result!

PS: Recently we have an invited short review paper on SBL algorithms exploiting intra- and inter-vector correlation,
Bhaskar D. Rao, Zhilin Zhang, Yuzhe Jin, Sparse Signal Recovery in the Presence of Intra-Vector and Inter-Vector Correlation, SPCOM 2012
which can be accessed at: http://arxiv.org/pdf/1205.4471v1

Besides, several months ago we have another review paper on SBL algorithms exploiting structure, titled "From Sparsity to Structured Sparsity: Bayesian Perspective", in the Chinese journal Signal Processing. Those who can read Chinese can access the paper from here.






Sunday, September 23, 2012

Our paper on compressed sensing of EEG has been accepted

Our paper on compressed sensing of EEG for wireless telemonitoring has been accepted by IEEE Trans. on Biomedical Engineering.

Here is the summary of this paper:
(1) EEG is not sparse in the time domain and not in transformed domains (e.g. the DCT domain, the wavelet domain).

(2) The BSBL framework is used to recover the non-sparse signals.

(3) The recovery quality is confirmed by independent component analysis decomposition, which is a regular processing procedure in EEG analysis.

(4) Neutral tone on the comparison of compressed sensing vs. wavelet compression is made.

This paper is our another paper on non-sparse signal recovery. It is also the first step of our big project on brain-computer interface (BCI). Although it is just accepted by the journal, the knowledge has been outdated for our lab, since I have a number of more powerful algorithm, which will be submitted soon.

Anyway, here is the paper:

Zhilin Zhang, Tzyy-Ping Jung, Scott Makeig, Bhaskar D. Rao, Compressed Sensing of EEG for Wireless Telemonitoring with Low Energy Consumption and Inexpensive Hardwareto appear in IEEE Trans. on Biomedical Engineering

Abstract:
Telemonitoring of electroencephalogram (EEG) through wireless body-area networks is an evolving direction in personalized medicine. Among various constraints in designing such a system, three important constraints are energy consumption, data compression, and device cost. Conventional data compression methodologies, although effective in data compression, consumes significant energy and cannot reduce device cost. Compressed sensing (CS), as an emerging data compression methodology, is promising in catering to these constraints. However, EEG is non-sparse in the time domain and also non-sparse in transformed domains (such as the wavelet domain). Therefore, it is extremely difficult for current CS algorithms to recover EEG with the quality that satisfies the requirements of clinical diagnosis and engineering applications. Recently, Block Sparse Bayesian Learning (BSBL) was proposed as a new method to the CS problem. This study introduces the technique to the telemonitoring of EEG. Experimental results show that its recovery quality is better than state-of-the-art CS algorithms, and sufficient for practical use. These results suggest that BSBL is very promising for telemonitoring of EEG and other non-sparse physiological signals.






Thursday, August 9, 2012

A reply to the post "More intra-block correlation and sparse sensing matrices" in Nuit Blanche


 Last week there was a post, titled "More intra-block correlation and sparse sensing matrices", in Nuit Blanche. The post displayed Phil's email, which introduced his group's several nice papers on approximate message passing (AMP) algorithms. There were also some comments on sparse Bayesian learning (SBL). But to avoid some possible confusions to people who are not familiar to SBL, I sent an email to Igor, the manager of Nuit Blanche. And that email has been posted in Nuit Blanche yesterday.  Many thanks, Igor!

Since my blog mainly focuses on SBL, I re-posted my email below.


Dear Igor,

I read your post "More intra-block correlation and sparse sensing matrices" which presents Phil's email. After introduced his several nice papers, in the end of the email Phil said "we get performance that meets or exceeds that of Bayesian or variational techniques, but with orders-of-magnitude reduction in complexity". I believe Phil was saying that AMP algorithms meet or exceed the performance of Bayesian or variational techniques in the scenarios/applications given in their papers.

There are several scenarios where SBL has obvious advantages over other algorithms. One situation is when the sensing matrix is coherent (i.e., columns are largely correlated).  This situation is often encountered in source localization and tracking (e.g. direction-of-arrival estimation, brain source localization, radar detection), biomedical data analysis (e.g. neuroimaging data pattern recognition), and computer vision (e.g. face/expression recognition). SBL algorithms generally have much better performance than other algorithms in these applications.  David Wipf also has a NIPS 2011 paper, titled : "Sparse Estimation with Structured Dictionaries", which mathematically proved why SBL is better than Lasso in this situation (Note that the so-called dictionary matrix in this paper is indeed the sensing matrix in a standard CS experiment. I hope readers won't be confused by these names).

There is a source localization demo using a sensing matrix from real-world data, which can be downloaded at:
http://dsp.ucsd.edu/~zhilin/papers/Localization.zip. In this demo I compared three MMV algorithms developed in our lab. Anyone can use his/her favorite algorithm in this demo to see the performance.  

When signals are structured but non-sparse or less-sparse, SBL algorithms also have  good performance, as shown in my wireless telemonitoring paper, "Low Energy Wireless Body-Area Networks for Fetal ECG Telemonitoring viathe Framework of Block Sparse Bayesian Learning".  Also, my BSBL paper, titled " Extension of SBL Algorithms for the Recovery of Block SparseSignals with Intra-Block Correlation", shows that in a noise-free situation, after exploiting block structure and intra-block correlation, BSBL algorithms can exactly recover sparse signals with K non-zero elements from only K measurements with high success rates (>0.99).  Thus, SBL is helpful in the applications when signals are not very sparse.

SBL algorithms are often criticized for slow speed. But I think the situation will change. One reason is that SBL algorithms can be transformed into iterative reweighted algorithms. For example, in the above BSBL paper, BSBL-L1 can be implemented by iteratively running group Lasso 3-4 times or less. Since every year there are a number of more efficient Lasso-type algorithms proposed, it is expected that BSBL-L1 can be faster and faster. Another reason is there are several methods to speed up SBL algorithms, such as bounded-optimization technique used in my BSBL-BO algorithm, and the fixed-point method, which was used in my CVPR 2012 paper, titled "Sparse Bayesian Multi-Task Learning for PredictingCognitive Outcomes from Neuroimaging Measures in Alzheimer's Disease". And we also have several much faster algorithms and will be submitted soon.

In the end, I want to say it is hard to say AMP outperforms SBL, or SBL outperforms AMP. AMP and SBL, as two benchmarks, have advantages in different applications/scenarios.   We all enjoy seeing both AMP and SBL are evolving for better.


Best,
Zhilin

Thursday, May 31, 2012

More About the BSBL Codes and Demo Files for Telemonitoring of Physiological Signals

I got several emails asking some questions on the BSBL codes, especially the demo files for telemonitoring of fetal ECG in the package. I listed these questions and provided my answers:

1. Why provided the sensing matrix Phi in the software package?
     The Phi.mat in the software package stores a binary sparse matrix, which is used as the sensing matrix. But I have to emphasize that it is not an optimal sensing matrix. I just randomly generated it and then stored it and used it for all my experiments. This can help people exactly reproduce my results (When the dataset is given, different sensing matrices can result in slightly different performance).  As you know, designing an optimal sparse sensing matrix is an important direction in compressed sensing.

2. Can the demo files for telemonitoring of fetal ECG be directly used in a telemonitoring system?
     The demo files for telemonitoring of fetal ECG are just a mimicking of telemonitoring. In a real system, each channel recording should be processed by a BSBL-BO algorithm (parallel computation), and may need to use online ICA algorithms or at least on-line batch algorithms. The ICA algorithm used in the demo files is an off-line algorithm. You can use the (Extended-) Infomax algorithm, an online algorithm which can be accessed from the EEGLab.

3. Have you made  any real telemonitoring systems using the algorithm?
    The second author (Prof. Tzyy-Ping Jung) has led a team to build real-time telemonitoring systems for EEG, and some products have being sold in Taiwan.
    But these systems have not used compressed sensing technique. However, we are now considering to incorporate some BSBL algorithm. For your interests, please check the following links to see the videos on these telemonitoring systems for various applications:
      http://sccn.ucsd.edu/~jung/Site/Demos.html
     
4. Can BSBL-BO work well when used in the in-direct recovery way (i.e. first recovering the representation coefficients of the signal in some transformed domain, and then recovering the original signal)?
    Yes, of course. In the DEMO_nonSparse.m I also give an example when BSBL-BO first recovers the DCT coefficients and then recovers the original fetal ECG. The performance is improved in this way. But such method does not work well for all physiological signals. In my experiments on some public EEG and EMG datasets, BSBL-BO using this method may have poorer performance than not using this method. 

5. Speed Improvement
     I am very glad that some people are interested in the BSBL-BO and want to try in their work. Please note the code is not optimized for speed. I chose a coding style for readability instead of for speed. There are some ways to improve the code:
     (1) Remove many "if-" in the code. The current code considers many simulation scenarios, such as block sparsity model with known partition (identical block size or random block size), with unknown partition, and recovery of non-sparse structured  signals, etc. According to your problem, you can remove those unnecessary parts.
     (2) There is a matrix inverse in each iteration. You can replace the current method by other fast matrix inverse method (check matrix computation textbooks), or consider the fast strategy used in Tipping and Faul (2003).
     (3) The updating of the intra-block correlation value in each iteration is not necessary. In some cases, you can figure out a good value according to a priori information. Also, the updating of noise variance in each iteration is not necessary.
     (4) Although I have said that BSBL-L1 is not suitable for telemonitoring of non-sparse physiological signals in the paper, later I found when replacing the group-Lasso type algorithms in the BSBL-L1 with some specific algorithms, we can get good performance with dramatically accelerated speed.
    Of course, as the author of the algorithm, I am responsible for making the code more efficient. When I have time, I will improve it along these ways. But in the near future I have no time to further improve it (Currently I am now deriving SBL algorithms to solve multi-modal/multi-dataset/longitudinal problems in neuroimaging). If you have improved it, or if you want to improve it, please let me know. I would like to share my ideas with you, and collaboration is welcome.






Wednesday, May 30, 2012

Codes of the BSBL Family and Demos for Telemonitoring of ECG have been updated

I have updated the codes of the BSBL family (including BSBL-EM, BSBL-BO, and EBSBL-BO). Their speed is twice of the old versions. Further, they are not sensitive to the scaling of the practical datasets, compared to the old versions.

The download link is here: http://dsp.ucsd.edu/~zhilin/BSBL_public.zip (Sometimes the link does not work. But you can download it from the bottom of the page: https://sites.google.com/site/researchbyzhang/bsbl)

Furthermore, I added a fold, which contains the demo files to perform the experiment in my post ("http://marchonscience.blogspot.com/2012/05/is-compressed-sensing-really-useful-for_5843.html", including using BSBL-BO to recover the raw recordings, and then using FastICA to do ICA decomposition. If you think there are other algorithms can do the work as BSBL-BO, you can use the demo files to try your favorite algorithms. And I will be very glad if you send your results to me.

I will release the code of BSBL-L1 soon.

Since tomorrow, I will modify the T-MSBL group. I am very sorry that the old version of T-MSBL is slow. There is due to some reasons. I have modified the code, and the speed is at least twice of the old one. In addition, I will release other variants of T-MSBL soon.