目标检测-yolov1

项目地址:https://pjreddie.com/darknet/yolo/

YOLO:you only look once,顾名思义:对图片只看一次,找到目标。将整张图片作为输入,输出目标物体的边框和类别。

YOLO的核心思想是在于将目标检测作为回归问题解决。直接在输出层回归bounding box的位置和bounding box所属的类别(整张图作为网络的输入,把 Object Detection 的问题转化成一个 Regression 问题)

具体实现:将原始图片放缩到448×448的尺寸,对图像分成SxS个网格(grid cell),如果某个object的中心落在这个网格中,则这个网格就负责预测这个object。每个网格需要预测B个边界框(bbox)值(bbox值包括中心点坐标和宽高),同时为每个bbox值预测一个置信度(confidence scores)。置信度包括P(Object),IoU。其中P(Object)代表的是有或没有对象的概率,有P(Object)=1,否则0。IoU表示预测的边框与真实边框的重叠度。通过乘上IoU,反映出该边界框预测位置的精度。

ææ¯å享å¾ç

SxS个网格,每个网格要预测B个bounding box还要预测C个类别的条件概率,每个bounding box要预测(x, y, w, h)和confidence共5个值。输出就是一个S x S x (5*B+C)的tensor。 注意:class信息是针对每个网格的,confidence信息是针对每个bounding box的。

YOLO支持识别20种不同的对象(人、鸟、猫、汽车、椅子等),所以这里有20个值表示该网格位置存在任一种对象的概率。可以记为P(Class_i | Object),之所以写成条件概率,意思是如果该网格存在一个对象Object,那么它是Ci的概率是 P(Class_i | Object). 

 

测试阶段的NMS阶段对于每个bounding box,我们应该按照下式衡量该框是否应该予以保留:

ææ¯å享å¾ç

yolo

 

YOLO给出的损失函数如下

è¿éåå¾çæè¿°

意思是网格i中存在对象。

意思是网格i的第j个bounding box中存在对象。

意思是网格i的第j个bounding box中不存在对象

 

网络结构如下图所示:

(1)输入大小:448*448*3

(2)C1:conv1->maxpool

输入大小:448*448*3

卷积核大小:7*7

卷积核数量:64

步长:2

填充:3

输出大小:224*224*64

神经元数量:224*224*64

可训练参数:(7*7+1)*64

连接数:224*224*64*(7*7+1)

池化层输入:224*224*64

池化层输出:112*112*64

(3)C2:conv2->maxpool

输入大小:112*112*64

卷积核大小:3*3

卷积核数量:192

步长:1

填充:1

输出大小:

神经元数量:

可训练参数:

连接数:

池化层输入:224*224

池化层输出:112*112

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值