原文我是放在github上的,总结不易,如果大家觉得我写得不错,就麻烦给个星吧~~
个人感觉,初入SBIR研究领域的人,可以好好研究下这里的代码,毕竟Mathias Eitz这位大牛给我们挖了这么大个坑,近10年的特征描述符和近5年的深度学习和近3年的细腻度检索,各种大牛都往里面跳。
原文地址:https://github.com/jjkislele/imdb_framework_msvs
imdb
基于手绘草图的草图检索系统
原作者:Mathias Eitz
在我上一个仓库imdb_framework里有对这个项目的英文说明,不过很迷的是,作者使用的IDE应该是Qt creator,本仓库则将项目代码拆解出来移植至MSVS,方便随后的实验。

说明
所有代码均fork自mathiaseitz’s imdb_framework,并在此基础上进行了修改,使之能够符合自己的实验要求。
本项目应出自学术论文"Sketch-Based Shape Retrieval" - SIGGRAPH 2012 与之前的 “Sketch-based image retrieval: benchmark and bag-of-features descriptors” - IEEE T VIS COMPUT GR 2011。前者是关于图形轮廓检索的,使用的特征是由作者Mathias Eitz等人提出的Gabor滤波改进算法GALIF,而后者是关于图像检索的,使用的特征是由作者Mathias Eitz等人提出的HOG改进算法SHOG(当然还有shape-context、shape-context的改进算法作为对比),并引入BoF检索框架(我是这么称呼的),降低了图像特征的复杂度,加快了图像匹配速度。这两篇文章的创新性(经典性),使得后续研究都承接着这两篇文章的思路。
上述两篇文章均是通过手绘草图进行检索,这就不得不提到基于手绘草图的图像检索(SBIR, Sketch-Based Image Retrieval)这个研究方向,我实际上写了篇关于SBIR的综述,日后发到博客上吧。
算法
- 图像特征
-
GALIF: Gabor local line-based feature
记得有篇博文对GALIF特征进行了详细说明的,很可惜现在找不到了。
-
SHOG: Sketched feature lines in the Histogram of Oriented Gradients
一种改进的HOG特征描述子,它在图像边缘处提取HOG特征,因此命名为SHOG。
- 检索方式
-
BoF: Bag of Features
-
Linear search
项目依赖
-
boost lib
-
opencv 2.x
-
Qt lib
本项目使用的是boost 1.65.1、opencv 2.4.13、Qt 5,IDE是MSVS 15 x64。各位可以参照./resource/sbir.props,在MSVS中配置的时候,也可以导入这个.props配置文件,这样就可以方便更改、复用相同配置了。
文件夹结构说明
前文提到,我是将原始项目拆解成了多个模块,此举方便修改原始代码,现将拆解的各模块所对应的文件夹结构说明如下,表格顺序即是程序处理顺序,执行顺序不可发生变化,并且顺带简单介绍模块功能,详细说明则请点击对应链接查看。
| 序号 | 文件夹名 | 功能说明 | 链接 |
|---|---|---|---|
| 1 | generate_filelist | 生成图像绝对路径索引 | ? |
| 2 | compute_descriptors | 提取图像特征 | ? |
| 3 | compute_vocabulary | 特征聚类,产生视觉词汇 | ? |
| 4 | compute_histvw | 由视觉词汇产生视觉词汇表 | ? |
| 5 | compute_index | 生成TF-IDF权重 | ? |
| 6 | image_search | 图像检索 | ? |
| 7 | image_search_featureExtracted | image_search的修改版本,输入为检索序列特征 | ? |
写在后面
我仓库里还有SBIR研究领域的算法总结,各位看官老爷们可以瞅瞅 -------> ?
本项目为基于手绘草图的图像检索系统(SBIR),移植自MathiasEitz的imdb_framework,采用GALIF及SHOG特征描述子,并利用BoF框架进行图像检索。项目包含从图像特征提取到检索全过程的模块。
6439

被折叠的 条评论
为什么被折叠?



