Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks

一、主要思想

CNN在计算机视觉领域取得了非常优异的成绩,但是训练CNN的模型需要大量的数据,小数据集上面无法体现出出CNN的优势。针对这个问题作者提出了通过Transferring CNN weights来解决这个问题。首先在imagenet等大数据集上面训练传统的CNN模型,然后在针对特定的任务就行fine-tuning(可能不准确),但是和以往fine-tuning不同的是:改变了整个pre-training的CNN的框架,在VOC2007和VOC2012上面取得了很好的结果。

二、基本框架

1、概述

CNN有60 million个参数,在小数据集上面学习这些参数不现实,因此可以再大规模数据集上面进行pre-training,然后在使用到特定的任务上面。如下图:

但是有一个问题就是:预训练的数据集和特定任务的数据集的图像有很大的差异,如物体的种类、角度、图像的成像条件等,如图示:

针对这个问题,作者提出:(1)设计一个可以在预训练集和特定任务集进行精确重映射的模型

(2)通过sliding window 来提高训练和测试过程

2、网络框架

(1)在imagenet上面采用传统的CNN框架进行预训练

(2)去掉最后一层softmax层,加上FCa和FCb两层自适应层

(3)固定预训练模型的前面7层的参数不变,只训练自适应层的参数

3、网络训练(准备训练样本)

(1)采用sliding window的方法每张图像提取500个正方形图像块,每个块之间的重合比例至少为50%;

(2)给图像块打标签,假设图像块为P,某一类正样本为Bo标为相应类别的正样本条件:

(A)P和Bo的交集大于等于P的面积的0.2倍

(B)P和Bo的交集大于等于Bo的面积的0.6倍

(C)P中包含不多于一个物体

如图示:

(3)处理背景图像

通常这样得到的样本会导致训练样本不平衡的问题,大多数的图像块是背景图像,(处理这样的问题可以采用 hard negative mining 或者重新改变损失函数的权重),本文采用随机选择背景图像的10%;

4、分类

公式如下:

表示某一类在一张图像中的得分。

三、实验

在VOC数据集上进行了相应的实验。

实验结论:(1)预训练数据集和特定任务数据的目标种类的重合程度对精度影响不是很大,有小的降低;但是随着预训练数据集的目标种类的增加,类别的重合度增加,识别率有了很大的提升,对于训练类别增加了或者是重合度增加了那个更重要,无从而知。

(2)增加或者减少一层自适应,精度都有1%的下降

四、总结

本篇论文的亮点就在于在fine-tuning的时候去掉了softmax层增加了自适应层,还有是统计一张图像中某一类的得分,我认为这也算是吧。但是,一个不足之处就是在于准备训练样本的时候,需要人工确定到底patch中包含几个物体,可能需要花费大量的时间。

Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks

时间: 2024-11-08 06:11:57

Learning and Transferring Mid-Level Image Representations using Convolutional Neural Networks的相关文章

【论文笔记】Learning Convolutional Neural Networks for Graphs

Learning Convolutional Neural Networks for Graphs 2018-01-17  21:41:57 [Introduction] 这篇 paper 是发表在 ICML 2016 的:http://jmlr.org/proceedings/papers/v48/niepert16.pdf 上图展示了传统 CNN 在 image 上进行卷积操作的工作流程.(a)就是通过滑动窗口的形式,利用3*3 的卷积核在 image 上进行滑动,来感知以某一个像素点为中心

Learning to Compare Image Patches via Convolutional Neural Networks --- Reading Summary

Learning to Compare Image Patches via Convolutional Neural Networks ---  Reading Summary 2017.03.08 Target: this paper attempt to learn a geneal similarity function for comparing image patches from image data directly. There are several ways in which

论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 本文提出了一种新的CNN 框架来处理跟踪问题.众所周知,CNN在很多视觉领域都是如鱼得水,唯独目标跟踪显得有点“慢热”,这主要是因为CNN的训练需要海量数据,纵然是在ImageNet 数据集上微调后的model 仍然不足以很好的表达要跟踪地物体,因为Tracking问题的特殊性,至于怎么特殊的,且听细细道来. 目标跟踪之所以很少被 C

课程四(Convolutional Neural Networks),第二 周(Deep convolutional models: case studies) —— 0.Learning Goals

Learning Goals Understand multiple foundational papers of convolutional neural networks Analyze the dimensionality reduction of a volume in a very deep network Understand and Implement a Residual network Build a deep neural network using Keras Implem

Convolutional Neural Networks from deep learning (assignment 1 from week 1)

Convolutional Neural Networks https://www.coursera.org/learn/convolutional-neural-networks/home/welcome There are still something confuse me! working how to paste the jupyter here.................................................... Convolutional Neur

Learning Convolutional Neural Networks for Graphs(网友分析)

paper Learning Convolutional Neural Networks for Graphs论文导读及代码链接(比较细,全面) [论文笔记]Learning Convolutional Neural Networks for Graphs(与上面这篇互为补充) Learning Convolutional Neural Networks for Graphs(上面2个的进一步补充) 原文地址:https://www.cnblogs.com/hugh2006/p/12642135

课程四(Convolutional Neural Networks),第一周(Foundations of Convolutional Neural Networks) —— 0.Learning Goals

Learning Goals Understand the convolution operation Understand the pooling operation Remember the vocabulary used in convolutional neural network (padding, stride, filter, ...) Build a convolutional neural network for image multi-class classification

课程四(Convolutional Neural Networks),第三 周(Object detection) —— 0.Learning Goals

Learning Goals: Understand the challenges of Object Localization, Object Detection and Landmark Finding Understand and implement non-max suppression Understand and implement intersection over union Understand how we label a dataset for an object dete

Learning Multi-Domain Convolutional Neural Networks for Visual Tracking 论文阅读

写博客好麻烦,每次写到一半就不想写了....前面好几个坑还没填完,这又来写新的了== 老板一句话,直接抛开之前检测的工作,来研究跟踪,这算是研究生阶段严格来说看的第一篇跟踪文章吧,这篇文章号称标志了跟踪也被深度学习攻陷~下面进入正题. 一.简介 1.CNN为什么在跟踪中用的少 为什么CNN兴起那么久了,在这篇文章之前,跟踪领域用CNN做的好文章没咋出现?因为:一是CNN需要大数据来驱动.训练提取特征,对于视频处理来说,并没有那么多的数据:二是针对视觉跟踪的特殊的训练方法还没有.对于第一点很容易理