【学习记录】《DeepLearning.ai》第十二课:目标监测(Object detection)

简介: 2021/9/12

第十二课:目标监测(Object detection)

3.1 目标定位(Object localization)

image

image

解释上图:

对于目标监测的输出y,第一个参数$P_c$​如果图片中有目标,比如行人,车或者自行车,则输出1,如果是背景则输出0.接下来的四个参数用来定位,具体定义在第一张图片中已经给出了。最后几个参数$C_1,C_2,C_3$表示分别是行人,车,自行车,如果是自行车,则输出$C_3$为1,其他为0.

其损失函数如上图所示。


3.2 特征点检测(Landmark detection)

image

特征点检测通过在最后一层添加输出变量,如图所示,图二标记了64个特征点,然后让其在最后一层输出,如上面的网络最后一层,第一个参数表示是否识别到了人脸,后面的参数表示特征的具体坐标位置,根据这样我们可以判断出人的表情变化,或者判断人的姿态,比如是行走还是在奔跑等等。


3.3 目标检测(Object detection)

基于滑动窗口的目标检测算法

image

让方框在图中从左上角按照一定步长进行遍历找到目标位置

缺点:计算量比较大,当步长太大,误差比较大。


3.4 滑动窗口的卷积实现(Convolutional implementation of sliding windows)

image

解释:滑动窗口的卷积实现就是从左上角开始,以固定步长进行遍历,这里的步长是由最大池化的维度决定的,如图步长为2,然后得到一个$2*2*400$的输出全连接层,其中蓝色框代表左上角的矩形窗口,绿色框代表右上角,以此类推。

image

如上图,如果以$14*14$进行滑动窗口卷积,可以得到最终$8*8$​的输出层,这里面的每一个方框对应相对位置的矩形框。

优点:效率高

缺点:不能准确预测矩形框的位置。


3.5 Bounding Box预测(Bounding box predictions)

Yolo算法效率比较高,因为它用了卷积,同时能够精确输出标准框,关于原理似懂非懂。

image

大概过程就是,先给训练集打标签(工作量巨大),如上图,每个框输出8个特征向量,具体含义本周第一课已经讲过了,可以确定出目标的位置。

image

上面这个图是关于四个参量的表示方法,其中$b_h,b_w$​表示反了,注意下。。。表示方法也和前面目标定位那块是一样的。

Redmon, Joseph, et al. "You Only Look Once: Unified, Real-Time Object Detection." (2015):779-788.(原来大佬的yolo论文)

3.6 交并比(Intersection over union)

判断对象检测算法运作是否良好?

image

交并比用来表示打标签的框与预测框的交集与并集之比,如果两个框重合,则交并比为1.

image

交并比来衡量两个边界框重叠的相对大小


3.7 非极大值抑制(Non-max suppression)

非极大值抑制的方法作用:确保算法对每个对象只检测一次。

image

如上图所示,对于预测的输出,假设就是针对汽车,去掉了之前的$C_1,C_2,C_3$,将$P_c$表示为概率,先去掉概率小于0.6的,然后找到最大的概率作为输出的预测,然后抛弃掉与最大概率框的交并比大于0.5的框,这就是非极大值抑制。


3.8 Anchor Boxes

Anchor Boxes:用来解决一个格子中有多个对象的问题。

对象在目标标签中的编码方式:(grid cell,anchor box),表示实际边界框与anchor box的交并比越高,则就选择较高的anchor box。

image

对于一个格子中有两个图像的问题:设定输出有16个 向量,比如本题,前8个表示行人,后8个表示汽车。

通常一个格子中很少有三个对象。


3.9 YOLO算法(将前面学习的综合起来)

image

在训练阶段,对于每个框得到固定的输出,对于有汽车的框,注意输出。

image

image

预测过程如下:

1.对于每个格子,都得到两个输出预测边界框;

2.去掉概率很低的预测;

3.对于每个类别单独运行非极大值抑制。


3.10 候选区域(选修)(Region proposals)

讲了个R-CNN,了解


OVER!

相关文章
|
11月前
|
机器学习/深度学习 人工智能 并行计算
【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码
在LabVIEW中调用YOLOv5快速实现实时物体识别,感受丝滑般物体识别
312 0
|
8月前
|
XML TensorFlow API
TensorFlow Object Detection API 超详细教程和踩坑过程
TensorFlow Object Detection API 超详细教程和踩坑过程
128 1
|
9月前
|
数据可视化 数据挖掘 测试技术
【计算机视觉】Open-Vocabulary Object Detection 论文工作总结
Open-Vocabulary Object Detection (OVD)可以翻译为**“面向开放词汇下的目标检测”,**该任务和 zero-shot object detection 非常类似,核心思想都是在可见类(base class)的数据上进行训练,然后完成对不可见类(unseen/ target)数据的识别和检测,除了核心思想类似外,很多论文其实对二者也没有进行很好的区分。
|
9月前
|
机器学习/深度学习 计算机视觉
【计算机视觉 | 目标检测】Open-Vocabulary Object Detection Using Captions
出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的object concept,使得object detection不再受限于带标注数据的少数类别,从而实现更加泛化的object detection,识别出更多novel的物体类别。
|
9月前
|
机器学习/深度学习 算法 计算机视觉
【计算机视觉 | 目标检测】Open-vocabulary Object Detection via Vision and Language Knowledge Distillation
在这项工作中,我们考虑借用预训练的开放词汇分类模型中的知识来实现open vocabulary检测。
|
9月前
|
算法 计算机视觉
|
11月前
|
机器学习/深度学习 并行计算 算法
手把手教你使用LabVIEW OpenCV dnn实现物体识别(Object Detection)含源码
今天和大家一起分享如何使用LabVIEW调用pb模型实现物体识别
82 0
|
机器学习/深度学习 并行计算 API
一文掌握物体检测库TensorFlow 2.x Object Detection安装
tensorflow object detection api一个框架,它可以很容易地构建、训练和部署对象检测模型,并且是一个提供了众多基于COCO数据集、Kitti数据集、Open Images数据集、AVA v2.1数据集和iNaturalist物种检测数据集上提供预先训练的对象检测模型集合。
288 0
一文掌握物体检测库TensorFlow 2.x Object Detection安装
|
XML TensorFlow API
基于Tensorflow2.x Object Detection API构建自定义物体检测器
tensorflow object detection api一个框架,它可以很容易地构建、训练和部署对象检测模型,并且是一个提供了众多基于COCO数据集、Kitti数据集、Open Images数据集、AVA v2.1数据集和iNaturalist物种检测数据集上提供预先训练的对象检测模型集合。
168 0
|
机器学习/深度学习 XML 人工智能
基于Tensorflow2.x Object Detection API构建自定义物体检测器
基于Tensorflow2.x Object Detection API构建自定义物体检测器的保姆级教程,详细地描述了代码框架结构、数据集的标准方法,标注文件的数据处理、模型流水线的配置、模型的训练、评估、推理全流程。
290 1