G-CNN:an Iterative Grid Based Object Detector

CVPR2016

摘要:

G-CNN,一种基于卷积神经网络的,不依赖于候选框生成算法(proposal algorithms)的目标检测算法。G-CNN从一固定的多尺度网格边框开始,此后训练一回归器迭代地移动和缩放对象网格。意即G-CNN将对象检测问题建模为寻找从固定网格到致密对象框的路径。Fast R-CNN由候选框生成算法生成近2K个边框(候选框),G-CNN仅从180个固定网格开始,然性能与之相当。这种策略去掉候选框生成阶段,减少需要处理的候选框,使得对象检测更快。

介绍:


图 1 算法示意图

开始时,多尺度固定网格叠加在图像上,图1为了可视化方便,显示的是不重叠的网格,但实际上这些框可能重叠。训练时,由对齐函数根据边框与实际标注框的重叠比将每个边框对齐至一个标注对象框。然后,在训练的每一步,将网格边框向着图像中与之对齐的对象回归移动。在测试时,对于每一步迭代中的每一个边框,获得所有类别的置信分数,并针对当前最可能的类别以训练好的回归器更新边框的位置。实验证明,G-CNN能在PASCAL VOC数据集上达到Fast R-CNN的性能,但是速度却快上5倍。

G-CNN Object Detector

Network structure


图 2 网络结构图

骨干网络可为任意卷积神经网络(如VGG,AlexNet等),跟Fast R-CNN和SPP-Net一样,卷积层之后引入ROI Pooling层。给定每个边框的位置信息,该层通过池化每个ROI中的全局特征来计算边框的特征。经过全连接层之后,网络以一个线性回归器结尾,线性回归器的输出为每个当前边框的位置和比例的变化,条件是假设边框朝着一个类别的对象移动。

Training the network

G-CNN的训练目标和训练方法不同于Fast R-CNN及G-CNN,G-CNN将对象检测问题定义为在所有可能的边界框构成的空间中迭代回归搜索,起始状态为固定的多尺度空间金字塔,训练目标是网络可以迭代地将初始网格框移动到图像内的对象中。这种迭代现象对于算法至关重要,原因在于问题的高度非线性搜索空间。换言之,虽然学习如何将边框线性地回归至较远处的目标是不现实的,但是学习搜索空间中的微小变化是易于处理的。(意即线性回归可迭代逼近求解非线性问题)。

Loss function

由于G-CNN是一种将边框想对象位置迭代移动的方法,因此损失函数的定义不仅仅要定义在训练样本上,还要定义在迭代的每一步上,令B代表所有可能边界框的四维空间(中心坐标,宽,高),B_{i} \in B代表第i个训练边框,S_{train} 代表迭代步数,令1\leq s\leq S_{train} 代表G-CNN训练过程中的步数变量,即B_{i}^s代表训练步数s中第i个边框的位置。训练中,每个与真实标注框的重叠比大于0.2的边框都将被对齐至一个真实标注框,如下一个多对一的函数A用以表示这种对齐:

图 3 对齐函数
图 4 代表真实标注框的集合,即形如B_{i}

需要注意的是,B_{i}^1代表初始网格第i个边框的位置,换言之,对于每一个边框而言,对齐操作在初始训练步骤进行,并且在之后的训练过程中不变。由于将初始训练边界框回归到其指定的实际标注边界框可能是高度非线性的,因此采用分段回归方法解决问题。在迭代步数s时,将边框B_{i}^s回归到从B_{i}^s到与之对齐的实际标注框的路径上,在迭代步数S_{train} 内,将训练框一步一步地移动向与之对齐的标注框,直至与标注框一致。下列函数用于定义每一步与训练框对应的回归目标框:


图 5 每一迭代步的回归目标框表示


图 6 上式代表与B_{i}^s对齐的实际标注框

也就是说,在每个步骤,从边界框的当前表示到指定的实际标注框的路径除以剩余步数,并且目标框被定义为远离当前位置一个单位。

G-CNN为每个类别输出4个值,代表向该类对象标注框回归的训练框的变化量,其形式类似于R-CNN中边框回归的表达,记为\Delta (B_{i}^s,T_{i}^s ),其中T_{i}^s表示由图5计算得出的当前步与训练框B_{i}^s对应的回归目标框。因此G-CNN的损失函数定义为:


图 7 损失函数

其中,\delta _{i,l_{i} }^s 代表对于类别l_{i} 的四维参数化输出,即训练边框的相对变化,l_{i} 是与训练框B_{i} 对应的标注框的类别,B_{BG} 代表所有标注框的集合。

训练时,训练框B_{i} 在第s步的表示B_{i}^s可以由网络上一步的输出表示,具体表达为:


图 8 B_{i}^s的更新表达式

其中,\Delta 的逆表示将训练框的相对变化量从参数化空间中映射回边框空间。但是为了计算上式(图 8 ),需要在训练过程中进行网络前向路径的评估(意即不确定每一步回归之后的结果),导致训练低效,因此,用一种近似的估计来更新训练框,假设第s步可以完美地学习s-1步中的回归量(意即将每一步的回归目标框作为下一步训练的初始状态),故更新形式变为:


图 9 近似的训练框更新表达式

Optimization

以随机梯度下降一步一步地来优化上述损失函数,将初始网格中的每个边界框与其在每个步骤中的目标框一起视为独立的训练样本,意即对于每个训练边框,共有S_{train} 对不同的训练样本对。该算法首先尝试使用N_{iter} 次数迭代优化第一步的损失函数,然后将第二步的训练样本对添加到训练集中,并且训练继续逐步进行。通过将先前步骤的样本保留在训练集中,以此确保网络不会忘记在前面的步骤中学到的内容。

较早步骤的训练样本在训练集中训练的时间较长,这样设计是因为前面的步骤确定了全局搜索的方向,并且对网络能否找到目标对象有更大的影响。此外,后面的步骤仅细化边界框以减少定位误差,鉴于搜索方向是正确的,并且对象的大部分在训练后期在边界框中可见,后面的步骤解决的是相对容易的问题。

图 10 算法用于生成训练样本

算法1是用于在每个步骤从每个边界框生成训练样本的方法。对于某一迭代步骤而言,如是第一步,则令空间金字塔网格为初始训练框,同时为每个训练框分配与之对齐的标注框,对于后续的步骤,令上一步的回归目标框为本次步骤的训练框,得到新的回归框,同时得到训练框与回归框之间的变化,将两者加入训练集中。

Finetuning

在ImageNet数据集的分类模型上微调,对于AlexNet,微调conv2及之后的卷积层,对于VGG,微调conv3及之后的卷积层,训练时,mini-batch=2 images,在G-CNN的每个步骤中,从图像的所有可能样本中随机选择64个训练样本。

G-CNN Test Network

在测试时,边界框的集合被初始化为空间金字塔网格内的框,回归器将边框移向对象,同时根据分类器得分以确定应用哪个类的回归器来更新边框。如下算法2,首先以空间金字塔网格边框作为初始训练框,对于测试过程中的每一步迭代,由分类器得到每个边框的类别,由回归其得到相应的偏移量,再根据偏移量及当前步骤下的边框更新边框,以此类推,最终得到检测框。

图 11 测试步骤

在测试时,将网络分解为全局和回归部分,如下图。

图 12 测试示意图

全局部分包含所有卷积,回归部分包含全连接层及回归权重,全局部分输入为图片,且对每张图片只计算一次,在算法2的循环之外,算法2的循环部分只是对回归网络进行操作,且以全局部分的最后一层输出为输入,进行边框调整。Fast R-CNN需要对所有的候选框(~2K)进行边框回归,但是G-CNN只需要对S_{test} \times N_{grid} (5*180)个候选框进行此过程,然而性能相当。

Experiments

VOC2007数据集上与Fast R-CNN的对比

图 13 对比实验(均采用AlexNet作为主干网络)
图 14 对比实验(均采用VGG16作为主干网络)

VOC2012数据集上的对比实验

图 15 对比实验(均采用VGG16作为主干网络)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,050评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,538评论 1 306
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,673评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,622评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,047评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,974评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,129评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,893评论 0 209
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,654评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,828评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,297评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,619评论 3 262
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,326评论 3 243
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,176评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,975评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,118评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,909评论 2 278

推荐阅读更多精彩内容