【发布时间】:2013-09-29 10:42:36
【问题描述】:
一段时间以来,我一直在使用 OpenCV。它满足了我对特征提取、匹配和聚类(迄今为止的k-means)和分类(SVM)的所有需求。最近,我遇到了 Apache Mahout。但是,大多数机器学习算法也已经在 OpenCV 中可用。如果工作与视频和图像相关,使用 Mahout 比 OpenCV 有什么优势吗?
【问题讨论】:
标签: opencv computer-vision mahout
一段时间以来,我一直在使用 OpenCV。它满足了我对特征提取、匹配和聚类(迄今为止的k-means)和分类(SVM)的所有需求。最近,我遇到了 Apache Mahout。但是,大多数机器学习算法也已经在 OpenCV 中可用。如果工作与视频和图像相关,使用 Mahout 比 OpenCV 有什么优势吗?
【问题讨论】:
标签: opencv computer-vision mahout
这个问题可能会被搁置,因为它是基于意见的。我还是想加个基本的比较。
OpenCV 能够处理任何可能研究或发明的关于视觉和机器学习的事情。视觉文献就是以此为基础,根据文献发展起来的。即使是新生的机器学习算法——比如 TLD,起源于 MATLAB——(http://www.tldvision.com/)也可以使用 OpenCV(http://gnebehay.github.io/OpenTLD/)通过一些努力来实现。
Mahout 也有能力,而且是特定于 ml 的。它不仅包括众所周知的机器学习算法,还包括特定的算法。假设您看到一篇论文“使用 K-means 方向过滤处理苹果”。你可以在网上找到这篇论文的 OpenCV 实现。甚至实际的算法也可能是开源的并使用 OpenCV 开发。使用 OpenCV,假设它需要 500 行代码,但使用 Mahout,论文可能已经用 single method making everything easier 实现了
关于这种情况的一个例子是http://en.wikipedia.org/wiki/Canopy_clustering_algorithm,现在使用 OpenCV 更难实现。
由于您要使用图像数据集,因此您还需要了解 HIPI。
总而言之,这是一个简单的赞成反对表:
诀窍(学习曲线): OpenCV 更容易,因为您已经了解它。 Mahout+HIPI 需要更多时间。
示例:文学+视觉社区通常使用 OpenCV。开源算法大多使用 OpenCV 的 C++ api 创建。
ml 算法: Mahout 只是关于 ml,而 OpenCV 则更通用。 OpenCV 仍然可以访问基本的机器学习算法。
开发:Mahout 在编码和时间复杂度方面更容易使用(我不确定后者,但我认为是)。 p>
【讨论】: