擅长:python、mysql、java
<p>研究了基于特征包(BoF)和支持向量机的图像分类问题。我用C++和OpenCV做的,但是我确信你也可以得到类似的Python方法。</p>
<p><strong>概念:</strong></p>
<p><strong>创建BoF字典:</strong></p>
<ol>
<li>从你的训练样本中提取一张图片。</li>
<li>提取SIFT关键点</li>
<li>提取SIFT描述符</li>
<li>使用k-means聚类对描述符进行聚类</li>
<li>创建BoF字典(请参阅下面提到的链接)</li>
</ol>
<p><strong>培训:</strong></p>
<ol>
<li>加载您的BoF字典</li>
<li>使用上面的BoF字典初始化BoF实例</li>
<li>从你的训练样本中提取一张图片。</li>
<li>提取SIFT关键点</li>
<li>为提取的关键点查找BoF描述符。</li>
<li>使用此BoF描述符进行支持向量机学习</li>
<li>对所有训练图像执行上述步骤</li>
<li>您将得到一个.xml格式的SVM分类器文件…保存它</li>
</ol>
<p><strong>测试:</strong></p>
<ol>
<li>加载支持向量机分类器</li>
<li>使用上面创建的.xml文件初始化SVM分类器</li>
<li>捕获图像</li>
<li>使用字典查找捕获图像的BoF描述符</li>
<li>使用这些BoF描述符使用支持向量机对其进行分类</li>
</ol>
<p>你可以参考这个<a href="http://www.codeproject.com/Articles/619039/Bag-of-Features-Descriptor-on-SIFT-Features-with-O" rel="noreferrer">article</a></p>