稀疏表示与字典学习软件包
sparselandtools的Python项目详细描述
Sparseland工具
sparselandtools是一个python 3包,它为 稀疏表示与词典学习。尤其是 包括用于
用于稀疏表示:
- 匹配追求
- 正交匹配追踪
- 阈值追踪
- 基本追求
一般用于字典:
- 相互连贯
- DCT字典
- 哈尔词典
- 完成DCT字典
- 词典可视化工具
用于字典学习:
- k-svd算法
- 近似K-SVD算法
用于应用程序:
- 近似K-SVD图像降噪器
注意:我做这个项目主要是为我的硕士论文生成绘图。 有些实现比efficient更具教育性。如果你愿意 要进一步了解使用python的稀疏表示和字典学习, 或者使用小尺寸字典学习算法这个,包是给你的。 如果要将这些函数用于工业应用程序,应该有 看看更高效的基于C++的实现:
开始
sparselandtools作为pypi包提供。您可以使用
pip install sparselandtools
下面的代码创建了一个冗余的(=overcomplete)DCT-II字典 然后策划它。它还打印出词典的相互连贯性。
fromsparselandtools.dictionariesimportDCTDictionaryimportmatplotlib.pyplotasplt# create dictionarydct_dictionary=DCTDictionary(8,11)# plot dictionaryplt.imshow(dct_dictionary.to_img())plt.show()# print mutual coherenceprint(dct_dictionary.mutual_coherence())
更多的例子可以在相应的jupyter笔记本中找到。
贡献
有很多基于稀疏表示的算法 尚未包含在此包中的词典学习。这些 包括-其中:
- 双稀疏方法
- 小火车
- 方法噪声后处理去噪器
- 带补丁不一致的增强型去噪器
还有更多。在这个包中看到更多的应用程序也是很有趣的。 目前,这个包只提供k-svd图像去噪器based on the work of Aharon and Elad。K-SVD也可以 可用于许多其他应用,如人脸识别。此外, 最好有所有算法的GPU版本。
如果你想在这个包中看到一个特定的算法, 请考虑在github上打开一个功能请求。如果你写了 一个你认为适合这个包的算法,请把这个 存储库,添加算法并提交一个拉取请求。如果有什么 不按预期工作,请打开一个问题。