目标检测相关神经网络简析 - R-CNN,Fast R-CNN,Faster R-CNN

除了基本的图片分类外,计算机视觉处理的更高阶的任务还包括目标检测,语意理解,视频分析,场景理解等等,在这里主要记录一些计算机视觉实现目标检测 Detection and Localization 相关的实现方法和论文阅读心得。

在很多计算机视觉的任务的实现过程中,都可以将任务分解为多个按步骤执行的子任务:例如在目标定位问题中,可以先通过一定的方法定位图片中的多个可能有意义的区域,在此基础上,对这个区域进行分析,以进一步确定这个区域内的物体属于哪一个类别。从这个意义上说,定位问题实际上是建立在分类问题的基础上的。

Regional Based CNN, R-CNN

在使用 CNN 解决目标定位问题时,一个较为明显的挑战在于图片当中可以包含不确定数量的目标,而通常情况下 CNN 模型都只能输出确定数量的目标值,作为这一系列研究的鼻祖 R-CNN 作者的解决方法如下:

  1. 通过传统的计算机视觉方法如边缘检测、轮廓检测等方法在输入图像中选定 2000个可能的备选区域 Region of Interests:如具有相同纹理和边界的区域通常可能包含同一个物体

  2. 由于这些备选区域一般会有不同的尺寸,因此需要将这些区域的尺寸通过仿射变换 Affine Warp 进行标准化,得到尺寸为 227x 227 的固定长度的特征向量作为 AlexNet CNN 的输入

  3. 将 CNN 的输出结果(4096维特征向量)利用 SVM 分类器生成一个分类标签,同时通过另一个线性回归分支建立一个确定 Bounding Box 位置

在这一实施中使用的 ROI 区域确定的方法为 Selective search,这一方法的主要问题在于其特征提取 CNN 需要遍历所有的可能的备选区域,因此时间耗费较长。

Fast-R-CNN

前面已经提到,在 R-CNN 中由于提供足够多的 Region Prosals 作为输入是后续 CNN 分类的基础,因此需要要求 Region Proposals 有较高的查全率,这一操作的负面影响是其大大增加了特征提取 CNN 需要处理的输入的数量,使得算法的计算时间大范围提高。

为了解决这一问题,R-CNN 的作者通过将原始图片及该图片上的一系列 ROI 同时作为网络的输入,经过一系列的卷积和池化操作后,在网络中间层的 Feature Maps 中通过 RoI pooling 进而得到标准化的特征向量,再将这些向量输入到后续的全连接 Softmax 分类器中。

Region of Interests features generation in Fast-R-CNN, source: Deepsense.ai

其中 RoI pooling 层的实现方式为:

  • 在该层的前续卷积操作中,由于已经得到了基于输入图片的 Feature map 和基于对应的多个 ROI 得到的 Nx5 个 ROI Matrix,其中 N=64 为该图片中的 ROI 的数量,矩阵的第一列为 ROI 的索引,后四列为对应的 ROI 的坐标值

  • 将 Feature Map 上对应 ROI 坐标位置的区域内分成指定数量的区域,在论文中这一数量为 7x7,在每一个区域内施行 Max Pooling 的到一个 7x7 的矩阵,这一矩阵作为网络后续层的输入

  • 需要注意的是,基于同一图片的所有 64 个 ROI 共用同一个 Feature Map,这大大减少了计算量

ROI Pooling, source: Deepsense.ai

Faster R-CNN

Fast R-CNN 的运行速度是 R-CNN 的 10 倍左右,除了ROI 区域计算外,已经基本实现了实时检测,此时实时检测的瓶颈落在了备选区域的计算上。基于此,研究者们进一步提出了 Faster-R-CNN,通过在特征提取这一步添加一个 Region Proposal Network 以进一步加快速度,其中在 Region Proposal Network 中目标区域的选择方式如下:

  • 在训练集中通过 RPN score 选择分值较高的 12000 个区域,在论文的测试集中这一数量为 6000

  • 对这些 IOU 超过 0.7 的区域实施非极大抑制以进一步去掉重复区域

  • 最终在剩余的窗口中选择 2000 个备选区域作为后续识别网络的输入,在测试集中这一数量为 300

Faster R-CNN 可以认为是 RPN + Fast R-CNN,如果仅仅读论文的话无法有效的理解,这里可以参考已经开源的代码实现

网络的损失函数

从损失函数的角度,分类问题和定位问题最大的差别是分类问题的损失函数可以通过 Cross Entropy Loss 来定义,并且可以通过准确度 Accuracy 来描述模型的预测能力,而在定位问题中,由于需要衡量的是网络输出的位置坐标与实际坐标的相近程度,因此是一个回归问题。在回归问题中,我们衡量模型的好坏的标准常常是误差的大小,其常用的损失函数有以下几种:

  • L1 Loss:按照坐标中元素的之差的绝对值来衡量误差的大小,这个误差函数当误差较小时其结果会过小

  • MSE Loss:按照坐标中元素之差的平方和(再取均值)来衡量误差的大小,这个误差函数由于会放大较大的误差项而容易受到异常数据的影响

  • Smooth L1 Loss:结合了上述两者的优点而建立的,当相应坐标值之差 |ŷi - yi| < 1 时采用修正的误差的平方和 0.5(ŷi - yi)2 来衡量损失,而当坐标值之差 |ŷi - yi| ≥ 1 时,采用坐标之差的绝对值 |ŷi - yi| - 0.5 来衡量损失。

参考阅读

  1. Region of interest pooling explained

  2. Deep Learning for Object Detection: A Comprehensive Review

  3. Object Detection and Classification using R-CNNs

  4. Histogram intersection for change detection

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

推荐阅读更多精彩内容