首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在tensorflow对象检测API中获取多边界框坐标

在TensorFlow对象检测API中,要获取多个边界框的坐标,可以按照以下步骤操作:

  1. 导入所需的库和模块:
代码语言:txt
复制
import tensorflow as tf
from object_detection.utils import label_map_util
from object_detection.utils import visualization_utils as vis_util
  1. 加载模型和标签:
代码语言:txt
复制
# 导入预训练的模型
model = tf.saved_model.load('<模型路径>')
# 加载标签映射文件
label_map = label_map_util.load_labelmap('<标签映射文件路径>')
categories = label_map_util.convert_label_map_to_categories(label_map, max_num_classes=<类别数量>, use_display_name=True)
category_index = label_map_util.create_category_index(categories)
  1. 获取边界框坐标:
代码语言:txt
复制
# 前向推断
output_dict = model(image_tensor)
# 解析输出字典
num_detections = int(output_dict.pop('num_detections'))
output_dict = {key: value[0, :num_detections].numpy() for key, value in output_dict.items()}
output_dict['num_detections'] = num_detections
output_dict['detection_classes'] = output_dict['detection_classes'].astype(np.int64)
# 可选:可视化结果
vis_util.visualize_boxes_and_labels_on_image_array(
    image_np_with_detections,
    output_dict['detection_boxes'],
    output_dict['detection_classes'],
    output_dict['detection_scores'],
    category_index,
    instance_masks=output_dict.get('detection_masks_reframed', None),
    use_normalized_coordinates=True,
    line_thickness=8)

# 获取多个边界框的坐标
num_boxes = len(output_dict['detection_boxes'])
boxes = []
for i in range(num_boxes):
    ymin, xmin, ymax, xmax = output_dict['detection_boxes'][i]
    boxes.append((xmin, ymin, xmax, ymax))

以上代码示例假设已经加载了训练好的模型,并且图像数据已经预处理为image_tensor。输出的边界框坐标为归一化的值,范围在0到1之间,可以根据实际需求进行适当的缩放或转换。

推荐的腾讯云相关产品:

请注意,以上提到的产品是为了举例说明,实际选择产品时需要根据具体需求和情况进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD

几个月前,Google 为 Tensorflow 发布了一个新的目标检测 API。与其同时发布的还有针对一些特定模型预构建的框架和权重。...希望在结束本文的阅读之后,你可以了解到以下两点: 1、深度学习是如何在目标检测得到应用的。 2、这些目标检测模型的设计是如何在相互之间获得灵感的同时也有各自的特点。...b)4 个表征该区域边界坐标。 换句话说,我们会观察我们最后特征图上的每个位置,然后关注围绕它的 k 个不同的 anchor box:一个高的、一个宽的、一个大的等等。...这里注意到,尽管 RPN 输出了边界坐标,然而它并不会去对任何可能的目标进行分类:它惟一的工作仍然是给出对象区域。...但是,使用这些模型需要了解 TensorflowAPITensorflow 有一份使用这些模型的初学者教程。 ?

1.4K70
  • 使用 YOLO 进行对象检测:保姆级动手教程

    它是通过将图像划分为网格并预测网格每个单元格的边界和类别概率来完成的。如果我们想使用 YOLO 进行汽车检测,则网格和预测的边界可能如下所示: 上图仅包含过滤后获得的最终集。...这要归功于 YOLO 能够在单阶段方法同时进行预测。 其他较慢的对象检测算法(Faster R-CNN)通常使用两阶段方法: 在第一阶段,选择有兴趣的图像区域。...我们获取每个检测到的对象的类名、大小和坐标: predict() 方法中有多个参数,让我们指定是否要使用预测的边界、每个对象的文本名称等绘制图像。...边界坐标是一个明确的概念,但是指定类标签的class_id编号呢?每个class_id都与另一个 txt 文件的特定类相关联。...回顾一下,模型所做的检测以一种方便的 Pandas DataFrame 形式返回。我们获取每个检测到的对象的类名、大小和坐标

    4.8K10

    使用TensorFlow物体检测模型、Python和OpenCV的社交距离检测

    在我们的案例中所需的输出如下: ·每个物体的边界坐标 ·每个预测的置信度(0到1) ·预测类别(0到90) ·过滤弱预测和不相关物体 ?...与使用原始检测的点相比,这可以大大改善社会距离的测量。 对于检测到的每个人,将返回构建边界所需的2个点,这两个点是边界的左上角和右下角。...通过获取两点之间的中点来计算边界的质心,使用此结果,计算位于边界底部中心的点的坐标,我认为这一点(称为“基点”)是图像中人坐标的最佳表示。 然后使用变换矩阵为每个检测到的基点计算变换后的坐标。...5.结果 回顾项目的工作原理: ·首先获取图的4个角点,然后应用透视变换获得该图的鸟瞰图并保存透视变换矩阵。 ·获取原始帧检测到的每个人的边界。...·计算这些的最低点,最低点是位于人双脚之间的点。 ·对这些点应用变换矩阵,获取每一个人的真实“ GPS”坐标

    1.4K10

    构建对象检测模型

    当我看到现实世界的应用程序,面部识别和板球跟踪等时,建立深度学习和计算机视觉模型的真正兴奋就来了。 我最喜欢的计算机视觉和深入学习的概念之一是目标检测。...TensorFlow对象检测API 一种通用的目标检测框架 通常,我们在构建对象检测框架时遵循三个步骤: 首先,使用深度学习模型或算法在图像中生成一组的边界(即对象定位) ?...接下来,为每个边界提取视觉特征。它们将根据视觉特征进行评估,并确定是否存在以及存在哪些对象 ? 在最后的后处理步骤,重叠的合并为一个边界(即非最大抑制) ?...TensorFlow对象检测API TensorFlow对象检测API是一个框架,用于创建一个深度学习网络来解决对象检测问题。 在他们的框架已经有了预训练的模型,他们称之为Model Zoo。...SSD网络由基本架构(本例为MobileNet)和几个卷积层组成: ? SSD操作特征图以检测边界的位置。请记住,特征图的大小为Df * Df * M。对于每个特征图位置,将预测k个边界

    1.2K10

    「圣诞特辑」纯前端实现人脸识别自动佩戴圣诞帽

    Tensorflow.js 是我第一个想到的可以应用的库,但是当我打开官方文档,看到 Tensors (张量)、Layers (图层)、Optimizers (优化器)……各种陌生概念扑面而来,砸的人生疼...然后 face-api.js 会通过该算法让机器不断的学习并优化,从而训练出模型,通过该模型可以识别出所有的人脸边界 image.png 光识别出人脸还远远不够,我们的很多应用都需要找到人脸的特征点...因此 face-api.js 会从图片中抽取出每个边界的人脸居中的图像,接着将其再次作为输入传给人脸识别网络,让其学习。...因此我们可以通过获取眉毛的坐标和下颌的坐标来计算出头顶的位置: /** * 获取头顶的坐标 * @param {*} midPos 眉心点坐标 * @param {...Tensorflow.js 感兴趣的童鞋不妨去它的官方文档逛逛。

    84431

    精通 TensorFlow 2.x 计算机视觉:第三、四部分

    了解如何在 TFRecord 中转换图像和标注文件以输入到 TensorFlow 对象检测 API(第 10 章) 了解如何使用自己的图像来使用 TensorFlow 对象检测 API 训练模型并对其进行推理...TensorFlow 对象检测 API 概述 可以在这里找到 TensorFlow 对象检测 API。...使用 TensorFlow 和 Google Colab 训练自定义对象检测器 在本练习,我们将使用 TensorFlow 对象检测 API 使用四种不同的模型训练自定义对象检测器。...Mask R-CNN 使用 R-CNN 有效地检测图像对象,同时针对每个兴趣区域进行对象分割任务。 因此,分割任务与分类和边界回归并行工作。...在 TensorBoard ,您将看到所用神经网络的图以及在测试图像上显示边界的图像。 请注意,在 TensorFlow ,我们没有上传图像,但是它是从TFRecord文件获取图像的。

    5.6K20

    只需连接电脑摄像头,就能用深度学习进行实时对象检测

    对象检测是计算机视觉领域非常活跃的研究课题。 在图像检测和定位对象(可理解为在对象周围放置边界)最有效的方法是使用深度学习技术。...任何检测到的对象都将通过可视化模块,在图像检测到的对象周围放置彩色边界。 我们还添加了一个跟踪模块,用于显示房间是否为空以及房间内的人数。这些数据将被存储在单独的.csv 文件。...处理后的帧数据回传后,我们可以使用 open-cv 的 imshow 函数向用户显示带边界的帧图像。...我们将利用 Python 的多线程来提高处理视频帧的速度。 下面的 worker 函数将从输入队列获取帧数据,加载 tensorflow 模型并将任何检测结果传回输出队列。...当然,为了可视化检测,我们需要传递检测到的类标签,它们各自的置信度,边界颜色和坐标,并将它们绘制到帧图像上。 ? 测试及评估应用程序 接下来的问题是这个简单的应用程序表现如何?

    1.2K20

    「圣诞特辑」纯前端实现人脸识别自动佩戴圣诞帽

    Tensorflow.js 是我第一个想到的可以应用的库,但是当我打开官方文档,看到 Tensors (张量)、Layers (图层)、Optimizers (优化器)……各种陌生概念扑面而来,砸的人生疼...然后 face-api.js 会通过该算法让机器不断的学习并优化,从而训练出模型,通过该模型可以识别出所有的人脸边界 光识别出人脸还远远不够,我们的很多应用都需要找到人脸的特征点(眉毛,鼻子,嘴巴这些的...因此 face-api.js 会从图片中抽取出每个边界的人脸居中的图像,接着将其再次作为输入传给人脸识别网络,让其学习。...因此我们可以通过获取眉毛的坐标和下颌的坐标来计算出头顶的位置: /** * 获取头顶的坐标 * @param {*} midPos 眉心点坐标 * @param {*} jawPos 下巴底点坐标...Tensorflow.js 感兴趣的童鞋不妨去它的官方文档逛逛。

    88020

    目标检测算法YOLO3论文解读

    一、论文解读 1、bounding box prediction(边界预测) YOLO2预测bounding boxes是使用anchor boxes,这个网络为每个bounding box预测了4...个坐标:tx、ty、tw、th,用(cx,cy)表示当前网格左上角坐标偏移图像左上角坐标的距离,用pw,ph表示先验(piror)的宽和高,可以得到下面式子: 在训练期间,使用平方和误差(sum...算法只为每个真值匹配一个最优的先验。 2、标签预测 每个bounding box可能含有类物体,也就是标签预测。...所以用logistic(sigmoid)代替softmax,因为softmax表示每个只有一类对象,而sigmoid可以预测标签分类。那么如何用sigmoid来做标签分类呢?...从早期的网络获取一个特征图,并使用串联将其与上采样特征合并。这种方法允许我们从上采样的特性获得更有意义的语义信息,并从早期的特性图中获得更细粒度的信息。

    53620

    在浏览器中使用tensorflow.js进行人脸识别的JavaScript API

    在实际过程也具有其特有的优势,通过集成与人脸检测与识别相关的API,通过更为简单的coding就可以实现。...今天将为大家介绍一个用于人脸检测、人脸识别和人脸特征检测的 JavaScript API,通过在浏览器利用 tensorflow.js 进行人脸检测和人脸识别。...通过接下来的这篇文章,将为大家介绍 face-api.js,一个构建在 tensorflow.js core 上的 javascript 模块,实现了人脸检测、人脸识别和人脸特征检测三种 CNNs (...网络返回每张面孔的边界与相应的分数,即显示面孔的每个边界的概率。这些分数用于筛选边界区域,因为图像可能根本不包含任何面孔。注意,即使只有一个人要检索边界,人脸检测也应该执行。...(input, minConfidence) 完整的脸部描述包含检测结果(边界+分数)、脸部特征和计算描述符。

    2.8K30

    任何方向都高度准确,上交、旷视联合提出最强旋转目标检测器R3Det

    本文设计了一个特征精炼模块(FRM),该模块使用特征插值来获取精炼Anchor的位置信息并重建特征图实现特征对齐。FRM还可以在第一阶段之后减少精炼边界的数量,从而加速模型。...在单阶段旋转目标检测任务,对预测边界进行连续的精炼可以提高回归精度,因此特征精炼是必要的。应该注意的是,FRM也可以在其他单级检测SSD中使用。...因此,在回归子网要求预测附加角度偏移,旋转边界表示为: 其中, 表示边界的中心坐标,长,宽和角度。变量 分别代表GT,Anchor,预测坐标,其他变量类似。...整个过程Figure4(c)所示,为了准确的获取精炼边界的位置特征信息,本文使用了双线性插值的方法,公式表示如下: 基于以上结果,本文设计了特征精炼模块,其结构和伪代码Figure5和Algorithm1...对于特征图的每个特征点,论文根据精炼边界的5个坐标(一个中心点,四个角点)获得特征图上的相应特征向量。通过双线性插值可以获得更加准确的特征向量。接下来,论文添加了5个特征向量来替换之前的特征向量。

    5K51

    【技术】使用Tensorflow对象检测接口进行像素级分类

    AiTechYun 编辑:yuxiangyu 在过去,我们使用Tensorflow对象检测API来实现对象检测,它的输出是图像我们想要检测的不同对象周围的边界。...Tensorflow对象检测的Mask RCNN 实例分割 实例分段(Instance segmentation)是对象检测的扩展,其中二进制掩码(即对象与背景)与每个边界相关联。...Tensorflow对象检测API所使用的算法是Mask RCNN。...Mask RCNN架构 Faster RCNN是用于物体检测的算法。它由两个阶段组成。第一阶段称为RPN(Region Proposal Network),提出候选的对象边界。...Mask R-CNN的概念非常简单:Faster RCNN每个候选对象具有两个输出,一个类标签和一个边界补偿;为此,我们添加了另一个阶段输出对象的mask,mask 是一个二进制掩码,用于指示对象位于边界的像素

    1.1K40

    TensorFlow 目标检测 API 发现皮卡丘!

    翻译 | 于志鹏 整理 | 吴璇 在 TensorFlow 众多功能和工具,有一个名为 TensorFlow 目标检测 API 的组件。...数月之后,我开始着手优化我之前训练的检测皮卡丘的模型,目的是直接使用 Python、OpenCV、以及 TensorFlow检测视频的目标。源代码可以从我的 GitHub 获取。...每次遍历过程,读取帧,并改变其色彩空间。接着,执行实际检测过程,就是寻找所有那些漂亮的黄色皮卡丘。结果是,返回皮卡丘所在位置的边界坐标(如果找到的话)和检测结果的置信度。...随后,只要置信度高于给定的阈值,将会创建一个视频帧的副本,其中包含了皮卡丘位置的边界。...创建新的视频 在前面的步骤,使用新创建的帧副本重新组成一个新的视频,这些帧携带了检测边界

    80750

    【从零开始学Mask RCNN】一,原理回顾&&项目文档翻译

    它充分的利用原图中的虚拟像素值 四周的四个真实存在的像素值来共同决定目标图中的一个像素值,即可以将和 类似的非整数坐标值像素对应的输出像素值估计出来。这一过程如下图所示: ?...---- 用于目标检测和语义分割的Mask RCNN 这是Mask RCNN使用Python3,Keras,TensorFlow的实现。该模型为图像的每个实例物体生成边界和掩膜。...边界。有些数据集提供边界,有些只提供掩码。为了支持对多个数据集的训练,我们选择忽略数据集附带的边界,而是动态生成它们。我们选取封装遮罩所有像素的最小作为边界。...这简化了实现,也使应用图像增强变得容易,否则将更难应用于边界,例如图像旋转。 为了验证这种方法,我们将计算出的边界与COCO数据集提供的边界进行了比较。...我们发现约2%的边界相差1px或更多,约0.05%的边界相差5px或更多,只有0.01%的边界相差10px或更多。 学习率。

    5.5K51

    X射线图像的目标检测

    使用目标检测模型而不是分类模型的好处是我们能够训练足够的正样本,无需将负样本(图像)合并到训练集中,这是因为负样本早就隐式的存在于图像,图像边界(目标的真实边界)不相关的所有区域都是负样本。...3.3 创建训练和训练模型 我们的训练是通过TensorFlow目标检测API完成的,我们可以从下面的链接下载和安装,还可以下载来自TensorFlow模型Zoo的配置文件和目标检测预训练模型。.../1512.02325 SSD是一种使用单一深度神经网络检测图像对象的方法,该方法将边界的输出空间离散化为一组默认,这组默认框在每个特征图位置上具有不同长宽比和尺度。...FPN是尺度特征提取器的改进,与其他目标检测模型的特征提取器相比,Faster R-CNN,包含更高质量的信息。...精确度是我们模型检测感兴趣对象的能力,召回率是我们的模型可以找到我们感兴趣对象的所有相关边界的能力。从精确度和召回率的公式可以看出精确度不会随着召回率的降低而降低。

    1.5K20

    用于精确目标检测网格冗余边界标注

    每个对象网格单元分配背后的基本理论是通过强制多个单元在同一对象上工作来增加预测紧密拟合边界的可能性。...网格分配的一些优点包括: (a)为目标检测器提供它正在检测对象视角视图,而不是仅依靠一个网格单元来预测对象的类别和坐标; (b ) 较少随机和不稳定的边界预测,这意味着高精度和召回率,因为附近的网格单元被训练来预测相同的目标类别和坐标...为简洁起见,我们将解释我们在一个对象上的网格分配。上图显示了三个对象边界,其中包含更多关于狗的边界的细节。下图显示了上图的缩小区域,重点是狗的边界中心。...这样做的一些优点是(a)减少不平衡,(b)更快的训练以收敛到边界,因为现在多个网格单元同时针对同一个对象,(c)增加预测tight-fit边界的机会(d) 为YOLOv3等基于网格的检测器提供视角视图...然后,我们从整个训练数据集的随机q个图像迭代地选择p个对象及其边界。然后,我们生成使用它们的索引作为ID选择的p个边界的所有可能组合。

    62610

    谷歌开源最大手动注释视频数据集和 TensorFlow 模型性能调优工具

    谷歌称这是迄今最大的手动注释边界视频数据集,希望该数据集能够推动视频对象检测和跟踪的新进展。...边界是指在时间上连续的帧中跟踪对象,到目前为止,这是包含边界的最大的人工标注视频数据集。该数据集的规模之大,足以训练大型模型,并且包含在自然环境拍摄的视频。...这些边界标记可用于训练利用时间信息以随时间进行识别,定位以及跟踪对象的模型。在视频,带标记的对象可能完全被遮挡,并在后面的帧重新出现。...注意,样本仅有可见的部分被纳入了边界:北极熊图像,橙色箭头指示出了隐藏的头部。在两只狗嬉戏图中,橙色箭头指出隐藏的尾巴,蓝色箭头则指出了不可见的脚部。...YouTube边界:用于视频对象检测的大型高精人类标注数据集 ? 摘要 我们介绍了一个新的大型视频URL数据集——YouTube边界(YT-BB),内含密集采样的、带对象边界的注释。

    1.8K80

    手把手教你在浏览器中使用脸部识别软件包 face-api.js

    在这个简短的例子,我们将逐步了解如何在以下输入图像识别多个人脸: ?...从输入图像获得对所有面孔的完整描述 神经网络接受 HTML 图像、画布、视频或者张量等形式的输入。使用 score > minScore 检测面部边界,我们简单的说: ?...完整的面部描述包括检测结果(边界+分值),脸部特征,以及计算描述符。正如你所看到的,在前面的讨论 faceapi.allFaces 在后台做了所有的工作。然而,你也可以手动获取脸部位置和特征点。...注意,边界和特征点位置依赖于原始图像/媒体的大小。如果显示的图像大小与原始图像大小不一致,您可以简单地调整大小: ? 我们可以通过将边界绘制到画布上来可视化检测结果 : ? ?...我们最终得到了在输入图像检测到的每个面孔的最佳匹配。 最后,我们可以将边界和它们的标签一起绘制到画布上,以显示结果: ? ? 好了!到目前为止,我希望您已经了解了如何使用这个 api

    1.6K10

    TensorFlow:使用Cloud TPU在30分钟内训练出实时移动对象检测

    每个图像都有一个关联的注释文件,其中包括特定宠物在图像中所在的边界坐标。我们不能直接将这些图像和注释提供给我们的模型;而是需要将它们转换为我们的模型可以理解的格式。...我们可以使用许多模型来训练识别图像的各种对象。我们可以使用这些训练模型的检查点,然后将它们应用于我们的自定义对象检测任务。...这是有效的,对于机器而言,识别包含基本对象桌子,椅子或猫)的图像的像素的任务与识别包含特定宠物品种的图像的像素区别不大。...IoU特定于对象检测模型,代表Intersection-over-Union。这测量我们的模型生成的边界与地面实况边界之间的重叠,以百分比表示。...边界非常准确,但在这种特殊情况下,我们模型的标签预测是不正确的。没有ML模型可以是完美的。

    4K50
    领券