Upload
vuongxuyen
View
221
Download
2
Embed Size (px)
Citation preview
Sumário
1 Rapid graph Layout Using Space-Filling Curves
2 Content Based Graph Visualization of Audio Data for MusicLibrary Navigation
3 Geometry-Based Edge Clustering for Graph Visualization
4 Interactive Level of Detail Rendering of Large Graphs
5 Edge Compression Techniques for Visualization of DenseDirected Graphs
6 Conclusões
2 / 76
Considerações Iniciais
Neste trabalho, será utilizada a abordagem de leitura einterpretação de artigos descrita em:
Laramee, R.S. �How to Read a Visualization Research Paper: Extracting the
Essentials�. IEEE Computer Graphics and Applications 31, no 3 (2011): 78�82.
doi:10.1109/MCG.2011.44.
1 Conceito;
2 Implementação;
3 Tipos de dados;
4 Trabalho relacionado;
3 / 76
Rapid Graph Layout Using Space-Filling Curves
Muelder, C., e Kwan-Liu Ma. �Rapid Graph Layout Using Space FillingCurves�. IEEE Transactions on Visualization and Computer Graphics 14, no 6(2008): 1301�1308. doi:10.1109/TVCG.2008.158.
5 / 76
ConceitoDesenho de Grafos
Mostra padrões em bases de dados, por exemplo:
Visualização de documentosTexto;Música;
Visualização de redes sociaisOntologia FOAF (Friend of a Friend).
6 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
http://bayen.eecs.berkeley.edu/bayen/?q=webfm_send/162
Baseados em força (Iterativo - minimiza função de energia);Abordagens multi-escala (Desenha aproximações do grafo);
Álgebra linear;Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
Baseados em força
(Iterativo - minimiza função de energia);
Abordagens multi-escala (Desenha aproximações do grafo);
Álgebra linear;
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;Baseados em força (Iterativo - minimiza função de energia);
http:
//www.eulerdiagrams.com/tutorial/
AutomatedDiagramDrawing.html
Abordagens multi-escala (Desenha aproximações do grafo);Álgebra linear;
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
Baseados em força (Iterativo - minimiza função de energia);
Abordagens multi-escala
(Desenha aproximações do grafo);
Álgebra linear;
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;Baseados em força (Iterativo - minimiza função de energia);Abordagens multi-escala (Desenha aproximações do grafo);
Harel, David, and Yehuda Koren. "A fast multi-scale method for drawing largegraphs."Graph drawing. Springer Berlin Heidelberg, 2001.
Álgebra linear;Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
Baseados em força (Iterativo - minimiza função de energia);
Abordagens multi-escala (Desenha aproximações do grafo);
Álgebra linear;
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;Baseados em força (Iterativo - minimiza função de energia);Abordagens multi-escala (Desenha aproximações do grafo);Álgebra linear;
Algebraic Multigrid Computation of Eigenvectors;High Dimensional Embedding.
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
Baseados em força (Iterativo - minimiza função de energia);
Abordagens multi-escala (Desenha aproximações do grafo);
Álgebra linear;
Agrupamento Hierárquico
(Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
Baseados em força (Iterativo - minimiza função de energia);
Abordagens multi-escala (Desenha aproximações do grafo);
Álgebra linear;
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoAbordagens anteriores
Informação geográ�ca;
Baseados em força (Iterativo - minimiza função de energia);
Abordagens multi-escala (Desenha aproximações do grafo);
Álgebra linear;
Agrupamento Hierárquico (Treemap layout).
7 / 76
ConceitoRapid Graph Layout Using Space Filling Curves
Gera um layout para o grafo, baseado numa curva depreenchimento de espaço.
8 / 76
ConceitoRapid Graph Layout Using Space Filling Curves
Curva de Hilbert
https://www.fractalus.com/kerry/tutorials/hilbert/
hilbert-tutorial.html
9 / 76
Implementação
Algoritmo:
1 Aplicar um algoritmo de agrupamento hierárquico no grafo.
2 Percorrer a hierarquia em profundidade (DFS).
3 Posicionar os nós na curva de acordo com o percurso DFS.
10 / 76
ImplementaçãoClustering Hierárquico
Algoritmo "Fast Modularity"para agrupamento.Clauset, Aaron, Mark EJ Newman, and Cristopher Moore. "Finding community
structure in very large networks."Physical review E 70.6 (2004): 066111.
Cada nó do grafo é um grupo;Agrupa dois grupos de modo a maximizar a função:
Q =1
2|V |∑i ,j
(ai ,j −
didj2|V |
)δ(i , j)
ai ,j é 1 se Vi e Vj são conectados por uma aresta e 0 caso contrário.δ(i , j) é 1 se Vi e Vj estão no mesmo grupo e 0 caso contrário.
11 / 76
ImplementaçãoPosicionar os vértices na Space-�lling Curve
Duas abordagens são possíveis:1 Posicionar os nós a uma distância 1
|V | (sem separação);2 Posicionar os nós a uma distância
si ,i+1 = |depthi+1 − depthi |k (com separação).
13 / 76
Implementação - Curva de Hilbert (Wikipedia) I
http://en.wikipedia.org/wiki/Hilbert_curve
15 / 76
Implementação - Rapid Graph Layout III
Grafo "barabasi.game"+ "watts.strogatz.game", curva de Ordem 5
24 / 76
Principal Trabalho Relacionado
Muelder, C., e Kwan-Liu Ma. �A Treemap Based Method for Rapid Layout ofLarge Graphs�. In Visualization Symposium, 2008. Paci�cVIS '08. IEEEPaci�c, 231�238, 2008. doi:10.1109/PACIFICVIS.2008.4475481.
25 / 76
Geometry-Based Edge Clustering for Graph Visualization
Muelder, C., T. Provan, e Kwan-Liu Ma. �Content Based Graph Visualizationof Audio Data for Music Library Navigation�. In 2010 IEEE InternationalSymposium on Multimedia (ISM), 129�136, 2010. doi:10.1109/ISM.2010.27.
28 / 76
Conceito
Este artigo é uma aplicação do trabalho "Rapid Graph LayoutUsing Space Filling Curves"para visualização de bases de música.
Os autores utilizaram o extrator de características de áudio MFCCpara veri�car a similaridade entre músicas e representar estasimilaridade por meio de grafos. Três mecanismos de exploraçãoforam desenvolvidos: Seleção de caixa + grafo detalhado, Seleçãode vizinhos e Seleção de Keyword.
29 / 76
Implementação
MFCCs podem ser computados como:
v jMFCC (n) =K∑
k ′=1
log(|X ′(k ′, n)|) · cos(j ·(k ′ − 1
2
)π
K
)
31 / 76
Implementação
Para cada música:
1 Calcular a média e o desvio padrão de cada um dos 12 MFCCs;
2 Calcular a matriz de distâncias da base de músicas com umadistância euclidiana;
3 Criar um grafo totalmente conectado, com pesos = distâncias;
4 Apresentar o grafo com Space-�lling Curve Layout.
32 / 76
Principal Trabalho Relacionado
Muelder, C., e Kwan-Liu Ma. �Rapid Graph Layout Using SpaceFilling Curves�. IEEE Transactions on Visualization and ComputerGraphics 14, no 6 (2008): 1301�1308.doi:10.1109/TVCG.2008.158.
34 / 76
Geometry-Based Edge Clustering for Graph Visualization
Cui, Weiwei, Hong Zhou, Huamin Qu, Pak Chung Wong, e Xiaoming Li.�Geometry-Based Edge Clustering for Graph Visualization�. IEEE Transactionson Visualization and Computer Graphics 14, no 6 (2008): 1277�1284.doi:10.1109/TVCG.2008.135.
36 / 76
Conceito
O artigo propõe um framework para realizar um agrupamento dearestas em grafos gerais. A ideia do algoritmo é selecionar pontosde controle baseados em uma malha de controle que re�ita padrõesnos grafos.Para um grafo com seus vértices já posicionados,
1 Uma malha de controle é de�nida (usuário ou algoritmoautomático);
2 Calcula-se as intersecções entre a malha e os vértices;
3 De�ne-se alguns pontos de controle como sendo os centróidesdos pontos de intersecção;
4 Altera-se as arestas para que passem pelos pontos de controle.
37 / 76
ImplementaçãoGeração de malha de controle
A abordagem para a geração da malha de controle é a seguinte:Manual ou automaticamente, identi�car grupos de arestas comdireções e tamanhos similares. Gerar malhas de triângulos queatravessem os clusters.
39 / 76
ImplementaçãoGeração de malha de controle Automática
1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;
2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);
3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;
4 Agrupa-se regiões com direções principais semelhantes;
5 Criar arestas perpendiculares à direção principal dos clusters;
6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.
41 / 76
ImplementaçãoGeração de malha de controle Automática
1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;
2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);
3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;
4 Agrupa-se regiões com direções principais semelhantes;
5 Criar arestas perpendiculares à direção principal dos clusters;
6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.
41 / 76
ImplementaçãoGeração de malha de controle Automática
1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;
2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);
3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;
4 Agrupa-se regiões com direções principais semelhantes;
5 Criar arestas perpendiculares à direção principal dos clusters;
6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.
41 / 76
ImplementaçãoGeração de malha de controle Automática
1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;
2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);
3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;
4 Agrupa-se regiões com direções principais semelhantes;
5 Criar arestas perpendiculares à direção principal dos clusters;
6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.
41 / 76
ImplementaçãoGeração de malha de controle Automática
1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;
2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);
3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;
4 Agrupa-se regiões com direções principais semelhantes;
5 Criar arestas perpendiculares à direção principal dos clusters;
6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.
41 / 76
ImplementaçãoGeração de malha de controle Automática
1 Calcular uma bounding box para os vértices do grafo e geraruma grade regular;
2 Para cada grade, veri�car o número de nós e o número/direçãode arestas passando por ele (gera-se um vetor decaracterísticas);
3 Usar um Kernel Density Estimator para veri�car se há umagrupamento forte no vetor de características) e, se houver,calcula-se a direção principal da célula;
4 Agrupa-se regiões com direções principais semelhantes;
5 Criar arestas perpendiculares à direção principal dos clusters;
6 Utiliza-se a Constrained Poisson Triangulation para gerar amalha.
41 / 76
ImplementaçãoMalhas em LOD
Pode-se simpli�car as malhas com operações de "edge collapse".
http://www0.cs.ucl.ac.uk/research/equator/papers/Documents2002/
Jean-Daniel_Nahmias/Massive_Model_Rendering.htm
43 / 76
ImplementaçãoAgrupamento de arestas por pontos de controle
1 Aplica-se o algoritmo de agrupamento K-means para calcularum ou mais pontos de controle em cada aresta.
2 Altera-se as arestas (agora poli-linhas) para que passem pelospontos de controle, e não pelos pontos de intersecção.
3 Como as poli-linhas podem ter muitos zigue-zagues, pode-seaplicar um algoritmo de suavização local de arestas no layoutresultante (minimização de uma função de custo e criaçãomais pontos de controle).
44 / 76
ImplementaçãoAgrupamento de arestas por pontos de controle
1 Aplica-se o algoritmo de agrupamento K-means para calcularum ou mais pontos de controle em cada aresta.
2 Altera-se as arestas (agora poli-linhas) para que passem pelospontos de controle, e não pelos pontos de intersecção.
3 Como as poli-linhas podem ter muitos zigue-zagues, pode-seaplicar um algoritmo de suavização local de arestas no layoutresultante (minimização de uma função de custo e criaçãomais pontos de controle).
44 / 76
ImplementaçãoAgrupamento de arestas por pontos de controle
1 Aplica-se o algoritmo de agrupamento K-means para calcularum ou mais pontos de controle em cada aresta.
2 Altera-se as arestas (agora poli-linhas) para que passem pelospontos de controle, e não pelos pontos de intersecção.
3 Como as poli-linhas podem ter muitos zigue-zagues, pode-seaplicar um algoritmo de suavização local de arestas no layoutresultante (minimização de uma função de custo e criaçãomais pontos de controle).
44 / 76
Principal trabalho relacionado
Qu, Huamin, Hong Zhou, and Yingcai Wu. "Controllable andprogressive edge clustering for large networks."Graph Drawing.Springer Berlin Heidelberg, 2007.
Utiliza a triangulação de Delaunay para gerar a malha de controle.Possui problemas com zigue-zagues para grafos muito grandes.
45 / 76
Interactive Level of Detail Rendering of Large Graphs
Zinsmaier, M., U. Brandes, O. Deussen, e H. Strobelt. �InteractiveLevel-of-Detail Rendering of Large Graphs�. IEEE Transactions on Visualizationand Computer Graphics 18, no 12 (2012): 2486�2495.doi:10.1109/TVCG.2012.238.
Trabalho: KDE + Agregação de arestas
48 / 76
Kernel Density Estimate
fh(x) =1nh
n∑i=1
K (x − xi
h)
=1n
n∑i=1
Kh(x − xi )
h = 1, 06 · δ · n−15
(h é a largura de banda)
53 / 76
Kernel Density Estimate
fh(x) =1nh
n∑i=1
K (x − xi
h) =
1n
n∑i=1
Kh(x − xi )
h = 1, 06 · δ · n−15
(h é a largura de banda)
53 / 76
Kernel Density Estimate
fh(x) =1nh
n∑i=1
K (x − xi
h) =
1n
n∑i=1
Kh(x − xi )
h = 1, 06 · δ · n−15
(h é a largura de banda)
53 / 76
Abordagem + simples
OpenGL Geometry Shading;
Cada nó é um ponto, mapeado em um retângulo texturizado.
Desvantagem
Ine�ciente para grandes conjuntos de nós;
55 / 76
Abordagem + simples
OpenGL Geometry Shading;
Cada nó é um ponto, mapeado em um retângulo texturizado.
Desvantagem
Ine�ciente para grandes conjuntos de nós;
55 / 76
Abordagem proposta KDE
Accumulation Bu�er;
OpenGL Geometry Shading;
Cada píxel é um ponto, mapeado em um retângulo texturizado.
57 / 76
Agregação de arestas
Algoritmo
Procura-se pelos pontos de máximos locais de densidade;
Move-se os pontos de início e �m para o ponto de máximolocal mais próximo.
59 / 76
Principal trabalho Relacionado
Lampe, O.D., e H. Hauser. �Interactive visualization of streaming data withKernel Density Estimation�. In 2011 IEEE Paci�c Visualization Symposium(Paci�cVis), 171�178, 2011. doi:10.1109/PACIFICVIS.2011.5742387.
Utiliza-se KDE para representar scatterplots super-povoados
60 / 76
Edge Compression Techniques for Visualization of DenseDirected Graphs
Dwyer, Tim, Nathalie Henry Riche, Kim Marriott, e Christopher Mears. �EdgeCompression Techniques for Visualization of Dense Directed Graphs�. IEEETransactions on Visualization and Computer Graphics 19, no 12 (2013):2596�2605. doi:10.1109/TVCG.2013.151.
64 / 76
Implementação I
Matching Neighbours
Agrupa-se u e v se:
N+(u) = N+(v)
N−(u) = N−(v)
Modular Decomposition
M é uma decomposição modular se ∀u, v ∈ M:
N+(u)/M = N+(v)/M
N−(u)/M = N−(v)/M
66 / 76
Implementação II
Power graph
Relaxamento da condição do Modular Decomposition: permite quearestas cruzem os limites de módulos.
67 / 76
Conclusões
Diversas abordagens foram desenvolvidas para o desenho degrafos;
Algumas são mais escaláveis que outras;
Trade-o�: escalabilidade / perda de informações;
71 / 76
A visualização de grafos é uma área que ainda não estácompletamente resolvida, principalmente para Big Data:
"KDE"+ "focus + context"para visualização de grafos;
"KDE"+ "edge compression";
72 / 76
Referências I
Weiwei Cui, Hong Zhou, Huamin Qu, Pak Chung Wong, andXiaoming Li.Geometry-based edge clustering for graph visualization.IEEE Transactions on Visualization and Computer Graphics,14(6):1277�1284, 2008.
Tim Dwyer, Nathalie Henry Riche, Kim Marriott, andChristopher Mears.Edge compression techniques for visualization of dense directedgraphs.IEEE Transactions on Visualization and Computer Graphics,19(12):2596�2605, 2013.
73 / 76
Referências II
T. Dwyer, K. Marriott, F. Schreiber, P. Stuckey,M. Woodward, and M. Wybrow.Exploration of networks using overview+detail withconstraint-based cooperative layout.IEEE Transactions on Visualization and Computer Graphics,14(6):1293�1300, 2008.
O.D. Lampe and H. Hauser.Interactive visualization of streaming data with kernel densityestimation.In 2011 IEEE Paci�c Visualization Symposium (Paci�cVis),pages 171�178, 2011.
74 / 76
Referências III
R.S. Laramee.How to read a visualization research paper: Extracting theessentials.IEEE Computer Graphics and Applications, 31(3):78�82, 2011.
C. Muelder, T. Provan, and Kwan-Liu Ma.Content based graph visualization of audio data for musiclibrary navigation.In 2010 IEEE International Symposium on Multimedia (ISM),pages 129�136, 2010.
C. Muelder and Kwan-Liu Ma.Rapid graph layout using space �lling curves.IEEE Transactions on Visualization and Computer Graphics,14(6):1301�1308, 2008.
75 / 76
Referências IV
C. Muelder and Kwan-Liu Ma.A treemap based method for rapid layout of large graphs.In Visualization Symposium, 2008. Paci�cVIS '08. IEEE
Paci�c, pages 231�238, 2008.
M. Zinsmaier, U. Brandes, O. Deussen, and H. Strobelt.Interactive level-of-detail rendering of large graphs.IEEE Transactions on Visualization and Computer Graphics,18(12):2486�2495, 2012.
76 / 76