Fast-RCNN安装与使用(跑demo)

本文详细介绍了如何安装和使用Fast-RCNN,一个基于深度卷积神经网络的目标检测框架。Fast-RCNN在训练和检测速度上显著优于RCNN和SPPnet,并且在PASCAL VOC数据集上表现出更高的mAP。首先,文章讨论了安装前的准备,包括安装caffe和确保GPU支持。接着,详述了安装Fast-RCNN代码、编译Cython和caffe的过程。最后,通过运行python脚本展示了跑demo的步骤,结果显示Fast-RCNN在复杂场景下的目标检测效果良好。

Fast-RCNN是一个基于深度卷积神经网络(deep ConvNets)实现的快速目标检测框架,代码作者Ross Girshick在RCNN的基础上增加了Multi task training,使得整个的训练过程和测试过程比RCNN快了许多。Fast-RCNN主要有以下特点:

  • 训练先进的模型比如VGG16,比RCNN快9倍,比SPPnet快3倍
  • 在检测时比RCNN快200倍,比SPPnet快10倍
  • 在PASCAL VOC数据集上mAP比RCNN和SPPnet有显著提高
  • 基于Python、C++和caffe

1.安装前的准备

  • caffe
    fast-rcnn是基于caffe写的,所以必须要安装caffe,因为rbg的demo是用python写的,所以还要保证pycaffe编译通过。具体的Makefile.config文件请参考这里。安装过程中有可能提示缺少cython,python-opencv,easydict,这些问题我没遇到,这些都是依赖的一些东西,如果遇到请安装一下。

  • GPU
    CPU训练和检测速度太慢了,所以我们需要一个好的GPU,作者提供了几种预训练的模型,分别是S号模型CaffeNet,M号模型VGG_CNN_M_1024,这两个模型需要至少3G内存的Titan,K20,K40 GPU。如果训练L号模型VGG16,则必须11G内存的K40,这里我用的是K40的服务器。

2.安装

  • clone rbg的代码
    要想用fast-rcnn第一步肯定是clone rbg的代码,地址在
<think>我们正在讨论Faster R-CNN的安装方法。用户希望了解如何安装Faster R-CNN,并且之前已经提供了一种基于mmdetection的安装方法。同时,用户也提供了一些引用内容,其中引用[2]显示了在安装pva-faster-rcnn时遇到的错误。因此,我们需要提供安装Faster R-CNN的详细步骤,并注意可能的错误。 有两种主流的Faster R-CNN实现: 1. 官方原始的Faster R-CNN(基于Caffe-安装较为复杂,依赖Caffe,且容易出现环境问题。 2. 基于PyTorch的实现(如mmdetection) - 推荐,因为PyTorch环境更容易配置。 考虑到用户使用VSCode远程控制,并且之前已经介绍了使用mmdetection安装的方法,这里可以再详细说明一下使用mmdetection安装Faster R-CNN的步骤,同时也可以提及原始Caffe版本的安装方法(但提醒可能遇到的困难)。 由于用户引用[2]中出现了gpu_nms的编译错误,这是原始Caffe版本常见的问题。因此,我们优先推荐使用mmdetection的方式。 ### 安装方法一:使用mmdetection(推荐) #### 步骤1:创建虚拟环境(可选但推荐) ```bash conda create -n faster_rcnn python=3.8 -y conda activate faster_rcnn ``` #### 步骤2:安装PyTorch 根据CUDA版本安装合适的PyTorch,例如CUDA 11.3: ```bash pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113 ``` #### 步骤3:安装mmcv和mmdetection ```bash pip install openmim mim install mmengine mim install "mmcv>=2.0.0" ``` #### 步骤4:安装mmdetection ```bash git clone https://github.com/open-mmlab/mmdetection.git cd mmdetection pip install -v -e . ``` #### 步骤5:验证安装 ```python import mmdet print(mmdet.__version__) ``` ### 安装方法二:原始Caffe版本(不推荐,可能遇到较多问题) #### 步骤1:克隆仓库 ```bash git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git cd py-faster-rcnn ``` #### 步骤2:安装依赖 ```bash cd caffe-fast-rcnn # 根据需求修改Makefile.config(例如开启GPU、设置路径等) cp Makefile.config.example Makefile.config # 修改Makefile.config,设置BLAS为atlas或openblas,并设置CUDA路径等 make -j8 && make pycaffe ``` #### 步骤3:安装Python依赖 ```bash cd .. pip install -r requirements.txt ``` #### 步骤4:编译lib ```bash cd lib make ``` #### 步骤5:测试 ```bash ./tools/demo.py ``` 但这一步可能会遇到引用[2]中的错误,即gpu_nms编译问题。解决方法通常是: 1. 确保CUDA环境变量正确。 2. 重新编译lib:进入`lib`目录,运行`make clean`,然后`make`。 3. 如果问题依旧,尝试在`lib/nms`目录下,修改`setup.py`,将`-DGPU`添加到`extra_compile_args`中,然后重新编译。 ### 注意事项 - 推荐使用mmdetection,因为它更易于维护,且支持最新的PyTorch。 - 原始Caffe版本需要较旧版本的依赖(如Python2.7),且编译过程复杂。 ### 相关问题 1. Faster R-CNN安装需要哪些前置条件? 2. 在安装过程中遇到CUDA相关错误怎么办? 3. mmdetection安装后如何使用Faster R-CNN模型进行预测? </think>以下是Faster R-CNN的详细安装方法,主要基于PyTorch实现(MMDetection框架),并提供替代方案参考: ### 一、推荐安装方法:通过MMDetection框架 #### 1. 环境准备(Python 3.7+) ```bash conda create -n faster_rcnn python=3.8 conda activate faster_rcnn ``` #### 2. 安装PyTorch(选择对应CUDA版本) ```bash # 示例(CUDA 11.3) pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 -f https://download.pytorch.org/whl/cu113/torch_stable.html ``` #### 3. 安装MMCV和MMDetection ```bash pip install -U openmim mim install mmengine mim install "mmcv>=2.0.0" git clone https://github.com/open-mmlab/mmdetection.git cd mmdetection pip install -v -e . # 可添加 -v 查看详细安装过程 ``` #### 4. 验证安装 ```python from mmdet.apis import init_detector print("Faster R-CNN安装成功!") # 无报错即表示成功 ``` ### 二、替代方案:原始Caffe版本 #### 1. 克隆仓库 ```bash git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git ``` #### 2. 安装依赖 ```bash # 安装Cython等基础库 pip install cython easydict opencv-python # 编译Caffe cd py-faster-rcnn/caffe-fast-rcnn make -j8 && make pycaffe ``` #### 3. 编译依赖库 ```bash cd ../lib make # 若遇gpu_nms错误参考[^2] ``` ### 常见问题解决 1. **CUDA相关错误**:确保`nvcc`版本PyTorch匹配 2. **依赖冲突**:使用虚拟环境隔离,或尝试: ```bash pip install --force-reinstall mmcv-full # 强制重装依赖 ``` 3. **GPU_NMS未定义符号**(参考[^2]): ```bash cd lib/nms make clean make CUDA_ARCH="-gencode arch=compute_75,code=sm_75" # 根据GPU架构修改 ``` ### 硬件建议 - **最小配置**:NVIDIA GPU(≥4GB显存),16GB RAM - **推荐配置**:RTX 3060+(12GB显存),32GB RAM - 训练COCO数据集需≥11GB显存[^1] ### 快速验证代码 ```python # mmdetection示例 from mmdet.apis import init_detector, inference_detector config = 'configs/faster_rcnn/faster-rcnn_r50_fpn_1x_coco.py' checkpoint = 'https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth' model = init_detector(config, checkpoint) result = inference_detector(model, 'demo.jpg') # 输入测试图像路径 ```
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值