YOLO泛读

本文深入剖析YOLO(You Only Look Once)目标检测算法,对比RCNN系列,阐述YOLO的实时性和简洁性。通过将图片划分为网格,每个网格预测边界框及类别概率,使用非极大抑制确定最终检测结果。YOLO的损失函数包含五项,适合实时场景的应用。文章还介绍了模型的训练细节和评估标准。
摘要由CSDN通过智能技术生成

YOU ONLY LOOK ONCE 从原理至实现的细致分析

背景

最近在读目标检测领域的文章,一下就看到YOLO系列和R-CNN系列,打算每篇论文都精读一下,发个博客将来需要用的时候回顾一下。


YOLO之前最流行的方法是RCNN系列,当时已经出了Faster-RCNN了,可是这种方法的训练时间和实际应用耗费时间有些长了,不能满足实时场景的需求。在渴望简单高效方法的环境下,YOLO应运而生。
作为目标检测领域的必读论文之一,You only look once 这篇论文中所采用的神经网络结构平平无奇。
YOLO神经网络结构
忽略最后一层全连接层,就是一种可以分类4096种图片的图像分类CNN模型。
很神奇的是加上最后一层全连接层,它就可以用来做目标检测。


YOLO总体思想

先了解一下YOLO的大体思路
YOLO大体思路

  1. 将图片分成S*S个grid
  2. 在每个grid中找到B个bounding box(x, y, w, h, c)
  3. 每个grid预测C类object的概率
  4. non-max suppression 找到几个confidence高的bounding box作为最终选择

训练的图片是需要人工标注的,也就是框出每个要识别的物体和相应的类别,这里x, y表示bounding box的中心点坐标,w, h表示物体的宽度和高度,c表示confidence, c o n f i d e n c e = P r ( O b j e c t ) ∗ I O U p r e d t r u t h confidence = Pr(Object) * IOU_{pred}^{truth} confidence=Pr(Object)IOUpredtruth
为了在PASCAL VOC上评估YOLO,论文中取 S = 7 , B = 2 , C = 20 S=7, B=2, C=20 S=7,B=2,C=20
最终得到的预测结果是 7 × 7 × ( 2 × 5 + 20 ) 7 \times 7 \times (2 \times 5 + 20) 7×7×(2×5+20) tensor
注意:这里每个grid只预测一个物体

损失函数

众所周知,神经网络的流行很大程度归功于损失函数,根据损失函数,模型权重不断的优化,最终得出满意的结果。YOLO模型的损失函数与图像分类的损失函数就有很大的区别
YOLO损失函数
YOLO损失函数共包括5项,其中第4项是grid中没有物体时对应的损失。
1 i j o b j = 1 \mathbb{1_{ij}^{obj}=1} 1ijobj=1,如果grid中有object,否则 1 i j o b j = 0 \mathbb{1_{ij}^{obj}=0} 1ijobj=0
1 i j n o o b j \mathbb{1_{ij}^{noobj}} 1ijnoobj与之相反

参考文章

写给小白的YOLO介绍
YOLO原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值