在使用Caffe时,我们经常需要对数据进行一些预处理,我把自己写的一些小脚本放到了github上,如果有需要大家下载使用,如果你有更好的小脚本希望与我分享!
连接在此:https://github.com/sunshineInmoon/Tools
如果你觉得还可以请给打个星星哟......
No1.CreatImagelist.py
这个不是出自我的手,但是却非常有用,可以产生带标签的图片路径列表
No2.dir_to_picture.py
这个主要功能是将分好类的图片(在多个文件夹中)重新整理到一个文件夹中,便于删除
No3.extract_feacture.py
这个的主要功能是批量提取图片的特征,并将特征保存成文件
No4.feature_class.py
这个也是特征分类,但是这个每张图片都一一对比,如果数据量小可以,如果数据量大这个脚本太浪费时间
No5.Math.py 里就两个函数计算1、计算cos距离;2、比较两个数的大小
No6.text_process.py
'''
函数:name_convert()
功能:采集到的图片名字命名时是字符型,将其转换成000000001形式
另外进行比例缩放到128*128,同时转成灰度图
输入的参数:dir_name 只存放图片的文件夹名字
dir_name_save 保存结果文件夹
'''
'''
函数:creat_imagelist_NoLabel()
功能:是把一个文件夹下所有图片写进一个imagelist.txt文件中
输入参数:dir_path 存放图片的文件夹
imagelist_path,保存路径
'''
'''
函数:clean_image()
功能:人脸检测后把没有检测到的人脸剔除
输入参数:imagelist---人脸检测后的路劲列表
dir_path_save---保存路径
'''
'''
函数:CreatImageListWithLabel()
功能:创建caffe imagelist.txt 文件,此文件带标签
输入参数:dir_path 图片路径,一般为保存很多子文件夹的跟文件夹路径
imgelist 输出文件路径默认是当前文件夹下
'''
'''
函数:load()
函数功能:将一个文本文件中的特征读取到一个list中
输入参数:file_path----文本文件路径
'''
'''
函数:Pic_Num()
功能:统计文件夹中图片的数量
输入参数:dir_path----保存图片的文件夹路径
'''
'''
函数:ReName()
功能:重新按顺序命名文件,用在对个别文件删除后,对文件重新排序命名
输入参数:dir_path----包含文件(无文件夹的)的文件夹路径
No7.Visualize.py 网络权重可视化,未完
'''
函数:vis_square()
函数功能:一个显示辅助函数
输入参数:data
out----保存图片的路径
'''
'''
函数:VisualWeights()
函数功能:根据层名字显示相应的权重
输入参数:layer_name----层名字
net----初始化后的网络
out----保存图片的路径
'''
'''
函数:VisualWeight()
函数功能:根据层名字显示相应的权重
输入参数:layer_name----层名字
net----初始化后的网络
'''
'''
函数:VisualBlob()
函数功能:可视化Blob
输入参数:net----初始化后的网络
layer_name----层的名字
'''
'''
函数:VisualBlobs()
函数功能:保存所有Blobs
输入参数:net----初始化后的网络
out----保存路径
'''
'''
函数:VisualLayerShape()
函数:显示层的名字和形状
输入参数:net----初始化后的网络
'''
'''
函数:VisualLayerWeightShape()
函数功能:显示各层权重的形状
输入参数:net----初始化后的网络
'''
No8.Picture.py
'''
函数:Resize()
函数功能:批量调整图片大小
输入参数:dir_path----文件库路径
new_h,new_w----新图片的高度和宽度
'''
'''
函数:DataAugment()
函数功能:扩大数据量
输入参数:dir_path----图片库路径
'''
No9.draw.py
'''
函数:Draw()
函数功能:绘制WU_lfw_test.py 产生的result.txt文件的图
输入参数:file_path
'''
'''
函数:Draw_His()
函数功能:计算图片库的一些统计信息,并画出直方图
输入参数:dir_path
'''
No10.CreatValSet.py
'''
函数:TestPair()
函数功能:随机产生验证集对,来测试网络性能
输入参数:dir_path----验证集库
class_num----验证集的类别
leftlist----left.txt 路径
rightlist----right.txt 路径
label----标签路径
pos_num----正样本数量
neg_num----负样本数量
'''
No11.LfwTest.py 在lfw库上测试模型
No12.process.py
'''
函数:renamedir()
函数功能:重命名文件夹,按一定顺序
输入参数:dir_path----包含子文件夹的路径
start ----开始序号
'''
'''
函数:Rmovedir()
函数功能:删除文件夹中文件少于一定数量的文件夹
输入参数:dir_path----包含子文件夹的路径
num----阈值,将文件数量小于等于num的文件夹删掉
'''
'''
函数: Romvepath()
函数功能:删除一个imagelist中不存在的路径
输入参数:inputlist,outputlist
'''
'''
函数:Rmovepath_pair()
函数功能:成对删除文件中不存在的路径
输入参数:input1,input2,inlabel,output1,output2,outlabel
'''
'''
函数:TestPair()
函数功能:从数据库中挑选正负样本
输入参数:dir_path----存放图片库路径
class_num----类别数量
neg_num----负样本数
pos_num----正样本数
leftlist
rightlist
label
'''
'''
函数:Select_K_MaxMin()
函数功能:输出文件夹中图片数量最多或最小的前K个文件夹路径
输入参数:dir_path----图片库路径
model----选择最大还是最小默认
K----前K个
'''