目标检测学习

news2024/11/23 23:59:11

目录

1、目标定位

2、特征点检测

3、目标检测

4、滑动窗口的卷积实现

5、Bounding Box 预测(Bounding box predictions)

6、交并化

7、非极大值抑制

8、Anchor Boxes

9、YOLO算法 


1、目标定位

2、特征点检测

  • 如何检测特征点(以人的部位为例)

(1)、准备一个卷积网络和一些特征集,将人脸图片输入卷积网络,输出 1 0, 1 表示有人

脸,0 表示没有人脸。然后输出(𝑙1𝑥𝑙1𝑦……直到(𝑙64𝑥𝑙64𝑦

(2)、这里有129 个输出单元,其中1表示图片中有人脸,因为有64个特征,64×2=128

所以最终输出 128+1=129 个单元,由此根据这128个人脸特征实现对图片的人脸检测和定位,或
者表情识别这些更加复杂的操作

3、目标检测

  • 滑动窗口目标检测算法

(1)、选定一个特定大小的窗口,比如上面图片中的窗口,将这个红色小方块输入卷积神经网

络,卷积网络开始进行预测,即判断红色方框内有没有汽车

(2)、迭代上面的图片中的每一个窗口中的图片,进行重复的操作。红色小方块中的图片输入

卷积神经网络中进行预测,若有汽车则输出1,否则为0

  • 滑动窗口目标检测算法的缺点

(1)、滑动窗口目标检测算法也有很明显的缺点,就是计算成本,因为你在图片中剪切出太多

小方块,卷积网络要一个个地处理
(2)、选用的步幅很大,显然会减少输入卷积网络的窗口个数,但是粗糙间隔尺寸可能会影响性
(3)、如果采用小粒度或小步幅,传递给卷积网络的小窗口会特别多,这意味着超高的计算成本

4、滑动窗口的卷积实现

  • 神经网络的全连接层转化成卷积层

(1)、首先要把神经网络的全连接层转化成卷积层

(2)、前几层和之前的一样,而对于下一层,也就是这个全连接层,我们可以用 5×5 的过滤器来

实 现,数量是 400 个(编号 1 所示),输入图像大小为 5×5×16,用 5×5 的过滤器对它进行卷 积

操作,过滤器实际上是 5×5×16,因为在卷积过程中,过滤器会遍历这 16 个通道,所以这 两处的

通道数量必须保持一致,输出结果为 1×1。假设应用 400 个这样的 5×5×16 过滤器, 输出维度就

是 1×1×400,我们不再把它看作一个含有 400 个节点的集合,而是一个 1×1×400 的输出层。从数

学角度看,它和全连接层是一样的,因为这 400 个节点中每个节点都有一个 5×5×16 维度的过滤

器,所以每个值都是上一层这些 5×5×16 激活值经过某个任意线性函数的输出结果

(3)、用的是 1×1 卷积,假设有 400 1×1 的过滤器,在这 400 个过滤器的作用下,下一层的

维度是 1×1×400,它其实就是上个网络中 的这一全连接层。最后经由 1×1 过滤器的处理,得到一

softmax 激活值,通过卷积网络, 最终得到这个 1×1×4 的输出层

  • 通过卷积实现滑动窗口对象检测算法
(1)、假设输入给卷积网络的图片大小是 14×14×3,测试集图片是 16×16×3,现在给这个输入
图片加上黄色条块,在最初的滑动窗口算法中,你会把这片蓝色区域输入卷积网络(红色笔
标记)生成 0 1 分类。接着滑动窗口,步幅为 2 个像素,向右滑动 2 个像素,将这个绿框
区域输入给卷积网络,运行整个卷积网络,得到另外一个标签 0 1 。继续将这个橘色区域
输入给卷积网络,卷积后得到另一个标签,最后对右下方的紫色区域进行最后一次卷积操作。
在这个 16×16×3 的小图像上滑动窗口,卷积网络运行了 4 次,于是输出了了 4 个标签

 (2)、假设剪切出这块区域(编号 1), 传递给卷积网络,第一层的激活值就是这块区域(编号

2),最大池化后的下一层的激活值是这块区域(编号 3),这块区域对应着后面几层输出的右上

角方块(编号 45,6)。所以该卷积操作的原理不需要把输入图像分割成四个子集,分别执行前

向传播, 而是把它们作为一张图片输入给卷积网络进行计算,其中的公共区域可以共享很多计

算(通过共享计算一次性得出迭代四个窗口的结果),就像这里看到的这个 4 14×14 的方块一样

 (3)、滑动窗口的实现过程,在图片上剪切出一块区域,假设它的大小是 14×14,把它输入到卷

积网络。继续输入下一块区域,大小同样是 14×14,重复操作,直到某个区域识别到汽车

5、Bounding Box 预测(Bounding box predictions

(1)、解决基于卷积实现的滑动窗口对象检测算法中精准边界框的问题

(2)、采用YOLO 算法解决上述算法存在的问题

6、交并化

 (1)、评价定位算法是否准确

7、非极大值抑制

(1)、算法可能对同一个对象做出多次 检测,所以算法不是对某个对象检测出一次,而是检测出

多次。非极大值抑制这个方法可以确保算法对每个对象只检测一次

 (2)、(右边车辆)中是 0.9,然后就说这是最可靠的检测,所以就用高亮标记,就说这里找到

了一辆车。这么做之后,非极大值抑制就会逐一审视剩下的矩形,所有和这个最大的边框有很高交

并比,高度重叠的其他边界框,那么这些输出就会被抑制。所以这两个矩形𝑝𝑐分别是 0.6 和 0.7,

这两个矩形和淡蓝色矩形重叠程度很高,所以会被抑制,变暗,表示它们被抑制了

(3)、逐一审视剩下的矩形,找出概率最高,𝑝𝑐最高的一个,在这种情况下是 0.8, 认为这里检

测出一辆车(左边车辆),然后非极大值抑制算法就会去掉其他 loU 值很高的矩形。所以现在每个

矩形都会被高亮显示或者变暗,如果直接抛弃变暗的矩形,那就剩下高亮显示的那些,这就是最

后得到的两个预测结果

(4)、非最大值意味着只输出概率最大的分类结果,但抑制很接近,但不是最大的其他预测结

果,所以这方法叫做非极大值抑制

8、Anchor Boxes

(1)、一个格子检测多个对象

9、YOLO算法 

 

 

 

(1)、如果使用两个 anchor box,那么对于 9 个格子中任何一个都会有两个预测的边界框其

中一个的概率𝑝𝑐很低。但 9 个格子中,每个都有两个预测的边界框,比如得到的边界框是是这样

的,注意有一些边界框可以超出所在格子的高度和宽度(编号 1 所示)。接下来抛弃概率很低的

预测,去掉这些神经网络,这里很可能什么都没有,所以需要抛弃这些(编号 2 所示)

 (2)如果有三个对象检测类别,检测行人,汽车和摩托车,对于每个类别单独运行非极大值抑

制,处理预测结果所属类别的边界框,用非极大值抑制来处理行人类别,用非极大值抑制处理车子

类别,然后对摩托车类别进行非极大值抑制,运行三次来得到最终的预测结果。所以算法的输出最

好能够检测出图像里所有的车子,还有所有的行人(编号 3 所示)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/745875.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于linux下的高并发服务器开发(第一章)- 静态库的制作1.4

01 / 什么是库 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用者一些可以直接拿来用的变量、函数或类库是特殊的一种程序,编写库的程序和编写一般的程序区别不大,只是库不能单独运行。库文件有两种…

如何选择适合外贸公司的企业邮箱?推荐哪些优质企业邮箱服务?

为外贸公司选择合适的企业邮箱是企业成功经营的关键。强大、安全、直观的企业邮箱能够满足不同平台上不同用户的需求,这是确保数据和消息与客户和合作伙伴准确沟通的关键。以下是外贸公司在选择企业邮箱时应考虑的一些规范: 1、安全 在考虑企业邮箱时,安…

如何下载centOS镜像

我们在操作虚拟机的时候都有一个选择镜像, 这里我们可以去对应的官网去下载即可,下面就是网址 Download (centos.org) 就会出现许多地址 我们只需要随便选一个地址即可(前提它能用), 到了下图即可点击下载,…

通信算法之179: 单载波频域均衡系统的帧结构2

一。帧结构 (2) (3)

问懵了....美团一面索命44问,过了就60W+

说在前面 在40岁老架构师尼恩的(50)读者社区中,经常有小伙伴,需要面试美团、京东、阿里、 百度、头条等大厂。 下面是一个小伙伴成功拿到通过了美团一次技术面试,最终,小伙伴通过后几面技术拷问、灵魂拷问…

欧姆龙CJ系列PLC以太网通讯处理器欧姆龙cp1h以太网模块

捷米特JM-ETH-CJ转以太网模块是一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CJ1/CJ2/CS1系列PLC的以太网数据采集,非常方便构建生产管理系统。 捷米…

Mybatis-plus生成代码

生成类 package com.lbdj.user.service;import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.lbdj.user.service.co…

K8s生产环境常见问题处理、答疑

文章目录 K8s 常见问题处理、答疑[1] calico一直处于未就绪状态[2] 删除dashboard 一直卡在delete[3] k8s-dashboard 修改tocken-ttl避免频繁输入tocken[4] kubectl 快捷指令[5] 解决UTC时间问题[6] kubectl命令自动补全[7] kubectl exec进入pod[8] 使用hostpath解决容器UTC时间…

轻松玩转Python正则表达式

引言 正则表达式是一种强大的文本匹配和处理工具,广泛应用于各种编程语言中。在Python中,我们可以使用内置的re模块来处理正则表达式。本文将带您从入门到精通,逐步介绍Python中的正则表达式用法,并提供实例演示。 1. 正则表达式…

电商兴起与电脑城衰退:利弊分析与展望

随着科技的飞速发展和互联网的普及,电子产品成为现代生活中不可或缺的一部分。在过去很长一段时间里,想要购买电子设备都逃不开一个叫“电脑城”的地方,那里鱼龙混杂良莠不齐,是令许多人记忆深刻分外难忘之处。然而,随…

U启动盘(NETBASE第十二课)

1.域环境组策略的应用规则 1)策略的继承 继承:默认下级容器继承上级容器的组策略配置Default Domain Policy禁止更改桌面背景运行-dsa.msc创建OU并命名为caiwu,在caiwu的OU中创建新用户xmxm用户在win10客户端主机登录,验证不能更…

MongoDB比Mysql快的原因,为什么 MongoDB 索引选择B-树,而 Mysql 索引选择B+树

一、B树和B树的区别 很明显,我们想向弄清楚原因就要知道B树和B树的区别。为了不长篇大论。我们直接给出他们的形式总结他们的特点。 1、B树 B树是一种自平衡的搜索树,形式很简单: 这就是一颗B-树。针对我们这个问题的最核心的特点如下&#…

软件测试面试题(带答案)

1. 请自我介绍一下(需简单清楚的表述自已的基本情况,在这过程中要展现出自信,对工作有激情,上进,好学) 面试官您好,我叫###,今年26岁,来自广东深圳,就读专业是电子商务,…

TypeScript算法题实战——剑指 Offer篇(4)

目录 一、礼物的最大价值1.1、题目描述1.2、题解 二、最长不含重复字符的子字符串2.1、题目描述2.2、题解 三、丑数3.1、题目描述3.2、题解 四、第一个只出现一次的字符4.1、题目描述4.2、题解 五、数组中的逆序对5.1、题目描述5.2、题解 六、两个链表的第一个公共节点6.1、题目…

任务型对话对话策略学习的强化学习方法

任务型对话(TOD)系统旨在帮助用户解决从天气咨询到计划安排的一系列问题。完成任务的途径有二。 其一是端到端途径:直接将当前对话内容与系统的自然语言反映相关联。此种方法多是采用序列到序列的模型,然后进行监督训练。 第二种是模组途径&#xff1a…

can 相关背题

1 CAN FD 和CAN的 区别: CAN-FD:一帧数据最长64字节。以理解成CAN协议的升级版,只升级了协议,物理层未改变。传输速率不同、数据长度不同、帧格式不同、ID长度不同。 1)速率不同: CAN:最大传…

机械臂的雅克比矩阵推导

1. 线速度和角速度的递推通式推导 p i p i − 1 R i − 1 r i − 1 , i i − 1 \mathbf{p}_{i}\mathbf{p}_{i-1}\mathbf{R}_{i-1} \mathbf{r}_{i-1, i}^{i-1} pi​pi−1​Ri−1​ri−1,ii−1​ p i − 1 \mathbf{p}_{i-1} pi−1​是 { i − 1 } \{i-1\} {i−1}坐标系的原点的…

获取全国各地行政区的genjson数据以及使用leaflet加载行政区数据

前言 在写代码之前,我们需要做一些准备工作,需要有一份某个行政区的geojson数据,如果你没有也没关系,我们可以去下载,地址:geojson数据下载网站 打开网站,选择自己想要获取的行政区&#xff0…

FPGA学习——按键控制LED流水灯(附源码 无按键消抖版本)

文章目录 一、前言二、开发板按键原理图三、源码四、实现效果 一、前言 在博主的cyclone4开发板上一共有4个按键,本次实验的目的是为了实现每按下一次按键,都会使开发板上的4个LED灯切换一次状态,博主一共设计了四种状态,分别是&…