SVM学习随笔

首先是SVM原理,这篇里写的很详细。

然后是如何将图像用SVM进行分割。这篇里讲的比较清楚,这里直接引用他的概括:

  1. 提取训练集中图片的feature
  2. 将这些feature聚成n类。这n类中的每一类就相当于是图片的“单词”,所有的n个类别构成“词汇表”。我的实现中n取1000,如果训练集很大,应增大取值。
  3. 对训练集中的图片构造bag of words,就是将图片中的feature归到不同的类中,然后统计每一类的feature的频率。这相当于统计一个文本中每一个单词出现的频率
  4. 训练一个多类分类器,将每张图片的bag of words作为feature vector,将该张图片的类别作为label。

接下来是牛津文献Integrating metric and semantic maps for vision-only automated parking中是如何做的:

1.结合定位信息,用关键帧投影方法获得俯视地图,投影重叠的部分取平均值。

2.用地图数据训练了在主动学习(Active Learning)中表现较好的线性高斯过程分类器(linear Gaussian process classifier)。

3.一开始没有训练数据,先手标几个正确样本,样本会用图片的HOG特征进行描述。然后系统会返回固定数量的可能样本。

4.返回样本大小由之前人工送的正确样本大小求平均确定,包含几种大小。

5.用了非极大值抑制算法消除多个重叠框。


然后开始搭建SVM,用的Qt以方便样本标注以及实现后期的主动学习。首先尝试了OpenCV自带的SVM,其分类效果还不错,但是没找到如何输出分类标签的概率值,故而转投LibSVM。LibSVM的实现这篇里说的比较详细。最终实现了在地图上生成可能车位方框。但是有很多重叠,所以还需要非极大值抑制。





猜你喜欢

转载自blog.csdn.net/weixin_39078049/article/details/79639603