- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试基于论文“Scalable Recognition with a Vocabulary Tree”实现图像搜索。我正在使用 SURF 来提取特征和关键点。例如,对于一张图像,我说有 300 个关键点,每个关键点有 128 个描述符值。我的问题是如何在数据上应用 K-Means 聚类算法。我的意思是我是否需要在所有点上应用聚类算法,即 300*128 值,或者我是否需要找到连续描述符值之间的距离并存储这些值并在其上应用聚类算法。我很困惑,我们将不胜感激。
谢谢,洛基。
最佳答案
从你的问题来看,我会说你很困惑。词汇树技术基于 k 均值层次聚类和叶节点 TF-IDF 加权方案的使用。
简而言之,用于构建词汇树的聚类算法对所有 d-dimensional
数据(对于 SIFT 的情况为 d=128
)运行一次 k-means,然后对每个获得的集群再次运行 k-means 直到某个深度级别.因此,构建词汇树的两个主要参数是分支因子 k
和树深度 L
。一些改进仅考虑分支因子,而深度是通过切割树自动确定的,以满足最小方差测量。
至于实现,来自 OpenCV 的 cv::BOWTrainer
是一个很好的起点,但对于分层 BoW 方案的情况不是很好地概括,因为它强制将中心存储在一个简单的 cv::Mat
中,而词汇树通常是不平衡的和映射当节点数远低于深度为 L
和分支因子为 k
的平衡树中的理论节点数时,从内存使用的角度来看,它以逐级方式转换为矩阵可能效率不高,即:
n << (1-k^L)/(1-k)
关于opencv - 在 OpenCV 中实现词汇树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837956/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我们如何知道使用哪个词汇/命名空间来描述带有 RDFa 的数据? 我看过很多使用 xmlns:dcterms="http://purl.org/dc/terms/" 的例子或 xmlns:sioc="
我正在尝试理解 BERT 词汇 here .它有 1000 个 [unusedxxx] token 。我不遵循这些 token 的用法。我了解其他特殊 token ,如 [SEP]、[CLS],但 [
我需要一些词汇方面的帮助,我不经常使用 Oracle,但我熟悉 MySQL 和 SQL Server。 我有一个应用程序需要升级和迁移,执行此操作的部分过程涉及导出到 XML 文件,允许安装程序创建新
我主要使用 Ruby 来执行此操作,但到目前为止我的攻击计划如下: 使用 gems rdf、rdf-rdfa 和 rdf-microdata 或 mida 来解析给定任何 URI 的数据。我认为最好映
我是一名优秀的程序员,十分优秀!