赞
踩
上期给大家讲述了一些关于我的学习经历,本期会和大家一起探讨目标检测算法。
作为小白笔记的开篇作,我会非常认真地讲述YOLO v3算法,并且确保所有代码都可以正常使用。有任何不同的见解都欢迎大家及时私信我。
咱们长话短说。
我也是最近一个多月时间开始接触深度学习的计算机视觉。大家可能知道,我学的是车辆工程专业,并非科班出身。那么我刚开始学习图像分类时,就几乎不会遇到什么困难,短时间内就学完了《深度学习之PyTorch实战计算机视觉》这本书。但当我开始从图像分类过渡到目标检测时,却面临了很多痛苦和挣扎。首先我根本无法正常运行书上的代码,其次是巨大的代码量让我苦不堪言。
从Faster RCNN到SSD再到后来的YOLO v3,我用了很长时间去研究前两种算法的原理和代码,但都失败了。不怕大家笑话,为了看懂前两种算法的原理和代码,我从PyTorch框架又转到Keras,后来都放弃了。
但我总得做出来一种吧,我就咬牙坚持学习YOLO v3算法。几百行代码我都是一行一行地运行,一行一行地写注释,经过几天挣扎之后,最终成功了。因此关于目标检测,我首先给大家讲解YOLO v3算法。
给大家分享一句话:人在追求中纵然迷惘,却终将意识到有一条正途。
组成
这几种经典的目标检测算法在整体上组成部分都是一样的,只是存在着原理上的不同。
原理
想搞清YOLO v3的原理,咱们看懂两张图就行。
YOLO v3的特征提取网络采用DarkNet-53结构,其具体结构如下:
其中第82层输出的尺寸为(13,13),第94层输出的尺寸为(26,26),第106层输出的尺寸为(52,52),每一层都将被不同尺寸的锚框anchors处理。
具体细节将在代码里体现。
希望大家无论在读原理还是写代码,都能把这两张图放身边,加强理解。
本系列YOLO v3目标检测算法所使用的源码来自GitHub,链接:
ayooshkathuria/YOLO_v3_tutorial_from_scratchgithub.com权重文件链接:
https://pjreddie.com/media/files/yolov3.weightspjreddie.com本系列代码先由Jupyter Lab编写再放置yolo.ipynb上进行组装,理由如下:
版本信息:
导入第三方库
- from __future__ import division
- import torch
- import torchvision
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。