当前位置:网站首页 > R语言数据分析 > 正文

pointrcnn训练自己的模型(pointrcnn代码)



torchvision在更新到0.3版本后,增添了很多新的功能,其中就包括整个目标检测算法/分割算法模块。这里打算将Faster-rcnn代码从torchvision分离出来,并分组件记录下Pytorch torchvision官方实现的Faster-rcnn代码并做记录和注释。

注:各个模块的代码均可以在0.3.0+版本的torchvision中找到

torchvision github地址:https://github.com/pytorch/vision

目录

数据读取

准备工作

读取coco数据集

创建自己的data transform

定义ConvertCocoPolysToMask

定义Compose

定义RandomHorizontalFlip

定义ToTensor

使用自己定义的transforms


首先要确保torchvision升级到0.3.0版本以上,另外加载coco数据集需要用到pycocotools api,需要提前安装。没有安装的可以利用下述命令安装:

torchvision中实现了coco数据集的读取api ,其定义如下:

(root, annFile, transform=None, target_transform=None, transforms=None)

其中参数定义:

  • root : coco图片路径
  • annFile : 标注文件路径
  • transform : 图像转换(用于PIL)
  • target_transform : 标注转换
  • transforms : 图像和标注的转换

一个简单的pytorch coco dataloader创建及可视化程序如下:

效果:

faster rcnn 数据集制作_数据读取

注意由于coco中的图片大小不一致,因此需要使用BatchSampler并重新定义collate_fn。

注意

定义ConvertCocoPolysToMask

ConvertCocoPolysToMask将每个image对应的target转化成为一个dict,这个dict中保存了该图片的所有标注信息,其中对于目标检测的有用信息是boxes和labels,其如下:

定义Compose

compose用于执行对image和target的transform,对应于torchvision.transforms中的Compose()类

定义RandomHorizontalFlip

RandomHorizontalFlip实现对image和target的水平翻转

定义ToTensor

ToTensor将image转化为Pytorch Tensor类型:

使用自己定义的transforms

我们将上述函数定义在transforms.py中,就可以使用自己定义的transfrom了。在使用的时候只需要将coco_dataset的定义改为如下即可:

至此,我们就完成了通过torchvision读取coco数据集的步骤。

到此这篇pointrcnn训练自己的模型(pointrcnn代码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • airplanechefs官网(airplanechefs官网下载安卓版)2025-10-23 16:00:07
  • docker发展史(docker诞生于哪一年)2025-10-23 16:00:07
  • redis命令行连接(redismanager连接redis)2025-10-23 16:00:07
  • spring web和webmvc有什么区别(springmvc和spring区别)2025-10-23 16:00:07
  • sore 什么意思(cold sore什么意思)2025-10-23 16:00:07
  • docker版本(docker版本区别)2025-10-23 16:00:07
  • stories怎么读(chinesestories怎么读)2025-10-23 16:00:07
  • swagger使用教程(swagger详解)2025-10-23 16:00:07
  • ar模块是什么(argparse模块用法)2025-10-23 16:00:07
  • torna(tornado的复数)2025-10-23 16:00:07
  • 全屏图片