faster-rcnn训练自己的数据集

YYYYQQQQ YYYYQQQQ     2022-09-04     573

关键词:

按照下面这个博客制作自己的数据集:

http://blog.csdn.net/sinat_30071459/article/details/50723212

按照下面这个博客修改faster-rcnn源码,训练自己的数据:

http://blog.csdn.net/sinat_30071459/article/details/51332084

训练自己的数据的时候如果提示assert (boxes[:, 2] >= boxes[:, 0]).all()这样的AssertionError,有下面几种解决方法:

1、训练前把output文件夹删除(或改个其他名),还要把py-faster-rcnn/data/cache中的文件和

py-faster-rcnn/data/VOCdevkit2007/annotations_cache中的文件删除(如果有的话)。

2、因为VOC2007 的矩形标注坐标是以1为基准的(1-based),而我们在处理图像坐标都是0起始的(0-based)。在py-faster-rcnn/lib/datasets/pascal_voc.py (line 207)文件中会对Xmin,Ymin,Xmax,Ymax进行减1操作。

# Make pixel indexes 0-based
x1 = float(bbox.find(xmin).text) - 1 y1 = float(bbox.find(ymin).text) - 1 x2 = float(bbox.find(xmax).text) - 1 y2 = float(bbox.find(ymax).text) - 1 cls = self._class_to_ind[obj.find(name).text.lower().strip()] boxes[ix, :] = [x1, y1, x2, y2] gt_classes[ix] = cls overlaps[ix, cls] = 1.0 seg_areas[ix] = (x2 - x1 + 1) * (y2 - y1 + 1)

xmin,ymin,xmax,ymax的含义:

xmin,ymin为矩形的左上角坐标(x,y),xmax=x+w-1,ymax=y+h-1

错误来自于py-faster-rcnn/lib/datasets/imdb.py文件中append_flipped_images(self)函数中:

def append_flipped_images(self):  
        num_images = self.num_images  
        widths = [PIL.Image.open(self.image_path_at(i)).size[0]  
                  for i in xrange(num_images)]  
        for i in xrange(num_images):  
            boxes = self.roidb[i][boxes].copy()  
            oldx1 = boxes[:, 0].copy()  
            oldx2 = boxes[:, 2].copy()  
            boxes[:, 0] = widths[i] - oldx2 - 1  
            print boxes[:, 0]  
            boxes[:, 2] = widths[i] - oldx1 - 1  
            print boxes[:, 0]  
            assert (boxes[:, 2] >= boxes[:, 0]).all()  
            entry = {boxes : boxes,  
                     gt_overlaps : self.roidb[i][gt_overlaps],  
                     gt_classes : self.roidb[i][gt_classes],  
                     flipped : True}  
            self.roidb.append(entry)  
        self._image_index = self._image_index * 2  

所以在生成XML文件的时候就一定要以1为基准(1-based)来生成。

3、如果已经将你的标注xml中的坐标统一为1-based坐标了,但在执行训练的时候还是会有上面的Assert错误,那么就要好好检查你的标注数据中,是不是有超出图像范围的矩形。如果有,一定要修正。

faster-rcnn训练自己的数据集——备忘

...。刚刚调通,记下来,以备以后自己少走些弯路。配置py-faster-rcnn没什么好记的,文档也很多。先说下数据集,需要准备三个文件夹:Annotations  Images &n 查看详情

转载faster-rcnn+zf用自己的数据集训练模型(matlab版本)

...以看http://blog.csdn.net/sinat_30071459/article/details/50723212) Faster-RCNN源码下载地址:Matlab版本:https://github.com/ShaoqingRen/faster_rcnnPyt 查看详情

windows下使用自己制作的数据集训练faster-rcnn(tensorflow版)用于目标检测

步骤一下载配置windows下tensorflow版faster-rcnn,参考博客:windows10下运行tensorflow版的faster-Rcnn步骤二制作自己的数据集参考博客:http://blog.csdn.net/u011574296/article/details/78953681步骤三用你的Annotations,Imag 查看详情

深度学习caffe实战笔记(19)windows平台faster-rcnn制作自己的数据集

...过程,这篇博客先介绍如果制作voc2007自己的数据集用于faster-rcnn训练,下一篇博客介绍如何用faster-rcnn训练自己的数据。1、准备图像图像要用.jpg或者jpeg格式的,如果是png或者其它格式,自己转换一下就好,图像名称要用000001.jpg... 查看详情

折腾faster-rcnn(三)--训练篇

...(空格分隔):Linux深度学习前面,我们已经成功跑起来faster-rcnn,并且自己动手训练了PascalVOC2007图像集,但是笔者接下来继续沿着官方文件跑PascalVOC2012,训练到第二阶段的某个点,程序就开始报错退出。查看logs发现,找不到... 查看详情

使用labelimg制作自己的数据集(voc2007格式)用于faster-rcnn训练(代码片段)

https://blog.csdn.net/u011956147/article/details/53239325https://blog.csdn.net/u011574296/article/details/789536812018年01月02日17:13:59 ZealCV 阅读数:10459 标签: faster-r-cnn数据标注 更多个人分类: 深度学习 版权声明:本文为博主... 查看详情

在自定义数据集上训练 Faster-RCNN 模型时加载检查点

】在自定义数据集上训练Faster-RCNN模型时加载检查点【英文标题】:LoadingcheckpointswhiletrainingaFaster-RCNNmodelonacustomdataset【发布时间】:2021-12-1002:16:09【问题描述】:我正在尝试使用Faster-RCNN架构(准确地说是FasterR-CNNResNet50V1640x640,... 查看详情

深度学习和目标检测系列教程11-300:小麦数据集训练faster-rcnn模型(代码片段)

@Author:Runsen上次训练的Faster-RCNN的数据格式是xml和jpg图片提供,在很多Object-Detection中,数据有的是csv格式,数据集来源:https://www.kaggle.com/c/global-wheat-detectionwidth和heigth是图片的长和宽,b 查看详情

pytorch Faster-RCNN 的验证损失

】pytorchFaster-RCNN的验证损失【英文标题】:ValidationlossforpytorchFaster-RCNN【发布时间】:2020-06-0522:10:21【问题描述】:我目前正在使用从pytorch预训练的Faster-RCNN模型(例如在torchvisiontutorial中)的迁移学习对自定义数据集进行对象检... 查看详情

yolov7训练自己的数据集(口罩检测)(代码片段)

YOLOv7训练自己的数据集(口罩检测)前言前提条件实验环境项目结构制作自己的数据集数据集目录结构训练自己的数据集VOC格式数据集转换成YOLO格式数据集修改cfg配置新建一个myyolov7.yaml配置文件myyolov7.yaml内容创建自己... 查看详情

yolov7训练自己的数据集(代码片段)

yolov7训练自己的数据集一.安装yolov7并配置1.安装Anaconda2.创建虚拟环境3.下载yolov7源码4.下载权重5.安装依赖二.运行目标检测三.训练自的数据集1.创建所需文件2.下载labelImg标注工具3.配置训练的相关文件四.正式训练五.使用自己的... 查看详情

pytorch定义并训练自己的数字数据集

...触很多教程都是直接加载datasets已有的MNIST等,如果想要训练自己的数据就可以采用这个方法。基本步骤:获取并读取数据-->定义网络模型和损失函数-->使用优化算法训练模型-->利用验证数据集求取网络识别准确度1、首先... 查看详情

深度学习和目标检测系列教程10-300:通过torch训练第一个faster-rcnn模型(代码片段)

@Author:Runsen上次介绍了Faster-RCNN模型,那么今天就开始训练第一个Faster-RCNN模型。本文将展示如何在水果图像数据集上使用Faster-RCNN模型。代码的灵感来自此处的Pytorch文档教程和Kagglehttps://pytorch.org/tutorials/intermediate/torc... 查看详情

如何在 caffe 中训练/测试我自己的数据集?

】如何在caffe中训练/测试我自己的数据集?【英文标题】:Howtotraining/testingmyowndatasetincaffe?【发布时间】:2016-03-1820:53:55【问题描述】:我从Caffe开始,mnist示例运行良好。我的火车和标签数据为data.mat。(我有300个训练数据,其... 查看详情

如何在 caffe 中训练/测试我自己的数据集?

】如何在caffe中训练/测试我自己的数据集?【英文标题】:Howtotraining/testingmyowndatasetincaffe?【发布时间】:2016-10-1614:36:34【问题描述】:我从Caffe开始,mnist示例运行良好。我的火车和标签数据为data.mat。(我有300个训练数据,其... 查看详情

mmdetection训练自己的coco数据集(代码片段)

训练前的准备训练数据的导入将自己的COCO数据集放入到下载的mmdetection的源码里,(如果没有data文件夹需要新建)data->COCO->你的COCO数据集文件格式如下:mmdetection├──mmdet├──tools├──configs├──data│... 查看详情

yolox训练自己的数据集(超详细)

...些库文件        (3)、安装apex文件二、YOLOX训练自己的数据集1、数据集预处理2、修改代码(1ÿ 查看详情

在自己的数据集上训练 TensorFlow 对象检测

】在自己的数据集上训练TensorFlow对象检测【英文标题】:TrainTensorflowObjectDetectiononowndataset【发布时间】:2017-12-1121:27:26【问题描述】:在花了几天时间尝试完成这项任务后,我想分享一下我如何回答这个问题的经验:如何使用TS... 查看详情