使用Faster RCNN训练自己的数据集

【目标检测】用自己的数据集训练Faster RCNN的详细全过程(步骤很详细很直观,小白可入) 一、写在前面 最近和小伙伴一起参加了服务外包比赛,选择的题目是对于图像中的安全帽的检测。对YOLOv3,Faster RCNN这些常见的目标检测算法都进行了实验。本文就介绍Faster RNN的整个实验过程。 二、电脑相关配置 win10,python3.6 三、训练过程 实验选用的源码是较为常用的Faster RCNN源码。对于该源码的使用网上也有很多的博客文章,但是正是因为文章很多,所以也容易... 阅读详情
AI摘要

本文详细记录了使用Faster R-CNN训练自己数据集的过程,包括环境配置、预训练模型编译、数据集准备、训练及测试步骤。遇到的问题包括源码与Pytorch版本兼容性、COCO API的缺失、Scipy版本冲突等,并提供了解决方案。训练完成后,通过指定参数进行模型测试。

使用Faster RCNN训练自己的数据集,过程不太顺利,踩坑数次,所以把流程记录一下。

所使用的代码版本:faster-rcnn.pytorch

1.源码及环境配置

原Github版本使用的Pytorch==0.4.0,但是看了网上的博客记录这个版本有较多错误无法解决,建议使用Pytorch==1.0.0及以上版本;

  • 源码

Pytorch0.4.0版源码:https://github.com/jwyang/faster-rcnn.pytorch.git

Pytorch1.0.0版源码:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0

  • 环境配置

Ubuntu16.04

Python==3.6 + Pytorch==1.2.0

由于CUDA版本向下兼容,所以这里不作特殊说明.

  • 使用Anaconda安装虚拟环境
conda create -n faster-rcnn python=3.6

在Pytorch官网中找到对应的Pytorch与torchvision版本:

# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0

如图所示,此时cudatoolkit=10.0也会自动安装。

  • 安装其他环境依赖
pip install -r requirements.txt

2.预训练模型编译

  • 新建文件夹

(注:本文将原文件夹重命名为faster-rcnn)在文件夹中新建data文件夹

FasterRCNN训练自己的数据 前言 因为科研需要,折腾了一阵Faster RCNN. 最开始将大佬chenyuntc的simple-faster-rcnn-pytorch鼓捣了一下使之能够在Windows下面跑(有需要的朋友可以联系我),但是该代码的batch size只能设为1,跑一次实验的耗时过长。本渣尝试花了四天时间通读了一遍大佬的代码,奈何功力尚浅,还做不到大范围的修改,因此从github上找到了jwyang的fast... 阅读详情

相关推荐

在 Faster R-CNN 上训练自己的数据集

下载了 Faster R-CNN 代码,并用 DOTA 数据集作为训练和测试数据集,验证在 Faster R-CNN 上的精度。

dear_jing的博客 2849

【mmdetection】使用cascade-rcnn、faster-rcnn训练自定义的coco数据集

开始 这篇文章主要是记录我第一次使用mmdetection工具包里面的cascade-rcnn训练自己模型的经过 训练环境 本次是使用的系统是linux的ubuntu20.04 cuda=10.2 cudnn=7.6.5 anaconda=3(用于创建虚拟环境,后续的训练、测试模型也在这个虚拟环境中) (以上软件安装可以参考其他博客) pytroch=1.5.0 torchvision=0.6.0 cudatoolkit=10.2.89 mmcv-full=1.3.1 mmdetection=v2.11

qq_41627396的博客 1万+

caffe下使用Faster-rcnn训练自己的数据集

Faster-rcnn训练自己的数据集 1、 根据自己的数据集修改文件 以vgg_cnn_m_1024为例,用end2end的方式训练。 ① 打开py-faster-rcnn-master\models\pascal_voc\VGG_CNN_M_1024\faster_rcnn_end2end\train.prototxt修改4处。 name: "VGG_CNN_M_1024" layer { ...

clover_my的博客 1871

使用faster rcnn训练imageNet上的部分数据集

最近在做毕业设计,需要用到faster rcnn,训练数据使用的是我自己下载的imageNet里的部分数据,主要用到了其中的bike,motorbike,car,bus,train等交通工具。由于imageNet自带了annotation,只是格式和pascal voc不一样,所以还需要转化格式。目前我正在使用imageNet中的ship数据集来进行一个二分类的检测和识别,即background和

xbcReal的博客 8381

使用自己的数据集训练faster-rcnn

在安装完成caffe后,并且编译完成github上的faster-rcnn python版之后,可以采用自己的数据来训练faster-rcnn了。 一,文件修改: 1,在py-faster-rcnn目录下,找到lib/datasets/pascal_voc.py 文件打开逐一修改相应的函数: 如果打算添加中文注释请,在文件开图添加#encoding:utf-8,不然会报错。 以下为修改

pym1993的博客 3360

使用kaist数据集训练tf-faster-rcnn

使用kaist数据集训练tf-faster-rcnn 首先是修改pascal_voc.py,新建自己的kaist_rgb.py pacal_voc的数据格式很麻烦,annotation是xml格式,自己的数据一般都是txt,所以,不会像读取pascal_voc数据那么复杂。下面是前人在pascal_voc.py 基础上写的kaist Dataset的接口: # -------------...

z_Ramsey的博客 3731

TOPCon vs PERC:2024年光伏电站投资,哪种技术更划算?

本文深入分析了2024年光伏电站投资中TOPCon与PERC技术的财务表现。通过对比初始系统成本、全生命周期发电量及环境适应性,指出当前TOPCon组件与PERC价差已显著缩小,其更高的转换效率和更低的衰减率能有效降低度电成本并提升项目内部收益率,为投资者提供更具长期价值的方案。

p5l2m9n4o6q的博客 265

Dev C++调试程序方法详解

Dev C++调试程序方法详解

weixin_70641798的博客 1万+

手把手教你用EGM96模型校正DEM数据(含在线工具推荐)

本文详细介绍了如何使用EGM96地球重力场模型校正DEM数据中的高程偏差。通过对比WGS84椭球面与大地水准面的差异,解释了校正原理,并提供了从在线工具快速验证到Python脚本批量处理的全流程实战指南,帮助GIS开发者和数据分析师确保高程数据基准一致,提升空间分析精度。

ttt77的博客 1007

蓝牙开发实战:如何用Wireshark抓取HCI协议包(附完整分析步骤)

本文详细介绍了如何使用Wireshark抓取和分析蓝牙HCI协议包,包括环境搭建、过滤器配置技巧、数据包深度解析及高级调试方法。通过实战案例,帮助开发者快速定位蓝牙连接问题,提升调试效率。

cuda7parallel的博客 1147

PLC凸轮开关指令编程应用——控制算法

凸轮开关指令的作用是在PLC程序中根据凸轮开关(Cam Switch)的状态执行不同的操作。凸轮开关通常是机械式的开关装置,它的位置会随着机械运动的变化而改变。凸轮开关的状态可以用来检测机器的位置、角度或其他相关信息,从而触发相应的控制动作。总结起来,凸轮开关指令是PLC编程中常用的一种控制算法,通过检测凸轮开关的状态来触发相应的操作。本文将介绍凸轮开关指令的应用和相应的控制算法,并提供相关的源代码示例。在这个示例中,凸轮开关状态的值代表不同的位置,根据凸轮开关状态的不同,执行相应的动作。

LiJavascript的博客 1034

YOLO11改进|卷积篇|引入多样化分支块DBB

YOLO11中添加多样化分支块DBB

A1983Z的博客 1443

小论文/大论文必备 | YOLO多模态目标检测、绘制曲线对比图 | 引入多种绘制曲线对比图,包括mAP0.5,mAP0.5:0.95,Loss损失变化的曲线对比

本文通过可视化方法分析YOLO多模态模型的训练过程,对比不同实验的检测精度和损失函数变化。主要内容包括:1)绘制mAP@0.5和mAP@0.5:0.95曲线评估检测精度;2)分析边界框回归损失(box_loss)、分类损失(cls_loss)和分布式损失(dfl_loss)的收敛趋势;3)提供完整的Python代码实现,支持多实验对比,可生成高清曲线图。该方法能直观展示模型训练效果,便于优化策略评估和参数调优。

Ai缝合怪、助力小伙伴高效发论文 260

YOLO26 无损剪枝:稀疏训练 + 结构化通道裁剪

YOLO26 无损剪枝链路:YOLO26s (7.2M) → 稀疏训练 30 epoch (L1 on BN gamma, lam=0.01) → 阈值剪枝 50% (gamma<quantile(0.5)) → 结构化重建 Conv+BN → 微调 10 epoch (lr=1e-4) → YOLO26n (1.9M, mAP50 0.808, 仅降 0.6%)。核心贡献:稀疏训练让 BN gamma 趋向二元分布 (近 0 或近 1), 剪枝阈值可直接取 median 自动 50% 压缩。

m0_64661770的博客 263

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 解决“测试TensorRT安装过程中download_pgms.py报错”问题
下一篇: Ubuntu查看文件(夹)数目
Zpadger
博客等级 码龄10年 153粉丝 112原创
评论 21
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值