我有大量来自户外相机的图像存档。接近 200000 个项目,每个项目 1280x960 彩色像素。我想通过为这些数据构建 SVD(特征图像)并制作数据的简化向量(比如每张图片的 100 维向量)来索引这个数据库。
一次将所有这些数据加载到 RAM 中需要大约 200GB 的 RAM。 首先,我没有那么多内存。 其次,它不会扩展太多。所以,我正在寻找增量奇异向量分解的实现,它可能应该存在于 OpenCV 或 Eigen 等库中。
我不想在制作 SVD 之前降低分辨率,因为我相信小部分(分辨率远的物体)可能对我很重要,但降低分辨率我只是失去了所有高频特征。
更新:
我发现神经网络算法 GHA 或 APEX 可以提供帮助。
最佳答案
我还没有看到使用 Eigen 的实现。但是编写 scikit-learn 用于 incremental PCA 的相同方法似乎并不难.
关于opencv - OpenCV 的增量奇异值分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42179568/