【目标检测算法解读】yolo系列算法三

​前言

本文是yolo系列算法文章的第三篇,也是目前为止yolo系列算法的最终篇。从原理上看,yolov3并没有实质性的创新,主要是借鉴了一些时下state-of-the-art模型的优秀思想。本文重点讲解yolov3在v1和v2基础上做的改进,因此对yolov1和v2的原理还不太熟悉的小伙伴可以先看一下前面的两篇文章:yolo系列算法一yolo系列算法二

    相较于v1和v2,yolov3的改进主要包括三点:新的backbone基础网络;多尺度预测;损失函数的调整。

backbone基础网络

为了改进模型效果,作者提出了一个新的基础网络darknet-53进行特征提取,该网络在darknet-19的基础上进一步扩充了网络深度,包括有53层卷积层,其网络架构如下图所示:

    乍一看,darknet-53和resnet网络架构很像啊有木有。事实上,darknet-53可以说是青出于蓝而胜于蓝,具体改进如下:

充分借鉴了resnet网络中的残差结构,使得网络能够达到很深程度的同时避免了梯度消失问题;

去除了池化层而改用步长为2的卷积层的方式进行特征图的降维,更好的保持了信息传递;

充分吸收了network in network的思想,使用1*1卷积既降低了参数量,又增强了不同通道间的特征融合。

    吸收了诸多优点的darknet-53最终取得了优异的成绩,能够在性能超过resnet-101的同时速度快1.5倍,在速度快2倍的前提下达到和resnet-152相似的性能。

多尺度融合

yolo自诞生之日起,就被打上了一个不太友好的标签:对小物体的检测效果不佳。这是原理上的限制,yolov1仅仅利用最后一层卷积层进行特征预测,而小物体的信息经过层层卷积后几乎完全丧失,从而制约了模型的效果。为了改进这一点,作者曾在yolov2中采用passthrough结构来改善细粒度特征的检测,但是效果依旧不理想。至yolov3,作者充分借鉴了FPN网络的思想,采用多尺度来对不同大小尺寸的目标物进行检测。小糖豆在查找资料时发现了下面这幅图,十分清晰明了的表示出yolov3中是如何进行多尺度级联预测的(原图出自Levio,感谢作者的劳作)。

416*416*3的图像输入网络后,经过5次下采样,得到第一张尺寸为13*13的预测特征图。随后,为了实现细粒度特征检测,在第79层特征图处进行上采样,并与来自第61层的特征图进行特征拼接,得到了第二张尺寸为26*26的预测特征图。同样地,在第91层特征图处再次进行上采样,与第36层特征图进行特征拼接,得到了第三张尺寸为52*52的预测特征图。

13*13的特征图由于下采样倍数大,单元网格的感受野比较大,适合检测尺寸比较大的目标物;26*26的特征图中单元网格感受野适中,适合检测尺寸中等的目标物;52*52的特征图中单元网格感受野相对较小,适合检测尺寸较小的目标物。

   由于三张预测特征图承担的任务各不相同,相应的anchor box也需要进行调整。与v2中相同的是,v3延续了采用k-means聚类算法确定anchor box尺寸的方法,为每张特征图设定了3种anchor box,总共聚类得到9种尺寸的anchor box。在coco数据集上,这9个anchor box分别是(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。分配的方式见下表所示,遵循的原则是特征图的尺寸越小,则分配的anchor box的尺寸越大。大家可以根据下面几幅图感受下不同anchor box对图像感知视野的不同(黄色框是ground true box,蓝色框是预先分配的anchor box)。

由于多尺度预测,yolov3对小物体的检测效果大大加强,yolov2和v3的检测效果对比如下图所示(成效真的很显著):

损失函数

损失函数的改进主要是在类别预测部分,用独立的logistic classifiers取代了softmax。作者在文章中解释道,这能帮助模型适应更复杂领域的数据集,比如Open Images数据集。在该数据集中,有很多标签的含义是重叠的,例如女人和人。而softmax需要假定每一个需要预测的类别都是互相独立的,很显然不适合这种情况。

与其他模型的比较

集百家之长的yolov3终于成长为目标检测界的标杆,傲视群雄。作者在此处很傲娇的将yolov3画在了第二象限(手动@作者,期盼yolov4早点问世哦)。

    另附上一段小糖豆非常推崇的yolov3的评语:

2015 年,R-CNN横空出世,目标检测DL世代大幕拉开。各路豪杰快速迭代,陆续有了SPP,fast,faster版本,至R-FCN,速度与精度齐飞,区域推荐类网络大放异彩。奈何,未达实时检测之基准,难获工业应用之青睐。此时,凭速度之长,网格类检测异军突起,先有YOLO,继而SSD,更是摘实时检测之桂冠,与区域推荐类网络二分天下。然准确率却时遭世人诟病。遂有JR一鼓作气,并coco,推v2,增加输出类别,成就9000。此后一年,作者隐遁江湖,逍遥twitter。偶获灵感,终推v3,横扫武林!

霸气!Niubility!!!

下一代会是什么样子

在这里小糖豆结合目标检测领域的最新进展谈谈自己的看法。时下anchor-free类目标检测模型如雨后春笋般出现,yolov4很有可能会返璞归真。在小糖豆看来,yolo最核心的思想是将图像划分成网格,包含物体中心点的网格负责预测该物体。如果说改进下损失函数,使得模型能够精准定位到这些包含物体中心点的网格,在此基础上利用这些网格预测bounding box的其他属性,则可以成功避免依靠穷举法来获得潜在目标位置。这个思路和今年新发布的 centerNet(Objects as Points)的思路颇为相似。后期小糖豆会在yolov3的基础上尝试运用anchor-free的思想,如果效果好的话再分享给大家。

总结

    yolo系列算法的原理讲解到这就暂告一段落了。小糖豆在前面的文章中也表达过自己的观点,要想真正弄清楚一个算法,仅仅弄明白它的原理是不够的,最合适的学习途径还是在学会原理的基础上动手实现它。因此,小糖豆在接下来的文章中会深入探索yolov3的代码,带领大家从零开始,动手实现yolov3的训练与检测。

    最后献上一首诗与大家共勉:

古人学问无遗力,少壮功夫老始成。

纸上得来终觉浅,绝知此事要躬行!

参考:

https://arxiv.org/abs/1506.02640   yolov1

https://arxiv.org/abs/1612.08242   yolov2

https://arxiv.org/abs/1804.02767   yolov3

https://www.jiqizhixin.com/articles/2018-05-14-4

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

推荐阅读更多精彩内容