配置按照官网的历程就可以,注意我编译的时候找不到各种依赖库的so文件,我自己安装了anaconda,当初安装时为了方便,没想到和自身带的python,也许路径或者变量没整好,导致依赖库总是找不到,后来卸载了anaconda才可以。
训练:按照官网就可以
总结一些问题:所有操作命令都在faster_rcnn的根目录下执行!!!
1.安装easydict 下载安装包,解压,执行python setup.py install
2.找不到cv2 .
sudo apt-get install python-opencv 在/usr/lib/....目录下找到cv2.so
将opencv的cv2.so 复制到caffe-fast-rcnn/python的文件夹下才可以。
3.
AttributeError: 'module' object has no attribute 'text_format'
需要再lib/fast_rcnn/train.py中添加:
import google.protobuf.text_format
4.数据
data/创建软连接
ln -s
VOC数据集:
参考VOC2007
的数据集格式,主要包括三个部分:
JPEGImages
Annotations
ImageSets/Main
JPEGImages
—> 存放你用来训练的原始图像
Annotations
—> 存放原始图像中的Object的坐标信息,XML格式
ImageSets/Main
—> 指定用来train,trainval,val和test的图片的编号
5.预先训练的model需要自己提前下载,存放在data/imagenet_models
6.训练生成的model放在根目录output下
训练开始后先生成数据在data/cache pkl文件
工程目录简介
首先工程的根目录简单的称为 FRCN_ROOT,可以看到根目录下有以下几个文件夹
- caffe-fast-rcnn
这里是caffe框架目录
- data
用来存放pretrained模型,比如imagenet上的,以及读取文件的cache缓存
- experiments
存放配置文件以及运行的log文件,另外这个目录下有scripts可以用end2end或者alt_opt两种方式训练。
- lib
用来存放一些python接口文件,如其下的datasets主要负责数据库读取,config负责cnn一些训练的配置选项。
- models
里面存放了三个模型文件,小型网络的ZF,大型网络VGG16,中型网络VGG_CNN_M_1024。推荐使用VGG16,如果使用端到端的approximate joint training方法,开启CuDNN,只需要3G的显存即可。
- output
这里存放的是训练完成后的输出目录,默认会在faster_rcnn_end2end文件夹下
- tools
里面存放的是训练和测试的Python文件。
创建数据集
接下来我们就要创建自己的数据集了,这部分主要在lib目录里操作。这里下面存在3个目录:
- datasets
在这里修改读写数据的接口主要是datasets目录下
- fast_rcnn
主要存放的是python的训练和测试脚本,以及训练的配置文件config.py
- nms
做非极大抑制的部分,有gpu和cpu两种实现方式
- roi_data_layer
主要是一些ROI处理操作
- rpn
这就是RPN的核心代码部分,有生成proposals和anchor的方法
-
transform
-
utils