faster-rcnn实现目标检测

本文详细介绍了在PyTorch中复现faster-rcnn目标检测模型的过程,包括设置虚拟环境、准备数据集(VOC、COCO、Visual Genome)、安装预训练模型、编译和运行Demo,以及在PyCharm中调试代码。过程中遇到的问题和解决方案也被详细记录,以帮助读者避免类似困扰。
摘要由CSDN通过智能技术生成

faster-rcnn实现目标检测

写在前面

首先,我是复现的GitHub上jwyang大神的实现,看我这个帖子的时候建议同时参考其网址,网址如下:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0。

以下的实现过程本人踩了无数的坑才踩过来的,首先说明一下为什么会有坑:这个repository的原作者,无疑,是一个高手,而高手,其电脑上肯定早已配过了一系列的环境,安装过了一系列的包。但对于本菜鸡用的服务器而言,很多包肯定没装过而且装的不一样,高手虽然在这个repository中给出了所需的依赖包,但对于我来说,也许并不全,所以如果您的情况与我相似,也是可以参考下我的配置过程的哈!另外,我写这篇文章的另一个意义在于,是对这个repository进行一个整合,因为如果单单对照README.md的话,免不了会有很多网页链接要跳转,这样会很乱,所以我这里把所有要做的步骤都整合在一篇文章中。另外:我估计这个repository以后还会更新,更新之后的情况就未必适合于我在当下时间所写的配置过程,所以也请注意我的写作时间,酌情参考(不过大体思路总是一样的)。

准备虚拟环境、git clone

先在一个虚拟环境里安装好pytorch0.4.1(我知道这个repository的README里写了这个repository是支持pytorch1.0的,但是经过我实际验证,还是要用0.4.1版本。python版本要选2.7,因为之后有一步编译是需要python2.7的)。另外,依据我的个人经历,不同的工程所依赖的环境一般会有不同,为了避免环境不好配,我一怒之下决定给每一个工程创建一个专属虚拟环境。注意:如果用conda装,按照官网指令执行:conda install pytorch torchvision -c pytorch,则由于pytorch服务器在国外,则下载速度很慢,很可能会中断。所以采用pip(python install packages)从国内的清华的源来安装,这个源每5分钟同步一次,所以可以认为是最新的

conda create -n jwyang-fasterrcnn-pytorch041-py27 python=2.7
conda activate jwyang-fasterrcnn-pytorch041-py27
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch==0.4.1 torchvision

然后,把clone代码到本地,并创建个data文件夹。

mkdir Projects/ObjectDetection
cd Projects/ObjectDetection
git clone https://github.com/jwyang/faster-rcnn.pytorch.git 
#git clone如果没有指定路径就会clone到当前工作目录
cd faster-rcnn.pytorch && mkdir data

准备数据集

准备voc数据集

下载训练集、验证集、测试集和VOCdevkit:

mkdir -p ~/Projects/Data/VOC2007 #创建个存放数据的文件夹
cd ~/Projects/Data/VOC2007
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
#wget没有指定下载到哪里的话就会下载到当前工作目录,也可以用-P参数来指定。

wget是linux自带的一个命令行工具,用于下载网站/批量文件,支持HTTP和FTP。

把这些tar包里的内容都提取到一个叫VOCdevkit的文件夹下:

tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar

tar xvf FileName.tar是解包命令,tar cvf FileName.tar DirName是打包命令。tar xvf默认是解包到当前目录(新建一个文件夹,把tar包的文件都放到这个文件夹里),但实际上执行完以上三条命令,三个tar包的所有内容都在当前工作目录的VOCdevkit文件夹下,我猜想是VOCdevkit_08-Jun-2007.tar的特殊作用。

VOCdevkit文件夹下的结构应该是这样的:

$VOCdevkit
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值