Я новичок в теме сжатых ощущений. Я прочитал несколько статей об этом Р. Барануика, Я. Эльдара, Теренса Тао и т. Д. Все эти документы в основном предоставляют математические детали, лежащие в основе этого, то есть, Sparsity, RIP, минимизацию нормы L1 и т. Д. Однако, любой может предоставить коды MATLAB что добиться сжимающего ощущения?
Заранее благодарю за любую помощь.
Ответы:
mex
- не уверен.Но все это и многое другое включено в этот список инструментов .
Я обнаружил, что самая сложная часть заключается в поиске psuedocode - вот где они на самом деле описывают алгоритм. Вот несколько примеров алгоритмов, которые включают psuedocode:
IST
.источник
Я полагаю, что здесь я отвечаю не по теме, но для 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
источник
Имейте в виду, L1 - не единственный подход к восприятию сжатия. В нашем исследовании мы добились большего успеха с Приблизительной передачей сообщений (AMP). Я определяю «успех» как меньшую ошибку, лучшие фазовые переходы (возможность восстановления с меньшим количеством наблюдений) и меньшую сложность (как память, так и процессор).
Алгоритм приблизительной передачи сообщений устанавливает байесовскую структуру для оценки неизвестных векторов в крупномасштабной линейной системе, где входы и выходы линейной системы определяются вероятностными моделями (например, «этот вектор был измерен с шумом», «этот вектор имеет некоторые нули "). Оригинальный AMP подход выкован Донохо был уточнен Rangan в Обобщенный Passing Примерных сообщений с Matlab кодом доступен, Входы и выходы могут быть почти произвольными функциями плотности вероятности. В нашем исследовании мы обнаружили, что GAMP обычно быстрее, точнее и надежнее (читай: лучшие кривые фазового перехода), чем выпуклые и жадные подходы L1 (например, Orthogonal Matching Pursuit).
Мой консультант и я только что написали статью об использовании GAMP для Analysis CS, где ожидается множество нулей не в неизвестном векторе x, а в линейной функции этого неизвестного, Wx.
источник
Вы также можете проверить Matlab UNLocBox: http://unlocbox.sourceforge.net На демонстрационной странице есть 4 сценария сжатия: http://unlocbox.sourceforge.net/doc/demos/index.php
источник
Я написал несколько практических руководств по кодированию, объясняющих основы CS, MP, OMP и т. Д. Для начинающих. Вы можете проверить их на https://sparse-plex.readthedocs.io/en/latest/demos/index.html
Это часть моей библиотеки sparse-plex, доступной на GitHub https://github.com/indigits/sparse-plex
источник