OpenCV vs Mahout用于基于计算机视觉的机器学习?

时间:2013-09-24 09:33:42

标签: opencv computer-vision mahout

有一段时间,我一直在使用OpenCV。它满足了我对特征提取,匹配和聚类(k-means到现在)和分类(SVM)的所有需求。最近,我遇到了Apache Mahout。但是,大多数用于机器学习的算法也已经在OpenCV中可用。如果工作涉及视频和图像,那么使用Mahout而不是OpenCV有什么好处吗?

1 个答案:

答案 0 :(得分:2)

这个问题可能会被搁置,因为它是基于意见的。我还想添加一个基本的比较。

OpenCV能够处理可能被研究或发明的视觉和ml。视觉文献以此为基础,并根据文献发展。即使是起源于MATLAB-(http://www.tldvision.com/)的新生ml算法 - 类似TLD也可以使用OpenCV(http://gnebehay.github.io/OpenTLD/)来实现。

Mahout也有能力,特别是毫升。它不仅包括众所周知的ml算法,还包括具体的算法。假设您遇到了一篇论文 “使用K-means Orientation Filtering处理苹果” 。您可以在网络上找到本文的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仍然可以访问基本的ml算法。

开发 :Mahout在编码和时间复杂度方面更容易使用(我不确定后者,但我认为是)。