论文理解《An Aggregated Multicolumn Dilated Convolution Network for Perspective-Free Counting》

本文深入解析CVPR2018中一篇关于人群计数的研究论文,重点介绍了作者如何将多孔卷积层应用于多列框架以增强多尺度信息提取能力,扩大感受野。该文不仅提出了新颖的损失函数,还详细展示了实验过程,验证了即使不使用透视信息,网络依然能取得良好效果。

github上有作者的代码 https://github.com/diptodip/counting

文章发表于CVPR2018

看完整体感觉这篇文章更像是MCNN中的卷积层替换成多孔卷积层的一个改动,同时期发表的CSRNet也应用到了多孔卷积的思想。个人认为这篇文章除了网络结构之外,更一大亮点、值得学习的就是作者详尽的实验部分(感觉是看人群计数相关文章中实验部分最详细的hh

 首先放上网络结构:

直接采用多列框架进行多尺度信息提取,利用多孔卷积增大感受野;

其次是作者提出的目标函数,不同于以往的MSE,在这里直接选择了绝对值求LOSS,并对真实Label进行加权;

最后实验部分,建议大家可以看看这一块;同时在对比试验上,呼应文章标题,对是否使用数据集中的perceptive information进行了一些对照实验,表现这个网络在没用透视信息的情况下也能表现很好。

 

“Distilling Aggregated Knowledge for Weakly - Supervised Video Anomaly Detection”聚焦于弱监督视频异常检测领域。在弱监督的场景下,训练数据仅带有粗略的标签信息,不像强监督那样具有精确的逐帧标注,这给视频异常检测带来了挑战。 该研究提出的方法核心在于知识蒸馏和聚合。知识蒸馏是一种将复杂模型(教师模型)的知识传递给简单模型(学生模型)的技术,通过这种方式可以让学生模型学习到教师模型所蕴含的更丰富的信息。在视频异常检测中,利用知识蒸馏可以帮助模型更好地捕捉视频中的异常模式。 聚合知识的过程则是将多个不同层面或者不同视角的信息进行整合。在视频数据中,可能包括不同帧之间的时序信息、不同特征维度的空间信息等。通过聚合这些信息,能够让模型从更全面的角度去判断视频是否存在异常。 例如,在实际应用中,对于监控视频里的异常行为检测,可能只有少量的视频被标注为异常,但不清楚具体哪一帧或者哪一段是异常的。利用该研究的方法,模型可以通过知识蒸馏和聚合,从有限的标注信息中学习到异常行为的特征,从而对新的未标注视频进行异常检测。 ```python # 这里可以简单示意一个可能的代码思路,仅为概念示意 # 假设定义一个简单的学生模型和教师模型 import torch import torch.nn as nn # 简单定义教师模型 class TeacherModel(nn.Module): def __init__(self): super(TeacherModel, self).__init__() # 这里简单用一个线性层示意 self.fc = nn.Linear(10, 2) def forward(self, x): return self.fc(x) # 简单定义学生模型 class StudentModel(nn.Module): def __init__(self): super(StudentModel, self).__init__() # 简单用一个线性层示意 self.fc = nn.Linear(10, 2) def forward(self, x): return self.fc(x) teacher = TeacherModel() student = StudentModel() # 模拟输入数据 input_data = torch.randn(1, 10) # 教师模型输出 teacher_output = teacher(input_data) # 这里可以添加知识蒸馏的损失函数等后续处理步骤 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值