具有密集SIFT和SVM的功能包-理解和实施

时间:2018-11-27 09:06:06

标签: opencv image-processing machine-learning svm sift

我的目的是发现一些水下物体-羽毛球拍等。 我有160张以上的球拍躺在水下的图像。我为此球拍对象(我要检测的对象)创建了二进制蒙版,然后根据该球拍蒙版计算了水下的风景蒙版(岩石,树叶等,我不想检测的对象)。现在我想使用BOF进行高密度筛分。我打算做什么:

  1. 创建一个可视词典-应用球拍蒙版然后在背景蒙版上对图像进行密集的SIFT计算(在我正在两次计算SIFT的每个图像上-对于要检测的对象(球拍)和所有其他水下物体
  2. 具有字典,我必须计算我的SVM训练数据-因此,对于每个图像,我再次应用对象蒙版(并将其标记为1)和应用背景蒙版(标记0)来计算SIFT-我正在计算频率(直方图)字典中的视觉单词。
  3. 对象识别-这部分对我来说很棘手。我训练有素的svm知道球拍(标签1)和背景(标签0)的字典视觉单词频率。现在,我有一张要在上面测试我的SVM的图像-球拍在某些岩石和其他东西之间铺设在水下。当我将这些数据放入SVM时,它将检测到“两个频率的视觉单词”-因为图像上是我的球拍,并且也有背景。它正在检测这两件事。现在我该如何预防呢?我的想法是分割要在几个(10-50)区域上分类的图像,然后在每个区域上计算密集SIFT,然后基于这些区域上的密集筛分进行svm预测?

我是对的,还是我对这种BOF方法有误解。如果我错了,我该如何实现自己的目标。我再次拥有160套图像(原始框架,球拍上的面具,背景上的面具)。

0 个答案:

没有答案