首页 > 其他分享 >28-目标检测

28-目标检测

时间:2024-08-27 18:17:40浏览次数:14  
标签:box plt center 检测 28 目标 boxes bbox corner

import torch
import matplotlib.pyplot as plt
from sympy.physics.control.control_plots import matplotlib

from d2l import torch as d2l

# plt.figure(figsize=(3.5, 2.5))
img = d2l.plt.imread('./image/catdog.jpg')
# plt.imshow(img)
# plt.show()

def box_corner_to_center(boxes):
    x1, y1, x2, y2 = boxes[:, 0], boxes[:, 1], boxes[:, 2], boxes[:, 3]
    cx = (x1 + x2) / 2
    cy = (y1 + y2) / 2
    w = x2 - x1
    h = y2 - y1
    boxes = torch.stack([cx, cy, w, h], axis=-1)

    return boxes

def box_center_to_corner(boxes):
    """从(中间,宽度,高度)转换到(左上,右下)"""
    cx, cy, w, h = boxes[:, 0], boxes[:, 1], boxes[:, 2], boxes[:, 3]
    x1 = cx - 0.5 * w
    y1 = cy - 0.5 * h
    x2 = cx + 0.5 * w
    y2 = cy + 0.5 * h
    boxes = torch.stack((x1, y1, x2, y2), axis=1)
    return boxes

dog_bbox, cat_bbox = [60.0, 45.0, 378.0, 516.0], [400.0, 112.0, 655.0, 493.0]

boxes = torch.tensor((dog_bbox, cat_bbox))
print(box_center_to_corner(box_corner_to_center(boxes)) == boxes)
print(box_center_to_corner(box_corner_to_center(boxes)))

def bbox_to_rect(bbox, color):
    return d2l.plt.Rectangle(xy=(bbox[0], bbox[1]), width = bbox[2] - bbox[0], height=bbox[3] - bbox[1], fill=False, edgecolor=color)

fig = d2l.plt.imshow(img)
fig.axes.add_patch(bbox_to_rect(dog_bbox, 'blue'))
fig.axes.add_patch(bbox_to_rect(cat_bbox, 'red'))

标签:box,plt,center,检测,28,目标,boxes,bbox,corner
From: https://www.cnblogs.com/morehair/p/18383257

相关文章

  • 利用机器学习模型实时检测恶意软件——打造一款基于PyQt5的智能检测系统
    引言随着科技的发展,恶意软件的种类和复杂性也在日益增加。传统的防护手段往往难以应对新型的攻击手段,而机器学习技术的应用为恶意软件检测带来了新的可能性。本文将带领大家一起探索如何通过Python和PyQt5,构建一个实时恶意软件检测系统。这个系统不仅可以分析数据,还能训练机器......
  • limu|P28|Batch Normalization批量规范化
    目录为什么需要批量规范化困难原因需求如何实现批量规范化公式使用部位为什么卷积层的通道维相当于全连接层的特征维?补充:为什么1*1卷积层相当于逐像素全连接层?深入思考BN的作用代码实现Q&ABatchNorm和LayerNorm的解释与对比为什么需要批量规范化困难训练深层神经网络并使其在较......
  • 国标GB28181视频监控EasyCVR视频汇聚平台国标注册被陌生IP入侵如何处理?
    GB28181国标/GA/T1400协议/安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。智慧安防/视频存储/视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存......
  • 283:vue+openlayers 4326和3857坐标系下的分辨率区别
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第283个示例文章目录一......
  • Python开发之DOS攻击检测和防御
    文章目录==Python检测和防御DOS攻击==一、在CentOS上安装Python3二、理解各个命令的含义1、uptime2、netstat3、ss4、firewall-cmd5、sysctl三、利用python实现DOS入侵检测采集TCP连接数据采集跟DOS攻击关联度较高的数据uptimenetstat-ant连接数量ss-lnt读取队列情......
  • Python开发之DOS智能检测
    文章目录==故障上报与处理==1、设备状态信息2、性能参数3、网络连接信息4、智能预警故障上报与处理在一些简单的IIoT设备中,可能只包含一个或多个嵌入式系统,这些系统专门设计用于执行特定的任务,并且不包含传统意义上的操作系统。这些设备通常使用微控制器(MCU)或微处......
  • 基于springboot停车场管理系统的设计与实现-附源码191428
    目 录摘要1绪论1.1选题目的与意义1.2国内外研究现状1.3系统开发技术的特色1.4论文结构与章节安排2 停车场管理系统 系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.3.2数据修改流程2.3.3数据删除流程2.3系统功能分析2.3.1功......
  • 202009-1 称检测点查询 csp c++组
    a数组记录距离平方值,其最大为2000的平方,不超int。b数组记录3个距离最小的坐标。ans记录下标。每次选出一个坐标后其距离置为最大值。include<bits/stdc++.h>typedeflonglongll;usingnamespacestd;intmain(){intn,x,y,x1,y1,j,minx,b[3],cnt=0,i,ans;inta[210......
  • OKR 如何激励团队有目标地工作
    最近,关于90后和Z一代对为目标驱动的公司工作的渴望已经写了很多。这很可能成为围绕工作场所将如何演变的决定性叙述之一,尤其是在人才争夺战持续的情况下。“带着目的工作“需要的不仅仅是一个鼓舞人心的公司使命,它是每个领导者必须积极培养团队的东西。在这里,我将介绍一个打破细......
  • (五)焊缝检测之--测量间距并用ROS消息包发送
    前言在上一小节记录了矩形参照物的检测。这一小节将介绍基于识别到的圆形焊缝和矩形参照物的坐标,读出两点之间在x和y方向上的间距,并通过话题通信的方式发送初期一、测量圆心和焊缝间距在之前小节中已经分别通过霍夫圆检测拿到了圆心坐标和矩形参照物角点坐标,分别将其记......