YOLO v1阅读笔记

摘要

作者提出了一种目标检测的网络,将目标检测问题当做一种回归问题,同时回归出box和class,一种可以端到端训练的single network,最主要的优点就是检测的速度非常快,YOLO可以达到45 fps,Fast YOLO可以达到 155 fps,同时保持较高的检测精度。

工作原理

图片处理流程:

1.resize图片到448x448
2.将图片输入single network当中
3.nms


image.png
  1. 网格划分:将输入image划分为S \times S个grid cell,如果image中某个object box的中心落在某个grid cell内部,那么这个cell就对检测该object负责(responsible for detection that object)。同时,每个grid cell同时预测B个bounding box的位置和一个置信度。这个置信度并不只是该bounding box是待检测目标的概率,而是该bounding box是待检测目标的概率乘上该bounding box和真实位置的IoU的积。通过乘上这个交并比,反映出该bounding box预测位置的精度。
    image.png
  2. 网络输出:每个bounding box对应于5个输出,分别是x,y,w,h和上述提到的置信度。其中,x,y代表bounding box的中心离开其所在grid cell边界的偏移。w,h代表bounding box真实宽高相对于整幅图像的比例。x,y,w,h这几个参数都已经被bounded到了区间[0,1]上。除此以外,每个grid cell还产生C个条件概率,P(\text{Class}_i|\text{Object})。注意,我们不管B的大小,每个grid cell只产生一组这样的概率。在test的非极大值抑制阶段,对于每个bounding box,我们应该按照下式衡量该框是否应该予以保留。
  3. 实际参数:在PASCAL VOC进行测试时,使用S = 7, B=2。由于共有20类,故C=20。所以,我们的网络输出大小为7\times 7 \times 30

网络结构

image.png

网络有24个卷基层和2个全连接层组成,Fast YOLO 有9个卷基层,其余的训练和测试参数与YOLO相同。最后输出的是7\times7\times30的tensor

训练

  1. 作者在Image-Net上进行了1000个类别的与训练,预训练了前20个卷基层。随后又增加了4个卷积和2个全连接层(因为全连接层可以提高预训练网络的效果)并随机初始化参数。
  2. 在训练的过程中,将中心的坐标xynorm到[0,1],将坐标表示为所在celloffset;把bbox的wh也norm到[0,1],通过图像的大小进行norm。
  3. 在最后一个全连接层使用了线性激活函数,其他的使用了 leaky rectified 激活函数。
  4. loss使用平方损失和,因为容易优化,但是这对精度并没有多好的效果,因此就在loss上面进行了改进。
  5. 平等对待分类的损失和box的损失并不好,并且在大多数cell中并不包含物体,因此,导致了最后没有物体的cellconfidence直接等于0,造成最后的模型过早的收敛。因此对于存在物体的损失和不存在物体的损失都进行计算,加了不同的权重,λcoord=5,λnoobj=0.5
  6. 直接使用w和h进行loss计算,会导致大的box和小的box在损失计算的时候不均衡,因此讲w和h变成\sqrt w\sqrt h
    最后的损失公式如下:
    image.png
  7. 训练的参数:235 epoch,batch size 64, momentum 0.9, dacay 0.0005,学习率随着训练轮次的不同手动调整了。防止过拟合使用了 dropout 0.5,对于原始数据进行了增广(缩放、翻转、曝光和饱和度)
  8. 最后多检测的结果进行nms

YOLO的一些局限:

  1. 对于两个box非常接近检测效果不好(可能因为两个box都在一个cell中,最终只取了一个较高的结果作为输出,因此没有检测到两个)
  2. 对于小物体检测效果不好
  3. 在loss中对待小物体的loss和大物体的loss是一样,这样效果不好,因为一个非常小的error对于大的box来说,检测的已经很好了,但是对于小的box来说,检测的效果就不能说明很好。

实验

在实验的过程当中,在深度学习方面,主要与two-stage的Faster Rcnn系列进行了比较,精度上不如FRCNN,但是检测速度可以到达实时,针对背景检测的情况,YOLO检测效果更好。
还使用FRCNN和YOLO进行了联合检测实验,检测精度提高了一些。

总结

  1. 使用了single network实现了端到端的检测和分类的网络,检测速度非常快,45 fps可以达到实时的检测。
  2. 在loss方面进行了物体与非物体的loss分配,并对box的loss 做了改进。
  3. 网络结构比较简单。

过了一遍论文,看的不是非常仔细,记录下来,写的不对的请见谅。

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

推荐阅读更多精彩内容