有人可以解释我为什么需要培训或其他方法,比如根据它的SIFT功能对图像进行聚类或分组。
答案 0 :(得分:2)
SIFT是用于描述特征点的算法,因此描述符对于图像平移,缩放和旋转,照明变化以及对局部几何失真的鲁棒性是不变的。
简单来说,您可以考虑SIRF它是一种为图像中的特定点生成描述符的方法,这样如果图像被放大,移动或甚至旋转,该描述符将不会改变。由于此描述符不受图像变换的影响,因此可用于比较在不同条件下拍摄的不同图像中的要素(不同视图,缩放,闪电)。
如果您想比较2张图片,则无需进行任何培训/创建知识库。只需从两个图像中提取特征点,然后逐个比较它们的描述符。如果描述符相同(或几乎相同),则可以假设它们属于图像中的同一对象。当存在重复模式时,问题就开始了。
如果您想以某种特定方式对图像进行聚类/分组,那么您需要一些标准来执行该操作。这就是知识库开始的时候。例如,如果你想找到包含人脸的图像,你需要一种方法来告诉计算机人脸的外观。
当然,这些算法并非100%完美,而且存在一些不足之处。例如,如果图像被更改/扭曲太多,则描述符开始不同。
<强>更新:强>
SIRF只是一种为图像中的特定特征生成描述的方法。它与图像分类本身无关。
<强>箱包-的字强>
Words-of-Words只是简化图像内容分析的一种方法。主要思想是我们可以通过比较它们的不同特征和它们的出现来比较两个图像。如果两个图像包含大致相同的特征,则认为这些图像相似或甚至相等。这些特征在图像中的位置无关紧要。 由于SIRF描述符是具有128维度的向量,因此Bag-of-Words极大地简化了过程。词袋可以用于分组和分类/识别。
知识库(培训)
您是否需要知识库完全取决于您如何进行群集。如果您不使用知识库,那么您可以使用SIFT进行常规聚类,将类似图像组合在一起,而无需知道它们上面的内容。如果您想通过某些特定功能进行群集,那么您需要知识库。
一般来说,如果要将图像分类为已知组,则使用知识库。如果您想在不知道每个组包含的内容的情况下将相似图像组合在一起,则不需要知识库。
示例:强>
想象一下,你有5张图片 - 每张图片都包含一个字母(A,B或C)和一些背景纹理(木头,沙子,布料)。背景纹理占据每个图像的大部分。
1. A - wood
2. B - cloth
3. C - wood
4. A - sand
5. C - cloth
1)没有知识库的群集(分组)
如果您在没有知识库的情况下进行了聚类,我们会在每两张图片中看到它们有多相似。
我们会想出以下内容:
Group 1 - 1., 3.
Group 2 - 2., 5.
Group 3 - 4.
您无法分辨每个群组包含的内容,但您会知道每个群组中的图片都有某种相似之处。在这种情况下,由于背景相同,它们很可能是相似的。
2)使用知识库进行聚类(分类/识别)
现在假设我们有一个知识库,其中包含每个字母的大量图像。 现在,我们可以将输入图像与知识库进行比较,而不是比较每两个图像,以确定查看哪个字母特定图像最相似。
然后你会想出以下内容:
Group A - 1., 4.
Group B - 2.
Group C - 3., 5.
在这种情况下,我们知道每个组包含的内容,因为我们使用了知识库。
所有这一切,here是关于如何完成对象分类的论文。在本文中,使用了SURF而不是SIRF,但它没有改变主要思想。
PS。如果我过分简化某些事情,我很抱歉,但我希望它更容易理解。