Faster Rcnn 代码解读之 blob.py

2023-10-27

# --------------------------------------------------------
# Fast R-CNN
# Copyright (c) 2015 Microsoft
# Licensed under The MIT License [see LICENSE for details]
# Written by Ross Girshick
# --------------------------------------------------------

"""Blob helper functions."""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import numpy as np
import cv2


# ims是缩放后的图片列表
# 作用:将缩放后的图片信息存到blob中
def im_list_to_blob(ims):
    """Convert a list of images into a network input.

    Assumes images are already prepared (means subtracted, BGR order, ...).
    """
    # ims里不同图片的shape可能不一样,取出其最大值
    max_shape = np.array([im.shape for im in ims]).max(axis=0)
    num_images = len(ims)
    # 构建一个全0的array,3代表BGR通道
    blob = np.zeros((num_images, max_shape[0], max_shape[1], 3),
                    dtype=np.float32)
    # 然后把图片信息赋值到blob中
    for i in range(num_images):
        im = ims[i]
        blob[i, 0:im.shape[0], 0:im.shape[1], :] = im

    return blob


# 对图片进行缩放,返回缩放后的img和比例
def prep_im_for_blob(im, pixel_means, target_size, max_size):
    """Mean subtract and scale an image for use in a blob."""
    im = im.astype(np.float32, copy=False)
    # Pixel mean values (BGR order) as a (1, 1, 3) array
    # 减去3通道的平均值
    im -= pixel_means  # __C.PIXEL_MEANS = np.array([[[102.9801, 115.9465, 122.7717]]])
    im_shape = im.shape  # (w,h,3)
    # 比较长宽获得最大最小值
    im_size_min = np.min(im_shape[0:2])
    im_size_max = np.max(im_shape[0:2])
    # 缩放比例,距离目标尺寸的比例
    im_scale = float(target_size) / float(im_size_min)
    # Prevent the biggest axis from being more than MAX_SIZE
    # 防止最长的边超过max_size
    if np.round(im_scale * im_size_max) > max_size:  # __C.TRAIN.MAX_SIZE = 1200
        im_scale = float(max_size) / float(im_size_max)
    # 对im进行缩放,缩放比例为im_scale
    im = cv2.resize(im, None, None, fx=im_scale, fy=im_scale,
                    interpolation=cv2.INTER_LINEAR)

    return im, im_scale

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Faster Rcnn 代码解读之 blob.py 的相关文章

  • FasterRcnn在Jetson TX2上测速

    博主测试了在不同模式 精度下将FasterRCNN部署到Jetson TX2上的测速结果 xff0c 与大家分享讨论 对于MaskRCNN的部署结果可参见 MaskRCNN在Jetson tx2上的测速结果 使用的Caffe版本Faster
  • pytorch+FasterRCNN在Jetson Xavier上的测速

    测速结果为原创 xff0c 转载需附带本文链接 基本配置 xff1a ResNet50 43 FPN xff0c 输出尺寸600x1000 其它Jetson开发板测速结果 1 MaskRCNN 43 TensorRT在Jetson tx2上
  • pytorch+FasterRCNN在Jetson Xavier NX上的测速

    测速结果为原创 xff0c 转载需附带链接 基本配置 xff1a Jetpack 4 4 DP Pytorch 1 2 for DP 其它Jetson开发板测速结果 1 MaskRCNN 43 TensorRT在Jetson tx2上的测速
  • 使用DOTA数据集训练Faster R-CNN模型

    一 所需文件下载链接 二 基础环境配置 三 训练及测试过程 使用Faster R CNN算法在DOTA数据集上实现目标检测 使用Faster R CNN算法在VOC2007数据集上实现目标检测的详细步骤 Windows10 Faster R
  • 基于机器视觉的水果检测算法实现

    一 摘要 这是一款基于卷积神经网络和数字图像处理的智能水果检测和分类系统 由检测 分类两个部分组成 通过互联网下载和使用多媒体处理工具对水果拍摄视频剪辑处理得到大量水果图片 对图片进行标定获得数据集 并将数据集分成训练集和测试集 检测部分使
  • Faster Rcnn 代码解读之 blob.py

    Fast R CNN Copyright c 2015 Microsoft Licensed under The MIT License see LICENSE for details Written by Ross Girshick Bl
  • FasterRCNN(一)网络部分代码分析

    一 定义一个RCNN的类作为基础 1 self build network self sess is training True 函数 构建网络框架 with tf variable scope RCNN initializer tf tr
  • 重新审视Faster RCNN:优缺点与改进

    重新审视Faster RCNN Faster RCNN优点 Faster RCNN缺点 对于Faster RCNN的改进算法 特征融合 HyperNet 实例分割 Mask RCNN 全卷机网络 R FCN 级联网络 Cascade RCN
  • VOC数据集mAP计算

    检测出来的bbox包含score和bbox 按照score降序排序 所以每添加一个样本 就代表阈值降低一点 真实情况下score降低 iou不一定降低 这样就是可以有很多种阈值 每个阈值情况下计算一个prec和recall d 对模型检测到
  • faster-rcnn(pytorch)参数配置修改

    修改模型配置文件 train prototxt文件 input data层的num class数值由21改为类别数目 roi data层的num class数值由21改为类别数目 cls score层的num output数值由21改为类别
  • 睿智的目标检测45——TF2搭建Faster R-CNN目标检测平台

    睿智的目标检测45 TF2搭建Faster R CNN目标检测平台 学习前言 什么是FasterRCNN目标检测算法 源码下载 Faster RCNN实现思路 一 预测部分 1 主干网络介绍 2 获得Proposal建议框 3 Propos
  • MATLAB2018B下用Faster-RCNN做目标检测的训练和测试步骤

    近些年 随着深度学习在计算机视觉领域中的蓬勃发展 利用卷积神经网络对图像进行分类 以及对图像中目标进行识别定位成为比较前沿的技术 本文比较详尽的介绍了在MATLAB2018b环境下 利用Faster RCNN对图像进行迁移学习 从而使其能够
  • Faster RCNN 源码解读(1) -- 文件结构分析

    基本介绍 Faster RCNN 在目标检测及其相关领域得到了广泛的运用 其原型RCNN是将CNN引入到目标检测的开山之作 此外基于region proposal是一种十分值得学习的思想 因此将在后续的系列章节中 基于源码 对Faster
  • 对faster rcnn的一些修改

    在network py中修改anchor scales 第262行 def create architecture self sess mode num classes tag None anchor scales 8 16 32 anch
  • 人工智能-目标识别:古典目标识别、R-CNN、SPP-NET、Fast-R-CNN、Faster-R-CNN、YOLO

    古典目标识别 第一部分 训练集构造 负样本 使用 select search ss 方法对区域进行融合 gt 计算每个候选区域域真实标记区域 GRadeonTruts GT 之间的重合 如果区域A与GT的重合度在20 50 之间 而且A与其
  • Faster R-CNN算法

    Faster R CNN算法是作者Ross Girshick对Fast R CNN算法的一种改进 Fast R CNN在速度和精度上都有了不错的结果 但仍有一些不足之处 Faster R CNN算法同样使用VGG 16网络结构 检测速度在G
  • 详解目标检测Faster R-CNN

    目标检测的一般结构 背景 R CNN 是 Faster R CNN 的启发版本 R CNN 是采用 Selective Search算法来提取 propose 可能的 RoIs regions of interest 区域 然后对每个提取区
  • 深度学习之目标检测与目标识别

    一 目标识别分类及应用场景 目前可以将现有的基于深度学习的目标检测与识别算法大致分为以下三大类 基于区域建议的目标检测与识别算法 如R CNN Fast R CNN Faster R CNN 基于回归的目标检测与识别算法 如YOLO SSD
  • Faster R-CNN系列之MATLAB篇

    我发现 我是个懒人 不对 我一直是个懒人 但是 电光火石间 不知怎么地 我决定 我写个博客吧 我是废话的分割线 最开始接触Faster R CNN 先尝试跑的其实是PYTHON版 但是编译过程中出错了 我又从来没接触过python 自己稍稍
  • 为什么ssd和yolo没有roi池化层?

    我们知道目标检测框架像faster rcnn and mask rcnn has an roi pooling layer or roi align layer 但是为什么ssd和yolo框架没有这样的层呢 首先我们要明白这样做的目的是什么

随机推荐