我有一个训练图像集,我已经检测并计算了每个图像的特征向量(使用 ORB 特征描述符和提取器。问题是:因为我需要保存这些特征以重新利用它们与测试图像匹配(使用SVM 分类器);在 Android 设备上本地存储特征向量的最佳方式是什么?
每个图像要保存的特征向量的大小是可变的,因此那些具有非最大大小的特征向量用零填充以统一所有向量的大小。当前最大尺寸为 500 行 x 32 列;因此有 16k 个特征。
这是我到目前为止可以达到的选项;
- 我听说过 OpenCV 的FileStorage,但是在浏览 java 文档时,我注意到了
save
一种用于HOG 功能(不是 ORB)的方法。此外,鉴于 xml 文件太大而无法加载,我不确定使用 OpenCV 的文件存储选项保存功能是否是 Android 手机的最佳内存方式。 - 我目前的选择是选择一个 sqlLite 数据库,它有一个包含两个列的表;id 和 feature(经常在网上建议);将 sqlLite 中的所有 16k 功能制成表格。这似乎是手机存储密集型的,但这是我能找到的最合理的解决方案。
有没有一种通用的方法来处理 Android 手机上的特征向量?是否包含上述任何一种方法;如果不能,您能否就如何实施这种存储解决方案提供一些指导?
谢谢你。