Sensor de compressão através de códigos MATLAB

13

Eu sou novo no tópico de detecção compactada. Eu li alguns artigos sobre R.Baranuik, Y.Eldar, Terence Tao etc. Todos esses documentos fornecem basicamente os detalhes matemáticos por trás dele, ou seja, Sparsity, RIP, minimização de normas L1 etc. No entanto, alguém pode fornecer os códigos MATLAB que conseguem sensoriamento compressivo?

Agradecemos antecipadamente por qualquer ajuda.

USC
fonte
1
Solicitações de código estão fora do tópico aqui.
Pichenettes #

Respostas:

18
  • A maior parte do código é simples do Matlab
  • Cada pasta do pacote consiste em um algoritmo de recuperação de CS baseado em um modelo de sinal específico e um script que testa esse algoritmo de recuperação. Os nomes dos scripts geralmente terminam com '_example.m'
  • Manopt . Possivelmente o que você usa para criar os algoritmos incluídos em outras caixas de ferramentas.

A otimização em variedades é um poderoso paradigma para resolver problemas de otimização não linear.

Esta caixa de ferramentas implementa vários algoritmos para calcular a expansão esparsa em dicionários redundantes e resolver problemas inversos com a regularização esparsa (e também a regularização da TV).

Mas tudo isso e muito mais está incluído nesta lista de caixas de ferramentas .

Descobri que a parte difícil é encontrar o código psued - é aí que eles realmente descrevem o algoritmo. Aqui estão alguns exemplos de algoritmos que incluíram o psuedocode:

Scott
fonte
7

Suponho que estou respondendo off-topic aqui, mas, para abordagens de otimização L1, encontro YALL1 ( http://yall1.blogs.rice.edu/ ) e SPGL1 ( http://www.cs.ubc.ca/ ~ mpf / spgl1 / ) pacotes muito úteis e eficientes. O TFOCS ( http://cvxr.com/tfocs/ ) é provavelmente um pouco mais difícil de usar, mas deve ser bastante flexível. Também existe o CVX ( http://cvxr.com/cvx/ ), que facilita a digitação de problemas de otimização convexos diretamente no código, mas é consideravelmente mais lento para solucionar os problemas específicos do sensor comprimido, uma vez que é um solucionador muito geral.

Existem também alguns algoritmos de reconstrução disponíveis no Sparselab ( http://sparselab.stanford.edu/ ).

Uma lista maior de códigos de reconstrução esparsos está listada aqui: https://sites.google.com/site/igorcarron2/cs#reconstruction

Thomas Arildsen
fonte
6

Lembre-se de que L1 não é a única abordagem ao sensor de compressão. Em nossa pesquisa , obtivemos melhor sucesso com o Approximate Message Passing (AMP). Estou definindo "sucesso" como erro menor, melhores transições de fase (capacidade de recuperar com menos observações) e menor complexidade (memória e CPU).

O algoritmo Approximate Message Passing estabelece uma estrutura bayesiana para estimar os vetores desconhecidos em um sistema linear de grande escala, em que as entradas e saídas do sistema linear são determinadas por modelos probablísticos (por exemplo, "esse vetor foi medido com ruído", "esse vetor tem algumas zeros "). A abordagem AMP original forjada pela Donoho foi refinada por Rangan para a Passagem aproximada generalizada de mensagens com o código Matlab disponível. As entradas e saídas podem ser funções de densidade de probabilidade quase arbitrárias. Em nossa pesquisa, descobrimos que o GAMP é tipicamente mais rápido, mais preciso e mais robusto (leia-se: melhores curvas de transição de fase) do que as abordagens convexas L1 e abordagens gananciosas (por exemplo, busca de correspondência ortogonal).

Meu orientador e eu acabamos de escrever um artigo sobre o uso do GAMP para Analysis CS, em que se espera uma abundância de zeros, não no vetor desconhecido x, mas em uma função linear desse Wx desconhecido.

Mark Borgerding
fonte