对Ayoosh Kathuria的YOLOv3实现进行翻译和总结,原文链接如下:
https://blog.paperspace.com/how-to-implement-a-yolo-v3-object-detector-from-scratch-in-pytorch-part-5/
*首先翻译遵循不删不改的原则有一说一,对容易起到歧义的中文采取保留英文的方式。其中对原文没有删减但是略有扩充,其中某些阐释是我一句话的总结,如有错误请大家在留言区指出扶正。
这是从头开始实现YOLO v3检测器的教程的第5部分。在上一部分中,我们实现了将网络输出转换为检测的功能。 有了可用的检测器,剩下的就是创建输入和输出管道。
本教程的代码在Python 3.5和PyTorch 0.4上运行。在这个Github repo中可以完整地找到它。
Part 1 : Understanding How YOLO works
Part 2 : Creating the layers of the network architecture
Part 3: Implementing the forward pass of the network
Part 4 : Objectness score thresholding and Non-maximum suppression
Part 5(This one) : Designing the input and the output pipelines
1.先决条件
- 本教程的1-4部分
- PyTorch的基本知识,包括如何使用nn.Module,nn.Sequential和torch.nn.parameter类创建自定义架构。
- 关于openCV的基础知识
在这一部分中,我们将构建检测器的输入和输出管道。 这涉及从磁盘读取图像,进行预测,使用该预测在图像上绘制边界框,然后将其保存到磁盘。 我们还将介绍如何在摄像机源或视频上实时使检测器工作。 我们将引入一些命令行标志,以允许对网络的各种超参数进行一些试验。 因此,让我们开始吧。
在检测器文件中创建一个文件detector.py。 在其顶部添加必要的导入。因为我使用了notebook,所以扩充头文件即可