热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

目标检测入门记2——achor和典型网络结构

本文依旧属于目标检测入门系列,是学习DataWhale的动手学CV-PyTorch版的总结与感悟。 一个目标检测网络的诞生 咱也目标检测刚入门,咱也没研究过其他网络&#x

本文依旧属于目标检测入门系列,是学习DataWhale的动手学CV-PyTorch版的总结与感悟。


一个目标检测网络的诞生

咱也目标检测刚入门,咱也没研究过其他网络,这里就拿Datawhale教程中的SSD网络改动版Tiny-Detector来举例,其他网络应该也是差不多的。

与其他的深度神经网络算法类似,目标检测网络中也需要用CNN提取特征,提取特征可以用各种在分类任务上效果出众的网络作为backbone,比如用VGG16作为Backbone,去除后面的全连接层的分类部分,输入一张大小为224x224的图像,经过特征提取后得到一个7x7的特征图,如下图:
在这里插入图片描述

Anchor

无论搞没搞过目标检测,只要是CV领域的,大家对anchor都应该有所耳闻,因为很多公众号文章都会提到这个词。那么anchor到底是什么?

所谓anchor即先验框,这是人为给定的一组具有不同形状、不同大小的框。因为它形状多样,所以可以基本满足很多目标的boundingbox(边界框)的形状;因为它大小多样,所以可以满足多尺度的检测需求。下图中就展示了一组以狗为中心的anchor。

在这里插入图片描述
再回到刚才的问题,如何从7x7的特征图上得到图像上目标的位置呢?我们事先会定义一组anchor,然后在每个位置上全部用一遍这组anchor,每个anchor在一个位置上都会根据事先定义的框的大小生成一组图,这组图反映了以当前位置为中心的一组anchor所框区域。我们就是要利用anchor生成的这组位置,来计算里面包含的目标信息,以及通过回归的方式调整边界框,让其能与实际目标的边界框尽可能重合。

回归的方式主要就到目标检测入门记1中边界框坐标的两种表示的第二种啦,具体为何要这样计算,我认为更多的可能是在数值计算上更容易回归吧。
boundingbox坐标的表示方式

分类头和回归头

用特征提取网络获得特征图之后,需要再通过两个卷积层,分别输出分类头和回归头,分类头对应图中目标的类别信息,回归头对应目标的边界框。
在这里插入图片描述

回归头

它的作用是预测anchor框和bbox_gt之间的偏移量

用backbone进行特征提取之后,再用3x3的卷积进行计算,得到的特征图大小不变,但通道数变了,比如原来backbone输出特征图上每个点处生成9个候选框,每个候选框输出偏移量gcx,gcy,gx,ghg_{cx},g_{cy},g_{x},g_{h}gcx,gcy,gx,gh,那么输出特征图的通道数就为36,每4个为一组代表一个候选框的输出偏移量回归值。

分类头

分类头也是用backbone提取特征,然后再用3x3的卷积进行运算,输入和输出特征图的尺寸相同。如果总共有21类,则输出特征图的通道数为21*9,每21个元素代表一个候选框输出的类别的one-hot编码

实际使用中,分类头和会国土的输出并非上面这样。采用7x7x(anchor_num*elem_num)的方式比较直观,但希望每个anchor的输出独自成为一个维度,因此通常将7x7xanchor_num展平成一个元素,再接一个elem_num的维度作为这个anchor的输出。

目标检测网络全貌

在这里插入图片描述


推荐阅读
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 随着生活节奏的加快和压力的增加,越来越多的人感到不快乐。本文探讨了现代社会中导致人们幸福感下降的各种因素,并提供了一些改善建议。 ... [详细]
  • 由二叉树到贪心算法
    二叉树很重要树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。单就面试而言,在 ... [详细]
  • 如何使用 CleanMyMac X 2023 激活码解锁完整功能
    本文详细介绍了如何使用 CleanMyMac X 2023 激活码解锁软件的全部功能,并提供了一些优化和清理 Mac 系统的专业建议。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 江苏启动鲲鹏生态产业园首批应用孵化项目
    2019年9月19日,在华为全联接大会上,江苏鲲鹏生态产业园正式启动了首批鲲鹏应用孵化项目。南京市委常委、江北新区党工委专职副书记罗群等多位嘉宾出席并见证了这一重要时刻。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
author-avatar
天山金泉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有