用caffe进行图片检索
1.图片的处理
输入:将自己的图像转换成caffe需要的格式要求:lmdb 或者 leveldb 格式
这里caffe有自己提供的脚本:create_minst.sh
转换训练图片和验证图片的格式,运行脚本以后生成对应的:***_train_Imdb 文件夹,***_val_Imdb文件夹
在此注意的是 数据的标注:
create_minst.sh里的输入是train.txt 和val.txt (这两个文件分别保存的是:训练train图片的路径以及标签,还有验证val图片的路径和标签 )
格式如下:
在create_imagenet.sh注意要写好train.txt与val.txt的文件路径
2. 编写配置文件并训练模型
配置文件有两个:1.参数的配置文件solver_**.prototxt(这里可以修改迭代的次数,步率以及其他内容,我只修改了迭代次数)
2.训练网络的配置文件:train_CIFAR10_48.prototxt,test_CIFAR10_48.prototxt
在train_CIFAR10_48.prototxt这里的source 就是我们之前转换好的caffe对应的训练图片的leveldb文件夹,同理test_CIFAR10_48.prototx
在这里需要注意的是meanfile是均值文件,他可以提高你的训练准确率。我这里没有自己生成均值文件,而是用的ilsvrc12库的均值文件~
接下来运行训练的脚本:train.sh
脚本内容如下: 这里指定了了参数配置文件solver_CIFAR10_48.prototxt
还有一个值得提一句的是:bvlc_reference_caffenet.caffemodel这是一个与训练模型,需要提前下载好。 gpu -1是用cpu,
../../build/tools/caffe train -solver solver_CIFAR10_48.prototxt -weights ../../models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel -gpu -1 2>&1 | tee log.txt
运行完以后会生成model文件:例子中我训练500次。
3.利用model来测试
这里有脚本文件:run_*.m
top_K代表匹配出几个相似图片 如果只想要匹配出最最相似的top_k=1
接下来的路径按照自己的路径填写。
强调的是:test_file_list存储的是要进行预测的图片路径,
test_label_list存储的是预测图片的正确答案(因为如果要求准确率,需要这个文件,如果不需要的话就忽略吧注释掉,然后把算精确率的代码注释掉就ok了)
train_file_list就是你的图片集,预测图片在这个图片集里寻找与 它最最匹配的picture
_
-->
用caffe进行图片检索的更多相关文章
- 基于纹理的图片检索及demo(未启动)
基于纹理的图片检索及demo(未启动)
- windows+caffe(二)——图片转换为levedb格式
借鉴于langb2014的 http://blog.csdn.net/langb2014/article/details/50458520 与liukailun09的 http://blog.cs ...
- 总结一下用caffe跑图片数据的研究流程
近期在用caffe玩一些数据集,这些数据集是从淘宝爬下来的图片.主要是想研究一下对女性衣服的分类. 以下是一些详细的操作流程,这里总结一下. 1 爬取数据.写爬虫从淘宝爬取自己须要的数据. 2 数据预 ...
- 基于内容的图片检索CBIR(Content Based Image Retrieval)简介
传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,简称“以字找图”,既耗时又主观多义.基于内容的图像检索客服“以字找图”方式的 ...
- 基于内容的图片检索CBIR简介
原文地址:http://blog.csdn.net/davebobo/article/details/53171311 传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依 ...
- caffe学习--使用caffe中的imagenet对自己的图片进行分类训练(超级详细版) -----linux
http://blog.csdn.net/u011244794/article/details/51565786 标签: caffeimagenet 2016-06-02 12:57 9385人阅读 ...
- ios 工程图片清理shell
#!/bin/shecho "随意删除@2x图片可能会引起错误 因为ios工程会更加前缀和分辨率自己找到@2x的图片 所以删除@2x图片时要慎重"read -n1 -p &quo ...
- caffe特征层可视化
#参考1:https://blog.csdn.net/sushiqian/article/details/78614133#参考2:https://blog.csdn.net/thy_2014/art ...
- 神经网络:caffe特征可视化的代码例子
caffe特征可视化的代码例子 不少读者看了我前面两篇文章 总结一下用caffe跑图片数据的研究流程 deep learning实践经验总结2--准确率再次提升,到达0.8.再来总结一下 之后.想知道 ...
随机推荐
- hashcode()和equals()的作用、区别、联系
介绍一. hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode() ...
- [py]flask实现用户cmdb
人最难做到的就是跟自己学习, 总是学习别人的, 沉淀, 过一段时间忘了刚学到的, 在向别人学习, 而非看看自己的沉淀, 殊不知, 世界上最亲近,最默契的人是自己. 用户cmdb功能概述 之前学flas ...
- http形式的webservice
import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import ...
- mybatis中获取参数
1.${parameter}方式: parameter是数字时用:模糊查询%${parameter}%时用. 例:select * from account where userId = ${para ...
- PAT 1026 Table Tennis[比较难]
1026 Table Tennis (30)(30 分) A table tennis club has N tables available to the public. The tables ar ...
- VMware coding Challenge
思路:这道题要观察,举个例子,1 2 * * 3 * 4 5 * * 6 7 * 8 * *, 用Stack,先序遍历,遇到数字就入栈,如果遇到 * *,说明栈顶节点是叶子节点,一条根到叶子的路径这 ...
- LibSVM源码剖析(java版)
之前学习了SVM的原理(见http://www.cnblogs.com/bentuwuying/p/6444249.html),以及SMO算法的理论基础(见http://www.cnblogs.com ...
- MySQL从删库到跑路_高级(一)——数据完整性
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.数据完整性简介 1.数据完整性简介 数据冗余是指数据库中存在一些重复的数据,数据完整性是指数据库中的数据能够正确 ...
- ios 透过上层视图点击相应下方视图的点击事件
- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event{ UIView *hitView = [super hitTest:point ...
- Linux查看操作系统版本
Linux版本太多,不同版本的命令又有所区别,所以在解决Linux的一些问题时候无从下手 或者 走一些弯路,这里提供解决此类问题的思路: 查看linux版本号 有了版本号,不同版本 统一问题解决方案不 ...