• 小白也能弄懂的目标检测YOLO系列之YOLOV1


    上期给大家展示了用VisDrone数据集训练pytorch版YOLOV3模型的效果,介绍了什么是目标检测、目标检测目前比较流行的检测算法和效果比较以及YOLO的进化史,这期我们来讲解YOLO最原始V1版本的算法原理以及其实现,话不多说马上开始。

    YOLO检测系统

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    如图所示:当我们送一张图片给YOLO进行检测时,首先要将图片的大小调整位448*448,然后再在图像上运行单个卷积神经网络CNN,最后利用非最大值抑制算法对网络检测结果进行相关处理,设置阈值处理网络预测结果得到检测的目标,这个图像只经过一个单独的CNN模型就可以直接得到检测结果的过程又称为end-to-end(端到端)的目标检测。

    YOLO具体实现

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    首先YOLO检测系统会将输入图像划分为S×S网格,也就是S×S个单元格,如果对象边界框的中心,也就是红色边界框的中心落入该网格单元,则该网格单元负责检测该对象,如图中红色的点就是对象狗的中心,就由这个点所处的绿色网格负责预测狗这一个目标,并得到这个狗目标的边界框以及种类。

    怎么样用参数去表示上述的过程呢?为什么就可以知道这个中心点所对应的目标就是狗呢?

    目标定位

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    上面对目标进行定位,那么如何进行目标分类呢?

    目标分类

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    总结:

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    上述所讲解的所有过程如上图:也就是说我们的输入图片首先被分成S*S个网格,每个网格会预测B个边界框,这B个边界框来定位目标,预测的(x,y)实际上是由B个边界框中框住目标的那个边界框的中心,再判断该边界框的中心属于那一个网格,当网格定位好之后,再由该网格这个区域对目标进行分类。

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    YOLO模型架构

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    那么如何对这个模型最后的输出7*7*30的output进行解析,来获取我们想要的检测信息呢,即这张图片上有多少个目标,以及每个目标所对应的目标框的大小和位置信息呢?

    以下面图中模型输出的7*7个网格中的其中一个网格,也就是用红色和绿色长条形进行标注的网格,大小为1*1*30为例进行讲解,其对应于输入图片中的红色网格:

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

     

    最后:附上YOLOv1的原论文地址:https://arxiv.org/pdf/1506.02640.pdf,下载速度过慢的同学,后天回复关键字:YOLO,即可获取。

    YOLO官网:https://pjreddie.com/darknet/yolo/

    参考:https://zhuanlan.zhihu.com/p/32525231

    这期给大家讲解了YOLOv1网络模型的架构,以及如何实现目标分类和定位,下期会给大家讲解YOLO模型是如何进行进行网络训练的,觉得还不错的话,请点赞、收藏、在看哦,你们的支持是我继续的动力,坚决不做白嫖党!

    更多有关python、深度学习和计算机编程和电脑知识的精彩内容,可以关注微信公众号:码农的后花园

     

  • 相关阅读:
    线程互斥与同步
    JSP中传递数据出现的乱码问题
    JavaWeb学习——获取类路径下的资源
    Java初始化顺序
    Socket网络编程
    算法练习--LeetCode--17. Letter Combinations of a Phone Number
    算法练习--LeetCode--29. Divide Two Integers
    XCode10 swift4.2 适配遇到的坑
    leetCode :103. Binary Tree Zigzag Level Order Traversal (swift) 二叉树Z字形层次遍历
    iOS 拼音 Swift K3Pinyin
  • 原文地址:https://www.cnblogs.com/xiamuzi/p/13471337.html
Copyright © 2020-2023  润新知