论文 《Crowd Counting with Deep Negative Correlation Learning》来自CVPR2018

论文地址 http://openaccess.thecvf.com/content_cvpr_2018/papers/Shi_Crowd_Counting_With_CVPR_2018_paper.pdf

代码 https://github.com/shizenglin/Deep-NCL

解决问题 :CNN在单张图片人群计数方面的应用还有很多需要探索的,并且存在严重的过拟合问题;

创新点 :The first to provide an alternative to the commonly used learning objective with better generalization abilities by ensemble learning; 采用了 NCL “divide and conquer”(重要) 的方法学习回归器,在卷积特征图上回归人群密度图

提出方法 :提出 decorrelated ConvNet (D-ConvNet),端到端训练,同时和全卷积主干网络部分是独立的;

具体方法 :提出一种通过 deep negative correlation learning(NCL) 深度负相关学习的策略,产生更具归纳性的特征(generalizable features);具体而言,通过达到回归器的内在区分度,深入地学习了一批去相关、具有良好的泛化能力的回归器;每一个回归都是通过一个代价函数与卷积神经网络共同优化的,它惩罚了与其他回归器间的相关性,从而更好地平衡了整体上的偏差-方差-协方差。

NCL : NCL权衡偏差-方差-协方差三者关系,运用在回归集成中可以让每个模型准确而多样化;

D-ConvNet的介绍部分

1.背景知识

N个训练样本: X={​{X_{1}......X_{n}} ;样本为 M_{i} 维(一般输入图像的维度均统一): x_{i}\in X\subseteq \mathbb{R}^{M_{i}}i\in1......NM_{i}=H_{i}*W_{i}*C_{i} (分别是输入图像的高度、宽度和通道数目);

为了得到图片中的人数,学习回归一个密度图 Y=y_{1}......y_{N}

目的:学习一个映射函数 {\color{Red} G: \chi \rightarrow \gamma}

因为数据分布p(X,Y)通常不知道,上式转换为

一个预测器的回归误差可以表示为:

集成输出是通过对每个G做平均操作:

将集成后结果作为一个整体,进行偏差方差分解:

上述式子可以得到:

上图表明NCL输出值相比传统的集成学习,在每个模型上有更高的区分度;

2.Deep Negative Correlation Learning

每个预测器可以表示为:

k是单个模型的索引,i代表数据样本的索引;

每个预测器由两部分组成:特征提取器以及回归器;前者由全卷积网络组成

3.人群密度图

真实人群密度图的产生方法同MCNN;

4.网络架构

由两类全卷积网络配置组合而成;

(1)D-ConvNet-v1, employs a deep pretrained VGG16 network and make several modifications

(2)D-ConvNet-v2, train deep NCL on a relatively shallower model, which is constructed by stacking several Multi-Scale Blob, aiming to increase the depth and expand the width of crowd model in a single network.

MSB(Multi-Scale Blob): An Inception-like model which enhances the feature diversity by combining feature maps from different network branches.

D-ConvNet的架构:

上图分而治之的策略体现:

A “divide and conquer” strategy is adopted to learn a pool of regressors to regress the crowd density map on top of each convolutional feature map at top layers. Each regressor is jointly optimized with the ConvNet by an amended cost function which penalizes correlations with others to make better trade-offs among the bias-variance-covariance in the ensemble.

对回归作用范围的陈述不是特别理解。

(1)UCF_CC_50 dataset

(2)shanghaiTech dataset

D-ConvNet_1都优于D-ConvNet_2,原因是前者 使用预训练的深度模型 ,后者虽然性能不及前者,但是和采用复杂的交换策略的网络架构不相上下。

将人群计数作为一个 集成回归计数问题 ,通过卷积特征图学习到一些弱回归器;文中主要的创新点是 负相关学习 的引入,通过 分而治之 的策略 提高集成模型之间的差异性

//话痨的分割线//

这篇文章还有些点不太明白,之后会补上来~感觉这段日子产出都很少,忙比赛忙自己的论文实验,碰到问题会卡很久,也很无奈,真的还需要学习太多东西了,自己也会好好摸索的,时间不多了,加油!

读者读完本文后,你会知道每类范式常用的算法有哪些、实现的思路是什么、以及常用的应用场景。本文也可以作为读者落地推荐算法到真实推荐场景的参考指南。 一、推荐算法与产品介绍 什么是推荐系统? 在介绍推荐算法之前需要先介绍一下什么是信息过载。 信息过载就是信息的数量远超于人手工可以遍历的数量。比如,当你没有目的性的去逛超市,你不可能把所有的商品都看一遍都有什么。同样,无论是去书店看书,还是在电影网站上搜索电影,这些物品的量级对于没有目的性、需求性的用户而言都是信息过载。 那么什么是推荐系统呢? 就是当用户的目的不 这篇 论文 同样作为将 Multi-task learning 应用于药物发现,较之 [1],其整理出一个新的数据集,做了大量的对比实验,更侧重于去验证 multi-task learning 的有效性,以及探究利用 MTL 后效果得到提升的潜在因素。 作者在实验后,得到了几个比较有意义的结论: 随着 task 和 data 的增加,模型的性能增益会衰减,但性能依旧会提高(至少在他的数据集中是这样); task 和 data 是两个影响模型的比较重要的因素; MTL模型中抽取出的特征,其具有 transfer <br />原本打算用C程序写调用NCL API 绘制各种产品图片,但是研究NCL API 纠结了好久,先是在Windows上折腾,后来转到Linux调试,无论使用命令行还是使用IDE集成化工具如CodeBlock都无法顺利加载需要的libnclapi.a这个库,急的我想直接发邮件问问NCL小组的专家们。<br />    正好这个时候找到一个和我同病相怜的人,他2010年8月份给NCL专家们发送了邮件,专家们的解决方案是从NCL源代码中重新编译自己的库,这样就会清楚的知道自己想要的函数在哪些库文件中了。一 I3D:Quo Vadis,Action Recognition? A New Model and the Kinetics Dataset 论文 地址:https://arxiv.org/pdf/1705.07750.pdf 最近读了一篇行为识别的 论文 I3D,全名《Quo Vadis,Action Recognition? A New Model ... 最近准备开始进军 deep learning 这个深坑了!最开始还是要从卷积神经网络看起。最近刚刚翻到一篇讲解convnet非常好的文章,决定在此翻译下来。供参考学习。 (附原版文章地址链接:http://cs231n.github.io/convolutional-networks/#pool) 卷积神经网络(CNNs/ConvNets)     卷积神经网络与传统的神经网络非常类似:他们是由 参考:http://mmcheng.net/zh/paperreading/ 一、    程明明等人的 论文 :Salient Object Detection: A Surve(简单归纳了文章中的我认为比较重要的部分) 该 论文 旨在全面回顾突出显示目标检测的最新进展,并将其与其他密切相关领域(如通用场景分割,目标建议生成以及固定预测的显著性)相关联。主要内容涉及i)根源,关键...