我正在尝试找到一种快速匹配数据库描述符的方法。我的程序以下列方式工作:
1)使用图像描述符填充数据库(使用适当的特征检测算法)
2)加载图像
3)提取该图像的描述符并将其与DB中的所有描述符进行比较,以便找到合适的匹配。
你可以想象,计算32个描述符数百万次的比较是非常沉重的。我使用了散列函数,但这只适用于两个完全相同的描述符,因此只匹配两个完全相同的图像。
您建议我使用什么来加速搜索?
干杯
修改
我决定从接近神经网络解决方案开始。对于想要开始这个主题的人来说,这是一个pretty good link。
答案 0 :(得分:1)
您要完成的任务基本上称为机器学习/分类。考虑到数据库的大小,直接比较实际上是没有希望的。
以防您不了解术语。您拥有的数据库称为 learning-dataset 。您需要使用机器学习算法,如SVM(支持向量机),K-NN(K近邻),神经网络等来学习模型。该模型后来用于预测新的实例的结果,即。要与数据库进行比较的向量。
我强烈建议使用SVM,因为它是机器学习文献中最先进的分类器。它的实现称为“SVM灯”。 http://svmlight.joachims.org/。也可以使用SVM-light进行排名。请看一下。
您也可以尝试使用神经网络。我在matlab中使用神经网络工具箱(nprtools)非常整洁。