yolov1学习有关心得

文章目录


前言

        当前时代,人工智能正处于风口浪尖的阶段,而人工智能领域里的目标检测正是发展人工智能的关键一环。近些年来目标检测算法取得了显著的成就,yolo就是其中最典型的代表,它打破了常规目标检测算法的枷锁,使检测速度更加迅速,检测范围更加广泛。

一、yolo是什么?

        You Only Look Once:Unified, Real-Time Object Detection

你只需看一次“--统一实时的的目标检测框架

        YOLO算法使用深度神经网络进行对象的位置检测以及分类,主要的特点是速度够快,而且准确率也很高,采用直接预测目标对象的边界框的方法,将候选区和对象识别这两个阶段合二为一。

        之前的目标检测方法例如,DPM、R-CNN、Faster R-CNN等都是需要提取候选框,然后进行一次次的推断,需要进行复杂的上下游处理工作。      

        yolov1是将目标检测方法当作回归问题来解决,不再需要提取候选框,能够快速单方向的实现端到端的操作,捕捉全图上下文的信息。yolov1对大物体的识别效果更好,能够达到45帧每秒的速率,迁移泛化性高。但是对小物体的检测检测效果较差。

二、yolov1如何运行

1.基本概念

a.将一幅图像分成s×s个网格,(如图就是7×7个网格),如果某个目标的中心落在这个网格内,那么这个网格就负责预测这个目标。

b.每个网格要预测B个bounding box,每个bounding box除了要预测位置外,还要附带预测一个confidence值。每个网格还要预测C个类别的分数。 (如图中,就是一个grid cell预测两个bounding box值,而且每个bounding box要预测4个位置参数,以及一个confidence值。)

2.网络结构

1.经过24层卷积层提取图像特征。  

2.得到两个全连接层回归得到7×7×30的特征矩阵。

PS:将7×7×1024的数据拉平,然后位移到一个有4096个神经元的全连接层中      再把4096维的向量位移到有1470个神经元的全连接层中。最后reshape 

如图所示,一个grid cell预测两个bounding box值,而且每个bounding box要预测4个位置参数,以及一个confidence值。 其中还有20位是判断物体的条件概率。 

3.预测阶段

1.每个grid cell预测两个bounding box,每个bounding box含有两个confidence值(置信度)然后由一个grid cell的置信度乘上20个grid cell类别的条件概率,就成为了全概率

2.置信度过滤: 将置信度为0的bounding box自动排列到最后,并过滤掉。

3.非极大值抑制: 将是某一类别的最大概率的bounding box拿出来,然后将所有的bounding box是该类别的概率与其比较。 如果两个bounding box的IOU大于某个阈值,认为两个bounding box重复识别了一个物体,将低置信度的bounding box滤除掉。 

4.训练阶段


 1.标签ground truth框中心点落在哪个grid cell中,就应由哪个grid cell预测这个物体

2.每个grid cell预测B个bounding box

3.与ground truth框IOU最大的bounding box负责预测这个物体

4.每个grid cell只能检测一个物体

5.包含(不包含)ground truth的grid cell/bounding box按照损失函数分别处理。

 

总结

参照网上的知识,以及视频,大概了解了yolo的基本概念,以及网络结构。对目标检测有了一个大概的了解 ,通过对yolov1的学习,知道了目标检测在我们日常生活中的的应用是如此的广泛。接下来的任务就是争取将yolov1投入到实践中,争取跑通yolov1.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值