[计算机视觉][神经网络与深度学习]R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
R-FCN
paper:https://arxiv.org/abs/1605.06409
作者代码:https://github.com/daijifeng001/R-FCN #matlab版本
这里使用python版本的代码:https://github.com/Orpine/py-R-FCN
1.下载代码
git clone https://github.com/Orpine/py-R-FCN.git
2.克隆caffe
cd py-R-FCN
git clone https://github.com/Microsoft/caffe.git #Microsoft的源
[可选]
cd caffe
git reset --hard 1a2be8e
3.编译Cython模块
cd py-R-FCN/lib
make
4.编译caffe和pycaffe
这里Makefile.config要支持Python layers!
In your Makefile.config, make sure to have this line uncommented
WITH_PYTHON_LAYER := 1
cd py-R-FCN/caffe
cp Makefile.config.example Makefile.config
make -j8 && make pycaffe
5.下载resnet caffemodel
从OneDriver下载rfcn_models https://1drv.ms/u/s!AoN7vygOjLIQqUWHpY67oaC7mopf
解压到:py-R-FCN/data下
解压后的目录:
py-R-FCN/data/rfcn_models/resnet50_rfcn_final.caffemodel
py-R-FCN/data/rfcn_models/resnet101_rfcn_final.caffemodel
6.运行demo
python py-R-FCN/tools/demo_rfcn.py --net ResNet-50
python py-R-FCN/tools/demo_rfcn.py --net ResNet-101
ResNet-50效果图:
ResNet-101效果图:
7.准备训练和测试
笔者这里简单使用VOC2007,并且修改名称VOC0712,笔者把数据集直接放在py-R-FCN/data下
官网使用VOC2007和VOC2012,使用的时候要合并数据集,具体参考官网的Preparation for Training & Testing 第四点
8.下载ImageNet 与预训练的ResNet-50和ResNet-100
OneDriver:https://onedrive.live.com/%3Fa
... FF777(在KaimingHe的github https://github.com/KaimingHe/d ... works )
mkdir py-R-FCN/data/imagenet_models
将model放到该目录
9.可自己修改模型,类别,修改相应的py-r-fcn/py-R-FCN/models/pascal_voc/目录下对应的文件和py-r-fcn/lib/datasets/pascal_voc.py。笔者这里还是使用默认的。
10.修改迭代次数
vi py-r-fcn/experiments/scripts/rfcn_end2end_ohem.sh
把pascal_voc的ITERS 调小
11.训练
./py-r-fcn/experiments/scripts/rfcn_end2end_ohem.sh 0 ResNet-50 pascal_voc
其他训练方式请自行参考官网Usage
12.测试
将训练好的模型py-r-fcn/py-R-FCN/output/rfcn_end2end_ohem/voc_0712_trainval/resnet50_rfcn_ohem_iter_x.caffemodel,放到 py-r-fcn/py-R-FCN/data/rfcn_models 下,修改 py-R-FCN/tools/demo_rfcn.py的NETS,运行
SSD
paper:https://arxiv.org/abs/1512.02325
作者代码:https://github.com/weiliu89/caffe/tree/ssd
1.下载代码:
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
2.编译代码
cp Makefile.config.example Makefile.config
make -j8
make py
make test -j8
make runtest -j8
3.准备
1.下载caffemodel和prototxt
https://gist.github.com/weiliu ... f81d6
从上边地址下载完放到/models/VGGNET/
4.下载VOC2007和VOC2012
cd /root/data
wget http://host.robots.ox.ac.uk/pa ... 2.tar
wget http://host.robots.ox.ac.uk/pa ... 7.tar
wget http://host.robots.ox.ac.uk/pa ... 7.tar
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar
5.创建LMDB文件
cd $CAFFE_ROOT
./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh
6.训练模型
python examples/ssd/ssd_pascal.py
也可以从这里http://www.cs.unc.edu/%257Ewli ... ar.gz 下训练好的模型。
7.评估模型
python examples/ssd/score_ssd_pascal.py
8.测试模型
python examples/ssd/ssd_pascal_webcam.py #笔者这步忽略
贴几张youtube的SSD实时检测效果,视频地址:https://www.youtube.com/watch?v=6q-DBCPROA8
直接用ssd_detect.ipynb(examples/ssd_detect.ipynb)测试
9.训练其他数据集忽略
mxnet 版本的ssd
代码地址:https://github.com/zhreshold/mxnet-ssd
1.下载代码
git clone --recursive https://github.com/zhreshold/mxnet-ssd.git
2.编译mxnet
cd mxnet-ssd/mxnet
cp make/config.mk ./config.mk #自行修改配置文件
make -j8
3.下载预训练模型
地址:https://dl.dropboxusercontent. ... 2.zip。下载后解压到model下
4.测试demo
python demo.py --epoch 0 --images ./data/demo/dog.jpg --thresh 0.5
效果图:
5.其他的训练数据忽略
YOLO2
paper:https://arxiv.org/abs/1506.02640
官网:http://pjreddie.com/darknet/yolo/
1.下载代码
git clone https://github.com/pjreddie/darknet
cd darknet
make
2.下载模型
wget http://pjreddie.com/media/files/yolo.weights
3.检测
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg
效果图
其他效果图
4.所有检测
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg -thresh 0
5.在视频上检测
./darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights <video file>
faster-rcnn
paper:https://arxiv.org/abs/1506.01497
官方版本:https://github.com/ShaoqingRen/faster_rcnn #matlab
这里使用python版本:https://github.com/rbgirshick/py-faster-rcnn
1.下载代码
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git
笔者这里换了官方的源,没问题的同学可忽略
cd caffe-fast-rcnn
git remote add caffe https://github.com/BVLC/caffe.gitX86Xgit fetch caffe
git merge caffe/master
2.编译Cython模块
cd $FRCN_ROOT/lib
make
3.编译caffe和pycaffe
这里Makefile.config要支持Python layers!
In your Makefile.config, make sure to have this line uncommented
WITH_PYTHON_LAYER := 1
cd $FRCN_ROOT/caffe-fast-rcnn
make -j8 && make pycaffe
4.下载预训练模型
cd $FRCN_ROOT
./data/scripts/fetch_faster_rcnn_models.sh
5.测试demo
cd $FRCN_ROOT
./tools/demo.py
效果图:
6.其他数据集训练的此处忽略
labelImg
笔者使用的图像标注工具是labelImg,制作的格式和PASCAL VOC一样,可在windows、linux和Mac使用。
代码地址:https://github.com/tzutalin/labelImg
1.环境依赖
至少python2.6和PyQt 4.8
2.Linux/Ubuntu/Mac 安装
sudo apt-get install pyqt4-dev-tools
sudo pip install lxml
make all
./labelImg.py
Windows
在文件目录下执行
pyrcc4 -o resources.py resources.qrc
python labelImg.py
3.常规使用步骤
python labelImg.py
在File菜单选Change default saved annotation folder
点击Open Dir,打开图片路径
点击Create RectBox,画标注
4.常用快捷键
Ctrl + r 选择annotation的默认存放路径
Ctrl + n 新建一个标注
Ctrl + s 保存图片
n:下张图片
p:上一张图片
5.预先可以在 labelImg/data/predefined_classes.txt 定义标注类别
[计算机视觉][神经网络与深度学习]R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记的更多相关文章
- 【目标检测大集合】R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
R-FCN.SSD.YOLO2.faster-rcnn和labelImg实验笔记 转自:https://ask.julyedu.com/question/7490 R-FCNpaper:https:/ ...
- [计算机视觉][神经网络与深度学习]SSD安装及其训练教程
SSD的安装 在home目录下,获取SSD的代码,下载完成后有一个caffe文件夹 git clone https://github.com/weiliu89/caffe.git cd caffe g ...
- [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程2
faster-rcnn分为matlab版本和python版本,首先记录弄python版本的环境搭建过程.matlab版本见另一篇:faster-rcnn(testing): ubuntu14.04+c ...
- R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记(转)
https://ask.julyedu.com/question/7490 labelImg:https://github.com/tzutalin/labelImg
- (转)神经网络和深度学习简史(第一部分):从感知机到BP算法
深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...
- [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈
觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...
- 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验【中英】
[中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + ...
- 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】
[吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [ ]AI为我们的家庭和办公室的个人设备供电 ...
- 对比《动手学深度学习》 PDF代码+《神经网络与深度学习 》PDF
随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中 ...
随机推荐
- 《BUG创造队》第三次作业:团队项目原型设计与开发
项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验六 团队作业3:团队项目原型设计与开发 团队名称 BUG创造队 作业学习目标 ①掌握软件原型开发技术:②学会使用软件原型 ...
- python开发笔记-变长字典Series的使用
Series的基本特征: 1.类似一维数组的对象 2.由数据和索引组成 import pandas as pd >>> aSer=pd.Series([1,2.0,'a']) > ...
- 10.29-10.30Test
10.29-10.30Test 查看请点个赞 转载请注明出处(~不然~) 题目 描述 做法 \(BSOJ5161\) 从小到大放入\(n\)个数,每次他可以覆盖没被覆盖且小于等于自己的数,求每个数覆盖 ...
- 使用WinDbg调试入门(用户模式)
windbg是一个内核模式和用户模式调试器,包含在Windows调试工具中.在这里,提供个实践练习,帮助我们开始使用windbg作为用户模式调试器. 用WinDbg调试记事本 1.导航到安装目录,然后 ...
- windbg命令行选项
我们不仅可以通过GUI的方式使用Windbg,还可以通过命令行的方式使用它,且在有些需求和使用场景下,只能使用命令行模式 windbg命令行使用以下语法: windbg [ -server Serv ...
- Phalcon框架的编译安装 内存不足的解决办法
对症解决 有两种解决方法,一种是提升ECS系统内存.但是却要真金白银跟阿里云去购买的.另一种,则是手动创建swap交换文件.下面来介绍第二种方法. 第一步:首先确定系统是否已经开启swap交换分区: ...
- OpenFOAM——气泡上升
计算域的顶部为大气,其余部分为壁面 流体的物性参数为: 首先进行建模操作,任何建模软件均可,本算例采用ICEM直接建模,生成网格,然后利用OpenFOAM下转化网格,划分完成的网格如下: 网格比较密集 ...
- Confd+Consul 动态生成配置文件
一.Consul安装和配置 1.consul是什么? consul是HashiCorp公司推出的一款工具,主要用于实现分布式系统的服务发现与配置,它提供了以下几个关键特性: 服务发现:Consul客户 ...
- Redis代码示例
RedisTemplate 如果想要在java中使用Redis相关的数据结构,要先注入RedisTemplate. @Autowired private RedisTemplate<K,V> ...
- 使用RestTemplate请求报出HttpClientErrorException异常并获取不到返回body数据
描述: 使用RestTemplate请求url,由于Token等验证信息参数失效,报出 401 HttpClientErrorException异常.并且获取不到body消息体的错误信息.然而post ...