对YOLOv3进行阅读,因为本人是小白,可能理解不到位的地方,请见谅。源码fork自eriklindernoren/PyTorch-YOLOv3,如需下载,请移步github,自行搜索。
首先简要介绍detect.py的主要工作过程:
1.解析命令行输入的各种参数,如果没有就使用默认的参数
2.打印出当前的各种参数
3.创建model
4.加载model的权重
5.加载测试图像
6.加载data/coco.names中的类别名称
7.计算出batch中所有图片的地址img_paths和对应的检测结果detections
8.为detections里每个类别的物体选择一种颜色,把检测到的bboxes画到图上
from __future__ import division
from models import *
from utils.utils import *
from utils.datasets import *
import os
import sys
import time
import datetime
import argparse
from PIL import Image
import torch
from torch.utils.data import DataLoader
from torchvision import datasets
from torch.autograd import Variable
import matplotlib.pyplot as plt
import matplotlib.patches as patches
from matplotlib.ticker import NullLocator
#detect.py主要的工作过程:
#1.解析命令行输入的各种参数,如果没有就使用默认的参数
#2.打印出当前的各种参数
#3.创建model
#4.加载model的权重
#5.加载测试图像
#6.加载data/coco.names中的类别名称
#7.算出batch中所有图片的地址img_paths和检测结果detections
#8.为detections里每个类别的物体选择一种颜色,把检测到的bboxes画到图上
if __name__ == "__main__":
#1.解析命令行输入的各种参数,如果没有就使用默认的参数
parser = argparse.ArgumentParser()#创建一个解析对象
parser.add_argument("--image_folder", type=str, default="data/samples", help="path to dataset")
parser.add_argument("--model_def", type=str, default="config/yolov3.cfg", help="path to model definition file")
parser.add_argument("--weights_path", type=str, default="weights/yolov3.weights", help="path to weights file")
parser.add_argument("--class_path", type=str, default="data/coco.names", help="path to class label file")
parser.add_argument("--conf_thres", type=float, default=0.8, help="object confidence threshold")
parser.add_argument(