Learning To Count Everything

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 摘要
  • Abstract
  • 文献阅读:学习数一切东西
    • 1、研究背景
    • 2、提出方法
    • 3、模块详细
      • 3.1、多尺度特征提取模块
      • 3.2、密度预测模块
    • 4、损失函数
    • 5、性能对比
    • 6、贡献
  • 二、RNN代码学习
    • 2.1、什么是RNN
    • 2.2、RNN的处理过程
    • 2.3、RNN简单代码实现
  • 总结


摘要

本周主要阅读了CVPR文章,Learning To Count Everything。文章提出了一种名为FamNet的新型网络结构,是卷积神经网络(CNN)的改进版本。可以将FAMNet与CNN或其他类型的神经网络结合,形成更复杂的深度学习模型,以处理更复杂的图像识别任务。FamNet利用提供的示例对象和查询图像之间的相似性来估计密度图,从而实现物体计数。。除此之外,还学习学习了RNN代码的学习。

Abstract

This week, I mainly read the CVPR article Learning To Count Everything. The article proposes a new network structure called FamNet, which is an improved version of convolutional neural network (CNN). FamNet can be combined with CNN or other types of neural networks to form more complex deep learning models to handle more complex image recognition tasks. FamNet estimates a density map using the similarity between provided example objects and query images to achieve object counting. In addition, I also learned how to learn RNN code.


文献阅读:学习数一切东西

Title: Learning To Count Everything
Author:Viresh Ranjan, Udbhav Sharma, Thu Nguyen, Minh Hoai
From:2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)

1、研究背景

在面对密集场景或新类别时的计数问题。在现实生活中,我们经常会遇到需要计数的场景,如统计人群数量、货架上的物品数量或书架上的书本数等。然而,当目标物体数量庞大月分布密集时,传统的人工计数方法不仅效率低下,而且容易出错。因此,开发一种能够自动、准确地进行目标检测与计数的方法变得尤为重要。当前,大多数物体计数方面的研究主要关注单个类别的计数,且大多需要大量的标注数据进行训练。然而,在实际应用中,我们往往面临标注数据不足或需要计数的新类别不断出现的情况。因此,如何在小样本或新类别的情况下实现准确的目标检测与计数成为了一个亟待解决的问题。

2、提出方法

对于物体计数和分类的任务,通常需要大量的标注数据来进行训练。然而,获取这些标注数据是一个昂贵且耗时的过程。因此,文章提出了一种名为FamNet(Fast Adaptive Matching Network)的新方法,用于解决在只有少量标注实例的情况下进行物体计数的问题。FAMNet是一种深度学习模型,主要用于图像识别和计算机视觉任务。它是深度神经网络的一种变体,特别是卷积神经网络(CNN)的改进版本。可以将FAMNet与CNN或其他类型的神经网络结合,形成更复杂的深度学习模型,以处理更复杂的图像识别任务。FamNet利用提供的示例对象和查询图像之间的相似性来估计密度图,从而实现物体计数。
在这里插入图片描述

3、模块详细

3.1、多尺度特征提取模块

使用ImageNet预训练的网络进行特征提取,可以处理广泛的视觉类别。多尺度特征提取模块由来自预训练ResNet-50骨干网络的前四个块组成(这些块的参数在训练期间被冻结)。利用第三和第四个块处的卷积特征映射来表示图像。通过对第三和第四个Resnet-50块卷积特征映射执行ROI池化获得一个示例的多尺度特征。

3.2、密度预测模块

为了使密度预测模块不受视觉类别的影响,不直接使用从特征提取模块获得的特征进行密度预测。相反,只使用范例特征和图像特征之间的相关映射作为密度预测模块的输入。为了解释在不同尺度下感兴趣的对象,将样本特征缩放到不同尺度,并将缩放后的样本特征与图像特征关联,从而获得多个相关map,每个尺度一个。在实验中,使用0.9和1.1的scales,以及原始的scales。将相关图串联并送入密度预测模块。
密度预测模块由5个卷积块和3个上采样层组成,分别位于第一、第二和第三个卷积层之后。最后一层是1*1的卷积层预测2维密度图,其大小与输入图像一致。
在这里插入图片描述

4、损失函数

  • Min-Count loss:每个框对应位置的物体数量应该至少是1个,若小于1个就产生损失。大于等于1不产生损失,框可能包含超过一个物体。
    在这里插入图片描述

  • Perturbation Loss:从目标跟踪的研究借用correlation filter而来的。给定一个需要跟踪的物体以及它的标注框,当一个框位于标注框的位置有最大的响应值,当这个框偏离了标注框,它的响应值根据距离指数型下降。
    在这里插入图片描述

5、性能对比

最终的性能对比结果显示,FamNet在计数任务上的表现优于其他几种方法。具体来说,FamNet在平均绝对误差(MAE)和均方根误差(RMSE)两个评价指标上均取得了最佳结果。此外,FamNet还可以通过增加示例数量来提高计数性能。在与其他几种基线方法的比较中,FamNet也表现出色,尤其是在处理未见过的新类别时。在CARPK数据集上的计数汽车性能测试中,FamNet的表现也优于其他方法。总之,FamNet是一种有效的多目标计数方法,具有良好的泛化能力。
在这里插入图片描述

6、贡献

文章提出了FamNet(Family of Neural Networks)方法,其是一种用于图像识别和计算机视觉任务的神经网络框架。它旨在通过构建一系列相关的神经网络模型来解决不同但相关的任务,这些模型共享一些基础结构和参数,从而提高效率和性能。在FamNet中,不同任务之间的模型共享部分网络层,这使得模型能够学习到跨任务的有用特征表示。通过共享网络层,FamNet可以减少计算量,加速模型训练,并在多个任务之间实现知识迁移。

二、RNN代码学习

2.1、什么是RNN

循环神经网络(Recurrent Neural Network,RNN)是一种深度学习模型,用于处理序列数据。RNN的核心特点是具有记忆单元,能够捕捉序列数据中的长期依赖关系。在RNN中,神经网络单元按照时间序列连接,每个单元的输出作为下一个单元的输入,从而实现信息的循环传递。RNN的应用领域非常广泛,包括自然语言处理、语音识别、机器翻译、时间序列预测等。常见的RNN变种包括长短时记忆网络(LSTM)和门控循环单元(GRU),它们通过引入不同的机制来改善RNN的训练和性能。

2.2、RNN的处理过程

  1. 对数据集进行向量化表示,例如使用词向量或one-hot编码。
  2. 前向过程:定义一个输出向量,该网络由n个RNN模块组成。将向量化的数据与一个矩阵W1相乘得到输出out1,将上一个RNN模块的输出out与一个矩阵W2相乘得到out2,将out1与out2相加得到当前RNN模块的输出out3,给out3施加一个激活函数得到out4,out4即为当前RNN模块的输出。
  3. 反向传播:利用梯度下降法对所有的RNN模块的W1和W2进行更新。

2.3、RNN简单代码实现

class SimpleRNN(nn.Module):  def __init__(self, input_size, hidden_size, output_size):  super(SimpleRNN, self).__init__()  self.hidden_size = hidden_size  self.rnn = nn.RNN(input_size, hidden_size, batch_first=True)  self.fc = nn.Linear(hidden_size, output_size)  def forward(self, x):  # 初始化隐藏状态  h0 = torch.zeros(1, x.size(0), self.hidden_size).to(x.device)   # 前向传播RNN  out, _ = self.rnn(x, h0)  # 获取最后一个时间步的输出  out = self.fc(out[:, -1, :])  return out

总结

本周主要阅读了CVPR文章,Learning To Count Everything。文章提出了一种名为FamNet的新型网络结构,是卷积神经网络(CNN)的改进版本。可以将FAMNet与CNN或其他类型的神经网络结合,形成更复杂的深度学习模型,以处理更复杂的图像识别任务。FamNet利用提供的示例对象和查询图像之间的相似性来估计密度图,从而实现物体计数。。除此之外,还学习学习了RNN代码的学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/593191.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《机器学习算法面试宝典》正式发布!

大家好,历时半年的梳理和修改,《机器学习算法面试宝典》(以下简称《算法面试宝典》)终于可以跟大家见面了。 近年来,很多理科专业学生也纷纷转入算法赛道,特别是最近 ChatGPT 的爆火,推动了AI …

加密软件VMProtect教程:使用脚本-功能

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

http模块 设置资源类型(mime类型)

虽然浏览器自带websocket功能它会根据响应回来的内容自动去判断资源类型,但是我们加上了mime类型判断代码会更加规范些 一、mime类型概念: 媒体类型是一种标准,它用来表示文档。文件、字节流的性质和格式。HTTP服务可以设置响应头Content-T…

「精细化管理」某物业集团精细化管理咨询项目纪实

实现工作例行化、定时化、程序化与可视化企业重视绩效考核,却总感觉考核不到点上;企业重视规划职责,却总感觉部门间职责不清;企业重视激励,却总感觉难以真正激励员工。到底是哪里出了问题?华恒智信指出&…

root@localhost‘s password: Permission denied, please try again.

编辑、etc/ssh/sshd_config文件 ,将PermitRootLogin这行改为yes rootubuntu:/home/ubuntu# vim /etc/ssh/sshd_config 重新加载改文件 /etc/init.d/ssh restart

LLaMA-Factory微调(sft)ChatGLM3-6B保姆教程

LLaMA-Factory微调(sft)ChatGLM3-6B保姆教程 准备 1、下载 下载LLaMA-Factory下载ChatGLM3-6B下载ChatGLM3windows下载CUDA ToolKit 12.1 (本人是在windows进行训练的,显卡GTX 1660 Ti) CUDA安装完毕后&#xff0c…

单片机之LED与按键

目录 LED LED灯亮的原理图 LED灯光闪烁 电路设计 keil文件 LED流水灯的实现 keil文件 单片机之按键 键盘的结构 按键消抖 软件消抖 硬件消抖 键盘的分类 独立式键盘 行列式键盘 键盘的识别 独立按键案例 电路图 keil文件 行列式键盘案例 电路图 对应按键…

jdbc连SQL server,显示1433端口连接失败解决方法

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接…

NASA数据集——1980 年至 2020 年北美 3km分辨率气温(摄氏度)、相对湿度(%)、风速(米/秒)、风向(真北偏角)、总降水量(雨+雪)等数据集

Daily SnowModel Outputs Covering the ABoVE Core Domain, 3-km Resolution, 1980-2020 简介 文件修订日期:2023-01-27 数据集版本: 1 摘要 该数据集提供了 1980 年 9 月 1 日至 2020 年 8 月 31 日期间 3 千米网格上的 SnowModel 每日模拟输出,涵…

ChatGPT 与 OpenAI 的现代生成式 AI(下)

原文:Modern Generative AI with ChatGPT and OpenAI Models 译者:飞龙 协议:CC BY-NC-SA 4.0 七、通过 ChatGPT 掌握营销技巧 在本章中,我们将重点介绍营销人员如何利用 ChatGPT,在这一领域中查看 ChatGPT 的主要用例…

VBA字典与数组第十三讲:数组与单一数据间的运算规则

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。…

npm install node-sass报错

前言 在使用 node-sass 时,你可能会遇到安装 node-sass 时出现各种错误的情况。在本文中,我们将探讨一些常见的 node-sass 安装错误,以及如何解决它们。 无论你是初学者还是有经验的开发者,本文都将为你提供有用的信息和技巧&…