pytorch 目标检测 图像预处理

Faster RCNN 和Retinanet在将图像数据输送到网络之前,要对图像数据进行预处理。大致上与博客提到的相同。

事实上还可以采取第三步,将图片的宽和高扩展为32的整倍数,正如在Retinanet使用的。下面是一个简单的Pytorch数据预处理模块:

class Resizer():
    def __call__(self, sample, targetSize=608, maxSize=1024, pad_N=32):
        image, anns = sample[‘img‘], sample[‘ann‘]
        rows, cols = image.shape[:2]

        smaller_size, larger_size = min(rows, cols), max(rows, cols)
        scale = targetSize / smaller_size
        if larger_size * scale > maxSize:
            scale = maxSize / larger_size
        image = skimage.transform.resize(image, (int(round(rows*scale)),
                                                 int(round(cols*scale))),
                                         mode=‘constant‘)
        rows, cols, cns = image.shape[:3]

        pad_w, pad_h = (pad_N - cols % pad_N), (pad_N - rows % pad_N)
        new_image = np.zeros((rows + pad_h, cols + pad_w, cns)).astype(np.float32)
        new_image[:rows, :cols, :] = image.astype(np.float32)

        anns[:, :4] *= scale
        return {‘img‘: torch.from_numpy(new_image),
                ‘ann‘:torch.from_numpy(anns),
                ‘scale‘:scale}

原文地址:https://www.cnblogs.com/zi-wang/p/9965807.html

时间: 2024-08-01 16:06:05

pytorch 目标检测 图像预处理的相关文章

# PyTorch目标检测学习小结

一.环境搭建 当前:Windows10 + Anaconda3.6 1.1 创建PyTorch的虚拟环境 打开Anaconda中的Anaconda Prompt那个黑框框,输入: #注意这里pytorch是自己设置的虚拟环境名称,可以随意取 conda create --name pytorch python=3.6 之后输入y,创建pytorch虚拟环境.以下是一些常规命令: #进入到虚拟环境 activate pytorch #切回root环境 activate root #删除虚拟环境 c

从零开始实现SSD目标检测(pytorch)(一)

目录 从零开始实现SSD目标检测(pytorch) 第一章 相关概念概述 1.1 检测框表示 1.2 交并比 第二章 基础网络 第三章 先验框设计 第四章 LOSS设计 从零开始实现SSD目标检测(pytorch) 特别说明: 本系列文章是Pytorch目标检测手册的翻译+总结 知其然知其所以然,光看论文不够,得亲自实现 第一章 相关概念概述 1.1 检测框表示 边界宽(bounding box)是包围一个物体(objective)的框,用来表示这个物体的位置.形状.大小等信息.不是最小外接矩形

使用Caffe完成图像目标检测 和 caffe 全卷积网络

一.[用Python学习Caffe]2. 使用Caffe完成图像目标检测 标签: pythoncaffe深度学习目标检测ssd 2017-06-22 22:08 207人阅读 评论(0) 收藏 举报  分类: 机器学习(22)  深度学习(12)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 2. 使用Caffe完成图像目标检测 本节将以一个快速的图像目标检测网络SSD作为例子,通过Python Caffe来进行图像目标检测. 必须安装windows-ssd版本的Ca

pytorch COCO2017 目标检测 (一)DataLoader

pytorch coco 目标检测 DataLoader实现 pytorch实现目标检测目标检测算法首先要实现数据的读入,即实现Dataset和DataLoader两个类. 借助pycocotools实现了CoCo2017用于目标检测数据的读取,并使用cv2显示. 分析 使用cv2显示读入数据,或者要送入到网络的数据应该有三个部分 图像,Nx3xHeight x Width BBs,NxMx4 类型,NxMx1 因此,可以将BBs和类型组成一个.Pytorch默认的数据类型是batchsize

目标检测的图像特征提取之(一)HOG特征(转载)

目标检测的图像特征提取之(一)HOG特征 [email protected] http://blog.csdn.net/zouxy09 1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功.需要提醒的是,HOG+SVM进行行人检测的方法是法

一文带你学会使用YOLO及Opencv完成图像及视频流目标检测(上)|附源码

计算机视觉领域中,目标检测一直是工业应用上比较热门且成熟的应用领域,比如人脸识别.行人检测等,国内的旷视科技.商汤科技等公司在该领域占据行业领先地位.相对于图像分类任务而言,目标检测会更加复杂一些,不仅需要知道这是哪一类图像,而且要知道图像中所包含的内容有什么及其在图像中的位置,因此,其工业应用比较广泛.那么,今天将向读者介绍该领域中表现优异的一种算算法--"你只需要看一次"(you only look once,yolo),提出该算法的作者风趣幽默可爱,其个人主页及论文风格显示了其性

【数字图像处理】目标检测的图像特征提取之HOG特征

1.HOG特征 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功.需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主. (1)主要

航空遥感图像(Aerial Images)目标检测数据集汇总

常规目标检测数据集有很多,现在前沿的目标检测算法(如Faster R-CNN, Yolo, SSD, Mask R-CNN等)基本都是在这些常规数据集上实验的,但是,基于常规数据集训练的分类器,在航空遥感图像上的检测效果并不好,主要原因是航空遥感图像有其特殊性: 1,尺度多样性,航空遥感图像从几百米到近万米的拍摄高度都有,且地面目标即使是同类目标也大小不一,如港口的轮船大的有300多米,小的也只有数十米: 2,视角特殊性,航空遥感图像的视角基本都是高空俯视,但常规数据集大部分还是地面水平视角,所

目标检测SSD模型pytorch版的权重参数

最近,我在学习目标检测算法中的SSD(Single Shot MultiBox Detector),GitHub上已经有人对SSD算法完成了pytorch版本的代码实现(https://github.com/amdegroot/ssd.pytorch),但是其中训练好的参数(ssd300_mAP_77.43_v2.pth)并不容易下载,因此我把它分享出来:链接:https://pan.baidu.com/s/1inytkGtOtppgrf22AEwrOQ,提取码:u721. 原文地址:https