目标检测相关神经网络简析 - YOLO

YOLO, You Only Look it Once

YOLO 以其速度和这个超酷的名字而著名,在吴恩达的 Deep Learning.AI 的课程里,他特意强调说 YOLO 的论文是视觉相关论文里少有的非常难懂的论文系列,他本人也花了很长时间加上和别人讨论才终于弄明白,因此我尽管十分喜欢 YOLO 这个名字,却也一直不敢深入研究,复习的时候发现优达的计算机视觉课程里专门讲了这个网络,也结合 Andrew 的介绍做一个记录以加深理解。

输出向量的整合

在 R-CNN 系列的网络的算法中由于结果需要输出一个分类和坐标值,因此最后会在网络的末端将这两个任务通过定义不同的损失函数而分别输出,而 YOLO 通过将这两项任务合并在一个向量 y = [Pc, C1, C2, ... Cn, bx, by, bh, bw] 中,其中 Cn 代表可能的分类, bx,by 则定义相应分类物体所在的边框的中点,bh,bw 则代表边框的宽和高,向量第一个元素位置的 Pc 用来确定当前窗口的输出向量当中是否包含某个待检测目标的概率,如果 Pc 为 0 则无需进一步确定这个向量中后续几个元素的值。

Grid VS Sliding Windows

采用传统的移动窗口检测 Sliding windows detection 非常耗时,而如果将滑动窗口比作卷积操作中的卷积核就会发现通过选择恰当的卷积操作,可以使得在原始图片中的滑动窗口与网络深层的 Feature Maps 中的独立网格窗口一一对应起来。具体来说,假设我们有一个 16x16x3 的图片,如果我们采用 10x10x3 大小的移动窗口,并且步长为 2,则共需要 16 个 10x10x3 的窗口可以覆盖整张图片,这些窗口也就是我们之前提到的 Regions of interests。此后我们需要将这 16 张 10x10x3 的图片分别输入给后续的卷积神经网络进行分类,假设后续的卷积神经网络具有如下的架构:

CNN architecture for processing 10x10x3 ROI

而如果我们把原始 16x16x3 的图片直接输入到同样架构的 CNN 中就会发现我们实际上可以在网络的更深层得到一个 4x4x8 的 Feature Map 来对应之前的 16 个待检测窗口:

Pass the original image through the same CNN architecture

YOLO 通过将网格将图片分割为小的检测单元 Grid,对每一个网格单元执行检测并输出前述检测向量 y,由于相邻窗口之间没有重叠,因此可以对图片的每一个网格位置只做一次检测,大大提高检测速度,这就是 You Only Look Once 的由来。

由于在实际检测环境中能够以网格的形式准确的捕捉到待检测目标的边界窗口 Bounding Box 的可能性非常小,为了使得网络可以通过学习来定位待检测目标的位置,需要做如下的设置:

  • 在训练数据中,我们需要为每一个 Grid 设置一个前述的标签向量 [Pc, C1, C2, ... Cn, bx, by, bh, bw],且只有包含被检测对象中点的单元被标记为包含这一对象,即 Pc = 1,且标签向量中 bx,by 为对象的中点相对其所在的 Grid 中的位置,而 bw,bh 则为真实的边界框的宽度和高度相对于整个图片的比例
Ground true label vector settings
  • 网络的输出向量的维度需要与 Grid 的设置相匹配,即对于前述的 16x16x3 的图片,如果我们将其按照 4x4x3 的尺寸进行网格划分,且输出向量 y 的维度设置为 8,则网络的输出则需要是 4x4x8

  • IOU和非极大抑制:在训练过后的实际检测中,网络可能会输出多个包含同一个待检测对象的窗口,此时算法会采用非极大抑制 Non-Maximum Suppression 的方式,首先直接去除掉 Pc 小于一定阈值(NMS Threshold)的窗口,并将 Pc 最大的那个 Bounding Box 作为基准窗口,在此基础再去除和基准窗口具有超过一定 IOU 比例(IOU Threshold)的窗口,从而减少输出窗口的数量。注意此时如果图像中包含多个不同的分类,则要分别对每一个分类的边界窗口实施一次非极大抑制

Suppress overlapping bounding boxes that do not have the maximum probability for object detection.

  • 当存在多个待检测目标的边界之间有重合时,尤其是这些目标的中点同时出现在同一个 Grid 中时,可以通过选择预先设定的多个形状的 Anchor box,将每一个 Grid Cell的输出 y 构造成可以同时表达多个 Anchor box 形状的向量,即 [Pc, C1, C2, ... Cn, bx, by, bh, bw, Pc, C1, C2, ... Cn, bx, by, bh, bw] 的形式,其中每一组数值代表与对应 Anchor box 相匹配的输出。在训练数据中会将目标分配到既包含目标中点、又能够使得被检测目标的形状与某个 Anchor box 形状具有最大交并比(Intesection over Union, IoU)的网格中,即训练的标签将是一个 (Grid cell, anchor box) 对。即对于 3 x 3 的网格,如果输出中有 3 个分类,其输出的标签将变成 3 x 3 x 8 变为 3 x 3 x 16。注意当预定义的 Anchor box 的数量少于被判断目标的数量时,这个算法可能无法有效的构造输出;同时当两个目标物体具有相同的 Anchor box 形状时这个方法也将失效。

参考阅读

  1. Tensorflow Object Detection API

  2. Selective Search for Object Detection

  3. Real-time Object Detection with YOLO, YOLOv2 and now YOLOv3

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