Сжатие восприятия через коды MATLAB

13

Я новичок в теме сжатых ощущений. Я прочитал несколько статей об этом Р. Барануика, Я. Эльдара, Теренса Тао и т. Д. Все эти документы в основном предоставляют математические детали, лежащие в основе этого, то есть, Sparsity, RIP, минимизацию нормы L1 и т. Д. Однако, любой может предоставить коды MATLAB что добиться сжимающего ощущения?

Заранее благодарю за любую помощь.

USC
источник
1
Запросы на код здесь не по теме.
pichenettes

Ответы:

18
  • Большая часть кода является простым кодом Matlab
  • Каждая папка в пакете состоит из алгоритма восстановления CS, основанного на конкретной модели сигнала, и скрипта, который тестирует этот алгоритм восстановления. Имена скриптов обычно заканчиваются на «_example.m»
  • Манопт . Возможно, что вы используете для создания алгоритмов, включенных в другие наборы инструментов.

Оптимизация на многообразиях является мощной парадигмой для решения задач нелинейной оптимизации.

Этот набор инструментов реализует несколько алгоритмов для вычисления разреженного расширения в избыточных словарях и для решения обратных задач с разреженной регуляризацией (а также регуляризацией ТВ).

Но все это и многое другое включено в этот список инструментов .

Я обнаружил, что самая сложная часть заключается в поиске psuedocode - вот где они на самом деле описывают алгоритм. Вот несколько примеров алгоритмов, которые включают psuedocode:

Скотт
источник
7

Я полагаю, что здесь я отвечаю не по теме, но для L1-оптимизации я нахожу YALL1 ( http://yall1.blogs.rice.edu/ ) и SPGL1 ( http://www.cs.ubc.ca/ ~ mpf / spgl1 / ) очень полезные и эффективные пакеты. TFOCS ( http://cvxr.com/tfocs/ ), вероятно, немного сложнее в использовании, но должен быть достаточно гибким. Существует также CVX ( http://cvxr.com/cvx/ ), который позволяет очень легко вводить выпуклые задачи оптимизации непосредственно в код, но он значительно медленнее для решения проблем, связанных со сжатием, поскольку он очень общий решатель.

Есть также некоторые алгоритмы реконструкции, доступные в Sparselab ( http://sparselab.stanford.edu/ ).

Большой список редких кодов реконструкции приведен здесь: https://sites.google.com/site/igorcarron2/cs#reconstruction

Томас Арилдсен
источник
6

Имейте в виду, L1 - не единственный подход к восприятию сжатия. В нашем исследовании мы добились большего успеха с Приблизительной передачей сообщений (AMP). Я определяю «успех» как меньшую ошибку, лучшие фазовые переходы (возможность восстановления с меньшим количеством наблюдений) и меньшую сложность (как память, так и процессор).

Алгоритм приблизительной передачи сообщений устанавливает байесовскую структуру для оценки неизвестных векторов в крупномасштабной линейной системе, где входы и выходы линейной системы определяются вероятностными моделями (например, «этот вектор был измерен с шумом», «этот вектор имеет некоторые нули "). Оригинальный AMP подход выкован Донохо был уточнен Rangan в Обобщенный Passing Примерных сообщений с Matlab кодом доступен, Входы и выходы могут быть почти произвольными функциями плотности вероятности. В нашем исследовании мы обнаружили, что GAMP обычно быстрее, точнее и надежнее (читай: лучшие кривые фазового перехода), чем выпуклые и жадные подходы L1 (например, Orthogonal Matching Pursuit).

Мой консультант и я только что написали статью об использовании GAMP для Analysis CS, где ожидается множество нулей не в неизвестном векторе x, а в линейной функции этого неизвестного, Wx.

Марк Боргердинг
источник