热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

损失函数_深度学习和目标检测系列教程4300:目标检测入门之目标变量和损失函数

篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度学习和目标检测系列教程4-300:目标检测入门之目标变量和损失函数相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度学习和目标检测系列教程 4-300:目标检测入门之目标变量和损失函数相关的知识,希望对你有一定的参考价值。






@Author:Runsen


目标定位

图像分类或图像识别模型只是检测图像中对象的概率。与此相反,对象定位是指识别图像中对象的位置。对象定位算法将输出对象相对于图像的位置坐标。在计算机视觉中,定位图像中对象的最流行方法是借助边界框来表示其位置。

图 1 显示了一个边界框的例子。
可以使用以下参数初始化边界框:


  • bx, by : 边界框中心的坐标
  • bw : 边界框的宽度 wrt 图像宽度
  • bh : 边界框的高度 wrt 图像高度

定义目标变量

多类图像分类问题的目标变量定义为:

其中,





C


i




C_i


Ci
是第




i



i


i
类的概率。 例如,如果有四个类,则目标变量定义


我们可以扩展这种方法来定义目标变量进行目标定位。目标变量定义为








  • p


    c




    p_c


    pc
    = 对象(即四个类)出现在边界框中的概率/置信度。
  • bx,by,bh,bw = 边界框坐标。






  • c


    i




    c_i


    ci
    = 对象所属第




    i



    i


    i
    类的概率

例如,四个类别是“卡车”、“汽车”、“自行车”、“行人”,它们的概率表示为




c


1


,


c


2


,


c


3


,


c


4



c1,c2,c3,c4


c1,c2,c3,c4


损失函数

让目标变量y的值表示为




y


1


,


y


2


,





,


y


9



y1,y2,…,y9


y1,y2,,y9


目标定位的损失函数定义为


在实践中,我们可以在预测类




c


1





c


2





c


3





c


4



c1、c2、c3、c4


c1c2c3c4
的情况下使用考虑softmax输出的log函数。而对于边界框坐标,我们可以使用平方误差,对于





p


c




p_c


pc
(物体的置信度),我们可以使用logistic回归损失。

由于我们已经定义了目标变量和损失函数,我们现在可以使用神经网络对目标进行分类和定位。


物体检测

构建对象检测的一种方法是首先构建一个分类器,该分类器可以对对象的紧密裁剪图像进行分类。下图显示了此类模型的一个示例,其中模型在经过紧密裁剪的汽车图像数据集上进行训练,并且该模型预测图像是汽车的概率。

现在,我们可以使用这个模型来检测使用滑动窗口机制的汽车。在滑动窗口机制中,我们使用滑动窗口(类似于卷积网络中使用的滑动窗口)并在每张幻灯片中裁剪图像的一部分。裁剪的大小与滑动窗口的大小相同。然后将每个裁剪后的图像传递给一个 ConvNet 模型(类似于上图 中所示的模型),该模型反过来预测裁剪后的图像是汽车的概率。

滑动窗口机制

在整个图像上运行滑动窗口后,调整滑动窗口的大小并再次在图像上运行。经过多次重复这个过程。由于之前裁剪了大量图像并通过 ConvNet 传递,因此这种方法在计算上既昂贵又耗时,使整个过程非常缓慢。滑动窗口的卷积实现有助于解决这个问题。


滑动窗口的卷积

在使用 convents 实现滑动窗口之前,分析如何将网络的全连接层转换为卷积层。

下面 显示了一个简单的卷积网络,具有两个完全连接的层,每个层的形状为 (400, )。

借助一维卷积层,可以将全连接层转换为卷积层。该层的宽度和高度等于 1,过滤器的数量等于全连接层的形状。

 将全连接层转换为卷积层

我们可以将全连接层转换为卷积层的概念应用到模型中,方法是将全连接层替换为一维卷积层。一维卷积层的滤波器数量等于全连接层的形状。此外,输出 softmax 层也是形状为 (1, 1, 4) 的卷积层,其中 4 是要预测的类数。 如下图 所示。

在这里插入图片描

现在,扩展上述方法来实现滑动窗口的卷积版本。首先,考虑在以下表示中我们已经训练的 ConvNet(没有完全连接的层)。

让我们假设输入图像的大小为16 × 16 × 3。如果我们使用滑动窗口方法,那么我们会将该图像传递给上面的 ConvNet 四次,每次滑动窗口都会裁剪一部分大小为14 × 14 × 3的输入图像并将其通过卷积网络。但不是这样,我们将完整图像(形状为16 × 16 × 3)直接输入到经过训练的 ConvNet 中(见图 7)。这导致形状为2 × 2 × 4的输出矩阵. 输出矩阵中的每个单元格表示可能裁剪的结果和裁剪图像的分类值。

例如,下图中输出的左侧单元格(绿色单元格)表示第一个滑动窗口的结果。其他单元格表示剩余滑动窗口操作的结果。

滑动窗口的步幅由 Max Pool 层中使用的过滤器数量决定。在上面的示例中,Max Pool 层有两个过滤器,因此滑动窗口以 2 的步幅移动,从而产生四个可能的输出。使用这种技术的主要优点是滑动窗口同时运行和计算所有值。因此,这种技术非常快。尽管这种技术的一个弱点是边界框的位置不是很准确。


YOLO

在使用卷积滑动窗口技术时解决预测准确边界框问题,效果最好的算法是YOLO 算法。由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 于 2015 年开发。YOLO 很受欢迎,因为它在实时运行的同时实现了高精度。之所以这样称呼该算法,是因为它只需要通过网络进行一次前向传播即可进行预测。

该算法将图像划分为网格,并对每个网格单元运行图像分类和定位算法。例如,我们有一个大小为256 × 256的输入图像。我们在图像上放置一个3 × 3 的网格。

在这里插入图片描述

接下来,我们在每个网格单元上应用图像分类和定位算法。对于每个网格单元,目标变量定义为

在这里插入图片描述

用卷积滑动窗口做一次。由于每个网格单元的目标变量的形状是1 × 9并且有 9 ( 3 × 3 ) 个网格单元,模型的最终输出将是:

YOLO 算法的优点是速度非常快,并且可以预测更准确的边界框。此外,在实践中为了获得更准确的预测,我们使用更精细的网格,比如19 × 19,在这种情况下,目标输出的形状为19 × 19 × 9。






推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • SLAM优秀开源工程最全汇总
    https:zhuanlan.zhihu.comp145750808 1、CartographerCartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 鄂维南:从数学角度,理解机器学习的「黑魔法」,并应用于更广泛的科学问题...
    作者|Hertz来源|科学智能AISI北京时间2022年7月8日晚上22:30,鄂维南院士在2022年的国际数学家大会上作一小时大会报告(plenarytalk)。今 ... [详细]
  • 分享篇:第十届“泰迪杯”数据挖掘挑战赛农田害虫图像识别(特等奖)一
    1.1赛题背景昆虫的种类浩如烟海,农田常见的昆虫是人工生态系统的重要组成部分。分辨益虫和害虫,保留益虫,消灭害虫,对于减轻害 ... [详细]
  • 基于深度学习的遥感应用
    文章目录深度学习的发展过程深度学习在遥感中的应用基于深度学习的遥感样例库建设基于深度学习的遥感影像目标及场景检索基于深度学习的建筑物提取基于深度学习的密集建筑物自动检测基于深度学习 ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • 分类与聚类
    一:分类1:定义分类其实是从特定的数据中挖掘模式,做出判断的过程。分类是在一群已经知道类别标号的样本中,训练一种分类器 ... [详细]
author-avatar
Mr木木木木_823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有