目标定位和特征点检测

article/2025/10/12 16:58:17

1. 目标定位

目标检测是计算机视觉领域中的一个新兴的应用方向,在构建目标检测之前,我们首先了解一下object localization目标定位。

前面说过的图片分类任务就是算法遍历图片,判断其中的对象是不是汽车,主要是图片分类

这里所说的目标定位指的是我们不仅要用算法判断图片中是不是一辆汽车,还要在图片中标记出它的位置,用边框或红色方框把目标 标注圈起来,这就是定位分类问题。其中定位的意思是 判断目标在图片中的具体位置。在目标检测问题中,图片可以包含有多个目标,甚至单张图片中会有多个不同分类的目标,因此图片分类的思路可以帮助学习分类定位,而目标定位的思路又有助于学习目标检测。

一般的图片分类问题,我们输入一张图片到多层卷积神经网络中,它会输出一个特征向量,并反馈给softmax单元来预测图片类型。如果我们想定位图片中的目标具体的位置,我们可以让神经网络多输出几个单元,具体来说就是让神经网络再多输出4个数字标记为bx、by、bh、bw。这四个数字是被检测对象的边界框的参数化表示。

(bx,by)表示为目标边界框的中心点坐标

bh表示为边界框的高度

bw表示为边界框的宽度

因此,训练集不仅要包含神经网络要预测的对象分类标签,还要包含表示边界框的这四个数字。接着采用监督学习算法,输出一个分类标签,还有这四个参数值,从而给出被检测对象的边界框位置。

2. 目标对象标签Y的定义

如何为监督学习任务定义目标标签y?

这里有四个分类,神经网络输出的是这四个数字和一个分类标签或分类标签出现的概率。

目标标签Y的定义如下:

它是一个向量,第一个组件Pc表示是否含有对象,如果对象属于前三类,则Pc=1,如果是background或者其他,则Pc=0,即图片中没有我们指定的对象。若我们检测到对象,则接下来会输出目标边界框的四个参数bx、by、bw、bh。如果存在某个目标对象,则除了输出Pc=1,边界框的四个参数,同时还会输出C1、C2、C3,表示该对象属于1~3中的哪一类,属于哪一类其对应的Cx就为1,其余为C为0。如果输入图片中没有以上的3中对象或者说只有背景时,那么Pc=0,那么标签Y中的其他参数将变得毫无意义,不要考虑边框坐标以及Cx的值。

所以针对给定的被标记的训练样本,不论输入图片是否含有定位对象, 构建输入图片X和分类标签Y的具体过程都是如此,这些数据最终定义了训练集。

训练神经网络的损失函数

其参数为类别Y和网络输出\hat{Y},损失函数可以表示为L(\hat{Y},Y),如果采用平方误差策略,则

 {\color{Red} L(\hat{Y},Y)=(\hat{Y_{1}}-Y_{1})^2 + (\hat{Y_{2}}-Y_{2})^2 + (\hat{Y_{3}}-Y_{3})^2 + ... + (\hat{Y_{8}}-Y_{8})^2}

注意,这里的Y含有8个元素,损失值等于每个元素相应差值的平方和。

如果图片中存在定位对象,则Y_{1} = P_{c} = 1,损失值就是各个元素的平方和。

另一种情况是 Y_{1} = 0,也就是 P_{c} = 0,那么损失值是(\hat{Y_{1}}-Y_{1})^2。因为对于此种情况,我们不用考虑其他元素,只需关注神经网络输出P_{c}的准确度。

 为了了解目标定位的细节,这里用平方误差简化了描述过程。实际应用中,你可以不用对C1、C2、C3和softmax激活函数应用 对数损失函数并输出其中一个元素值,通常做法是对边界框坐标应用平方误差或类似方法,对P_{c}应用逻辑回归函数,甚至采用平方预测误差也是可以的。

3. 特征点检测

我们可以采集人脸中的64个特征点并生成包含这些特征点的标签训练集,然后利用神经网络输出脸部关键特征点的位置。具体做法是:准备一个卷积网络和一些特征点的数据集,将人脸输入卷积网络,输出0或1,输出1表示有人脸,然后输出(l_{1}x,l_{1}y),(l_{2}x,l_{2}y)...(l_{64}x,l_{64}y)共64个特征点的坐标值,共129个输出单元,由此实现了对图片的人脸检测和定位;0表示无人脸,那么特征点坐标值数据便不再考虑了。这就是一个识别脸部表情的基本构造模块。

为了构建这样的网络,我们首先需要准备一个标签的训练集,也就是图片X和标签Y的集合,这些特征点都是人为花费大量时间手工标注的。

同样,如果我们做人体姿态检测,我们还可以在人体四肢各部位定义一些关键特征点,然后通过神经网络标注人物姿态的关键特征点,再输出这些标注过的特征点,就相当于输出了人物的姿态动作。当然,要实现这个功能,你需要设定这些关键特征点,从胸部中心点(l_{1}x,l_{1}y)一直到(l_{32}x,l_{32}y)共32个姿态特征点。


http://chatgpt.dhexx.cn/article/KSg3AF3F.shtml

相关文章

目标定位(Object localization)

来源:Coursera吴恩达深度学习课程 在构建目标检测之前,建议先了解一下目标定位(object localization)。 在上图的这个例子中,图片分类(image classification)不仅要判断图片中是不是一辆汽车&a…

学习云计算从哪里入手

学习云计算从哪里入手 1、 学习思路 a) 学习前建议先了解 i. 什么是云计算 ii. 云计算对当前的商业模式有什么影响 iii. 云计算所涉及到的技术 iv. 云计算的现状 b) 云计算可以分为广义的和狭义的两类&…

云计算学习(1)

原文来自于HCIA-Cloud Computing 华为云计算工程师认证 --hsyl007学习笔记收集整理 ,个人博客地址 http://hsyl007.work/zblog/ 什么是云计算 云计算就在身边 将资源准备好,通过特定技术随时随地使用这些资源去执行特定任务的方式基本就属于云计算类…

大数据与云计算学习(2)

四、分布式数据库HABSE 1、请阐述HBase和传统关系数据库的区别 正确答案: 我的答案: (1)数据类型:关系数据库采用关系模型,具有丰富的数据类型和存储方式,HBase则采用了更加简单的数据模型&a…

云计算学习笔记(一):云计算基础

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及作者恺风Wei 本系列将对云计算进行学习,目前资料来自《云计算-概念、技术与架构》(第一作者:Tomas…

(一)云计算技术学习--基础概念

目录 Linux的用户管理 Yum 命令 Python SELinux vsftpd etcd Session、Cookie、Token LNMP VMware Docker Kubernetes(K8S) Centos CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一…

云计算学习路线

文章目录 一、什么是云计算二、虚拟化2.1 云计算与虚拟机基础2.1.1 云计算底层就是虚拟化 or 物理机2.1.2【重点】企业级虚拟化架构 (VRM CNA 存储)(1)架构分析(2)心跳 cluster(3)…

云计算的学习(四)

四、云计算中的存储基础知识 1.云计算虚拟化中的存储架构 ①虚拟化存储 在虚拟化存储架构中,最底层为物理磁盘。 底层的硬件组成存储池,存储池分为NAS存储和SAN存储;NAS存储需要文件系统;SAN存储需要对存储池进行逻辑划分产生逻…

云计算的学习(三)

三、云计算中的网络基础知识 1.虚拟化中网络的架构 1.1虚拟化中网络的架构 二层交换机作为接入交换机使用,三层交换机可以作为汇聚交换机或核心交换机,在抛开网络安全设备时,路由器直接连接在互联网上。 1.2广播和单播 物理服务器内部主要…

云计算基础:云计算运用越来越广泛,我们应该如何去学习云计算

随着时代的发展,云计算越来越普及,越大众化,使用的人越来越多,我们应该如何去学习这门技术呢?这篇文章我们就来介绍如何学习我们的云计算。 学前介绍: 学前介绍 学习资料:HedEX Lite、产品文档、笔记、P…

云计算学习内容

2021.12.4 云技术 --- 云计算---分布式计算 云储存---百度网盘 计算机技术 抽象语---电信号 抽象语言---编码 应用层 编码---二进制 表示层 二进制---电信号 介质(硬件)访问控制层 处理电信号 物理层 通信技术 1946年2月14日 1876年---贝…

云计算的学习(五)

五、虚拟化特性介绍 1.集群特性 1.1HA HA(Hith Available,高可用特性),克服单台主机的局限性,当一台服务器损坏,运行在损坏服务器上的虚拟机会自动迁移到其他运行状态正常的服务器上,整个迁移过程用户无感…

云计算的学习(六)

六、云计算的发展趋势 1.云计算相关领域介绍 1.1物联网 物联网来源于互联网,是万物互联的结果,是人和物、物和物之间产生通信和交互。 物联网主要技术: RFID技术(射频识别技术)传感器技术嵌入式系统技术 1.2大数据…

大数据与云计算学习(1)

大数据学习 一、大数据概述: 1、大数据概念和特征。 正确答案: 大数据意指一个超大的、难以用现有常规的数据库管理技术和工具处理的数据集 数据量大(Volume):存储的数据量巨大,PB级别是常态,因…

云计算学习路线和经典资料推荐

hi,大家好,最近很多小伙伴叫我出一个云计算学习路线和推荐资料,那必须赶紧安排上。云计算可以说是当前的热门方向,各个大厂都在搞云计算(字节也加入云计算大家庭,以后跳槽有更多选择)&#xff0…

云计算:基础学习

云计算基础学习 一、云计算基础1.什么是云计算:2.云计算的商业模式: 二、网络的定义1.什么是网络:2.网络的类型:3.常见的网络设备: 三、OSI七层参考模型与TCP/IP五层模型:1.OSI七层参考模型:2.T…

云计算——让学习更轻松

​📋导读📋 💝博客主页:红目香薰_CSDN博客-大数据,计算机理论,MySQL领域博主💝 ✍本文由在下【红目香薰】原创,首发于CSDN✍ 🤗2022年最大愿望:【服务百万技术人】🤗 &am…

云计算基础之如何学习云计算?

文章目录 背景1. 学习思路1.1 了解基本概念与现状1.2 区分狭义与广义的云计算 2. 应用平台3. 不同职位的学习内容4. 云计算工程师的技能树 背景 随着云计算的普及,越来越多IDC上的网站与应用开始在云上。那么同时对于我们这些IT从业者来说,也面临着加快…

云计算应该怎么学,学习路线是什么?

云计算作为新的互联网热门技术,是很多年轻人喜爱的方向,不仅技术含量高,操作性强,易学性也高,对于零基础想转IT的小伙伴们来说是非常友好的。 那么本文就以零基础的角度来分享一些学习思路和学习方向,有需要…

如何学习云计算这一文就够了!

随着云计算的普及,越来越多IDC上的网站与应用开始向云上,那么同时对于我们这些IT从业者来说,也面临着加快学习云计算,不被新技术淘汰的挑战。那么我们就一起来聊聊,该怎样更快的学好云计算! 云计算可以分为…