深度学习(十五):Matconvnet小试fast-rcnn目标检测

该节来试验一下Matconvnet集成的fast-rcnn目标检测模型。

去Matconvnet的官网可以发现,当前最新一版的Matconvnet-1.0-beta23 集成了fast-rcnn模型,注意不是faster-rcnn模型,至于他们为什么不开发当前最新的faster-rcnn模型,可能是faster-rcnn本身也出来不是很久(不到一年),来不及集成,相信未来会集成的吧。总的来说faster-rcnn比fast-rcnn的性能提升了不少,尤其在时间上,专门做目标检测的可能会用faster-rcnn,当前的faster-rcnn版本都是基于caffe做的,原版的faster-rcnn是c++代码,linux下运行较好,当然也有matlab版本的接口,但是也是基于caffe做的。所以要想把faster-rcnn配置成功,配过caffe的同学应该都知道,不是一两下就可以完成的,当然也不难,现在基本上都有给好的配置包,也很容易。

贴上一个博友教程:

FastR-CNN / FarsterR-CNN 目标检测

ok,本节主要来试一下这个工具箱集成的fast-rcnn。用这个工具箱的好处在于,脱离了caffe框架,模型完全引用自己的函数,一键编译可用,总的来说是简单吧。

Ok首先是下载这个最新的工具箱,http://www.vlfeat.org/matconvnet/

解压编译安装,步骤去看上上上节的内容吧,基本上完全一样。
假设安装完成,编译也完成正确,(最好gpu模式),然后打开例子程序,一键fast_rcnn_demo,就完成了,简单的不能再简单了。稍等片刻,下载训练好的model(想快点,自己就在程序中找网站去官网下载,然后放到指定位置即可)。
深度学习(十五):Matconvnet小试fast-rcnn目标检测_第1张图片

官网目前提供三个model,两个小一点的200多兆,一个vgg400多兆。一般情况下vgg的model用笔记本跑基本上会崩(我的电脑差点崩了),所以不建议下载vgg的model,自己在程序里面把它改一下换成别的model(model名字可以在官网上找到)。vgg的model准确率更高点。
这里我先用vgg跑了一下,结果如下:

深度学习(十五):Matconvnet小试fast-rcnn目标检测_第2张图片

另外两个的model在这个图像上的结果相似。
换一张图片,我们将要检测的目标换成人:

opts.classes = {
     'person'} ;

如下:
深度学习(十五):Matconvnet小试fast-rcnn目标检测_第3张图片

总的来说还可以,就是速度慢,一张图2秒多,如果换成faster-rcnn应该只需要0点几秒。

Ok这是小试验一下这个模型,这个例子里面你还可以自己训练这个fast-rcnn,可以自行去运行fast_rcnn_train的函数吧,后面有空希望找一个自己的数据集用他来训练一把看看效果,在不追求速度的情况下可以用它来找目标,同时还可以提取特征,还是很好的。

你可能感兴趣的:(深度学习,深度学习)