热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cornerNet部分学习内容记录

cornerNet来源灵感是基于多人姿态估计的从下往上思想,预测角的热图,根据嵌入式向量对角进行分组,其主干网络也来自于姿态估计的环面网络。 cornerNet的总体框架结构图如下

cornerNet来源灵感是基于多人姿态估计的从下往上思想,预测角的热图,根据嵌入式向量对角进行分组,其主干网络也来自于姿态估计的环面网络。

 

cornerNet的总体框架结构图如下:

 

 CornerNet 模型架构包含三部分:环面网络、右下角和左上角的热图、预测模块

 

环面网络同时包含多个从下往上(从高分辨率到低分辨率)和从上往下(从低分辨率到高分辨率)过程。这样设计的目的是在各个尺度下抓取信息。

嵌入式向量使相同目标的两个顶点(左上角和右下角)距离最短,偏移用于调整生成更加紧密的边界定位框。

 

 

 

corner net最大的亮点之处在于把原本预测目标采用anchor机制换为用两个关键点表示,这里采用的是左上角的点和右下角的点来确定一个目标的位置。

这样做的好处一是能够明显的减少参数量(anchor中所需的参数),减少计算的复杂度;二是不再采用原先目标检测中的anchor机制,可以很明显的减少计算量。


最关键的corner pooling模块:接在特征图后边
(corner pooling有效的主要原因在于下面两点:

  1. 目标定位框的中心难以确定,和边界框的4条边相关,但是每个顶点只与边界框的两条边相关,所以角点更容易提取

  2. 顶点能更有效提供离散的边界空间,O(wh) 顶点可以表示 O(w2h2) anchor boxes

)

例如top-left的点预测,每个点在各自的两个方向进行 max pooling操作,结果相加,得到的是一个点的max pooling结果,

 

 

 图6是具体计算步骤:

 特征图的大小为(w,h);     左上角点坐标为(0,0),     例如对特征图中某一个点(i,j)计算pooling,首先计算从这个点到特征图右边范围内的最大值,再计算

这个点到特征图下边范围内的最大值,把这两个值相加即可得出corn pooling的结果。

 

 

图7是预测的基本模块,首先特征图提取出来,送入corner pooling module模块,分别进行top-left和bottom-right的pooling操作;

中间是改进的residual模块,含有skip connection;预测的两个关键点模块分别得出三个结果,即heatmaps、embeddings、offsets;

heatmaps即预测的角点结果;embeddings是嵌入操作,为了得到哪两个点是匹配的一个目标的左上角和右下角的点;offsets是计算误差量(在取整计算时丢失的精度信息)。

预测的部分步骤:

1、在得到预测角点后,会对这些角点做NMS操作,选择前100个左上角角点和100个右下角角点。

2、计算左上角和右下角角点的embedding vector的距离时采用L1范数,距离大于0.5或者两个点来自不同类别的目标的都不能构成一对。

3、测试图像采用0值填充方式得到指定大小作为网络的输入,而不是采用resize,另外同时测试图像的水平翻转图并融合二者的结果。

4、最后通过soft-nms操作去除冗余框,只保留前100个预测框。

 

 heatmaps利用的是改进版本的focal loss,重点依然是加大关注对困难样本的识别。

embeddings部分:如果一个左上角角点和一个右下角角点属于同一个目标,那么二者的embedding vector之间的距离应该很小。用这种方式来判断一组角点。

 

感谢下面的参考文章

参考链接:https://blog.csdn.net/u014380165/article/details/83032273(作者:魏凯峰 主要研究领域:目标检测、图像识别、图像对抗、模型加速压缩 ,推荐看他的文章,详细且清楚。)

     https://www.sohu.com/a/256416414_633698



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • Grafana 9 正式发布
    grafa ... [详细]
  • http:geek.csdn.netnewsdetail127365本系列文章面向深度学习研发者,希望通过ImageCaptionGeneration,一个有意思的具体任务,深入浅出地介 ... [详细]
  • NSD cisco高级路由与交换技术2014.8.12
    实验01:DHCP服务的应用实验目标:通过建立DHCP服务,给计算机自动分配地址实验环境:实验步骤:一、配置计算机pc8pc ... [详细]
  • html结构 ... [详细]
  • 【Vue基础】监听属性watch
    Vue监听属性是watch,我们可以通过watch来响应数据的变化。代码示例: ... [详细]
  • 我有一个带有H2数据库的springboot应用程序。该应用程序会在启动时引导数据库,为此,我在 ... [详细]
  • 卸载 Navicat:正版 MySQL 官方客户端,真香!
    DataGrip是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL ... [详细]
  • python seaborn_大白话Python绘图系列Seaborn篇
    1.目的了解python第三方绘图包seaborn,从常用绘图实例开始,快速体验seaborn绘图。建议用时:10分钟绘图例子:12个每个例子代码量:1 ... [详细]
author-avatar
莫乂乂_465
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有