• Aucun résultat trouvé

GRASP: A Matlab Toolbox for Graph Signal Processing

N/A
N/A
Protected

Academic year: 2021

Partager "GRASP: A Matlab Toolbox for Graph Signal Processing"

Copied!
3
0
0

Texte intégral

(1)

HAL Id: hal-01424804

https://hal.inria.fr/hal-01424804

Submitted on 14 Mar 2017

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

GRASP: A Matlab Toolbox for Graph Signal Processing

Benjamin Girault, Shrikanth Narayanan, Antonio Ortega, Paulo Gonçalves, Eric Fleury

To cite this version:

Benjamin Girault, Shrikanth Narayanan, Antonio Ortega, Paulo Gonçalves, Eric Fleury. GRASP:

A Matlab Toolbox for Graph Signal Processing. 2017 IEEE International Conference on Acous- tics, Speech and Signal Processing (ICASSP), Mar 2017, New Orleans, United States. pp.6574-6575,

�10.1109/ICASSP.2017.8005300�. �hal-01424804�

(2)

GRASP: A MATLAB TOOLBOX FOR GRAPH SIGNAL PROCESSING

Benjamin Girault

?,,†

, Shrikanth S. Narayanan

, Antonio Ortega

, Paulo Gonçalves

?

, Éric Fleury

?

?

Univ Lyon, Inria, ENS de Lyon, CNRS, UCB Lyon 1, 69342, Lyon, FRANCE

University of Southern California, Los Angeles, CA 90089, USA

† Corresponding author.

ABSTRACT

The GraSP toolbox aims at processing and visualizing graphs and graphs signal with ease. In the demo, we show those ca- pabilities using several examples from the literature and from our own experiments.

Index Terms— graph signal processing.

1. THE GRASP TOOLBOX

The emerging field of graph signal processing aims at study- ing signals on (possibly) irregular discrete supporting do- mains. Whereas classical signal processing relies on well founded mathematical properties of Euclidean spaces, we here rely on the algebraic properties of graphs and the deriva- tion of a graph Fourier transform and harmonic analysis of graph signals found in the literature [1], where the signal is a function associating a value to each vertex, and edges code relations between those values. The goal of GraSP, for Graph Signal Processing

1

, is to assemble in a unified framework a series of analysis and visualization tools for graphs and graph signals. Developed for the Matlab environment, a popular choice for the signal processing community, it benefits from its advanced plotting capabilities to yield an efficient and complete tollkit for graphs signal processing. Moreover, the code is well documented, versatile, and easy to understand and contribute to.

1.1. Graph and Plotting

Several functions generate known graph structures, from the very simple cycle graph and grid graphs (underlying Eu- clidean domain), to the Barabási-Albert and Watts-Strogatz graphs (useful for simulation of social networks without communities). Some are weighted such as the graph of Fig. 1 (Gaussian kernel of the Euclidean distance). Importing and exporting graph structures using CSV files is also available

This work was supported in part by NSF under grants CCF-1410009, CCF-1527874, CCF-1029373, and by Labex Milyon.

This toolbox has been developed by B. Girault during his Ph.D. at École Normale Supérieure de Lyon.

1The toolbox is a free software (GPL-compatible license) available at http://grasp.gforge.inria.fr.

−0.25 0.05 0.35

Fig. 1: A graph and a low pass graph signal depicted using Matlab (left) and the LATEX package (right).

and allows interacting with other systems. Graphs are stored in a Matlab structure holding all pertinent data to perform efficiently graph signal processing.

The centerpiece of the toolbox is the function grasp_

show_graph plotting a graph and a graph signal using a color scale (see Fig. 1). This function has been optimized for later modification of the signal, for example in animations.

Examples of animations are given with a GUI iterating an operator, and through a function generating a GIF file from a sequence of graph signals (this can be for example a time varying graph signal).

1.2. Graph Signal Processing

GraSP is able to compute the matrix of the graph Fourier transform based on the three different approaches found in

Fig. 2: An example of a Matlab GUI taking advantage of the plotting ef- ficiency of the toolbox to visualize the iteration of an operator on a graph signal.

(3)

% B u i l d a g r a p h and a g r a p h s i g n a l g = g r a s p _ p l a n e _ r n d ( 1 0 0 ) ;

g . A = g r a s p _ a d j a c e n c y _ t h r e s h ( g , 0 . 0 1 ) ; g = g r a s p _ e i g e n d e c o m p o s i t i o n ( g ) ; x = g r a s p _ h e a t _ k e r n e l ( g , 2 ) ;

% D i s p l a y t h e m

g r a s p _ s h o w _ g r a p h (

gca

, g ,

’ n o d e _ v a l u e s ’ , x ) ;

% E x p o r t t h e m

g r a s p _ e x p o r t c s v ( g , ’ n o d e s . c s v ’ , ’ e d g e s . c s v ’ ) ; g r a s p _ e x p o r t c s v _ s i g n a l ( g , x , ’ h e a t . c s v ’ ) ;

Fig. 3: Matlab code to generate Fig. 1.

the literature: from the standard Laplacian [1], the normalized Laplacian [1], or the graph shift [2]. Based on this matrix, the user can perform spectrum analysis of signals, spectrum fil- tering, or filter design, to cite only a few applications.

1.3. L

A

TEX Packages

GraSP includes several L

A

TEX packages to directly plot graphs and signals within a L

A

TEX document using only CSV files.

This achieves multiple goals. First of all, it allows to quickly tweak how figures look, without going back and forth be- tween Matlab and L

A

TEX. Second, it allows to generate an- imations in Beamer presentations in a very simple manner, without having to generate each figure of the animation sep- arately. Finally, the packages act as PGF/TikZ macros, ef- fectively allowing then to use the full power of PGF/TikZ to tweak figures with additional graphics. These packages have been used in [3] to generate all but one figures (the exception being a screenshot of Matlab).

2. DEMO

The demonstration shows the capabilities of the toolbox, es- pecially when it comes to plotting. We show how quickly one can start using the toolbox and get results with several show- cases taken from the literature and our experiments. We also show how we build an environment for graph signal process- ing tools for Matlab with GraSP as a foundation and how we hope to build a community from that environment.

Requirements for the demo are very limited. Ideally, it would be shown on screen, or projected, but the demonstra- tion can also be performed on a laptop.

3. COMPARISON WITH THE STATE OF THE ART

This abstract would not be complete without mentioning an- other toolbox released earlier, but developed during similar

\ b e g i n { t i k z p i c t u r e } [ s c a l e = 0 . 2 3 ]

\ f l a t g r a p h [ c o l o r m a p = j e t , s h o w c o l o r m a p = t r u e ,%

m i n v a l u e =

−0.25 , m a x v a l u e = 0 . 3 5 ,%

n o d e s i z e =13 p t ]%

{ n o d e s . c s v }{ e d g e s . c s v }{ h e a t . c s v }

\

end{ t i k z p i c t u r e }

Fig. 4: LATEX code to generate Fig. 1.

time frames: The GSPbox

2

[4]. The goal of both toolbox are identical in the sense that they implement functions to eas- ily perform graph signal processing. GraSP implements two functions to convert the graph structures from one toolbox to the other, making them compatible. We now list several addi- tional functionalities that each toolbox present.

We begin by what GSPbox offers and is missing from GraSP. GSPbox is capable of making clusters within a graph better identifiable (useful when communities are known in ad- vance). It is also better equipped to plot signals and filters in the Fourier domain, with the use of graph frequencies.

On the other hand, our toolbox is capable of using the third party library GraphVIZ to plot a graph whose vertices do not have 2D coordinates. Several algorithms are available to achieve this (see the documentation of GraphVIZ). When it comes to plotting, we can also plot values on edges using colors (as opposed to thickness for GSPbox). Graph plotting has been optimized for animation, thus allowing efficient GUI where signals may change. We also provide a function to plot matrices where entries of the matrix appear according to a col- ormap (instead of black and white for the builtin imshow).

Finally, as shown in subsection 1.3, we provide L

A

TEX pack- ages to draw graphs, signals on graphs, and matrices using L

A

TEX.

REFERENCES

[1] David I. Shuman, Sunil K. Narang, Pascal Frossard, An- tonio Ortega, and Pierre Vandergheynst, “The Emerging Field of Signal Processing on Graphs: Extending High- Dimensional Data Analysis to Networks and Other Irreg- ular Domains.,” IEEE Signal Processing Magazine, vol.

30, no. 3, pp. 83–98, 2013.

[2] Aliaksei Sandryhaila and José M. F. Moura, “Discrete Signal Processing on Graphs,” IEEE Transactions on Signal Processing, vol. 61, no. 7, pp. 1644–1656, 2013.

[3] Benjamin Girault, Signal Processing on Graphs - Contri- butions to an Emerging Field, Phd thesis, Ecole normale supérieure de lyon - ENS LYON, Dec. 2015.

[4] Nathanaël Perraudin, Johan Paratte, David Shuman, Vas- silis Kalofolias, Pierre Vandergheynst, and David K.

Hammond, “GSPBOX: A toolbox for signal processing on graphs,” Aug. 2014.

2https://lts2.epfl.ch/gsp/.

Références

Documents relatifs

Abstract—For the past few years, the domain of graph signal processing has extended classical Fourier analysis to domains described by graphs.. Most of the results were obtained

First, the partition provides a convenient modelling for the study of theoretical properties of Fourier analysis and allows for new results in graph signal analysis (e.g. noise

Proposition 3 (Optimal policy) (a) In private equilibrium, VC portfolio size and managerial support per firm are too small.. A small capital gains tax on VC profits involves first

Realizing recently that data indexed on irregular domains – such as graphs or manifolds – can be studied through a generalization of Fourier analysis led to the emergence of

Gomashie furnishes an overview of Kanien’keha / Mohawk indigenous language revitalisation efforts in Canada, focusing on community efforts in Quebec and Ontario, even as she

We show here Original Test Images, with Estimation results for γ =.. The examined techniques are the Approximative Sequential Multidimensional Spectral Estimation method,

Le plan adopté dans ce chapitre est le suivant : nous montrerons d’abord que lorsque le faisceau pompant (polarisé circulairement), le champ statique et le champ

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des