当前位置: 首页 > news >正文

网站设计 企业 济南/西安seo计费管理

网站设计 企业 济南,西安seo计费管理,怎么做属于自己的免费网站,任丘做网站1.是什么? 目标检测是计算机视觉领域的核心问题之一,其任务就是找出图像中所有感兴趣的目标,确定他们的类别和位置。由于各类不同物体有不同的外观,姿态,以及不同程度的遮挡,加上成像是光照等因素的干扰&a…

1.是什么?

目标检测是计算机视觉领域的核心问题之一,其任务就是找出图像中所有感兴趣的目标,确定他们的类别和位置。由于各类不同物体有不同的外观,姿态,以及不同程度的遮挡,加上成像是光照等因素的干扰,目标检测一直以来是一个很有挑战性的问题。

目标检测任务主要可以分为四个小任务:

(1)分类classification:给定一张图像,要知道里面包含什么类别的目标。

(2)定位location:给定这个目标在图像中的位置。

(3)检测detection:定位出目标的位置并判断这个目标的类别。

(4)分割segmentation:确定每个像素属于哪个目标或者场景。

综上所述,目标检测是一个分类、回归问题的叠加。

2.发展历程

目标检测的发展可以划分为两个周期:

(1)传统目标检测算法(1998-2014):传统目标检测算法主要基于手工提取特征,具体步骤可概括为:选取感兴趣区域->对可能包含物体的区域进行特征分类->对提取的特征进行检测。虽然传统目标检测算法经过了十余年的发展,但是其识别效果并没有较大改善且运算量大,此处不再详细介绍。

(2)基于深度学习的目标检测算法(2014-):该方法主要分为Anchor-based的Two Stage和One Stage和Anchor-free两种思路

a)Two Stage:先预设一个区域,该区域称为Region Proposal,即一个可能包含待检测物体的预选框(简称RP),再通过卷积神经网络进行样本分类计算。该算法的流程是:特征提取 -> 生成RP -> 分类/回归定位。常见的Two Stage算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、R-FCN等,其特点是检测精度高,但是检测速度不如One Stage方法高。

b)One Stage:直接在网络中提取特征值来分类目标和定位。该算法的流程是:特征提取 -> 分类/回归定位。常见的One Stage算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、YOLOv5、SSD、RetinaNet等,其特点是检测速度快,但是精度没有Two Stage方法高。

c)Anchor-free:该方法通过确定关键点的方式来完成检测,大大减少了网络超参数的数量。

3.基础知识

3.1概述

 无论使用传统方法还是深度学习的方法来完成目标检测任务,一定要遵循三个步骤:检测窗口的选择+图像特征提取+分类器设计

3.1.1 候选框提取


候选区域(Region proposal),就是预先找出图中目标可能出现的位置,通过利用图像中的纹理、边缘、颜色等信息,保证在选取较少窗口的情况下保持较高的召回率。

Region Proposal方法比传统的滑动窗口方法获取的质量要更高。比较常用的Region Proposal方法有:SelectiveSearch(SS,选择性搜索)、Edge Boxes(EB)

边框回归(Bounding Box Regression):是对Region Proposal进行纠正的线性回归算法,目的是为了让Region Proposal提取到的窗口与目标窗口(Ground Truth)更加吻合。

候选框如何产生: 其实物体候选框获取当前主要使用图像分割与区域生长技术。区域生长(合并)主要由于检测图像中存在的物体具有局部区域相似性(颜色、纹理等)。目标识别与图像分割技术的发展进一步推动有效提取图像中信息。滑窗法作为一种经典的物体检测方法,不同大小的窗口在图像上进行滑动时候,进行卷积运算后的结果与已经训练好的分类器判别存在物体的概率。选择性搜索(Selective Search)是主要运用图像分割技术来进行物体检测。

滑窗法:

首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制(Non-Maximum Suppression, NMS)的方法进行筛选。最终,经过NMS筛选后获得检测到的物体。

滑窗法简单易于理解,但是不同窗口大小进行图像全局搜索导致效率低下,而且设计窗口大小时候还需要考虑物体的长宽比。所以,对于实时性要求较高的分类器,不推荐使用滑窗法。

选择搜索:

滑窗法类似于穷举进行图像子区域搜索,但是一般情况下图像中大部分子区域是没有物体的,这样搜索的效率就很低。

选择搜索算法观点:图像中物体可能存在的区域应该是有某些相似性或者连续性的,因此选择搜索采用子区域合并的方法进行提取边界框bounding box。

首先,对输入图像进行分割并产生许多子区域,其次,根据这些子区域之间的相似性(颜色、纹理、大小等)进行区域合并,由小变大,不断迭代并合并,每次迭代过程中对这些合并的子区域做外切矩形,这些子区域的外切矩形就是通常说的候选框。

自下而上,也就是从像素级开始检测,慢慢融合到比较大的位置。scale1 就是最小尺度上分割成很多小的区域(super pixel,超像素),把特征距离近的(如颜色比较像)的都融合到一起,产生比较大的区域。scale2 就是中间尺度上的分割和融合,能得到更大的区域,scale3同理。最后就产生了目标框。

选择性搜索的优点:

计算效率高于滑窗法
由于采用子区域合并策略,故可以包含各自大小的疑似物体框
合并区域相似的指标多样性,提高了检测物体的概率


3.1..2 特征提取


在选定候选区域之后,我们需要提取图像的特征来进行表达,传统的有监督的方法和以CNN为代表的无监督特征学习方法都可以派上用场。常见的传统特征有Haar特征、LBP、HOG等。这些特征都是研究人员通过长时间的学术研究和实际项目验证得来的,虽然在比较简单的任务中可以取得很好的结果,但是设计成本很高,而且面对复杂任务时鲁棒性远远不够。

3.1.3 分类器


常常被使用的分类器包含Adaboost,SVM,Decision Tree等。在很多时候单一的分类器可能并不能满足我们的要求,如今使用深度学习来完成各项任务,尤其是参加各类比赛的时候,一定会使用不同的模型不同的输入进行Ensemble。比如我们常见的使用不同的裁剪子区域进行预测,或者使用不同的基准模型进行预测,最后取平均概率等。

3.2 目标检测性能评估参数


3.2.1 Ground Truth

对于任何算法,度量总是需要与数据的真实值(ground truth)进行比较,对于物体检测问题,GT 包括图像,图像的目标类别及 图像中每个目标的边界框。对于下图,3组数字定义的GT表示了其真实值,包括起始点(左上角)的坐标(X,Y)、宽度、高度、类别。

3.2.2 IoU(交并比)

实际中如何判定预测框的正确性呢,首先需要知道每个检测的正确性,测定一个给定的边框的正确性的度量标准是IoU(交并比),也称检测评价函数。

我们使用IoU来确定检测是否正确需要一个阈值,最常用的是0.5,即如果IoU>0.5,则认为是真实的检测(true detection),否则认为是错误的检测(false detection)。

Precision(准确率/查准率P)和Recall(召回率/查全率R)

一般来说,P和R是不可兼得的,召回率越高,准确率越低。

TP:实际为正,且被预测为正的实例
FP:实际为负,但被预测为正的实例
TN:实际为负,且被预测为负的实例
FN:实际为正,但被预测为负的实例


3.2.3 PR曲线

一般来说我们希望这两个P和R都是越高越好,然而没有这么好的事情,两者是矛盾体,要根据不同的情况来选取好的平衡点才可以。根据学习器的预测结果对样本进行排序,排在前面的就被认为是最可能为正例的样本,然后按此顺序依次吧样本喂给学习器,我们把每次的准确率和召回率描出来就会得到一个P-R曲线(称为P-R图)。

如何评价P-R曲线:

1)如果一个曲线被另一个曲线包围,那么被包围的曲线更差些
2)两者有重叠,那就是判断曲线下面积的大小,但不太容易估算
3)找平衡点,就是找到准确率=召回率的点
4)F1度量,F 1 = 2 P R / ( P + R ) F1=2PR/(P+R)F1=2PR/(P+R)

AP(Average Precision)平均精度

AP通常用于计算平均的检测精度,用于衡量检测器在每个类别上的性能好坏。

3.2.4 mAP(mean Average Precision)平均精度的均值

mAP更多用于评价多目标的检测器性能,衡量检测器在所有类别上的性能好坏,即得到每个类别的AP值后再取所有类别的平均值。假设N个样本中有M个positive的正例,那么我们就会得到M个recall值(1/M,2/M,3/M…M/M),对于每个recall值r,我们可以计算出对应r’>r的最大的precision值,然后对这M个precision 值取平均即得到最后的AP值。计算过程如下表所示:

计算过程:

1)计算所有测试样本的confidence score,每一类的confidence score保存到一个文件中,假设有20个测试样本,每个的id和score及真值GT如下:

mAP(mean Average Precision)表示平均精度均值,该参数是PASCAL VOC 比赛中所明确的衡量标准,其含义是输出的结果是一个ranked list, 其中元素包含了类别、框的信息,以及置信度(confidence),置信度用来进行排序,比方说我给出一个框,说我有99%的信心这里有一个猫,结果这里没有,相比我给出一个框,说我有10%的信心这里有一个猫,结果也没有,这两个框的惩罚(penalty)和奖励(reward)不能一样的。因为99%信心说有,结果没有,那就说明这个系统很有问题。反之,假如我给出一个框,99%的信心说有一个猫,然后真有猫,相比10%信心说有猫,结果也是有猫,这两个框也不一样。也就是越“靠谱”,reward越大。所以我们根据confidence进行排序之后,就应该给排名靠前的结果,也就是confidence比较大的一些更大的权重。

3.2.5. NMS(非极大值抑制)

其目的是为了清除多余的框,找到最佳的物体检测的位置。

 

红色框是可能的检测结果,如何从红色的框中选择最好的最接近的框,就使用NMS来确定最准确的位置。

每个红色的框都会有一个得分,保留得分最大的框。

一般都会使用NMS对生成的大量候选框进行后处理,去除冗余的候选框,得到最佳检测,上图中,每个b-box都会有4个坐标值和1个前景/背景得分,如果是100类的目标检测模型,输出向量为5+100=105。

NMS算法过程:根据候选框的类别分类概率做排序,假设有4个b-box,其置信度A>B>C>D
先标记最大概率框A是算法要保留的b-box
从A 开始,分别计算与其他框的交并比,和阈值t做比较,如果大于阈值,则舍弃,假设D被舍弃
从BC中,选择概率最大的B标记为保留,然后判读C和B的重叠度,如果超过,则舍弃
一直重复进行,标记完所有要保留的框

NMS是保证每个目标只保留一个预测的b-box,一般的NMS,对于某个类别c,将所有预测的b-box根据得分做一个降序排列,从最大的框开始计算该框与其他框的IoU,若IoU大于阈值t,则舍弃,说明重合度太高,重复进行最终保留一个。

缺点:

NMS算法中的最大问题就是它将相邻检测框的分数均强制归零(既将重叠部分大于重叠阈值Nt的检测框移除)。在这种情况下,如果一个真实物体在重叠区域出现,则将导致对该物体的检测失败并降低了算法的平均检测率(average precision, AP)。
NMS的阈值也不太容易确定,设置过小会出现误删,设置过高又容易增大误检。
NMS一般只能使用CPU计算,无法使用GPU计算。
NMS保留-得分最高的预测框,并将与当前框重叠大于阈值的候选框看做冗余,

hard mining:在一个mini-batch里边,容易让分类器混淆的实例,就会标记成hard mining(难以区分的),用到下一轮训练中。
 

参考:

【目标检测】1、基础内容

目标检测的基本概念与原理

相关文章:

目标检测概述

1.是什么? 目标检测是计算机视觉领域的核心问题之一,其任务就是找出图像中所有感兴趣的目标,确定他们的类别和位置。由于各类不同物体有不同的外观,姿态,以及不同程度的遮挡,加上成像是光照等因素的干扰&a…...

10月31日星期二今日早报简报微语报早读

10月31日星期二,农历九月十七,早报微语早读分享。 1、广西官宣:做试管婴儿费用可报销; 2、港媒:4名港大学生承认“煽惑他人蓄意伤人罪”,被判监禁2年; 3、331名中国维和官兵全部获联合国勋章…...

【Linux】虚拟机项目部署与发布

目录 一、Linux部署单机项目 1.1 优缺点 1.2 将项目共享到虚拟机 1.3 解压后将war包放入tomcat 1.4 数据库导入脚本 1.5 Tomcat启动项目 二、部署前后端分离项目 2.1 准备工作 2.2 部署SPA项目 2.2.1 nginx反向代理 2.2.2 SPA项目宿主机访问 一、Linux部署单机项目…...

边缘计算技术的崭新篇章:赋能未来智能系统

边缘计算是近年来云计算和物联网技术发展的重要趋势。通过将数据处理和分析从云端迁移到设备边缘,边缘计算能够实现更低的延迟和更高的数据安全。本文将探索边缘计算技术的最新进展及其在不同行业中的应用场景。 1. 实时数据处理与决策 在需要快速响应的场景中&…...

Mac/Linux类虚拟机_CrossOver虚拟机CrossOver 23.6正式发布2024全新功能解析

CodeWeivers 公司于今年 10 月发布了 CrossOver 23.6 测试版,重点添加了对 DirectX 12 支持,从而在 Mac 上更好地模拟运行 Windows 游戏。 该公司今天发布新闻稿,表示正式发布 CrossOver 23 稳定版,在诸多新增功能中,最…...

RabbitMQ 运维 扩展

1、集群管理与配置 1.1、集群搭建 关于Rabbitmq 集群的搭建,详见以下文章。简单说来就是将多个单机rabbitmq服务,通过给到一致的密钥(.erlang.cookie)并且开放rabbitmq服务的 25672 端口,允许多节点间进行互相通讯&am…...

[量化投资-学习笔记003]Python+TDengine从零开始搭建量化分析平台-Grafana画K线图

在前面两个笔记: PythonTDengine从零开始搭建量化分析平台-数据存储 PythonTDengine从零开始搭建量化分析平台-MA均线的多种实现方式 中有提到使用 Grafana 画图,不过画的都是均线。除了均线,Grafana 非常人性的提供了 K线图模块 搭配 TDeng…...

前端接口请求支持内容缓存和过期时间

前端接口请求支持内容缓存和过期时间 支持用户自定义缓存时间,在规则时间内读取缓存内容,超出时间后重新请求接口 首先封装一下 axios,这一步可做可不做。但是在实际开发场景中都会对 axios 做二次封装,我们在二次封装的 axios …...

【计算机网络】数据链路层——以太网

文章目录 前言什么是以太网以太网帧格式6位目的地址和源地址2位类型数据长度CRC 校验和 数据在数据链路层是如何转发的 前言 前面我们学习了关于应用层——自定义协议、传输层——UDP、TCP协议、网络层——IP协议,今天我将为大家分享关于数据链路层——以太网方面的…...

【Spring】Spring MVC请求响应

文章目录 1. 请求1.1 传递单个参数1.2 传递多个参数1.3 传递对象1.4 后端参数重命名1.5 传递数组1.6 传递集合1.7 传递JSON对象1.8 获取URL中参数1.9 上传⽂件1.10 获得Cookie1.11 获得Session1.12 获得Header 2. 响应2.1 返回静态界面2.2 返回数据2.3 返回HTML代码片段2.4 返回…...

程序设计与算法(二)算法基础(北京大学MOOC)

一、枚举 1、完美立方 /* 完美立方a^3b^3c^3d^3// a大于b c d// b<c<d*/ #include <iostream> int main() {int a,b,c,d; int N 24;//scanf("%d", &N );for(a2; a<N; a ) //a的范围 [2,N]{for(b2; b<a; b){ //b的范围[2…...

【MedusaSTears】正则表达式搜索心得

文章目录 心得体会1.懒惰匹配最少字符 .?2.前瞻: 字符串后边 包括/不包括 某个单词/字母2-1.包含某单词: start(?.?hello)2-2.不包含某单词: start(?!.?hello) 心得体会 前情回顾: 【MedusaSTears】正则?不要太简单!—正则表达式个人学习心得总结: 正则说白了是对字符串…...

带你从0开始学习自动化框架Airtest

现在市面上做UI自动化的框架很多&#xff0c;包括我们常用的Web自动化框架Selenium&#xff0c;移动端自动化框架Appium。 虽然Selenium和Appium分属同源&#xff0c;而且API都有很多相同的地方&#xff0c;可以无损耗切换&#xff0c;但是还是需要引入不同的库&#xff0c;而…...

MySQL扩展语句和约束方式

一、扩展语句 复制&#xff0c;通过like这个语法直接复制bbb的表结构。只是复制表结构&#xff0c;不能复制表里面的数据 把bbb表里面的数据&#xff0c;复制到test&#xff0c;两个表数据结构要一致 创建一张表&#xff0c;test1,数据从bbb来&#xff0c;表结构也是bbb delete…...

用起来顺手的在线表结构设计软件工具Itbuilder,与你共享

在线表结构设计软件工具需功能简洁&#xff0c;去除晦涩难懂的设置&#xff0c;化繁为简&#xff0c;实用为上&#xff0c;上手非常容易&#xff0c;这些itbuilder统统可以做到。 itbuilder是一款基于浏览器开发的在线表结构设计软件工具&#xff0c;借助人工智能提高效率&…...

Android开发知识学习——HTTPS

文章目录 定义HTTPS连接HTTPS 连接建立的过程课后题 定义 HTTP Secure / HTTP over SSL / HTTP over TLS SSL&#xff1a;Secure Socket Layer -> TLS Transport Layer Security 定义&#xff1a;在HTTP之下增加的一个安全层&#xff0c;用于保障HTTP的加密传输 本质&…...

STM32H750之FreeRTOS学习--------(一)初识RTOS

FreeRTOS 一、初识RTOS 裸机&#xff1a;裸机又称为前后台系统&#xff0c;前台系统指的中断服务函数&#xff0c;后台系统指的大循环&#xff0c;即应用程序 实时性差,程序轮流执行delayCPU空等待&#xff0c;效率低程序混乱&#xff0c;臃肿&#xff0c;功能都放在while循环…...

关于pycharm中句号变成点的问题

现象 在pycharm的使用中&#xff0c;经常遇到一个问题&#xff1a;注释写着写着&#xff0c;突然句号“。”变成了“.” 原因 今天突然发现&#xff0c;造成该现象的原因是&#xff1a;某个瞬间按下了ctrl .&#xff0c;那么之后按下句号只能显示为点。 pycharm中&#xf…...

FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation

FedGNN&#xff1a;用于隐私保护推荐的联邦图神经网络 参考笔记 ICML-21-workshop 本文的主要创新工作 在具有局部差分隐私的模型训练中保护模型梯度&#xff0c;并提出一种伪交互项目采样技术来保护用户与之交互的项目。提出了一种保护隐私的用户-项目图扩展方法&#xff0…...

k8s---pod进阶

//资源限制 当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小&#xff0c;以及其他类型的资源。 当为 Pod 中的容器指定了 request 资源时&#xff0c;调度器就使用该信息来决定将 Pod 调度到哪个节点上。当还为容器指定了 li…...

scrapy框架爬取数据(创建一个scrapy项目+xpath解析数据+通过pipelines管道实现数据保存+中间件)

目录 一、创建一个scrapy项目 二、xpath解析数据 三、通过pipelines管道实现数据保存 四、中间件 一、创建一个scrapy项目 1.创建一个文件夹&#xff1a;C06 在终端输入以下命令&#xff1a; 2.安装scrapy:pip install scrapy 3.来到文件夹下&#xff1a;cd C06 4.创建…...

你被骗了吗?别拿低价诱骗机器视觉小白,4000元机器视觉系统怎么来的?机器视觉工程师自己组装一个2000元不到,还带深度学习

淘宝闲鱼&#xff0c;大家搜搜铺价格&#xff0c;特别是机器视觉小白。 机架&#xff1a;&#xff08;新的&#xff09;200元以下。(看需求&#xff0c;自己简单打光&#xff0c;买个50元的。如果复杂&#xff0c;就拿给供应商免费打光) 相机&#xff0c;镜头&#xff1a;&am…...

计算机毕业设计选题推荐-大学生校园兼职微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

如何使用 Docker 搭建 Jenkins 环境?从安装到精通

不少兄弟搭 jenkins 环境有问题&#xff0c;有的同学用 window, 有的同学用 mac&#xff0c; 有的同学用 linux。 还有的同学公司用 window, 家里用 mac&#xff0c;搭个环境头发掉了一地。。。 这回我们用 docker 去搭建 jenkins 环境&#xff0c;不管你是用的是什么系统&…...

YOLOv5配置文件之 - yaml

在YOLOv5的目录中&#xff0c;models文件夹里存储了YOLO的模型配置。 ./models/yolov5.yaml 定义了YOLOv5s网络结构的定义文件 yaml的主要内容 参数配置 nc: 80 类别数量 depth_multiple: 0.33 模型深度缩放因子 width_multiple: 0.50 控制卷积特征图的通道个数 anchors配…...

HBuilderX实现安卓真机调试

1. 简介 HBuilderX 简称 HX&#xff0c;HBuilder&#xff0c;H 是 HTML 的缩写&#xff0c;Builder 是建设者。是为前端开发者服务的通用 IDE&#xff0c;或者称为编辑器。与 vscode、sublime、webstorm 类似。 它可以开发普通 web 项目&#xff0c;也可以开发 DCloud 出品的 u…...

如何使用IP归属地查询API加强网络安全

引言 在当今数字化时代&#xff0c;网络安全对于个人和组织来说至关重要。恶意网络活动的威胁不断增加&#xff0c;因此采取有效的措施来加强网络安全至关重要。其中之一是利用IP归属地查询API。这个工具可以为您的网络安全策略提供宝贵的信息&#xff0c;帮助您更好地保护自己…...

Nginx 实战指南:暴露出请求的真实 IP

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…...

golang工程— grpc-gateway健康检查和跨域配置

grpc健康检查网关跨域配置 grpc健康检查 grpc健康检查使用 服务端配置 import ("google.golang.org/grpc/health""google.golang.org/grpc/health/grpc_health_v1" )//添加健康检查服务,多路复用 grpc_health_v1.RegisterHealthServer(s, health.NewSe…...

怎么样把握单片机的实际应用?说几句大实话

关注我们 你听说小米的大动作了吗&#xff1f; 没错&#xff0c;小米终于揭开了新操作系统的面纱。 小米澎湃OS暨小米14系列新品发布会于10月26日19:00举行&#xff0c;小米14手机系列、小米首款血压手表、小米Watch S3...... ​ 今天主要讲的是自研7年的小米澎湃系统 没…...