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

pointrcnn训练自己的模型(pointrcnn代码)torchvision 在更新到 0 3 版本后 增添了很多新的功能 其中就包括整个目标检测算法 分割算法模块 这里打算将 Faster rcnn 代码从 torchvision 分离出来 并分组件记录下 Pytorch torchvision 官方实现的 Faster rcnn 代码并做记录和注释 注 各个模块的代码均可以在 0 3 0 版本的 torchvision 中找到 torchvision github 地址

大家好,我是讯享网,很高兴认识大家。



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数据集的步骤。

小讯
上一篇 2025-05-01 23:08
下一篇 2025-04-22 15:52

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/182770.html