0.目标检测基础知识

2023-11-06

1.IOU交并比

#1。交并比
import cv2
import numpy as np
img=np.zeros((512,512,3),np.uint8)#此大小的黑色画布
img.fill(255)#画布填255,变成白色画布
RecA=[50,50,300,300]#矩形的左上与右下点坐标
RecB=[60,60,320,320]
cv2.rectangle(img,(RecA[0],RecA[1]),(RecA[2],RecA[3]),(0, 255, 0),5)#在纯白画布上画上框,线条粗5个像素
cv2.rectangle(img,(RecB[0],RecB[1]),(RecB[2],RecB[3]),(255, 0, 0),5)
#计算IOU
def CountIOU(RecA,RecB):
    M_X=max(RecA[0],RecB[0])
    M_Y=max(RecA[1],RecB[1])#交区域的左上角点
    m_x=min(RecA[2],RecB[2])
    m_y=min(RecA[3],RecB[3])#交区域的右下角点
    interArea=max(0,m_x-M_X)*max(0,m_y-M_Y)#交区域面积
    #计算两个框的实际面积
    RecA_Area=(RecA[2]-RecA[0])*(RecA[3]-RecA[1])
    RecB_Area=(RecB[2]-RecB[0])*(RecB[3]-RecB[1])
    #计算并区域面积,并计算IOU
    iou=interArea/float(RecA_Area+RecB_Area-interArea)
    return iou
IOU=CountIOU(RecA,RecB)
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'iou=%.2f'%IOU,(130,190),font,0.8,(0,0,0),2)
cv2.imshow('img',img)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述
2.mAP
3.膨胀卷积(Dilation ,空洞卷积)
膨胀卷积是对卷积核进行0填充。
膨胀后的卷积核的大小的计算:
默认的dilation_rate=1.

(1)设原始卷积核的大小是3*3

(2)设膨胀率为2

(3)则膨胀后的卷积核的大小为:dilation_rate*(kernel_size - 1)+1

         结果就是  2*(3-1)+1=5,膨胀后的卷积核大小是5*5

在这里插入图片描述

膨胀卷积的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。在图像需要全局信息或者自然语言处理中需要较长的sequence信息依赖的问题中,都能很好的应用。

参考:https://blog.csdn.net/weixin_44791964/article/details/102410481
https://blog.csdn.net/weixin_44791964/article/details/102414522
https://blog.csdn.net/moshiyaofei/article/details/87474966
https://www.jianshu.com/p/f743bd9041b3

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

0.目标检测基础知识 的相关文章

  • 使用 openCV 和 python 检测物体

    我正在尝试使用 OpenCV 和 Python 检测下图中的白点 我尝试使用函数 cv2 HoughCircles 但没有成功 我需要使用不同的方法吗 这是我的代码 import cv2 cv import numpy as np impo
  • 如何使用 OpenCV 检测图像帧中的对象?

    我正在使用 Raspberry Pi 开发一个漫游器 它将清扫房间并捡起掉落在地上的物体 为了检测物体 我使用了在流动站操作开始时拍摄的参考图像 以及每 10 秒单击一次的图像 新图像 为了确定图像帧是否发生变化 我在参考图像和新图像之间进
  • 计算两个描述符之间的距离

    我正在尝试计算已计算的两个描述符之间的距离 欧几里得或汉明 问题是我不想使用匹配器 我只想计算两个描述符之间的距离 我正在使用 OpenCV 2 4 9 并且我的描述符存储在 Mat 类型中 Mat descriptors1 Mat des
  • OpenCV:视频结束后如何重新启动?

    我正在播放视频文件 但播放完毕后如何再次播放 Javier 如果您想一遍又一遍地重新启动视频 也称为循环播放 可以通过在帧数达到时使用 if 语句来实现cap get cv2 cv CV CAP PROP FRAME COUNT 然后重置帧
  • 相机标定(OpenCV 2.3)-如何使用畸变参数?

    我有一组带有一些附加标记的刚体图像 我在这些标记之一中定义了一个原点坐标系 我想获得该坐标系与在相机原点定义的坐标系之间的旋转和平移 我尝试了一段时间 POSIT 以下this http goo gl cUYYt 但从未获得可接受的结果 直
  • 如何在给定目标大小的情况下在 python 中调整图像大小,同时保留纵横比?

    首先 我觉得这是一个愚蠢的问题 对此感到抱歉 目前 我发现计算最佳缩放因子 目标像素数的最佳宽度和高度 同时保留纵横比 的最准确方法是迭代并选择最佳缩放因子 但是必须有更好的方法来做到这一点 一个例子 import cv2 numpy as
  • 来自 OpenCV 的外部参数

    我正在使用 OpenCV 来校准立体相机对 我拍摄了各种校准照片 并且使用 cv2 calibrateCamera 对内在参数进行了令人满意的拟合 然而 目前尚不清楚如何获取外部参数 该函数仅返回cameraMatrix 尽管它很有用 但实
  • 提高 pytesseract 从图像中正确识别文本的能力

    我正在尝试使用读取验证码pytesseract模块 大多数时候它都能提供准确的文本 但并非总是如此 这是读取图像 操作图像以及从图像中提取文本的代码 import cv2 import numpy as np import pytesser
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 在 QtCreator 中将 OpenCV 2.3 与 Qt 结合使用

    随着 OpenCV 2 3 版本终于发布 我想在我的系统上编译并安装这个最新版本 由于我经常使用 Qt 和 QtCreator 我当然希望能够在我的 Qt 项目中使用它 我已经尝试了几种方法几个小时 但总是出现错误 第一次尝试 使用WITH
  • 使用Python的工业视觉相机[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • opencv形态扩张滤波器作为最大滤波器

    就像中值滤波器的定义一样 我可以将 最大滤波器 定义为局部窗口 例如dst x y max 3x3 局部窗口像素 但我在opencv中找不到这样的过滤器 最接近的是 dilate 函数 然后我使用 dilate 函数的默认配置 但结果不正确
  • OpenCV 3 中的 FLANN 错误

    我运行的是 Ubuntu 14 04 我正在尝试使用 openCV 3 运行 FLANN 但出现错误 下面的所有内容都是通过使用 AKAZE 和 ORB 进行尝试的 但代码来自我尝试使用 ORB 的情况 我使用 ORB 来查找描述符和关键点
  • 当我将鼠标移到 Mat 关键字上时,Visual Studio 2017 冻结(OpenCv 3.4.1)

    我想在 Visual Studio 2017 中开发 openCv 项目 我下载了 opencv 预构建库并进行了必要的设置 那是 1 我添加了系统路径 build x64 vc14 bin 2 在 Visual Studio 中的项目属性
  • 创建 OpenCV 的 mouseCallback 函数的基于类的实现时遇到问题

    正如标题所示 我在基于类的 C 结构中实现 OpenCV 的 mouseCallback 函数时遇到了一些麻烦 请允许我解释一下 我定义了一个名为 BriskMatching 的类 在其中创建了一个名为 mouseCallback 的成员函
  • ffmpeg AVFrame 到 opencv Mat 转换

    我目前正在开发一个使用 ffmpeg 解码接收到的帧的项目 解码后 我想将 AVFrame 转换为 opencv Mat 帧 以便我可以在 imShow 函数上播放它 我拥有的是字节流 我将其读入缓冲区 解码为 AVFrame f fope
  • 从图像坐标获取对象的世界坐标

    I have been following this http docs opencv org modules calib3d doc camera calibration and 3d reconstruction html docume
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 使用 OpenCV 改进特征点匹配

    我想匹配立体图像中的特征点 我已经用不同的算法找到并提取了特征点 现在我需要一个良好的匹配 在本例中 我使用 FAST 算法进行检测和提取 BruteForceMatcher用于匹配特征点 匹配代码 vector lt vector
  • iOS 上的 OpenCV - VideoCapture 属性始终返回 1

    我一直在尝试构建一个简单的 OpenCV iOS 应用程序 该应用程序从捆绑包中加载视频并查询其帧数 持续时间等 然后它将尝试从中获取各个帧 不幸的是 当我使用VideoCapture类中 所有属性返回值 1 然后我尝试导航到frame 1

随机推荐

  • 谷歌浏览器ajax警告,ajax请求的问题,谷歌浏览器的警告提示Provisional headers are shown...

    不太了解百度后台是什么情况 我也只是做一个简单的搜索功能用了跨域 我看数据请求成功了 数据已经返回 但是谷歌浏览器总是出现这种情况 友情提示 愿意回答的大神就请帮着看看 不愿意帮助的也请别乱踩 别干缺德事 还有就是我在hbulider下面打
  • VNC unable to connect via 127.0.0.1:1080

    VNC远程登录出现自己电脑拒绝的时候 请查看一下自己是否设了代理登录之类的操作 这里是WIN 10 登录远程一台WIN 10 服务器 跟服务器设置没有什么关系 主要由于本地配置导致的 解决方案 File里面选择属性 取消代理设置即可 折腾了
  • WebTransport 开播的应用实践之路

    动手点关注 干货不迷路 Web开播的业务挑战 无论是本地软件推流还是Web推流 都需要解决推流抖动 画面高糊 音频卡顿等问题 在现有的Web技术环境下 如何稳定地把高质量的音视频流呈现给更多用户 是我们技术团队攻克的重点 从技术角度来解读一
  • Hashtable和HashMap、ConcurrentHashMap 之间的区别

    Hashtable和HashMap的区别 HashMap和Hashtable都是哈希表数据结构 但是Hashtable是线程安全的 HashMap是线程不安全的 Hashtable实现线程安全就是简单的把关键方法都加上了synchroniz
  • 企业项目实战----CDN加速的实现

    前言 CDN加速对企业非常重要 体现在哪呢 举个例子 A企业的后端服务器在杭州 用户遍布全国 让全国的用户都去访问企业A在杭州的后端服务器你觉得可行吗 肯定不可行呀 第一 后端服务器承受不了全国这么巨大的访问量 第二 访问速度慢 要经过的陆
  • 提升职场价值,把握成长方向

    来自 IT人的职场进阶 同样的职场起点 为什么几年后大家差距很大 如果想快速升职加薪 有什么好方法吗 如何才能做到持续且快速的成长 这些疑惑都离不开一个本质问题 职场价值 因为企业用人的核心出发点是 你能否为企业创造价值 你的价值和薪酬职级
  • MSP430 EEPROM-24C512使用总结及代码说明

    MSP430 EEPROM 24C512使用总结及代码说明 https wenku baidu com view 61f407d6f705cc175527094b html
  • hooks中useMemo和useCallback详解

    要想学习useMemo必须要先知道React memo 这两者都有一定的优化作用 memo的作用 当数据变化时 代码会重新执行一遍 但是子组件数据没有变化也会执行 这个时候可以使用memo将子组件封装起来 让子组件的数据只在发生改变时才会执
  • sudo rosdep init ERROR: cannot download default sources list from:

    在sudo rosdep init时出现的错误ERROR cannot download default sources list from https raw githubusercontent com ros rosdistro mas
  • 安装一个虚拟服务器,一个云服务器可以装虚拟机么

    一个云服务器可以装虚拟机么 内容精选 换一换 虚拟IP地址用于为网卡提供第二个IP地址 同时支持与多个云服务器的网卡绑定 从而实现多个云服务器之间的高可用性 登录管理控制台 单击管理控制台左上角的 选择区域和项目 选择 计算 gt 云耀云服
  • WEB前端命名规范

    https www cnblogs com ysx215 p 7461777 html
  • 数组指针 行指针 列指针

    概念 我们把指向数组的指针叫做数组指针 后面还会学到指针数组 这两个是不一样的 根据中学语文偏正词组的知识可以知道 前者是指针 后者是数组 一般指针变量 int a 2 3 1 2 3 4 5 6 int P a 0 0 int p a 0
  • 短视频账号矩阵系统如何技术嵌入Chatgpt?

    将GPT Generative Pre trained Transformer 嵌入短视频账号矩阵系统需要以下步骤 1 获取GPT模型 可以自行训练或使用开源的预训练模型 如GPT 2 GPT 3等 2 导入GPT模型 将GPT模型导入到短
  • Metronic学习-1-替换google字体,让页面打开更流畅

    Metronic是一款强大的后台模板 包括很多组件 接触过很多后台模板 有Layui AdminLTE Inspinia hui 感觉Layui适合快速开发 Layui封闭性很强 对于前端不太熟悉的话 只能按模仿 如果需要深入学习 需要花费
  • Html-根据不同的分辨率设置不同的背景图片

    media only screen and min width 1024px 当分辨率width gt 1024px 时使用1 jpg作为背景图片 bg background url images 1 jpg no repeat media
  • Reactor模型与Proactor模型

    1 Reactor模型 1 1 什么是Reactor模式 它是基于IO多路复用与线程池 Reactor模式的核心组成部分包括Reactor和处理资源池 进程池或线程池 Reactor负责监听和分配事件 处理资源池负责处理事件 Reactor
  • 详解用 matplotlib 绘制动态条形图

    详解用 matplotlib 绘制动态条形图 端午安康 近日看到联合国网站提供的世界人口数据集 其中一个子数据集包含了各国 1950 2015年的人口数据 假日值班 有自由的时间 就基于这个数据集 用 matplotlib 实现了一个世界人
  • 无法打开文件“xxx.lib”错误的解决办法

    原因 pragma comment lib xxx lib 默认和引用的CPP文件在一个文件夹中 解决方法1 将xxx lib和调用pragma comment的源文件放在一个目录 注意是调用它的源文件 不是头文件 解决方法2 也可以在xx
  • UE4UE5 打包安卓报错总结UnrealBuildTool failed解决

    报错 Android armv7 gradle rungradle bat UnrealBuildTool failed 解决方法 1 替换gradle包 下载地址 http services gradle org distribution
  • 0.目标检测基础知识

    1 IOU交并比 1 交并比 import cv2 import numpy as np img np zeros 512 512 3 np uint8 此大小的黑色画布 img fill 255 画布填255 变成白色画布 RecA 50