python3.5版本 https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5
由于上述版本中的python都是基于linux环境编写的,windows运行需要进行改动。
安装TensorFlow的GPU版本,具体安装步骤可以参照这里。
安装一些必要的库:cython,easydict,python-opencv,库的安装可以直接用pip 命令,当然这里的安装位置要在你自己建的的TensorFlow-gpu环境中。
在命令行中 cd 一下进入源码中所给的 /data/coco/PythonAPI文件夹下,运行编译提供的 setup.py
强调一下,最好按照源码给的参考装python 3.5。偷懒不想换原来装的其他版本会出会问题的,我就是,结果被一个bug坑了好久,我的基础环境已经装好,就不重复了。需要什么模块大家直接安装。
我的运行环境:tensorflow-gpu 1.10
win10 64bit
i7-8700k+32G+gtx1070
CUDA:9.2
IDE:VS2017
This is the branch to compile Faster R-CNN on Windows. It is heavily inspired by the great work done here and here. I have not implemented anything new but I fixed the implementations for Windows and Python 3.5.
先运行一下demo.py
我们需要对Faster RCNN项目当中的setup.py进行一点点修改。G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI\setup.py,原始的是下面这样的
我们在程序的16行加上
,
Extension( 'lib.utils.cython_bbox',
sources=['../../../lib/utils/bbox.c','../../../lib/utils/bbox.pyx'],
include_dirs = [np.get_include(), '/lib/utils'],
extra_compile_args=[], )
加完这些代码之后的Setup.py代码情况如下:
然后重新进行编译,
C:\Users\WWWW>g:
G:\>cd G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI
G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI>python setup.py build_ext --inplace
G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI>python setup.py build_ext install
编译成功之后在相应文件夹下,生成一个新的cython_bbox的文件(这里是针对Py36的版本)。我们将这个文件放入对应位置:
然后把 G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI\build\lib.win-amd64-3.6\lib\utils\cython_bbox.cp36-win_amd64.pyd这个文件复制到 G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\lib\utils\目录下
下载PyCoco database
可以在这里下载:http://host.robots.ox.ac.uk:8080/pascal/VOC/voc2007/#devkit
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
将下载后的三个压缩包解压到同一个文件夹下,以WinRAR为例,同时选中三个压缩包,右键,然后选择解压到当前文件夹
可以得到VOCDevkit文件夹,将VOCDevkit重命名为VOCDevkit2007,然后将这个文件夹拷贝到你自己的Faster-RCNN中data目录下。
我的放置后的目录结构见下文,供参考:
----\data\VOCDevkit2007\create_segmentations_from_detections.m
----\data\VOCDevkit2007\devkit_doc.pdf
----\data\VOCDevkit2007\example_classifier.m
----\data\VOCDevkit2007\example_detector.m
----\data\VOCDevkit2007\example_layout.m
----\data\VOCDevkit2007\example_segmenter.m
----\data\VOCDevkit2007\local
----\data\VOCDevkit2007\results
----\data\VOCDevkit2007\viewanno.m
----\data\VOCDevkit2007\viewdet.m
----\data\VOCDevkit2007\VOC2007
----\data\VOCDevkit2007\VOCcode
----\data\VOCDevkit2007\local\VOC2006
----\data\VOCDevkit2007\local\VOC2007
----\data\VOCDevkit2007\local\VOC2006\dummy
----\data\VOCDevkit2007\local\VOC2007\dummy
----\data\VOCDevkit2007\results\VOC2006
----\data\VOCDevkit2007\results\VOC2007
----\data\VOCDevkit2007\results\VOC2006\Main
----\data\VOCDevkit2007\results\VOC2006\Main\dummy
----\data\VOCDevkit2007\results\VOC2007\Layout
----\data\VOCDevkit2007\results\VOC2007\Main
----\data\VOCDevkit2007\results\VOC2007\Segmentation
----\data\VOCDevkit2007\results\VOC2007\Layout\dummy
----\data\VOCDevkit2007\results\VOC2007\Main\dummy
----\data\VOCDevkit2007\results\VOC2007\Segmentation\dummy
----\data\VOCDevkit2007\VOC2007\Annotations
----\data\VOCDevkit2007\VOC2007\ImageSets
----\data\VOCDevkit2007\VOC2007\JPEGImages
----\data\VOCDevkit2007\VOC2007\SegmentationClass
----\data\VOCDevkit2007\VOC2007\SegmentationObject
----\data\VOCDevkit2007\VOC2007\Annotations\000001.xml
----\data\VOCDevkit2007\VOC2007\Annotations\000002.xml
----\data\VOCDevkit2007\VOC2007\Annotations\000003.xml
----\data\VOCDevkit2007\VOC2007\Annotations\000004.xml
----\data\VOCDevkit2007\VOC2007\Annotations\000005.xml
...
----\data\VOCDevkit2007\VOC2007\Annotations\009962.xml
----\data\VOCDevkit2007\VOC2007\Annotations\009963.xml
----\data\VOCDevkit2007\VOC2007\ImageSets\Layout
----\data\VOCDevkit2007\VOC2007\ImageSets\Main
----\data\VOCDevkit2007\VOC2007\ImageSets\Segmentation
----\data\VOCDevkit2007\VOC2007\ImageSets\Layout\test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Layout\train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Layout\trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Layout\val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\aeroplane_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\aeroplane_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\aeroplane_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\aeroplane_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bicycle_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bicycle_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bicycle_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bicycle_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bird_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bird_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bird_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bird_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\boat_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\boat_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\boat_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\boat_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bottle_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bottle_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bottle_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bottle_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bus_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bus_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bus_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\bus_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\car_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\car_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\car_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\car_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cat_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cat_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cat_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cat_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\chair_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\chair_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\chair_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\chair_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cow_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cow_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cow_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\cow_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\diningtable_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\diningtable_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\diningtable_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\diningtable_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\dog_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\dog_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\dog_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\dog_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\horse_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\horse_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\horse_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\horse_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\motorbike_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\motorbike_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\motorbike_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\motorbike_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\person_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\person_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\person_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\person_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\pottedplant_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\pottedplant_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\pottedplant_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\pottedplant_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sheep_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sheep_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sheep_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sheep_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sofa_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sofa_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sofa_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\sofa_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\train_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\train_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\train_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\train_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\tvmonitor_test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\tvmonitor_train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\tvmonitor_trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\tvmonitor_val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Main\val.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Segmentation\test.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Segmentation\train.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Segmentation\trainval.txt
----\data\VOCDevkit2007\VOC2007\ImageSets\Segmentation\val.txt
----\data\VOCDevkit2007\VOC2007\JPEGImages\000001.jpg
----\data\VOCDevkit2007\VOC2007\JPEGImages\000002.jpg
----\data\VOCDevkit2007\VOC2007\JPEGImages\000003.jpg
----\data\VOCDevkit2007\VOC2007\JPEGImages\000004.jpg
...
----\data\VOCDevkit2007\VOC2007\JPEGImages\009962.jpg
----\data\VOCDevkit2007\VOC2007\JPEGImages\009963.jpg
----\data\VOCDevkit2007\VOC2007\SegmentationClass\000032.png
----\data\VOCDevkit2007\VOC2007\SegmentationClass\000033.png
----\data\VOCDevkit2007\VOC2007\SegmentationClass\000039.png
...
----\data\VOCDevkit2007\VOC2007\SegmentationClass\009947.png
----\data\VOCDevkit2007\VOC2007\SegmentationClass\009950.png
----\data\VOCDevkit2007\VOC2007\SegmentationObject\000032.png
----\data\VOCDevkit2007\VOC2007\SegmentationObject\000033.png
----\data\VOCDevkit2007\VOC2007\SegmentationObject\000039.png
...
----\data\VOCDevkit2007\VOC2007\SegmentationObject\009947.png
----\data\VOCDevkit2007\VOC2007\SegmentationObject\009950.png
----\data\VOCDevkit2007\VOCcode\PASemptyobject.m
----\data\VOCDevkit2007\VOCcode\PASemptyrecord.m
----\data\VOCDevkit2007\VOCcode\PASerrmsg.m
----\data\VOCDevkit2007\VOCcode\PASreadrecord.m
----\data\VOCDevkit2007\VOCcode\PASreadrectxt.m
----\data\VOCDevkit2007\VOCcode\VOCevalcls.m
----\data\VOCDevkit2007\VOCcode\VOCevaldet.m
----\data\VOCDevkit2007\VOCcode\VOCevallayout.m
----\data\VOCDevkit2007\VOCcode\VOCevalseg.m
----\data\VOCDevkit2007\VOCcode\VOCinit.m
----\data\VOCDevkit2007\VOCcode\VOClabelcolormap.m
----\data\VOCDevkit2007\VOCcode\VOCreadrecxml.m
----\data\VOCDevkit2007\VOCcode\VOCreadxml.m
----\data\VOCDevkit2007\VOCcode\VOCwritexml.m
----\data\VOCDevkit2007\VOCcode\VOCxml2struct.m
VGG16模型预训练权重下载地址:http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz
可以使用这个百度云链接进行下载,
模型下载后解压,放在上面的路径下,没有就建立一个文件夹。 "data\imagenet_weights\vgg16.ckpt"
注意:下载后的VGG16模型的名字是vgg_16.ckpt,将其改为vgg16.ckpt,不然后面会报错。
接下来就是跑 train.py 了。
训练得到的模型保存在根目录下的\default\voc_2007_trainval\default,中如下图所示。模型训练过程中每5000次迭代保存一次,一共迭代40000次(max_iters),可以加多一个0,改为400000。这些在config.py中可以自己设置。所以想要跑demo.py,先训练吧。
然后就是开始训练数据了,运行train.py.
训练完成后,程序默认的模型保存的路径在下面这个位置。
Faster-RCNN-TensorFlow-Python3.5-master\default\voc_2007_trainval\default
下面就到了检验模型的时刻了,运行demo.py,不过在此之前需要将demo.py的第108行原来默认的res101,改成我们现在用的vgg16。就是下面这个位置。
如果改完上面直接运行demo.py还可能出现下面的问题,
OSError: output\vgg16\voc_2007_trainval+voc_2012_trainval\default\vgg16_faster_rcnn_iter_70000.ckpt.meta not found.
这个问题解决要两步走,第一步是先修改一下训练权重的的保存位置,先新建一个名为output的文件夹,具体的文件名就按它报错的位置跟着新建就行如下图。
第二步就是后面那个迭代70000次的那个问题了,因为默认的最多迭代次数是40000次,所以不加修改前保存的模型应该是最多保存到40000次对应的模型的,需要将demo.py文件中的第39行对应的迭代次数名给改一下,当然如果你之前训练的模型里面包含70000次这个,这步就是不必要的了。
然后就开始运行demo.py文件了,
run python demo.py
首先在demo.py同级目录下,建立一个这样的目录文件:G:\Tensorflow\Faster-RCNN-TensorFlow-Python3.5-master\output\vgg16\voc_2007_trainval+voc_2012_trainval\default
然后将训练完的模型移到该文件夹如面。如下图所示:
然后,打开demo.py, 将42行修改成如下:
修改前:
NETS = {'vgg16': ('vgg16_faster_rcnn_iter_10000.ckpt',), 'res101': ('res101_faster_rcnn_iter_110000.ckpt',)}
修改后:
NETS = {'vgg16': ('vgg16_faster_rcnn_iter_10000.ckpt',)}
将108行修改成如下:
修改前:parser.add_argument('--net', dest='demo_net', help='Network to use [vgg16 res101]',
choices=NETS.keys(), default='res101')
修改后:
parser.add_argument('--net', dest='demo_net', help='Network to use [vgg16 res101]',
choices=NETS.keys(), default='vgg16')
最后成功运行如下:
遇到的各种问题:
出现的错误这里基本都包括了,我就不自己写啦
http://blog.csdn.net/JiaJunLee/article/details/50373815
py_faster_rcnn识别出来的结果好多红框重叠
py_faster_rcnn识别出来的结果好多红框重叠, 可以通过调节demo.py中的NMS_THRESH的值进行限制。
NMS_THRESH表示非极大值抑制,这个值越小表示要求的红框重叠度越小,0.0表示不允许重叠。有时候0.3会有好多重叠
92行 NMS_THRESH = 0.1
训练自己的数据集
如何使用faster rcnn训练自己的模型,然后识别图片,可以参考下一篇博客:
Windows下使用Faster RCNN训练自己的模型
参考 https://blog.csdn.net/samylee/article/details/51201744
https://blog.csdn.net/char_QwQ/article/details/80980505
https://blog.csdn.net/Best_Coder/article/details/76577544
xml文件的制作需要labelImg软件的帮助,这里提供在window下的exe包,打开即可使用
wget https://github.com/pprp/DL/blob/master/LabelIMG.zip
Ctrl + u 加载目录中的所有图像,鼠标点击Open dir同功能
Ctrl + r 更改默认注释目标目录(xml文件保存的地址)
Ctrl + s 保存
Ctrl + d 复制当前标签和矩形框
space 将当前图像标记为已验证
w 创建一个矩形框
d 下一张图片
a 上一张图片
del 删除选定的矩形框
Ctrl++ 放大
Ctrl-- 缩小
↑→↓← 键盘箭头移动选定的矩形框
数据的放置结构(自己手动建立)
-data
- VOCdevkit2007
- VOC2007
- Annotations (标签XML文件,用对应的图片处理工具人工生成的)
- ImageSets (生成的方法是用sh或者MATLAB语言生成)
- Main
- test.txt
- trian.txt
- trainval.txt
- val.txt
- JPEGImages(原始文件)
Main中的四个txt文件的制作
详见附件二,注意要修改路径位置,最好是绝对路径
xmlfilepath = 'Annotations'
txtsavepath = 'ImageSets\Main'
参考 https://www.cnblogs.com/pprp/p/9465065.html
将制作好的数据按照以上的目录结构进行放置
用你的Annotations,ImagesSets和JPEGImages替换…\Faster-RCNN-TensorFlow-Python3.5\data\VOCdevkit2007\VOC2007中对应文件夹
### 将原始代码修改为适配你自己的代码
Pascal_VOC.py,修改自己的标注的类别
self._classes = ('__background__', # always index 0
'aeroplane', 'bicycle', 'bird', 'boat',
'bottle', 'bus', 'car', 'cat', 'chair',
'cow', 'diningtable', 'dog', 'horse',
'motorbike', 'person', 'pottedplant',
'sheep', 'sofa', 'train', 'tvmonitor')
将这些类别替换成你自己的类别。
self.__classes=('__background__',
'你的标签1','你的标签2',你的标签3','你的标签4')
demo.py, 修改为自己的标注类别
CLASSES = ('__background__',
'aeroplane', 'bicycle', 'bird', 'boat',
'bottle', 'bus', 'car', 'cat', 'chair',
'cow', 'diningtable', 'dog', 'horse',
'motorbike', 'person', 'pottedplant',
'sheep', 'sofa', 'train', 'tvmonitor')
更改为:
CLASSES = ('__background__',
'你的标签1','你的标签2',你的标签3','你的标签4')
demo.py 更改另外一处代码:
net.create_architecture(sess, "TEST", 21,tag='default', anchor_scales=[8, 16, 32])
更改为:
net.create_architecture(sess, "TEST", 5,tag='default', anchor_scales=[8, 16, 32])
原本的代码是有20类物体+背景,所以是21。 把类别数改为,你的类别+背景。如果是只检测一类物体,那就改为2
Faster R-CNN:tf-faster-rcnn代码结构
Section 1: ./tf-faster-rcnn目录:
├── data //数据目录主要保存一些数据集比如VOC2007、coco等
│ ├── cache //保存一些数据集的训练集和测试集的proposals,比如voc_2007_test_gt_roidb.pkl,格式[{ },{ },...,{ }]。程序首先从这读取,如果文件存在
//否则读取.xml文件得到proposal,同时在该目录下生成对应的.pkl文件 Note:训练集合和测试集变化了,一定的先delete该目录下的对应的.pkl文件
│ ├── cache.tgz
│ ├── coco //Python COCO API. The code requires the API to access COCO dataset.
│ ├── demo //保存几张图片(.jpg文件),用于演示demo
│ ├── imagenet_weights //保存在ImageNet数据集训练好的分类模型(比如vgg16,res101),vgg16.ckpt和res101.ckpt
│ ├── readme.txt
│ ├── res101_voc_0712_80k-110k.tgz //原文件名为voc_0712_80k-110k.tgz faster-rcnn(res101)的模型压缩文件
│ ├── res101_voc_2007_trainval+voc_2012_trainval //由原名为voc_0712_80k-110k.tgz解压出来的,faster-rcnn(res101)的模型
│ ├── scripts //包含fetch_faster_rcnn_models.sh,该脚本可用来下载训练好的faster-rcnn模型
│ ├── vgg16_voc_0712_80k-110k.tgz //原文件名为voc_0712_80k-110k.tgz faster-rcnn(vgg16)的模型压缩文件
│ ├── vgg16_voc_2007_trainval+voc_2012_trainval //由原名为voc_0712_80k-110k.tgz解压出来的,faster-rcnn(vgg16)的模型
│ ├── VOCdevkit //PASCAL VOC 2007数据集开发工具箱
│ ├── VOCdevkit2007 -> VOCdevkit //软连接
│ └── wget-log //下载模型的日志文件
├── lib //
│ ├── datasets //基类imdb 针对具体数据集的派生类如pascal_voc coco
│ ├── layer_utils //与anchor proposal相关
│ ├── Makefile
│ ├── model //config配置文件 nms bbox test train_val等
│ ├── nets //基类Network,针对具体网络的派生类(如mobilenet_v1,resnet_v1,vgg16)
│ ├── nms //c和cuda的加速代码,生成共享库(.so)
│ ├── roi_data_layer //RoI层
│ ├── setup.py //用于构建Cython模块
│ └── utils //一些辅助工具,计时、可视化
├── LICENSE
├── output //保存训练模型和测试结果 具体见section 2.
│ ├── res101
│ └── vgg16
├── README.md
├── run_demover1.sh //演示demo
├── run_test.sh //测试
├── run_train.sh //训练+测试
├── tensorboard //可视化tensorboard
│ ├── res101
│ └── vgg16
└── tools
├── convert_from_depre.py
├── demo.py
├── demover1.py //demo
├── _init_paths.py
├── _init_paths.pyc
├── __pycache__
├── reval.py
├── test_net.py //测试
└── trainval_net.py //训练
Section 2: /tf-faster-rcnn/output目录
├── res101 //在faster-rcnn(res101)
│ ├── voc_2007_test //测试结果,按类别保存的.pkl文件
│ │ └── default
│ ├── voc_2007_trainval //训练的模型保存在该文件夹下
│ │ └── default
│ └── voc_2007_trainval+voc_2012_trainval //在voc_07+voc_12上训练好的faster-rcnn(res101)模型 从/data目录下软链接过来的
└── vgg16
├── voc_2007_test //测试结果,按类别保存的.pkl文件
│ └── default
├── voc_2007_trainval //训练的模型保存在该文件夹下
│ └── default
└── voc_2007_trainval+voc_2012_trainval
└── default -> ../../../data/vgg16_voc_2007_trainval+voc_2012_trainval/ //软链接过来的faster-r